Loading Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,7 @@ java_library { "core/java/android/app/timedetector/ITimeDetectorService.aidl", "core/java/android/app/timezone/ICallback.aidl", "core/java/android/app/timezone/IRulesManager.aidl", "core/java/android/app/timezonedetector/ITimeZoneDetectorService.aidl", "core/java/android/app/usage/ICacheQuotaService.aidl", "core/java/android/app/usage/IStorageStatsManager.aidl", "core/java/android/app/usage/IUsageStatsManager.aidl", Loading core/java/android/app/SystemServiceRegistry.java +8 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.app.job.JobScheduler; import android.app.slice.SliceManager; import android.app.timedetector.TimeDetector; import android.app.timezone.RulesManager; import android.app.timezonedetector.TimeZoneDetector; import android.app.trust.TrustManager; import android.app.usage.IStorageStatsManager; import android.app.usage.IUsageStatsManager; Loading Loading @@ -1006,6 +1007,13 @@ final class SystemServiceRegistry { throws ServiceNotFoundException { return new TimeDetector(); }}); registerService(Context.TIME_ZONE_DETECTOR_SERVICE, TimeZoneDetector.class, new CachedServiceFetcher<TimeZoneDetector>() { @Override public TimeZoneDetector createService(ContextImpl ctx) throws ServiceNotFoundException { return new TimeZoneDetector(); }}); } /** Loading core/java/android/app/timezonedetector/ITimeZoneDetectorService.aidl 0 → 100644 +34 −0 Original line number Diff line number Diff line /* * Copyright (C) 2018 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 android.app.timezonedetector; /** * System private API to comunicate with time zone detector service. * * <p>Used by parts of the Android system with signals associated with the device's time zone to * provide information to the Time Zone Detector Service. * * <p>Use the {@link android.app.timezonedetector.TimeZoneDetector} class rather than going through * this Binder interface directly. See {@link android.app.timezonedetector.TimeZoneDetectorService} * for more complete documentation. * * * {@hide} */ interface ITimeZoneDetectorService { void stubbedCall(); } core/java/android/app/timezonedetector/TimeZoneDetector.java 0 → 100644 +57 −0 Original line number Diff line number Diff line /* * Copyright (C) 2018 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 android.app.timezonedetector; import android.annotation.SystemService; import android.content.Context; import android.os.RemoteException; import android.os.ServiceManager; import android.os.ServiceManager.ServiceNotFoundException; import android.util.Log; /** * The interface through which system components can send signals to the TimeZoneDetectorService. * @hide */ @SystemService(Context.TIME_ZONE_DETECTOR_SERVICE) public final class TimeZoneDetector { private static final String TAG = "timezonedetector.TimeZoneDetector"; private static final boolean DEBUG = false; private final ITimeZoneDetectorService mITimeZoneDetectorService; public TimeZoneDetector() throws ServiceNotFoundException { mITimeZoneDetectorService = ITimeZoneDetectorService.Stub.asInterface( ServiceManager.getServiceOrThrow(Context.TIME_ZONE_DETECTOR_SERVICE)); } /** * Does nothing. * TODO: Remove this when the service implementation is built out. */ public void stubbedCall() { if (DEBUG) { Log.d(TAG, "stubbedCall called"); } try { mITimeZoneDetectorService.stubbedCall(); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } } core/java/android/content/Context.java +10 −0 Original line number Diff line number Diff line Loading @@ -3059,6 +3059,7 @@ public abstract class Context { CROSS_PROFILE_APPS_SERVICE, //@hide: SYSTEM_UPDATE_SERVICE, //@hide: TIME_DETECTOR_SERVICE, //@hide: TIME_ZONE_DETECTOR_SERVICE, }) @Retention(RetentionPolicy.SOURCE) public @interface ServiceName {} Loading Loading @@ -4219,6 +4220,15 @@ public abstract class Context { */ public static final String TIME_DETECTOR_SERVICE = "time_detector"; /** * Use with {@link #getSystemService(String)} to retrieve an * {@link android.app.timezonedetector.ITimeZoneDetectorService}. * @hide * * @see #getSystemService(String) */ public static final String TIME_ZONE_DETECTOR_SERVICE = "time_zone_detector"; /** * Determine whether the given permission is allowed for a particular * process and user ID running in the system. Loading Loading
Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,7 @@ java_library { "core/java/android/app/timedetector/ITimeDetectorService.aidl", "core/java/android/app/timezone/ICallback.aidl", "core/java/android/app/timezone/IRulesManager.aidl", "core/java/android/app/timezonedetector/ITimeZoneDetectorService.aidl", "core/java/android/app/usage/ICacheQuotaService.aidl", "core/java/android/app/usage/IStorageStatsManager.aidl", "core/java/android/app/usage/IUsageStatsManager.aidl", Loading
core/java/android/app/SystemServiceRegistry.java +8 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.app.job.JobScheduler; import android.app.slice.SliceManager; import android.app.timedetector.TimeDetector; import android.app.timezone.RulesManager; import android.app.timezonedetector.TimeZoneDetector; import android.app.trust.TrustManager; import android.app.usage.IStorageStatsManager; import android.app.usage.IUsageStatsManager; Loading Loading @@ -1006,6 +1007,13 @@ final class SystemServiceRegistry { throws ServiceNotFoundException { return new TimeDetector(); }}); registerService(Context.TIME_ZONE_DETECTOR_SERVICE, TimeZoneDetector.class, new CachedServiceFetcher<TimeZoneDetector>() { @Override public TimeZoneDetector createService(ContextImpl ctx) throws ServiceNotFoundException { return new TimeZoneDetector(); }}); } /** Loading
core/java/android/app/timezonedetector/ITimeZoneDetectorService.aidl 0 → 100644 +34 −0 Original line number Diff line number Diff line /* * Copyright (C) 2018 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 android.app.timezonedetector; /** * System private API to comunicate with time zone detector service. * * <p>Used by parts of the Android system with signals associated with the device's time zone to * provide information to the Time Zone Detector Service. * * <p>Use the {@link android.app.timezonedetector.TimeZoneDetector} class rather than going through * this Binder interface directly. See {@link android.app.timezonedetector.TimeZoneDetectorService} * for more complete documentation. * * * {@hide} */ interface ITimeZoneDetectorService { void stubbedCall(); }
core/java/android/app/timezonedetector/TimeZoneDetector.java 0 → 100644 +57 −0 Original line number Diff line number Diff line /* * Copyright (C) 2018 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 android.app.timezonedetector; import android.annotation.SystemService; import android.content.Context; import android.os.RemoteException; import android.os.ServiceManager; import android.os.ServiceManager.ServiceNotFoundException; import android.util.Log; /** * The interface through which system components can send signals to the TimeZoneDetectorService. * @hide */ @SystemService(Context.TIME_ZONE_DETECTOR_SERVICE) public final class TimeZoneDetector { private static final String TAG = "timezonedetector.TimeZoneDetector"; private static final boolean DEBUG = false; private final ITimeZoneDetectorService mITimeZoneDetectorService; public TimeZoneDetector() throws ServiceNotFoundException { mITimeZoneDetectorService = ITimeZoneDetectorService.Stub.asInterface( ServiceManager.getServiceOrThrow(Context.TIME_ZONE_DETECTOR_SERVICE)); } /** * Does nothing. * TODO: Remove this when the service implementation is built out. */ public void stubbedCall() { if (DEBUG) { Log.d(TAG, "stubbedCall called"); } try { mITimeZoneDetectorService.stubbedCall(); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } }
core/java/android/content/Context.java +10 −0 Original line number Diff line number Diff line Loading @@ -3059,6 +3059,7 @@ public abstract class Context { CROSS_PROFILE_APPS_SERVICE, //@hide: SYSTEM_UPDATE_SERVICE, //@hide: TIME_DETECTOR_SERVICE, //@hide: TIME_ZONE_DETECTOR_SERVICE, }) @Retention(RetentionPolicy.SOURCE) public @interface ServiceName {} Loading Loading @@ -4219,6 +4220,15 @@ public abstract class Context { */ public static final String TIME_DETECTOR_SERVICE = "time_detector"; /** * Use with {@link #getSystemService(String)} to retrieve an * {@link android.app.timezonedetector.ITimeZoneDetectorService}. * @hide * * @see #getSystemService(String) */ public static final String TIME_ZONE_DETECTOR_SERVICE = "time_zone_detector"; /** * Determine whether the given permission is allowed for a particular * process and user ID running in the system. Loading