Merge "Add more info on the dialog of AllowBindAppWidgetActivity" into sc-v2-dev am: 2ff09ceeb7 am: 903293aa41

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15743485

Change-Id: I8558d9e58a9ff86d5ce4df95e551b350fc5a02d6
This commit is contained in:
TreeHugger Robot
2021-09-06 09:49:27 +00:00
committed by Automerger Merge Worker
2 changed files with 21 additions and 5 deletions

View File

@@ -5197,7 +5197,7 @@
<string name="allow_bind_app_widget_activity_allow_bind_title">Create widget and allow access?</string> <string name="allow_bind_app_widget_activity_allow_bind_title">Create widget and allow access?</string>
<!-- Message in dialog that pops up when an app requests permission to bind a widget [CHAR LIMIT=NONE] --> <!-- Message in dialog that pops up when an app requests permission to bind a widget [CHAR LIMIT=NONE] -->
<string name="allow_bind_app_widget_activity_allow_bind">After you create the widget, <xliff:g id="widget_host_name">%1$s</xliff:g> can access all data it displays.</string> <string name="allow_bind_app_widget_activity_allow_bind">After you create the widget, the application can access everything displayed.\n\nApplication: <xliff:g id="widget_host_name">%1$s</xliff:g>\nWidget: <xliff:g id="widget_label">%2$s</xliff:g>\n</string>
<!-- Text for checkbox that pops up when an app requests permission to bind a widget [CHAR LIMIT=NONE] --> <!-- Text for checkbox that pops up when an app requests permission to bind a widget [CHAR LIMIT=NONE] -->
<string name="allow_bind_app_widget_activity_always_allow_bind">Always allow <xliff:g id="widget_host_name">%1$s</xliff:g> to create widgets and access their data</string> <string name="allow_bind_app_widget_activity_always_allow_bind">Always allow <xliff:g id="widget_host_name">%1$s</xliff:g> to create widgets and access their data</string>

View File

@@ -19,6 +19,7 @@ package com.android.settings;
import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS; import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
import android.appwidget.AppWidgetManager; import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProviderInfo;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
@@ -122,9 +123,12 @@ public class AllowBindAppWidgetActivity extends AlertActivity implements
return; return;
} }
} }
mAppWidgetManager = AppWidgetManager.getInstance(this);
final String widgetLabel = getWidgetLabel();
AlertController.AlertParams ap = mAlertParams; AlertController.AlertParams ap = mAlertParams;
ap.mTitle = getString(R.string.allow_bind_app_widget_activity_allow_bind_title); ap.mTitle = getString(R.string.allow_bind_app_widget_activity_allow_bind_title);
ap.mMessage = getString(R.string.allow_bind_app_widget_activity_allow_bind, label); ap.mMessage = getString(R.string.allow_bind_app_widget_activity_allow_bind, label,
widgetLabel);
ap.mPositiveButtonText = getString(R.string.create); ap.mPositiveButtonText = getString(R.string.create);
ap.mNegativeButtonText = getString(android.R.string.cancel); ap.mNegativeButtonText = getString(android.R.string.cancel);
ap.mPositiveButtonListener = this; ap.mPositiveButtonListener = this;
@@ -133,18 +137,30 @@ public class AllowBindAppWidgetActivity extends AlertActivity implements
(LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
ap.mView = inflater.inflate(com.android.internal.R.layout.always_use_checkbox, null); ap.mView = inflater.inflate(com.android.internal.R.layout.always_use_checkbox, null);
mAlwaysUse = (CheckBox) ap.mView.findViewById(com.android.internal.R.id.alwaysUse); mAlwaysUse = (CheckBox) ap.mView.findViewById(com.android.internal.R.id.alwaysUse);
mAlwaysUse.setText(getString(R.string.allow_bind_app_widget_activity_always_allow_bind, label)); mAlwaysUse.setText(
getString(R.string.allow_bind_app_widget_activity_always_allow_bind, label));
mAlwaysUse.setPadding(mAlwaysUse.getPaddingLeft(), mAlwaysUse.setPadding(mAlwaysUse.getPaddingLeft(),
mAlwaysUse.getPaddingTop(), mAlwaysUse.getPaddingTop(),
mAlwaysUse.getPaddingRight(), mAlwaysUse.getPaddingRight(),
(int) (mAlwaysUse.getPaddingBottom() + (int) (mAlwaysUse.getPaddingBottom() +
getResources().getDimension(R.dimen.bind_app_widget_dialog_checkbox_bottom_padding))); getResources().getDimension(
R.dimen.bind_app_widget_dialog_checkbox_bottom_padding)));
mAppWidgetManager = AppWidgetManager.getInstance(this);
mAlwaysUse.setChecked(mAppWidgetManager.hasBindAppWidgetPermission(mCallingPackage, mAlwaysUse.setChecked(mAppWidgetManager.hasBindAppWidgetPermission(mCallingPackage,
mProfile.getIdentifier())); mProfile.getIdentifier()));
setupAlert(); setupAlert();
} }
private String getWidgetLabel() {
String label = "";
for (AppWidgetProviderInfo providerInfo : mAppWidgetManager.getInstalledProviders()) {
if (providerInfo.provider.equals(mComponentName)) {
label = providerInfo.loadLabel(getPackageManager());
break;
}
}
return label;
}
} }