Ripple improvements

This commit is contained in:
NekoInverter committed 2020-03-25 14:34:48 +08:00
1 parent d5940a939f
commit 94eb95f3a6
52 files changed
+210 -239

No files matched your search

@@ -21,7 +21,6 @@ import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.CheckBox;
import android.widget.TextView;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.hippo.ehviewer.R;
@@ -36,7 +35,7 @@ public class CheckBoxDialogBuilder extends MaterialAlertDialogBuilder {
View view = LayoutInflater.from(getContext()).inflate(R.layout.dialog_checkbox_builder, null);
setView(view);
setMessage(message);
mCheckBox = (CheckBox) view.findViewById(R.id.checkbox);
mCheckBox = view.findViewById(R.id.checkbox);
mCheckBox.setText(checkText);
mCheckBox.setChecked(checked);
}
@@ -44,7 +44,7 @@ public class EditTextDialogBuilder extends MaterialAlertDialogBuilder implements
View view = LayoutInflater.from(getContext()).inflate(R.layout.dialog_edittext_builder, null);
setView(view);
mTextInputLayout = (TextInputLayout) view;
mEditText = (EditText) view.findViewById(R.id.edit_text);
mEditText = view.findViewById(R.id.edit_text);
mEditText.setText(text);
mEditText.setSelection(mEditText.getText().length());
mEditText.setOnEditorActionListener(this);
@@ -20,7 +20,6 @@ import android.annotation.SuppressLint;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.ListView;
@@ -154,14 +154,14 @@ public class ProgressDialog extends AlertDialog {
}
};
View view = inflater.inflate(R.layout.alert_dialog_progress_material, null);
mProgress = (ProgressBar) view.findViewById(R.id.progress);
mProgressNumber = (TextView) view.findViewById(R.id.progress_number);
mProgressPercent = (TextView) view.findViewById(R.id.progress_percent);
mProgress = view.findViewById(R.id.progress);
mProgressNumber = view.findViewById(R.id.progress_number);
mProgressPercent = view.findViewById(R.id.progress_percent);
setView(view);
} else {
View view = inflater.inflate(R.layout.progress_dialog_material, null);
mProgress = (ProgressBar) view.findViewById(R.id.progress);
mMessageView = (TextView) view.findViewById(R.id.message);
mProgress = view.findViewById(R.id.progress);
mMessageView = view.findViewById(R.id.message);
setView(view);
}
if (mMax > 0) {
@@ -35,8 +35,6 @@ import androidx.appcompat.app.AppCompatDelegate;
import androidx.collection.LruCache;
import com.getkeepsafe.relinker.ReLinker;
import com.hippo.a7zip.A7Zip;
import com.hippo.a7zip.A7ZipExtractLite;
import com.hippo.beerbelly.SimpleDiskCache;
import com.hippo.conaco.Conaco;
import com.hippo.content.RecordingApplication;
@@ -222,7 +222,7 @@ public class EhDB {
search = search.substring("uploader:".length());
}
quickSearch.setTime((long) cursor.getInt(0));
quickSearch.setTime(cursor.getInt(0));
quickSearch.setName(cursor.getString(1));
quickSearch.setMode(mode);
quickSearch.setCategory(cursor.getInt(3));
@@ -660,7 +660,7 @@ public class EhDB {
OutputStream os = null;
try {
is = new FileInputStream(dbFile);
os = context.getContentResolver().openOutputStream(uri);;
os = context.getContentResolver().openOutputStream(uri);
IOUtils.copy(is, os);
return true;
} catch (IOException e) {
@@ -96,7 +96,7 @@ public class ExcludedTagNamespacesPreference extends DialogPreference {
private void setExcludedTagNamespaces(View view, int value) {
for (int i = 0; i < EXCLUDED_TAG_GROUP_RES_ID.length; i++) {
CheckBox cb = (CheckBox) view.findViewById(EXCLUDED_TAG_GROUP_RES_ID[i]);
CheckBox cb = view.findViewById(EXCLUDED_TAG_GROUP_RES_ID[i]);
cb.setChecked(NumberUtils.int2boolean(value & EXCLUDED_TAG_GROUP_ID[i]));
}
}
@@ -104,7 +104,7 @@ public class ExcludedTagNamespacesPreference extends DialogPreference {
private int getExcludedTagNamespaces(View view) {
int newValue = 0;
for (int i = 0; i < EXCLUDED_TAG_GROUP_RES_ID.length; i++) {
CheckBox cb = (CheckBox) view.findViewById(EXCLUDED_TAG_GROUP_RES_ID[i]);
CheckBox cb = view.findViewById(EXCLUDED_TAG_GROUP_RES_ID[i]);
if (cb.isChecked()) {
newValue |= EXCLUDED_TAG_GROUP_ID[i];
}
@@ -17,7 +17,6 @@
package com.hippo.ehviewer.ui;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
@@ -43,7 +42,6 @@ import com.hippo.ehviewer.ui.scene.BaseScene;
import com.hippo.text.Html;
import com.hippo.unifile.UniFile;
import com.hippo.util.ExceptionUtils;
import com.hippo.util.IoThreadPoolExecutor;
import com.hippo.yorozuya.FileUtils;
import com.hippo.yorozuya.IOUtils;
import com.hippo.yorozuya.collect.LongList;
@@ -19,7 +19,6 @@ package com.hippo.ehviewer.ui;
import android.content.Context;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.os.Build;
import android.os.Bundle;
import android.view.WindowManager;
@@ -27,7 +26,6 @@ import androidx.annotation.Nullable;
import androidx.annotation.StyleRes;
import androidx.appcompat.app.AppCompatActivity;
import com.hippo.android.resource.AttrResources;
import com.hippo.content.ContextLocalWrapper;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.R;
@@ -41,7 +41,6 @@ import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.webkit.MimeTypeMap;
import android.widget.CompoundButton;
import android.widget.FrameLayout;
import android.widget.SeekBar;
import android.widget.Spinner;
@@ -935,19 +934,19 @@ public class GalleryActivity extends EhActivity implements SeekBar.OnSeekBarChan
@SuppressLint("InflateParams")
public GalleryMenuHelper(Context context) {
mView = LayoutInflater.from(context).inflate(R.layout.dialog_gallery_menu, null);
mScreenRotation = (Spinner) mView.findViewById(R.id.screen_rotation);
mReadingDirection = (Spinner) mView.findViewById(R.id.reading_direction);
mScaleMode = (Spinner) mView.findViewById(R.id.page_scaling);
mStartPosition = (Spinner) mView.findViewById(R.id.start_position);
mKeepScreenOn = (SwitchCompat) mView.findViewById(R.id.keep_screen_on);
mShowClock = (SwitchCompat) mView.findViewById(R.id.show_clock);
mShowProgress = (SwitchCompat) mView.findViewById(R.id.show_progress);
mShowBattery = (SwitchCompat) mView.findViewById(R.id.show_battery);
mShowPageInterval = (SwitchCompat) mView.findViewById(R.id.show_page_interval);
mVolumePage = (SwitchCompat) mView.findViewById(R.id.volume_page);
mReadingFullscreen = (SwitchCompat) mView.findViewById(R.id.reading_fullscreen);
mCustomScreenLightness = (SwitchCompat) mView.findViewById(R.id.custom_screen_lightness);
mScreenLightness = (SeekBar) mView.findViewById(R.id.screen_lightness);
mScreenRotation = mView.findViewById(R.id.screen_rotation);
mReadingDirection = mView.findViewById(R.id.reading_direction);
mScaleMode = mView.findViewById(R.id.page_scaling);
mStartPosition = mView.findViewById(R.id.start_position);
mKeepScreenOn = mView.findViewById(R.id.keep_screen_on);
mShowClock = mView.findViewById(R.id.show_clock);
mShowProgress = mView.findViewById(R.id.show_progress);
mShowBattery = mView.findViewById(R.id.show_battery);
mShowPageInterval = mView.findViewById(R.id.show_page_interval);
mVolumePage = mView.findViewById(R.id.volume_page);
mReadingFullscreen = mView.findViewById(R.id.reading_fullscreen);
mCustomScreenLightness = mView.findViewById(R.id.custom_screen_lightness);
mScreenLightness = mView.findViewById(R.id.screen_lightness);
mScreenRotation.setSelection(Settings.getScreenRotation());
mReadingDirection.setSelection(Settings.getReadingDirection());
@@ -22,8 +22,6 @@ package com.hippo.ehviewer.ui;
import android.app.Dialog;
import android.content.DialogInterface;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.util.Pair;
import android.view.LayoutInflater;
@@ -48,14 +46,13 @@ import com.hippo.easyrecyclerview.LinearDividerItemDecoration;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.Hosts;
import com.hippo.ehviewer.R;
import com.hippo.ripple.Ripple;
import com.hippo.yorozuya.LayoutUtils;
import java.util.List;
import java.util.Locale;
public class HostsActivity extends ToolbarActivity
implements EasyRecyclerView.OnItemClickListener, View.OnClickListener {
implements View.OnClickListener {
private static final String DIALOG_TAG_ADD_HOST = AddHostDialogFragment.class.getName();
private static final String DIALOG_TAG_EDIT_HOST = EditHostDialogFragment.class.getName();
@@ -92,9 +89,9 @@ public class HostsActivity extends ToolbarActivity
LayoutUtils.dp2pix(this, 1));
decoration.setShowLastDivider(true);
recyclerView.addItemDecoration(decoration);
recyclerView.setSelector(Ripple.generateRippleDrawable(this, !AttrResources.getAttrBoolean(this, R.attr.isLightTheme), new ColorDrawable(Color.TRANSPARENT)));
//recyclerView.setSelector(Ripple.generateRippleDrawable(this, !AttrResources.getAttrBoolean(this, R.attr.isLightTheme), new ColorDrawable(Color.TRANSPARENT)));
recyclerView.setHasFixedSize(true);
recyclerView.setOnItemClickListener(this);
//recyclerView.setOnItemClickListener(this);
recyclerView.setPadding(
recyclerView.getPaddingLeft(),
recyclerView.getPaddingTop(),
@@ -118,8 +115,7 @@ public class HostsActivity extends ToolbarActivity
}
}
@Override
public boolean onItemClick(EasyRecyclerView easyRecyclerView, View view, int position, long id) {
public boolean onItemClick(int position) {
Pair<String, String> pair = data.get(position);
Bundle args = new Bundle();
args.putString(KEY_HOST, pair.first);
@@ -269,6 +265,7 @@ public class HostsActivity extends ToolbarActivity
Pair<String, String> pair = data.get(position);
holder.host.setText(pair.first);
holder.ip.setText(pair.second);
holder.itemView.setOnClickListener(v -> onItemClick(position));
}
@Override
@@ -18,12 +18,10 @@ package com.hippo.ehviewer.ui;
import android.annotation.SuppressLint;
import android.graphics.Bitmap;
import android.os.Build;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.webkit.CookieManager;
import android.webkit.CookieSyncManager;
import android.webkit.WebView;
import android.webkit.WebViewClient;
@@ -25,12 +25,6 @@ import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.ActionBarDrawerToggle;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.ui.fragment.AboutFragment;
import com.hippo.ehviewer.ui.fragment.AdvancedFragment;
import com.hippo.ehviewer.ui.fragment.DownloadFragment;
import com.hippo.ehviewer.ui.fragment.EhFragment;
import com.hippo.ehviewer.ui.fragment.PrivacyFragment;
import com.hippo.ehviewer.ui.fragment.ReadFragment;
import com.hippo.ehviewer.ui.fragment.SettingsFragment;
import com.hippo.util.DrawableManager;
@@ -37,22 +37,22 @@ public abstract class ToolbarActivity extends EhActivity {
@Override
public void setContentView(@LayoutRes int layoutResID) {
super.setContentView(R.layout.activity_toolbar);
getLayoutInflater().inflate(layoutResID, (ViewGroup) findViewById(R.id.content_panel), true);
setSupportActionBar((Toolbar) findViewById(R.id.toolbar));
getLayoutInflater().inflate(layoutResID, findViewById(R.id.content_panel), true);
setSupportActionBar(findViewById(R.id.toolbar));
}
@Override
public void setContentView(View view) {
super.setContentView(R.layout.activity_toolbar);
((ViewGroup) findViewById(R.id.content_panel)).addView(view);
setSupportActionBar((Toolbar) findViewById(R.id.toolbar));
setSupportActionBar(findViewById(R.id.toolbar));
}
@Override
public void setContentView(View view, ViewGroup.LayoutParams params) {
super.setContentView(R.layout.activity_toolbar);
((ViewGroup) findViewById(R.id.content_panel)).addView(view, params);
setSupportActionBar((Toolbar) findViewById(R.id.toolbar));
setSupportActionBar(findViewById(R.id.toolbar));
}
public void setNavigationIcon(@DrawableRes int resId) {
@@ -22,13 +22,11 @@ package com.hippo.ehviewer.ui;
import android.annotation.SuppressLint;
import android.graphics.Bitmap;
import android.os.Build;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.webkit.CookieManager;
import android.webkit.CookieSyncManager;
import android.webkit.WebView;
import android.webkit.WebViewClient;
@@ -73,12 +71,12 @@ public class UConfigActivity extends ToolbarActivity {
setContentView(R.layout.activity_u_config);
setNavigationIcon(R.drawable.v_arrow_left_dark_x24);
webView = (WebView) findViewById(R.id.webview);
webView = findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new UConfigWebViewClient());
webView.setWebChromeClient(new DialogWebChromeClient(this));
webView.loadUrl(url);
progress = (ProgressView) findViewById(R.id.progress);
progress = findViewById(R.id.progress);
Snackbar.make(webView, R.string.apply_tip, Snackbar.LENGTH_LONG).show();
}
@@ -19,10 +19,8 @@ package com.hippo.ehviewer.ui.fragment;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.net.Uri;
import android.os.Bundle;
import android.os.Looper;
import android.widget.Toast;
import androidx.annotation.Nullable;
@@ -199,10 +197,11 @@ public class AdvancedFragment extends PreferenceFragmentCompat
Toast.makeText(getActivity(),
ok ? getString(R.string.settings_advanced_dump_logcat_to, uri.toString()) :
getString(R.string.settings_advanced_dump_logcat_failed), Toast.LENGTH_SHORT).show();
}catch (Exception e){
Toast.makeText(getActivity(), getString(R.string.settings_advanced_dump_logcat_failed), Toast.LENGTH_SHORT).show();}
}
} catch (Exception e) {
Toast.makeText(getActivity(), getString(R.string.settings_advanced_dump_logcat_failed), Toast.LENGTH_SHORT).show();
}
}
}
}
super.onActivityResult(group, requestCode, resultCode, data);
}
@@ -19,7 +19,6 @@ package com.hippo.ehviewer.ui.fragment;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.widget.Toast;
@@ -17,7 +17,6 @@
package com.hippo.ehviewer.ui.scene;
import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.TextUtils;
@@ -29,7 +28,6 @@ import android.widget.EditText;
import android.widget.TextView;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.textfield.TextInputLayout;
@@ -22,12 +22,9 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.Point;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.util.SparseBooleanArray;
@@ -46,7 +43,6 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import androidx.core.view.ViewCompat;
import androidx.drawerlayout.widget.DrawerLayout;
@@ -84,7 +80,6 @@ import com.hippo.ehviewer.ui.GalleryActivity;
import com.hippo.ehviewer.ui.MainActivity;
import com.hippo.ehviewer.widget.SimpleRatingView;
import com.hippo.io.UniFileInputStreamPipe;
import com.hippo.ripple.Ripple;
import com.hippo.scene.Announcer;
import com.hippo.streampipe.InputStreamPipe;
import com.hippo.unifile.UniFile;
@@ -110,8 +105,6 @@ import java.util.List;
public class DownloadsScene extends ToolbarScene
implements DownloadManager.DownloadInfoListener,
EasyRecyclerView.OnItemClickListener,
EasyRecyclerView.OnItemLongClickListener,
FabLayout.OnClickFabListener, FastScroller.OnDragHandlerListener {
public static final String KEY_GID = "gid";
@@ -315,11 +308,12 @@ public class DownloadsScene extends ToolbarScene
mLayoutManager.setColumnSize(resources.getDimensionPixelOffset(Settings.getDetailSizeResId()));
mLayoutManager.setStrategy(AutoStaggeredGridLayoutManager.STRATEGY_MIN_SIZE);
mRecyclerView.setLayoutManager(mLayoutManager);
mRecyclerView.setSelector(Ripple.generateRippleDrawable(context, !AttrResources.getAttrBoolean(context, R.attr.isLightTheme), new ColorDrawable(Color.TRANSPARENT)));
mRecyclerView.setDrawSelectorOnTop(true);
//mRecyclerView.setSelector(Ripple.generateRippleDrawable(context, !AttrResources.getAttrBoolean(context, R.attr.isLightTheme), new ColorDrawable(Color.TRANSPARENT)));
//mRecyclerView.setDrawSelectorOnTop(true);
mRecyclerView.setClipToPadding(false);
mRecyclerView.setOnItemClickListener(this);
mRecyclerView.setOnItemLongClickListener(this);
mRecyclerView.setClipChildren(false);
//mRecyclerView.setOnItemClickListener(this);
//mRecyclerView.setOnItemLongClickListener(this);
mRecyclerView.setChoiceMode(EasyRecyclerView.CHOICE_MODE_MULTIPLE_CUSTOM);
mRecyclerView.setCustomCheckedListener(new DownloadChoiceListener());
// Cancel change animation
@@ -535,7 +529,7 @@ public class DownloadsScene extends ToolbarScene
final Context context = getContext2();
AssertUtils.assertNotNull(context);
Toolbar toolbar = (Toolbar) view.findViewById(R.id.toolbar);
Toolbar toolbar = view.findViewById(R.id.toolbar);
toolbar.setTitle(R.string.download_labels);
toolbar.inflateMenu(R.menu.drawer_download);
toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@@ -593,7 +587,7 @@ public class DownloadsScene extends ToolbarScene
}
// TODO handle download label items update
ListView listView = (ListView) view.findViewById(R.id.list_view);
ListView listView = view.findViewById(R.id.list_view);
listView.setAdapter(new ArrayAdapter<>(context, R.layout.item_simple_list, labels));
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
@@ -643,8 +637,7 @@ public class DownloadsScene extends ToolbarScene
}
}
@Override
public boolean onItemClick(EasyRecyclerView parent, View view, int position, long id) {
public boolean onItemClick(int position) {
Activity activity = getActivity2();
EasyRecyclerView recyclerView = mRecyclerView;
if (null == activity || null == recyclerView) {
@@ -671,8 +664,7 @@ public class DownloadsScene extends ToolbarScene
}
}
@Override
public boolean onItemLongClick(EasyRecyclerView parent, View view, int position, long id) {
public boolean onItemLongClick(int position) {
EasyRecyclerView recyclerView = mRecyclerView;
if (recyclerView == null) {
return false;
@@ -1070,17 +1062,17 @@ public class DownloadsScene extends ToolbarScene
public DownloadHolder(View itemView) {
super(itemView);
thumb = (LoadImageView) itemView.findViewById(R.id.thumb);
title = (TextView) itemView.findViewById(R.id.title);
uploader = (TextView) itemView.findViewById(R.id.uploader);
rating = (SimpleRatingView) itemView.findViewById(R.id.rating);
category = (TextView) itemView.findViewById(R.id.category);
thumb = itemView.findViewById(R.id.thumb);
title = itemView.findViewById(R.id.title);
uploader = itemView.findViewById(R.id.uploader);
rating = itemView.findViewById(R.id.rating);
category = itemView.findViewById(R.id.category);
start = itemView.findViewById(R.id.start);
stop = itemView.findViewById(R.id.stop);
state = (TextView) itemView.findViewById(R.id.state);
progressBar = (ProgressBar) itemView.findViewById(R.id.progress_bar);
percent = (TextView) itemView.findViewById(R.id.percent);
speed = (TextView) itemView.findViewById(R.id.speed);
state = itemView.findViewById(R.id.state);
progressBar = itemView.findViewById(R.id.progress_bar);
percent = itemView.findViewById(R.id.percent);
speed = itemView.findViewById(R.id.speed);
// TODO cancel on click listener when select items
thumb.setOnClickListener(this);
@@ -1183,6 +1175,9 @@ public class DownloadsScene extends ToolbarScene
// Update transition name
ViewCompat.setTransitionName(holder.thumb, TransitionNameFactory.getThumbTransitionName(info.gid));
holder.itemView.setOnClickListener(v -> onItemClick(position));
holder.itemView.setOnLongClickListener(v -> onItemLongClick(position));
}
@Override
@@ -1209,9 +1204,6 @@ public class DownloadsScene extends ToolbarScene
@Override
public void onOutOfCustomChoice(EasyRecyclerView view) {
if (mRecyclerView != null) {
mRecyclerView.setOnItemLongClickListener(DownloadsScene.this);
}
if (mFabLayout != null) {
mFabLayout.setExpanded(false);
}
@@ -21,9 +21,7 @@ import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.Point;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.text.InputType;
@@ -80,7 +78,6 @@ import com.hippo.ehviewer.widget.EhDrawerLayout;
import com.hippo.ehviewer.widget.GalleryInfoContentHelper;
import com.hippo.ehviewer.widget.SearchBar;
import com.hippo.refreshlayout.RefreshLayout;
import com.hippo.ripple.Ripple;
import com.hippo.scene.Announcer;
import com.hippo.scene.SceneFragment;
import com.hippo.util.AppHelper;
@@ -99,7 +96,7 @@ import java.util.List;
// TODO Get favorite, modify favorite, add favorite, what a mess!
public class FavoritesScene extends BaseScene implements
EasyRecyclerView.OnItemClickListener, EasyRecyclerView.OnItemLongClickListener,
EasyRecyclerView.OnItemClickListener,
FastScroller.OnDragHandlerListener, SearchBarMover.Helper, SearchBar.Helper,
FabLayout.OnClickFabListener, FabLayout.OnExpandListener,
EasyRecyclerView.CustomChoiceListener {
@@ -254,7 +251,7 @@ public class FavoritesScene extends BaseScene implements
public View onCreateView2(LayoutInflater inflater,
@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.scene_favorites, container, false);
ContentLayout contentLayout = (ContentLayout) view.findViewById(R.id.content_layout);
ContentLayout contentLayout = view.findViewById(R.id.content_layout);
MainActivity activity = getActivity2();
AssertUtils.assertNotNull(activity);
mDrawerLayout = (EhDrawerLayout) ViewUtils.$$(activity, R.id.draw_view);
@@ -275,11 +272,12 @@ public class FavoritesScene extends BaseScene implements
contentLayout.getFastScroller().setOnDragHandlerListener(this);
mAdapter = new FavoritesAdapter(inflater, resources, mRecyclerView, Settings.getListMode());
mRecyclerView.setSelector(Ripple.generateRippleDrawable(context, !AttrResources.getAttrBoolean(context, R.attr.isLightTheme), new ColorDrawable(Color.TRANSPARENT)));
mRecyclerView.setDrawSelectorOnTop(true);
//mRecyclerView.setSelector(Ripple.generateRippleDrawable(context, !AttrResources.getAttrBoolean(context, R.attr.isLightTheme), new ColorDrawable(Color.TRANSPARENT)));
//mRecyclerView.setDrawSelectorOnTop(true);
mRecyclerView.setClipToPadding(false);
mRecyclerView.setOnItemClickListener(this);
mRecyclerView.setOnItemLongClickListener(this);
mRecyclerView.setClipChildren(false);
//mRecyclerView.setOnItemClickListener(this);
//mRecyclerView.setOnItemLongClickListener(this);
mRecyclerView.setChoiceMode(EasyRecyclerView.CHOICE_MODE_MULTIPLE_CUSTOM);
mRecyclerView.setCustomCheckedListener(this);
@@ -466,7 +464,7 @@ public class FavoritesScene extends BaseScene implements
}
});
EasyRecyclerView recyclerView = (EasyRecyclerView) view.findViewById(R.id.recycler_view_drawer);
EasyRecyclerView recyclerView = view.findViewById(R.id.recycler_view_drawer);
recyclerView.setLayoutManager(new LinearLayoutManager(context));
recyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL));
@@ -578,9 +576,7 @@ public class FavoritesScene extends BaseScene implements
return true;
}
@Override
@Implemented(EasyRecyclerView.OnItemLongClickListener.class)
public boolean onItemLongClick(EasyRecyclerView parent, View view, int position, long id) {
public boolean onItemLongClick(View view, int position) {
// Can not into
if (mRecyclerView != null && !mSearchMode) {
if (!mRecyclerView.isInCustomChoice()) {
@@ -875,6 +871,7 @@ public class FavoritesScene extends BaseScene implements
@Override
@Implemented(EasyRecyclerView.CustomChoiceListener.class)
public void onItemCheckedStateChanged(EasyRecyclerView view, int position, long id, boolean checked) {
if (view.getCheckedItemCount() == 0) {
view.outOfCustomChoiceMode();
}
@@ -1218,6 +1215,16 @@ public class FavoritesScene extends BaseScene implements
return null != mHelper ? mHelper.size() : 0;
}
@Override
void onItemClick(View view, int position) {
FavoritesScene.this.onItemClick(null, view, position, 0);
}
@Override
boolean onItemLongClick(View view, int position) {
return FavoritesScene.this.onItemLongClick(view, position);
}
@Nullable
@Override
public GalleryInfo getDataAt(int position) {
@@ -172,6 +172,10 @@ abstract class GalleryAdapter extends RecyclerView.Adapter<GalleryHolder> {
return holder;
}
abstract void onItemClick(View view, int position);
abstract boolean onItemLongClick(View view, int position);
@Override
public int getItemViewType(int position) {
return mType;
@@ -238,6 +242,9 @@ abstract class GalleryAdapter extends RecyclerView.Adapter<GalleryHolder> {
// Update transition name
ViewCompat.setTransitionName(holder.thumb, TransitionNameFactory.getThumbTransitionName(gi.gid));
holder.card.setOnClickListener(v -> onItemClick(holder.itemView, position));
holder.card.setOnLongClickListener(v -> onItemLongClick(holder.itemView, position));
}
@IntDef({TYPE_LIST, TYPE_GRID})
@@ -21,11 +21,8 @@ import android.annotation.SuppressLint;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.DialogInterface;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.Typeface;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Looper;
@@ -70,7 +67,6 @@ import com.hippo.ehviewer.client.data.GalleryDetail;
import com.hippo.ehviewer.client.parser.VoteCommentParser;
import com.hippo.ehviewer.ui.MainActivity;
import com.hippo.reveal.ViewAnimationUtils;
import com.hippo.ripple.Ripple;
import com.hippo.scene.SceneFragment;
import com.hippo.text.Html;
import com.hippo.text.URLImageGetter;
@@ -95,8 +91,7 @@ import java.util.ArrayList;
import java.util.List;
public final class GalleryCommentsScene extends ToolbarScene
implements EasyRecyclerView.OnItemClickListener,
View.OnClickListener {
implements View.OnClickListener {
public static final String TAG = GalleryCommentsScene.class.getSimpleName();
@@ -218,9 +213,9 @@ public final class GalleryCommentsScene extends ToolbarScene
LayoutUtils.dp2pix(context, 1));
decoration.setShowLastDivider(true);
mRecyclerView.addItemDecoration(decoration);
mRecyclerView.setSelector(Ripple.generateRippleDrawable(context, !AttrResources.getAttrBoolean(context, R.attr.isLightTheme), new ColorDrawable(Color.TRANSPARENT)));
//mRecyclerView.setSelector(Ripple.generateRippleDrawable(context, !AttrResources.getAttrBoolean(context, R.attr.isLightTheme), new ColorDrawable(Color.TRANSPARENT)));
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setOnItemClickListener(this);
//mRecyclerView.setOnItemClickListener(this);
mRecyclerView.setPadding(mRecyclerView.getPaddingLeft(), mRecyclerView.getPaddingTop(),
mRecyclerView.getPaddingRight(), mRecyclerView.getPaddingBottom() + paddingBottomFab);
// Cancel change animator
@@ -339,7 +334,7 @@ public final class GalleryCommentsScene extends ToolbarScene
LayoutUtils.dp2pix(context, 1));
decoration.setPadding(ResourcesUtils.getAttrDimensionPixelOffset(context, R.attr.dialogPreferredPadding));
rv.addItemDecoration(decoration);
rv.setSelector(Ripple.generateRippleDrawable(context, !AttrResources.getAttrBoolean(context, R.attr.isLightTheme), new ColorDrawable(Color.TRANSPARENT)));
//rv.setSelector(Ripple.generateRippleDrawable(context, !AttrResources.getAttrBoolean(context, R.attr.isLightTheme), new ColorDrawable(Color.TRANSPARENT)));
rv.setClipToPadding(false);
builder.setView(rv).show();
}
@@ -405,8 +400,7 @@ public final class GalleryCommentsScene extends ToolbarScene
}).show();
}
@Override
public boolean onItemClick(EasyRecyclerView parent, View view, int position, long id) {
public boolean onItemClick(EasyRecyclerView parent, View view, int position) {
MainActivity activity = getActivity2();
if (null == activity) {
return false;
@@ -928,6 +922,11 @@ public final class GalleryCommentsScene extends ToolbarScene
return;
}
holder.itemView.setOnClickListener(v -> onItemClick(mRecyclerView, holder.itemView, position));
holder.itemView.setClickable(true);
holder.itemView.setFocusable(true);
if (holder instanceof ActualCommentHolder) {
((ActualCommentHolder) holder).bind(mCommentList.comments[position]);
}
@@ -24,6 +24,7 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
@@ -46,7 +47,6 @@ import android.widget.TextView;
import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.PopupMenu;
import androidx.core.view.ViewCompat;
import androidx.fragment.app.Fragment;
@@ -87,7 +87,6 @@ import com.hippo.ehviewer.ui.MainActivity;
import com.hippo.ehviewer.ui.annotation.WholeLifeCircle;
import com.hippo.ehviewer.widget.GalleryRatingBar;
import com.hippo.reveal.ViewAnimationUtils;
import com.hippo.ripple.Ripple;
import com.hippo.scene.Announcer;
import com.hippo.scene.SceneFragment;
import com.hippo.scene.TransitionHelper;
@@ -973,14 +972,15 @@ public class GalleryDetailScene extends BaseScene implements View.OnClickListene
GalleryComment comment = comments[i];
View v = inflater.inflate(R.layout.item_gallery_comment, mComments, false);
mComments.addView(v, i);
TextView user = (TextView) v.findViewById(R.id.user);
TextView user = v.findViewById(R.id.user);
user.setText(comment.user);
TextView time = (TextView) v.findViewById(R.id.time);
TextView time = v.findViewById(R.id.time);
time.setText(ReadableTime.getTimeAgo(comment.time));
ObservedTextView c = (ObservedTextView) v.findViewById(R.id.comment);
ObservedTextView c = v.findViewById(R.id.comment);
c.setMaxLines(5);
c.setText(Html.fromHtml(comment.comment,
new URLImageGetter(c, EhApplication.getConaco(context)), null));
v.setBackgroundColor(Color.TRANSPARENT);
}
}
@@ -1010,11 +1010,11 @@ public class GalleryDetailScene extends BaseScene implements View.OnClickListene
View view = inflater.inflate(R.layout.item_gallery_preview, mGridLayout, false);
mGridLayout.addView(view);
LoadImageView image = (LoadImageView) view.findViewById(R.id.image);
LoadImageView image = view.findViewById(R.id.image);
previewSet.load(image, gd.gid, i);
image.setTag(R.id.index, i);
image.setOnClickListener(this);
TextView text = (TextView) view.findViewById(R.id.text);
TextView text = view.findViewById(R.id.text);
text.setText(Integer.toString(previewSet.getPosition(i) + 1));
}
}
@@ -22,6 +22,7 @@ import android.widget.TextView;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.card.MaterialCardView;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.widget.SimpleRatingView;
import com.hippo.widget.LoadImageView;
@@ -38,6 +39,7 @@ class GalleryHolder extends RecyclerView.ViewHolder {
public final TextView simpleLanguage;
public final ImageView favourited;
public final ImageView downloaded;
public final MaterialCardView card;
public GalleryHolder(View itemView) {
super(itemView);
@@ -52,5 +54,6 @@ class GalleryHolder extends RecyclerView.ViewHolder {
simpleLanguage = itemView.findViewById(R.id.simple_language);
favourited = itemView.findViewById(R.id.favourited);
downloaded = itemView.findViewById(R.id.downloaded);
card = itemView.findViewById(R.id.card);
}
}
@@ -20,8 +20,6 @@ import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
@@ -42,14 +40,13 @@ import com.hippo.ehviewer.UrlOpener;
import com.hippo.ehviewer.client.EhUrl;
import com.hippo.ehviewer.client.EhUtils;
import com.hippo.ehviewer.client.data.GalleryDetail;
import com.hippo.ripple.Ripple;
import com.hippo.yorozuya.AssertUtils;
import com.hippo.yorozuya.LayoutUtils;
import com.hippo.yorozuya.ViewUtils;
import java.util.ArrayList;
public final class GalleryInfoScene extends ToolbarScene implements EasyRecyclerView.OnItemClickListener {
public final class GalleryInfoScene extends ToolbarScene {
public static final String KEY_GALLERY_DETAIL = "gallery_detail";
public static final String KEY_KEYS = "keys";
@@ -158,8 +155,6 @@ public final class GalleryInfoScene extends ToolbarScene implements EasyRecycler
outState.putStringArrayList(KEY_VALUES, mValues);
}
@SuppressWarnings("deprecation")
@Nullable
@Override
public View onCreateView3(LayoutInflater inflater,
@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
@@ -178,10 +173,10 @@ public final class GalleryInfoScene extends ToolbarScene implements EasyRecycler
LayoutUtils.dp2pix(context, 1));
decoration.setPadding(context.getResources().getDimensionPixelOffset(R.dimen.keyline_margin));
mRecyclerView.addItemDecoration(decoration);
mRecyclerView.setSelector(Ripple.generateRippleDrawable(context, !AttrResources.getAttrBoolean(context, R.attr.isLightTheme), new ColorDrawable(Color.TRANSPARENT)));
//mRecyclerView.setSelector(Ripple.generateRippleDrawable(context, !AttrResources.getAttrBoolean(context, R.attr.isLightTheme), new ColorDrawable(Color.TRANSPARENT)));
mRecyclerView.setClipToPadding(false);
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setOnItemClickListener(this);
//mRecyclerView.setOnItemClickListener(this);
return view;
}
@@ -202,8 +197,7 @@ public final class GalleryInfoScene extends ToolbarScene implements EasyRecycler
}
}
@Override
public boolean onItemClick(EasyRecyclerView parent, View view, int position, long id) {
public boolean onItemClick(int position) {
Context context = getContext2();
if (null != context && 0 != position && null != mValues) {
if (position == INDEX_PARENT) {
@@ -238,8 +232,8 @@ public final class GalleryInfoScene extends ToolbarScene implements EasyRecycler
public InfoHolder(View itemView) {
super(itemView);
key = (TextView) itemView.findViewById(R.id.key);
value = (TextView) itemView.findViewById(R.id.value);
key = itemView.findViewById(R.id.key);
value = itemView.findViewById(R.id.value);
}
}
@@ -276,6 +270,7 @@ public final class GalleryInfoScene extends ToolbarScene implements EasyRecycler
holder.key.setText(mKeys.get(position));
holder.value.setText(mValues.get(position));
holder.itemView.setEnabled(position != 0);
holder.itemView.setOnClickListener(v -> onItemClick(position));
}
}
@@ -22,9 +22,7 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.Point;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.text.InputType;
@@ -90,7 +88,6 @@ import com.hippo.ehviewer.widget.GalleryInfoContentHelper;
import com.hippo.ehviewer.widget.SearchBar;
import com.hippo.ehviewer.widget.SearchLayout;
import com.hippo.refreshlayout.RefreshLayout;
import com.hippo.ripple.Ripple;
import com.hippo.scene.Announcer;
import com.hippo.scene.SceneFragment;
import com.hippo.util.AppHelper;
@@ -113,8 +110,7 @@ import java.util.Collections;
import java.util.List;
public final class GalleryListScene extends BaseScene
implements EasyRecyclerView.OnItemClickListener, EasyRecyclerView.OnItemLongClickListener,
SearchBar.Helper, SearchBar.OnStateChangeListener, FastScroller.OnDragHandlerListener,
implements SearchBar.Helper, SearchBar.OnStateChangeListener, FastScroller.OnDragHandlerListener,
SearchLayout.Helper, SearchBarMover.Helper, View.OnClickListener, FabLayout.OnClickFabListener,
FabLayout.OnExpandListener {
@@ -541,11 +537,12 @@ public final class GalleryListScene extends BaseScene
mAdapter = new GalleryListAdapter(inflater, resources,
mRecyclerView, Settings.getListMode());
mRecyclerView.setSelector(Ripple.generateRippleDrawable(context, !AttrResources.getAttrBoolean(context, R.attr.isLightTheme), new ColorDrawable(Color.TRANSPARENT)));
mRecyclerView.setDrawSelectorOnTop(true);
//mRecyclerView.setSelector(Ripple.generateRippleDrawable(context, !AttrResources.getAttrBoolean(context, R.attr.isLightTheme), new ColorDrawable(Color.TRANSPARENT)));
//mRecyclerView.setDrawSelectorOnTop(true);
mRecyclerView.setClipToPadding(false);
mRecyclerView.setOnItemClickListener(this);
mRecyclerView.setOnItemLongClickListener(this);
mRecyclerView.setClipChildren(false);
//mRecyclerView.setOnItemClickListener(this);
//mRecyclerView.setOnItemLongClickListener(this);
mRecyclerView.addOnScrollListener(mOnScrollListener);
fastScroller.setPadding(fastScroller.getPaddingLeft(), fastScroller.getPaddingTop() + paddingTopSB,
@@ -866,8 +863,7 @@ public final class GalleryListScene extends BaseScene
}
}
@Override
public boolean onItemClick(EasyRecyclerView parent, View view, int position, long id) {
public boolean onItemClick(View view, int position) {
if (null == mHelper || null == mRecyclerView) {
return false;
}
@@ -983,8 +979,7 @@ public final class GalleryListScene extends BaseScene
}
}
@Override
public boolean onItemLongClick(EasyRecyclerView parent, View view, int position, long id) {
public boolean onItemLongClick(View view, int position) {
final Context context = getContext2();
final MainActivity activity = getActivity2();
if (null == context || null == activity || null == mHelper) {
@@ -1592,6 +1587,16 @@ public final class GalleryListScene extends BaseScene
return null != mHelper ? mHelper.size() : 0;
}
@Override
void onItemClick(View view, int position) {
GalleryListScene.this.onItemClick(view, position);
}
@Override
boolean onItemLongClick(View view, int position) {
return GalleryListScene.this.onItemLongClick(view, position);
}
@Nullable
@Override
public GalleryInfo getDataAt(int position) {
@@ -308,8 +308,8 @@ public class GalleryPreviewsScene extends ToolbarScene implements EasyRecyclerVi
public GalleryPreviewHolder(View itemView) {
super(itemView);
image = (LoadImageView) itemView.findViewById(R.id.image);
text = (TextView) itemView.findViewById(R.id.text);
image = itemView.findViewById(R.id.image);
text = itemView.findViewById(R.id.text);
}
}
@@ -19,10 +19,7 @@ package com.hippo.ehviewer.ui.scene;
import android.content.Context;
import android.content.DialogInterface;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.MenuItem;
@@ -31,7 +28,6 @@ import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.core.view.ViewCompat;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.StaggeredGridLayoutManager;
@@ -62,7 +58,6 @@ import com.hippo.ehviewer.dao.HistoryInfo;
import com.hippo.ehviewer.ui.CommonOperations;
import com.hippo.ehviewer.ui.MainActivity;
import com.hippo.ehviewer.widget.SimpleRatingView;
import com.hippo.ripple.Ripple;
import com.hippo.scene.Announcer;
import com.hippo.scene.SceneFragment;
import com.hippo.util.DrawableManager;
@@ -74,9 +69,7 @@ import com.hippo.yorozuya.ViewUtils;
import de.greenrobot.dao.query.LazyList;
public class HistoryScene extends ToolbarScene
implements EasyRecyclerView.OnItemClickListener,
EasyRecyclerView.OnItemLongClickListener {
public class HistoryScene extends ToolbarScene {
/*---------------
View life cycle
@@ -130,11 +123,12 @@ public class HistoryScene extends ToolbarScene
layoutManager.setColumnSize(resources.getDimensionPixelOffset(Settings.getDetailSizeResId()));
layoutManager.setStrategy(AutoStaggeredGridLayoutManager.STRATEGY_MIN_SIZE);
mRecyclerView.setLayoutManager(layoutManager);
mRecyclerView.setSelector(Ripple.generateRippleDrawable(context, !AttrResources.getAttrBoolean(context, R.attr.isLightTheme), new ColorDrawable(Color.TRANSPARENT)));
mRecyclerView.setDrawSelectorOnTop(true);
//mRecyclerView.setSelector(Ripple.generateRippleDrawable(context, !AttrResources.getAttrBoolean(context, R.attr.isLightTheme), new ColorDrawable(Color.TRANSPARENT)));
//mRecyclerView.setDrawSelectorOnTop(true);
mRecyclerView.setClipToPadding(false);
mRecyclerView.setOnItemClickListener(this);
mRecyclerView.setOnItemLongClickListener(this);
mRecyclerView.setClipChildren(false);
//mRecyclerView.setOnItemClickListener(this);
//mRecyclerView.setOnItemLongClickListener(this);
int interval = resources.getDimensionPixelOffset(R.dimen.gallery_list_interval);
int paddingH = resources.getDimensionPixelOffset(R.dimen.gallery_list_margin_h);
int paddingV = resources.getDimensionPixelOffset(R.dimen.gallery_list_margin_v);
@@ -246,8 +240,7 @@ public class HistoryScene extends ToolbarScene
return false;
}
@Override
public boolean onItemClick(EasyRecyclerView parent, View view, int position, long id) {
public boolean onItemClick(View view, int position) {
if (null == mLazyList) {
return false;
}
@@ -264,8 +257,7 @@ public class HistoryScene extends ToolbarScene
return true;
}
@Override
public boolean onItemLongClick(EasyRecyclerView parent, View view, int position, long id) {
public boolean onItemLongClick(View view, int position) {
final Context context = getContext2();
final MainActivity activity = getActivity2();
if (null == context || null == activity || null == mLazyList) {
@@ -334,13 +326,13 @@ public class HistoryScene extends ToolbarScene
super(itemView);
card = itemView.findViewById(R.id.card);
thumb = (LoadImageView) itemView.findViewById(R.id.thumb);
title = (TextView) itemView.findViewById(R.id.title);
uploader = (TextView) itemView.findViewById(R.id.uploader);
rating = (SimpleRatingView) itemView.findViewById(R.id.rating);
category = (TextView) itemView.findViewById(R.id.category);
posted = (TextView) itemView.findViewById(R.id.posted);
simpleLanguage = (TextView) itemView.findViewById(R.id.simple_language);
thumb = itemView.findViewById(R.id.thumb);
title = itemView.findViewById(R.id.title);
uploader = itemView.findViewById(R.id.uploader);
rating = itemView.findViewById(R.id.rating);
category = itemView.findViewById(R.id.category);
posted = itemView.findViewById(R.id.posted);
simpleLanguage = itemView.findViewById(R.id.simple_language);
}
@Override
@@ -409,6 +401,9 @@ public class HistoryScene extends ToolbarScene
// Update transition name
long gid = gi.gid;
ViewCompat.setTransitionName(holder.thumb, TransitionNameFactory.getThumbTransitionName(gid));
holder.card.setOnClickListener(v -> onItemClick(holder.itemView, position));
holder.card.setOnLongClickListener(v -> onItemLongClick(holder.itemView, position));
}
@Override
@@ -17,7 +17,6 @@
package com.hippo.ehviewer.ui.scene;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.NinePatchDrawable;
import android.os.Bundle;
@@ -27,7 +26,6 @@ import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -28,7 +28,6 @@ import android.widget.EditText;
import android.widget.TextView;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.textfield.TextInputLayout;
@@ -50,8 +50,8 @@ public abstract class ToolbarScene extends BaseScene {
public final View onCreateView2(LayoutInflater inflater,
@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.scene_toolbar, container, false);
Toolbar toolbar = (Toolbar) view.findViewById(R.id.toolbar);
FrameLayout contentPanel = (FrameLayout) view.findViewById(R.id.content_panel);
Toolbar toolbar = view.findViewById(R.id.toolbar);
FrameLayout contentPanel = view.findViewById(R.id.content_panel);
View contentView = onCreateView3(inflater, contentPanel, savedInstanceState);
if (contentView == null) {
@@ -18,13 +18,11 @@ package com.hippo.ehviewer.ui.scene;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.CookieManager;
import android.webkit.CookieSyncManager;
import android.webkit.WebView;
import android.webkit.WebViewClient;
@@ -26,8 +26,6 @@ import android.webkit.WebView;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AlertDialog;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.hippo.ehviewer.R;
@@ -34,19 +34,16 @@ import android.widget.TextView;
import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.SwitchCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.hippo.android.resource.AttrResources;
import com.hippo.easyrecyclerview.EasyRecyclerView;
import com.hippo.easyrecyclerview.MarginItemDecoration;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.client.data.ListUrlBuilder;
import com.hippo.ehviewer.client.exception.EhException;
import com.hippo.ripple.Ripple;
import com.hippo.widget.RadioGridGroup;
import com.hippo.yorozuya.ViewUtils;
@@ -121,17 +118,17 @@ public class SearchLayout extends EasyRecyclerView implements CompoundButton.OnC
// Create normal view
View normalView = mInflater.inflate(R.layout.search_normal, null);
mNormalView = normalView;
mCategoryTable = (CategoryTable) normalView.findViewById(R.id.search_category_table);
mNormalSearchMode = (RadioGridGroup) normalView.findViewById(R.id.normal_search_mode);
mNormalSearchModeHelp = (ImageView) normalView.findViewById(R.id.normal_search_mode_help);
mEnableAdvanceSwitch = (SwitchCompat) normalView.findViewById(R.id.search_enable_advance);
mCategoryTable = normalView.findViewById(R.id.search_category_table);
mNormalSearchMode = normalView.findViewById(R.id.normal_search_mode);
mNormalSearchModeHelp = normalView.findViewById(R.id.normal_search_mode_help);
mEnableAdvanceSwitch = normalView.findViewById(R.id.search_enable_advance);
mNormalSearchModeHelp.setOnClickListener(this);
mEnableAdvanceSwitch.setOnCheckedChangeListener(SearchLayout.this);
mEnableAdvanceSwitch.setSwitchPadding(resources.getDimensionPixelSize(R.dimen.switch_padding));
// Create advance view
mAdvanceView = mInflater.inflate(R.layout.search_advance, null);
mTableAdvanceSearch = (AdvanceSearchTable) mAdvanceView.findViewById(R.id.search_advance_search_table);
mTableAdvanceSearch = mAdvanceView.findViewById(R.id.search_advance_search_table);
// Create image view
mImageView = (ImageSearchLayout) mInflater.inflate(R.layout.search_image, null);
@@ -139,7 +136,7 @@ public class SearchLayout extends EasyRecyclerView implements CompoundButton.OnC
// Create action view
mActionView = mInflater.inflate(R.layout.search_action, null);
mAction = (TextView) mActionView.findViewById(R.id.action);
mAction = mActionView.findViewById(R.id.action);
mAction.setOnClickListener(this);
}
@@ -381,8 +378,8 @@ public class SearchLayout extends EasyRecyclerView implements CompoundButton.OnC
view = mActionView;
} else {
view = mInflater.inflate(R.layout.search_category, parent, false);
TextView title = (TextView) view.findViewById(R.id.category_title);
FrameLayout content = (FrameLayout) view.findViewById(R.id.category_content);
TextView title = view.findViewById(R.id.category_title);
FrameLayout content = view.findViewById(R.id.category_content);
switch (viewType) {
case ITEM_TYPE_NORMAL:
title.setText(R.string.search_normal);
@@ -59,7 +59,7 @@ public class SeekBarPreference extends Preference implements SeekBar.OnSeekBarCh
@Override
public void onBindViewHolder(PreferenceViewHolder holder) {
SeekBar seekBar = (SeekBar) holder.itemView.findViewById(R.id.seekbar);
SeekBar seekBar = holder.itemView.findViewById(R.id.seekbar);
seekBar.setOnSeekBarChangeListener(this);
seekBar.setMax(mMax);
seekBar.setProgress(mProgress);
@@ -17,19 +17,14 @@
package com.hippo.reveal;
import android.animation.Animator;
import android.animation.ValueAnimator;
import android.annotation.TargetApi;
import android.os.Build;
import android.view.View;
import com.hippo.yorozuya.SimpleAnimatorListener;
public final class ViewAnimationUtils {
// http://developer.android.com/guide/topics/graphics/hardware-accel.html#unsupported
public static Animator createCircularReveal(View view,
int centerX, int centerY, float startRadius, float endRadius) {
return android.view.ViewAnimationUtils.createCircularReveal(
view, centerX, centerY, startRadius, endRadius);
return android.view.ViewAnimationUtils.createCircularReveal(
view, centerX, centerY, startRadius, endRadius);
}
}
@@ -19,7 +19,6 @@ package com.hippo.util;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.Build;
import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull;
@@ -17,10 +17,8 @@
package com.hippo.util;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.pm.PackageManager;
import androidx.appcompat.app.AlertDialog;
import androidx.core.app.ActivityCompat;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
@@ -17,7 +17,6 @@
package com.hippo.util;
import android.app.Activity;
import android.os.Build;
import android.os.Handler;
import android.os.Looper;
import android.view.WindowManager;
@@ -23,7 +23,6 @@ import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Build;
import android.os.Bundle;
import android.os.Parcelable;
import android.util.AttributeSet;
@@ -35,7 +34,6 @@ import androidx.annotation.NonNull;
import androidx.appcompat.widget.AppCompatTextView;
import com.hippo.ehviewer.R;
import com.hippo.hotspot.Hotspot;
import com.hippo.hotspot.Hotspotable;
import com.hippo.yorozuya.AnimationUtils;
import com.hippo.yorozuya.MathUtils;
@@ -86,13 +86,13 @@ public class ContentLayout extends FrameLayout {
private void init(Context context) {
LayoutInflater.from(context).inflate(R.layout.widget_content_layout, this);
mProgressView = (ProgressView) findViewById(R.id.progress);
mTipView = (TextView) findViewById(R.id.tip);
mContentView = (ViewGroup) findViewById(R.id.content_view);
mProgressView = findViewById(R.id.progress);
mTipView = findViewById(R.id.tip);
mContentView = findViewById(R.id.content_view);
mRefreshLayout = (RefreshLayout) mContentView.findViewById(R.id.refresh_layout);
mFastScroller = (FastScroller) mContentView.findViewById(R.id.fast_scroller);
mRecyclerView = (EasyRecyclerView) mRefreshLayout.findViewById(R.id.recycler_view);
mRefreshLayout = mContentView.findViewById(R.id.refresh_layout);
mFastScroller = mContentView.findViewById(R.id.fast_scroller);
mRecyclerView = mRefreshLayout.findViewById(R.id.recycler_view);
mFastScroller.attachToRecyclerView(mRecyclerView);
HandlerDrawable drawable = new HandlerDrawable();
@@ -17,17 +17,10 @@
package com.hippo.widget;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.graphics.drawable.NinePatchDrawable;
import android.os.Build;
import android.util.AttributeSet;
import android.view.ViewOutlineProvider;
import android.widget.LinearLayout;
import androidx.annotation.NonNull;
import com.hippo.ehviewer.R;
import com.hippo.yorozuya.LayoutUtils;
public class ShadowLinearLayout extends LinearLayout {