• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2007 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.stk;
18 
19 import android.content.BroadcastReceiver;
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.internal.telephony.cat.CatLog;
26 
27 /**
28  * Boot completed receiver. used to reset the app install state every time the
29  * device boots.
30  *
31  */
32 public class BootCompletedReceiver extends BroadcastReceiver {
33     private static final String LOG_TAG =
34             new Object(){}.getClass().getEnclosingClass().getSimpleName();
35 
36     @Override
onReceive(Context context, Intent intent)37     public void onReceive(Context context, Intent intent) {
38         String action = intent.getAction();
39         if (action == null) {
40             return;
41         }
42 
43         // make sure the app icon is removed every time the device boots.
44         if (action.equals(Intent.ACTION_BOOT_COMPLETED)) {
45             Bundle args = new Bundle();
46             args.putInt(StkAppService.OPCODE, StkAppService.OP_BOOT_COMPLETED);
47             context.startService(new Intent(context, StkAppService.class)
48                     .putExtras(args));
49             CatLog.d(LOG_TAG, "[ACTION_BOOT_COMPLETED]");
50         } else if(action.equals(Intent.ACTION_USER_INITIALIZE)) {
51             // TODO: http://b/25155491
52             if (!android.os.Process.myUserHandle().isSystem()) {
53                 //Disable package for all secondary users. Package is only required for device
54                 //owner.
55                 context.getPackageManager().setApplicationEnabledSetting(context.getPackageName(),
56                         PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);
57                 return;
58             }
59         }
60     }
61 }
62