diff --git a/app/build.gradle b/app/build.gradle
index 395c4bd88..043f84490 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -69,9 +69,9 @@ clean {
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
- implementation "com.android.support:appcompat-v7:$supportLibrary"
- implementation "com.android.support:cardview-v7:$supportLibrary"
- implementation "com.android.support:design:$supportLibrary"
+ implementation 'androidx.appcompat:appcompat:1.0.2'
+ implementation 'androidx.cardview:cardview:1.0.0'
+ implementation 'com.google.android.material:material:1.0.0'
implementation 'com.google.firebase:firebase-core:16.0.7'
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.9'
implementation 'com.github.amlcurran.showcaseview:library:5.4.3'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index babc7d03a..7ebd6b4bb 100755
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -195,7 +195,7 @@
android:exported="false">
diff --git a/app/src/main/java/com/hippo/app/AppCompatPreferenceActivity.java b/app/src/main/java/com/hippo/app/AppCompatPreferenceActivity.java
index 809b9b4c0..b3ba6de2b 100644
--- a/app/src/main/java/com/hippo/app/AppCompatPreferenceActivity.java
+++ b/app/src/main/java/com/hippo/app/AppCompatPreferenceActivity.java
@@ -16,39 +16,70 @@
package com.hippo.app;
+import android.annotation.SuppressLint;
import android.content.Intent;
import android.content.res.Configuration;
+import android.content.res.Resources;
+import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceActivity;
-import android.support.annotation.CallSuper;
-import android.support.annotation.LayoutRes;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v4.app.ActivityCompat;
-import android.support.v4.app.NavUtils;
-import android.support.v4.app.TaskStackBuilder;
-import android.support.v7.app.ActionBar;
-import android.support.v7.app.ActionBarDrawerToggle;
-import android.support.v7.app.AppCompatCallback;
-import android.support.v7.app.AppCompatDelegate;
-import android.support.v7.view.ActionMode;
-import android.support.v7.widget.Toolbar;
+import android.util.DisplayMetrics;
+import android.view.KeyEvent;
+import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.view.Window;
+import androidx.annotation.CallSuper;
+import androidx.annotation.IdRes;
+import androidx.annotation.LayoutRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.StyleRes;
+import androidx.appcompat.app.ActionBar;
+import androidx.appcompat.app.ActionBarDrawerToggle;
+import androidx.appcompat.app.AppCompatCallback;
+import androidx.appcompat.app.AppCompatDelegate;
+import androidx.appcompat.view.ActionMode;
+import androidx.appcompat.widget.Toolbar;
+import androidx.appcompat.widget.VectorEnabledTintResources;
+import androidx.core.app.ActivityCompat;
+import androidx.core.app.NavUtils;
+import androidx.core.app.TaskStackBuilder;
public abstract class AppCompatPreferenceActivity extends PreferenceActivity implements AppCompatCallback,
- TaskStackBuilder.SupportParentable, ActionBarDrawerToggle.DelegateProvider {
+ TaskStackBuilder.SupportParentable, ActionBarDrawerToggle.DelegateProvider {
private AppCompatDelegate mDelegate;
+ private int mThemeId = 0;
+ private Resources mResources;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
- getDelegate().installViewFactory();
- getDelegate().onCreate(savedInstanceState);
+ final AppCompatDelegate delegate = getDelegate();
+ delegate.installViewFactory();
+ delegate.onCreate(savedInstanceState);
+ if (delegate.applyDayNight() && mThemeId != 0) {
+ // If DayNight has been applied, we need to re-apply the theme for
+ // the changes to take effect. On API 23+, we should bypass
+ // setTheme(), which will no-op if the theme ID is identical to the
+ // current theme ID.
+ if (Build.VERSION.SDK_INT >= 23) {
+ onApplyThemeResource(getTheme(), mThemeId, false);
+ } else {
+ setTheme(mThemeId);
+ }
+ }
super.onCreate(savedInstanceState);
}
+ @Override
+ public void setTheme(@StyleRes final int resid) {
+ super.setTheme(resid);
+ // Keep hold of the theme id so that we can re-set it later if needed
+ mThemeId = resid;
+ }
+
@Override
protected void onPostCreate(@Nullable Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
@@ -68,26 +99,25 @@ public abstract class AppCompatPreferenceActivity extends PreferenceActivity imp
}
/**
- * Set a {@link android.widget.Toolbar Toolbar} to act as the {@link android.support.v7.app.ActionBar} for this
- * Activity window.
+ * Set a {@link android.widget.Toolbar Toolbar} to act as the
+ * {@link androidx.appcompat.app.ActionBar} for this Activity window.
*
*
When set to a non-null value the {@link #getActionBar()} method will return
- * an {@link android.support.v7.app.ActionBar} object that can be used to control the given toolbar as if it were
- * a traditional window decor action bar. The toolbar's menu will be populated with the
- * Activity's options menu and the navigation button will be wired through the standard
- * {@link android.R.id#home home} menu select action.
+ * an {@link androidx.appcompat.app.ActionBar} object that can be used to control the given
+ * toolbar as if it were a traditional window decor action bar. The toolbar's menu will be
+ * populated with the Activity's options menu and the navigation button will be wired through
+ * the standard {@link android.R.id#home home} menu select action.
*
* In order to use a Toolbar within the Activity's window content the application
* must not request the window feature
* {@link android.view.Window#FEATURE_ACTION_BAR FEATURE_SUPPORT_ACTION_BAR}.
*
- * @param toolbar Toolbar to set as the Activity's action bar
+ * @param toolbar Toolbar to set as the Activity's action bar, or {@code null} to clear it
*/
public void setSupportActionBar(@Nullable Toolbar toolbar) {
getDelegate().setSupportActionBar(toolbar);
}
- @NonNull
@Override
public MenuInflater getMenuInflater() {
return getDelegate().getMenuInflater();
@@ -117,6 +147,24 @@ public abstract class AppCompatPreferenceActivity extends PreferenceActivity imp
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
getDelegate().onConfigurationChanged(newConfig);
+ if (mResources != null) {
+ // The real (and thus managed) resources object was already updated
+ // by ResourcesManager, so pull the current metrics from there.
+ final DisplayMetrics newMetrics = super.getResources().getDisplayMetrics();
+ mResources.updateConfiguration(newConfig, newMetrics);
+ }
+ }
+
+ @Override
+ protected void onPostResume() {
+ super.onPostResume();
+ getDelegate().onPostResume();
+ }
+
+ @Override
+ protected void onStart() {
+ super.onStart();
+ getDelegate().onStart();
}
@Override
@@ -125,10 +173,10 @@ public abstract class AppCompatPreferenceActivity extends PreferenceActivity imp
getDelegate().onStop();
}
+ @SuppressWarnings("TypeParameterUnusedInFormals")
@Override
- protected void onPostResume() {
- super.onPostResume();
- getDelegate().onPostResume();
+ public T findViewById(@IdRes int id) {
+ return getDelegate().findViewById(id);
}
@Override
@@ -139,7 +187,7 @@ public abstract class AppCompatPreferenceActivity extends PreferenceActivity imp
final ActionBar ab = getSupportActionBar();
if (item.getItemId() == android.R.id.home && ab != null &&
- (ab.getDisplayOptions() & ActionBar.DISPLAY_HOME_AS_UP) != 0) {
+ (ab.getDisplayOptions() & ActionBar.DISPLAY_HOME_AS_UP) != 0) {
return onSupportNavigateUp();
}
return false;
@@ -165,7 +213,7 @@ public abstract class AppCompatPreferenceActivity extends PreferenceActivity imp
*
*
* @param featureId The desired feature as defined in
- * {@link android.view.Window} or {@link android.support.v4.view.WindowCompat}.
+ * {@link android.view.Window} or {@link androidx.core.view.WindowCompat}.
* @return Returns true if the requested feature is supported and now enabled.
*
* @see android.app.Activity#requestWindowFeature
@@ -192,7 +240,7 @@ public abstract class AppCompatPreferenceActivity extends PreferenceActivity imp
*/
@Override
@CallSuper
- public void onSupportActionModeStarted(ActionMode mode) {
+ public void onSupportActionModeStarted(@NonNull ActionMode mode) {
}
/**
@@ -203,7 +251,7 @@ public abstract class AppCompatPreferenceActivity extends PreferenceActivity imp
*/
@Override
@CallSuper
- public void onSupportActionModeFinished(ActionMode mode) {
+ public void onSupportActionModeFinished(@NonNull ActionMode mode) {
}
/**
@@ -217,14 +265,49 @@ public abstract class AppCompatPreferenceActivity extends PreferenceActivity imp
*/
@Nullable
@Override
- public ActionMode onWindowStartingSupportActionMode(ActionMode.Callback callback) {
+ public ActionMode onWindowStartingSupportActionMode(@NonNull ActionMode.Callback callback) {
return null;
}
- public ActionMode startSupportActionMode(ActionMode.Callback callback) {
+ /**
+ * Start an action mode.
+ *
+ * @param callback Callback that will manage lifecycle events for this context mode
+ * @return The ContextMode that was started, or null if it was canceled
+ */
+ @Nullable
+ public ActionMode startSupportActionMode(@NonNull ActionMode.Callback callback) {
return getDelegate().startSupportActionMode(callback);
}
+ /**
+ * @deprecated Progress bars are no longer provided in AppCompat.
+ */
+ @Deprecated
+ public void setSupportProgressBarVisibility(boolean visible) {
+ }
+
+ /**
+ * @deprecated Progress bars are no longer provided in AppCompat.
+ */
+ @Deprecated
+ public void setSupportProgressBarIndeterminateVisibility(boolean visible) {
+ }
+
+ /**
+ * @deprecated Progress bars are no longer provided in AppCompat.
+ */
+ @Deprecated
+ public void setSupportProgressBarIndeterminate(boolean indeterminate) {
+ }
+
+ /**
+ * @deprecated Progress bars are no longer provided in AppCompat.
+ */
+ @Deprecated
+ public void setSupportProgress(int progress) {
+ }
+
/**
* Support version of {@link #onCreateNavigateUpTaskStack(android.app.TaskStackBuilder)}.
* This method will be called on all platform versions.
@@ -233,7 +316,7 @@ public abstract class AppCompatPreferenceActivity extends PreferenceActivity imp
* a different task.
*
* The default implementation of this method adds the parent chain of this activity
- * as specified in the manifest to the supplied {@link android.support.v4.app.TaskStackBuilder}. Applications
+ * as specified in the manifest to the supplied {@link androidx.core.app.TaskStackBuilder}. Applications
* may choose to override this method to construct the desired task stack in a different
* way.
*
@@ -243,12 +326,12 @@ public abstract class AppCompatPreferenceActivity extends PreferenceActivity imp
*
* Applications that wish to supply extra Intent parameters to the parent stack defined
* by the manifest should override
- * {@link #onPrepareSupportNavigateUpTaskStack(android.support.v4.app.TaskStackBuilder)}.
+ * {@link #onPrepareSupportNavigateUpTaskStack(androidx.core.app.TaskStackBuilder)}.
*
* @param builder An empty TaskStackBuilder - the application should add intents representing
* the desired task stack
*/
- public void onCreateSupportNavigateUpTaskStack(TaskStackBuilder builder) {
+ public void onCreateSupportNavigateUpTaskStack(@NonNull TaskStackBuilder builder) {
builder.addParentStack(this);
}
@@ -259,15 +342,15 @@ public abstract class AppCompatPreferenceActivity extends PreferenceActivity imp
* Prepare the synthetic task stack that will be generated during Up navigation
* from a different task.
*
- * This method receives the {@link android.support.v4.app.TaskStackBuilder} with the constructed series of
- * Intents as generated by {@link #onCreateSupportNavigateUpTaskStack(android.support.v4.app.TaskStackBuilder)}.
+ *
This method receives the {@link androidx.core.app.TaskStackBuilder} with the constructed series of
+ * Intents as generated by {@link #onCreateSupportNavigateUpTaskStack(androidx.core.app.TaskStackBuilder)}.
* If any extra data should be added to these intents before launching the new task,
* the application should override this method and add that data here.
*
* @param builder A TaskStackBuilder that has been populated with Intents by
* onCreateNavigateUpTaskStack.
*/
- public void onPrepareSupportNavigateUpTaskStack(TaskStackBuilder builder) {
+ public void onPrepareSupportNavigateUpTaskStack(@NonNull TaskStackBuilder builder) {
}
/**
@@ -278,7 +361,7 @@ public abstract class AppCompatPreferenceActivity extends PreferenceActivity imp
* default Up navigation will be handled automatically. See
* {@link #getSupportParentActivityIntent()} for how to specify the parent. If any activity
* along the parent chain requires extra Intent arguments, the Activity subclass
- * should override the method {@link #onPrepareSupportNavigateUpTaskStack(android.support.v4.app.TaskStackBuilder)}
+ * should override the method {@link #onPrepareSupportNavigateUpTaskStack(androidx.core.app.TaskStackBuilder)}
* to supply those arguments.
*
* See Tasks and
@@ -286,7 +369,7 @@ public abstract class AppCompatPreferenceActivity extends PreferenceActivity imp
* Navigation from the design guide
* for more information about navigating within your app.
*
- * See the {@link android.support.v4.app.TaskStackBuilder} class and the Activity methods
+ *
See the {@link androidx.core.app.TaskStackBuilder} class and the Activity methods
* {@link #getSupportParentActivityIntent()}, {@link #supportShouldUpRecreateTask(android.content.Intent)}, and
* {@link #supportNavigateUpTo(android.content.Intent)} for help implementing custom Up navigation.
*
@@ -322,15 +405,15 @@ public abstract class AppCompatPreferenceActivity extends PreferenceActivity imp
/**
* Obtain an {@link android.content.Intent} that will launch an explicit target activity
- * specified by sourceActivity's {@link android.support.v4.app.NavUtils#PARENT_ACTIVITY} <meta-data>
+ * specified by sourceActivity's {@link androidx.core.app.NavUtils#PARENT_ACTIVITY} <meta-data>
* element in the application's manifest. If the device is running
* Jellybean or newer, the android:parentActivityName attribute will be preferred
* if it is present.
*
* @return a new Intent targeting the defined parent activity of sourceActivity
*/
- @Override
@Nullable
+ @Override
public Intent getSupportParentActivityIntent() {
return NavUtils.getParentActivityIntent(this);
}
@@ -342,13 +425,13 @@ public abstract class AppCompatPreferenceActivity extends PreferenceActivity imp
* If this method returns false the app can trivially call
* {@link #supportNavigateUpTo(android.content.Intent)} using the same parameters to correctly perform
* up navigation. If this method returns false, the app should synthesize a new task stack
- * by using {@link android.support.v4.app.TaskStackBuilder} or another similar mechanism to perform up navigation.
+ * by using {@link androidx.core.app.TaskStackBuilder} or another similar mechanism to perform up navigation.
*
* @param targetIntent An intent representing the target destination for up navigation
* @return true if navigating up should recreate a new task stack, false if the same task
* should be used for the destination
*/
- public boolean supportShouldUpRecreateTask(Intent targetIntent) {
+ public boolean supportShouldUpRecreateTask(@NonNull Intent targetIntent) {
return NavUtils.shouldUpRecreateTask(this, targetIntent);
}
@@ -364,7 +447,7 @@ public abstract class AppCompatPreferenceActivity extends PreferenceActivity imp
*
* @param upIntent An intent representing the target destination for up navigation
*/
- public void supportNavigateUpTo(Intent upIntent) {
+ public void supportNavigateUpTo(@NonNull Intent upIntent) {
NavUtils.navigateUpTo(this, upIntent);
}
@@ -374,13 +457,114 @@ public abstract class AppCompatPreferenceActivity extends PreferenceActivity imp
return getDelegate().getDrawerToggleDelegate();
}
+ /**
+ * {@inheritDoc}
+ *
+ * Please note: AppCompat uses its own feature id for the action bar:
+ * {@link AppCompatDelegate#FEATURE_SUPPORT_ACTION_BAR FEATURE_SUPPORT_ACTION_BAR}.
+ */
+ @Override
+ public boolean onMenuOpened(int featureId, Menu menu) {
+ return super.onMenuOpened(featureId, menu);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * Please note: AppCompat uses its own feature id for the action bar:
+ * {@link AppCompatDelegate#FEATURE_SUPPORT_ACTION_BAR FEATURE_SUPPORT_ACTION_BAR}.
+ */
+ @Override
+ public void onPanelClosed(int featureId, Menu menu) {
+ super.onPanelClosed(featureId, menu);
+ }
+
+ @Override
+ protected void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+ getDelegate().onSaveInstanceState(outState);
+ }
+
/**
* @return The {@link AppCompatDelegate} being used by this Activity.
*/
+ @NonNull
public AppCompatDelegate getDelegate() {
if (mDelegate == null) {
mDelegate = AppCompatDelegate.create(this, this);
}
return mDelegate;
}
+
+ @SuppressLint("RestrictedApi")
+ @Override
+ public boolean dispatchKeyEvent(KeyEvent event) {
+ // Let support action bars open menus in response to the menu key prioritized over
+ // the window handling it
+ final int keyCode = event.getKeyCode();
+ final ActionBar actionBar = getSupportActionBar();
+ if (keyCode == KeyEvent.KEYCODE_MENU
+ && actionBar != null && actionBar.onMenuKeyEvent(event)) {
+ return true;
+ }
+ return super.dispatchKeyEvent(event);
+ }
+
+ @SuppressLint("RestrictedApi")
+ @Override
+ public Resources getResources() {
+ if (mResources == null && VectorEnabledTintResources.shouldBeUsed()) {
+ mResources = new VectorEnabledTintResources(this, super.getResources());
+ }
+ return mResources == null ? super.getResources() : mResources;
+ }
+
+ /**
+ * KeyEvents with non-default modifiers are not dispatched to menu's performShortcut in API 25
+ * or lower. Here, we check if the keypress corresponds to a menuitem's shortcut combination
+ * and perform the corresponding action.
+ */
+ private boolean performMenuItemShortcut(int keycode, KeyEvent event) {
+ if (!(Build.VERSION.SDK_INT >= 26) && !event.isCtrlPressed()
+ && !KeyEvent.metaStateHasNoModifiers(event.getMetaState())
+ && event.getRepeatCount() == 0
+ && !KeyEvent.isModifierKey(event.getKeyCode())) {
+ final Window currentWindow = getWindow();
+ if (currentWindow != null && currentWindow.getDecorView() != null) {
+ final View decorView = currentWindow.getDecorView();
+ if (decorView.dispatchKeyShortcutEvent(event)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public boolean onKeyDown(int keyCode, KeyEvent event) {
+ if (performMenuItemShortcut(keyCode, event)) {
+ return true;
+ }
+ return super.onKeyDown(keyCode, event);
+ }
+
+ @SuppressLint("RestrictedApi")
+ @Override
+ public void openOptionsMenu() {
+ ActionBar actionBar = getSupportActionBar();
+ if (getWindow().hasFeature(Window.FEATURE_OPTIONS_PANEL)
+ && (actionBar == null || !actionBar.openOptionsMenu())) {
+ super.openOptionsMenu();
+ }
+ }
+
+ @SuppressLint("RestrictedApi")
+ @Override
+ public void closeOptionsMenu() {
+ ActionBar actionBar = getSupportActionBar();
+ if (getWindow().hasFeature(Window.FEATURE_OPTIONS_PANEL)
+ && (actionBar == null || !actionBar.closeOptionsMenu())) {
+ super.closeOptionsMenu();
+ }
+ }
}
diff --git a/app/src/main/java/com/hippo/app/CheckBoxDialogBuilder.java b/app/src/main/java/com/hippo/app/CheckBoxDialogBuilder.java
index 34af8a97b..ca9a4c9d4 100644
--- a/app/src/main/java/com/hippo/app/CheckBoxDialogBuilder.java
+++ b/app/src/main/java/com/hippo/app/CheckBoxDialogBuilder.java
@@ -18,12 +18,11 @@ package com.hippo.app;
import android.annotation.SuppressLint;
import android.content.Context;
-import android.support.v7.app.AlertDialog;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.CheckBox;
import android.widget.TextView;
-
+import androidx.appcompat.app.AlertDialog;
import com.hippo.ehviewer.R;
public class CheckBoxDialogBuilder extends AlertDialog.Builder {
diff --git a/app/src/main/java/com/hippo/app/EditTextDialogBuilder.java b/app/src/main/java/com/hippo/app/EditTextDialogBuilder.java
index 750bc39bf..4c89ce9d3 100644
--- a/app/src/main/java/com/hippo/app/EditTextDialogBuilder.java
+++ b/app/src/main/java/com/hippo/app/EditTextDialogBuilder.java
@@ -19,15 +19,14 @@ package com.hippo.app;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.DialogInterface;
-import android.support.design.widget.TextInputLayout;
-import android.support.v7.app.AlertDialog;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
-
+import androidx.appcompat.app.AlertDialog;
+import com.google.android.material.textfield.TextInputLayout;
import com.hippo.ehviewer.R;
public class EditTextDialogBuilder extends AlertDialog.Builder implements EditText.OnEditorActionListener {
diff --git a/app/src/main/java/com/hippo/app/ListCheckBoxDialogBuilder.java b/app/src/main/java/com/hippo/app/ListCheckBoxDialogBuilder.java
index ebdb09763..a84822787 100644
--- a/app/src/main/java/com/hippo/app/ListCheckBoxDialogBuilder.java
+++ b/app/src/main/java/com/hippo/app/ListCheckBoxDialogBuilder.java
@@ -18,14 +18,13 @@ package com.hippo.app;
import android.annotation.SuppressLint;
import android.content.Context;
-import android.support.v7.app.AlertDialog;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.ListView;
-
+import androidx.appcompat.app.AlertDialog;
import com.hippo.ehviewer.R;
import com.hippo.yorozuya.ViewUtils;
diff --git a/app/src/main/java/com/hippo/app/PrettyPreferenceActivity.java b/app/src/main/java/com/hippo/app/PrettyPreferenceActivity.java
index 9b324097f..2ddb26b2c 100644
--- a/app/src/main/java/com/hippo/app/PrettyPreferenceActivity.java
+++ b/app/src/main/java/com/hippo/app/PrettyPreferenceActivity.java
@@ -18,7 +18,6 @@ package com.hippo.app;
import android.content.Context;
import android.preference.PreferenceActivity;
-import android.support.annotation.NonNull;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
@@ -27,6 +26,7 @@ import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.TextView;
+import androidx.annotation.NonNull;
import com.hippo.ehviewer.R;
import java.util.ArrayList;
import java.util.List;
diff --git a/app/src/main/java/com/hippo/app/ProgressDialog.java b/app/src/main/java/com/hippo/app/ProgressDialog.java
index 93f093f6b..096dc048c 100644
--- a/app/src/main/java/com/hippo/app/ProgressDialog.java
+++ b/app/src/main/java/com/hippo/app/ProgressDialog.java
@@ -21,7 +21,6 @@ import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
-import android.support.v7.app.AlertDialog;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.style.StyleSpan;
@@ -29,9 +28,8 @@ import android.view.LayoutInflater;
import android.view.View;
import android.widget.ProgressBar;
import android.widget.TextView;
-
+import androidx.appcompat.app.AlertDialog;
import com.hippo.ehviewer.R;
-
import java.text.NumberFormat;
/**
diff --git a/app/src/main/java/com/hippo/content/FileProvider.java b/app/src/main/java/com/hippo/content/FileProvider.java
index 3f233b34e..718b3920f 100644
--- a/app/src/main/java/com/hippo/content/FileProvider.java
+++ b/app/src/main/java/com/hippo/content/FileProvider.java
@@ -16,6 +16,9 @@
package com.hippo.content;
+import static org.xmlpull.v1.XmlPullParser.END_DOCUMENT;
+import static org.xmlpull.v1.XmlPullParser.START_TAG;
+
import android.content.ClipData;
import android.content.ContentProvider;
import android.content.ContentValues;
@@ -31,20 +34,15 @@ import android.os.Bundle;
import android.os.Environment;
import android.os.ParcelFileDescriptor;
import android.provider.MediaStore;
-import android.support.v4.content.ContextCompat;
import android.text.TextUtils;
import android.webkit.MimeTypeMap;
-
-import org.xmlpull.v1.XmlPullParserException;
-
+import androidx.core.content.ContextCompat;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
-
-import static org.xmlpull.v1.XmlPullParser.END_DOCUMENT;
-import static org.xmlpull.v1.XmlPullParser.START_TAG;
+import org.xmlpull.v1.XmlPullParserException;
/**
* FileProvider is a special subclass of {@link ContentProvider} that facilitates secure sharing
@@ -331,7 +329,7 @@ public class FileProvider extends ContentProvider {
};
private static final String
- META_DATA_FILE_PROVIDER_PATHS = "android.support.FILE_PROVIDER_PATHS";
+ META_DATA_FILE_PROVIDER_PATHS = "com.hippo.content.FILE_PROVIDER_PATHS";
private static final String TAG_ROOT_PATH = "root-path";
private static final String TAG_FILES_PATH = "files-path";
diff --git a/app/src/main/java/com/hippo/drawable/BitmapPool.java b/app/src/main/java/com/hippo/drawable/BitmapPool.java
index e0352d43b..6f6868ca9 100644
--- a/app/src/main/java/com/hippo/drawable/BitmapPool.java
+++ b/app/src/main/java/com/hippo/drawable/BitmapPool.java
@@ -17,9 +17,8 @@
package com.hippo.drawable;
import android.graphics.Bitmap;
-import android.support.annotation.Nullable;
import android.util.Log;
-
+import androidx.annotation.Nullable;
import java.lang.ref.WeakReference;
import java.util.Iterator;
import java.util.LinkedHashSet;
diff --git a/app/src/main/java/com/hippo/drawable/DrawableWrapper.java b/app/src/main/java/com/hippo/drawable/DrawableWrapper.java
index 8c4b7776f..7e6f1d86d 100644
--- a/app/src/main/java/com/hippo/drawable/DrawableWrapper.java
+++ b/app/src/main/java/com/hippo/drawable/DrawableWrapper.java
@@ -23,8 +23,8 @@ import android.graphics.PorterDuff;
import android.graphics.Rect;
import android.graphics.Region;
import android.graphics.drawable.Drawable;
-import android.support.annotation.NonNull;
-import android.support.v4.graphics.drawable.DrawableCompat;
+import androidx.annotation.NonNull;
+import androidx.core.graphics.drawable.DrawableCompat;
public class DrawableWrapper extends Drawable implements Drawable.Callback {
private Drawable mDrawable;
diff --git a/app/src/main/java/com/hippo/drawable/DrawerArrowDrawable.java b/app/src/main/java/com/hippo/drawable/DrawerArrowDrawable.java
index 65a518847..402475718 100644
--- a/app/src/main/java/com/hippo/drawable/DrawerArrowDrawable.java
+++ b/app/src/main/java/com/hippo/drawable/DrawerArrowDrawable.java
@@ -27,8 +27,7 @@ import android.graphics.PixelFormat;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Build;
-
-import android.support.annotation.ColorInt;
+import androidx.annotation.ColorInt;
import com.hippo.ehviewer.R;
import com.hippo.yorozuya.MathUtils;
diff --git a/app/src/main/java/com/hippo/drawable/TextDrawable.java b/app/src/main/java/com/hippo/drawable/TextDrawable.java
index 4aefc9f12..45f14d6bc 100644
--- a/app/src/main/java/com/hippo/drawable/TextDrawable.java
+++ b/app/src/main/java/com/hippo/drawable/TextDrawable.java
@@ -27,10 +27,10 @@ import android.graphics.Paint;
import android.graphics.PixelFormat;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
-import android.support.annotation.IntRange;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
import android.text.TextUtils;
+import androidx.annotation.IntRange;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
public class TextDrawable extends Drawable {
diff --git a/app/src/main/java/com/hippo/drawable/UnikeryDrawable.java b/app/src/main/java/com/hippo/drawable/UnikeryDrawable.java
index d576be2bc..1353e6e41 100644
--- a/app/src/main/java/com/hippo/drawable/UnikeryDrawable.java
+++ b/app/src/main/java/com/hippo/drawable/UnikeryDrawable.java
@@ -17,9 +17,8 @@
package com.hippo.drawable;
import android.graphics.drawable.Drawable;
-import android.support.annotation.NonNull;
import android.util.Log;
-
+import androidx.annotation.NonNull;
import com.hippo.conaco.Conaco;
import com.hippo.conaco.ConacoTask;
import com.hippo.conaco.Unikery;
diff --git a/app/src/main/java/com/hippo/ehviewer/AppConfig.java b/app/src/main/java/com/hippo/ehviewer/AppConfig.java
index 9a5d848e6..edd5ddf0c 100644
--- a/app/src/main/java/com/hippo/ehviewer/AppConfig.java
+++ b/app/src/main/java/com/hippo/ehviewer/AppConfig.java
@@ -18,13 +18,11 @@ package com.hippo.ehviewer;
import android.content.Context;
import android.os.Environment;
-import android.support.annotation.Nullable;
-
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.client.exception.ParseException;
import com.hippo.util.ReadableTime;
import com.hippo.yorozuya.FileUtils;
import com.hippo.yorozuya.IOUtils;
-
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
diff --git a/app/src/main/java/com/hippo/ehviewer/EhApplication.java b/app/src/main/java/com/hippo/ehviewer/EhApplication.java
index 89308aea4..70a3a9d89 100644
--- a/app/src/main/java/com/hippo/ehviewer/EhApplication.java
+++ b/app/src/main/java/com/hippo/ehviewer/EhApplication.java
@@ -27,10 +27,10 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.AsyncTask;
import android.os.Debug;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v4.util.LruCache;
import android.util.Log;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.collection.LruCache;
import com.getkeepsafe.relinker.ReLinker;
import com.hippo.a7zip.A7Zip;
import com.hippo.a7zip.A7ZipExtractLite;
diff --git a/app/src/main/java/com/hippo/ehviewer/EhDB.java b/app/src/main/java/com/hippo/ehviewer/EhDB.java
index 08bdfe022..a579f715c 100644
--- a/app/src/main/java/com/hippo/ehviewer/EhDB.java
+++ b/app/src/main/java/com/hippo/ehviewer/EhDB.java
@@ -20,10 +20,9 @@ import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
import android.util.Log;
-
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.client.data.GalleryInfo;
import com.hippo.ehviewer.client.data.ListUrlBuilder;
import com.hippo.ehviewer.dao.DaoMaster;
@@ -49,7 +48,7 @@ import com.hippo.yorozuya.FileUtils;
import com.hippo.yorozuya.IOUtils;
import com.hippo.yorozuya.ObjectUtils;
import com.hippo.yorozuya.collect.SparseJLArray;
-
+import de.greenrobot.dao.query.LazyList;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
@@ -59,8 +58,6 @@ import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
-import de.greenrobot.dao.query.LazyList;
-
public class EhDB {
private static final String TAG = EhDB.class.getSimpleName();
diff --git a/app/src/main/java/com/hippo/ehviewer/GetText.java b/app/src/main/java/com/hippo/ehviewer/GetText.java
index 02840d112..1ccd2d507 100644
--- a/app/src/main/java/com/hippo/ehviewer/GetText.java
+++ b/app/src/main/java/com/hippo/ehviewer/GetText.java
@@ -18,8 +18,8 @@ package com.hippo.ehviewer;
import android.content.Context;
import android.content.res.Resources;
-import android.support.annotation.NonNull;
-import android.support.annotation.StringRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.StringRes;
public class GetText {
diff --git a/app/src/main/java/com/hippo/ehviewer/Hosts.java b/app/src/main/java/com/hippo/ehviewer/Hosts.java
index fc820f97a..76825a17b 100644
--- a/app/src/main/java/com/hippo/ehviewer/Hosts.java
+++ b/app/src/main/java/com/hippo/ehviewer/Hosts.java
@@ -25,8 +25,8 @@ import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
-import android.support.annotation.Nullable;
import android.util.Pair;
+import androidx.annotation.Nullable;
import com.hippo.database.MSQLiteBuilder;
import com.hippo.util.SqlUtils;
import java.net.InetAddress;
diff --git a/app/src/main/java/com/hippo/ehviewer/ImageBitmapHelper.java b/app/src/main/java/com/hippo/ehviewer/ImageBitmapHelper.java
index 519433741..c9040ed83 100644
--- a/app/src/main/java/com/hippo/ehviewer/ImageBitmapHelper.java
+++ b/app/src/main/java/com/hippo/ehviewer/ImageBitmapHelper.java
@@ -16,13 +16,11 @@
package com.hippo.ehviewer;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.hippo.conaco.ValueHelper;
import com.hippo.image.ImageBitmap;
import com.hippo.streampipe.InputStreamPipe;
-
import java.io.IOException;
public class ImageBitmapHelper implements ValueHelper {
diff --git a/app/src/main/java/com/hippo/ehviewer/Settings.java b/app/src/main/java/com/hippo/ehviewer/Settings.java
index b4fce1355..ddc97a981 100755
--- a/app/src/main/java/com/hippo/ehviewer/Settings.java
+++ b/app/src/main/java/com/hippo/ehviewer/Settings.java
@@ -20,10 +20,10 @@ import android.content.Context;
import android.content.SharedPreferences;
import android.net.Uri;
import android.preference.PreferenceManager;
-import android.support.annotation.DimenRes;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
import android.util.Log;
+import androidx.annotation.DimenRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.client.EhConfig;
import com.hippo.ehviewer.client.EhUtils;
import com.hippo.ehviewer.client.data.FavListUrlBuilder;
diff --git a/app/src/main/java/com/hippo/ehviewer/UrlOpener.java b/app/src/main/java/com/hippo/ehviewer/UrlOpener.java
index 3ab552db4..9b30f84ce 100644
--- a/app/src/main/java/com/hippo/ehviewer/UrlOpener.java
+++ b/app/src/main/java/com/hippo/ehviewer/UrlOpener.java
@@ -20,9 +20,9 @@ import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.provider.Browser;
-import android.support.annotation.NonNull;
import android.text.TextUtils;
import android.widget.Toast;
+import androidx.annotation.NonNull;
import com.hippo.ehviewer.client.EhUrlOpener;
import com.hippo.ehviewer.ui.MainActivity;
import com.hippo.scene.Announcer;
diff --git a/app/src/main/java/com/hippo/ehviewer/client/EhEngine.java b/app/src/main/java/com/hippo/ehviewer/client/EhEngine.java
index 64d3133ee..d10fe5edf 100644
--- a/app/src/main/java/com/hippo/ehviewer/client/EhEngine.java
+++ b/app/src/main/java/com/hippo/ehviewer/client/EhEngine.java
@@ -16,10 +16,10 @@
package com.hippo.ehviewer.client;
-import android.support.annotation.Nullable;
import android.text.TextUtils;
import android.util.Log;
import android.util.Pair;
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.AppConfig;
import com.hippo.ehviewer.GetText;
import com.hippo.ehviewer.R;
diff --git a/app/src/main/java/com/hippo/ehviewer/client/EhTagDatabase.java b/app/src/main/java/com/hippo/ehviewer/client/EhTagDatabase.java
index 5da032317..6a61cf285 100644
--- a/app/src/main/java/com/hippo/ehviewer/client/EhTagDatabase.java
+++ b/app/src/main/java/com/hippo/ehviewer/client/EhTagDatabase.java
@@ -17,8 +17,8 @@
package com.hippo.ehviewer.client;
import android.content.Context;
-import android.support.annotation.Nullable;
import android.util.Base64;
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.AppConfig;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.R;
diff --git a/app/src/main/java/com/hippo/ehviewer/client/EhUrl.java b/app/src/main/java/com/hippo/ehviewer/client/EhUrl.java
index db67ee618..ee100bc23 100644
--- a/app/src/main/java/com/hippo/ehviewer/client/EhUrl.java
+++ b/app/src/main/java/com/hippo/ehviewer/client/EhUrl.java
@@ -16,7 +16,7 @@
package com.hippo.ehviewer.client;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.hippo.ehviewer.Settings;
import com.hippo.network.UrlBuilder;
import java.util.List;
diff --git a/app/src/main/java/com/hippo/ehviewer/client/EhUrlOpener.java b/app/src/main/java/com/hippo/ehviewer/client/EhUrlOpener.java
index 25ce4d795..a5dbdbdb3 100644
--- a/app/src/main/java/com/hippo/ehviewer/client/EhUrlOpener.java
+++ b/app/src/main/java/com/hippo/ehviewer/client/EhUrlOpener.java
@@ -17,10 +17,9 @@
package com.hippo.ehviewer.client;
import android.os.Bundle;
-import android.support.annotation.Nullable;
import android.text.TextUtils;
import android.util.Log;
-
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.client.data.ListUrlBuilder;
import com.hippo.ehviewer.client.parser.GalleryDetailUrlParser;
import com.hippo.ehviewer.client.parser.GalleryListUrlParser;
diff --git a/app/src/main/java/com/hippo/ehviewer/client/EhUtils.java b/app/src/main/java/com/hippo/ehviewer/client/EhUtils.java
index 2d06243c3..a2240b2fe 100644
--- a/app/src/main/java/com/hippo/ehviewer/client/EhUtils.java
+++ b/app/src/main/java/com/hippo/ehviewer/client/EhUtils.java
@@ -18,13 +18,11 @@ package com.hippo.ehviewer.client;
import android.content.Context;
import android.graphics.Color;
-import android.support.annotation.Nullable;
import android.text.TextUtils;
-
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.Settings;
import com.hippo.ehviewer.client.data.GalleryInfo;
-
import java.util.regex.Pattern;
public class EhUtils {
diff --git a/app/src/main/java/com/hippo/ehviewer/client/data/GalleryApiInfo.java b/app/src/main/java/com/hippo/ehviewer/client/data/GalleryApiInfo.java
index f6e143684..2286faf5f 100644
--- a/app/src/main/java/com/hippo/ehviewer/client/data/GalleryApiInfo.java
+++ b/app/src/main/java/com/hippo/ehviewer/client/data/GalleryApiInfo.java
@@ -18,7 +18,7 @@ package com.hippo.ehviewer.client.data;
import android.os.Parcel;
import android.os.Parcelable;
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
public class GalleryApiInfo implements Parcelable {
diff --git a/app/src/main/java/com/hippo/ehviewer/client/data/GalleryInfo.java b/app/src/main/java/com/hippo/ehviewer/client/data/GalleryInfo.java
index 6437b95ec..0e1d5b35b 100644
--- a/app/src/main/java/com/hippo/ehviewer/client/data/GalleryInfo.java
+++ b/app/src/main/java/com/hippo/ehviewer/client/data/GalleryInfo.java
@@ -18,8 +18,7 @@ package com.hippo.ehviewer.client.data;
import android.os.Parcel;
import android.os.Parcelable;
-import android.support.annotation.Nullable;
-
+import androidx.annotation.Nullable;
import java.util.regex.Pattern;
public class GalleryInfo implements Parcelable {
diff --git a/app/src/main/java/com/hippo/ehviewer/client/data/ListUrlBuilder.java b/app/src/main/java/com/hippo/ehviewer/client/data/ListUrlBuilder.java
index 01b3fc9f7..848b0c6a7 100644
--- a/app/src/main/java/com/hippo/ehviewer/client/data/ListUrlBuilder.java
+++ b/app/src/main/java/com/hippo/ehviewer/client/data/ListUrlBuilder.java
@@ -18,10 +18,9 @@ package com.hippo.ehviewer.client.data;
import android.os.Parcel;
import android.os.Parcelable;
-import android.support.annotation.IntDef;
-import android.support.annotation.Nullable;
import android.text.TextUtils;
-
+import androidx.annotation.IntDef;
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.client.EhConfig;
import com.hippo.ehviewer.client.EhUrl;
import com.hippo.ehviewer.client.EhUtils;
@@ -29,7 +28,6 @@ import com.hippo.ehviewer.dao.QuickSearch;
import com.hippo.ehviewer.widget.AdvanceSearchTable;
import com.hippo.network.UrlBuilder;
import com.hippo.yorozuya.StringUtils;
-
import java.io.UnsupportedEncodingException;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
diff --git a/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryDetailParser.java b/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryDetailParser.java
index 623e2f260..8e7434565 100644
--- a/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryDetailParser.java
+++ b/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryDetailParser.java
@@ -16,9 +16,9 @@
package com.hippo.ehviewer.client.parser;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
import android.text.TextUtils;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.Settings;
import com.hippo.ehviewer.client.EhUrl;
import com.hippo.ehviewer.client.EhUtils;
diff --git a/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryDetailUrlParser.java b/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryDetailUrlParser.java
index edf786e54..8bd928963 100644
--- a/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryDetailUrlParser.java
+++ b/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryDetailUrlParser.java
@@ -16,10 +16,8 @@
package com.hippo.ehviewer.client.parser;
-import android.support.annotation.Nullable;
-
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.client.EhUrl;
-
import com.hippo.yorozuya.NumberUtils;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
diff --git a/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryListParser.java b/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryListParser.java
index 6a05d6d8c..5857ed9d8 100644
--- a/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryListParser.java
+++ b/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryListParser.java
@@ -16,9 +16,9 @@
package com.hippo.ehviewer.client.parser;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
import android.util.Log;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.client.EhUtils;
import com.hippo.ehviewer.client.data.GalleryInfo;
import com.hippo.ehviewer.client.exception.ParseException;
diff --git a/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryPageUrlParser.java b/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryPageUrlParser.java
index ada0307f8..0e746d7ce 100644
--- a/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryPageUrlParser.java
+++ b/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryPageUrlParser.java
@@ -16,7 +16,7 @@
package com.hippo.ehviewer.client.parser;
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.client.EhUrl;
import com.hippo.yorozuya.NumberUtils;
import java.util.regex.Matcher;
diff --git a/app/src/main/java/com/hippo/ehviewer/download/DownloadManager.java b/app/src/main/java/com/hippo/ehviewer/download/DownloadManager.java
index da1b6303a..d054ae2e6 100644
--- a/app/src/main/java/com/hippo/ehviewer/download/DownloadManager.java
+++ b/app/src/main/java/com/hippo/ehviewer/download/DownloadManager.java
@@ -19,10 +19,9 @@ package com.hippo.ehviewer.download;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.AsyncTask;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
import android.util.Log;
-
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.EhDB;
import com.hippo.ehviewer.client.data.GalleryInfo;
import com.hippo.ehviewer.dao.DownloadInfo;
@@ -40,7 +39,6 @@ import com.hippo.yorozuya.SimpleHandler;
import com.hippo.yorozuya.collect.LongList;
import com.hippo.yorozuya.collect.SparseIJArray;
import com.hippo.yorozuya.collect.SparseJLArray;
-
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
diff --git a/app/src/main/java/com/hippo/ehviewer/download/DownloadService.java b/app/src/main/java/com/hippo/ehviewer/download/DownloadService.java
index 4d15f1e03..63e83ff31 100644
--- a/app/src/main/java/com/hippo/ehviewer/download/DownloadService.java
+++ b/app/src/main/java/com/hippo/ehviewer/download/DownloadService.java
@@ -27,11 +27,10 @@ import android.os.Build;
import android.os.Bundle;
import android.os.IBinder;
import android.os.SystemClock;
-import android.support.annotation.IntDef;
-import android.support.annotation.Nullable;
-import android.support.v4.app.NotificationCompat;
import android.util.Log;
-
+import androidx.annotation.IntDef;
+import androidx.annotation.Nullable;
+import androidx.core.app.NotificationCompat;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.client.EhUtils;
@@ -46,7 +45,6 @@ import com.hippo.yorozuya.SimpleHandler;
import com.hippo.yorozuya.collect.LongList;
import com.hippo.yorozuya.collect.SparseJBArray;
import com.hippo.yorozuya.collect.SparseJLArray;
-
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
diff --git a/app/src/main/java/com/hippo/ehviewer/gallery/ArchiveGalleryProvider.java b/app/src/main/java/com/hippo/ehviewer/gallery/ArchiveGalleryProvider.java
index f5654187b..55c4ff217 100644
--- a/app/src/main/java/com/hippo/ehviewer/gallery/ArchiveGalleryProvider.java
+++ b/app/src/main/java/com/hippo/ehviewer/gallery/ArchiveGalleryProvider.java
@@ -19,8 +19,8 @@ package com.hippo.ehviewer.gallery;
import android.content.Context;
import android.net.Uri;
import android.os.Process;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.hippo.a7zip.ArchiveException;
import com.hippo.ehviewer.GetText;
import com.hippo.ehviewer.R;
diff --git a/app/src/main/java/com/hippo/ehviewer/gallery/DirGalleryProvider.java b/app/src/main/java/com/hippo/ehviewer/gallery/DirGalleryProvider.java
index d8ef64b2a..529ae7859 100644
--- a/app/src/main/java/com/hippo/ehviewer/gallery/DirGalleryProvider.java
+++ b/app/src/main/java/com/hippo/ehviewer/gallery/DirGalleryProvider.java
@@ -17,9 +17,9 @@
package com.hippo.ehviewer.gallery;
import android.os.Process;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
import android.util.Log;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.GetText;
import com.hippo.ehviewer.R;
import com.hippo.glgallery.GalleryPageView;
diff --git a/app/src/main/java/com/hippo/ehviewer/gallery/EhGalleryProvider.java b/app/src/main/java/com/hippo/ehviewer/gallery/EhGalleryProvider.java
index b9621c460..aee72473d 100644
--- a/app/src/main/java/com/hippo/ehviewer/gallery/EhGalleryProvider.java
+++ b/app/src/main/java/com/hippo/ehviewer/gallery/EhGalleryProvider.java
@@ -17,16 +17,14 @@
package com.hippo.ehviewer.gallery;
import android.content.Context;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.client.data.GalleryInfo;
import com.hippo.ehviewer.spider.SpiderQueen;
import com.hippo.glgallery.GalleryProvider;
import com.hippo.image.Image;
import com.hippo.unifile.UniFile;
import com.hippo.yorozuya.SimpleHandler;
-
import java.util.Locale;
public class EhGalleryProvider extends GalleryProvider2 implements SpiderQueen.OnSpiderListener {
diff --git a/app/src/main/java/com/hippo/ehviewer/gallery/GalleryProvider2.java b/app/src/main/java/com/hippo/ehviewer/gallery/GalleryProvider2.java
index 434cda239..d9a2b9d9d 100644
--- a/app/src/main/java/com/hippo/ehviewer/gallery/GalleryProvider2.java
+++ b/app/src/main/java/com/hippo/ehviewer/gallery/GalleryProvider2.java
@@ -16,9 +16,8 @@
package com.hippo.ehviewer.gallery;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.hippo.glgallery.GalleryProvider;
import com.hippo.unifile.UniFile;
diff --git a/app/src/main/java/com/hippo/ehviewer/gallery/Pipe.java b/app/src/main/java/com/hippo/ehviewer/gallery/Pipe.java
index 84e690752..0cdb4a169 100644
--- a/app/src/main/java/com/hippo/ehviewer/gallery/Pipe.java
+++ b/app/src/main/java/com/hippo/ehviewer/gallery/Pipe.java
@@ -16,7 +16,7 @@
package com.hippo.ehviewer.gallery;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
diff --git a/app/src/main/java/com/hippo/ehviewer/preference/CleanRedundancyPreference.java b/app/src/main/java/com/hippo/ehviewer/preference/CleanRedundancyPreference.java
index 4533b6534..1c0abae65 100644
--- a/app/src/main/java/com/hippo/ehviewer/preference/CleanRedundancyPreference.java
+++ b/app/src/main/java/com/hippo/ehviewer/preference/CleanRedundancyPreference.java
@@ -17,10 +17,9 @@
package com.hippo.ehviewer.preference;
import android.content.Context;
-import android.support.annotation.NonNull;
import android.util.AttributeSet;
import android.widget.Toast;
-
+import androidx.annotation.NonNull;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.Settings;
diff --git a/app/src/main/java/com/hippo/ehviewer/preference/ClearDownloadPathCachePreference.java b/app/src/main/java/com/hippo/ehviewer/preference/ClearDownloadPathCachePreference.java
index d4f0e4e28..96a51fd14 100644
--- a/app/src/main/java/com/hippo/ehviewer/preference/ClearDownloadPathCachePreference.java
+++ b/app/src/main/java/com/hippo/ehviewer/preference/ClearDownloadPathCachePreference.java
@@ -17,9 +17,8 @@
package com.hippo.ehviewer.preference;
import android.content.Context;
-import android.support.v7.app.AlertDialog;
import android.util.AttributeSet;
-
+import androidx.appcompat.app.AlertDialog;
import com.hippo.ehviewer.EhDB;
import com.hippo.ehviewer.R;
import com.hippo.preference.MessagePreference;
diff --git a/app/src/main/java/com/hippo/ehviewer/preference/DefaultCategoryPreference.java b/app/src/main/java/com/hippo/ehviewer/preference/DefaultCategoryPreference.java
index cd3fb7203..ce3b57af1 100644
--- a/app/src/main/java/com/hippo/ehviewer/preference/DefaultCategoryPreference.java
+++ b/app/src/main/java/com/hippo/ehviewer/preference/DefaultCategoryPreference.java
@@ -17,10 +17,9 @@
package com.hippo.ehviewer.preference;
import android.content.Context;
-import android.support.annotation.Nullable;
-import android.support.v7.app.AlertDialog;
import android.util.AttributeSet;
-
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.Settings;
import com.hippo.ehviewer.widget.CategoryTable;
diff --git a/app/src/main/java/com/hippo/ehviewer/preference/ExcludedTagNamespacesPreference.java b/app/src/main/java/com/hippo/ehviewer/preference/ExcludedTagNamespacesPreference.java
index 185cb12b1..f27ef6837 100644
--- a/app/src/main/java/com/hippo/ehviewer/preference/ExcludedTagNamespacesPreference.java
+++ b/app/src/main/java/com/hippo/ehviewer/preference/ExcludedTagNamespacesPreference.java
@@ -17,11 +17,10 @@
package com.hippo.ehviewer.preference;
import android.content.Context;
-import android.support.v7.app.AlertDialog;
import android.util.AttributeSet;
import android.view.View;
import android.widget.CheckBox;
-
+import androidx.appcompat.app.AlertDialog;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.Settings;
import com.hippo.preference.DialogPreference;
diff --git a/app/src/main/java/com/hippo/ehviewer/preference/IdentityCookiePreference.java b/app/src/main/java/com/hippo/ehviewer/preference/IdentityCookiePreference.java
index 155c5b976..ee2964423 100644
--- a/app/src/main/java/com/hippo/ehviewer/preference/IdentityCookiePreference.java
+++ b/app/src/main/java/com/hippo/ehviewer/preference/IdentityCookiePreference.java
@@ -19,9 +19,9 @@ package com.hippo.ehviewer.preference;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
-import android.support.v7.app.AlertDialog;
import android.util.AttributeSet;
import android.widget.Toast;
+import androidx.appcompat.app.AlertDialog;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.client.EhCookieStore;
diff --git a/app/src/main/java/com/hippo/ehviewer/preference/ProxyPreference.java b/app/src/main/java/com/hippo/ehviewer/preference/ProxyPreference.java
index 6a25f658e..c5e14a095 100644
--- a/app/src/main/java/com/hippo/ehviewer/preference/ProxyPreference.java
+++ b/app/src/main/java/com/hippo/ehviewer/preference/ProxyPreference.java
@@ -20,13 +20,13 @@ import android.annotation.SuppressLint;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
-import android.support.design.widget.TextInputLayout;
-import android.support.v7.app.AlertDialog;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.View;
import android.widget.EditText;
import android.widget.Spinner;
+import androidx.appcompat.app.AlertDialog;
+import com.google.android.material.textfield.TextInputLayout;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.EhProxySelector;
import com.hippo.ehviewer.R;
diff --git a/app/src/main/java/com/hippo/ehviewer/preference/RestoreDownloadPreference.java b/app/src/main/java/com/hippo/ehviewer/preference/RestoreDownloadPreference.java
index 00dc1912c..b84188b38 100644
--- a/app/src/main/java/com/hippo/ehviewer/preference/RestoreDownloadPreference.java
+++ b/app/src/main/java/com/hippo/ehviewer/preference/RestoreDownloadPreference.java
@@ -20,9 +20,9 @@ import android.app.Activity;
import android.content.Context;
import android.os.Parcel;
import android.preference.Preference;
-import android.support.annotation.NonNull;
import android.util.AttributeSet;
import android.widget.Toast;
+import androidx.annotation.NonNull;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.EhDB;
import com.hippo.ehviewer.R;
diff --git a/app/src/main/java/com/hippo/ehviewer/preference/SignOutPreference.java b/app/src/main/java/com/hippo/ehviewer/preference/SignOutPreference.java
index e87f6da1a..e180f7656 100644
--- a/app/src/main/java/com/hippo/ehviewer/preference/SignOutPreference.java
+++ b/app/src/main/java/com/hippo/ehviewer/preference/SignOutPreference.java
@@ -17,10 +17,9 @@
package com.hippo.ehviewer.preference;
import android.content.Context;
-import android.support.v7.app.AlertDialog;
import android.util.AttributeSet;
import android.widget.Toast;
-
+import androidx.appcompat.app.AlertDialog;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.client.EhUtils;
import com.hippo.preference.MessagePreference;
diff --git a/app/src/main/java/com/hippo/ehviewer/preference/TaskPreference.java b/app/src/main/java/com/hippo/ehviewer/preference/TaskPreference.java
index 0969dd09f..59f44acd6 100644
--- a/app/src/main/java/com/hippo/ehviewer/preference/TaskPreference.java
+++ b/app/src/main/java/com/hippo/ehviewer/preference/TaskPreference.java
@@ -21,12 +21,11 @@ import android.content.Context;
import android.os.AsyncTask;
import android.os.Parcel;
import android.os.Parcelable;
-import android.support.annotation.CallSuper;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v7.app.AlertDialog;
import android.util.AttributeSet;
-
+import androidx.annotation.CallSuper;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.R;
import com.hippo.preference.DialogPreference;
diff --git a/app/src/main/java/com/hippo/ehviewer/spider/SpiderDen.java b/app/src/main/java/com/hippo/ehviewer/spider/SpiderDen.java
index fb4835753..321b30e41 100644
--- a/app/src/main/java/com/hippo/ehviewer/spider/SpiderDen.java
+++ b/app/src/main/java/com/hippo/ehviewer/spider/SpiderDen.java
@@ -18,9 +18,8 @@ package com.hippo.ehviewer.spider;
import android.content.Context;
import android.graphics.BitmapFactory;
-import android.support.annotation.Nullable;
import android.webkit.MimeTypeMap;
-
+import androidx.annotation.Nullable;
import com.hippo.beerbelly.SimpleDiskCache;
import com.hippo.ehviewer.EhDB;
import com.hippo.ehviewer.Settings;
@@ -38,7 +37,6 @@ import com.hippo.yorozuya.FileUtils;
import com.hippo.yorozuya.IOUtils;
import com.hippo.yorozuya.MathUtils;
import com.hippo.yorozuya.Utilities;
-
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
diff --git a/app/src/main/java/com/hippo/ehviewer/spider/SpiderInfo.java b/app/src/main/java/com/hippo/ehviewer/spider/SpiderInfo.java
index 98747bb8c..11ef800ed 100644
--- a/app/src/main/java/com/hippo/ehviewer/spider/SpiderInfo.java
+++ b/app/src/main/java/com/hippo/ehviewer/spider/SpiderInfo.java
@@ -16,16 +16,14 @@
package com.hippo.ehviewer.spider;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
import android.text.TextUtils;
import android.util.Log;
import android.util.SparseArray;
-
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.hippo.unifile.UniFile;
import com.hippo.yorozuya.IOUtils;
import com.hippo.yorozuya.NumberUtils;
-
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
diff --git a/app/src/main/java/com/hippo/ehviewer/spider/SpiderQueen.java b/app/src/main/java/com/hippo/ehviewer/spider/SpiderQueen.java
index 183744bb3..7a72ed4c3 100644
--- a/app/src/main/java/com/hippo/ehviewer/spider/SpiderQueen.java
+++ b/app/src/main/java/com/hippo/ehviewer/spider/SpiderQueen.java
@@ -20,15 +20,14 @@ import android.content.Context;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Process;
-import android.support.annotation.IntDef;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.annotation.UiThread;
import android.text.TextUtils;
import android.util.Log;
import android.util.SparseArray;
import android.webkit.MimeTypeMap;
-
+import androidx.annotation.IntDef;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.UiThread;
import com.hippo.beerbelly.SimpleDiskCache;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.GetText;
@@ -62,7 +61,6 @@ import com.hippo.yorozuya.Utilities;
import com.hippo.yorozuya.collect.SparseJLArray;
import com.hippo.yorozuya.thread.PriorityThread;
import com.hippo.yorozuya.thread.PriorityThreadFactory;
-
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -79,7 +77,6 @@ import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
-
import okhttp3.Call;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/CommonOperations.java b/app/src/main/java/com/hippo/ehviewer/ui/CommonOperations.java
index 627ec33fa..567743b0a 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/CommonOperations.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/CommonOperations.java
@@ -22,9 +22,8 @@ import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.AsyncTask;
-import android.support.v7.app.AlertDialog;
import android.util.Log;
-
+import androidx.appcompat.app.AlertDialog;
import com.hippo.app.ListCheckBoxDialogBuilder;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.EhDB;
@@ -45,20 +44,17 @@ 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;
-import java.util.ArrayList;
-import java.util.Collections;
-import org.json.JSONException;
-import org.json.JSONObject;
-
import java.io.IOException;
import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
-
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
+import org.json.JSONException;
+import org.json.JSONObject;
public final class CommonOperations {
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/DirPickerActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/DirPickerActivity.java
index e8a381155..3d6eb0199 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/DirPickerActivity.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/DirPickerActivity.java
@@ -19,12 +19,12 @@ package com.hippo.ehviewer.ui;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.hippo.android.resource.AttrResources;
import com.hippo.ehviewer.R;
import com.hippo.ripple.Ripple;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/EhActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/EhActivity.java
index 65085e884..f18e114c8 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/EhActivity.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/EhActivity.java
@@ -19,10 +19,10 @@ package com.hippo.ehviewer.ui;
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.annotation.StyleRes;
-import android.support.v7.app.AppCompatActivity;
import android.view.WindowManager;
+import androidx.annotation.Nullable;
+import androidx.annotation.StyleRes;
+import androidx.appcompat.app.AppCompatActivity;
import com.google.firebase.analytics.FirebaseAnalytics;
import com.hippo.android.resource.AttrResources;
import com.hippo.content.ContextLocalWrapper;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/EhPreferenceActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/EhPreferenceActivity.java
index 38aa970a5..10f3706ab 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/EhPreferenceActivity.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/EhPreferenceActivity.java
@@ -20,9 +20,9 @@ import android.content.Context;
import android.content.res.Resources;
import android.os.Build;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.annotation.StyleRes;
import android.view.WindowManager;
+import androidx.annotation.Nullable;
+import androidx.annotation.StyleRes;
import com.google.firebase.analytics.FirebaseAnalytics;
import com.hippo.android.resource.AttrResources;
import com.hippo.app.PrettyPreferenceActivity;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/ExcludedLanguagesActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/ExcludedLanguagesActivity.java
index 7c08563cc..93ad8d6d1 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/ExcludedLanguagesActivity.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/ExcludedLanguagesActivity.java
@@ -17,14 +17,14 @@
package com.hippo.ehviewer.ui;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
import com.hippo.android.resource.AttrResources;
import com.hippo.easyrecyclerview.EasyRecyclerView;
import com.hippo.ehviewer.R;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/FilterActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/FilterActivity.java
index b039c6e3a..772143a6e 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/FilterActivity.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/FilterActivity.java
@@ -20,11 +20,6 @@ import android.content.DialogInterface;
import android.graphics.Paint;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.design.widget.TextInputLayout;
-import android.support.v7.app.AlertDialog;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuItem;
@@ -34,7 +29,11 @@ import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.TextView;
-
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import com.google.android.material.textfield.TextInputLayout;
import com.hippo.easyrecyclerview.EasyRecyclerView;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.client.EhFilter;
@@ -42,7 +41,6 @@ import com.hippo.ehviewer.dao.Filter;
import com.hippo.util.DrawableManager;
import com.hippo.view.ViewTransition;
import com.hippo.yorozuya.ViewUtils;
-
import java.util.List;
public class FilterActivity extends ToolbarActivity {
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/GalleryActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/GalleryActivity.java
index 106dd91b6..85d605dd7 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/GalleryActivity.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/GalleryActivity.java
@@ -31,10 +31,6 @@ import android.graphics.Typeface;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v7.app.AlertDialog;
-import android.support.v7.widget.SwitchCompat;
import android.text.TextUtils;
import android.view.KeyEvent;
import android.view.LayoutInflater;
@@ -48,6 +44,10 @@ import android.widget.SeekBar;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import androidx.appcompat.widget.SwitchCompat;
import com.hippo.android.resource.AttrResources;
import com.hippo.ehviewer.AppConfig;
import com.hippo.ehviewer.BuildConfig;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/HostsActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/HostsActivity.java
index 69cc43291..a96ed3c70 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/HostsActivity.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/HostsActivity.java
@@ -23,20 +23,20 @@ package com.hippo.ehviewer.ui;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.design.widget.FloatingActionButton;
-import android.support.design.widget.TextInputLayout;
-import android.support.v4.app.DialogFragment;
-import android.support.v7.app.AlertDialog;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
import android.util.Pair;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.DialogFragment;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import com.google.android.material.floatingactionbutton.FloatingActionButton;
+import com.google.android.material.textfield.TextInputLayout;
import com.hippo.android.resource.AttrResources;
import com.hippo.easyrecyclerview.EasyRecyclerView;
import com.hippo.easyrecyclerview.LinearDividerItemDecoration;
@@ -79,7 +79,7 @@ public class HostsActivity extends ToolbarActivity
adapter = new HostsAdapter();
recyclerView.setAdapter(adapter);
- recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));
+ recyclerView.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false));
LinearDividerItemDecoration decoration = new LinearDividerItemDecoration(
LinearDividerItemDecoration.VERTICAL,
AttrResources.getAttrColor(this, R.attr.dividerColor),
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/LicenseActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/LicenseActivity.java
index 17a1f3c85..0f335e591 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/LicenseActivity.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/LicenseActivity.java
@@ -17,10 +17,9 @@
package com.hippo.ehviewer.ui;
import android.os.Bundle;
-import android.support.annotation.Nullable;
import android.view.MenuItem;
import android.webkit.WebView;
-
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.R;
public class LicenseActivity extends ToolbarActivity {
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/MainActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/MainActivity.java
index f1ae4109f..ae1d3d5c9 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/MainActivity.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/MainActivity.java
@@ -28,13 +28,6 @@ import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.PersistableBundle;
-import android.support.annotation.IdRes;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.annotation.StringRes;
-import android.support.design.widget.NavigationView;
-import android.support.design.widget.Snackbar;
-import android.support.v7.app.AlertDialog;
import android.text.TextUtils;
import android.view.Gravity;
import android.view.MenuItem;
@@ -43,6 +36,13 @@ import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.TextView;
import android.widget.Toast;
+import androidx.annotation.IdRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
+import androidx.appcompat.app.AlertDialog;
+import com.google.android.material.navigation.NavigationView;
+import com.google.android.material.snackbar.Snackbar;
import com.hippo.drawerlayout.DrawerLayout;
import com.hippo.ehviewer.AppConfig;
import com.hippo.ehviewer.EhApplication;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/SetSecurityActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/SetSecurityActivity.java
index 7691b5739..30041fab0 100755
--- a/app/src/main/java/com/hippo/ehviewer/ui/SetSecurityActivity.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/SetSecurityActivity.java
@@ -19,13 +19,12 @@ package com.hippo.ehviewer.ui;
import android.hardware.fingerprint.FingerprintManager;
import android.os.Build;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.annotation.RequiresApi;
import android.text.TextUtils;
import android.view.MenuItem;
import android.view.View;
import android.widget.CheckBox;
-
+import androidx.annotation.Nullable;
+import androidx.annotation.RequiresApi;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.Settings;
import com.hippo.widget.lockpattern.LockPatternUtils;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.java
index a8322a7bc..54b2b53eb 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.java
@@ -20,10 +20,10 @@ import android.app.Fragment;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
-import android.support.annotation.StringRes;
-import android.support.v7.app.ActionBar;
-import android.support.v7.app.ActionBarDrawerToggle;
import android.view.MenuItem;
+import androidx.annotation.StringRes;
+import androidx.appcompat.app.ActionBar;
+import androidx.appcompat.app.ActionBarDrawerToggle;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.Settings;
import com.hippo.ehviewer.ui.fragment.AboutFragment;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/ToolbarActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/ToolbarActivity.java
index 581f2a45c..ed569bc4a 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/ToolbarActivity.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/ToolbarActivity.java
@@ -17,13 +17,12 @@
package com.hippo.ehviewer.ui;
import android.graphics.drawable.Drawable;
-import android.support.annotation.DrawableRes;
-import android.support.annotation.LayoutRes;
-import android.support.annotation.Nullable;
-import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.ViewGroup;
-
+import androidx.annotation.DrawableRes;
+import androidx.annotation.LayoutRes;
+import androidx.annotation.Nullable;
+import androidx.appcompat.widget.Toolbar;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.Settings;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/UConfigActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/UConfigActivity.java
index 736f815da..f011b9c87 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/UConfigActivity.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/UConfigActivity.java
@@ -26,9 +26,6 @@ import android.content.DialogInterface;
import android.graphics.Bitmap;
import android.os.Build;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.design.widget.Snackbar;
-import android.support.v7.app.AlertDialog;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
@@ -41,6 +38,9 @@ import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.EditText;
import android.widget.TextView;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import com.google.android.material.snackbar.Snackbar;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.client.EhCookieStore;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/AboutFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/AboutFragment.java
index a0eb28b65..39ded05d1 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/AboutFragment.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/AboutFragment.java
@@ -24,10 +24,10 @@ import android.net.Uri;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceFragment;
-import android.support.v7.app.AlertDialog;
import android.util.Base64;
import android.widget.TextView;
import android.widget.Toast;
+import androidx.appcompat.app.AlertDialog;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.ui.CommonOperations;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/AdvancedFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/AdvancedFragment.java
index 655e398b5..7fd519e83 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/AdvancedFragment.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/AdvancedFragment.java
@@ -17,7 +17,6 @@
package com.hippo.ehviewer.ui.fragment;
import android.app.Activity;
-import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.res.Resources;
@@ -25,14 +24,13 @@ import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.widget.Toast;
-
+import androidx.appcompat.app.AlertDialog;
import com.hippo.ehviewer.AppConfig;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.EhDB;
import com.hippo.ehviewer.R;
import com.hippo.util.LogCat;
import com.hippo.util.ReadableTime;
-
import java.io.File;
import java.util.Arrays;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/DownloadFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/DownloadFragment.java
index 9a38fdc43..c2e511886 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/DownloadFragment.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/DownloadFragment.java
@@ -24,9 +24,9 @@ import android.os.Build;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceFragment;
-import android.support.annotation.Nullable;
-import android.support.v7.app.AlertDialog;
import android.widget.Toast;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.Settings;
import com.hippo.ehviewer.ui.CommonOperations;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/AnalyticsScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/AnalyticsScene.java
index 183f32924..424add9eb 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/AnalyticsScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/AnalyticsScene.java
@@ -18,12 +18,11 @@ package com.hippo.ehviewer.ui.scene;
import android.content.Context;
import android.os.Bundle;
-import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
-
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.Analytics;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.Settings;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/BaseScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/BaseScene.java
index 841f2deec..a9a4db218 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/BaseScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/BaseScene.java
@@ -20,18 +20,18 @@ import android.content.Context;
import android.content.res.Resources;
import android.os.Bundle;
import android.os.Parcelable;
-import android.support.annotation.IdRes;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.annotation.StringRes;
-import android.support.annotation.StyleRes;
-import android.support.v4.app.FragmentActivity;
import android.util.SparseArray;
import android.view.ContextThemeWrapper;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import androidx.annotation.IdRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
+import androidx.annotation.StyleRes;
+import androidx.fragment.app.FragmentActivity;
import com.hippo.drawerlayout.DrawerLayout;
import com.hippo.ehviewer.Analytics;
import com.hippo.ehviewer.ui.MainActivity;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/CookieSignInScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/CookieSignInScene.java
index 3a3402f36..cb627c0e9 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/CookieSignInScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/CookieSignInScene.java
@@ -20,9 +20,6 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.design.widget.TextInputLayout;
-import android.support.v7.app.AlertDialog;
import android.text.TextUtils;
import android.view.KeyEvent;
import android.view.LayoutInflater;
@@ -30,6 +27,9 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.TextView;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import com.google.android.material.textfield.TextInputLayout;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.client.EhCookieStore;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadLabelsScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadLabelsScene.java
index 71dcb121d..4249e81da 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadLabelsScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadLabelsScene.java
@@ -21,10 +21,6 @@ import android.content.DialogInterface;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.NinePatchDrawable;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v7.app.AlertDialog;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.MenuItem;
@@ -32,6 +28,10 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
import com.h6ah4i.android.widget.advrecyclerview.animator.GeneralItemAnimator;
import com.h6ah4i.android.widget.advrecyclerview.animator.SwipeDismissItemAnimator;
import com.h6ah4i.android.widget.advrecyclerview.draggable.DraggableItemAdapter;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.java
index 32645c665..b74466a2e 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.java
@@ -27,15 +27,6 @@ import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.design.widget.FloatingActionButton;
-import android.support.v4.widget.DrawerLayout;
-import android.support.v7.app.AlertDialog;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.SimpleItemAnimator;
-import android.support.v7.widget.StaggeredGridLayoutManager;
-import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.util.SparseBooleanArray;
import android.view.Display;
@@ -50,14 +41,23 @@ import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.TextView;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import androidx.appcompat.widget.Toolbar;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.SimpleItemAnimator;
+import androidx.recyclerview.widget.StaggeredGridLayoutManager;
import com.github.amlcurran.showcaseview.ShowcaseView;
import com.github.amlcurran.showcaseview.SimpleShowcaseEventListener;
import com.github.amlcurran.showcaseview.targets.PointTarget;
import com.github.amlcurran.showcaseview.targets.ViewTarget;
+import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.hippo.android.resource.AttrResources;
import com.hippo.app.CheckBoxDialogBuilder;
import com.hippo.conaco.DataContainer;
import com.hippo.conaco.ProgressNotifier;
+import com.hippo.drawerlayout.DrawerLayout;
import com.hippo.easyrecyclerview.EasyRecyclerView;
import com.hippo.easyrecyclerview.FastScroller;
import com.hippo.easyrecyclerview.HandlerDrawable;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/EhCallback.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/EhCallback.java
index eec0a7b95..5bc1eacc7 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/EhCallback.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/EhCallback.java
@@ -17,9 +17,8 @@
package com.hippo.ehviewer.ui.scene;
import android.content.Context;
-import android.support.annotation.StringRes;
import android.widget.Toast;
-
+import androidx.annotation.StringRes;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.client.EhClient;
import com.hippo.ehviewer.ui.MainActivity;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/EnterGalleryDetailTransaction.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/EnterGalleryDetailTransaction.java
index 49a6432e7..25239a62e 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/EnterGalleryDetailTransaction.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/EnterGalleryDetailTransaction.java
@@ -18,11 +18,10 @@ package com.hippo.ehviewer.ui.scene;
import android.content.Context;
import android.os.Build;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentTransaction;
import android.transition.TransitionInflater;
import android.view.View;
-
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentTransaction;
import com.hippo.ehviewer.R;
import com.hippo.scene.TransitionHelper;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.java
index 7f68f88b2..d61011bb4 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.java
@@ -24,15 +24,6 @@ import android.content.res.Resources;
import android.graphics.Point;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.design.widget.FloatingActionButton;
-import android.support.v4.widget.DrawerLayout;
-import android.support.v7.app.AlertDialog;
-import android.support.v7.widget.DividerItemDecoration;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.Toolbar;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.TextUtils;
@@ -45,9 +36,18 @@ import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import androidx.appcompat.widget.Toolbar;
+import androidx.drawerlayout.widget.DrawerLayout;
+import androidx.recyclerview.widget.DividerItemDecoration;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
import com.github.amlcurran.showcaseview.ShowcaseView;
import com.github.amlcurran.showcaseview.SimpleShowcaseEventListener;
import com.github.amlcurran.showcaseview.targets.PointTarget;
+import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.hippo.android.resource.AttrResources;
import com.hippo.annotation.Implemented;
import com.hippo.drawable.DrawerArrowDrawable;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryAdapter.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryAdapter.java
index d9e431966..9d76aa75a 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryAdapter.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryAdapter.java
@@ -19,16 +19,16 @@ package com.hippo.ehviewer.ui.scene;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.Build;
-import android.support.annotation.IntDef;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.StaggeredGridLayoutManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RelativeLayout;
import android.widget.TextView;
+import androidx.annotation.IntDef;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.StaggeredGridLayoutManager;
import com.hippo.drawable.TriangleDrawable;
import com.hippo.easyrecyclerview.MarginItemDecoration;
import com.hippo.ehviewer.R;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryCommentsScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryCommentsScene.java
index ae64b71ff..a7fb51829 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryCommentsScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryCommentsScene.java
@@ -29,13 +29,6 @@ import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Looper;
import android.os.Parcelable;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.design.widget.FloatingActionButton;
-import android.support.v7.app.AlertDialog;
-import android.support.v7.widget.DefaultItemAnimator;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.SpannableStringBuilder;
@@ -52,6 +45,13 @@ import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import androidx.recyclerview.widget.DefaultItemAnimator;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.hippo.android.resource.AttrResources;
import com.hippo.easyrecyclerview.EasyRecyclerView;
import com.hippo.easyrecyclerview.LinearDividerItemDecoration;
@@ -202,7 +202,7 @@ public final class GalleryCommentsScene extends ToolbarScene
mAdapter = new CommentAdapter();
mRecyclerView.setAdapter(mAdapter);
mRecyclerView.setLayoutManager(new LinearLayoutManager(context,
- LinearLayoutManager.VERTICAL, false));
+ RecyclerView.VERTICAL, false));
LinearDividerItemDecoration decoration = new LinearDividerItemDecoration(
LinearDividerItemDecoration.VERTICAL, AttrResources.getAttrColor(context, R.attr.dividerColor),
LayoutUtils.dp2pix(context, 1));
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java
index cf38c45b6..8445bdb79 100755
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java
@@ -30,14 +30,6 @@ import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.os.Parcelable;
-import android.support.annotation.IntDef;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentTransaction;
-import android.support.v4.view.ViewCompat;
-import android.support.v7.app.AlertDialog;
-import android.support.v7.widget.PopupMenu;
import android.text.TextUtils;
import android.transition.TransitionInflater;
import android.util.Pair;
@@ -55,6 +47,14 @@ import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.RatingBar;
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;
+import androidx.fragment.app.FragmentTransaction;
import com.hippo.android.resource.AttrResources;
import com.hippo.beerbelly.BeerBelly;
import com.hippo.drawable.RoundSideRectDrawable;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryHolder.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryHolder.java
index 6a0537dc5..cab11dbeb 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryHolder.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryHolder.java
@@ -16,10 +16,9 @@
package com.hippo.ehviewer.ui.scene;
-import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.TextView;
-
+import androidx.recyclerview.widget.RecyclerView;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.widget.SimpleRatingView;
import com.hippo.widget.LoadImageView;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryInfoScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryInfoScene.java
index cf0371fca..e186162a0 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryInfoScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryInfoScene.java
@@ -21,14 +21,14 @@ import android.content.ClipboardManager;
import android.content.Context;
import android.content.res.Resources;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
import com.hippo.android.resource.AttrResources;
import com.hippo.easyrecyclerview.EasyRecyclerView;
import com.hippo.easyrecyclerview.LinearDividerItemDecoration;
@@ -162,7 +162,7 @@ public final class GalleryInfoScene extends ToolbarScene implements EasyRecycler
mRecyclerView = (EasyRecyclerView) ViewUtils.$$(view, R.id.recycler_view);
InfoAdapter adapter = new InfoAdapter();
mRecyclerView.setAdapter(adapter);
- mRecyclerView.setLayoutManager(new LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false));
+ mRecyclerView.setLayoutManager(new LinearLayoutManager(context, RecyclerView.VERTICAL, false));
LinearDividerItemDecoration decoration = new LinearDividerItemDecoration(
LinearDividerItemDecoration.VERTICAL,
AttrResources.getAttrColor(context, R.attr.dividerColor),
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java
index 3e270daf1..02cf2aefc 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java
@@ -25,14 +25,6 @@ import android.content.res.Resources;
import android.graphics.Point;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
-import android.support.annotation.IntDef;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.design.widget.FloatingActionButton;
-import android.support.v4.widget.DrawerLayout;
-import android.support.v7.app.AlertDialog;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.Toolbar;
import android.text.InputType;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
@@ -49,14 +41,22 @@ import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
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.Toolbar;
+import androidx.recyclerview.widget.RecyclerView;
import com.github.amlcurran.showcaseview.ShowcaseView;
import com.github.amlcurran.showcaseview.SimpleShowcaseEventListener;
import com.github.amlcurran.showcaseview.targets.PointTarget;
+import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.hippo.android.resource.AttrResources;
import com.hippo.app.CheckBoxDialogBuilder;
import com.hippo.app.EditTextDialogBuilder;
import com.hippo.drawable.AddDeleteDrawable;
import com.hippo.drawable.DrawerArrowDrawable;
+import com.hippo.drawerlayout.DrawerLayout;
import com.hippo.easyrecyclerview.EasyRecyclerView;
import com.hippo.easyrecyclerview.FastScroller;
import com.hippo.ehviewer.EhApplication;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryPreviewsScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryPreviewsScene.java
index 108502bde..85cd7763e 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryPreviewsScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryPreviewsScene.java
@@ -23,17 +23,16 @@ import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v7.app.AlertDialog;
-import android.support.v7.widget.RecyclerView;
import android.util.Pair;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
-
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import androidx.recyclerview.widget.RecyclerView;
import com.hippo.easyrecyclerview.EasyRecyclerView;
import com.hippo.easyrecyclerview.MarginItemDecoration;
import com.hippo.ehviewer.EhApplication;
@@ -56,7 +55,6 @@ import com.hippo.widget.recyclerview.AutoGridLayoutManager;
import com.hippo.yorozuya.AssertUtils;
import com.hippo.yorozuya.LayoutUtils;
import com.hippo.yorozuya.ViewUtils;
-
import java.util.ArrayList;
import java.util.Locale;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.java
index 07662fe54..f0aef1f6a 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.java
@@ -22,15 +22,15 @@ import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v7.app.AlertDialog;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.StaggeredGridLayoutManager;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.StaggeredGridLayoutManager;
import com.h6ah4i.android.widget.advrecyclerview.animator.GeneralItemAnimator;
import com.h6ah4i.android.widget.advrecyclerview.animator.SwipeDismissItemAnimator;
import com.h6ah4i.android.widget.advrecyclerview.swipeable.RecyclerViewSwipeManager;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/ProgressScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/ProgressScene.java
index 795087776..e9252ce43 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/ProgressScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/ProgressScene.java
@@ -19,12 +19,12 @@ package com.hippo.ehviewer.ui.scene;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.client.EhClient;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/QuickSearchScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/QuickSearchScene.java
index aefe3d4d3..334ac3536 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/QuickSearchScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/QuickSearchScene.java
@@ -21,14 +21,14 @@ import android.content.DialogInterface;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.NinePatchDrawable;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v7.app.AlertDialog;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
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;
import com.h6ah4i.android.widget.advrecyclerview.animator.GeneralItemAnimator;
import com.h6ah4i.android.widget.advrecyclerview.animator.SwipeDismissItemAnimator;
import com.h6ah4i.android.widget.advrecyclerview.draggable.DraggableItemAdapter;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/SecurityScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/SecurityScene.java
index 1474ccbfc..7ea37e845 100755
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/SecurityScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/SecurityScene.java
@@ -23,11 +23,11 @@ import android.hardware.fingerprint.FingerprintManager;
import android.os.Build;
import android.os.Bundle;
import android.os.CancellationSignal;
-import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.Settings;
import com.hippo.ehviewer.ui.MainActivity;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/SelectSiteScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/SelectSiteScene.java
index b9a680719..8a08baec5 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/SelectSiteScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/SelectSiteScene.java
@@ -17,13 +17,12 @@
package com.hippo.ehviewer.ui.scene;
import android.os.Bundle;
-import android.support.annotation.Nullable;
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.hippo.ehviewer.R;
import com.hippo.ehviewer.Settings;
import com.hippo.ehviewer.client.EhUrl;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/SignInScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/SignInScene.java
index ea42b4d91..bacc573f1 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/SignInScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/SignInScene.java
@@ -19,9 +19,6 @@ package com.hippo.ehviewer.ui.scene;
import android.content.Context;
import android.graphics.Paint;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.design.widget.TextInputLayout;
-import android.support.v7.app.AlertDialog;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
@@ -29,6 +26,9 @@ import android.view.ViewGroup;
import android.view.inputmethod.EditorInfo;
import android.widget.EditText;
import android.widget.TextView;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import com.google.android.material.textfield.TextInputLayout;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.Settings;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/ToolbarScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/ToolbarScene.java
index b8f9272ce..48865d011 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/ToolbarScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/ToolbarScene.java
@@ -18,17 +18,16 @@ package com.hippo.ehviewer.ui.scene;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
-import android.support.annotation.DrawableRes;
-import android.support.annotation.Nullable;
-import android.support.annotation.StringRes;
-import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
-
+import androidx.annotation.DrawableRes;
+import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
+import androidx.appcompat.widget.Toolbar;
import com.hippo.ehviewer.R;
public abstract class ToolbarScene extends BaseScene {
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/WarningScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/WarningScene.java
index d0e0dcb8d..72300354d 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/WarningScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/WarningScene.java
@@ -17,11 +17,10 @@
package com.hippo.ehviewer.ui.scene;
import android.os.Bundle;
-import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.Settings;
import com.hippo.ehviewer.ui.MainActivity;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/WebViewSignInScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/WebViewSignInScene.java
index 7c907566a..1abbf7f76 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/WebViewSignInScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/WebViewSignInScene.java
@@ -20,7 +20,6 @@ import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
-import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -28,6 +27,7 @@ import android.webkit.CookieManager;
import android.webkit.CookieSyncManager;
import android.webkit.WebView;
import android.webkit.WebViewClient;
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.client.EhCookieStore;
import com.hippo.ehviewer.client.EhUrl;
diff --git a/app/src/main/java/com/hippo/ehviewer/widget/EhDrawerLayout.java b/app/src/main/java/com/hippo/ehviewer/widget/EhDrawerLayout.java
index 725cb9fbb..068202014 100644
--- a/app/src/main/java/com/hippo/ehviewer/widget/EhDrawerLayout.java
+++ b/app/src/main/java/com/hippo/ehviewer/widget/EhDrawerLayout.java
@@ -19,17 +19,15 @@ package com.hippo.ehviewer.widget;
import android.animation.ValueAnimator;
import android.content.Context;
import android.os.Build;
-import android.support.annotation.Nullable;
-import android.support.design.widget.CoordinatorLayout;
-import android.support.design.widget.Snackbar;
-import android.support.v4.view.ViewCompat;
import android.util.AttributeSet;
import android.view.View;
-
+import androidx.annotation.Nullable;
+import androidx.coordinatorlayout.widget.CoordinatorLayout;
+import androidx.core.view.ViewCompat;
+import com.google.android.material.snackbar.Snackbar;
import com.hippo.drawerlayout.DrawerLayout;
import com.hippo.ehviewer.R;
import com.hippo.yorozuya.AnimationUtils;
-
import java.util.ArrayList;
import java.util.List;
diff --git a/app/src/main/java/com/hippo/ehviewer/widget/EhNavigationView.java b/app/src/main/java/com/hippo/ehviewer/widget/EhNavigationView.java
index b6e122ac1..5851df0e6 100644
--- a/app/src/main/java/com/hippo/ehviewer/widget/EhNavigationView.java
+++ b/app/src/main/java/com/hippo/ehviewer/widget/EhNavigationView.java
@@ -20,9 +20,9 @@ import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.os.Build;
-import android.support.annotation.NonNull;
import android.util.AttributeSet;
import android.widget.LinearLayout;
+import androidx.annotation.NonNull;
import com.hippo.drawerlayout.DrawerLayoutChild;
public class EhNavigationView extends LinearLayout implements DrawerLayoutChild {
diff --git a/app/src/main/java/com/hippo/ehviewer/widget/GalleryRatingBar.java b/app/src/main/java/com/hippo/ehviewer/widget/GalleryRatingBar.java
index 3d6f7e7f3..ec8e2dfe4 100644
--- a/app/src/main/java/com/hippo/ehviewer/widget/GalleryRatingBar.java
+++ b/app/src/main/java/com/hippo/ehviewer/widget/GalleryRatingBar.java
@@ -18,9 +18,9 @@ package com.hippo.ehviewer.widget;
import android.content.Context;
import android.graphics.Canvas;
-import android.support.v7.widget.AppCompatRatingBar;
import android.util.AttributeSet;
import android.widget.RatingBar;
+import androidx.appcompat.widget.AppCompatRatingBar;
public class GalleryRatingBar extends AppCompatRatingBar
implements RatingBar.OnRatingBarChangeListener {
diff --git a/app/src/main/java/com/hippo/ehviewer/widget/ImageSearchLayout.java b/app/src/main/java/com/hippo/ehviewer/widget/ImageSearchLayout.java
index 8bf53908b..b4c4b6014 100644
--- a/app/src/main/java/com/hippo/ehviewer/widget/ImageSearchLayout.java
+++ b/app/src/main/java/com/hippo/ehviewer/widget/ImageSearchLayout.java
@@ -22,7 +22,6 @@ import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Parcel;
import android.os.Parcelable;
-import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.util.Log;
import android.view.AbsSavedState;
@@ -31,7 +30,7 @@ import android.view.View;
import android.widget.CheckBox;
import android.widget.ImageView;
import android.widget.LinearLayout;
-
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.AppConfig;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.client.data.ListUrlBuilder;
@@ -41,7 +40,6 @@ import com.hippo.unifile.UniFile;
import com.hippo.util.BitmapUtils;
import com.hippo.yorozuya.IOUtils;
import com.hippo.yorozuya.ViewUtils;
-
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
diff --git a/app/src/main/java/com/hippo/ehviewer/widget/RecaptchaView.java b/app/src/main/java/com/hippo/ehviewer/widget/RecaptchaView.java
index 8598a4ab1..181097a6a 100644
--- a/app/src/main/java/com/hippo/ehviewer/widget/RecaptchaView.java
+++ b/app/src/main/java/com/hippo/ehviewer/widget/RecaptchaView.java
@@ -24,10 +24,10 @@ import android.content.Context;
import android.graphics.Color;
import android.os.Parcel;
import android.os.Parcelable;
-import android.support.annotation.NonNull;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.View;
+import androidx.annotation.NonNull;
import com.hippo.android.recaptcha.RecaptchaV1;
import com.hippo.drawable.TextDrawable;
import com.hippo.ehviewer.R;
diff --git a/app/src/main/java/com/hippo/ehviewer/widget/ReversibleSeekBar.java b/app/src/main/java/com/hippo/ehviewer/widget/ReversibleSeekBar.java
index 7a5d40a26..e8e05706f 100644
--- a/app/src/main/java/com/hippo/ehviewer/widget/ReversibleSeekBar.java
+++ b/app/src/main/java/com/hippo/ehviewer/widget/ReversibleSeekBar.java
@@ -18,9 +18,9 @@ package com.hippo.ehviewer.widget;
import android.content.Context;
import android.graphics.Canvas;
-import android.support.v7.widget.AppCompatSeekBar;
import android.util.AttributeSet;
import android.view.MotionEvent;
+import androidx.appcompat.widget.AppCompatSeekBar;
public class ReversibleSeekBar extends AppCompatSeekBar {
diff --git a/app/src/main/java/com/hippo/ehviewer/widget/SearchBar.java b/app/src/main/java/com/hippo/ehviewer/widget/SearchBar.java
index 59b0d40a1..4331734bb 100644
--- a/app/src/main/java/com/hippo/ehviewer/widget/SearchBar.java
+++ b/app/src/main/java/com/hippo/ehviewer/widget/SearchBar.java
@@ -25,8 +25,6 @@ import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.os.Parcelable;
-import android.support.annotation.NonNull;
-import android.support.v7.widget.CardView;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
@@ -42,6 +40,8 @@ import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
+import androidx.annotation.NonNull;
+import androidx.cardview.widget.CardView;
import com.hippo.ehviewer.R;
import com.hippo.view.ViewTransition;
import com.hippo.yorozuya.AnimationUtils;
diff --git a/app/src/main/java/com/hippo/ehviewer/widget/SearchEditText.java b/app/src/main/java/com/hippo/ehviewer/widget/SearchEditText.java
index df544a1c1..16b91c49c 100644
--- a/app/src/main/java/com/hippo/ehviewer/widget/SearchEditText.java
+++ b/app/src/main/java/com/hippo/ehviewer/widget/SearchEditText.java
@@ -17,11 +17,11 @@
package com.hippo.ehviewer.widget;
import android.content.Context;
-import android.support.annotation.NonNull;
-import android.support.v7.widget.AppCompatEditText;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.view.MotionEvent;
+import androidx.annotation.NonNull;
+import androidx.appcompat.widget.AppCompatEditText;
import com.hippo.util.ExceptionUtils;
public class SearchEditText extends AppCompatEditText {
diff --git a/app/src/main/java/com/hippo/ehviewer/widget/SearchLayout.java b/app/src/main/java/com/hippo/ehviewer/widget/SearchLayout.java
index 890bfcff1..d132a32b0 100644
--- a/app/src/main/java/com/hippo/ehviewer/widget/SearchLayout.java
+++ b/app/src/main/java/com/hippo/ehviewer/widget/SearchLayout.java
@@ -22,12 +22,6 @@ import android.content.res.Resources;
import android.net.Uri;
import android.os.Bundle;
import android.os.Parcelable;
-import android.support.annotation.IntDef;
-import android.support.annotation.NonNull;
-import android.support.v7.app.AlertDialog;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.SwitchCompat;
import android.util.AttributeSet;
import android.util.SparseArray;
import android.view.LayoutInflater;
@@ -37,6 +31,12 @@ import android.widget.CompoundButton;
import android.widget.FrameLayout;
import android.widget.ImageView;
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.hippo.android.resource.AttrResources;
import com.hippo.easyrecyclerview.EasyRecyclerView;
import com.hippo.easyrecyclerview.MarginItemDecoration;
diff --git a/app/src/main/java/com/hippo/ehviewer/widget/SeekBarPanel.java b/app/src/main/java/com/hippo/ehviewer/widget/SeekBarPanel.java
index e124371f1..40f3f8634 100644
--- a/app/src/main/java/com/hippo/ehviewer/widget/SeekBarPanel.java
+++ b/app/src/main/java/com/hippo/ehviewer/widget/SeekBarPanel.java
@@ -18,12 +18,11 @@ package com.hippo.ehviewer.widget;
import android.content.Context;
import android.graphics.Rect;
-import android.support.annotation.NonNull;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.LinearLayout;
import android.widget.SeekBar;
-
+import androidx.annotation.NonNull;
import com.hippo.ehviewer.R;
import com.hippo.yorozuya.ViewUtils;
diff --git a/app/src/main/java/com/hippo/io/FileInputStreamPipe.java b/app/src/main/java/com/hippo/io/FileInputStreamPipe.java
index 62b5f4c9f..f63b668fc 100644
--- a/app/src/main/java/com/hippo/io/FileInputStreamPipe.java
+++ b/app/src/main/java/com/hippo/io/FileInputStreamPipe.java
@@ -16,11 +16,9 @@
package com.hippo.io;
-import android.support.annotation.NonNull;
-
+import androidx.annotation.NonNull;
import com.hippo.streampipe.InputStreamPipe;
import com.hippo.yorozuya.IOUtils;
-
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
diff --git a/app/src/main/java/com/hippo/io/FileOutputStreamPipe.java b/app/src/main/java/com/hippo/io/FileOutputStreamPipe.java
index 1c7830e91..62c1c7a96 100644
--- a/app/src/main/java/com/hippo/io/FileOutputStreamPipe.java
+++ b/app/src/main/java/com/hippo/io/FileOutputStreamPipe.java
@@ -16,11 +16,9 @@
package com.hippo.io;
-import android.support.annotation.NonNull;
-
+import androidx.annotation.NonNull;
import com.hippo.streampipe.OutputStreamPipe;
import com.hippo.yorozuya.IOUtils;
-
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
diff --git a/app/src/main/java/com/hippo/io/UniFileInputStreamPipe.java b/app/src/main/java/com/hippo/io/UniFileInputStreamPipe.java
index fbb68796e..6623fbb30 100644
--- a/app/src/main/java/com/hippo/io/UniFileInputStreamPipe.java
+++ b/app/src/main/java/com/hippo/io/UniFileInputStreamPipe.java
@@ -16,12 +16,10 @@
package com.hippo.io;
-import android.support.annotation.NonNull;
-
+import androidx.annotation.NonNull;
import com.hippo.streampipe.InputStreamPipe;
import com.hippo.unifile.UniFile;
import com.hippo.yorozuya.IOUtils;
-
import java.io.IOException;
import java.io.InputStream;
diff --git a/app/src/main/java/com/hippo/io/UniFileOutputStreamPipe.java b/app/src/main/java/com/hippo/io/UniFileOutputStreamPipe.java
index 36387b140..37a56c28f 100644
--- a/app/src/main/java/com/hippo/io/UniFileOutputStreamPipe.java
+++ b/app/src/main/java/com/hippo/io/UniFileOutputStreamPipe.java
@@ -16,12 +16,10 @@
package com.hippo.io;
-import android.support.annotation.NonNull;
-
+import androidx.annotation.NonNull;
import com.hippo.streampipe.OutputStreamPipe;
import com.hippo.unifile.UniFile;
import com.hippo.yorozuya.IOUtils;
-
import java.io.IOException;
import java.io.OutputStream;
@@ -44,8 +42,9 @@ public class UniFileOutputStreamPipe implements OutputStreamPipe {
// Empty
}
+ @NonNull
@Override
- public @NonNull OutputStream open() throws IOException {
+ public OutputStream open() throws IOException {
if (mOs != null) {
throw new IllegalStateException("Please close it first");
}
diff --git a/app/src/main/java/com/hippo/network/CookieDatabase.java b/app/src/main/java/com/hippo/network/CookieDatabase.java
index c67ca35a8..b277316ae 100644
--- a/app/src/main/java/com/hippo/network/CookieDatabase.java
+++ b/app/src/main/java/com/hippo/network/CookieDatabase.java
@@ -26,8 +26,8 @@ import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteStatement;
-import android.support.annotation.Nullable;
import android.util.Log;
+import androidx.annotation.Nullable;
import com.hippo.database.MSQLiteBuilder;
import com.hippo.util.SqlUtils;
import java.util.ArrayList;
diff --git a/app/src/main/java/com/hippo/preference/DialogPreference.java b/app/src/main/java/com/hippo/preference/DialogPreference.java
index b3de67128..98da46141 100644
--- a/app/src/main/java/com/hippo/preference/DialogPreference.java
+++ b/app/src/main/java/com/hippo/preference/DialogPreference.java
@@ -27,16 +27,15 @@ import android.os.Parcel;
import android.os.Parcelable;
import android.preference.Preference;
import android.preference.PreferenceManager;
-import android.support.annotation.DrawableRes;
-import android.support.annotation.StringRes;
-import android.support.v4.content.ContextCompat;
-import android.support.v7.app.AlertDialog;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
-
+import androidx.annotation.DrawableRes;
+import androidx.annotation.StringRes;
+import androidx.appcompat.app.AlertDialog;
+import androidx.core.content.ContextCompat;
import com.hippo.ehviewer.R;
/**
diff --git a/app/src/main/java/com/hippo/preference/ListPreference.java b/app/src/main/java/com/hippo/preference/ListPreference.java
index ed1035d9d..0d8ef31b6 100644
--- a/app/src/main/java/com/hippo/preference/ListPreference.java
+++ b/app/src/main/java/com/hippo/preference/ListPreference.java
@@ -21,11 +21,10 @@ import android.content.DialogInterface;
import android.content.res.TypedArray;
import android.os.Parcel;
import android.os.Parcelable;
-import android.support.annotation.ArrayRes;
-import android.support.v7.app.AlertDialog;
import android.text.TextUtils;
import android.util.AttributeSet;
-
+import androidx.annotation.ArrayRes;
+import androidx.appcompat.app.AlertDialog;
import com.hippo.ehviewer.R;
public class ListPreference extends DialogPreference {
diff --git a/app/src/main/java/com/hippo/preference/MessagePreference.java b/app/src/main/java/com/hippo/preference/MessagePreference.java
index 0a8b5f6d2..fcc241fde 100644
--- a/app/src/main/java/com/hippo/preference/MessagePreference.java
+++ b/app/src/main/java/com/hippo/preference/MessagePreference.java
@@ -18,12 +18,11 @@ package com.hippo.preference;
import android.content.Context;
import android.content.res.TypedArray;
-import android.support.v7.app.AlertDialog;
import android.text.method.LinkMovementMethod;
import android.util.AttributeSet;
import android.view.View;
import android.widget.TextView;
-
+import androidx.appcompat.app.AlertDialog;
import com.hippo.ehviewer.R;
import com.hippo.text.Html;
diff --git a/app/src/main/java/com/hippo/preference/SwitchPreference.java b/app/src/main/java/com/hippo/preference/SwitchPreference.java
index 8efddcc4f..8d7ee8f92 100644
--- a/app/src/main/java/com/hippo/preference/SwitchPreference.java
+++ b/app/src/main/java/com/hippo/preference/SwitchPreference.java
@@ -19,15 +19,13 @@ package com.hippo.preference;
import android.content.Context;
import android.content.res.TypedArray;
import android.preference.TwoStatePreference;
-import android.support.annotation.StringRes;
-import android.support.v7.widget.SwitchCompat;
import android.util.AttributeSet;
import android.view.View;
import android.widget.Checkable;
import android.widget.CompoundButton;
-
+import androidx.annotation.StringRes;
+import androidx.appcompat.widget.SwitchCompat;
import com.hippo.ehviewer.R;
-
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
diff --git a/app/src/main/java/com/hippo/scene/SceneFragment.java b/app/src/main/java/com/hippo/scene/SceneFragment.java
index 841b9a04f..27468cf72 100644
--- a/app/src/main/java/com/hippo/scene/SceneFragment.java
+++ b/app/src/main/java/com/hippo/scene/SceneFragment.java
@@ -17,17 +17,15 @@
package com.hippo.scene;
import android.os.Bundle;
-import android.support.annotation.IntDef;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentActivity;
import android.view.View;
-
+import androidx.annotation.IntDef;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
import com.hippo.android.resource.AttrResources;
import com.hippo.ehviewer.R;
import com.hippo.yorozuya.collect.IntList;
-
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
diff --git a/app/src/main/java/com/hippo/scene/StageActivity.java b/app/src/main/java/com/hippo/scene/StageActivity.java
index 7c188a54c..1bd2a4b80 100644
--- a/app/src/main/java/com/hippo/scene/StageActivity.java
+++ b/app/src/main/java/com/hippo/scene/StageActivity.java
@@ -18,13 +18,13 @@ package com.hippo.scene;
import android.content.Intent;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.app.FragmentTransaction;
import android.util.Log;
import android.view.View;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.ui.EhActivity;
import com.hippo.yorozuya.AssertUtils;
diff --git a/app/src/main/java/com/hippo/scene/TransitionHelper.java b/app/src/main/java/com/hippo/scene/TransitionHelper.java
index 961cb264a..e7a384e70 100644
--- a/app/src/main/java/com/hippo/scene/TransitionHelper.java
+++ b/app/src/main/java/com/hippo/scene/TransitionHelper.java
@@ -17,8 +17,8 @@
package com.hippo.scene;
import android.content.Context;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentTransaction;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentTransaction;
public interface TransitionHelper {
diff --git a/app/src/main/java/com/hippo/text/Html.java b/app/src/main/java/com/hippo/text/Html.java
index b8c7ff7a8..8811b79e5 100644
--- a/app/src/main/java/com/hippo/text/Html.java
+++ b/app/src/main/java/com/hippo/text/Html.java
@@ -22,8 +22,6 @@ import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
-import android.support.annotation.ColorInt;
-import android.support.annotation.NonNull;
import android.text.Editable;
import android.text.Layout;
import android.text.Spannable;
@@ -46,6 +44,8 @@ import android.text.style.TextAppearanceSpan;
import android.text.style.TypefaceSpan;
import android.text.style.URLSpan;
import android.text.style.UnderlineSpan;
+import androidx.annotation.ColorInt;
+import androidx.annotation.NonNull;
import java.io.IOException;
import java.io.StringReader;
import java.util.HashMap;
diff --git a/app/src/main/java/com/hippo/util/AppHelper.java b/app/src/main/java/com/hippo/util/AppHelper.java
index 71b0f07db..2ba53ceac 100644
--- a/app/src/main/java/com/hippo/util/AppHelper.java
+++ b/app/src/main/java/com/hippo/util/AppHelper.java
@@ -22,11 +22,11 @@ import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.Toast;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import com.hippo.ehviewer.R;
public class AppHelper {
diff --git a/app/src/main/java/com/hippo/util/BitmapUtils.java b/app/src/main/java/com/hippo/util/BitmapUtils.java
index 7544e79a5..838b3e4ca 100644
--- a/app/src/main/java/com/hippo/util/BitmapUtils.java
+++ b/app/src/main/java/com/hippo/util/BitmapUtils.java
@@ -20,11 +20,9 @@ import android.app.ActivityManager;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
-import android.support.annotation.NonNull;
-
+import androidx.annotation.NonNull;
import com.hippo.streampipe.InputStreamPipe;
import com.hippo.yorozuya.MathUtils;
-
import java.io.IOException;
public final class BitmapUtils {
diff --git a/app/src/main/java/com/hippo/util/DrawableManager.java b/app/src/main/java/com/hippo/util/DrawableManager.java
index 13cbf7fab..e25a97596 100644
--- a/app/src/main/java/com/hippo/util/DrawableManager.java
+++ b/app/src/main/java/com/hippo/util/DrawableManager.java
@@ -20,10 +20,10 @@ import android.content.Context;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.Build;
-import android.support.annotation.DrawableRes;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.graphics.drawable.VectorDrawableCompat;
+import androidx.annotation.DrawableRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat;
public final class DrawableManager {
diff --git a/app/src/main/java/com/hippo/util/ExceptionUtils.java b/app/src/main/java/com/hippo/util/ExceptionUtils.java
index dda12d604..963a344a8 100644
--- a/app/src/main/java/com/hippo/util/ExceptionUtils.java
+++ b/app/src/main/java/com/hippo/util/ExceptionUtils.java
@@ -16,8 +16,7 @@
package com.hippo.util;
-
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.hippo.ehviewer.GetText;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.client.exception.EhException;
diff --git a/app/src/main/java/com/hippo/util/IoThreadPoolExecutor.java b/app/src/main/java/com/hippo/util/IoThreadPoolExecutor.java
index 723d5da76..bac34cc9b 100644
--- a/app/src/main/java/com/hippo/util/IoThreadPoolExecutor.java
+++ b/app/src/main/java/com/hippo/util/IoThreadPoolExecutor.java
@@ -16,7 +16,7 @@
package com.hippo.util;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.hippo.yorozuya.thread.PriorityThreadFactory;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
diff --git a/app/src/main/java/com/hippo/util/JsoupUtils.java b/app/src/main/java/com/hippo/util/JsoupUtils.java
index d5371096b..e2ed8c5b8 100644
--- a/app/src/main/java/com/hippo/util/JsoupUtils.java
+++ b/app/src/main/java/com/hippo/util/JsoupUtils.java
@@ -16,8 +16,7 @@
package com.hippo.util;
-import android.support.annotation.Nullable;
-
+import androidx.annotation.Nullable;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
diff --git a/app/src/main/java/com/hippo/util/PermissionRequester.java b/app/src/main/java/com/hippo/util/PermissionRequester.java
index 5313cca75..45c20a627 100644
--- a/app/src/main/java/com/hippo/util/PermissionRequester.java
+++ b/app/src/main/java/com/hippo/util/PermissionRequester.java
@@ -19,14 +19,14 @@ package com.hippo.util;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.pm.PackageManager;
-import android.support.v4.app.ActivityCompat;
-import android.support.v7.app.AlertDialog;
+import androidx.appcompat.app.AlertDialog;
+import androidx.core.app.ActivityCompat;
public class PermissionRequester {
/**
* @return true for there no need to request, do your work it now.
- * false for do in {@link android.support.v4.app.ActivityCompat.OnRequestPermissionsResultCallback#onRequestPermissionsResult(int, String[], int[])}
+ * false for do in {@link androidx.core.app.ActivityCompat.OnRequestPermissionsResultCallback#onRequestPermissionsResult(int, String[], int[])}
*/
public static boolean request(final Activity activity, final String permission, String rationale, final int requestCode) {
if (!(activity instanceof ActivityCompat.OnRequestPermissionsResultCallback)) {
diff --git a/app/src/main/java/com/hippo/widget/BatteryView.java b/app/src/main/java/com/hippo/widget/BatteryView.java
index dbe2ea848..d3e04a19d 100644
--- a/app/src/main/java/com/hippo/widget/BatteryView.java
+++ b/app/src/main/java/com/hippo/widget/BatteryView.java
@@ -24,9 +24,8 @@ import android.content.IntentFilter;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.os.BatteryManager;
-import android.support.v7.widget.AppCompatTextView;
import android.util.AttributeSet;
-
+import androidx.appcompat.widget.AppCompatTextView;
import com.hippo.drawable.BatteryDrawable;
import com.hippo.ehviewer.R;
diff --git a/app/src/main/java/com/hippo/widget/CheckTextView.java b/app/src/main/java/com/hippo/widget/CheckTextView.java
index e32ccf18d..92d653597 100644
--- a/app/src/main/java/com/hippo/widget/CheckTextView.java
+++ b/app/src/main/java/com/hippo/widget/CheckTextView.java
@@ -26,12 +26,12 @@ import android.graphics.Paint;
import android.os.Build;
import android.os.Bundle;
import android.os.Parcelable;
-import android.support.annotation.NonNull;
-import android.support.v7.widget.AppCompatTextView;
import android.util.AttributeSet;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Interpolator;
+import androidx.annotation.NonNull;
+import androidx.appcompat.widget.AppCompatTextView;
import com.hippo.ehviewer.R;
import com.hippo.hotspot.Hotspot;
import com.hippo.hotspot.Hotspotable;
diff --git a/app/src/main/java/com/hippo/widget/ContentLayout.java b/app/src/main/java/com/hippo/widget/ContentLayout.java
index 040ef61f0..8f085a14b 100644
--- a/app/src/main/java/com/hippo/widget/ContentLayout.java
+++ b/app/src/main/java/com/hippo/widget/ContentLayout.java
@@ -20,9 +20,6 @@ import android.content.Context;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Parcelable;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v7.widget.RecyclerView;
import android.util.AttributeSet;
import android.util.Log;
import android.view.LayoutInflater;
@@ -31,6 +28,9 @@ import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.TextView;
import android.widget.Toast;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
import com.hippo.android.resource.AttrResources;
import com.hippo.easyrecyclerview.EasyRecyclerView;
import com.hippo.easyrecyclerview.FastScroller;
diff --git a/app/src/main/java/com/hippo/widget/CuteSpinner.java b/app/src/main/java/com/hippo/widget/CuteSpinner.java
index 47c8751a8..ce8119f46 100644
--- a/app/src/main/java/com/hippo/widget/CuteSpinner.java
+++ b/app/src/main/java/com/hippo/widget/CuteSpinner.java
@@ -19,26 +19,26 @@ package com.hippo.widget;
import android.content.Context;
import android.content.res.Resources;
import android.content.res.TypedArray;
-import android.support.v7.widget.AppCompatSpinner;
import android.util.AttributeSet;
import android.widget.ArrayAdapter;
+import androidx.appcompat.widget.AppCompatSpinner;
import com.hippo.ehviewer.R;
public class CuteSpinner extends AppCompatSpinner {
public CuteSpinner(Context context) {
super(context);
- init(context, null, android.support.v7.appcompat.R.attr.spinnerStyle);
+ init(context, null, androidx.appcompat.R.attr.spinnerStyle);
}
public CuteSpinner(Context context, int mode) {
super(context, mode);
- init(context, null, android.support.v7.appcompat.R.attr.spinnerStyle);
+ init(context, null, androidx.appcompat.R.attr.spinnerStyle);
}
public CuteSpinner(Context context, AttributeSet attrs) {
super(context, attrs);
- init(context, attrs, android.support.v7.appcompat.R.attr.spinnerStyle);
+ init(context, attrs, androidx.appcompat.R.attr.spinnerStyle);
}
public CuteSpinner(Context context, AttributeSet attrs, int defStyleAttr) {
@@ -58,7 +58,7 @@ public class CuteSpinner extends AppCompatSpinner {
private void init(Context context, AttributeSet attrs, int defStyleAttr) {
TypedArray a = context.obtainStyledAttributes(attrs,
- android.support.v7.appcompat.R.styleable.Spinner, defStyleAttr, 0);
+ androidx.appcompat.R.styleable.Spinner, defStyleAttr, 0);
final CharSequence[] entries = a.getTextArray(R.styleable.Spinner_android_entries);
if (entries != null) {
final ArrayAdapter adapter = new ArrayAdapter<>(context,
diff --git a/app/src/main/java/com/hippo/widget/DirExplorer.java b/app/src/main/java/com/hippo/widget/DirExplorer.java
index aedb40dba..77ca55434 100644
--- a/app/src/main/java/com/hippo/widget/DirExplorer.java
+++ b/app/src/main/java/com/hippo/widget/DirExplorer.java
@@ -18,12 +18,12 @@ package com.hippo.widget;
import android.content.Context;
import android.os.Environment;
-import android.support.v7.widget.LinearLayoutManager;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
+import androidx.recyclerview.widget.LinearLayoutManager;
import com.hippo.android.resource.AttrResources;
import com.hippo.easyrecyclerview.EasyRecyclerView;
import com.hippo.easyrecyclerview.LinearDividerItemDecoration;
diff --git a/app/src/main/java/com/hippo/widget/FabLayout.java b/app/src/main/java/com/hippo/widget/FabLayout.java
index bcc961572..6b436e8ab 100644
--- a/app/src/main/java/com/hippo/widget/FabLayout.java
+++ b/app/src/main/java/com/hippo/widget/FabLayout.java
@@ -20,12 +20,12 @@ import android.animation.Animator;
import android.content.Context;
import android.os.Bundle;
import android.os.Parcelable;
-import android.support.annotation.NonNull;
-import android.support.design.widget.FloatingActionButton;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Interpolator;
+import androidx.annotation.NonNull;
+import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.hippo.ehviewer.R;
import com.hippo.yorozuya.AnimationUtils;
import com.hippo.yorozuya.AssertUtils;
diff --git a/app/src/main/java/com/hippo/widget/FixedAspectImageView.java b/app/src/main/java/com/hippo/widget/FixedAspectImageView.java
index 2da8a7fdd..471da0a6f 100644
--- a/app/src/main/java/com/hippo/widget/FixedAspectImageView.java
+++ b/app/src/main/java/com/hippo/widget/FixedAspectImageView.java
@@ -19,10 +19,9 @@ package com.hippo.widget;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
-import android.support.v7.widget.AppCompatImageView;
import android.util.AttributeSet;
import android.view.View;
-
+import androidx.appcompat.widget.AppCompatImageView;
import com.hippo.ehviewer.R;
import com.hippo.yorozuya.MathUtils;
diff --git a/app/src/main/java/com/hippo/widget/HackyTextInputEditText.java b/app/src/main/java/com/hippo/widget/HackyTextInputEditText.java
index 97b5a842a..b8dd51bb9 100644
--- a/app/src/main/java/com/hippo/widget/HackyTextInputEditText.java
+++ b/app/src/main/java/com/hippo/widget/HackyTextInputEditText.java
@@ -17,9 +17,9 @@
package com.hippo.widget;
import android.content.Context;
-import android.support.design.widget.TextInputEditText;
import android.util.AttributeSet;
import android.widget.TextView;
+import com.google.android.material.textfield.TextInputEditText;
import com.hippo.util.ExceptionUtils;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
diff --git a/app/src/main/java/com/hippo/widget/IndicatingListView.java b/app/src/main/java/com/hippo/widget/IndicatingListView.java
index 70ddff806..1ce79e20e 100644
--- a/app/src/main/java/com/hippo/widget/IndicatingListView.java
+++ b/app/src/main/java/com/hippo/widget/IndicatingListView.java
@@ -22,10 +22,9 @@ import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
-import android.support.annotation.NonNull;
import android.util.AttributeSet;
import android.widget.ListView;
-
+import androidx.annotation.NonNull;
import com.hippo.ehviewer.R;
public class IndicatingListView extends ListView {
diff --git a/app/src/main/java/com/hippo/widget/IndicatingScrollView.java b/app/src/main/java/com/hippo/widget/IndicatingScrollView.java
index a2dcabcc5..a503a24b9 100644
--- a/app/src/main/java/com/hippo/widget/IndicatingScrollView.java
+++ b/app/src/main/java/com/hippo/widget/IndicatingScrollView.java
@@ -22,10 +22,9 @@ import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
-import android.support.annotation.NonNull;
import android.util.AttributeSet;
import android.widget.ScrollView;
-
+import androidx.annotation.NonNull;
import com.hippo.ehviewer.R;
public class IndicatingScrollView extends ScrollView {
diff --git a/app/src/main/java/com/hippo/widget/LinkifyTextView.java b/app/src/main/java/com/hippo/widget/LinkifyTextView.java
index deab26aa2..45eb356e5 100644
--- a/app/src/main/java/com/hippo/widget/LinkifyTextView.java
+++ b/app/src/main/java/com/hippo/widget/LinkifyTextView.java
@@ -17,12 +17,12 @@
package com.hippo.widget;
import android.content.Context;
-import android.support.annotation.NonNull;
import android.text.Layout;
import android.text.Spanned;
import android.text.style.ClickableSpan;
import android.util.AttributeSet;
import android.view.MotionEvent;
+import androidx.annotation.NonNull;
public class LinkifyTextView extends ObservedTextView {
diff --git a/app/src/main/java/com/hippo/widget/LoadImageView.java b/app/src/main/java/com/hippo/widget/LoadImageView.java
index e943697cb..41a3b98b4 100644
--- a/app/src/main/java/com/hippo/widget/LoadImageView.java
+++ b/app/src/main/java/com/hippo/widget/LoadImageView.java
@@ -23,12 +23,12 @@ import android.graphics.drawable.Animatable;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.TransitionDrawable;
-import android.support.annotation.DrawableRes;
-import android.support.annotation.IntDef;
-import android.support.annotation.NonNull;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
+import androidx.annotation.DrawableRes;
+import androidx.annotation.IntDef;
+import androidx.annotation.NonNull;
import com.hippo.conaco.Conaco;
import com.hippo.conaco.ConacoTask;
import com.hippo.conaco.DataContainer;
diff --git a/app/src/main/java/com/hippo/widget/ObservedTextView.java b/app/src/main/java/com/hippo/widget/ObservedTextView.java
index df1d420ca..e8f488e6e 100644
--- a/app/src/main/java/com/hippo/widget/ObservedTextView.java
+++ b/app/src/main/java/com/hippo/widget/ObservedTextView.java
@@ -17,8 +17,8 @@
package com.hippo.widget;
import android.content.Context;
-import android.support.v7.widget.AppCompatTextView;
import android.util.AttributeSet;
+import androidx.appcompat.widget.AppCompatTextView;
public class ObservedTextView extends AppCompatTextView {
diff --git a/app/src/main/java/com/hippo/widget/ProgressView.java b/app/src/main/java/com/hippo/widget/ProgressView.java
index d25fe710f..3a0189bae 100644
--- a/app/src/main/java/com/hippo/widget/ProgressView.java
+++ b/app/src/main/java/com/hippo/widget/ProgressView.java
@@ -25,18 +25,16 @@ import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.RectF;
-import android.support.annotation.NonNull;
-import android.support.v4.view.ViewCompat;
-import android.support.v4.view.animation.PathInterpolatorCompat;
import android.util.AttributeSet;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.Interpolator;
import android.view.animation.LinearInterpolator;
-
+import androidx.annotation.NonNull;
+import androidx.core.view.ViewCompat;
+import androidx.core.view.animation.PathInterpolatorCompat;
import com.hippo.ehviewer.R;
import com.hippo.yorozuya.ViewUtils;
-
import java.util.ArrayList;
// Base on android.graphics.drawable.MaterialProgressDrawable in L preview
diff --git a/app/src/main/java/com/hippo/widget/RadioGridGroup.java b/app/src/main/java/com/hippo/widget/RadioGridGroup.java
index 7ca2d05a3..c0161dcc4 100644
--- a/app/src/main/java/com/hippo/widget/RadioGridGroup.java
+++ b/app/src/main/java/com/hippo/widget/RadioGridGroup.java
@@ -18,13 +18,12 @@ package com.hippo.widget;
import android.content.Context;
import android.content.res.TypedArray;
-import android.support.annotation.IdRes;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CompoundButton;
import android.widget.RadioButton;
-
+import androidx.annotation.IdRes;
import com.hippo.yorozuya.ViewUtils;
public class RadioGridGroup extends SimpleGridLayout {
diff --git a/app/src/main/java/com/hippo/widget/SafeCoordinatorLayout.java b/app/src/main/java/com/hippo/widget/SafeCoordinatorLayout.java
index 9c2944e71..339014964 100644
--- a/app/src/main/java/com/hippo/widget/SafeCoordinatorLayout.java
+++ b/app/src/main/java/com/hippo/widget/SafeCoordinatorLayout.java
@@ -17,9 +17,9 @@
package com.hippo.widget;
import android.content.Context;
-import android.support.design.widget.CoordinatorLayout;
import android.util.AttributeSet;
import android.view.MotionEvent;
+import androidx.coordinatorlayout.widget.CoordinatorLayout;
import com.hippo.util.ExceptionUtils;
public class SafeCoordinatorLayout extends CoordinatorLayout {
diff --git a/app/src/main/java/com/hippo/widget/SearchBarMover.java b/app/src/main/java/com/hippo/widget/SearchBarMover.java
index 7a8192a41..928726fde 100644
--- a/app/src/main/java/com/hippo/widget/SearchBarMover.java
+++ b/app/src/main/java/com/hippo/widget/SearchBarMover.java
@@ -18,10 +18,9 @@ package com.hippo.widget;
import android.animation.Animator;
import android.animation.ValueAnimator;
-import android.support.annotation.Nullable;
-import android.support.v7.widget.RecyclerView;
import android.view.View;
-
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
import com.hippo.yorozuya.MathUtils;
import com.hippo.yorozuya.SimpleAnimatorListener;
import com.hippo.yorozuya.ViewUtils;
diff --git a/app/src/main/java/com/hippo/widget/SensitiveCheckBox.java b/app/src/main/java/com/hippo/widget/SensitiveCheckBox.java
index 9adb97e46..ab33d1af3 100644
--- a/app/src/main/java/com/hippo/widget/SensitiveCheckBox.java
+++ b/app/src/main/java/com/hippo/widget/SensitiveCheckBox.java
@@ -17,8 +17,8 @@
package com.hippo.widget;
import android.content.Context;
-import android.support.v7.widget.AppCompatCheckBox;
import android.util.AttributeSet;
+import androidx.appcompat.widget.AppCompatCheckBox;
public class SensitiveCheckBox extends AppCompatCheckBox {
diff --git a/app/src/main/java/com/hippo/widget/ShadowLinearLayout.java b/app/src/main/java/com/hippo/widget/ShadowLinearLayout.java
index 8db7a9f85..79d798f4d 100644
--- a/app/src/main/java/com/hippo/widget/ShadowLinearLayout.java
+++ b/app/src/main/java/com/hippo/widget/ShadowLinearLayout.java
@@ -21,11 +21,10 @@ import android.graphics.Canvas;
import android.graphics.Rect;
import android.graphics.drawable.NinePatchDrawable;
import android.os.Build;
-import android.support.annotation.NonNull;
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;
diff --git a/app/src/main/java/com/hippo/widget/Slider.java b/app/src/main/java/com/hippo/widget/Slider.java
index 288957639..df27b2210 100644
--- a/app/src/main/java/com/hippo/widget/Slider.java
+++ b/app/src/main/java/com/hippo/widget/Slider.java
@@ -27,9 +27,6 @@ import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.drawable.Drawable;
-import android.support.annotation.NonNull;
-import android.support.v4.graphics.drawable.DrawableCompat;
-import android.support.v7.widget.AppCompatImageView;
import android.util.AttributeSet;
import android.view.Gravity;
import android.view.MotionEvent;
@@ -37,7 +34,9 @@ import android.view.View;
import android.view.ViewConfiguration;
import android.widget.AbsoluteLayout;
import android.widget.PopupWindow;
-
+import androidx.annotation.NonNull;
+import androidx.appcompat.widget.AppCompatImageView;
+import androidx.core.graphics.drawable.DrawableCompat;
import com.hippo.ehviewer.R;
import com.hippo.yorozuya.AnimationUtils;
import com.hippo.yorozuya.LayoutUtils;
diff --git a/app/src/main/java/com/hippo/widget/TextClock.java b/app/src/main/java/com/hippo/widget/TextClock.java
index 8ec598d6d..52bf6bf16 100644
--- a/app/src/main/java/com/hippo/widget/TextClock.java
+++ b/app/src/main/java/com/hippo/widget/TextClock.java
@@ -27,10 +27,10 @@ import android.os.Build;
import android.os.Handler;
import android.os.SystemClock;
import android.provider.Settings;
-import android.support.v7.widget.AppCompatTextView;
import android.text.format.DateFormat;
import android.util.AttributeSet;
import android.view.ViewDebug.ExportedProperty;
+import androidx.appcompat.widget.AppCompatTextView;
import java.util.Calendar;
import java.util.TimeZone;
diff --git a/app/src/main/java/com/hippo/widget/lockpattern/LockPatternView.java b/app/src/main/java/com/hippo/widget/lockpattern/LockPatternView.java
index 561e6f59f..8839af89d 100644
--- a/app/src/main/java/com/hippo/widget/lockpattern/LockPatternView.java
+++ b/app/src/main/java/com/hippo/widget/lockpattern/LockPatternView.java
@@ -29,15 +29,15 @@ import android.os.Debug;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.SystemClock;
-import android.support.annotation.NonNull;
-import android.support.v4.view.animation.FastOutSlowInInterpolator;
-import android.support.v4.view.animation.LinearOutSlowInInterpolator;
import android.util.AttributeSet;
import android.view.HapticFeedbackConstants;
import android.view.MotionEvent;
import android.view.View;
import android.view.accessibility.AccessibilityManager;
import android.view.animation.Interpolator;
+import androidx.annotation.NonNull;
+import androidx.interpolator.view.animation.FastOutSlowInInterpolator;
+import androidx.interpolator.view.animation.LinearOutSlowInInterpolator;
import com.hippo.android.resource.AttrResources;
import com.hippo.ehviewer.R;
import java.util.ArrayList;
diff --git a/app/src/main/java/com/hippo/widget/recyclerview/AutoGridLayoutManager.java b/app/src/main/java/com/hippo/widget/recyclerview/AutoGridLayoutManager.java
index 2a3db9810..9a1669603 100644
--- a/app/src/main/java/com/hippo/widget/recyclerview/AutoGridLayoutManager.java
+++ b/app/src/main/java/com/hippo/widget/recyclerview/AutoGridLayoutManager.java
@@ -17,9 +17,8 @@
package com.hippo.widget.recyclerview;
import android.content.Context;
-import android.support.v7.widget.GridLayoutManager;
-import android.support.v7.widget.RecyclerView;
-
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
import java.util.ArrayList;
import java.util.List;
@@ -79,7 +78,7 @@ public class AutoGridLayoutManager extends GridLayoutManager {
public void onLayoutChildren(RecyclerView.Recycler recycler, RecyclerView.State state) {
if (mColumnSizeChanged && mColumnSize > 0) {
int totalSpace;
- if (getOrientation() == VERTICAL) {
+ if (getOrientation() == RecyclerView.VERTICAL) {
totalSpace = getWidth() - getPaddingRight() - getPaddingLeft();
} else {
totalSpace = getHeight() - getPaddingTop() - getPaddingBottom();
diff --git a/app/src/main/java/com/hippo/widget/recyclerview/AutoStaggeredGridLayoutManager.java b/app/src/main/java/com/hippo/widget/recyclerview/AutoStaggeredGridLayoutManager.java
index df5b36ba1..5f30e494a 100644
--- a/app/src/main/java/com/hippo/widget/recyclerview/AutoStaggeredGridLayoutManager.java
+++ b/app/src/main/java/com/hippo/widget/recyclerview/AutoStaggeredGridLayoutManager.java
@@ -16,10 +16,9 @@
package com.hippo.widget.recyclerview;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.StaggeredGridLayoutManager;
import android.view.View;
-
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.StaggeredGridLayoutManager;
import java.util.ArrayList;
import java.util.List;
diff --git a/app/src/main/res/layout-v21/drawer_list.xml b/app/src/main/res/layout-v21/drawer_list.xml
index f1aa2f9fe..1a461448a 100644
--- a/app/src/main/res/layout-v21/drawer_list.xml
+++ b/app/src/main/res/layout-v21/drawer_list.xml
@@ -21,7 +21,7 @@
android:layout_height="match_parent"
android:orientation="vertical">
-
-
-
-
-
-
-
+
diff --git a/app/src/main/res/layout/dialog_checkbox_builder.xml b/app/src/main/res/layout/dialog_checkbox_builder.xml
index 99d755aff..ca5ab1f9c 100644
--- a/app/src/main/res/layout/dialog_checkbox_builder.xml
+++ b/app/src/main/res/layout/dialog_checkbox_builder.xml
@@ -38,7 +38,7 @@
-
-
-
+
diff --git a/app/src/main/res/layout/dialog_gallery_menu.xml b/app/src/main/res/layout/dialog_gallery_menu.xml
index 085ade186..6435d5736 100644
--- a/app/src/main/res/layout/dialog_gallery_menu.xml
+++ b/app/src/main/res/layout/dialog_gallery_menu.xml
@@ -122,56 +122,56 @@
-
-
-
-
-
-
-
-
-
-
+
-
-
+
diff --git a/app/src/main/res/layout/dialog_list_checkbox_builder.xml b/app/src/main/res/layout/dialog_list_checkbox_builder.xml
index 333a7be82..0367b44fc 100644
--- a/app/src/main/res/layout/dialog_list_checkbox_builder.xml
+++ b/app/src/main/res/layout/dialog_list_checkbox_builder.xml
@@ -37,7 +37,7 @@
android:clipToPadding="false"
style="@style/Indicating"/>
-
-
-
-
-
-
+
diff --git a/app/src/main/res/layout/item_download.xml b/app/src/main/res/layout/item_download.xml
index 179cde702..4f3ac87d8 100644
--- a/app/src/main/res/layout/item_download.xml
+++ b/app/src/main/res/layout/item_download.xml
@@ -15,7 +15,7 @@
~ limitations under the License.
-->
-
-
+
diff --git a/app/src/main/res/layout/item_gallery_grid.xml b/app/src/main/res/layout/item_gallery_grid.xml
index 183f48dc7..cb4d947a9 100644
--- a/app/src/main/res/layout/item_gallery_grid.xml
+++ b/app/src/main/res/layout/item_gallery_grid.xml
@@ -15,7 +15,7 @@
~ limitations under the License.
-->
-
-
+
diff --git a/app/src/main/res/layout/item_gallery_list.xml b/app/src/main/res/layout/item_gallery_list.xml
index be77f8d1d..2fb815276 100644
--- a/app/src/main/res/layout/item_gallery_list.xml
+++ b/app/src/main/res/layout/item_gallery_list.xml
@@ -14,7 +14,7 @@
~ limitations under the License.
-->
-
-
+
diff --git a/app/src/main/res/layout/preference_dialog_proxy.xml b/app/src/main/res/layout/preference_dialog_proxy.xml
index fd56ca6a4..e28c34618 100644
--- a/app/src/main/res/layout/preference_dialog_proxy.xml
+++ b/app/src/main/res/layout/preference_dialog_proxy.xml
@@ -32,7 +32,7 @@
android:paddingBottom="8dp"
android:entries="@array/proxy_types"/>
-
-
+
-
-
+
diff --git a/app/src/main/res/layout/preference_widget_fixed_switch.xml b/app/src/main/res/layout/preference_widget_fixed_switch.xml
index 95c684e66..f84ff37ff 100644
--- a/app/src/main/res/layout/preference_widget_fixed_switch.xml
+++ b/app/src/main/res/layout/preference_widget_fixed_switch.xml
@@ -17,7 +17,7 @@
-
-
-
+
-
-
+
-
-
+
diff --git a/app/src/main/res/layout/scene_download.xml b/app/src/main/res/layout/scene_download.xml
index 8d15736e8..9a0b8d460 100644
--- a/app/src/main/res/layout/scene_download.xml
+++ b/app/src/main/res/layout/scene_download.xml
@@ -60,42 +60,42 @@
android:paddingRight="@dimen/corner_fab_margin"
android:paddingBottom="@dimen/corner_fab_margin">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+
-
-
+
-
diff --git a/app/src/main/res/layout/scene_toolbar.xml b/app/src/main/res/layout/scene_toolbar.xml
index 912c8ff91..e2b82b47e 100644
--- a/app/src/main/res/layout/scene_toolbar.xml
+++ b/app/src/main/res/layout/scene_toolbar.xml
@@ -21,7 +21,7 @@
android:layout_height="match_parent"
android:orientation="vertical">
-
-
-
+
diff --git a/app/src/main/res/layout/search_normal.xml b/app/src/main/res/layout/search_normal.xml
index 1a76d4dab..06009fcbf 100644
--- a/app/src/main/res/layout/search_normal.xml
+++ b/app/src/main/res/layout/search_normal.xml
@@ -36,19 +36,19 @@
android:checkedButton="@+id/search_normal_search"
app:columnCount="2">
-
-
-
-
- // Keep all android support library update to date
- if (details.requested.group == 'com.android.support'
- && !details.requested.name.contains('multidex') ) {
- details.useVersion "$supportLibrary"
- }
- }
- }
-}
diff --git a/gradle.properties b/gradle.properties
index 1d3591c8a..027ef9db8 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -15,4 +15,7 @@
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
-# org.gradle.parallel=true
\ No newline at end of file
+# org.gradle.parallel=true
+
+android.useAndroidX=true
+android.enableJetifier=true