Merge "SSIN: Use the application's context to load icon resources." into qt-qpr1-dev
am: 0df74f4d32
Change-Id: I8d2e42641acec393343196acdf5ec96d26dba405
This commit is contained in:
@@ -264,7 +264,7 @@ public class NotificationContentInflater {
|
|||||||
mIsChildInGroup, mUsesIncreasedHeight, mUsesIncreasedHeadsUpHeight,
|
mIsChildInGroup, mUsesIncreasedHeight, mUsesIncreasedHeadsUpHeight,
|
||||||
packageContext);
|
packageContext);
|
||||||
result = inflateSmartReplyViews(result, reInflateFlags, mRow.getEntry(),
|
result = inflateSmartReplyViews(result, reInflateFlags, mRow.getEntry(),
|
||||||
mRow.getContext(), mRow.getHeadsUpManager(),
|
mRow.getContext(), packageContext, mRow.getHeadsUpManager(),
|
||||||
mRow.getExistingSmartRepliesAndActions());
|
mRow.getExistingSmartRepliesAndActions());
|
||||||
apply(
|
apply(
|
||||||
inflateSynchronously,
|
inflateSynchronously,
|
||||||
@@ -311,20 +311,21 @@ public class NotificationContentInflater {
|
|||||||
|
|
||||||
private static InflationProgress inflateSmartReplyViews(InflationProgress result,
|
private static InflationProgress inflateSmartReplyViews(InflationProgress result,
|
||||||
@InflationFlag int reInflateFlags, NotificationEntry entry, Context context,
|
@InflationFlag int reInflateFlags, NotificationEntry entry, Context context,
|
||||||
HeadsUpManager headsUpManager, SmartRepliesAndActions previousSmartRepliesAndActions) {
|
Context packageContext, HeadsUpManager headsUpManager,
|
||||||
|
SmartRepliesAndActions previousSmartRepliesAndActions) {
|
||||||
SmartReplyConstants smartReplyConstants = Dependency.get(SmartReplyConstants.class);
|
SmartReplyConstants smartReplyConstants = Dependency.get(SmartReplyConstants.class);
|
||||||
SmartReplyController smartReplyController = Dependency.get(SmartReplyController.class);
|
SmartReplyController smartReplyController = Dependency.get(SmartReplyController.class);
|
||||||
if ((reInflateFlags & FLAG_CONTENT_VIEW_EXPANDED) != 0 && result.newExpandedView != null) {
|
if ((reInflateFlags & FLAG_CONTENT_VIEW_EXPANDED) != 0 && result.newExpandedView != null) {
|
||||||
result.expandedInflatedSmartReplies =
|
result.expandedInflatedSmartReplies =
|
||||||
InflatedSmartReplies.inflate(
|
InflatedSmartReplies.inflate(
|
||||||
context, entry, smartReplyConstants, smartReplyController,
|
context, packageContext, entry, smartReplyConstants,
|
||||||
headsUpManager, previousSmartRepliesAndActions);
|
smartReplyController, headsUpManager, previousSmartRepliesAndActions);
|
||||||
}
|
}
|
||||||
if ((reInflateFlags & FLAG_CONTENT_VIEW_HEADS_UP) != 0 && result.newHeadsUpView != null) {
|
if ((reInflateFlags & FLAG_CONTENT_VIEW_HEADS_UP) != 0 && result.newHeadsUpView != null) {
|
||||||
result.headsUpInflatedSmartReplies =
|
result.headsUpInflatedSmartReplies =
|
||||||
InflatedSmartReplies.inflate(
|
InflatedSmartReplies.inflate(
|
||||||
context, entry, smartReplyConstants, smartReplyController,
|
context, packageContext, entry, smartReplyConstants,
|
||||||
headsUpManager, previousSmartRepliesAndActions);
|
smartReplyController, headsUpManager, previousSmartRepliesAndActions);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@@ -817,7 +818,7 @@ public class NotificationContentInflater {
|
|||||||
recoveredBuilder, mIsLowPriority, mIsChildInGroup, mUsesIncreasedHeight,
|
recoveredBuilder, mIsLowPriority, mIsChildInGroup, mUsesIncreasedHeight,
|
||||||
mUsesIncreasedHeadsUpHeight, packageContext);
|
mUsesIncreasedHeadsUpHeight, packageContext);
|
||||||
return inflateSmartReplyViews(inflationProgress, mReInflateFlags, mRow.getEntry(),
|
return inflateSmartReplyViews(inflationProgress, mReInflateFlags, mRow.getEntry(),
|
||||||
mRow.getContext(), mRow.getHeadsUpManager(),
|
mRow.getContext(), packageContext, mRow.getHeadsUpManager(),
|
||||||
mRow.getExistingSmartRepliesAndActions());
|
mRow.getExistingSmartRepliesAndActions());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
mError = e;
|
mError = e;
|
||||||
|
|||||||
@@ -80,6 +80,7 @@ public class InflatedSmartReplies {
|
|||||||
*/
|
*/
|
||||||
public static InflatedSmartReplies inflate(
|
public static InflatedSmartReplies inflate(
|
||||||
Context context,
|
Context context,
|
||||||
|
Context packageContext,
|
||||||
NotificationEntry entry,
|
NotificationEntry entry,
|
||||||
SmartReplyConstants smartReplyConstants,
|
SmartReplyConstants smartReplyConstants,
|
||||||
SmartReplyController smartReplyController,
|
SmartReplyController smartReplyController,
|
||||||
@@ -108,9 +109,9 @@ public class InflatedSmartReplies {
|
|||||||
}
|
}
|
||||||
if (newSmartRepliesAndActions.smartActions != null) {
|
if (newSmartRepliesAndActions.smartActions != null) {
|
||||||
suggestionButtons.addAll(
|
suggestionButtons.addAll(
|
||||||
smartReplyView.inflateSmartActions(newSmartRepliesAndActions.smartActions,
|
smartReplyView.inflateSmartActions(packageContext,
|
||||||
smartReplyController, entry, headsUpManager,
|
newSmartRepliesAndActions.smartActions, smartReplyController, entry,
|
||||||
delayOnClickListener));
|
headsUpManager, delayOnClickListener));
|
||||||
}
|
}
|
||||||
|
|
||||||
return new InflatedSmartReplies(smartReplyView, suggestionButtons,
|
return new InflatedSmartReplies(smartReplyView, suggestionButtons,
|
||||||
|
|||||||
@@ -235,17 +235,17 @@ public class SmartReplyView extends ViewGroup {
|
|||||||
* Add smart actions to be shown next to smart replies. Only the actions that fit into the
|
* Add smart actions to be shown next to smart replies. Only the actions that fit into the
|
||||||
* notification are shown.
|
* notification are shown.
|
||||||
*/
|
*/
|
||||||
public List<Button> inflateSmartActions(@NonNull SmartActions smartActions,
|
public List<Button> inflateSmartActions(Context packageContext,
|
||||||
SmartReplyController smartReplyController, NotificationEntry entry,
|
@NonNull SmartActions smartActions, SmartReplyController smartReplyController,
|
||||||
HeadsUpManager headsUpManager, boolean delayOnClickListener) {
|
NotificationEntry entry, HeadsUpManager headsUpManager, boolean delayOnClickListener) {
|
||||||
List<Button> buttons = new ArrayList<>();
|
List<Button> buttons = new ArrayList<>();
|
||||||
int numSmartActions = smartActions.actions.size();
|
int numSmartActions = smartActions.actions.size();
|
||||||
for (int n = 0; n < numSmartActions; n++) {
|
for (int n = 0; n < numSmartActions; n++) {
|
||||||
Notification.Action action = smartActions.actions.get(n);
|
Notification.Action action = smartActions.actions.get(n);
|
||||||
if (action.actionIntent != null) {
|
if (action.actionIntent != null) {
|
||||||
buttons.add(inflateActionButton(
|
buttons.add(inflateActionButton(
|
||||||
this, getContext(), n, smartActions, smartReplyController, entry,
|
this, getContext(), packageContext, n, smartActions, smartReplyController,
|
||||||
headsUpManager, delayOnClickListener));
|
entry, headsUpManager, delayOnClickListener));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return buttons;
|
return buttons;
|
||||||
@@ -327,7 +327,7 @@ public class SmartReplyView extends ViewGroup {
|
|||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
static Button inflateActionButton(SmartReplyView smartReplyView, Context context,
|
static Button inflateActionButton(SmartReplyView smartReplyView, Context context,
|
||||||
int actionIndex, SmartActions smartActions,
|
Context packageContext, int actionIndex, SmartActions smartActions,
|
||||||
SmartReplyController smartReplyController, NotificationEntry entry,
|
SmartReplyController smartReplyController, NotificationEntry entry,
|
||||||
HeadsUpManager headsUpManager, boolean useDelayedOnClickListener) {
|
HeadsUpManager headsUpManager, boolean useDelayedOnClickListener) {
|
||||||
Notification.Action action = smartActions.actions.get(actionIndex);
|
Notification.Action action = smartActions.actions.get(actionIndex);
|
||||||
@@ -335,7 +335,9 @@ public class SmartReplyView extends ViewGroup {
|
|||||||
R.layout.smart_action_button, smartReplyView, false);
|
R.layout.smart_action_button, smartReplyView, false);
|
||||||
button.setText(action.title);
|
button.setText(action.title);
|
||||||
|
|
||||||
Drawable iconDrawable = action.getIcon().loadDrawable(context);
|
// We received the Icon from the application - so use the Context of the application to
|
||||||
|
// reference icon resources.
|
||||||
|
Drawable iconDrawable = action.getIcon().loadDrawable(packageContext);
|
||||||
// Add the action icon to the Smart Action button.
|
// Add the action icon to the Smart Action button.
|
||||||
int newIconSize = context.getResources().getDimensionPixelSize(
|
int newIconSize = context.getResources().getDimensionPixelSize(
|
||||||
R.dimen.smart_action_button_icon_size);
|
R.dimen.smart_action_button_icon_size);
|
||||||
|
|||||||
@@ -494,6 +494,7 @@ public class SmartReplyViewTest extends SysuiTestCase {
|
|||||||
private void setSmartActions(String[] actionTitles, boolean useDelayedOnClickListener) {
|
private void setSmartActions(String[] actionTitles, boolean useDelayedOnClickListener) {
|
||||||
mView.resetSmartSuggestions(mContainer);
|
mView.resetSmartSuggestions(mContainer);
|
||||||
List<Button> actions = mView.inflateSmartActions(
|
List<Button> actions = mView.inflateSmartActions(
|
||||||
|
getContext(),
|
||||||
new SmartReplyView.SmartActions(createActions(actionTitles), false),
|
new SmartReplyView.SmartActions(createActions(actionTitles), false),
|
||||||
mLogger,
|
mLogger,
|
||||||
mEntry,
|
mEntry,
|
||||||
@@ -514,6 +515,7 @@ public class SmartReplyViewTest extends SysuiTestCase {
|
|||||||
List<Button> smartSuggestions = inflateSmartReplies(choices, fromAssistant,
|
List<Button> smartSuggestions = inflateSmartReplies(choices, fromAssistant,
|
||||||
useDelayedOnClickListener);
|
useDelayedOnClickListener);
|
||||||
smartSuggestions.addAll(mView.inflateSmartActions(
|
smartSuggestions.addAll(mView.inflateSmartActions(
|
||||||
|
getContext(),
|
||||||
new SmartReplyView.SmartActions(createActions(actionTitles), fromAssistant),
|
new SmartReplyView.SmartActions(createActions(actionTitles), fromAssistant),
|
||||||
mLogger,
|
mLogger,
|
||||||
mEntry,
|
mEntry,
|
||||||
@@ -860,7 +862,7 @@ public class SmartReplyViewTest extends SysuiTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Button inflateActionButton(Notification.Action action) {
|
private Button inflateActionButton(Notification.Action action) {
|
||||||
return SmartReplyView.inflateActionButton(mView, getContext(), 0,
|
return SmartReplyView.inflateActionButton(mView, getContext(), getContext(), 0,
|
||||||
new SmartReplyView.SmartActions(Collections.singletonList(action), false),
|
new SmartReplyView.SmartActions(Collections.singletonList(action), false),
|
||||||
mLogger, mEntry, mHeadsUpManager, true /* useDelayedOnClickListener */);
|
mLogger, mEntry, mHeadsUpManager, true /* useDelayedOnClickListener */);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user