Skip to content

Commit

Permalink
Settings: Fix NPE in SliceHalfCardRendererHelper
Browse files Browse the repository at this point in the history
msg: java.lang.NullPointerException: Attempt to invoke virtual method 'android.graphics.drawable.Drawable androidx.core.graphics.drawable.IconCompat.loadDrawable(android.content.Context)' on a null object reference
stacktrace: java.lang.NullPointerException: Attempt to invoke virtual method 'android.graphics.drawable.Drawable androidx.core.graphics.drawable.IconCompat.loadDrawable(android.content.Context)' on a null object reference
	at com.android.settings.homepage.contextualcards.slices.SliceHalfCardRendererHelper.bindView(SliceHalfCardRendererHelper.java:60)
	at com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer.lambda$bindView$0$SliceContextualCardRenderer(SliceContextualCardRenderer.java:140)
	at com.android.settings.homepage.contextualcards.slices.-$$Lambda$SliceContextualCardRenderer$Suc5qG_b2ywDyecCCfO1YnSa0M4.onChanged(Unknown Source:10)
	at androidx.lifecycle.LiveData.considerNotify(LiveData.java:131)
	at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:149)
	at androidx.lifecycle.LiveData.setValue(LiveData.java:307)
	at androidx.lifecycle.LiveData$1.run(LiveData.java:91)
	at android.os.Handler.handleCallback(Handler.java:883)
	at android.os.Handler.dispatchMessage(Handler.java:100)
	at android.os.Looper.loop(Looper.java:214)
	at android.app.ActivityThread.main(ActivityThread.java:7356)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:915)

Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
  • Loading branch information
SKULSHADY committed Aug 15, 2020
1 parent 4ac078a commit 114e4c1
Showing 1 changed file with 17 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -57,23 +57,25 @@ void bindView(RecyclerView.ViewHolder holder, ContextualCard card, Slice slice)
final HalfCardViewHolder view = (HalfCardViewHolder) holder;
final SliceMetadata sliceMetadata = SliceMetadata.from(mContext, slice);
final SliceAction primaryAction = sliceMetadata.getPrimaryAction();
view.icon.setImageDrawable(primaryAction.getIcon().loadDrawable(mContext));
view.title.setText(primaryAction.getTitle());
view.content.setOnClickListener(v -> {
try {
primaryAction.getAction().send();
} catch (PendingIntent.CanceledException e) {
Log.w(TAG, "Failed to start intent " + primaryAction.getTitle());
}
final String log = ContextualCardLogUtils.buildCardClickLog(card, 0 /* row */,
EventInfo.ACTION_TYPE_CONTENT, view.getAdapterPosition());
if (mContext != null) {
view.icon.setImageDrawable(primaryAction.getIcon().loadDrawable(mContext));
view.title.setText(primaryAction.getTitle());
view.content.setOnClickListener(v -> {
try {
primaryAction.getAction().send();
} catch (PendingIntent.CanceledException e) {
Log.w(TAG, "Failed to start intent " + primaryAction.getTitle());
}
final String log = ContextualCardLogUtils.buildCardClickLog(card, 0 /* row */,
EventInfo.ACTION_TYPE_CONTENT, view.getAdapterPosition());

final MetricsFeatureProvider metricsFeatureProvider =
FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
final MetricsFeatureProvider metricsFeatureProvider =
FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();

metricsFeatureProvider.action(mContext,
SettingsEnums.ACTION_CONTEXTUAL_CARD_CLICK, log);
});
metricsFeatureProvider.action(mContext,
SettingsEnums.ACTION_CONTEXTUAL_CARD_CLICK, log);
});
}
}

static class HalfCardViewHolder extends RecyclerView.ViewHolder {
Expand Down

0 comments on commit 114e4c1

Please sign in to comment.