From 449fed287e095b90072749815c1c96c90a664b83 Mon Sep 17 00:00:00 2001 From: tongtongstudio Date: Tue, 20 Oct 2026 16:59:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=80=82=E9=85=8DTab10CPro=E7=9A=845x5?= =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=B8=83=E5=B1=80=E5=B9=B6=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=AF=B9=E8=AF=9D=E6=A1=86=E4=B8=8E=E4=B8=8A=E6=BB=91=E6=8A=8A?= =?UTF-8?q?=E6=89=8B=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 4 +- res/drawable-hdpi/com_onyx_easytransfer.png | Bin 0 -> 19710 bytes .../com_onyx_easytransfer_wechat.png | Bin 0 -> 22935 bytes res/drawable-hdpi/com_onyx_floatingbutton.png | Bin 0 -> 24254 bytes res/drawable-hdpi/icon_close.png | Bin 0 -> 1701 bytes res/drawable/bg_dialog.xml | 4 +- res/layout/custom_dialog.xml | 11 ++ res/xml/default_workspace_tab10cpro_5x5.xml | 55 ++++++++++ res/xml/device_profiles.xml | 20 ++++ src/com/aoleyun/os/DeviceProfile.java | 20 +--- .../aoleyun/os/InvariantDeviceProfile.java | 103 ++++++++++++++---- src/com/aoleyun/os/icons/IconCache.java | 17 ++- .../aoleyun/os/touch/ItemClickHandler.java | 2 +- .../aoleyun/os/uiuiutils/CustomDialog.java | 9 +- src/com/aoleyun/os/views/ScrimView.java | 11 +- 15 files changed, 204 insertions(+), 52 deletions(-) create mode 100644 res/drawable-hdpi/com_onyx_easytransfer.png create mode 100644 res/drawable-hdpi/com_onyx_easytransfer_wechat.png create mode 100644 res/drawable-hdpi/com_onyx_floatingbutton.png create mode 100644 res/drawable-hdpi/icon_close.png create mode 100644 res/xml/default_workspace_tab10cpro_5x5.xml diff --git a/build.gradle b/build.gradle index f75a86b..34e87b4 100644 --- a/build.gradle +++ b/build.gradle @@ -75,8 +75,8 @@ android { minSdkVersion 26 targetSdkVersion 28 - versionCode 215 - versionName "1.6.0930" + versionCode 216 + versionName "1.6.1016" ndk { //选择要添加的对应 cpu 类型的 .so 库。 diff --git a/res/drawable-hdpi/com_onyx_easytransfer.png b/res/drawable-hdpi/com_onyx_easytransfer.png new file mode 100644 index 0000000000000000000000000000000000000000..97a9f4a9e57247cca92e8fb4798803f64e75c12f GIT binary patch literal 19710 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 ZzyKNs87#@^tmyy%002ovPDHLkV1h|@mxurW literal 0 HcmV?d00001 diff --git a/res/drawable-hdpi/com_onyx_easytransfer_wechat.png b/res/drawable-hdpi/com_onyx_easytransfer_wechat.png new file mode 100644 index 0000000000000000000000000000000000000000..e6b725a0f2fc9b16c7cd05a76dd7ef849c0ada62 GIT binary patch literal 22935 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%0AaB{o`k~?$R%;Z6@5s+Ha=_Cg2BB)OfrLbHJa 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 kz$GDXC*sRXEy^!6955YJ3|wE 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 z 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 Ar~m)} literal 0 HcmV?d00001 diff --git a/res/drawable-hdpi/icon_close.png b/res/drawable-hdpi/icon_close.png new file mode 100644 index 0000000000000000000000000000000000000000..9ebcb0bdeb422cf2d31ca104d46a721006051d43 GIT binary patch literal 1701 zcmV;W23q-vP)Px*Ur9tkRCr$PokyrGMG%I+rznb|C_WTLQB0Uo6fvQgbAINWbHbc+7PFXh78NmK zKn1rh66xy(h-RT8uqc$8CWZzi z*iF!YG$6qu5KKf_Gx*iuavgB{6ruYApLz$A1Bj+7O<5Lu4LHH#7})0;;7)_SD}nnAe*bgH z0YnXc2kd0*{8ivYqi-~~tAM+WqK*LGGy4ALmJ7(izz2@bUj|Ng_(yQP+;PWiwY4+w zhgWzmAnNx>;4NS&qllM)Q;fc)-7W(jaELexc*o(NJwrwf9u8=kyR=cv3&3ec-%@Uu z01rAk?+inIjBIune(fT-O=Ql>0x9L%%8nMU8C z+|CCcb96Q{j6Q*=Z9VAqOj*u2sAqt)jJ|!loeMnS=p+k_zJaKH{aV#CWqIS^o&wG> z`u62^Ht?jQ@oX@L0HQt)NSU&NagYjz?$8oe6vj|M)X#n?Q&u!aS<{8)@FA_(G&OgS zeXO!31##b$DJvPH{5Wud(RWt2^8oc{wXD-rDIn^1@02Mk8%O>qprvP@Cg|$NYQ4c2 za>|-J*u7GwtYVD7Bf!N*U$5JRfZDfOuP{mhQNMc2rq!3;vRUjQ;8KgD!$*+SuGM;n zQ4)yy-aTc?YQ~6Y`$Bt4Ic(7F5Rc#?AL{ez(z_I8%3`BvZSZN=bru_Jqp*v}(mSG0^t{dRgQ#LDY3t8yrUIXUKS9 z^g>5_Uuzm8b`PNU`4;oM=_`^Mqd`Q;kddApQ>LtCiE{e5;@T;`){iho%@oOus6eD^ zhmff1APTDp9$6-#&(KkMr0t;wtdPJeGzCeeUfv-nB(=pZI+9ZPtnYX4n+F4 zOHkG|235h=$7?ddxz%`Gh|H(~h%|1SpsZ&MuD&GHhu)s=i9=*YEkLAmn*?QjBNUHY zC>RnRZIv}Cm|G_(8+f8U#Wx&`nt({_Rtd^R8K8uOQ5z8H-7-NLKZoLB6c$E}K%{x| z1Z5Ksg-A==g>={Q3>hDTj?HP8cvA%&>(r8GX{$E$t*xMhwi+{}3ycwj z@K9<4GT)g#?;Rf+N=-m=zzClywE)QpBQ%s6fb;<)ER^U#ybo}lhu7w!mc&*I^-PHj z#0x{`<@E|!rV<}jLWv5*3q$AM$BP$K2_+&B?=$0g;PnafQ*}_H0rA4nd3T+AU&yM0 z5($VG#!0{{#wT|*P@(|w!qEA4opbkC6;L7o@xnM2c+o>*j&FD1=sdg5wa;Rq zp_ByTg`uKg&&@)jhD<31#QQr#=ht6|1YXUfn(N={Rgn1;%f zA%S=^Lsf!QEocY}17#>6UKm||XUqyN1e76wcwu;cfzJwI{QBZh`Uc{KvCu|g?%;=f zrt}HK3qy5%Ro^#)70Z;qfOui(O`qq5(h$&!K<6r>R4owSI?$Fzf28^M8fN1w=(GJ(WdOkMYBj5$@2pCsTe0wgCS0 z_LBpMj+}k(=vXEHK5_U*a`iw_jeFI)cUcY~+7`F&#H!TaXD)^DoUKqgZHndqqOEaN z6P;%J0H05Ds^sq$C@R$UrFT3zfao0gFH<_+6Zpz2F1Y_fP_%N?3es&kfT&Yt$fP33 zDpY3u|03=I6uv-pi8bznl8#?fDGx1jI$16t>U_L@;ScG=(vO{#)pe1I + android:width="1dp" + android:color="#000000" /> diff --git a/res/layout/custom_dialog.xml b/res/layout/custom_dialog.xml index c71c5c9..23e29e5 100644 --- a/res/layout/custom_dialog.xml +++ b/res/layout/custom_dialog.xml @@ -53,6 +53,17 @@ tools:text="请输入密码" /> + + + + + + + + + + + + + diff --git a/res/xml/device_profiles.xml b/res/xml/device_profiles.xml index cf86326..5cdaba2 100644 --- a/res/xml/device_profiles.xml +++ b/res/xml/device_profiles.xml @@ -176,4 +176,24 @@ + + + + + + + \ No newline at end of file diff --git a/src/com/aoleyun/os/DeviceProfile.java b/src/com/aoleyun/os/DeviceProfile.java index 7b8d7c5..c49e311 100644 --- a/src/com/aoleyun/os/DeviceProfile.java +++ b/src/com/aoleyun/os/DeviceProfile.java @@ -224,19 +224,6 @@ public class DeviceProfile { updateAvailableDimensions(dm, res); // Now that we have all of the variables calculated, we can tune certain sizes. - if (!isVerticalBarLayout() && isPhone && isTallDevice) { - // We increase the hotseat size when there is extra space. - // ie. For a display with a large aspect ratio, we can keep the icons on the workspace - // in portrait mode closer together by adding more height to the hotseat. - // Note: This calculation was created after noticing a pattern in the design spec. - int extraSpace = getCellSize().y - iconSizePx - iconDrawablePaddingPx * 2 - - verticalDragHandleSizePx; - hotseatBarSizePx += extraSpace; - hotseatBarBottomPaddingPx += extraSpace; - - // Recalculate the available dimensions using the new hotseat size. - updateAvailableDimensions(dm, res); - } updateWorkspacePadding(); // This is done last, after iconSizePx is calculated above. @@ -473,11 +460,8 @@ public class DeviceProfile { ((inv.numColumns - 1) * cellWidthPx))); availablePaddingX = (int) Math.min(availablePaddingX, widthPx * MAX_HORIZONTAL_PADDING_PERCENT); - int availablePaddingY = Math.max(0, heightPx - edgeMarginPx - paddingBottom - - (2 * inv.numRows * cellHeightPx) - hotseatBarTopPaddingPx - - hotseatBarBottomPaddingPx); - padding.set(availablePaddingX / 2, edgeMarginPx + availablePaddingY / 2, - availablePaddingX / 2, paddingBottom + availablePaddingY / 2); + padding.set(availablePaddingX / 2, edgeMarginPx, + availablePaddingX / 2, paddingBottom); } else { // Pad the top and bottom of the workspace with search/hotseat bar sizes padding.set(desiredWorkspaceLeftRightMarginPx, diff --git a/src/com/aoleyun/os/InvariantDeviceProfile.java b/src/com/aoleyun/os/InvariantDeviceProfile.java index ba67d30..46089cd 100644 --- a/src/com/aoleyun/os/InvariantDeviceProfile.java +++ b/src/com/aoleyun/os/InvariantDeviceProfile.java @@ -24,6 +24,9 @@ import android.annotation.TargetApi; import android.appwidget.AppWidgetHostView; import android.content.BroadcastReceiver; import android.content.ComponentName; +import android.content.SharedPreferences; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; import android.content.Context; import android.content.Intent; import android.content.res.Configuration; @@ -56,7 +59,6 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.function.Predicate; -import java.util.stream.Collectors; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; @@ -69,6 +71,7 @@ public class InvariantDeviceProfile { new MainThreadInitializedObject<>(InvariantDeviceProfile::new); private static final String KEY_IDP_GRID_NAME = "idp_grid_name"; + private static final String KEY_LAST_VERSION = "idp_last_version"; private static final float ICON_SIZE_DEFINED_IN_APP_DP = 48; @@ -127,7 +130,8 @@ public class InvariantDeviceProfile { private OverlayMonitor mOverlayMonitor; @VisibleForTesting - public InvariantDeviceProfile() {} + public InvariantDeviceProfile() { + } private InvariantDeviceProfile(InvariantDeviceProfile p) { numRows = p.numRows; @@ -147,6 +151,9 @@ public class InvariantDeviceProfile { @TargetApi(23) private InvariantDeviceProfile(Context context) { + // On app upgrade, drop the previously saved grid for Tab10CPro_GK so the dedicated + // 5x5 profile (icon size / grid / default layout) is re-selected. + maybeResetGridOnUpgrade(context); initGrid(context, Utilities.getPrefs(context).getString(KEY_IDP_GRID_NAME, null)); mConfigMonitor = new ConfigMonitor(context, APPLY_CONFIG_AT_RUNTIME.get() ? this::onConfigChanged : this::killProcess); @@ -163,6 +170,41 @@ public class InvariantDeviceProfile { } } + /** + * When the app's versionCode is raised, clear the previously saved grid name for + * Tab10CPro_GK so that {@link #initGrid} re-selects the dedicated 5x5 profile + * (icon size / grid / default layout) instead of keeping a stale saved configuration. + * A same-version reinstall does NOT trigger a reset. Other models are unaffected. + */ + private static void maybeResetGridOnUpgrade(Context context) { + if (!"Tab10CPro_GK".equals(Build.MODEL)) { + return; + } + SharedPreferences prefs = Utilities.getPrefs(context); + long currentVersion = getCurrentVersionCode(context); + long lastVersion = prefs.getLong(KEY_LAST_VERSION, -1); + if (lastVersion != -1 && lastVersion < currentVersion) { + Log.e(TAG, "maybeResetGridOnUpgrade: version raised " + lastVersion + + " -> " + currentVersion + ", reset saved grid: " + + prefs.getString(KEY_IDP_GRID_NAME, null)); + prefs.edit().remove(KEY_IDP_GRID_NAME).apply(); + } + prefs.edit().putLong(KEY_LAST_VERSION, currentVersion).apply(); + } + + private static long getCurrentVersionCode(Context context) { + try { + PackageInfo info = context.getPackageManager() + .getPackageInfo(context.getPackageName(), 0); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { + return info.getLongVersionCode(); + } + return info.versionCode; + } catch (PackageManager.NameNotFoundException e) { + return -1; + } + } + /** * Retrieve system defined or RRO overriden icon shape. */ @@ -185,8 +227,8 @@ public class InvariantDeviceProfile { display.getCurrentSizeRange(smallestSize, largestSize); ArrayList allOptions = getPredefinedDeviceProfiles(context, gridName); - for (DisplayOption displayOption:allOptions){ - Log.e(TAG, "initGrid: "+displayOption.grid.name); + for (DisplayOption displayOption : allOptions) { + Log.e(TAG, "initGrid: " + displayOption.grid.name); } // This guarantees that width < height float minWidthDps = Utilities.dpiFromPx(Math.min(smallestSize.x, smallestSize.y), dm); @@ -196,18 +238,35 @@ public class InvariantDeviceProfile { Float.compare(dist(minWidthDps, minHeightDps, a.minWidthDps, a.minHeightDps), dist(minWidthDps, minHeightDps, b.minWidthDps, b.minHeightDps))); DisplayOption interpolatedDisplayOption = - invDistWeightedInterpolate(minWidthDps, minHeightDps, allOptions); - GridOption closestProfile; - if ("Aiud_A8_ag_1095".equals(Build.MODEL)) { - closestProfile = allOptions.stream().filter(new Predicate() { - @Override - public boolean test(DisplayOption displayOption) { - return "aiudu".equals(displayOption.grid.name); - } - }).collect(Collectors.toList()).get(0).grid; - }else { - closestProfile = allOptions.get(0).grid; - } + invDistWeightedInterpolate(minWidthDps, minHeightDps, allOptions); + GridOption closestProfile = allOptions.stream() + .filter(new Predicate() { + @Override + public boolean test(DisplayOption displayOption) { + if ("Aiud_A8_ag_1095".equals(Build.MODEL)) { + return "aiudu".equals(displayOption.grid.name); + } else if ("Tab10CPro_GK".equals(Build.MODEL)) { + // Tab10CPro_GK (1860x2480, density 300) exclusive 5x5 profile + return "tab10cpro_5x5".equals(displayOption.grid.name); + } + return false; + } + }) + .map(new java.util.function.Function() { + @Override + public GridOption apply(DisplayOption displayOption) { + return displayOption.grid; + } + }) + .findFirst() + .orElse(allOptions.get(0).grid); + Log.e(TAG, "initGrid: deviceModel=" + Build.MODEL + + ", minWidthDps=" + minWidthDps + ", minHeightDps=" + minHeightDps + + ", selectedGrid=" + closestProfile.name + + ", numRows=" + closestProfile.numRows + + ", numColumns=" + closestProfile.numColumns + + ", numHotseatIcons=" + closestProfile.numHotseatIcons + + ", defaultLayoutId=" + closestProfile.defaultLayoutId); numRows = closestProfile.numRows; numColumns = closestProfile.numColumns; numHotseatIcons = closestProfile.numHotseatIcons; @@ -360,7 +419,7 @@ public class InvariantDeviceProfile { } } } - } catch (IOException|XmlPullParserException e) { + } catch (IOException | XmlPullParserException e) { throw new RuntimeException(e); } @@ -388,7 +447,7 @@ public class InvariantDeviceProfile { private int getLauncherIconDensity(int requiredSize) { // Densities typically defined by an app. - int[] densityBuckets = new int[] { + int[] densityBuckets = new int[]{ DisplayMetrics.DENSITY_LOW, DisplayMetrics.DENSITY_MEDIUM, DisplayMetrics.DENSITY_TV, @@ -412,7 +471,7 @@ public class InvariantDeviceProfile { /** * Apply any Partner customization grid overrides. - * + *

* Currently we support: all apps row / column count. */ private void applyPartnerDeviceProfileOverrides(Context context, DisplayMetrics dm) { @@ -428,7 +487,7 @@ public class InvariantDeviceProfile { @VisibleForTesting static DisplayOption invDistWeightedInterpolate(float width, float height, - ArrayList points) { + ArrayList points) { float weights = 0; DisplayOption p = points.get(0); @@ -471,8 +530,8 @@ public class InvariantDeviceProfile { // We will use these two data points to extrapolate how much the wallpaper parallax effect // to span (ie travel) at any aspect ratio: - final float ASPECT_RATIO_LANDSCAPE = 16/10f; - final float ASPECT_RATIO_PORTRAIT = 10/16f; + final float ASPECT_RATIO_LANDSCAPE = 16 / 10f; + final float ASPECT_RATIO_PORTRAIT = 10 / 16f; final float WALLPAPER_WIDTH_TO_SCREEN_RATIO_LANDSCAPE = 1.5f; final float WALLPAPER_WIDTH_TO_SCREEN_RATIO_PORTRAIT = 1.2f; diff --git a/src/com/aoleyun/os/icons/IconCache.java b/src/com/aoleyun/os/icons/IconCache.java index 10ef410..4656e19 100644 --- a/src/com/aoleyun/os/icons/IconCache.java +++ b/src/com/aoleyun/os/icons/IconCache.java @@ -114,7 +114,7 @@ public class IconCache extends BaseIconCache { false /*replace existing*/); } } catch (NameNotFoundException e) { - Log.d(TAG, "Package not found", e); + Log.d(TAG, "Package not found: " + packageName); } } @@ -233,16 +233,20 @@ public class IconCache extends BaseIconCache { private List appClassNameList = new ArrayList() {{ this.add("com.android.calculator2.Calculator");//计算器 + this.add("com.onyx.calculator.Calculator");//计算器 this.add("com.android.calendar.AllInOneActivity");//日历 + this.add("com.onyx.mail.calendar.ui.CalendarActivity");//日历 this.add("com.android.camera.CameraLauncher");//相机 this.add("com.mediatek.camera.CameraLauncher");//相机 this.add("com.android.contacts.activities.PeopleActivity");//通讯录 this.add("com.android.deskclock.DeskClock");//时钟 + this.add("com.simplemobiletools.clock.activities.SplashActivity");//时钟 this.add("com.android.dialer.DialtactsActivity");//电话 this.add("com.android.dialer.app.DialtactsActivity");//电话 this.add("com.android.dialer.main.impl.MainActivity");//电话 this.add("com.android.gallery3d.v2.app.GalleryActivity2");//图库 this.add("com.android.gallery3d.app.GalleryActivity");//图库 + this.add("com.onyx.gallery.activities.NewMainActivity");//图库 this.add("com.android.messaging.ui.conversationlist.ConversationListActivity");//信息 this.add("com.android.mms.ui.BootActivity");//信息 this.add("com.android.music.MusicBrowserActivity");//音乐 @@ -262,20 +266,28 @@ public class IconCache extends BaseIconCache { this.add("com.aoleyun.sn.activity.EyeProtectionActivity");//护眼模式 this.add("com.aoleyun.sn.activity.CleanupActivity");//一键加速 this.add("com.aoleyun.sn.activity.update.UpdateActivity");//检查更新 + this.add("com.onyx.easytransfer.main.MainActivity");//互传 + this.add("com.onyx.easytransfer.wechat.ui.WeChatDropActivity");//微信互传 + this.add("com.onyx.floatingbutton.FloatButtonSettingActivity");//互传 + }}; private List appIconList = new ArrayList() {{ this.add("com_android_calculator2"); + this.add("com_android_calculator2"); + this.add("com_android_calendar"); this.add("com_android_calendar"); this.add("com_android_camera"); this.add("com_android_camera"); this.add("com_android_contacts"); this.add("com_android_deskclock"); + this.add("com_android_deskclock"); this.add("com_android_dialer"); this.add("com_android_dialer"); this.add("com_android_dialer"); this.add("com_android_gallery3d_app"); this.add("com_android_gallery3d_app"); + this.add("com_android_gallery3d_app"); this.add("com_android_mms_ui"); this.add("com_android_mms_ui"); this.add("com_android_music"); @@ -295,6 +307,9 @@ public class IconCache extends BaseIconCache { this.add("com_system_huyan"); this.add("com_system_clean"); this.add("com_aoleyun_update"); + this.add("com_onyx_easytransfer"); + this.add("com_onyx_easytransfer_wechat"); + this.add("com_onyx_floatingbutton"); }}; public Drawable getFullResIcon(LauncherActivityInfo info) { diff --git a/src/com/aoleyun/os/touch/ItemClickHandler.java b/src/com/aoleyun/os/touch/ItemClickHandler.java index 8c360dc..6231ad0 100644 --- a/src/com/aoleyun/os/touch/ItemClickHandler.java +++ b/src/com/aoleyun/os/touch/ItemClickHandler.java @@ -132,7 +132,7 @@ public class ItemClickHandler { } //获取本地密码 String ApplicationLock = mMMKV.decodeString("ApplicationLock"); - Log.e("onClick", "onClick: " + ApplicationLock); + Log.e("ItemClickHandler", "onClick: " + ApplicationLock); Type type = new TypeToken>() { }.getType(); List appPasswdBeans = new Gson().fromJson(ApplicationLock, type); diff --git a/src/com/aoleyun/os/uiuiutils/CustomDialog.java b/src/com/aoleyun/os/uiuiutils/CustomDialog.java index 9613ba1..ed45fba 100644 --- a/src/com/aoleyun/os/uiuiutils/CustomDialog.java +++ b/src/com/aoleyun/os/uiuiutils/CustomDialog.java @@ -24,7 +24,7 @@ public class CustomDialog extends AlertDialog { /** * 显示的图片 */ - private ImageView imageIv; + private ImageView imageIv, ivClose; /** * 显示的标题 @@ -103,6 +103,12 @@ public class CustomDialog extends AlertDialog { } } }); + ivClose.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dismiss(); + } + }); } /** @@ -176,6 +182,7 @@ public class CustomDialog extends AlertDialog { } }); imageIv = findViewById(R.id.image); + ivClose= findViewById(R.id.iv_close); columnLineView = findViewById(R.id.column_line); } diff --git a/src/com/aoleyun/os/views/ScrimView.java b/src/com/aoleyun/os/views/ScrimView.java index 5fe4959..986048c 100644 --- a/src/com/aoleyun/os/views/ScrimView.java +++ b/src/com/aoleyun/os/views/ScrimView.java @@ -174,6 +174,7 @@ public class ScrimView extends View implements Insettable, WallpaperColorInfo.On onExtractedColorsChanged(mWallpaperColorInfo); mAM.addAccessibilityStateChangeListener(this); + mLauncher.getStateManager().addStateListener(this); onAccessibilityStateChanged(mAM.isEnabled()); } @@ -182,6 +183,7 @@ public class ScrimView extends View implements Insettable, WallpaperColorInfo.On super.onDetachedFromWindow(); mWallpaperColorInfo.removeOnChangeListener(this); mAM.removeAccessibilityStateChangeListener(this); + mLauncher.getStateManager().removeStateListener(this); } @Override @@ -320,11 +322,7 @@ public class ScrimView extends View implements Insettable, WallpaperColorInfo.On @Override public void onAccessibilityStateChanged(boolean enabled) { - LauncherStateManager stateManager = mLauncher.getStateManager(); - stateManager.removeStateListener(this); - if (enabled) { - stateManager.addStateListener(this); handleStateChangedComplete(mLauncher.getStateManager().getState()); } else { setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS); @@ -333,7 +331,9 @@ public class ScrimView extends View implements Insettable, WallpaperColorInfo.On } private void updateDragHandleVisibility(Drawable recycle) { - boolean visible = mLauncher.getDeviceProfile().isVerticalBarLayout() || mAM.isEnabled(); + // 桌面主屏(NORMAL)状态下隐藏上滑把手(drag handle),由分页指示器(PageIndicatorDots)展示页面信息 + boolean visible = (mLauncher.getDeviceProfile().isVerticalBarLayout() || mAM.isEnabled()) + && !mLauncher.isInState(NORMAL); boolean wasVisible = mDragHandle != null; if (visible != wasVisible) { if (visible) { @@ -378,6 +378,7 @@ public class ScrimView extends View implements Insettable, WallpaperColorInfo.On setImportantForAccessibility(finalState == ALL_APPS ? IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS : IMPORTANT_FOR_ACCESSIBILITY_AUTO); + updateDragHandleVisibility(null); } protected class AccessibilityHelper extends ExploreByTouchHelper {