Merge "Set accessibility string for suspended widgets." into nyc-dev

This commit is contained in:
Kenny Guy
2016-05-24 13:11:11 +00:00
committed by Android (Google) Code Review
4 changed files with 25 additions and 2 deletions

View File

@@ -19,6 +19,7 @@ package android.appwidget;
import android.content.ComponentName;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.LauncherApps;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.Resources;
@@ -150,7 +151,7 @@ public class AppWidgetHostView extends FrameLayout {
// We add padding to the AppWidgetHostView if necessary
Rect padding = getDefaultPaddingForWidget(mContext, info.provider, null);
setPadding(padding.left, padding.top, padding.right, padding.bottom);
setContentDescription(info.label);
updateContentDescription(info);
}
}
@@ -459,6 +460,7 @@ public class AppWidgetHostView extends FrameLayout {
}
applyContent(content, recycled, exception);
updateContentDescription(mInfo);
}
private void applyContent(View content, boolean recycled, Exception exception) {
@@ -493,6 +495,22 @@ public class AppWidgetHostView extends FrameLayout {
}
}
private void updateContentDescription(AppWidgetProviderInfo info) {
if (info != null) {
LauncherApps launcherApps = getContext().getSystemService(LauncherApps.class);
ApplicationInfo appInfo = launcherApps.getApplicationInfo(
info.provider.getPackageName(), 0, info.getProfile());
if (appInfo != null &&
(appInfo.flags & ApplicationInfo.FLAG_SUSPENDED) != 0) {
setContentDescription(
Resources.getSystem().getString(
com.android.internal.R.string.suspended_widget_accessibility, info.label));
} else {
setContentDescription(info.label);
}
}
}
private void inflateAsync(RemoteViews remoteViews) {
// Prepare a local reference to the remote Context so we're ready to
// inflate any requested LayoutParams.

View File

@@ -19,7 +19,8 @@ Copyright (C) 2015 The Android Open Source Project
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F3374248"
android:clickable="true" >
android:importantForAccessibility="noHideDescendants"
android:clickable="true">
<ImageView android:id="@+id/work_widget_app_icon"
android:layout_width="wrap_content"

View File

@@ -4317,4 +4317,7 @@
<!-- Description of notification shown when device has been forced to safe mode after a security compromise. -->
<string name="audit_safemode_notification_details">Touch to learn more.</string>
<!-- Accessibilty string added to a widget that has been suspended [CHAR LIMIT=20] -->
<string name="suspended_widget_accessibility">Suspended <xliff:g id="label" example="Calendar">%1$s</xliff:g></string>
</resources>

View File

@@ -2595,4 +2595,5 @@
<!-- Pinner Service -->
<java-symbol type="array" name="config_defaultPinnerServiceFiles" />
<java-symbol type="string" name="suspended_widget_accessibility" />
</resources>