Integrate new accessibility tileService attr into settings
- Accessibilty service: AccessibilityService_tileService - Accesibility shortcut: AccessibilityShortcutTarget_tileService Bug: 216614718 Test: manual test Change-Id: I24baff13300dfc9a242fcfffe0a4888575ca0c9f
This commit is contained in:
@@ -221,6 +221,13 @@ public class AccessibilityDetailsSettingsFragment extends InstrumentedFragment {
|
|||||||
extras.putString(AccessibilitySettings.EXTRA_SETTINGS_COMPONENT_NAME,
|
extras.putString(AccessibilitySettings.EXTRA_SETTINGS_COMPONENT_NAME,
|
||||||
new ComponentName(packageName, settingsClassName).flattenToString());
|
new ComponentName(packageName, settingsClassName).flattenToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final String tileServiceClassName = info.getTileServiceClassName();
|
||||||
|
if (!TextUtils.isEmpty(tileServiceClassName)) {
|
||||||
|
extras.putString(AccessibilitySettings.EXTRA_TILE_SERVICE_COMPONENT_NAME,
|
||||||
|
new ComponentName(packageName, tileServiceClassName).flattenToString());
|
||||||
|
}
|
||||||
|
|
||||||
extras.putParcelable(AccessibilitySettings.EXTRA_COMPONENT_NAME, componentName);
|
extras.putParcelable(AccessibilitySettings.EXTRA_COMPONENT_NAME, componentName);
|
||||||
extras.putInt(AccessibilitySettings.EXTRA_ANIMATED_IMAGE_RES, info.getAnimatedImageRes());
|
extras.putInt(AccessibilitySettings.EXTRA_ANIMATED_IMAGE_RES, info.getAnimatedImageRes());
|
||||||
|
|
||||||
|
@@ -97,6 +97,7 @@ public class AccessibilitySettings extends DashboardFragment {
|
|||||||
static final String EXTRA_SETTINGS_TITLE = "settings_title";
|
static final String EXTRA_SETTINGS_TITLE = "settings_title";
|
||||||
static final String EXTRA_COMPONENT_NAME = "component_name";
|
static final String EXTRA_COMPONENT_NAME = "component_name";
|
||||||
static final String EXTRA_SETTINGS_COMPONENT_NAME = "settings_component_name";
|
static final String EXTRA_SETTINGS_COMPONENT_NAME = "settings_component_name";
|
||||||
|
static final String EXTRA_TILE_SERVICE_COMPONENT_NAME = "tile_service_component_name";
|
||||||
static final String EXTRA_VIDEO_RAW_RESOURCE_ID = "video_resource";
|
static final String EXTRA_VIDEO_RAW_RESOURCE_ID = "video_resource";
|
||||||
static final String EXTRA_LAUNCHED_FROM_SUW = "from_suw";
|
static final String EXTRA_LAUNCHED_FROM_SUW = "from_suw";
|
||||||
static final String EXTRA_ANIMATED_IMAGE_RES = "animated_image_res";
|
static final String EXTRA_ANIMATED_IMAGE_RES = "animated_image_res";
|
||||||
@@ -573,11 +574,13 @@ public class AccessibilitySettings extends DashboardFragment {
|
|||||||
serviceEnabled);
|
serviceEnabled);
|
||||||
final String htmlDescription = info.loadHtmlDescription(mPm);
|
final String htmlDescription = info.loadHtmlDescription(mPm);
|
||||||
final String settingsClassName = info.getSettingsActivityName();
|
final String settingsClassName = info.getSettingsActivityName();
|
||||||
|
final String tileServiceClassName = info.getTileServiceClassName();
|
||||||
|
|
||||||
putBasicExtras(preference, prefKey, title, description, imageRes, htmlDescription,
|
putBasicExtras(preference, prefKey, title, description, imageRes, htmlDescription,
|
||||||
componentName);
|
componentName);
|
||||||
putServiceExtras(preference, resolveInfo, serviceEnabled);
|
putServiceExtras(preference, resolveInfo, serviceEnabled);
|
||||||
putSettingsExtras(preference, packageName, settingsClassName);
|
putSettingsExtras(preference, packageName, settingsClassName);
|
||||||
|
putTileServiceExtras(preference, packageName, tileServiceClassName);
|
||||||
|
|
||||||
preferenceList.add(preference);
|
preferenceList.add(preference);
|
||||||
}
|
}
|
||||||
@@ -631,10 +634,13 @@ public class AccessibilitySettings extends DashboardFragment {
|
|||||||
final int imageRes = info.getAnimatedImageRes();
|
final int imageRes = info.getAnimatedImageRes();
|
||||||
final String htmlDescription = info.loadHtmlDescription(mPm);
|
final String htmlDescription = info.loadHtmlDescription(mPm);
|
||||||
final String settingsClassName = info.getSettingsActivityName();
|
final String settingsClassName = info.getSettingsActivityName();
|
||||||
|
final String tileServiceClassName = info.getTileServiceClassName();
|
||||||
|
|
||||||
putBasicExtras(preference, prefKey, title, description, imageRes, htmlDescription,
|
putBasicExtras(preference, prefKey, title, description, imageRes, htmlDescription,
|
||||||
componentName);
|
componentName);
|
||||||
putSettingsExtras(preference, componentName.getPackageName(), settingsClassName);
|
putSettingsExtras(preference, componentName.getPackageName(), settingsClassName);
|
||||||
|
putTileServiceExtras(preference, componentName.getPackageName(),
|
||||||
|
tileServiceClassName);
|
||||||
|
|
||||||
preferenceList.add(preference);
|
preferenceList.add(preference);
|
||||||
}
|
}
|
||||||
@@ -730,7 +736,11 @@ public class AccessibilitySettings extends DashboardFragment {
|
|||||||
/**
|
/**
|
||||||
* Puts the service extras into {@link RestrictedPreference}'s getExtras().
|
* Puts the service extras into {@link RestrictedPreference}'s getExtras().
|
||||||
*
|
*
|
||||||
* Called by {@link AccessibilityServiceInfo} for now.
|
* <p><b>Note:</b> Called by {@link AccessibilityServiceInfo}.</p>
|
||||||
|
*
|
||||||
|
* @param preference The preference we are configuring.
|
||||||
|
* @param resolveInfo The service resolve info.
|
||||||
|
* @param serviceEnabled Whether the accessibility service is enabled.
|
||||||
*/
|
*/
|
||||||
private void putServiceExtras(RestrictedPreference preference, ResolveInfo resolveInfo,
|
private void putServiceExtras(RestrictedPreference preference, ResolveInfo resolveInfo,
|
||||||
Boolean serviceEnabled) {
|
Boolean serviceEnabled) {
|
||||||
@@ -743,7 +753,12 @@ public class AccessibilitySettings extends DashboardFragment {
|
|||||||
/**
|
/**
|
||||||
* Puts the settings extras into {@link RestrictedPreference}'s getExtras().
|
* Puts the settings extras into {@link RestrictedPreference}'s getExtras().
|
||||||
*
|
*
|
||||||
* Called when settings UI is needed.
|
* <p><b>Note:</b> Called when settings UI is needed.</p>
|
||||||
|
*
|
||||||
|
* @param preference The preference we are configuring.
|
||||||
|
* @param packageName Package of accessibility feature.
|
||||||
|
* @param settingsClassName The component name of an activity that allows the user to modify
|
||||||
|
* the settings for this accessibility feature.
|
||||||
*/
|
*/
|
||||||
private void putSettingsExtras(RestrictedPreference preference, String packageName,
|
private void putSettingsExtras(RestrictedPreference preference, String packageName,
|
||||||
String settingsClassName) {
|
String settingsClassName) {
|
||||||
@@ -756,5 +771,27 @@ public class AccessibilitySettings extends DashboardFragment {
|
|||||||
new ComponentName(packageName, settingsClassName).flattenToString());
|
new ComponentName(packageName, settingsClassName).flattenToString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Puts the information about a particular application
|
||||||
|
* {@link android.service.quicksettings.TileService} into {@link RestrictedPreference}'s
|
||||||
|
* getExtras().
|
||||||
|
*
|
||||||
|
* <p><b>Note:</b> Called when a tooltip of
|
||||||
|
* {@link android.service.quicksettings.TileService} is needed.</p>
|
||||||
|
*
|
||||||
|
* @param preference The preference we are configuring.
|
||||||
|
* @param packageName Package of accessibility feature.
|
||||||
|
* @param tileServiceClassName The component name of tileService is associated with this
|
||||||
|
* accessibility feature.
|
||||||
|
*/
|
||||||
|
private void putTileServiceExtras(RestrictedPreference preference, String packageName,
|
||||||
|
String tileServiceClassName) {
|
||||||
|
final Bundle extras = preference.getExtras();
|
||||||
|
if (!TextUtils.isEmpty(tileServiceClassName)) {
|
||||||
|
extras.putString(EXTRA_TILE_SERVICE_COMPONENT_NAME,
|
||||||
|
new ComponentName(packageName, tileServiceClassName).flattenToString());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -53,6 +53,7 @@ public class LaunchAccessibilityActivityPreferenceFragment extends ToggleFeature
|
|||||||
private static final String TAG = "LaunchA11yActivity";
|
private static final String TAG = "LaunchA11yActivity";
|
||||||
private static final String EMPTY_STRING = "";
|
private static final String EMPTY_STRING = "";
|
||||||
protected static final String KEY_LAUNCH_PREFERENCE = "launch_preference";
|
protected static final String KEY_LAUNCH_PREFERENCE = "launch_preference";
|
||||||
|
private ComponentName mTileComponentName;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMetricsCategory() {
|
public int getMetricsCategory() {
|
||||||
@@ -108,6 +109,13 @@ public class LaunchAccessibilityActivityPreferenceFragment extends ToggleFeature
|
|||||||
AccessibilitySettings.EXTRA_SETTINGS_TITLE);
|
AccessibilitySettings.EXTRA_SETTINGS_TITLE);
|
||||||
mSettingsIntent = TextUtils.isEmpty(settingsTitle) ? null : getSettingsIntent(arguments);
|
mSettingsIntent = TextUtils.isEmpty(settingsTitle) ? null : getSettingsIntent(arguments);
|
||||||
mSettingsTitle = (mSettingsIntent == null) ? null : settingsTitle;
|
mSettingsTitle = (mSettingsIntent == null) ? null : settingsTitle;
|
||||||
|
|
||||||
|
// Tile service.
|
||||||
|
if (arguments.containsKey(AccessibilitySettings.EXTRA_TILE_SERVICE_COMPONENT_NAME)) {
|
||||||
|
final String tileServiceComponentName = arguments.getString(
|
||||||
|
AccessibilitySettings.EXTRA_TILE_SERVICE_COMPONENT_NAME);
|
||||||
|
mTileComponentName = ComponentName.unflattenFromString(tileServiceComponentName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -118,7 +126,7 @@ public class LaunchAccessibilityActivityPreferenceFragment extends ToggleFeature
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
ComponentName getTileComponentName() {
|
ComponentName getTileComponentName() {
|
||||||
return null;
|
return mTileComponentName;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -65,6 +65,7 @@ public class ToggleAccessibilityServicePreferenceFragment extends
|
|||||||
private static final String EMPTY_STRING = "";
|
private static final String EMPTY_STRING = "";
|
||||||
|
|
||||||
private Dialog mWarningDialog;
|
private Dialog mWarningDialog;
|
||||||
|
private ComponentName mTileComponentName;
|
||||||
private BroadcastReceiver mPackageRemovedReceiver;
|
private BroadcastReceiver mPackageRemovedReceiver;
|
||||||
private boolean mDisabledStateLogged = false;
|
private boolean mDisabledStateLogged = false;
|
||||||
private long mStartTimeMillsForLogging = 0;
|
private long mStartTimeMillsForLogging = 0;
|
||||||
@@ -240,7 +241,7 @@ public class ToggleAccessibilityServicePreferenceFragment extends
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
ComponentName getTileComponentName() {
|
ComponentName getTileComponentName() {
|
||||||
return null;
|
return mTileComponentName;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -387,6 +388,12 @@ public class ToggleAccessibilityServicePreferenceFragment extends
|
|||||||
mPackageName = getAccessibilityServiceInfo().getResolveInfo().loadLabel(
|
mPackageName = getAccessibilityServiceInfo().getResolveInfo().loadLabel(
|
||||||
getPackageManager());
|
getPackageManager());
|
||||||
|
|
||||||
|
if (arguments.containsKey(AccessibilitySettings.EXTRA_TILE_SERVICE_COMPONENT_NAME)) {
|
||||||
|
final String tileServiceComponentName = arguments.getString(
|
||||||
|
AccessibilitySettings.EXTRA_TILE_SERVICE_COMPONENT_NAME);
|
||||||
|
mTileComponentName = ComponentName.unflattenFromString(tileServiceComponentName);
|
||||||
|
}
|
||||||
|
|
||||||
mStartTimeMillsForLogging = arguments.getLong(AccessibilitySettings.EXTRA_TIME_FOR_LOGGING);
|
mStartTimeMillsForLogging = arguments.getLong(AccessibilitySettings.EXTRA_TIME_FOR_LOGGING);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user