Loading core/java/android/provider/Settings.java +1 −0 Original line number Diff line number Diff line Loading @@ -12427,6 +12427,7 @@ public final class Settings { * * <pre> * enabled (boolean) * requires_targeting_p (boolean) * max_squeeze_remeasure_attempts (int) * </pre> * @see com.android.systemui.statusbar.policy.SmartReplyConstants Loading packages/SystemUI/res/values/config.xml +3 −0 Original line number Diff line number Diff line Loading @@ -479,6 +479,9 @@ <!-- Smart replies in notifications: Whether smart replies in notifications are enabled. --> <bool name="config_smart_replies_in_notifications_enabled">true</bool> <!-- Smart replies in notifications: Whether we disable the feature unless the app targets P --> <bool name="config_smart_replies_in_notifications_requires_targeting_p">true</bool> <!-- Smart replies in notifications: Maximum number of times SmartReplyView will try to find a better (narrower) line-break for a double-line smart reply button. --> <integer name="config_smart_replies_in_notifications_max_squeeze_remeasure_attempts">3</integer> Loading packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java +3 −1 Original line number Diff line number Diff line Loading @@ -1210,7 +1210,9 @@ public class NotificationContentView extends FrameLayout { return; } boolean enableSmartReplies = mSmartReplyConstants.isEnabled(); boolean enableSmartReplies = (mSmartReplyConstants.isEnabled() && (!mSmartReplyConstants.requiresTargetingP() || entry.targetSdk >= Build.VERSION_CODES.P)); boolean hasRemoteInput = false; RemoteInput remoteInputWithChoices = null; Loading packages/SystemUI/src/com/android/systemui/statusbar/policy/SmartReplyConstants.java +14 −0 Original line number Diff line number Diff line Loading @@ -33,13 +33,16 @@ public final class SmartReplyConstants extends ContentObserver { private static final String TAG = "SmartReplyConstants"; private static final String KEY_ENABLED = "enabled"; private static final String KEY_REQUIRES_TARGETING_P = "requires_targeting_p"; private static final String KEY_MAX_SQUEEZE_REMEASURE_ATTEMPTS = "max_squeeze_remeasure_attempts"; private final boolean mDefaultEnabled; private final boolean mDefaultRequiresP; private final int mDefaultMaxSqueezeRemeasureAttempts; private boolean mEnabled; private boolean mRequiresTargetingP; private int mMaxSqueezeRemeasureAttempts; private final Context mContext; Loading @@ -52,6 +55,8 @@ public final class SmartReplyConstants extends ContentObserver { final Resources resources = mContext.getResources(); mDefaultEnabled = resources.getBoolean( R.bool.config_smart_replies_in_notifications_enabled); mDefaultRequiresP = resources.getBoolean( R.bool.config_smart_replies_in_notifications_requires_targeting_p); mDefaultMaxSqueezeRemeasureAttempts = resources.getInteger( R.integer.config_smart_replies_in_notifications_max_squeeze_remeasure_attempts); Loading @@ -75,6 +80,7 @@ public final class SmartReplyConstants extends ContentObserver { Log.e(TAG, "Bad smart reply constants", e); } mEnabled = mParser.getBoolean(KEY_ENABLED, mDefaultEnabled); mRequiresTargetingP = mParser.getBoolean(KEY_REQUIRES_TARGETING_P, mDefaultRequiresP); mMaxSqueezeRemeasureAttempts = mParser.getInt( KEY_MAX_SQUEEZE_REMEASURE_ATTEMPTS, mDefaultMaxSqueezeRemeasureAttempts); } Loading @@ -85,6 +91,14 @@ public final class SmartReplyConstants extends ContentObserver { return mEnabled; } /** * Returns whether smart replies in notifications should be disabled when the app targets a * version of Android older than P. */ public boolean requiresTargetingP() { return mRequiresTargetingP; } /** * Returns the maximum number of times {@link SmartReplyView#onMeasure(int, int)} will try to * find a better (narrower) line-break for a double-line smart reply button. Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/SmartReplyConstantsTest.java +11 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,17 @@ public class SmartReplyConstantsTest extends SysuiTestCase { assertFalse(mConstants.isEnabled()); } @Test public void testRequiresTargetingPConfig() { overrideSetting("enabled=true,requires_targeting_p=false"); triggerConstantsOnChange(); assertEquals(false, mConstants.requiresTargetingP()); overrideSetting("enabled=true"); triggerConstantsOnChange(); assertEquals(true, mConstants.requiresTargetingP()); } @Test public void testGetMaxSqueezeRemeasureAttemptsWithNoConfig() { assertTrue(mConstants.isEnabled()); Loading Loading
core/java/android/provider/Settings.java +1 −0 Original line number Diff line number Diff line Loading @@ -12427,6 +12427,7 @@ public final class Settings { * * <pre> * enabled (boolean) * requires_targeting_p (boolean) * max_squeeze_remeasure_attempts (int) * </pre> * @see com.android.systemui.statusbar.policy.SmartReplyConstants Loading
packages/SystemUI/res/values/config.xml +3 −0 Original line number Diff line number Diff line Loading @@ -479,6 +479,9 @@ <!-- Smart replies in notifications: Whether smart replies in notifications are enabled. --> <bool name="config_smart_replies_in_notifications_enabled">true</bool> <!-- Smart replies in notifications: Whether we disable the feature unless the app targets P --> <bool name="config_smart_replies_in_notifications_requires_targeting_p">true</bool> <!-- Smart replies in notifications: Maximum number of times SmartReplyView will try to find a better (narrower) line-break for a double-line smart reply button. --> <integer name="config_smart_replies_in_notifications_max_squeeze_remeasure_attempts">3</integer> Loading
packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java +3 −1 Original line number Diff line number Diff line Loading @@ -1210,7 +1210,9 @@ public class NotificationContentView extends FrameLayout { return; } boolean enableSmartReplies = mSmartReplyConstants.isEnabled(); boolean enableSmartReplies = (mSmartReplyConstants.isEnabled() && (!mSmartReplyConstants.requiresTargetingP() || entry.targetSdk >= Build.VERSION_CODES.P)); boolean hasRemoteInput = false; RemoteInput remoteInputWithChoices = null; Loading
packages/SystemUI/src/com/android/systemui/statusbar/policy/SmartReplyConstants.java +14 −0 Original line number Diff line number Diff line Loading @@ -33,13 +33,16 @@ public final class SmartReplyConstants extends ContentObserver { private static final String TAG = "SmartReplyConstants"; private static final String KEY_ENABLED = "enabled"; private static final String KEY_REQUIRES_TARGETING_P = "requires_targeting_p"; private static final String KEY_MAX_SQUEEZE_REMEASURE_ATTEMPTS = "max_squeeze_remeasure_attempts"; private final boolean mDefaultEnabled; private final boolean mDefaultRequiresP; private final int mDefaultMaxSqueezeRemeasureAttempts; private boolean mEnabled; private boolean mRequiresTargetingP; private int mMaxSqueezeRemeasureAttempts; private final Context mContext; Loading @@ -52,6 +55,8 @@ public final class SmartReplyConstants extends ContentObserver { final Resources resources = mContext.getResources(); mDefaultEnabled = resources.getBoolean( R.bool.config_smart_replies_in_notifications_enabled); mDefaultRequiresP = resources.getBoolean( R.bool.config_smart_replies_in_notifications_requires_targeting_p); mDefaultMaxSqueezeRemeasureAttempts = resources.getInteger( R.integer.config_smart_replies_in_notifications_max_squeeze_remeasure_attempts); Loading @@ -75,6 +80,7 @@ public final class SmartReplyConstants extends ContentObserver { Log.e(TAG, "Bad smart reply constants", e); } mEnabled = mParser.getBoolean(KEY_ENABLED, mDefaultEnabled); mRequiresTargetingP = mParser.getBoolean(KEY_REQUIRES_TARGETING_P, mDefaultRequiresP); mMaxSqueezeRemeasureAttempts = mParser.getInt( KEY_MAX_SQUEEZE_REMEASURE_ATTEMPTS, mDefaultMaxSqueezeRemeasureAttempts); } Loading @@ -85,6 +91,14 @@ public final class SmartReplyConstants extends ContentObserver { return mEnabled; } /** * Returns whether smart replies in notifications should be disabled when the app targets a * version of Android older than P. */ public boolean requiresTargetingP() { return mRequiresTargetingP; } /** * Returns the maximum number of times {@link SmartReplyView#onMeasure(int, int)} will try to * find a better (narrower) line-break for a double-line smart reply button. Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/SmartReplyConstantsTest.java +11 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,17 @@ public class SmartReplyConstantsTest extends SysuiTestCase { assertFalse(mConstants.isEnabled()); } @Test public void testRequiresTargetingPConfig() { overrideSetting("enabled=true,requires_targeting_p=false"); triggerConstantsOnChange(); assertEquals(false, mConstants.requiresTargetingP()); overrideSetting("enabled=true"); triggerConstantsOnChange(); assertEquals(true, mConstants.requiresTargetingP()); } @Test public void testGetMaxSqueezeRemeasureAttemptsWithNoConfig() { assertTrue(mConstants.isEnabled()); Loading