Merge "Allow Magnification Settings launch from outside of AccessibilitySettings" into udc-dev am: 3a445a3ea1
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21489373 Change-Id: I3cb57e455477a21b130862be572b421663d16dfa Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -14,7 +14,6 @@
|
||||
package com.android.settings.accessibility;
|
||||
|
||||
import android.content.Context;
|
||||
import android.icu.text.MessageFormat;
|
||||
import android.os.Bundle;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
@@ -94,19 +93,11 @@ public class MagnificationGesturesPreferenceController extends TogglePreferenceC
|
||||
}
|
||||
|
||||
static void populateMagnificationGesturesPreferenceExtras(Bundle extras, Context context) {
|
||||
extras.putString(AccessibilitySettings.EXTRA_PREFERENCE_KEY,
|
||||
Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED);
|
||||
// TODO(b/270481978): It seems not necessary to put EXTRA_TITLE_RES.
|
||||
extras.putInt(AccessibilitySettings.EXTRA_TITLE_RES,
|
||||
R.string.accessibility_screen_magnification_gestures_title);
|
||||
|
||||
String intro = context.getString(R.string.accessibility_screen_magnification_intro_text);
|
||||
extras.putCharSequence(AccessibilitySettings.EXTRA_INTRO, intro);
|
||||
|
||||
String summary = context.getString(R.string.accessibility_screen_magnification_summary);
|
||||
final Object[] numberArguments = {1, 2, 3, 4, 5};
|
||||
summary = MessageFormat.format(summary, numberArguments);
|
||||
extras.putCharSequence(AccessibilitySettings.EXTRA_HTML_DESCRIPTION, summary);
|
||||
|
||||
// TODO(b/270481978): It seems not necessary to put EXTRA_VIDEO_RAW_RESOURCE_ID.
|
||||
extras.putInt(AccessibilitySettings.EXTRA_VIDEO_RAW_RESOURCE_ID,
|
||||
R.raw.accessibility_screen_magnification);
|
||||
}
|
||||
|
@@ -122,7 +122,7 @@ public abstract class ToggleFeaturePreferenceFragment extends DashboardFragment
|
||||
private int mNeedsQSTooltipType = QuickSettingsTooltipType.GUIDE_TO_EDIT;
|
||||
private boolean mSavedAccessibilityFloatingMenuEnabled;
|
||||
private ImageView mImageGetterCacheView;
|
||||
private final Html.ImageGetter mImageGetter = (String str) -> {
|
||||
protected final Html.ImageGetter mImageGetter = (String str) -> {
|
||||
if (str != null && str.startsWith(IMG_PREFIX)) {
|
||||
final String fileName = str.substring(IMG_PREFIX.length());
|
||||
return getDrawableFromUri(Uri.parse(
|
||||
|
@@ -29,6 +29,7 @@ import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.icu.text.CaseMap;
|
||||
import android.icu.text.MessageFormat;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.provider.DeviceConfig;
|
||||
@@ -220,6 +221,34 @@ public class ToggleScreenMagnificationPreferenceFragment extends
|
||||
addJoystickSetting(generalCategory);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onProcessArguments(Bundle arguments) {
|
||||
Context context = getContext();
|
||||
|
||||
// This Fragment may get arguments from MagnificationGesturesPreferenceController or
|
||||
// MagnificationNavbarPreferenceController and it's necessary to check if a key exists
|
||||
// before putting a new value into arguments.
|
||||
|
||||
if (!arguments.containsKey(AccessibilitySettings.EXTRA_PREFERENCE_KEY)) {
|
||||
arguments.putString(AccessibilitySettings.EXTRA_PREFERENCE_KEY,
|
||||
Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED);
|
||||
}
|
||||
|
||||
if (!arguments.containsKey(AccessibilitySettings.EXTRA_INTRO)) {
|
||||
arguments.putCharSequence(AccessibilitySettings.EXTRA_INTRO,
|
||||
context.getString(R.string.accessibility_screen_magnification_intro_text));
|
||||
}
|
||||
|
||||
if (!arguments.containsKey(AccessibilitySettings.EXTRA_HTML_DESCRIPTION)) {
|
||||
String summary = MessageFormat.format(
|
||||
context.getString(R.string.accessibility_screen_magnification_summary),
|
||||
new Object[]{1, 2, 3, 4, 5});
|
||||
arguments.putCharSequence(AccessibilitySettings.EXTRA_HTML_DESCRIPTION, summary);
|
||||
}
|
||||
|
||||
super.onProcessArguments(arguments);
|
||||
}
|
||||
|
||||
private void addAlwaysOnSetting(PreferenceCategory generalCategory) {
|
||||
if (!DeviceConfig.getBoolean(
|
||||
DeviceConfig.NAMESPACE_WINDOW_MANAGER,
|
||||
|
@@ -23,6 +23,7 @@ import static com.android.settings.accessibility.ToggleFeaturePreferenceFragment
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
@@ -405,6 +406,17 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
|
||||
assertThat(mFragment.getHelpResource()).isEqualTo(R.string.help_url_magnification);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onProcessArguments_defaultArgumentUnavailable_shouldSetDefaultArguments() {
|
||||
Bundle arguments = new Bundle();
|
||||
|
||||
mFragment.onProcessArguments(arguments);
|
||||
|
||||
assertTrue(arguments.containsKey(AccessibilitySettings.EXTRA_PREFERENCE_KEY));
|
||||
assertTrue(arguments.containsKey(AccessibilitySettings.EXTRA_INTRO));
|
||||
assertTrue(arguments.containsKey(AccessibilitySettings.EXTRA_HTML_DESCRIPTION));
|
||||
}
|
||||
|
||||
private void putStringIntoSettings(String key, String componentName) {
|
||||
Settings.Secure.putString(mContext.getContentResolver(), key, componentName);
|
||||
}
|
||||
|
Reference in New Issue
Block a user