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;
|
package com.android.settings.accessibility;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.icu.text.MessageFormat;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
@@ -94,19 +93,11 @@ public class MagnificationGesturesPreferenceController extends TogglePreferenceC
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void populateMagnificationGesturesPreferenceExtras(Bundle extras, Context context) {
|
static void populateMagnificationGesturesPreferenceExtras(Bundle extras, Context context) {
|
||||||
extras.putString(AccessibilitySettings.EXTRA_PREFERENCE_KEY,
|
// TODO(b/270481978): It seems not necessary to put EXTRA_TITLE_RES.
|
||||||
Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED);
|
|
||||||
extras.putInt(AccessibilitySettings.EXTRA_TITLE_RES,
|
extras.putInt(AccessibilitySettings.EXTRA_TITLE_RES,
|
||||||
R.string.accessibility_screen_magnification_gestures_title);
|
R.string.accessibility_screen_magnification_gestures_title);
|
||||||
|
|
||||||
String intro = context.getString(R.string.accessibility_screen_magnification_intro_text);
|
// TODO(b/270481978): It seems not necessary to put EXTRA_VIDEO_RAW_RESOURCE_ID.
|
||||||
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);
|
|
||||||
|
|
||||||
extras.putInt(AccessibilitySettings.EXTRA_VIDEO_RAW_RESOURCE_ID,
|
extras.putInt(AccessibilitySettings.EXTRA_VIDEO_RAW_RESOURCE_ID,
|
||||||
R.raw.accessibility_screen_magnification);
|
R.raw.accessibility_screen_magnification);
|
||||||
}
|
}
|
||||||
|
@@ -122,7 +122,7 @@ public abstract class ToggleFeaturePreferenceFragment extends DashboardFragment
|
|||||||
private int mNeedsQSTooltipType = QuickSettingsTooltipType.GUIDE_TO_EDIT;
|
private int mNeedsQSTooltipType = QuickSettingsTooltipType.GUIDE_TO_EDIT;
|
||||||
private boolean mSavedAccessibilityFloatingMenuEnabled;
|
private boolean mSavedAccessibilityFloatingMenuEnabled;
|
||||||
private ImageView mImageGetterCacheView;
|
private ImageView mImageGetterCacheView;
|
||||||
private final Html.ImageGetter mImageGetter = (String str) -> {
|
protected final Html.ImageGetter mImageGetter = (String str) -> {
|
||||||
if (str != null && str.startsWith(IMG_PREFIX)) {
|
if (str != null && str.startsWith(IMG_PREFIX)) {
|
||||||
final String fileName = str.substring(IMG_PREFIX.length());
|
final String fileName = str.substring(IMG_PREFIX.length());
|
||||||
return getDrawableFromUri(Uri.parse(
|
return getDrawableFromUri(Uri.parse(
|
||||||
|
@@ -29,6 +29,7 @@ import android.content.Context;
|
|||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.icu.text.CaseMap;
|
import android.icu.text.CaseMap;
|
||||||
|
import android.icu.text.MessageFormat;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.provider.DeviceConfig;
|
import android.provider.DeviceConfig;
|
||||||
@@ -220,6 +221,34 @@ public class ToggleScreenMagnificationPreferenceFragment extends
|
|||||||
addJoystickSetting(generalCategory);
|
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) {
|
private void addAlwaysOnSetting(PreferenceCategory generalCategory) {
|
||||||
if (!DeviceConfig.getBoolean(
|
if (!DeviceConfig.getBoolean(
|
||||||
DeviceConfig.NAMESPACE_WINDOW_MANAGER,
|
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 com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
import static org.mockito.ArgumentMatchers.anyInt;
|
import static org.mockito.ArgumentMatchers.anyInt;
|
||||||
import static org.mockito.ArgumentMatchers.eq;
|
import static org.mockito.ArgumentMatchers.eq;
|
||||||
@@ -405,6 +406,17 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
|
|||||||
assertThat(mFragment.getHelpResource()).isEqualTo(R.string.help_url_magnification);
|
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) {
|
private void putStringIntoSettings(String key, String componentName) {
|
||||||
Settings.Secure.putString(mContext.getContentResolver(), key, componentName);
|
Settings.Secure.putString(mContext.getContentResolver(), key, componentName);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user