From 9b918ec036db78f1a6cf0de3bfbec3d7fe12e40f Mon Sep 17 00:00:00 2001 From: tarsin Date: Mon, 22 Aug 2022 17:26:23 +0800 Subject: [PATCH] Revert "Reformat Code" This reverts commit e0f7dab34f0edfb85409bb230e79bd0f5f07f08a. --- .../java/com/hippo/UriArchiveAccessor.java | 4 ++ .../com/hippo/beerbelly/DiskLruCache.java | 12 +++--- .../java/com/hippo/ehviewer/Settings.java | 11 +++-- .../client/data/FavListUrlBuilder.java | 21 ++++++---- .../ehviewer/client/data/ListUrlBuilder.java | 30 +++++++++---- .../client/parser/GalleryListUrlParser.java | 14 +++++-- .../java/com/hippo/ehviewer/dao/BasicDao.java | 1 - .../gallery/ArchiveGalleryProvider.java | 7 ++-- .../ehviewer/preference/VersionPreference.kt | 2 +- .../java/com/hippo/ehviewer/ui/EhActivity.kt | 2 +- .../hippo/ehviewer/ui/GalleryActivity.java | 26 ++++++------ .../com/hippo/ehviewer/ui/SettingsActivity.kt | 3 +- .../ui/fragment/BasePreferenceFragment.java | 3 +- .../ehviewer/ui/scene/FavoritesScene.java | 4 ++ .../ehviewer/ui/scene/GalleryListScene.java | 4 +- .../hippo/ehviewer/ui/scene/SolidScene.java | 1 + .../com/hippo/ehviewer/widget/SearchLayout.kt | 2 +- .../java/com/hippo/glgallery/GalleryView.java | 4 +- .../hippo/glview/glrenderer/GLES11Canvas.java | 37 ++++++++-------- .../glview/glrenderer/NinePatchChunk.java | 6 +-- .../glview/glrenderer/NinePatchTexture.java | 26 ++++++------ .../hippo/glview/widget/GLProgressView.java | 6 ++- .../hippo/unifile/DocumentsContractApi19.java | 10 +++-- .../hippo/unifile/RawRandomAccessFile.java | 2 +- .../com/hippo/unifile/UriOutputStream.java | 2 +- .../java/com/hippo/widget/BatteryView.java | 14 +++---- .../main/java/com/hippo/widget/TextClock.java | 42 +++++++++---------- .../java/com/hippo/yorozuya/FileUtils.java | 3 +- .../hippo/yorozuya/thread/PriorityThread.java | 2 +- .../yorozuya/thread/SerialThreadExecutor.java | 6 +-- 30 files changed, 178 insertions(+), 129 deletions(-) diff --git a/app/src/main/java/com/hippo/UriArchiveAccessor.java b/app/src/main/java/com/hippo/UriArchiveAccessor.java index aeeaf3274..d913922e4 100644 --- a/app/src/main/java/com/hippo/UriArchiveAccessor.java +++ b/app/src/main/java/com/hippo/UriArchiveAccessor.java @@ -21,6 +21,10 @@ package com.hippo; import android.content.Context; import android.net.Uri; import android.os.ParcelFileDescriptor; +import android.system.Os; +import android.system.OsConstants; + +import java.io.FileDescriptor; public class UriArchiveAccessor { ParcelFileDescriptor pfd; diff --git a/app/src/main/java/com/hippo/beerbelly/DiskLruCache.java b/app/src/main/java/com/hippo/beerbelly/DiskLruCache.java index 97e069ae8..1d722273c 100644 --- a/app/src/main/java/com/hippo/beerbelly/DiskLruCache.java +++ b/app/src/main/java/com/hippo/beerbelly/DiskLruCache.java @@ -231,12 +231,6 @@ public final class DiskLruCache implements Closeable { cache = new DiskLruCache(directory, appVersion, valueCount, maxSize); cache.rebuildJournal(); return cache; - } - - private static void deleteIfExists(File file) throws IOException { - if (file.exists() && !file.delete()) { - throw new IOException(); - } } private final Callable cleanupCallable = new Callable<>() { public Void call() throws Exception { synchronized (DiskLruCache.this) { @@ -253,6 +247,12 @@ public final class DiskLruCache implements Closeable { } }; + private static void deleteIfExists(File file) throws IOException { + if (file.exists() && !file.delete()) { + throw new IOException(); + } + } + private static void renameTo(File from, File to, boolean deleteDestination) throws IOException { if (deleteDestination) { deleteIfExists(to); diff --git a/app/src/main/java/com/hippo/ehviewer/Settings.java b/app/src/main/java/com/hippo/ehviewer/Settings.java index 5cc708231..f7f698a69 100755 --- a/app/src/main/java/com/hippo/ehviewer/Settings.java +++ b/app/src/main/java/com/hippo/ehviewer/Settings.java @@ -97,13 +97,16 @@ public class Settings { public static final String KEY_BUILT_IN_HOSTS = "built_in_hosts_2"; public static final String KEY_DOMAIN_FRONTING = "domain_fronting"; public static final String KEY_APP_LANGUAGE = "app_language"; - public static final String KEY_LIST_THUMB_SIZE = "list_tile_size"; private static final String TAG = Settings.class.getSimpleName(); private static final String KEY_VERSION_CODE = "version_code"; private static final int DEFAULT_VERSION_CODE = 0; private static final String KEY_DISPLAY_NAME = "display_name"; private static final String DEFAULT_DISPLAY_NAME = null; + public static final String KEY_LIST_THUMB_SIZE = "list_tile_size"; private static final int DEFAULT_LIST_THUMB_SIZE = 40; + private static int LIST_THUMB_SIZE = 40; + + public static boolean LIST_THUMB_SIZE_INITED = false; private static final String KEY_AVATAR = "avatar"; private static final String DEFAULT_AVATAR = null; private static final String KEY_SHOW_WARNING = "show_warning"; @@ -276,9 +279,11 @@ public class Settings { private static final int DEFAULT_DOWNLOAD_DELAY = 0; private static final String KEY_REQUEST_NEWS = "request_news"; private static final boolean DEFAULT_REQUEST_NEWS = true; + + private static final String KEY_ARCHIVE_PASSWDS = "archive_passwds"; - public static boolean LIST_THUMB_SIZE_INITED = false; - private static int LIST_THUMB_SIZE = 40; + + private static Context sContext; private static SharedPreferences sSettingsPre; private static EhConfig sEhConfig; diff --git a/app/src/main/java/com/hippo/ehviewer/client/data/FavListUrlBuilder.java b/app/src/main/java/com/hippo/ehviewer/client/data/FavListUrlBuilder.java index 098a72743..b9213dbb6 100644 --- a/app/src/main/java/com/hippo/ehviewer/client/data/FavListUrlBuilder.java +++ b/app/src/main/java/com/hippo/ehviewer/client/data/FavListUrlBuilder.java @@ -19,12 +19,13 @@ package com.hippo.ehviewer.client.data; import android.os.Parcel; import android.os.Parcelable; import android.text.TextUtils; +import android.util.Log; import com.hippo.ehviewer.client.EhUrl; import com.hippo.network.UrlBuilder; +import java.io.UnsupportedEncodingException; import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; public class FavListUrlBuilder implements Parcelable { @@ -92,13 +93,17 @@ public class FavListUrlBuilder implements Parcelable { ub.addQuery("favcat", "all"); } if (!TextUtils.isEmpty(mKeyword)) { - ub.addQuery("f_search", URLEncoder.encode(mKeyword, StandardCharsets.UTF_8)); - // Name - ub.addQuery("sn", "on"); - // Tags - ub.addQuery("st", "on"); - // Note - ub.addQuery("sf", "on"); + try { + ub.addQuery("f_search", URLEncoder.encode(mKeyword, "UTF-8")); + // Name + ub.addQuery("sn", "on"); + // Tags + ub.addQuery("st", "on"); + // Note + ub.addQuery("sf", "on"); + } catch (UnsupportedEncodingException e) { + Log.e(TAG, "Can't URLEncoder.encode " + mKeyword); + } } if (mIndex > 0) { ub.addQuery("page", Integer.toString(mIndex)); 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 a2af9ee08..2971c8934 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 @@ -32,11 +32,11 @@ import com.hippo.network.UrlBuilder; import com.hippo.yorozuya.NumberUtils; import com.hippo.yorozuya.StringUtils; +import java.io.UnsupportedEncodingException; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.net.URLDecoder; import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; public class ListUrlBuilder implements Cloneable, Parcelable { @@ -383,8 +383,8 @@ public class ListUrlBuilder implements Cloneable, Parcelable { break; case "f_search": try { - keyword = URLDecoder.decode(value, StandardCharsets.UTF_8); - } catch (IllegalArgumentException e) { + keyword = URLDecoder.decode(value, "utf-8"); + } catch (UnsupportedEncodingException | IllegalArgumentException e) { // Ignore } break; @@ -514,7 +514,11 @@ public class ListUrlBuilder implements Cloneable, Parcelable { if (mKeyword != null) { String keyword = mKeyword.trim(); if (!keyword.isEmpty()) { - ub.addQuery("f_search", URLEncoder.encode(mKeyword, StandardCharsets.UTF_8)); + try { + ub.addQuery("f_search", URLEncoder.encode(mKeyword, "UTF-8")); + } catch (UnsupportedEncodingException e) { + // Empty + } } } if (mSHash != null) { @@ -561,7 +565,11 @@ public class ListUrlBuilder implements Cloneable, Parcelable { case MODE_UPLOADER: { StringBuilder sb = new StringBuilder(EhUrl.getHost()); sb.append("uploader/"); - sb.append(URLEncoder.encode(mKeyword, StandardCharsets.UTF_8)); + try { + sb.append(URLEncoder.encode(mKeyword, "UTF-8")); + } catch (UnsupportedEncodingException e) { + // Empty + } if (mPageIndex != 0) { sb.append('/').append(mPageIndex); } @@ -570,7 +578,11 @@ public class ListUrlBuilder implements Cloneable, Parcelable { case MODE_TAG: { StringBuilder sb = new StringBuilder(EhUrl.getHost()); sb.append("tag/"); - sb.append(URLEncoder.encode(mKeyword, StandardCharsets.UTF_8)); + try { + sb.append(URLEncoder.encode(mKeyword, "UTF-8")); + } catch (UnsupportedEncodingException e) { + // Empty + } if (mPageIndex != 0) { sb.append('/').append(mPageIndex); } @@ -583,7 +595,11 @@ public class ListUrlBuilder implements Cloneable, Parcelable { case MODE_TOPLIST: StringBuilder sb = new StringBuilder(EhUrl.HOST_E); sb.append("toplist.php?tl="); - sb.append(URLEncoder.encode(mKeyword, StandardCharsets.UTF_8)); + try { + sb.append(URLEncoder.encode(mKeyword, "UTF-8")); + } catch (UnsupportedEncodingException e) { + // Empty + } if (mPageIndex != 0) { sb.append("&p=").append(mPageIndex); } diff --git a/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryListUrlParser.java b/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryListUrlParser.java index 9956a79e4..efc024344 100644 --- a/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryListUrlParser.java +++ b/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryListUrlParser.java @@ -23,10 +23,10 @@ import com.hippo.ehviewer.client.EhUrl; import com.hippo.ehviewer.client.data.ListUrlBuilder; import com.hippo.yorozuya.Utilities; +import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; import java.net.URLDecoder; -import java.nio.charset.StandardCharsets; public final class GalleryListUrlParser { @@ -91,7 +91,11 @@ public final class GalleryListUrlParser { uploader = path.substring(prefixLength, index); } - uploader = URLDecoder.decode(uploader, StandardCharsets.UTF_8); + try { + uploader = URLDecoder.decode(uploader, "utf-8"); + } catch (UnsupportedEncodingException e) { + return null; + } if (TextUtils.isEmpty(uploader)) { return null; @@ -116,7 +120,11 @@ public final class GalleryListUrlParser { tag = path.substring(prefixLength, index); } - tag = URLDecoder.decode(tag, StandardCharsets.UTF_8); + try { + tag = URLDecoder.decode(tag, "utf-8"); + } catch (UnsupportedEncodingException e) { + return null; + } if (TextUtils.isEmpty(tag)) { return null; diff --git a/app/src/main/java/com/hippo/ehviewer/dao/BasicDao.java b/app/src/main/java/com/hippo/ehviewer/dao/BasicDao.java index 511bf3f22..0e774bb5a 100644 --- a/app/src/main/java/com/hippo/ehviewer/dao/BasicDao.java +++ b/app/src/main/java/com/hippo/ehviewer/dao/BasicDao.java @@ -4,6 +4,5 @@ import java.util.List; public interface BasicDao { List list(); - long insert(T t); } 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 92ccc2473..1b37a8522 100644 --- a/app/src/main/java/com/hippo/ehviewer/gallery/ArchiveGalleryProvider.java +++ b/app/src/main/java/com/hippo/ehviewer/gallery/ArchiveGalleryProvider.java @@ -48,13 +48,14 @@ public class ArchiveGalleryProvider extends GalleryProvider2 { private final UriArchiveAccessor archiveAccessor; private final Stack requests = new Stack<>(); private final LinkedHashMap streams = new LinkedHashMap<>(); - private final Thread[] decodeThread = new Thread[]{ + private Thread archiveThread; + private Thread[] decodeThread = new Thread[] { new Thread(new DecodeTask()), new Thread(new DecodeTask()), new Thread(new DecodeTask()), new Thread(new DecodeTask()) }; - private Thread archiveThread; + private volatile int size = STATE_WAIT; private String error; @@ -167,7 +168,7 @@ public class ArchiveGalleryProvider extends GalleryProvider2 { } private class ArchiveHostTask implements Runnable { - public final Thread[] archiveThreads = new Thread[]{ + public final Thread[] archiveThreads = new Thread[] { new Thread(new ArchiveTask()), new Thread(new ArchiveTask()), new Thread(new ArchiveTask()), diff --git a/app/src/main/java/com/hippo/ehviewer/preference/VersionPreference.kt b/app/src/main/java/com/hippo/ehviewer/preference/VersionPreference.kt index 3725a64e2..b4ba0de6b 100644 --- a/app/src/main/java/com/hippo/ehviewer/preference/VersionPreference.kt +++ b/app/src/main/java/com/hippo/ehviewer/preference/VersionPreference.kt @@ -56,7 +56,7 @@ class VersionPreference @JvmOverloads constructor( } fun getMessage(): String { - return message + return message; } fun addLib(msg: String): NativeLibInfo { diff --git a/app/src/main/java/com/hippo/ehviewer/ui/EhActivity.kt b/app/src/main/java/com/hippo/ehviewer/ui/EhActivity.kt index 31a9798f7..a15b3341c 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/EhActivity.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/EhActivity.kt @@ -121,7 +121,7 @@ abstract class EhActivity : AppCompatActivity() { } @RequiresApi(api = Build.VERSION_CODES.TIRAMISU) - fun checkAndRequestNotificationPermission() { + fun checkAndRequestNotificationPermission(){ if (ContextCompat.checkSelfPermission( this, Manifest.permission.POST_NOTIFICATIONS 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 295123565..ba940f184 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/GalleryActivity.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/GalleryActivity.java @@ -290,7 +290,16 @@ public class GalleryActivity extends EhActivity implements SeekBar.OnSeekBarChan } outState.putInt(KEY_PAGE, mPage); outState.putInt(KEY_CURRENT_INDEX, mCurrentIndex); - } + } ActivityResultLauncher requestStoragePermissionLauncher = registerForActivityResult( + new ActivityResultContracts.RequestPermission(), + result -> { + if (result && mSavingPage != -1) { + saveImage(mSavingPage); + } else { + Toast.makeText(this, R.string.error_cant_save_image, Toast.LENGTH_SHORT).show(); + } + mSavingPage = -1; + }); @Override protected void attachBaseContext(@NonNull Context newBase) { @@ -303,16 +312,7 @@ public class GalleryActivity extends EhActivity implements SeekBar.OnSeekBarChan break; } super.attachBaseContext(newBase); - } ActivityResultLauncher requestStoragePermissionLauncher = registerForActivityResult( - new ActivityResultContracts.RequestPermission(), - result -> { - if (result && mSavingPage != -1) { - saveImage(mSavingPage); - } else { - Toast.makeText(this, R.string.error_cant_save_image, Toast.LENGTH_SHORT).show(); - } - mSavingPage = -1; - }); + } @Override @SuppressWarnings({"WrongConstant"}) @@ -410,7 +410,7 @@ public class GalleryActivity extends EhActivity implements SeekBar.OnSeekBarChan if (scroll < 0.0f) { if (mLayoutMode == GalleryView.LAYOUT_RIGHT_TO_LEFT) { mGalleryView.pageLeft(); - } else if (mLayoutMode == GalleryView.LAYOUT_LEFT_TO_RIGHT) { + } else if (mLayoutMode == GalleryView.LAYOUT_LEFT_TO_RIGHT){ mGalleryView.pageRight(); } else if (mLayoutMode == GalleryView.LAYOUT_TOP_TO_BOTTOM) { mGalleryView.onScroll(0, -scroll, 0, -scroll, 0, -scroll); @@ -1375,6 +1375,4 @@ public class GalleryActivity extends EhActivity implements SeekBar.OnSeekBarChan } - - } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.kt b/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.kt index 963d6d79a..f35dea775 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.kt @@ -33,8 +33,7 @@ class SettingsActivity : EhActivity() { setSupportActionBar(findViewById(R.id.toolbar)) val bar = supportActionBar bar?.setDisplayHomeAsUpEnabled(true) - WindowCompat.getInsetsController(window, window.decorView).isAppearanceLightStatusBars = - (resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_YES) <= 0 + WindowCompat.getInsetsController(window, window.decorView).isAppearanceLightStatusBars = (resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_YES) <= 0 if (savedInstanceState == null) { supportFragmentManager .beginTransaction() diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/BasePreferenceFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/BasePreferenceFragment.java index 0628f4c87..335d080ad 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/BasePreferenceFragment.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/BasePreferenceFragment.java @@ -70,8 +70,7 @@ public class BasePreferenceFragment extends PreferenceFragmentCompat .replace(R.id.fragment, classObj) .addToBackStack(null) .commitAllowingStateLoss(); - } catch (ClassNotFoundException | IllegalAccessException | - java.lang.InstantiationException ignored) { + } catch (ClassNotFoundException | IllegalAccessException | java.lang.InstantiationException ignored) { } return true; } 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 06a9e7d3d..ca4e5eb21 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 @@ -21,10 +21,13 @@ import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.res.Resources; +import android.graphics.Point; +import android.graphics.Rect; import android.os.Bundle; import android.text.InputType; import android.text.TextUtils; import android.util.SparseBooleanArray; +import android.view.Display; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; @@ -74,6 +77,7 @@ import com.hippo.widget.ContentLayout; import com.hippo.widget.FabLayout; import com.hippo.widget.SearchBarMover; import com.hippo.yorozuya.AssertUtils; +import com.hippo.yorozuya.LayoutUtils; import com.hippo.yorozuya.ObjectUtils; import com.hippo.yorozuya.SimpleHandler; import com.hippo.yorozuya.ViewUtils; 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 80fcc0769..161ed59f1 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 @@ -134,8 +134,6 @@ public final class GalleryListScene extends BaseScene private final static int STATE_SEARCH = 2; private final static int STATE_SEARCH_SHOW_LIST = 3; private static final long ANIMATE_TIME = 300L; - // Double click back exit - private final long mPressBackTime = 0; /*--------------- Whole life cycle ---------------*/ @@ -216,6 +214,8 @@ public final class GalleryListScene extends BaseScene } } }; + // Double click back exit + private long mPressBackTime = 0; private boolean mHasFirstRefresh = false; private int mNavCheckedId = 0; private DownloadManager mDownloadManager; diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/SolidScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/SolidScene.java index dcc731417..4aa9ed966 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/SolidScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/SolidScene.java @@ -20,6 +20,7 @@ import android.os.Bundle; import android.util.Log; import com.hippo.ehviewer.Settings; +import com.hippo.ehviewer.client.EhUtils; import com.hippo.scene.Announcer; /** diff --git a/app/src/main/java/com/hippo/ehviewer/widget/SearchLayout.kt b/app/src/main/java/com/hippo/ehviewer/widget/SearchLayout.kt index 42ee295cd..6e51c5d9b 100644 --- a/app/src/main/java/com/hippo/ehviewer/widget/SearchLayout.kt +++ b/app/src/main/java/com/hippo/ehviewer/widget/SearchLayout.kt @@ -242,7 +242,7 @@ class SearchLayout @JvmOverloads constructor( override fun onTabReselected(tab: TabLayout.Tab) {} @IntDef(SEARCH_MODE_NORMAL, SEARCH_MODE_IMAGE) - @Retention(AnnotationRetention.SOURCE) + @kotlin.annotation.Retention(AnnotationRetention.SOURCE) private annotation class SearchMode interface Helper { fun onChangeSearchMode() diff --git a/app/src/main/java/com/hippo/glgallery/GalleryView.java b/app/src/main/java/com/hippo/glgallery/GalleryView.java index ebb533a61..2c614d1bb 100644 --- a/app/src/main/java/com/hippo/glgallery/GalleryView.java +++ b/app/src/main/java/com/hippo/glgallery/GalleryView.java @@ -983,13 +983,15 @@ public final class GalleryView extends GLView implements GestureRecognizer.Liste private final Context mContext; private final Adapter mAdapter; - private final int mEdgeColor = Color.WHITE; private Listener mListener; + private int mLayoutMode = LAYOUT_LEFT_TO_RIGHT; private int mScaleMode = SCALE_FIT; private int mStartPosition = START_POSITION_TOP_LEFT; private int mStartPage = 0; + private int mBackgroundColor = Color.BLACK; + private int mEdgeColor = Color.WHITE; private int mPagerInterval = 48; private int mScrollInterval = 24; private int mPageMinHeight = 256; diff --git a/app/src/main/java/com/hippo/glview/glrenderer/GLES11Canvas.java b/app/src/main/java/com/hippo/glview/glrenderer/GLES11Canvas.java index 81c2428ac..eee4d4b8e 100644 --- a/app/src/main/java/com/hippo/glview/glrenderer/GLES11Canvas.java +++ b/app/src/main/java/com/hippo/glview/glrenderer/GLES11Canvas.java @@ -62,8 +62,8 @@ public class GLES11Canvas implements GLCanvas { private static final int MSKEW_Y = 1; private static final int MSCALE_X = 0; private static final int MSCALE_Y = 5; - private static final float[] sCropRect = new float[4]; - private static final GLId mGLId = new GLES11IdImpl(); + private static float[] sCropRect = new float[4]; + private static GLId mGLId = new GLES11IdImpl(); static { float[] temp = { @@ -98,12 +98,12 @@ public class GLES11Canvas implements GLCanvas { } } - private final float[] mMatrixValues = new float[16]; - private final float[] mTextureMatrixValues = new float[16]; + private final float mMatrixValues[] = new float[16]; + private final float mTextureMatrixValues[] = new float[16]; // The results of mapPoints are stored in this buffer, and the order is // x1, y1, x2, y2. - private final float[] mMapPointsBuffer = new float[4]; - private final float[] mTextureColor = new float[4]; + private final float mMapPointsBuffer[] = new float[4]; + private final float mTextureColor[] = new float[4]; private final ArrayList mTargetStack = new ArrayList(); private final ArrayList mRestoreStack = new ArrayList(); private final RectF mDrawTextureSourceRect = new RectF(); @@ -111,21 +111,21 @@ public class GLES11Canvas implements GLCanvas { private final float[] mTempMatrix = new float[32]; private final IntList mUnboundTextures = new IntList(); private final IntList mDeleteBuffers = new IntList(); - private final GL11 mGL; - private final int mBoxCoords; - private final GLState mGLState; - private final boolean mBlendEnabled = true; - private final int[] mFrameBuffer = new int[1]; // Drawing statistics int mCountDrawLine; int mCountFillRect; int mCountDrawMesh; int mCountTextureRect; int mCountTextureOES; + private GL11 mGL; + private int mBoxCoords; + private GLState mGLState; private float mAlpha; private ConfigState mRecycledRestoreAction; private int mScreenWidth; private int mScreenHeight; + private boolean mBlendEnabled = true; + private int mFrameBuffer[] = new int[1]; private RawTexture mTargetTexture; public GLES11Canvas(GL11 gl) { @@ -191,7 +191,7 @@ public class GLES11Canvas implements GLCanvas { } } - private static boolean isMatrixRotatedOrFlipped(float[] matrix) { + private static boolean isMatrixRotatedOrFlipped(float matrix[]) { final float eps = 1e-5f; return Math.abs(matrix[MSKEW_X]) > eps || Math.abs(matrix[MSKEW_Y]) > eps @@ -247,7 +247,7 @@ public class GLES11Canvas implements GLCanvas { gl.glMatrixMode(GL11.GL_MODELVIEW); gl.glLoadIdentity(); - float[] matrix = mMatrixValues; + float matrix[] = mMatrixValues; Matrix.setIdentityM(matrix, 0); // to match the graphic coordinate system in android, we flip it vertically. if (mTargetTexture == null) { @@ -408,7 +408,7 @@ public class GLES11Canvas implements GLCanvas { } @Override - public void multiplyMatrix(float[] matrix, int offset) { + public void multiplyMatrix(float matrix[], int offset) { float[] temp = mTempMatrix; Matrix.multiplyMM(temp, 0, mMatrixValues, 0, matrix, offset); System.arraycopy(temp, 0, mMatrixValues, 0, 16); @@ -467,7 +467,7 @@ public class GLES11Canvas implements GLCanvas { // Transforms two points by the given matrix m. The result // {x1', y1', x2', y2'} are stored in mMapPointsBuffer and also returned. - private float[] mapPoints(float[] m, int x1, int y1, int x2, int y2) { + private float[] mapPoints(float m[], int x1, int y1, int x2, int y2) { float[] r = mMapPointsBuffer; // Multiply m and (x1 y1 0 1) to produce (x3 y3 z3 w3). z3 is unused. @@ -506,7 +506,7 @@ public class GLES11Canvas implements GLCanvas { textureRect(x, y, width, height); } else { // draw the rect from bottom-left to top-right - float[] points = mapPoints( + float points[] = mapPoints( mMatrixValues, x, y + height, x + width, y); x = (int) (points[0] + 0.5f); y = (int) (points[1] + 0.5f); @@ -958,12 +958,13 @@ public class GLES11Canvas implements GLCanvas { private static class GLState { private final GL11 mGL; - private final boolean mLineSmooth = false; + private int mTexEnvMode = GL11.GL_REPLACE; private float mTextureAlpha = 1.0f; private int mTextureTarget = GL11.GL_TEXTURE_2D; private boolean mBlendEnabled = true; private float mLineWidth = 1.0f; + private boolean mLineSmooth = false; public GLState(GL11 gl) { mGL = gl; @@ -1058,7 +1059,7 @@ public class GLES11Canvas implements GLCanvas { private static class ConfigState { float mAlpha; - float[] mMatrix = new float[16]; + float mMatrix[] = new float[16]; ConfigState mNextFree; public void restore(GLES11Canvas canvas) { diff --git a/app/src/main/java/com/hippo/glview/glrenderer/NinePatchChunk.java b/app/src/main/java/com/hippo/glview/glrenderer/NinePatchChunk.java index dd1ad6c8c..fb6bf3f64 100644 --- a/app/src/main/java/com/hippo/glview/glrenderer/NinePatchChunk.java +++ b/app/src/main/java/com/hippo/glview/glrenderer/NinePatchChunk.java @@ -30,9 +30,9 @@ class NinePatchChunk { public Rect mPaddings = new Rect(); - public int[] mDivX; - public int[] mDivY; - public int[] mColor; + public int mDivX[]; + public int mDivY[]; + public int mColor[]; private static void readIntArray(int[] data, ByteBuffer buffer) { for (int i = 0, n = data.length; i < n; ++i) { diff --git a/app/src/main/java/com/hippo/glview/glrenderer/NinePatchTexture.java b/app/src/main/java/com/hippo/glview/glrenderer/NinePatchTexture.java index 4d055f15f..ecb43017a 100644 --- a/app/src/main/java/com/hippo/glview/glrenderer/NinePatchTexture.java +++ b/app/src/main/java/com/hippo/glview/glrenderer/NinePatchTexture.java @@ -35,9 +35,9 @@ import java.nio.FloatBuffer; public class NinePatchTexture extends ResourceTexture { @SuppressWarnings("unused") private static final String TAG = "NinePatchTexture"; - private final SmallCache mInstanceCache - = new SmallCache(); private NinePatchChunk mChunk; + private SmallCache mInstanceCache + = new SmallCache(); public NinePatchTexture(Context context, int resId) { super(context, resId); @@ -120,8 +120,8 @@ public class NinePatchTexture extends ResourceTexture { private static class SmallCache { private static final int CACHE_SIZE = 16; private static final int CACHE_SIZE_START_MOVE = CACHE_SIZE / 2; - private final int[] mKey = new int[CACHE_SIZE]; - private final V[] mValue = (V[]) new Object[CACHE_SIZE]; + private int[] mKey = new int[CACHE_SIZE]; + private V[] mValue = (V[]) new Object[CACHE_SIZE]; private int mCount; // number of items in this cache // Puts a value into the cache. If the cache is full, also returns @@ -217,10 +217,10 @@ class NinePatchInstance { throw new RuntimeException("unsupported nine patch"); } - float[] divX = new float[4]; - float[] divY = new float[4]; - float[] divU = new float[4]; - float[] divV = new float[4]; + float divX[] = new float[4]; + float divY[] = new float[4]; + float divU[] = new float[4]; + float divV[] = new float[4]; int nx = stretch(divX, divU, chunk.mDivX, tex.getWidth(), width); int ny = stretch(divY, divV, chunk.mDivY, tex.getHeight(), height); @@ -261,7 +261,7 @@ class NinePatchInstance { * @return the number of these dividers. */ private static int stretch( - float[] x, float[] u, int[] div, int source, int target) { + float x[], float u[], int div[], int source, int target) { int textureSize = MathUtils.nextPowerOf2(source); float textureBound = (float) source / textureSize; @@ -313,7 +313,7 @@ class NinePatchInstance { return ByteBuffer.allocateDirect(size).order(ByteOrder.nativeOrder()); } - private void prepareVertexData(float[] x, float[] y, float[] u, float[] v, + private void prepareVertexData(float x[], float y[], float u[], float v[], int nx, int ny, int[] color) { /* * Given a 3x3 nine-patch image, the vertex order is defined as the @@ -335,8 +335,8 @@ class NinePatchInstance { * index: 04152637B6A5948C9DAEBF */ int pntCount = 0; - float[] xy = new float[VERTEX_BUFFER_SIZE]; - float[] uv = new float[VERTEX_BUFFER_SIZE]; + float xy[] = new float[VERTEX_BUFFER_SIZE]; + float uv[] = new float[VERTEX_BUFFER_SIZE]; for (int j = 0; j < ny; ++j) { for (int i = 0; i < nx; ++i) { int xIndex = (pntCount++) << 1; @@ -350,7 +350,7 @@ class NinePatchInstance { int idxCount = 1; boolean isForward = false; - byte[] index = new byte[INDEX_BUFFER_SIZE]; + byte index[] = new byte[INDEX_BUFFER_SIZE]; for (int row = 0; row < ny - 1; row++) { --idxCount; isForward = !isForward; diff --git a/app/src/main/java/com/hippo/glview/widget/GLProgressView.java b/app/src/main/java/com/hippo/glview/widget/GLProgressView.java index bffb8b639..175cb6316 100644 --- a/app/src/main/java/com/hippo/glview/widget/GLProgressView.java +++ b/app/src/main/java/com/hippo/glview/widget/GLProgressView.java @@ -54,17 +54,21 @@ public class GLProgressView extends GLView { } private final GLPaint mGLPaint; - private final List mAnimations; + private float mCx; private float mCy; private float mRadiusX; private float mRadiusY; + private float mTrimStart = 0.0f; private float mTrimEnd = 0.0f; private float mTrimOffset = 0.0f; private float mTrimRotation = 0.0f; + private boolean mIndeterminate = false; + private List mAnimations; + public GLProgressView() { mGLPaint = new GLPaint(); mGLPaint.setColor(Color.WHITE); diff --git a/app/src/main/java/com/hippo/unifile/DocumentsContractApi19.java b/app/src/main/java/com/hippo/unifile/DocumentsContractApi19.java index 4a2747fbf..a0c2bcd7f 100644 --- a/app/src/main/java/com/hippo/unifile/DocumentsContractApi19.java +++ b/app/src/main/java/com/hippo/unifile/DocumentsContractApi19.java @@ -104,13 +104,17 @@ final class DocumentsContractApi19 { return true; } - // Writable normal files considered writable if (DocumentsContract.Document.MIME_TYPE_DIR.equals(type) && (flags & DocumentsContract.Document.FLAG_DIR_SUPPORTS_CREATE) != 0) { // Directories that allow create considered writable return true; - } else return !TextUtils.isEmpty(type) - && (flags & DocumentsContract.Document.FLAG_SUPPORTS_WRITE) != 0; + } else if (!TextUtils.isEmpty(type) + && (flags & DocumentsContract.Document.FLAG_SUPPORTS_WRITE) != 0) { + // Writable normal files considered writable + return true; + } + + return false; } public static boolean delete(Context context, Uri self) { diff --git a/app/src/main/java/com/hippo/unifile/RawRandomAccessFile.java b/app/src/main/java/com/hippo/unifile/RawRandomAccessFile.java index e9114fa43..52bb14eb2 100644 --- a/app/src/main/java/com/hippo/unifile/RawRandomAccessFile.java +++ b/app/src/main/java/com/hippo/unifile/RawRandomAccessFile.java @@ -25,7 +25,7 @@ import java.io.RandomAccessFile; class RawRandomAccessFile implements UniRandomAccessFile { - private final RandomAccessFile mFile; + private RandomAccessFile mFile; RawRandomAccessFile(RandomAccessFile file) { mFile = file; diff --git a/app/src/main/java/com/hippo/unifile/UriOutputStream.java b/app/src/main/java/com/hippo/unifile/UriOutputStream.java index 0a04052d3..4c9a3978a 100644 --- a/app/src/main/java/com/hippo/unifile/UriOutputStream.java +++ b/app/src/main/java/com/hippo/unifile/UriOutputStream.java @@ -38,7 +38,7 @@ import java.io.OutputStream; // TODO need more test class UriOutputStream extends FileOutputStream { - private final ParcelFileDescriptor mPfd; + private ParcelFileDescriptor mPfd; private UriOutputStream(ParcelFileDescriptor pfd, FileDescriptor fd) { super(fd); diff --git a/app/src/main/java/com/hippo/widget/BatteryView.java b/app/src/main/java/com/hippo/widget/BatteryView.java index 941abfa1f..bd06395a3 100644 --- a/app/src/main/java/com/hippo/widget/BatteryView.java +++ b/app/src/main/java/com/hippo/widget/BatteryView.java @@ -89,13 +89,6 @@ public class BatteryView extends AppCompatTextView { getHandler().post(mCharger); mIsChargerWorking = true; } - } - - private void stopCharger() { - if (mIsChargerWorking) { - getHandler().removeCallbacks(mCharger); - mIsChargerWorking = false; - } } private final Runnable mCharger = new Runnable() { private int level = 0; @@ -111,6 +104,13 @@ public class BatteryView extends AppCompatTextView { } }; + private void stopCharger() { + if (mIsChargerWorking) { + getHandler().removeCallbacks(mCharger); + mIsChargerWorking = false; + } + } + @Override protected void onAttachedToWindow() { super.onAttachedToWindow(); diff --git a/app/src/main/java/com/hippo/widget/TextClock.java b/app/src/main/java/com/hippo/widget/TextClock.java index fda82496f..02c152b58 100644 --- a/app/src/main/java/com/hippo/widget/TextClock.java +++ b/app/src/main/java/com/hippo/widget/TextClock.java @@ -101,13 +101,6 @@ public class TextClock extends AppCompatTextView { public CharSequence getFormat12Hour() { return mFormat12; - } - - public void setFormat12Hour(CharSequence format) { - mFormat12 = format; - - chooseFormat(); - onTimeChanged(); } private final Runnable mTicker = new Runnable() { @Override public void run() { @@ -120,6 +113,13 @@ public class TextClock extends AppCompatTextView { } }; + public void setFormat12Hour(CharSequence format) { + mFormat12 = format; + + chooseFormat(); + onTimeChanged(); + } + public CharSequence getFormat24Hour() { return mFormat24; } @@ -158,7 +158,19 @@ public class TextClock extends AppCompatTextView { public CharSequence getFormat() { return mFormat; - } + } private final ContentObserver mFormatChangeObserver = new ContentObserver(new Handler()) { + @Override + public void onChange(boolean selfChange) { + chooseFormat(); + onTimeChanged(); + } + + @Override + public void onChange(boolean selfChange, Uri uri) { + chooseFormat(); + onTimeChanged(); + } + }; /** * Selects either one of {@link #getFormat12Hour()} or {@link #getFormat24Hour()} @@ -203,19 +215,7 @@ public class TextClock extends AppCompatTextView { onTimeChanged(); } } - } private final ContentObserver mFormatChangeObserver = new ContentObserver(new Handler()) { - @Override - public void onChange(boolean selfChange) { - chooseFormat(); - onTimeChanged(); - } - - @Override - public void onChange(boolean selfChange, Uri uri) { - chooseFormat(); - onTimeChanged(); - } - }; + } @Override protected void onDetachedFromWindow() { diff --git a/app/src/main/java/com/hippo/yorozuya/FileUtils.java b/app/src/main/java/com/hippo/yorozuya/FileUtils.java index 7dc16feb6..4b1cc0bec 100644 --- a/app/src/main/java/com/hippo/yorozuya/FileUtils.java +++ b/app/src/main/java/com/hippo/yorozuya/FileUtils.java @@ -27,7 +27,6 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import java.nio.charset.StandardCharsets; import java.util.Locale; public final class FileUtils { @@ -155,7 +154,7 @@ public final class FileUtils { OutputStream os = null; try { os = new FileOutputStream(file); - os.write(str.getBytes(StandardCharsets.UTF_8)); + os.write(str.getBytes("utf-8")); return true; } catch (IOException e) { e.printStackTrace(); diff --git a/app/src/main/java/com/hippo/yorozuya/thread/PriorityThread.java b/app/src/main/java/com/hippo/yorozuya/thread/PriorityThread.java index e10452c6e..afdbc7752 100644 --- a/app/src/main/java/com/hippo/yorozuya/thread/PriorityThread.java +++ b/app/src/main/java/com/hippo/yorozuya/thread/PriorityThread.java @@ -20,7 +20,7 @@ import android.os.Process; public class PriorityThread extends Thread { - private final int mPriority; + private int mPriority; public PriorityThread(Runnable runnable, int priority) { super(runnable); diff --git a/app/src/main/java/com/hippo/yorozuya/thread/SerialThreadExecutor.java b/app/src/main/java/com/hippo/yorozuya/thread/SerialThreadExecutor.java index 94a35563e..177b8b7c7 100644 --- a/app/src/main/java/com/hippo/yorozuya/thread/SerialThreadExecutor.java +++ b/app/src/main/java/com/hippo/yorozuya/thread/SerialThreadExecutor.java @@ -28,9 +28,9 @@ public class SerialThreadExecutor implements Executor, Runnable { private final Lock mThreadLock = new ReentrantLock(); private final Object mWaitLock = new Object(); - private final long mKeepAliveMillis; - private final Queue mWorkQueue; - private final ThreadFactory mThreadFactory; + private long mKeepAliveMillis; + private Queue mWorkQueue; + private ThreadFactory mThreadFactory; // The worker private Thread mThread;