summaryrefslogtreecommitdiffstats
path: root/java/com/android/incallui/answer/impl/hint/PawImageLoaderImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/incallui/answer/impl/hint/PawImageLoaderImpl.java')
-rw-r--r--java/com/android/incallui/answer/impl/hint/PawImageLoaderImpl.java25
1 files changed, 21 insertions, 4 deletions
diff --git a/java/com/android/incallui/answer/impl/hint/PawImageLoaderImpl.java b/java/com/android/incallui/answer/impl/hint/PawImageLoaderImpl.java
index 21154cade..05358d831 100644
--- a/java/com/android/incallui/answer/impl/hint/PawImageLoaderImpl.java
+++ b/java/com/android/incallui/answer/impl/hint/PawImageLoaderImpl.java
@@ -24,7 +24,9 @@ import android.os.Build.VERSION_CODES;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import com.android.dialer.common.Assert;
+import com.android.dialer.common.LogUtil;
import com.android.dialer.util.DialerUtils;
+import com.android.incallui.answer.impl.hint.PawSecretCodeListener.PawType;
/** Decrypt the event payload to be shown if in a specific time range and the key is received. */
@TargetApi(VERSION_CODES.M)
@@ -40,10 +42,25 @@ public final class PawImageLoaderImpl implements PawImageLoader {
if (!preferences.getBoolean(PawSecretCodeListener.PAW_ENABLED_WITH_SECRET_CODE_KEY, false)) {
return null;
}
- int drawableId = preferences.getInt(PawSecretCodeListener.PAW_DRAWABLE_ID_KEY, 0);
- if (drawableId == 0) {
- return null;
+ @PawType
+ int pawType =
+ preferences.getInt(PawSecretCodeListener.PAW_TYPE, PawSecretCodeListener.PAW_TYPE_INVALID);
+
+ if (pawType == PawSecretCodeListener.PAW_TYPE_INVALID) {
+ LogUtil.i("PawImageLoaderImpl.loadPayload", "paw type not found, rerolling");
+ PawSecretCodeListener.selectPawType(preferences);
+ pawType =
+ preferences.getInt(
+ PawSecretCodeListener.PAW_TYPE, PawSecretCodeListener.PAW_TYPE_INVALID);
+ }
+
+ switch (pawType) {
+ case PawSecretCodeListener.PAW_TYPE_CAT:
+ return context.getDrawable(R.drawable.cat_paw);
+ case PawSecretCodeListener.PAW_TYPE_DOG:
+ return context.getDrawable(R.drawable.dog_paw);
+ default:
+ throw Assert.createAssertionFailException("unknown paw type " + pawType);
}
- return context.getDrawable(drawableId);
}
}