diff options
| -rw-r--r-- | Android.bp | 1 | ||||
| -rw-r--r-- | core/java/com/android/internal/car/ICarServiceHelper.aidl | 24 | ||||
| -rw-r--r-- | services/core/java/com/android/server/car/CarServiceHelperService.java | 91 | ||||
| -rw-r--r-- | services/java/com/android/server/SystemServer.java | 5 |
4 files changed, 3 insertions, 118 deletions
diff --git a/Android.bp b/Android.bp index d5e04f9f4e2d..3d56254417e1 100644 --- a/Android.bp +++ b/Android.bp @@ -373,7 +373,6 @@ java_library { "core/java/com/android/internal/appwidget/IAppWidgetHost.aidl", "core/java/com/android/internal/backup/IBackupTransport.aidl", "core/java/com/android/internal/backup/IObbBackupService.aidl", - "core/java/com/android/internal/car/ICarServiceHelper.aidl", "core/java/com/android/internal/inputmethod/IInputContentUriToken.aidl", "core/java/com/android/internal/net/INetworkWatchlistManager.aidl", "core/java/com/android/internal/policy/IKeyguardDrawnCallback.aidl", diff --git a/core/java/com/android/internal/car/ICarServiceHelper.aidl b/core/java/com/android/internal/car/ICarServiceHelper.aidl deleted file mode 100644 index 9ee330be060b..000000000000 --- a/core/java/com/android/internal/car/ICarServiceHelper.aidl +++ /dev/null @@ -1,24 +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.internal.car; - -/** - * Helper API for car service. Only for itneraction between system server and car service. - * @hide - */ -interface ICarServiceHelper { -} diff --git a/services/core/java/com/android/server/car/CarServiceHelperService.java b/services/core/java/com/android/server/car/CarServiceHelperService.java deleted file mode 100644 index 9392a6a8fcd9..000000000000 --- a/services/core/java/com/android/server/car/CarServiceHelperService.java +++ /dev/null @@ -1,91 +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.server.car; - -import android.content.ComponentName; -import android.content.Context; -import android.content.Intent; -import android.content.ServiceConnection; -import android.os.Binder; -import android.os.IBinder; -import android.os.Parcel; -import android.os.RemoteException; -import android.os.UserHandle; -import android.util.Slog; - -import com.android.internal.car.ICarServiceHelper; -import com.android.server.SystemService; - -/** - * System service side companion service for CarService. - * Starts car service and provide necessary API for CarService. Only for car product. - */ -public class CarServiceHelperService extends SystemService { - private static final String TAG = "CarServiceHelper"; - private static final String CAR_SERVICE_INTERFACE = "android.car.ICar"; - private final ICarServiceHelperImpl mHelper = new ICarServiceHelperImpl(); - private IBinder mCarService; - private final ServiceConnection mCarServiceConnection = new ServiceConnection() { - - @Override - public void onServiceConnected(ComponentName componentName, IBinder iBinder) { - Slog.i(TAG, "**CarService connected**"); - mCarService = iBinder; - // Cannot depend on ICar which is defined in CarService, so handle binder call directly - // instead. - // void setCarServiceHelper(in IBinder helper) - Parcel data = Parcel.obtain(); - data.writeInterfaceToken(CAR_SERVICE_INTERFACE); - data.writeStrongBinder(mHelper.asBinder()); - try { - mCarService.transact(IBinder.FIRST_CALL_TRANSACTION, // setCarServiceHelper - data, null, Binder.FLAG_ONEWAY); - } catch (RemoteException e) { - Slog.w(TAG, "RemoteException from car service", e); - handleCarServiceCrash(); - } - } - - @Override - public void onServiceDisconnected(ComponentName componentName) { - handleCarServiceCrash(); - } - }; - - public CarServiceHelperService(Context context) { - super(context); - } - - @Override - public void onStart() { - Intent intent = new Intent(); - intent.setPackage("com.android.car"); - intent.setAction(CAR_SERVICE_INTERFACE); - if (!getContext().bindServiceAsUser(intent, mCarServiceConnection, Context.BIND_AUTO_CREATE, - UserHandle.SYSTEM)) { - Slog.wtf(TAG, "cannot start car service"); - } - } - - private void handleCarServiceCrash() { - //TODO define recovery bahavior - } - - private class ICarServiceHelperImpl extends ICarServiceHelper.Stub { - //TODO - } -} diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 210fd473ccd4..0a87564996fe 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -65,7 +65,6 @@ import com.android.server.am.ActivityManagerService; import com.android.server.audio.AudioService; import com.android.server.broadcastradio.BroadcastRadioService; import com.android.server.camera.CameraServiceProxy; -import com.android.server.car.CarServiceHelperService; import com.android.server.clipboard.ClipboardService; import com.android.server.connectivity.IpConnectivityMetrics; import com.android.server.coverage.CoverageService; @@ -220,6 +219,8 @@ public final class SystemServer { "com.google.android.things.services.IoTSystemService"; private static final String SLICE_MANAGER_SERVICE_CLASS = "com.android.server.slice.SliceManagerService$Lifecycle"; + private static final String CAR_SERVICE_HELPER_SERVICE_CLASS = + "com.google.android.car.CarServiceHelperService"; private static final String PERSISTENT_DATA_BLOCK_PROP = "ro.frp.pst"; @@ -1762,7 +1763,7 @@ public final class SystemServer { if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE)) { traceBeginAndSlog("StartCarServiceHelperService"); - mSystemServiceManager.startService(CarServiceHelperService.class); + mSystemServiceManager.startService(CAR_SERVICE_HELPER_SERVICE_CLASS); traceEnd(); } |