1 /* 2 * Copyright (C) 2014 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License 15 */ 16 17 package com.android.settings; 18 19 import android.app.Activity; 20 import android.app.Dialog; 21 import android.content.Intent; 22 23 import com.android.setupwizardlib.util.SystemBarHelper; 24 import com.android.setupwizardlib.util.WizardManagerHelper; 25 26 public class SetupWizardUtils { 27 private static final String TAG = "SetupWizardUtils"; 28 29 // From WizardManager (must match constants maintained there) 30 public static final String EXTRA_SCRIPT_URI = "scriptUri"; 31 isUsingWizardManager(Activity activity)32 public static boolean isUsingWizardManager(Activity activity) { 33 return activity.getIntent().hasExtra(EXTRA_SCRIPT_URI); 34 } 35 getTheme(Intent intent)36 public static int getTheme(Intent intent) { 37 if (WizardManagerHelper.isLightTheme(intent, true)) { 38 return R.style.SetupWizardTheme_Light; 39 } else { 40 return R.style.SetupWizardTheme; 41 } 42 } 43 getTransparentTheme(Intent intent)44 public static int getTransparentTheme(Intent intent) { 45 if (WizardManagerHelper.isLightTheme(intent, true)) { 46 return R.style.SetupWizardTheme_Light_Transparent; 47 } else { 48 return R.style.SetupWizardTheme_Transparent; 49 } 50 } 51 52 /** 53 * Sets the immersive mode related flags based on the extra in the intent which started the 54 * activity. 55 */ setImmersiveMode(Activity activity)56 public static void setImmersiveMode(Activity activity) { 57 final boolean useImmersiveMode = activity.getIntent().getBooleanExtra( 58 WizardManagerHelper.EXTRA_USE_IMMERSIVE_MODE, false); 59 if (useImmersiveMode) { 60 SystemBarHelper.hideSystemBars(activity.getWindow()); 61 } 62 } 63 applyImmersiveFlags(final Dialog dialog)64 public static void applyImmersiveFlags(final Dialog dialog) { 65 SystemBarHelper.hideSystemBars(dialog); 66 } 67 copySetupExtras(Intent fromIntent, Intent toIntent)68 public static void copySetupExtras(Intent fromIntent, Intent toIntent) { 69 toIntent.putExtra(WizardManagerHelper.EXTRA_THEME, 70 fromIntent.getStringExtra(WizardManagerHelper.EXTRA_THEME)); 71 toIntent.putExtra(WizardManagerHelper.EXTRA_USE_IMMERSIVE_MODE, 72 fromIntent.getBooleanExtra(WizardManagerHelper.EXTRA_USE_IMMERSIVE_MODE, false)); 73 } 74 } 75