diff options
Diffstat (limited to 'src/com/android/settings/SetupWizardUtils.java')
-rw-r--r-- | src/com/android/settings/SetupWizardUtils.java | 25 |
1 files changed, 25 insertions, 0 deletions
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 @@ public class SetupWizardUtils { 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); + } + } + } } |