Loading AconfigFlags.bp +7 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ aconfig_srcjars = [ ":android.permission.flags-aconfig-java{.generated_srcjars}", ":hwui_flags_java_lib{.generated_srcjars}", ":display_flags_lib{.generated_srcjars}", ":com.android.internal.foldables.flags-aconfig-java{.generated_srcjars}", ":android.multiuser.flags-aconfig-java{.generated_srcjars}", ":android.app.flags-aconfig-java{.generated_srcjars}", ":android.credentials.flags-aconfig-java{.generated_srcjars}", Loading Loading @@ -345,6 +346,12 @@ java_aconfig_library { defaults: ["framework-minus-apex-aconfig-java-defaults"], } java_aconfig_library { name: "com.android.internal.foldables.flags-aconfig-java", aconfig_declarations: "fold_lock_setting_flags", defaults: ["framework-minus-apex-aconfig-java-defaults"], } // Multi user aconfig_declarations { name: "android.multiuser.flags-aconfig", Loading core/java/com/android/internal/foldables/Android.bp 0 → 100644 +7 −0 Original line number Diff line number Diff line aconfig_declarations { name: "fold_lock_setting_flags", package: "com.android.internal.foldables.flags", srcs: [ "fold_lock_setting_flags.aconfig", ], } core/java/com/android/internal/foldables/FoldLockSettingAvailabilityProvider.java +25 −2 Original line number Diff line number Diff line Loading @@ -17,16 +17,23 @@ package com.android.internal.foldables; import android.content.res.Resources; import android.os.Build; import android.sysprop.FoldLockBehaviorProperties; import android.util.Slog; import com.android.internal.R; import com.android.internal.foldables.flags.Flags; import java.util.function.Supplier; /** * Wrapper class to access {@link FoldLockBehaviorProperties} and also assists with testing */ public class FoldLockSettingAvailabilityProvider { boolean mFoldLockBehaviorResourceValue; private static final String TAG = "FoldLockSettingAvailabilityProvider"; private final boolean mFoldLockBehaviorResourceValue; private final Supplier<Boolean> mFoldLockSettingEnabled = Flags::foldLockSettingEnabled; public FoldLockSettingAvailabilityProvider(Resources resources) { mFoldLockBehaviorResourceValue = resources.getBoolean( Loading @@ -35,6 +42,22 @@ public class FoldLockSettingAvailabilityProvider { public boolean isFoldLockBehaviorAvailable() { return mFoldLockBehaviorResourceValue && FoldLockBehaviorProperties.fold_lock_setting_enabled().orElse(false); && flagOrSystemProperty(); } private boolean flagOrSystemProperty() { if ((Build.IS_ENG || Build.IS_USERDEBUG) && FoldLockBehaviorProperties.fold_lock_setting_enabled().orElse(false)) { return true; } try { return mFoldLockSettingEnabled.get(); } catch (Throwable ex) { Slog.i(TAG, "Flags not ready yet. Return false for " + Flags.FLAG_FOLD_LOCK_SETTING_ENABLED, ex); return false; } } } core/java/com/android/internal/foldables/fold_lock_setting_flags.aconfig 0 → 100644 +9 −0 Original line number Diff line number Diff line package: "com.android.internal.foldables.flags" flag { name: "fold_lock_setting_enabled" namespace: "display_manager" description: "Feature flag for Fold Lock Setting" bug: "274447767" is_fixed_read_only: true } Loading
AconfigFlags.bp +7 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ aconfig_srcjars = [ ":android.permission.flags-aconfig-java{.generated_srcjars}", ":hwui_flags_java_lib{.generated_srcjars}", ":display_flags_lib{.generated_srcjars}", ":com.android.internal.foldables.flags-aconfig-java{.generated_srcjars}", ":android.multiuser.flags-aconfig-java{.generated_srcjars}", ":android.app.flags-aconfig-java{.generated_srcjars}", ":android.credentials.flags-aconfig-java{.generated_srcjars}", Loading Loading @@ -345,6 +346,12 @@ java_aconfig_library { defaults: ["framework-minus-apex-aconfig-java-defaults"], } java_aconfig_library { name: "com.android.internal.foldables.flags-aconfig-java", aconfig_declarations: "fold_lock_setting_flags", defaults: ["framework-minus-apex-aconfig-java-defaults"], } // Multi user aconfig_declarations { name: "android.multiuser.flags-aconfig", Loading
core/java/com/android/internal/foldables/Android.bp 0 → 100644 +7 −0 Original line number Diff line number Diff line aconfig_declarations { name: "fold_lock_setting_flags", package: "com.android.internal.foldables.flags", srcs: [ "fold_lock_setting_flags.aconfig", ], }
core/java/com/android/internal/foldables/FoldLockSettingAvailabilityProvider.java +25 −2 Original line number Diff line number Diff line Loading @@ -17,16 +17,23 @@ package com.android.internal.foldables; import android.content.res.Resources; import android.os.Build; import android.sysprop.FoldLockBehaviorProperties; import android.util.Slog; import com.android.internal.R; import com.android.internal.foldables.flags.Flags; import java.util.function.Supplier; /** * Wrapper class to access {@link FoldLockBehaviorProperties} and also assists with testing */ public class FoldLockSettingAvailabilityProvider { boolean mFoldLockBehaviorResourceValue; private static final String TAG = "FoldLockSettingAvailabilityProvider"; private final boolean mFoldLockBehaviorResourceValue; private final Supplier<Boolean> mFoldLockSettingEnabled = Flags::foldLockSettingEnabled; public FoldLockSettingAvailabilityProvider(Resources resources) { mFoldLockBehaviorResourceValue = resources.getBoolean( Loading @@ -35,6 +42,22 @@ public class FoldLockSettingAvailabilityProvider { public boolean isFoldLockBehaviorAvailable() { return mFoldLockBehaviorResourceValue && FoldLockBehaviorProperties.fold_lock_setting_enabled().orElse(false); && flagOrSystemProperty(); } private boolean flagOrSystemProperty() { if ((Build.IS_ENG || Build.IS_USERDEBUG) && FoldLockBehaviorProperties.fold_lock_setting_enabled().orElse(false)) { return true; } try { return mFoldLockSettingEnabled.get(); } catch (Throwable ex) { Slog.i(TAG, "Flags not ready yet. Return false for " + Flags.FLAG_FOLD_LOCK_SETTING_ENABLED, ex); return false; } } }
core/java/com/android/internal/foldables/fold_lock_setting_flags.aconfig 0 → 100644 +9 −0 Original line number Diff line number Diff line package: "com.android.internal.foldables.flags" flag { name: "fold_lock_setting_enabled" namespace: "display_manager" description: "Feature flag for Fold Lock Setting" bug: "274447767" is_fixed_read_only: true }