Minor improvements

This commit is contained in:
NekoInverter committed 2020-10-23 15:12:08 +08:00
1 parent 081177054e
commit 7d238eef26
27 files changed
+353 -330

No files matched your search

@@ -643,8 +643,10 @@ public class FavoritesScene extends BaseScene implements
if (!mSearchMode) {
enterSearchMode(true);
} else {
if (mSearchBar != null) {
} else if (mSearchBar != null) {
if (mSearchBar.getEditText().length() == 0) {
exitSearchMode(true);
}else {
mSearchBar.applySearch();
}
}
@@ -1237,8 +1237,12 @@ public final class GalleryListScene extends BaseScene
if (mSearchBar.getState() == SearchBar.STATE_NORMAL) {
setState(STATE_SEARCH);
} else {
// Clear
mSearchBar.setText("");
if (mSearchBar.getEditText().length() == 0) {
setState(STATE_NORMAL);
} else {
// Clear
mSearchBar.setText("");
}
}
}
@@ -20,11 +20,12 @@ import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RadioGroup;
import android.widget.Toast;
import androidx.annotation.Nullable;
import com.google.android.material.button.MaterialButton;
import com.google.android.material.button.MaterialButtonToggleGroup;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.Settings;
import com.hippo.ehviewer.client.EhUrl;
@@ -33,7 +34,7 @@ import com.hippo.yorozuya.ViewUtils;
public class SelectSiteScene extends SolidScene implements View.OnClickListener {
private RadioGroup mRadioGroup;
private MaterialButtonToggleGroup mButtonGroup;
private View mOk;
@Override
@@ -47,7 +48,12 @@ public class SelectSiteScene extends SolidScene implements View.OnClickListener
@Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.scene_select_site, container, false);
mRadioGroup = (RadioGroup) ViewUtils.$$(view, R.id.radio_group);
mButtonGroup = (MaterialButtonToggleGroup) ViewUtils.$$(view, R.id.button_group);
if (EhApplication.getEhCookieStore(requireContext()).hasSignedIn()) {
((MaterialButton) view.findViewById(R.id.site_ex)).setChecked(true);
} else {
((MaterialButton) view.findViewById(R.id.site_e)).setChecked(true);
}
mOk = ViewUtils.$$(view, R.id.ok);
mOk.setOnClickListener(this);
@@ -59,19 +65,19 @@ public class SelectSiteScene extends SolidScene implements View.OnClickListener
public void onDestroyView() {
super.onDestroyView();
mRadioGroup = null;
mButtonGroup = null;
mOk = null;
}
@Override
public void onClick(View v) {
MainActivity activity = getActivity2();
if (null == activity || null == mRadioGroup) {
if (null == activity || null == mButtonGroup) {
return;
}
if (v == mOk) {
int id = mRadioGroup.getCheckedRadioButtonId();
int id = mButtonGroup.getCheckedButtonId();
switch (id) {
case R.id.site_e:
Settings.putSelectSite(false);
@@ -86,7 +92,7 @@ public class SelectSiteScene extends SolidScene implements View.OnClickListener
finish();
break;
default:
Toast.makeText(activity, R.string.no_select, Toast.LENGTH_SHORT).show();
showTip(R.string.no_select, LENGTH_SHORT);
break;
}
}
@@ -132,9 +132,9 @@ public final class SignInScene extends SolidScene implements EditText.OnEditorAc
mSignInViaCookies = (TextView) ViewUtils.$$(loginForm, R.id.sign_in_via_cookies);
mSkipSigningIn = (TextView) ViewUtils.$$(loginForm, R.id.skip_signing_in);
mSignInViaWebView.setPaintFlags(mSignInViaWebView.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
mSignInViaCookies.setPaintFlags(mSignInViaCookies.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
mSkipSigningIn.setPaintFlags(mSignInViaCookies.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
mSignInViaWebView.setPaintFlags(mSignInViaWebView.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
mSignInViaCookies.setPaintFlags(mSignInViaCookies.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
mSkipSigningIn.setPaintFlags(mSignInViaCookies.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
mPassword.setOnEditorActionListener(this);
@@ -41,22 +41,22 @@ public class SolidScene extends BaseScene {
switch (checkStep) {
case CHECK_STEP_SECURITY:
if (Settings.getShowWarning()) {
startScene(new Announcer(WarningScene.class).setArgs(args));
startScene(new Announcer(WarningScene.class).setArgs(args), true);
break;
}
case CHECK_STEP_WARNING:
if (Settings.getAskAnalytics()) {
startScene(new Announcer(AnalyticsScene.class).setArgs(args));
startScene(new Announcer(AnalyticsScene.class).setArgs(args), true);
break;
}
case CHECK_STEP_ANALYTICS:
if (EhUtils.needSignedIn(getContext2())) {
startScene(new Announcer(SignInScene.class).setArgs(args));
startScene(new Announcer(SignInScene.class).setArgs(args), true);
break;
}
case CHECK_STEP_SIGN_IN:
if (Settings.getSelectSite()) {
startScene(new Announcer(SelectSiteScene.class).setArgs(args));
startScene(new Announcer(SelectSiteScene.class).setArgs(args), true);
break;
}
case CHECK_STEP_SELECT_SITE:
@@ -437,6 +437,10 @@ public class SearchBar extends MaterialCardView implements View.OnClickListener,
invalidate();
}
public SearchEditText getEditText(){
return mEditText;
}
@Override
public void draw(@NonNull Canvas canvas) {
if (mInAnimation) {
@@ -55,6 +55,13 @@ public class SceneFragment extends Fragment {
public void onNewArguments(@NonNull Bundle args) {
}
public void startScene(Announcer announcer, boolean horizontal) {
FragmentActivity activity = getActivity();
if (activity instanceof StageActivity) {
((StageActivity) activity).startScene(announcer, horizontal);
}
}
public void startScene(Announcer announcer) {
FragmentActivity activity = getActivity();
if (activity instanceof StageActivity) {
@@ -244,6 +244,10 @@ public abstract class StageActivity extends EhActivity {
}
public void startScene(Announcer announcer) {
startScene(announcer, false);
}
public void startScene(Announcer announcer, boolean horizontal) {
Class<?> clazz = announcer.clazz;
Bundle args = announcer.args;
TransitionHelper tranHelper = announcer.tranHelper;
@@ -264,7 +268,11 @@ public abstract class StageActivity extends EhActivity {
FragmentTransaction transaction = fragmentManager.beginTransaction();
// Use default animation
transaction.setCustomAnimations(R.anim.scene_open_enter, R.anim.scene_open_exit);
if (horizontal) {
transaction.setCustomAnimations(R.anim.scene_open_enter_horizontal, R.anim.scene_open_exit_horizontal);
} else {
transaction.setCustomAnimations(R.anim.scene_open_enter, R.anim.scene_open_exit);
}
// Remove top fragments
for (int j = i + 1; j < n; j++) {
@@ -352,7 +360,11 @@ public abstract class StageActivity extends EhActivity {
newScene.setEnterTransition(null);
newScene.setExitTransition(null);
// Set default animation
transaction.setCustomAnimations(R.anim.scene_open_enter, R.anim.scene_open_exit);
if (horizontal) {
transaction.setCustomAnimations(R.anim.scene_open_enter_horizontal, R.anim.scene_open_exit_horizontal);
} else {
transaction.setCustomAnimations(R.anim.scene_open_enter, R.anim.scene_open_exit);
}
}
// Detach current scene
if (!currentScene.isDetached()) {