[FRP] Add illustration to lock screen setup

Added the illustration JPG files, and added
SetupWizardUtils.setIllustration method that will change the
illustrations in the layout.

Bug: 18482708
Change-Id: I8c6758113f07cd33f85eaf6bc019e8194d9a17ce
diff --git a/src/com/android/settings/SetupChooseLockGeneric.java b/src/com/android/settings/SetupChooseLockGeneric.java
index 2894f85..c40e7c1a 100644
--- a/src/com/android/settings/SetupChooseLockGeneric.java
+++ b/src/com/android/settings/SetupChooseLockGeneric.java
@@ -87,6 +87,8 @@
         @Override
         public void onViewCreated(View view, Bundle savedInstanceState) {
             super.onViewCreated(view, savedInstanceState);
+            SetupWizardUtils.setIllustration(getActivity(),
+                    R.drawable.setup_illustration_lock_screen);
             SetupWizardUtils.setHeaderText(getActivity(), getActivity().getTitle());
         }
 
diff --git a/src/com/android/settings/SetupChooseLockPassword.java b/src/com/android/settings/SetupChooseLockPassword.java
index ed6fab4..0e53188 100644
--- a/src/com/android/settings/SetupChooseLockPassword.java
+++ b/src/com/android/settings/SetupChooseLockPassword.java
@@ -91,6 +91,8 @@
         @Override
         public void onViewCreated(View view, Bundle savedInstanceState) {
             super.onViewCreated(view, savedInstanceState);
+            SetupWizardUtils.setIllustration(getActivity(),
+                    R.drawable.setup_illustration_lock_screen);
             SetupWizardUtils.setHeaderText(getActivity(), getActivity().getTitle());
         }
 
diff --git a/src/com/android/settings/SetupChooseLockPattern.java b/src/com/android/settings/SetupChooseLockPattern.java
index b44dea1..ccd51fa 100644
--- a/src/com/android/settings/SetupChooseLockPattern.java
+++ b/src/com/android/settings/SetupChooseLockPattern.java
@@ -89,6 +89,8 @@
         @Override
         public void onViewCreated(View view, Bundle savedInstanceState) {
             super.onViewCreated(view, savedInstanceState);
+            SetupWizardUtils.setIllustration(getActivity(),
+                    R.drawable.setup_illustration_lock_screen);
             SetupWizardUtils.setHeaderText(getActivity(), getActivity().getTitle());
         }
 
diff --git a/src/com/android/settings/SetupEncryptionInterstitial.java b/src/com/android/settings/SetupEncryptionInterstitial.java
index 53548bd..1e9a463 100644
--- a/src/com/android/settings/SetupEncryptionInterstitial.java
+++ b/src/com/android/settings/SetupEncryptionInterstitial.java
@@ -96,6 +96,8 @@
         @Override
         public void onViewCreated(View view, Bundle savedInstanceState) {
             super.onViewCreated(view, savedInstanceState);
+            SetupWizardUtils.setIllustration(getActivity(),
+                    R.drawable.setup_illustration_lock_screen);
             SetupWizardUtils.setHeaderText(getActivity(), R.string.encryption_interstitial_header);
         }
     }
diff --git a/src/com/android/settings/SetupRedactionInterstitial.java b/src/com/android/settings/SetupRedactionInterstitial.java
index 96f4dff..453e729 100644
--- a/src/com/android/settings/SetupRedactionInterstitial.java
+++ b/src/com/android/settings/SetupRedactionInterstitial.java
@@ -22,7 +22,6 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.res.Resources;
-import android.graphics.Color;
 import android.os.Bundle;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -96,6 +95,8 @@
         @Override
         public void onViewCreated(View view, Bundle savedInstanceState) {
             super.onViewCreated(view, savedInstanceState);
+            SetupWizardUtils.setIllustration(getActivity(),
+                    R.drawable.setup_illustration_lock_screen);
             SetupWizardUtils.setHeaderText(getActivity(), R.string.notification_section_header);
         }
     }
diff --git a/src/com/android/settings/SetupWizardUtils.java b/src/com/android/settings/SetupWizardUtils.java
index 0f54e63..3d44125 100644
--- a/src/com/android/settings/SetupWizardUtils.java
+++ b/src/com/android/settings/SetupWizardUtils.java
@@ -16,12 +16,17 @@
 
 package com.android.settings;
 
+import com.android.settings.widget.SetupWizardIllustration;
 import com.android.setupwizard.navigationbar.SetupWizardNavBar;
 
 
 import android.app.Activity;
 import android.content.Intent;
 import android.graphics.Color;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.LayerDrawable;
+import android.view.Gravity;
 import android.view.Window;
 import android.widget.TextView;
 
@@ -109,4 +114,24 @@
         toIntent.putExtra(EXTRA_USE_IMMERSIVE_MODE,
                 fromIntent.getBooleanExtra(EXTRA_USE_IMMERSIVE_MODE, false));
     }
+
+    public static void setIllustration(Activity activity, int asset) {
+        SetupWizardIllustration illustration =
+                (SetupWizardIllustration) activity.findViewById(R.id.setup_illustration);
+        if (illustration != null) {
+            Drawable drawable = activity.getDrawable(R.drawable.setup_illustration);
+            Drawable newIllustration = activity.getDrawable(asset);
+            if (drawable instanceof LayerDrawable) {
+                LayerDrawable layers = (LayerDrawable) drawable;
+                Drawable oldIllustration = layers.findDrawableByLayerId(R.id.illustration_image);
+                if (newIllustration instanceof BitmapDrawable
+                        && oldIllustration instanceof BitmapDrawable) {
+                    final int gravity = ((BitmapDrawable) oldIllustration).getGravity();
+                    ((BitmapDrawable) newIllustration).setGravity(gravity);
+                }
+                layers.setDrawableByLayerId(R.id.illustration_image, newIllustration);
+                illustration.setForeground(layers);
+            }
+        }
+    }
 }