1 /*
2  * Copyright (C) 2018 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 android.app.timedetector;
18 
19 import android.app.time.ExternalTimeSuggestion;
20 import android.app.time.TimeCapabilitiesAndConfig;
21 import android.app.time.TimeConfiguration;
22 import android.app.timedetector.GnssTimeSuggestion;
23 import android.app.timedetector.ManualTimeSuggestion;
24 import android.app.timedetector.NetworkTimeSuggestion;
25 import android.app.timedetector.TelephonyTimeSuggestion;
26 
27 /**
28  * System private API to communicate with time detector service.
29  *
30  * <p>Used by parts of the Android system with signals associated with the device's time to provide
31  * information to the Time Detector Service.
32  *
33  * <p>Use the {@link android.app.timedetector.TimeDetector} class rather than going through
34  * this Binder interface directly. See {@link android.app.timedetector.TimeDetectorService} for
35  * more complete documentation.
36  *
37  *
38  * {@hide}
39  */
40 interface ITimeDetectorService {
getCapabilitiesAndConfig()41   TimeCapabilitiesAndConfig getCapabilitiesAndConfig();
updateConfiguration(in TimeConfiguration timeConfiguration)42   boolean updateConfiguration(in TimeConfiguration timeConfiguration);
43 
suggestExternalTime( in ExternalTimeSuggestion timeSuggestion)44   void suggestExternalTime( in ExternalTimeSuggestion timeSuggestion);
suggestGnssTime(in GnssTimeSuggestion timeSuggestion)45   void suggestGnssTime(in GnssTimeSuggestion timeSuggestion);
suggestManualTime(in ManualTimeSuggestion timeSuggestion)46   boolean suggestManualTime(in ManualTimeSuggestion timeSuggestion);
suggestNetworkTime(in NetworkTimeSuggestion timeSuggestion)47   void suggestNetworkTime(in NetworkTimeSuggestion timeSuggestion);
suggestTelephonyTime(in TelephonyTimeSuggestion timeSuggestion)48   void suggestTelephonyTime(in TelephonyTimeSuggestion timeSuggestion);
49 }
50