diff options
Diffstat (limited to 'guest/monitoring/cuttlefish_service/java/com/android/google/gce/gceservice/GceService.java')
-rw-r--r-- | guest/monitoring/cuttlefish_service/java/com/android/google/gce/gceservice/GceService.java | 157 |
1 files changed, 0 insertions, 157 deletions
diff --git a/guest/monitoring/cuttlefish_service/java/com/android/google/gce/gceservice/GceService.java b/guest/monitoring/cuttlefish_service/java/com/android/google/gce/gceservice/GceService.java deleted file mode 100644 index b070377e..00000000 --- a/guest/monitoring/cuttlefish_service/java/com/android/google/gce/gceservice/GceService.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.android.google.gce.gceservice; - -import android.app.Service; -import android.bluetooth.BluetoothAdapter; -import android.content.Intent; -import android.content.IntentFilter; -import android.net.ConnectivityManager; -import android.util.Log; -import android.os.Binder; -import android.os.IBinder; -import java.io.FileDescriptor; -import java.io.PrintWriter; -import java.util.List; - -/** - * Service is started by the BootCompletedReceiver at the end of Android Boot process. - * Responsible for final configuration changes and emitting final BOOT_COMPLETED message. - */ -public class GceService extends Service { - private static final String LOG_TAG = "GceService"; - /* Intent sent by the BootCompletedReceiver upon receiving ACTION_BOOT_COMPLETED broadcast. */ - public static final String INTENT_ACTION_CONFIGURE = "com.android.google.gce.gceservice.CONFIGURE"; - public static final String INTENT_ACTION_NETWORK_CHANGED = "com.android.google.gce.gceservice.NETWORK_CHANGED"; - public static final String INTENT_ACTION_BLUETOOTH_CHANGED = "com.android.google.gce.gceservice.BLUETOOTH_CHANGED"; - private static final int NETWORK_OR_BOOT_TIMEOUT = 30; - - private final JobExecutor mExecutor = new JobExecutor(); - private final LocationServicesManager mLocationServices = new LocationServicesManager(this); - private final PackageVerifierManager mPackageVerifier = new PackageVerifierManager(this); - private final PackageVerificationConsentEnforcer mConsentEnforcer = new PackageVerificationConsentEnforcer(this); - private final BootReporter mBootReporter = new BootReporter(); - private final GceBroadcastReceiver mBroadcastReceiver = new GceBroadcastReceiver(); - private final BluetoothChecker mBluetoothChecker = new BluetoothChecker(); - private final TombstoneChecker mTombstoneChecker = new TombstoneChecker(); - - private ConnectivityChecker mConnChecker; - private GceWifiManager mWifiManager = null; - private String mMostRecentAction = null; - - public GceService() {} - - - @Override - public void onCreate() { - try { - super.onCreate(); - mBootReporter.reportBootStarted(); - registerBroadcastReceivers(); - - mConnChecker = new ConnectivityChecker(this, mBootReporter); - mWifiManager = new GceWifiManager(this, mBootReporter, mExecutor); - - mExecutor.schedule(mLocationServices); - mExecutor.schedule(mPackageVerifier); - mExecutor.schedule(mConsentEnforcer); - mExecutor.schedule(mWifiManager); - mExecutor.schedule(mBluetoothChecker); - mExecutor.schedule(mConnChecker); - // TODO(ender): TombstoneChecker is disabled, because we no longer have the code that - // produces /ts_snap.txt file. We need to rethink how TombstoneChecker should work. - // mExecutor.schedule(mTombstoneChecker); - - mExecutor.schedule(mBootReporter, - mLocationServices.getLocationServicesReady(), - mPackageVerifier.getPackageVerifierReady(), - mBluetoothChecker.getEnabled() - // mTombstoneChecker.getTombstoneResult() - ); - } catch (Exception e) { - Log.e(LOG_TAG, "Exception caught", e); - } - } - - - @Override - public IBinder onBind(Intent intent) { - return null; - } - - - /** Register broadcast listeners. - * - * Certain intents can no longer be used to start a service or activity, but - * can still be registered for, such as CONNECTIVITY_ACTION (Android N). - */ - private void registerBroadcastReceivers() { - IntentFilter filter = new IntentFilter(); - filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); - filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED); - this.registerReceiver(mBroadcastReceiver, filter); - } - - - /** StartService entry point. - */ - @Override - public int onStartCommand(Intent intent, int flags, int startId) { - if (intent != null) { - mMostRecentAction = intent.getAction(); - } else { - Log.w(LOG_TAG, "Previous execution failed. Retrying."); - } - - if (mMostRecentAction == null) { - Log.e(LOG_TAG, "Missing intent action."); - } - - if (INTENT_ACTION_CONFIGURE.equals(mMostRecentAction)) { - mExecutor.schedule(mConnChecker); - } else if (INTENT_ACTION_NETWORK_CHANGED.equals(mMostRecentAction)) { - mExecutor.schedule(mConnChecker); - } else if (INTENT_ACTION_BLUETOOTH_CHANGED.equals(mMostRecentAction)) { - mExecutor.schedule(mBluetoothChecker); - } - - /* If anything goes wrong, make sure we receive intent again. */ - return Service.START_STICKY; - } - - /** Dump the virtual device state - */ - @Override - protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) { - pw.println("Boot reporter:"); - List<String> messageList = mBootReporter.getMessageList(); - for (int i = 0; i < messageList.size(); i++) { - pw.println(" " + messageList.get(i)); - } - pw.println(""); - pw.println("Current system service state:"); - pw.println(" Location service ready: " - + mLocationServices.getLocationServicesReady().isDone()); - pw.println(" Package verifier ready: " - + mPackageVerifier.getPackageVerifierReady().isDone()); - pw.println(" Network connected: " + mConnChecker.getConnected().isDone()); - pw.println(" WiFi configured: " + mWifiManager.getWifiReady().isDone()); - pw.println(" Bluetooth enabled: " + mBluetoothChecker.getEnabled().isDone()); - pw.println(" Tombstone dropped (on boot): " - + !mTombstoneChecker.getTombstoneResult().isDone()); - pw.println(""); - } -} |