• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.content.ComponentName;
20 import android.content.Context;
21 import android.content.Intent;
22 import android.content.pm.PackageManager;
23 import android.os.Bundle;
24 
25 import com.android.settings.notification.RedactionInterstitial;
26 
27 import com.google.android.setupcompat.util.WizardManagerHelper;
28 
29 /**
30  * Setup Wizard's version of RedactionInterstitial screen. It inherits the logic and basic structure
31  * from RedactionInterstitial class, and should remain similar to that behaviorally. This class
32  * should only overload base methods for minor theme and behavior differences specific to Setup
33  * Wizard. Other changes should be done to RedactionInterstitial class instead and let this class
34  * inherit those changes.
35  */
36 public class SetupRedactionInterstitial extends RedactionInterstitial {
37 
38     /**
39      * Set the enabled state of SetupRedactionInterstitial activity to configure whether it is shown
40      * as part of setup wizard's optional steps.
41      */
setEnabled(Context context, boolean enabled)42     public static void setEnabled(Context context, boolean enabled) {
43         PackageManager packageManager = context.getPackageManager();
44         ComponentName componentName = new ComponentName(context, SetupRedactionInterstitial.class);
45         packageManager.setComponentEnabledSetting(
46                 componentName,
47                 enabled ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
48                         : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
49                 PackageManager.DONT_KILL_APP);
50     }
51 
52     @Override
onCreate(Bundle savedInstance)53     protected void onCreate(Bundle savedInstance) {
54         // Only allow to start the activity from Setup Wizard.
55         if (!WizardManagerHelper.isAnySetupWizard(getIntent())) {
56             finish();
57         }
58         super.onCreate(savedInstance);
59     }
60 
61     @Override
getIntent()62     public Intent getIntent() {
63         Intent modIntent = new Intent(super.getIntent());
64         modIntent.putExtra(EXTRA_SHOW_FRAGMENT,
65                 SetupRedactionInterstitialFragment.class.getName());
66         return modIntent;
67     }
68 
69     @Override
isValidFragment(String fragmentName)70     protected boolean isValidFragment(String fragmentName) {
71         return SetupRedactionInterstitialFragment.class.getName().equals(fragmentName);
72     }
73 
74     public static class SetupRedactionInterstitialFragment extends RedactionInterstitialFragment {
75 
76         // Setup wizard specific UI customizations can be done here
77     }
78 }
79