Merge "Add system_file_type" am: d14b18d80e am: 956e842405
am: ce77dce5e7
Change-Id: Ie9c1894868034f923c684fbc8f33621ac1840820
diff --git a/car-lib/api/current.txt b/car-lib/api/current.txt
index 57975a2..6744238 100644
--- a/car-lib/api/current.txt
+++ b/car-lib/api/current.txt
@@ -493,9 +493,9 @@
public static final class CarSettings.Global {
ctor public CarSettings.Global();
- field public static final java.lang.String KEY_GARAGE_MODE_ENABLED = "android.car.GARAGE_MODE_ENABLED";
- field public static final java.lang.String KEY_GARAGE_MODE_MAINTENANCE_WINDOW = "android.car.GARAGE_MODE_MAINTENANCE_WINDOW";
- field public static final java.lang.String KEY_GARAGE_MODE_WAKE_UP_TIME = "android.car.GARAGE_MODE_WAKE_UP_TIME";
+ field public static final deprecated java.lang.String KEY_GARAGE_MODE_ENABLED = "android.car.GARAGE_MODE_ENABLED";
+ field public static final deprecated java.lang.String KEY_GARAGE_MODE_MAINTENANCE_WINDOW = "android.car.GARAGE_MODE_MAINTENANCE_WINDOW";
+ field public static final deprecated java.lang.String KEY_GARAGE_MODE_WAKE_UP_TIME = "android.car.GARAGE_MODE_WAKE_UP_TIME";
}
public final class SpeedBumpConfiguration implements android.os.Parcelable {
diff --git a/car-lib/api/system-current.txt b/car-lib/api/system-current.txt
index df6b85e..c4c4385 100644
--- a/car-lib/api/system-current.txt
+++ b/car-lib/api/system-current.txt
@@ -693,7 +693,7 @@
}
public static abstract interface CarPowerManager.CarPowerStateListener {
- method public abstract void onStateChanged(int);
+ method public abstract void onStateChanged(int, java.util.concurrent.CompletableFuture<java.lang.Void>);
field public static final int SHUTDOWN_CANCELLED = 0; // 0x0
field public static final int SHUTDOWN_ENTER = 1; // 0x1
field public static final int SUSPEND_ENTER = 2; // 0x2
diff --git a/car-lib/src/android/car/VehicleHvacFanDirection.java b/car-lib/src/android/car/VehicleHvacFanDirection.java
new file mode 100644
index 0000000..1de111b
--- /dev/null
+++ b/car-lib/src/android/car/VehicleHvacFanDirection.java
@@ -0,0 +1,29 @@
+/*
+ * 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.car;
+
+/**
+ * Bit flags for fan direction.
+ * This constant must be used with HVAC_FAN_DIRECTION property in {@link VehiclePropertyIds}.
+ * @hide
+ */
+public final class VehicleHvacFanDirection {
+ public static final int FACE = 0x1;
+ public static final int FLOOR = 0x2;
+ public static final int DEFROST = 0x4;
+
+ private VehicleHvacFanDirection() {}
+}
diff --git a/car-lib/src/android/car/drivingstate/CarUxRestrictions.java b/car-lib/src/android/car/drivingstate/CarUxRestrictions.java
index 87dfa3a..acccfdd 100644
--- a/car-lib/src/android/car/drivingstate/CarUxRestrictions.java
+++ b/car-lib/src/android/car/drivingstate/CarUxRestrictions.java
@@ -328,12 +328,14 @@
dest.writeInt(mMaxContentDepth);
}
- public static final Parcelable.Creator<CarUxRestrictions> CREATOR
- = new Parcelable.Creator<CarUxRestrictions>() {
+ public static final Parcelable.Creator<CarUxRestrictions> CREATOR =
+ new Parcelable.Creator<CarUxRestrictions>() {
+ @Override
public CarUxRestrictions createFromParcel(Parcel in) {
return new CarUxRestrictions(in);
}
+ @Override
public CarUxRestrictions[] newArray(int size) {
return new CarUxRestrictions[size];
}
diff --git a/car-lib/src/android/car/hardware/CarVendorExtensionManager.java b/car-lib/src/android/car/hardware/CarVendorExtensionManager.java
index 9f06764..5e07ace 100644
--- a/car-lib/src/android/car/hardware/CarVendorExtensionManager.java
+++ b/car-lib/src/android/car/hardware/CarVendorExtensionManager.java
@@ -106,7 +106,6 @@
if (mCallbacks.isEmpty()) {
mListenerToBase = new CarPropertyEventListenerToBase(this);
}
-
List<CarPropertyConfig> configs = mPropertyManager.getPropertyList();
for (CarPropertyConfig c : configs) {
// Register each individual propertyId
diff --git a/car-lib/src/android/car/hardware/cabin/CarCabinManager.java b/car-lib/src/android/car/hardware/cabin/CarCabinManager.java
index 1dee2b0..7d5715f 100644
--- a/car-lib/src/android/car/hardware/cabin/CarCabinManager.java
+++ b/car-lib/src/android/car/hardware/cabin/CarCabinManager.java
@@ -496,8 +496,6 @@
mCarPropertyMgr.registerListener(mListenerToBase, c.getPropertyId(), 0);
}
mCallbacks.add(callback);
-
-
}
/**
@@ -510,7 +508,7 @@
mCallbacks.remove(callback);
List<CarPropertyConfig> configs = getPropertyList();
for (CarPropertyConfig c : configs) {
- // Register each individual propertyId
+ // Register each individual propertyId
mCarPropertyMgr.unregisterListener(mListenerToBase, c.getPropertyId());
}
if (mCallbacks.isEmpty()) {
diff --git a/car-lib/src/android/car/hardware/hvac/CarHvacManager.java b/car-lib/src/android/car/hardware/hvac/CarHvacManager.java
index c953d6f..f86640f 100644
--- a/car-lib/src/android/car/hardware/hvac/CarHvacManager.java
+++ b/car-lib/src/android/car/hardware/hvac/CarHvacManager.java
@@ -54,10 +54,6 @@
* HVAC property IDs for get/set methods
*/
/**
- * Global HVAC properties. There is only a single instance in a car.
- * Global properties are in the range of 0-0x3FFF.
- */
- /**
* Mirror defrosters state, bool type
* true indicates mirror defroster is on
*/
@@ -81,10 +77,6 @@
public static final int ID_TEMPERATURE_DISPLAY_UNITS = 0x1140050e;
/**
- * ID_ZONED_* represents properties available on a per-zone basis. All zones in a car are
- * not required to have the same properties. Zone specific properties start at 0x4000.
- */
- /**
* Temperature setpoint, float type
* Temperature set by the user, units are in degrees Celsius.
*/
@@ -325,7 +317,7 @@
}
List<CarPropertyConfig> configs = getPropertyList();
for (CarPropertyConfig c : configs) {
- // Register each individual propertyId
+ // Register each individual propertyId
mCarPropertyMgr.registerListener(mListenerToBase, c.getPropertyId(), 0);
}
mCallbacks.add(callback);
@@ -343,6 +335,7 @@
for (CarPropertyConfig c : configs) {
// Register each individual propertyId
mCarPropertyMgr.unregisterListener(mListenerToBase, c.getPropertyId());
+
}
} catch (Exception e) {
Log.e(TAG, "getPropertyList exception ", e);
diff --git a/car-lib/src/android/car/hardware/power/CarPowerManager.java b/car-lib/src/android/car/hardware/power/CarPowerManager.java
index 38c5cd1..e4d26ea 100644
--- a/car-lib/src/android/car/hardware/power/CarPowerManager.java
+++ b/car-lib/src/android/car/hardware/power/CarPowerManager.java
@@ -16,15 +16,7 @@
package android.car.hardware.power;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.ref.WeakReference;
-import java.util.concurrent.Executor;
-
-import com.android.internal.annotations.GuardedBy;
-
import android.annotation.IntDef;
-import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.car.Car;
import android.car.CarManagerBase;
@@ -32,10 +24,15 @@
import android.content.Context;
import android.os.Handler;
import android.os.IBinder;
-import android.os.Message;
import android.os.RemoteException;
import android.util.Log;
+import com.android.internal.annotations.GuardedBy;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.concurrent.CompletableFuture;
+
/**
* API for receiving power state change notifications.
* @hide
@@ -46,7 +43,7 @@
private final static String TAG = "CarPowerManager";
private CarPowerStateListener mListener;
private final ICarPower mService;
- private Executor mExecutor;
+ private CompletableFuture<Void> mFuture;
@GuardedBy("mLock")
private ICarPowerStateListener mListenerToService;
@@ -97,32 +94,48 @@
/**
* onStateChanged() states. These definitions must match the ones located in the native
* CarPowerManager: packages/services/Car/car-lib/native/CarPowerManager/CarPowerManager.h
- *
*/
/**
* Shutdown is cancelled, return to normal state.
*/
- public static final int SHUTDOWN_CANCELLED = 0;
+ int SHUTDOWN_CANCELLED = 0;
/**
* Enter shutdown state. Application is expected to cleanup and be ready to shutdown.
*/
- public static final int SHUTDOWN_ENTER = 1;
+ int SHUTDOWN_ENTER = 1;
/**
* Enter suspend state. Application is expected to cleanup and be ready to suspend.
*/
- public static final int SUSPEND_ENTER = 2;
+ int SUSPEND_ENTER = 2;
/**
* Wake up from suspend, or resume from a cancelled suspend. Application transitions to
* normal state.
*/
- public static final int SUSPEND_EXIT = 3;
+ int SUSPEND_EXIT = 3;
+ /**
+ * NonInteractive state
+ * @hide
+ */
+ int NON_INTERACTIVE = 4;
+ /**
+ * Interactive state (Full On State)
+ * @hide
+ */
+ int INTERACTIVE = 5;
+ /**
+ * State where system is getting ready for shutdown or suspend
+ * @hide
+ */
+ int SHUTDOWN_PREPARE = 6;
/**
* Called when power state changes
* @param state New power state of device.
- * @param token Opaque identifier to keep track of listener events.
+ * @param future CompletableFuture used by consumer modules to notify CPMS that
+ * they are ready to continue shutting down. CPMS will wait until this future
+ * is completed.
*/
- void onStateChanged(int state);
+ void onStateChanged(int state, CompletableFuture<Void> future);
}
/**
@@ -169,28 +182,39 @@
}
/**
+ * Schedule next wake up time in CarPowerManagementSystem
+ * @throws CarNotConnectedException
+ * @hide
+ */
+ public void scheduleNextWakeupTime(int seconds) throws CarNotConnectedException {
+ try {
+ mService.scheduleNextWakeupTime(seconds);
+ } catch (RemoteException e) {
+ Log.e(TAG, "Exception while scheduling next wakeup time", e);
+ throw new CarNotConnectedException(e);
+ }
+ }
+
+ /**
* Sets a listener to receive power state changes. Only one listener may be set at a time.
- * Caller may add an Executor to allow the callback to run in a seperate thread of execution
- * if the {@link onStateChanged} method will take some time. If no Executor is passed in,
- * the listener will run in the Binder thread and should finish quickly. After
- * {@link onStateChanged} is called, the {@link finished} method will automatically be called
- * to notify {@link CarPowerManagementService} that the application has handled the
- * {@link #SHUTDOWN_ENTER} or {@link #SUSPEND_ENTER} state transitions. Only these two states
- * require a confirmation from the application.
+ * For calls that require completion before continue, we attach a {@link CompletableFuture}
+ * which is being used as a signal that caller is finished and ready to proceed.
+ * Once future is completed, the {@link finished} method will automatically be called to notify
+ * {@link CarPowerManagementService} that the application has handled the
+ * {@link #SHUTDOWN_ENTER} or {@link #SUSPEND_ENTER} state transition.
*
- * @param executor
* @param listener
* @throws CarNotConnectedException, IllegalStateException
* @hide
*/
- public void setListener(CarPowerStateListener listener, Executor executor) throws
+ public void setListener(CarPowerStateListener listener) throws
CarNotConnectedException, IllegalStateException {
synchronized(mLock) {
if (mListenerToService == null) {
ICarPowerStateListener listenerToService = new ICarPowerStateListener.Stub() {
@Override
public void onStateChanged(int state, int token) throws RemoteException {
- handleEvent(state, token);
+ handleStateTransition(state, token);
}
};
try {
@@ -203,9 +227,8 @@
Car.checkCarNotConnectedExceptionFromCarService(ex);
}
}
- if ((mExecutor == null) && (mListener == null)) {
- // Update listener and executor
- mExecutor = executor;
+ if (mListener == null) {
+ // Update listener
mListener = listener;
} else {
throw new IllegalStateException("Listener must be cleared first");
@@ -223,7 +246,7 @@
listenerToService = mListenerToService;
mListenerToService = null;
mListener = null;
- mExecutor = null;
+ cleanupFuture();
}
if (listenerToService == null) {
@@ -241,33 +264,38 @@
}
}
- private void handleEvent(int state, int token) {
- Executor executor;
- synchronized (mLock) {
- executor = mExecutor;
- }
- if (executor != null) {
- executor.execute(() -> {
- handleEventInternal(state, token);
+ private void handleStateTransition(int state, int token) {
+ // Update CompletableFuture. It will recreate it or just clean it up
+ updateFuture(state, token);
+ // Notify user that state has changed and supply future
+ mListener.onStateChanged(state, mFuture);
+ }
+
+ private void updateFuture(int state, int token) {
+ cleanupFuture();
+ if (state == CarPowerStateListener.SHUTDOWN_ENTER
+ || state == CarPowerStateListener.SUSPEND_ENTER) {
+ mFuture = new CompletableFuture<>();
+ mFuture.whenComplete((result, exception) -> {
+ if (exception != null) {
+ Log.e(TAG, "Exception occurred while waiting for future", exception);
+ return;
+ }
+ try {
+ mService.finished(mListenerToService, token);
+ } catch (RemoteException e) {
+ Log.e(TAG, "RemoteException while calling CPMS.finished()", e);
+ }
});
- } else {
- // If no executor provided, run in binder thread. This should only be done for
- // trivial listener logic.
- handleEventInternal(state, token);
}
}
- private void handleEventInternal(int state, int token) {
- mListener.onStateChanged(state);
- if ((state == CarPowerStateListener.SHUTDOWN_ENTER) ||
- (state == CarPowerStateListener.SUSPEND_ENTER)) {
- // Notify service that state change is complete for SHUTDOWN_ENTER and SUSPEND_ENTER
- // states only.
- try {
- mService.finished(mListenerToService, token);
- } catch (RemoteException e) {
- Log.e(TAG, "Exception in finished", e);
+ private void cleanupFuture() {
+ if (mFuture != null) {
+ if (!mFuture.isDone()) {
+ mFuture.cancel(false);
}
+ mFuture = null;
}
}
diff --git a/car-lib/src/android/car/hardware/power/ICarPower.aidl b/car-lib/src/android/car/hardware/power/ICarPower.aidl
index 851ed0c..95f9ec7 100644
--- a/car-lib/src/android/car/hardware/power/ICarPower.aidl
+++ b/car-lib/src/android/car/hardware/power/ICarPower.aidl
@@ -29,4 +29,6 @@
int getBootReason() = 3;
void finished(in ICarPowerStateListener listener, int token) = 4;
+
+ void scheduleNextWakeupTime(int seconds) = 5;
}
diff --git a/car-lib/src/android/car/media/CarAudioManager.java b/car-lib/src/android/car/media/CarAudioManager.java
index 7257255..2b9e5af 100644
--- a/car-lib/src/android/car/media/CarAudioManager.java
+++ b/car-lib/src/android/car/media/CarAudioManager.java
@@ -116,7 +116,7 @@
try {
return mService.getGroupMaxVolume(groupId);
} catch (RemoteException e) {
- Log.e(CarLibLog.TAG_CAR, "getUsageMaxVolume failed", e);
+ Log.e(CarLibLog.TAG_CAR, "getGroupMaxVolume failed", e);
throw new CarNotConnectedException(e);
}
}
@@ -134,7 +134,7 @@
try {
return mService.getGroupMinVolume(groupId);
} catch (RemoteException e) {
- Log.e(CarLibLog.TAG_CAR, "getUsageMinVolume failed", e);
+ Log.e(CarLibLog.TAG_CAR, "getGroupMinVolume failed", e);
throw new CarNotConnectedException(e);
}
}
@@ -155,7 +155,7 @@
try {
return mService.getGroupVolume(groupId);
} catch (RemoteException e) {
- Log.e(CarLibLog.TAG_CAR, "getUsageVolume failed", e);
+ Log.e(CarLibLog.TAG_CAR, "getGroupVolume failed", e);
throw new CarNotConnectedException(e);
}
}
diff --git a/car-lib/src/android/car/settings/CarSettings.java b/car-lib/src/android/car/settings/CarSettings.java
index f5e1037..abbefc1 100644
--- a/car-lib/src/android/car/settings/CarSettings.java
+++ b/car-lib/src/android/car/settings/CarSettings.java
@@ -32,17 +32,24 @@
*/
public static final class Global {
/**
- * Key for when to wake up to run garage mode.
+ * DEPRECATED. Will be removed in Q. Key for when to wake up to run garage mode.
+ * @deprecated not used by GarageMode anymore. Will be removed in Q.
*/
+ @Deprecated
public static final String KEY_GARAGE_MODE_WAKE_UP_TIME =
"android.car.GARAGE_MODE_WAKE_UP_TIME";
/**
- * Key for whether garage mode is enabled.
+ * DEPRECATED. Will be removed in Q. Key for whether garage mode is enabled.
+ * @deprecated not used by GarageMode anymore. Will be removed in Q.
*/
+ @Deprecated
public static final String KEY_GARAGE_MODE_ENABLED = "android.car.GARAGE_MODE_ENABLED";
+
/**
- * Key for garage mode maintenance window.
+ * DEPRECATED. Will be removed in Q. Key for garage mode maintenance window.
+ * @deprecated not used by GarageMode anymore. Will be removed in Q.
*/
+ @Deprecated
public static final String KEY_GARAGE_MODE_MAINTENANCE_WINDOW =
"android.car.GARAGE_MODE_MAINTENANCE_WINDOW";
diff --git a/car-lib/src/android/car/settings/GarageModeSettingsObserver.java b/car-lib/src/android/car/settings/GarageModeSettingsObserver.java
deleted file mode 100644
index 8b58ed6..0000000
--- a/car-lib/src/android/car/settings/GarageModeSettingsObserver.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (C) 2016 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.car.settings;
-
-import android.content.Context;
-import android.database.ContentObserver;
-import android.net.Uri;
-import android.os.Handler;
-import android.provider.Settings;
-
-import java.lang.ref.WeakReference;
-
-/**
- * A content observer for garage mode settings.
- * @hide
- */
-public abstract class GarageModeSettingsObserver extends ContentObserver {
-
- public static final Uri GARAGE_MODE_ENABLED_URI =
- Settings.Global.getUriFor(CarSettings.Global.KEY_GARAGE_MODE_ENABLED);
- public static final Uri GARAGE_MODE_WAKE_UP_TIME_URI =
- Settings.Global.getUriFor(CarSettings.Global.KEY_GARAGE_MODE_WAKE_UP_TIME);
- public static final Uri GARAGE_MODE_MAINTENANCE_WINDOW_URI =
- Settings.Global.getUriFor(CarSettings.Global.KEY_GARAGE_MODE_MAINTENANCE_WINDOW);
-
- public static final Uri[] GARAGE_SETTING_URIS = {GARAGE_MODE_ENABLED_URI,
- GARAGE_MODE_WAKE_UP_TIME_URI, GARAGE_MODE_MAINTENANCE_WINDOW_URI};
-
- private final WeakReference<Context> mContext;
-
- public GarageModeSettingsObserver(Context context, Handler handler) {
- super(handler);
- mContext = new WeakReference<Context>(context);
- }
-
- public void register() {
- if (mContext.get() == null) {
- return;
- }
- for (Uri uri : GARAGE_SETTING_URIS) {
- mContext.get().getContentResolver().registerContentObserver(
- uri, false, this);
- }
- }
-
- public void unregister() {
- if (mContext.get() == null) {
- return;
- }
- mContext.get().getContentResolver().unregisterContentObserver(this);
- }
-
-}
diff --git a/car-lib/src/android/car/test/CarLocationTestHelper.java b/car-lib/src/android/car/test/CarLocationTestHelper.java
new file mode 100644
index 0000000..a5ef4d7
--- /dev/null
+++ b/car-lib/src/android/car/test/CarLocationTestHelper.java
@@ -0,0 +1,42 @@
+/*
+ * 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.car.test;
+
+import android.annotation.TestApi;
+import android.content.Context;
+import android.location.Location;
+import android.location.LocationManager;
+
+/**
+ * Provides a helper method for use in ATS tests which calls {@link LocationManager#injectLocation}
+ * without reflection.
+ *
+ * @hide
+ */
+public class CarLocationTestHelper {
+
+ /**
+ * Calls the {@link LocationManager#injectLocation} API without reflection.
+ *
+ * @hide
+ */
+ @TestApi
+ public static boolean injectLocation(Location location, Context context) {
+ LocationManager locationManager =
+ (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
+ return locationManager.injectLocation(location);
+ }
+}
diff --git a/car-lib/src/android/car/vms/VmsOperationRecorder.java b/car-lib/src/android/car/vms/VmsOperationRecorder.java
index bfb6055..23a089a 100644
--- a/car-lib/src/android/car/vms/VmsOperationRecorder.java
+++ b/car-lib/src/android/car/vms/VmsOperationRecorder.java
@@ -132,6 +132,7 @@
if (isEnabled()) {
try {
JSONObject args = new JSONObject();
+ args.put("publisherId", layersOffering.getPublisherId());
JSONArray offering = toJson(layersOffering);
if (offering.length() > 0) {
args.put("layerDependency", offering);
diff --git a/car-maps-placeholder/AndroidManifest.xml b/car-maps-placeholder/AndroidManifest.xml
index 38caf38..8c96130 100644
--- a/car-maps-placeholder/AndroidManifest.xml
+++ b/car-maps-placeholder/AndroidManifest.xml
@@ -31,6 +31,8 @@
android:resizeableActivity="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.DEFAULT"/>
+ <category android:name="android.intent.category.APP_MAPS" />
</intent-filter>
</activity>
</application>
diff --git a/car-support-lib/Android.bp b/car-support-lib/Android.bp
deleted file mode 100644
index 2d4269e..0000000
--- a/car-support-lib/Android.bp
+++ /dev/null
@@ -1,103 +0,0 @@
-// 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.
-
-java_library_static {
- name: "android.support.car",
- srcs: [
- "src/**/*.java",
- "src/**/I*.aidl",
- ],
- aidl: {
- include_dirs: [
- "system/bt/binder",
- ],
- },
- libs: [
- "android.car",
- ],
- static_libs: [
- "androidx.annotation_annotation",
- ],
- platform_apis: true,
- product_variables: {
- pdk: {
- enabled: false,
- },
- },
- installable: true,
-}
-
-doc_defaults {
- name: "android.support.car-docs-default",
- srcs: [
- "src/**/*.java",
- ],
- libs: [
- "android.car",
- "android.support.car",
- "androidx.annotation_annotation",
- ],
- custom_template: "droiddoc-templates-sdk",
- product_variables: {
- pdk: {
- enabled: false,
- },
- },
-}
-
-droiddoc {
- name: "android.support.car-stubs-docs",
- defaults: ["android.support.car-docs-default"],
- api_tag_name: "ANDROID_SUPPORT_CAR",
- api_filename: "api.txt",
- removed_api_filename: "removed.txt",
- args: "-hide 113 -hide 110 -nodocs -stubpackages android.support.car* ",
- installable: false,
- check_api: {
- current: {
- api_file: "api/current.txt",
- removed_api_file: "api/removed.txt",
- args: " -error 2 -error 3 -error 4 -error 5 -error 6 -error 7 -error 8 -error 9 -error 10 -error 11 " +
- " -error 12 -error 13 -error 14 -error 15 -error 16 -error 17 -error 18 -error 19 -error 20 " +
- " -error 21 -error 23 -error 24 -error 25 -hide 113 ",
- },
- },
-}
-
-droiddoc {
- name: "android.support.car-proguard-docs",
- defaults: ["android.support.car-docs-default"],
- api_tag_name: "ANDROID_SUPPORT_CAR_PROGUARD",
- proguard_filename: "keep_list.proguard",
- create_stubs: false,
-}
-
-// TODO(deanh) support lib should be able to be using public APIs only
-droiddoc {
- name: "android.support.car-docs",
- srcs: [
- "src/**/*.java",
- ],
- libs: [
- "android.car",
- "androidx.annotation_annotation",
- ],
- custom_template: "droiddoc-templates-sdk",
- create_stubs: false,
- product_variables: {
- pdk: {
- enabled: false,
- },
- },
-}
diff --git a/car-support-lib/Android.mk b/car-support-lib/Android.mk
deleted file mode 100644
index cfa40be..0000000
--- a/car-support-lib/Android.mk
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright (C) 2015 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.
-#
-#
-
-#disble build in PDK, should add prebuilts/fullsdk to make this work
-ifneq ($(TARGET_BUILD_PDK),true)
-
-LOCAL_PATH:= $(call my-dir)
-
-# Build prebuilt android.support.car library
-# ---------------------------------------------
-include $(CLEAR_VARS)
-
-LOCAL_AAPT_FLAGS := --auto-add-overlay
-LOCAL_MODULE := android.support.car-prebuilt
-LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-
-LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
-
-#TODO(b/72620511) support lib should be able to be using public APIs only
-#LOCAL_SDK_VERSION := current
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_MANIFEST_FILE := AndroidManifest.xml
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src) $(call all-Iaidl-files-under, src)
-LOCAL_JAVA_LIBRARIES += android.car\
- androidx.annotation_annotation
-
-LOCAL_PROGUARD_ENABLED := custom optimization obfuscation
-LOCAL_PROGUARD_FLAGS := -dontwarn
-LOCAL_PROGUARD_FLAG_FILES := proguard-release.flags proguard-extra-keeps.flags
-
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
-ifeq ($(BOARD_IS_AUTOMOTIVE), true)
- $(call dist-for-goals, dist_files, $(built_aar):android.support.car.aar)
-endif
-
-# Same as above, except without proguard.
-# ---------------------------------------------
-include $(CLEAR_VARS)
-
-LOCAL_AAPT_FLAGS := --auto-add-overlay
-LOCAL_MODULE := android.support.car-1p-prebuilt
-LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-
-LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
-
-#TODO(b/72620511) support lib should be able to be using public APIs only
-#LOCAL_SDK_VERSION := current
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_MANIFEST_FILE := AndroidManifest.xml
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src) $(call all-Iaidl-files-under, src)
-LOCAL_JAVA_LIBRARIES += android.car\
- androidx.annotation_annotation
-
-LOCAL_PROGUARD_ENABLED := disabled
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
-ifeq ($(BOARD_IS_AUTOMOTIVE), true)
- $(call dist-for-goals, dist_files, $(built_aar):android.support.car-1p.aar)
-endif
-
-.PHONY: update-support-car-proguard-api
-update-support-car-proguard-api: $(INTERNAL_PLATFORM_ANDROID_SUPPORT_CAR_PROGUARD_PROGUARD_FILE) | $(ACP)
- @echo $(PRIVATE_CAR_MODULE) copying $(INTERNAL_PLATFORM_ANDROID_SUPPORT_CAR_PROGUARD_PROGUARD_FILE) to $(LOCAL_PATH)/proguard-release.flags
- $(hide) $(ACP) $(INTERNAL_PLATFORM_ANDROID_SUPPORT_CAR_PROGUARD_PROGUARD_FILE) $(LOCAL_PATH)/proguard-release.flags
-
-endif #TARGET_BUILD_PDK
diff --git a/car-support-lib/api/current.txt b/car-support-lib/api/current.txt
deleted file mode 100644
index 7ee1246..0000000
--- a/car-support-lib/api/current.txt
+++ /dev/null
@@ -1,228 +0,0 @@
-package android.support.car {
-
- public class Car {
- method public void connect() throws java.lang.IllegalStateException;
- method public static android.support.car.Car createCar(android.content.Context, android.support.car.CarConnectionCallback, android.os.Handler);
- method public static android.support.car.Car createCar(android.content.Context, android.support.car.CarConnectionCallback);
- method public void disconnect();
- method public java.lang.Object getCarManager(java.lang.String) throws android.support.car.CarNotConnectedException;
- method public <T> T getCarManager(java.lang.Class<T>) throws android.support.car.CarNotConnectedException;
- method public boolean isConnected();
- method public boolean isConnecting();
- field public static final java.lang.String APP_FOCUS_SERVICE = "app_focus";
- field public static final java.lang.String AUDIO_SERVICE = "audio";
- field public static final java.lang.String INFO_SERVICE = "info";
- field public static final java.lang.String NAVIGATION_STATUS_SERVICE = "car_navigation_service";
- field public static final java.lang.String PERMISSION_CAR_NAVIGATION_MANAGER = "android.car.permission.PERMISSION_CAR_NAVIGATION_MANAGER";
- field public static final java.lang.String PERMISSION_VENDOR_EXTENSION = "android.car.permission.CAR_VENDOR_EXTENSION";
- field public static final java.lang.String SENSOR_SERVICE = "sensor";
- }
-
- public abstract class CarAppFocusManager {
- ctor public CarAppFocusManager();
- method public abstract void abandonAppFocus(android.support.car.CarAppFocusManager.OnAppFocusOwnershipCallback, int);
- method public abstract void abandonAppFocus(android.support.car.CarAppFocusManager.OnAppFocusOwnershipCallback);
- method public abstract void addFocusListener(android.support.car.CarAppFocusManager.OnAppFocusChangedListener, int) throws android.support.car.CarNotConnectedException;
- method public abstract boolean isOwningFocus(int, android.support.car.CarAppFocusManager.OnAppFocusOwnershipCallback) throws android.support.car.CarNotConnectedException;
- method public abstract void removeFocusListener(android.support.car.CarAppFocusManager.OnAppFocusChangedListener, int);
- method public abstract void removeFocusListener(android.support.car.CarAppFocusManager.OnAppFocusChangedListener);
- method public abstract int requestAppFocus(int, android.support.car.CarAppFocusManager.OnAppFocusOwnershipCallback) throws android.support.car.CarNotConnectedException, java.lang.SecurityException;
- field public static final int APP_FOCUS_REQUEST_FAILED = 0; // 0x0
- field public static final int APP_FOCUS_REQUEST_SUCCEEDED = 1; // 0x1
- field public static final int APP_FOCUS_TYPE_NAVIGATION = 1; // 0x1
- }
-
- public static abstract interface CarAppFocusManager.OnAppFocusChangedListener {
- method public abstract void onAppFocusChanged(android.support.car.CarAppFocusManager, int, boolean);
- }
-
- public static abstract interface CarAppFocusManager.OnAppFocusOwnershipCallback {
- method public abstract void onAppFocusOwnershipGranted(android.support.car.CarAppFocusManager, int);
- method public abstract void onAppFocusOwnershipLost(android.support.car.CarAppFocusManager, int);
- }
-
- public abstract class CarConnectionCallback {
- ctor public CarConnectionCallback();
- method public abstract void onConnected(android.support.car.Car);
- method public abstract void onDisconnected(android.support.car.Car);
- }
-
- public abstract class CarInfoManager {
- ctor public CarInfoManager();
- method public abstract int getDriverPosition() throws android.support.car.CarNotConnectedException;
- method public abstract float getEvBatteryCapacity() throws android.support.car.CarNotConnectedException;
- method public abstract int[] getEvConnectorTypes() throws android.support.car.CarNotConnectedException;
- method public abstract float getFuelCapacity() throws android.support.car.CarNotConnectedException;
- method public abstract int[] getFuelTypes() throws android.support.car.CarNotConnectedException;
- method public abstract java.lang.String getHeadunitManufacturer() throws android.support.car.CarNotConnectedException;
- method public abstract java.lang.String getHeadunitModel() throws android.support.car.CarNotConnectedException;
- method public abstract java.lang.String getHeadunitSoftwareBuild() throws android.support.car.CarNotConnectedException;
- method public abstract java.lang.String getHeadunitSoftwareVersion() throws android.support.car.CarNotConnectedException;
- method public abstract java.lang.String getManufacturer() throws android.support.car.CarNotConnectedException;
- method public abstract java.lang.String getModel() throws android.support.car.CarNotConnectedException;
- method public abstract java.lang.String getModelYear() throws android.support.car.CarNotConnectedException;
- method public abstract java.lang.String getVehicleId() throws android.support.car.CarNotConnectedException;
- field public static final int DRIVER_SIDE_CENTER = 3; // 0x3
- field public static final int DRIVER_SIDE_LEFT = 1; // 0x1
- field public static final int DRIVER_SIDE_RIGHT = 2; // 0x2
- field public static final int DRIVER_SIDE_UNKNOWN = 0; // 0x0
- }
-
- public class CarNotConnectedException extends java.lang.Exception {
- ctor public CarNotConnectedException();
- ctor public CarNotConnectedException(java.lang.String);
- ctor public CarNotConnectedException(java.lang.String, java.lang.Throwable);
- ctor public CarNotConnectedException(java.lang.Exception);
- }
-
-}
-
-package android.support.car.annotation {
-
- public abstract class ValueTypeDef implements java.lang.annotation.Annotation {
- }
-
- public abstract class VersionDef implements java.lang.annotation.Annotation {
- }
-
-}
-
-package android.support.car.hardware {
-
- public class CarSensorEvent {
- method public android.support.car.hardware.CarSensorEvent.CompassData getCompassData();
- method public android.support.car.hardware.CarSensorEvent.DrivingStatusData getDrivingStatusData();
- method public android.support.car.hardware.CarSensorEvent.NightData getNightData();
- method public android.support.car.hardware.CarSensorEvent.ParkingBrakeData getParkingBrakeData();
- field public static final int DRIVE_STATUS_FULLY_RESTRICTED = 31; // 0x1f
- field public static final int DRIVE_STATUS_LIMIT_MESSAGE_LEN = 16; // 0x10
- field public static final int DRIVE_STATUS_NO_CONFIG = 8; // 0x8
- field public static final int DRIVE_STATUS_NO_KEYBOARD_INPUT = 2; // 0x2
- field public static final int DRIVE_STATUS_NO_VIDEO = 1; // 0x1
- field public static final int DRIVE_STATUS_NO_VOICE_INPUT = 4; // 0x4
- field public static final int DRIVE_STATUS_UNRESTRICTED = 0; // 0x0
- field public static final int INDEX_COMPASS_BEARING = 0; // 0x0
- field public static final int INDEX_COMPASS_PITCH = 1; // 0x1
- field public static final int INDEX_COMPASS_ROLL = 2; // 0x2
- field public static final int INDEX_WHEEL_DISTANCE_FRONT_LEFT = 1; // 0x1
- field public static final int INDEX_WHEEL_DISTANCE_FRONT_RIGHT = 2; // 0x2
- field public static final int INDEX_WHEEL_DISTANCE_REAR_LEFT = 4; // 0x4
- field public static final int INDEX_WHEEL_DISTANCE_REAR_RIGHT = 3; // 0x3
- field public static final int INDEX_WHEEL_DISTANCE_RESET_COUNT = 0; // 0x0
- field public final float[] floatValues;
- field public final int[] intValues;
- field public final long[] longValues;
- field public final int sensorType;
- field public final long timestamp;
- }
-
- public static class CarSensorEvent.CompassData {
- field public final float bearing;
- field public final float pitch;
- field public final float roll;
- field public final long timestamp;
- }
-
- public static class CarSensorEvent.DrivingStatusData {
- method public boolean isConfigurationRestricted();
- method public boolean isFullyRestricted();
- method public boolean isKeyboardRestricted();
- method public boolean isMessageLengthRestricted();
- method public boolean isVideoRestricted();
- method public boolean isVoiceRestricted();
- field public final int status;
- field public final long timestamp;
- }
-
- public static class CarSensorEvent.NightData {
- field public final boolean isNightMode;
- field public final long timestamp;
- }
-
- public static class CarSensorEvent.ParkingBrakeData {
- field public final boolean isEngaged;
- field public final long timestamp;
- }
-
- public abstract class CarSensorManager {
- ctor public CarSensorManager();
- method public abstract boolean addListener(android.support.car.hardware.CarSensorManager.OnSensorChangedListener, int, int) throws android.support.car.CarNotConnectedException, java.lang.IllegalArgumentException;
- method public abstract android.support.car.hardware.CarSensorEvent getLatestSensorEvent(int) throws android.support.car.CarNotConnectedException;
- method public abstract int[] getSupportedSensors() throws android.support.car.CarNotConnectedException;
- method public abstract boolean isSensorSupported(int) throws android.support.car.CarNotConnectedException;
- method public abstract void removeListener(android.support.car.hardware.CarSensorManager.OnSensorChangedListener);
- method public abstract void removeListener(android.support.car.hardware.CarSensorManager.OnSensorChangedListener, int);
- field public static final int SENSOR_RATE_FASTEST = 100; // 0x64
- field public static final int SENSOR_RATE_NORMAL = 1; // 0x1
- field public static final int SENSOR_TYPE_ABS_ACTIVE = 24; // 0x18
- field public static final int SENSOR_TYPE_COMPASS = 1; // 0x1
- field public static final int SENSOR_TYPE_DRIVING_STATUS = 11; // 0xb
- field public static final int SENSOR_TYPE_EV_BATTERY_CHARGE_RATE = 31; // 0x1f
- field public static final int SENSOR_TYPE_EV_BATTERY_LEVEL = 28; // 0x1c
- field public static final int SENSOR_TYPE_EV_CHARGE_PORT_CONNECTED = 30; // 0x1e
- field public static final int SENSOR_TYPE_EV_CHARGE_PORT_OPEN = 29; // 0x1d
- field public static final int SENSOR_TYPE_FUEL_DOOR_OPEN = 27; // 0x1b
- field public static final int SENSOR_TYPE_NIGHT = 9; // 0x9
- field public static final int SENSOR_TYPE_PARKING_BRAKE = 6; // 0x6
- field public static final int SENSOR_TYPE_TRACTION_CONTROL_ACTIVE = 25; // 0x19
- field public static final int SENSOR_TYPE_WHEEL_TICK_DISTANCE = 23; // 0x17
- }
-
- public static abstract interface CarSensorManager.OnSensorChangedListener {
- method public abstract void onSensorChanged(android.support.car.hardware.CarSensorManager, android.support.car.hardware.CarSensorEvent);
- }
-
-}
-
-package android.support.car.media {
-
- public abstract class CarAudioManager {
- ctor public CarAudioManager();
- method public abstract android.support.car.media.CarAudioRecord createCarAudioRecord(int) throws android.support.car.CarNotConnectedException, java.lang.SecurityException;
- method public abstract android.media.AudioFormat getAudioRecordAudioFormat() throws android.support.car.CarNotConnectedException;
- method public abstract int getAudioRecordMaxBufferSize() throws android.support.car.CarNotConnectedException;
- method public abstract int getAudioRecordMinBufferSize() throws android.support.car.CarNotConnectedException;
- method public abstract boolean isAudioRecordSupported() throws android.support.car.CarNotConnectedException;
- }
-
- public abstract class CarAudioRecord {
- ctor public CarAudioRecord();
- method public abstract int getAudioSessionId() throws android.support.car.CarNotConnectedException;
- method public abstract int getBufferSize() throws android.support.car.CarNotConnectedException;
- method public abstract int getRecordingState() throws android.support.car.CarNotConnectedException;
- method public abstract int getState() throws android.support.car.CarNotConnectedException;
- method public abstract int read(byte[], int, int) throws android.support.car.CarNotConnectedException, java.lang.IllegalStateException;
- method public abstract void release();
- method public abstract void startRecording() throws android.support.car.CarNotConnectedException;
- method public abstract void stop();
- }
-
-}
-
-package android.support.car.navigation {
-
- public class CarNavigationInstrumentCluster {
- method public int getImageColorDepthBits();
- method public int getImageHeight();
- method public int getImageWidth();
- method public int getMinIntervalMillis();
- method public int getType();
- method public boolean supportsCustomImages();
- field public static final int CLUSTER_TYPE_CUSTOM_IMAGES_SUPPORTED = 1; // 0x1
- field public static final int CLUSTER_TYPE_IMAGE_CODES_ONLY = 2; // 0x2
- }
-
- public abstract class CarNavigationStatusManager {
- ctor public CarNavigationStatusManager();
- method public abstract void addListener(android.support.car.navigation.CarNavigationStatusManager.CarNavigationCallback) throws android.support.car.CarNotConnectedException;
- method public abstract void removeListener();
- method public abstract void sendEvent(int, android.os.Bundle) throws android.support.car.CarNotConnectedException;
- }
-
- public static abstract interface CarNavigationStatusManager.CarNavigationCallback {
- method public abstract void onInstrumentClusterStarted(android.support.car.navigation.CarNavigationStatusManager, android.support.car.navigation.CarNavigationInstrumentCluster);
- method public abstract void onInstrumentClusterStopped(android.support.car.navigation.CarNavigationStatusManager);
- }
-
-}
-
diff --git a/car-support-lib/api/removed.txt b/car-support-lib/api/removed.txt
deleted file mode 100644
index e69de29..0000000
--- a/car-support-lib/api/removed.txt
+++ /dev/null
diff --git a/car-support-lib/car-support.mk b/car-support-lib/car-support.mk
deleted file mode 100644
index 7feba67..0000000
--- a/car-support-lib/car-support.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# Include this make file to build your application with car friendly UI.
-#
-# Make sure to include it after you've set all your desired LOCAL variables.
-# Note that you must explicitly set your LOCAL_RESOURCE_DIR before including this file.
-#
-# For example:
-#
-# LOCAL_RESOURCE_DIR := \
-# $(LOCAL_PATH)/res
-#
-# include packages/services/Car/car-support-lib/car-support.mk
-#
-
-# Check that LOCAL_RESOURCE_DIR is defined
-ifeq (,$(LOCAL_RESOURCE_DIR))
-$(error LOCAL_RESOURCE_DIR must be defined)
-endif
-
-# Add --auto-add-overlay flag if not present
-ifeq (,$(findstring --auto-add-overlay, $(LOCAL_AAPT_FLAGS)))
-LOCAL_AAPT_FLAGS += --auto-add-overlay
-endif
-
-# Include car support library, if not already included
-ifeq (,$(findstring android.support.car, $(LOCAL_STATIC_JAVA_LIBRARIES)))
-LOCAL_STATIC_JAVA_LIBRARIES += android.support.car
-endif
-
-LOCAL_JAVA_LIBRARIES += android.car
diff --git a/car-support-lib/proguard-extra-keeps.flags b/car-support-lib/proguard-extra-keeps.flags
deleted file mode 100644
index 72ea927..0000000
--- a/car-support-lib/proguard-extra-keeps.flags
+++ /dev/null
@@ -1,23 +0,0 @@
--keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,EnclosingMethod,*Annotation*
-
--keep class android.support.car.CarServiceLoader {
- public protected *;
- class CarConnectionCallbackProxy;
-}
-
--keep class android.support.car.CarServiceLoader$CarConnectionCallbackProxy {
- *;
-}
-
--keep class android.support.car.hardware.CarSensorEvent {
- public <init>(...);
-}
-
--keep class android.support.car.navigation.CarNavigationInstrumentCluster {
- public static ... createCluster(...);
- public static ... createCustomImageCluster(...);
-}
-
--keep class android.support.car.CarManagerBase {
- *;
-}
diff --git a/car-support-lib/proguard-release.flags b/car-support-lib/proguard-release.flags
deleted file mode 100644
index 4f5f917..0000000
--- a/car-support-lib/proguard-release.flags
+++ /dev/null
@@ -1,31385 +0,0 @@
--keep class android.accessibilityservice.AccessibilityServiceInfo {
- <init>();
- <init>(android.content.pm.ResolveInfo, android.content.Context);
-
- public static java.lang.String capabilityToString(int);
- public int describeContents();
- public boolean equals(java.lang.Object);
- public static java.lang.String feedbackTypeToString(int);
- public static java.lang.String flagToString(int);
- public boolean getCanRetrieveWindowContent();
- public int getCapabilities();
- public java.util.List getCapabilityInfos();
- public java.util.List getCapabilityInfos(android.content.Context);
- public android.content.ComponentName getComponentName();
- public java.lang.String getDescription();
- public java.lang.String getId();
- public android.content.pm.ResolveInfo getResolveInfo();
- public java.lang.String getSettingsActivityName();
- public int hashCode();
- public boolean isDirectBootAware();
- public java.lang.String loadDescription(android.content.pm.PackageManager);
- public java.lang.CharSequence loadSummary(android.content.pm.PackageManager);
- public void setCapabilities(int);
- public void setComponentName(android.content.ComponentName);
- public java.lang.String toString();
- public void updateDynamicallyConfigurableProperties(android.accessibilityservice.AccessibilityServiceInfo);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static int CAPABILITY_CAN_CONTROL_MAGNIFICATION;
- public static int CAPABILITY_CAN_PERFORM_GESTURES;
- public static int CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY;
- public static int CAPABILITY_CAN_REQUEST_FILTER_KEY_EVENTS;
- public static int CAPABILITY_CAN_REQUEST_FINGERPRINT_GESTURES;
- public static int CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION;
- public static int CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT;
- public static android.os.Parcelable$Creator CREATOR;
- public static int DEFAULT;
- public static int FEEDBACK_ALL_MASK;
- public static int FEEDBACK_AUDIBLE;
- public static int FEEDBACK_BRAILLE;
- public static int FEEDBACK_GENERIC;
- public static int FEEDBACK_HAPTIC;
- public static int FEEDBACK_SPOKEN;
- public static int FEEDBACK_VISUAL;
- public static int FLAG_ENABLE_ACCESSIBILITY_VOLUME;
- public static int FLAG_FORCE_DIRECT_BOOT_AWARE;
- public static int FLAG_INCLUDE_NOT_IMPORTANT_VIEWS;
- public static int FLAG_REPORT_VIEW_IDS;
- public static int FLAG_REQUEST_ACCESSIBILITY_BUTTON;
- public static int FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY;
- public static int FLAG_REQUEST_FILTER_KEY_EVENTS;
- public static int FLAG_REQUEST_FINGERPRINT_GESTURES;
- public static int FLAG_REQUEST_TOUCH_EXPLORATION_MODE;
- public static int FLAG_RETRIEVE_INTERACTIVE_WINDOWS;
- public boolean crashed;
- public int eventTypes;
- public int feedbackType;
- public int flags;
- public long notificationTimeout;
- public java.lang.String[] packageNames;
-}
-
--keep class android.accessibilityservice.AccessibilityServiceInfo$CapabilityInfo {
- <init>(int, int, int);
-
-
-
- public int capability;
- public int descResId;
- public int titleResId;
-}
-
--keep class android.accessibilityservice.IAccessibilityServiceClient {
-
- public abstract void clearAccessibilityCache();
- public abstract void init(android.accessibilityservice.IAccessibilityServiceConnection, int, android.os.IBinder);
- public abstract void onAccessibilityButtonAvailabilityChanged(boolean);
- public abstract void onAccessibilityButtonClicked();
- public abstract void onAccessibilityEvent(android.view.accessibility.AccessibilityEvent, boolean);
- public abstract void onFingerprintCapturingGesturesChanged(boolean);
- public abstract void onFingerprintGesture(int);
- public abstract void onGesture(int);
- public abstract void onInterrupt();
- public abstract void onKeyEvent(android.view.KeyEvent, int);
- public abstract void onMagnificationChanged(android.graphics.Region, float, float, float);
- public abstract void onPerformGestureResult(int, boolean);
- public abstract void onSoftKeyboardShowModeChanged(int);
-
-
-}
-
--keep class android.accessibilityservice.IAccessibilityServiceConnection {
-
- public abstract void disableSelf();
- public abstract java.lang.String[] findAccessibilityNodeInfoByAccessibilityId(int, long, int, android.view.accessibility.IAccessibilityInteractionConnectionCallback, int, long, android.os.Bundle);
- public abstract java.lang.String[] findAccessibilityNodeInfosByText(int, long, java.lang.String, int, android.view.accessibility.IAccessibilityInteractionConnectionCallback, long);
- public abstract java.lang.String[] findAccessibilityNodeInfosByViewId(int, long, java.lang.String, int, android.view.accessibility.IAccessibilityInteractionConnectionCallback, long);
- public abstract java.lang.String[] findFocus(int, long, int, int, android.view.accessibility.IAccessibilityInteractionConnectionCallback, long);
- public abstract java.lang.String[] focusSearch(int, long, int, int, android.view.accessibility.IAccessibilityInteractionConnectionCallback, long);
- public abstract float getMagnificationCenterX();
- public abstract float getMagnificationCenterY();
- public abstract android.graphics.Region getMagnificationRegion();
- public abstract float getMagnificationScale();
- public abstract android.accessibilityservice.AccessibilityServiceInfo getServiceInfo();
- public abstract android.view.accessibility.AccessibilityWindowInfo getWindow(int);
- public abstract java.util.List getWindows();
- public abstract boolean isAccessibilityButtonAvailable();
- public abstract boolean isFingerprintGestureDetectionAvailable();
- public abstract boolean performAccessibilityAction(int, long, int, android.os.Bundle, int, android.view.accessibility.IAccessibilityInteractionConnectionCallback, long);
- public abstract boolean performGlobalAction(int);
- public abstract boolean resetMagnification(boolean);
- public abstract void sendGesture(int, android.content.pm.ParceledListSlice);
- public abstract void setMagnificationCallbackEnabled(boolean);
- public abstract boolean setMagnificationScaleAndCenter(float, float, float, boolean);
- public abstract void setOnKeyEventResult(boolean, int);
- public abstract void setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo);
- public abstract void setSoftKeyboardCallbackEnabled(boolean);
- public abstract boolean setSoftKeyboardShowMode(int);
-
-
-}
-
--keep class android.accounts.Account {
- <init>(java.lang.String, java.lang.String);
- <init>(android.accounts.Account, java.lang.String);
- <init>(java.lang.String, java.lang.String, java.lang.String);
- <init>(android.os.Parcel);
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public java.lang.String getAccessId();
- public int hashCode();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public java.lang.String name;
- public java.lang.String type;
-}
-
--keep class android.animation.AnimationHandler {
- <init>();
-
- public void addAnimationFrameCallback(android.animation.AnimationHandler$AnimationFrameCallback, long);
- public void addOneShotCommitCallback(android.animation.AnimationHandler$AnimationFrameCallback);
- public static int getAnimationCount();
- public static long getFrameDelay();
- public static android.animation.AnimationHandler getInstance();
- public void removeCallback(android.animation.AnimationHandler$AnimationFrameCallback);
- public static void setFrameDelay(long);
- public void setProvider(android.animation.AnimationHandler$AnimationFrameCallbackProvider);
-
-
- public static java.lang.ThreadLocal sAnimatorHandler;
-}
-
--keep class android.animation.AnimationHandler$AnimationFrameCallback {
-
- public abstract void commitAnimationFrame(long);
- public abstract boolean doAnimationFrame(long);
-
-
-}
-
--keep class android.animation.AnimationHandler$AnimationFrameCallbackProvider {
-
- public abstract long getFrameDelay();
- public abstract long getFrameTime();
- public abstract void postCommitCallback(java.lang.Runnable);
- public abstract void postFrameCallback(android.view.Choreographer$FrameCallback);
- public abstract void setFrameDelay(long);
-
-
-}
-
--keep class android.animation.Animator {
- <init>();
-
- public void addListener(android.animation.Animator$AnimatorListener);
- public void addPauseListener(android.animation.Animator$AnimatorPauseListener);
- public void appendChangingConfigurations(int);
- public boolean canReverse();
- public void cancel();
- public android.animation.Animator clone();
- public java.lang.Object clone();
- public android.content.res.ConstantState createConstantState();
- public void end();
- public int getChangingConfigurations();
- public abstract long getDuration();
- public android.animation.TimeInterpolator getInterpolator();
- public java.util.ArrayList getListeners();
- public abstract long getStartDelay();
- public long getTotalDuration();
- public boolean isPaused();
- public abstract boolean isRunning();
- public boolean isStarted();
- public void pause();
- public void removeAllListeners();
- public void removeListener(android.animation.Animator$AnimatorListener);
- public void removePauseListener(android.animation.Animator$AnimatorPauseListener);
- public void resume();
- public void reverse();
- public void setAllowRunningAsynchronously(boolean);
- public void setChangingConfigurations(int);
- public abstract android.animation.Animator setDuration(long);
- public abstract void setInterpolator(android.animation.TimeInterpolator);
- public abstract void setStartDelay(long);
- public void setTarget(java.lang.Object);
- public void setupEndValues();
- public void setupStartValues();
- public void start();
-
-
- public static long DURATION_INFINITE;
-}
-
--keep class android.animation.Animator$AnimatorListener {
-
- public abstract void onAnimationCancel(android.animation.Animator);
- public void onAnimationEnd(android.animation.Animator, boolean);
- public abstract void onAnimationEnd(android.animation.Animator);
- public abstract void onAnimationRepeat(android.animation.Animator);
- public void onAnimationStart(android.animation.Animator, boolean);
- public abstract void onAnimationStart(android.animation.Animator);
-
-
-}
-
--keep class android.animation.Animator$AnimatorPauseListener {
-
- public abstract void onAnimationPause(android.animation.Animator);
- public abstract void onAnimationResume(android.animation.Animator);
-
-
-}
-
--keep class android.animation.AnimatorSet {
- <init>();
-
- public boolean canReverse();
- public void cancel();
- public android.animation.AnimatorSet clone();
- public android.animation.Animator clone();
- public java.lang.Object clone();
- public void commitAnimationFrame(long);
- public boolean doAnimationFrame(long);
- public void end();
- public int getChangingConfigurations();
- public java.util.ArrayList getChildAnimations();
- public long getCurrentPlayTime();
- public long getDuration();
- public android.animation.TimeInterpolator getInterpolator();
- public long getStartDelay();
- public long getTotalDuration();
- public boolean isRunning();
- public boolean isStarted();
- public void pause();
- public android.animation.AnimatorSet$Builder play(android.animation.Animator);
- public void playSequentially(android.animation.Animator[]);
- public void playSequentially(java.util.List);
- public void playTogether(android.animation.Animator[]);
- public void playTogether(java.util.Collection);
- public void resume();
- public void reverse();
- public void setCurrentPlayTime(long);
- public android.animation.AnimatorSet setDuration(long);
- public android.animation.Animator setDuration(long);
- public void setInterpolator(android.animation.TimeInterpolator);
- public void setStartDelay(long);
- public void setTarget(java.lang.Object);
- public void setupEndValues();
- public void setupStartValues();
- public boolean shouldPlayTogether();
- public void start();
- public java.lang.String toString();
-
-
-}
-
--keep class android.animation.AnimatorSet$Builder {
-
- public android.animation.AnimatorSet$Builder after(android.animation.Animator);
- public android.animation.AnimatorSet$Builder after(long);
- public android.animation.AnimatorSet$Builder before(android.animation.Animator);
- public android.animation.AnimatorSet$Builder with(android.animation.Animator);
-
-
-}
-
--keep class android.animation.Keyframe {
- <init>();
-
- public abstract android.animation.Keyframe clone();
- public java.lang.Object clone();
- public float getFraction();
- public android.animation.TimeInterpolator getInterpolator();
- public java.lang.Class getType();
- public abstract java.lang.Object getValue();
- public boolean hasValue();
- public static android.animation.Keyframe ofFloat(float, float);
- public static android.animation.Keyframe ofFloat(float);
- public static android.animation.Keyframe ofInt(float, int);
- public static android.animation.Keyframe ofInt(float);
- public static android.animation.Keyframe ofObject(float, java.lang.Object);
- public static android.animation.Keyframe ofObject(float);
- public void setFraction(float);
- public void setInterpolator(android.animation.TimeInterpolator);
- public abstract void setValue(java.lang.Object);
-
-
-}
-
--keep class android.animation.LayoutTransition {
- <init>();
-
- public void addChild(android.view.ViewGroup, android.view.View);
- public void addTransitionListener(android.animation.LayoutTransition$TransitionListener);
- public void cancel();
- public void cancel(int);
- public void disableTransitionType(int);
- public void enableTransitionType(int);
- public void endChangingAnimations();
- public android.animation.Animator getAnimator(int);
- public long getDuration(int);
- public android.animation.TimeInterpolator getInterpolator(int);
- public long getStagger(int);
- public long getStartDelay(int);
- public java.util.List getTransitionListeners();
- public void hideChild(android.view.ViewGroup, android.view.View);
- public void hideChild(android.view.ViewGroup, android.view.View, int);
- public boolean isChangingLayout();
- public boolean isRunning();
- public boolean isTransitionTypeEnabled(int);
- public void layoutChange(android.view.ViewGroup);
- public void removeChild(android.view.ViewGroup, android.view.View);
- public void removeTransitionListener(android.animation.LayoutTransition$TransitionListener);
- public void setAnimateParentHierarchy(boolean);
- public void setAnimator(int, android.animation.Animator);
- public void setDuration(long);
- public void setDuration(int, long);
- public void setInterpolator(int, android.animation.TimeInterpolator);
- public void setStagger(int, long);
- public void setStartDelay(int, long);
- public void showChild(android.view.ViewGroup, android.view.View);
- public void showChild(android.view.ViewGroup, android.view.View, int);
- public void startChangingAnimations();
-
-
- public static int APPEARING;
- public static int CHANGE_APPEARING;
- public static int CHANGE_DISAPPEARING;
- public static int CHANGING;
- public static int DISAPPEARING;
-}
-
--keep class android.animation.LayoutTransition$TransitionListener {
-
- public abstract void endTransition(android.animation.LayoutTransition, android.view.ViewGroup, android.view.View, int);
- public abstract void startTransition(android.animation.LayoutTransition, android.view.ViewGroup, android.view.View, int);
-
-
-}
-
--keep class android.animation.PropertyValuesHolder {
-
- public android.animation.PropertyValuesHolder clone();
- public java.lang.Object clone();
- public java.lang.String getPropertyName();
- public void getPropertyValues(android.animation.PropertyValuesHolder$PropertyValues);
- public java.lang.Class getValueType();
- public static android.animation.PropertyValuesHolder ofFloat(java.lang.String, float[]);
- public static android.animation.PropertyValuesHolder ofFloat(android.util.Property, float[]);
- public static android.animation.PropertyValuesHolder ofInt(java.lang.String, int[]);
- public static android.animation.PropertyValuesHolder ofInt(android.util.Property, int[]);
- public static android.animation.PropertyValuesHolder ofKeyframe(java.lang.String, android.animation.Keyframe[]);
- public static android.animation.PropertyValuesHolder ofKeyframe(android.util.Property, android.animation.Keyframe[]);
- public static android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, float[][]);
- public static android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, android.graphics.Path);
- public static android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, android.animation.TypeConverter, android.animation.TypeEvaluator, java.lang.Object[]);
- public static android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, android.animation.TypeConverter, android.animation.TypeEvaluator, android.animation.Keyframe[]);
- public static android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, int[][]);
- public static android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, android.graphics.Path);
- public static android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, android.animation.TypeConverter, android.animation.TypeEvaluator, java.lang.Object[]);
- public static android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, android.animation.TypeConverter, android.animation.TypeEvaluator, android.animation.Keyframe[]);
- public static android.animation.PropertyValuesHolder ofObject(java.lang.String, android.animation.TypeEvaluator, java.lang.Object[]);
- public static android.animation.PropertyValuesHolder ofObject(java.lang.String, android.animation.TypeConverter, android.graphics.Path);
- public static android.animation.PropertyValuesHolder ofObject(android.util.Property, android.animation.TypeEvaluator, java.lang.Object[]);
- public static android.animation.PropertyValuesHolder ofObject(android.util.Property, android.animation.TypeConverter, android.animation.TypeEvaluator, java.lang.Object[]);
- public static android.animation.PropertyValuesHolder ofObject(android.util.Property, android.animation.TypeConverter, android.graphics.Path);
- public void setConverter(android.animation.TypeConverter);
- public void setEvaluator(android.animation.TypeEvaluator);
- public void setFloatValues(float[]);
- public void setIntValues(int[]);
- public void setKeyframes(android.animation.Keyframe[]);
- public void setObjectValues(java.lang.Object[]);
- public void setProperty(android.util.Property);
- public void setPropertyName(java.lang.String);
- public java.lang.String toString();
-
-
- protected android.util.Property mProperty;
-}
-
--keep class android.animation.PropertyValuesHolder$PropertyValues {
- <init>();
-
- public java.lang.String toString();
-
-
- public android.animation.PropertyValuesHolder$PropertyValues$DataSource dataSource;
- public java.lang.Object endValue;
- public java.lang.String propertyName;
- public java.lang.Object startValue;
- public java.lang.Class type;
-}
-
--keep class android.animation.PropertyValuesHolder$PropertyValues$DataSource {
-
- public abstract java.lang.Object getValueAtFraction(float);
-
-
-}
-
--keep class android.animation.StateListAnimator {
- <init>();
-
- public void addState(int[], android.animation.Animator);
- public void appendChangingConfigurations(int);
- public android.animation.StateListAnimator clone();
- public java.lang.Object clone();
- public android.content.res.ConstantState createConstantState();
- public int getChangingConfigurations();
- public android.animation.Animator getRunningAnimator();
- public android.view.View getTarget();
- public java.util.ArrayList getTuples();
- public void jumpToCurrentState();
- public void setChangingConfigurations(int);
- public void setState(int[]);
- public void setTarget(android.view.View);
-
-
-}
-
--keep class android.animation.StateListAnimator$Tuple {
-
- public android.animation.Animator getAnimator();
- public int[] getSpecs();
-
-
-}
-
--keep class android.animation.TimeInterpolator {
-
- public abstract float getInterpolation(float);
-
-
-}
-
--keep class android.animation.TypeConverter {
- <init>(java.lang.Class, java.lang.Class);
-
- public abstract java.lang.Object convert(java.lang.Object);
-
-
-}
-
--keep class android.animation.TypeEvaluator {
-
- public abstract java.lang.Object evaluate(float, java.lang.Object, java.lang.Object);
-
-
-}
-
--keep class android.animation.ValueAnimator {
- <init>();
-
- public void addUpdateListener(android.animation.ValueAnimator$AnimatorUpdateListener);
- public static boolean areAnimatorsEnabled();
- public boolean canReverse();
- public void cancel();
- public android.animation.ValueAnimator clone();
- public android.animation.Animator clone();
- public java.lang.Object clone();
- public void commitAnimationFrame(long);
- public boolean doAnimationFrame(long);
- public void end();
- public float getAnimatedFraction();
- public java.lang.Object getAnimatedValue();
- public java.lang.Object getAnimatedValue(java.lang.String);
- public android.animation.AnimationHandler getAnimationHandler();
- public static int getCurrentAnimationsCount();
- public long getCurrentPlayTime();
- public long getDuration();
- public static float getDurationScale();
- public static long getFrameDelay();
- public android.animation.TimeInterpolator getInterpolator();
- public int getRepeatCount();
- public int getRepeatMode();
- public long getStartDelay();
- public long getTotalDuration();
- public android.animation.PropertyValuesHolder[] getValues();
- public boolean isRunning();
- public boolean isStarted();
- public static android.animation.ValueAnimator ofArgb(int[]);
- public static android.animation.ValueAnimator ofFloat(float[]);
- public static android.animation.ValueAnimator ofInt(int[]);
- public static android.animation.ValueAnimator ofObject(android.animation.TypeEvaluator, java.lang.Object[]);
- public static android.animation.ValueAnimator ofPropertyValuesHolder(android.animation.PropertyValuesHolder[]);
- public void overrideDurationScale(float);
- public void pause();
- public void removeAllUpdateListeners();
- public void removeUpdateListener(android.animation.ValueAnimator$AnimatorUpdateListener);
- public void resume();
- public void reverse();
- public void setAllowRunningAsynchronously(boolean);
- public void setCurrentFraction(float);
- public void setCurrentPlayTime(long);
- public android.animation.ValueAnimator setDuration(long);
- public android.animation.Animator setDuration(long);
- public static void setDurationScale(float);
- public void setEvaluator(android.animation.TypeEvaluator);
- public void setFloatValues(float[]);
- public static void setFrameDelay(long);
- public void setIntValues(int[]);
- public void setInterpolator(android.animation.TimeInterpolator);
- public void setObjectValues(java.lang.Object[]);
- public void setRepeatCount(int);
- public void setRepeatMode(int);
- public void setStartDelay(long);
- public void setValues(android.animation.PropertyValuesHolder[]);
- public void start();
- public java.lang.String toString();
-
-
- public static int INFINITE;
- public static int RESTART;
- public static int REVERSE;
-}
-
--keep class android.animation.ValueAnimator$AnimatorUpdateListener {
-
- public abstract void onAnimationUpdate(android.animation.ValueAnimator);
-
-
-}
-
--keep class android.app.ActionBar {
- <init>();
-
- public abstract void addOnMenuVisibilityListener(android.app.ActionBar$OnMenuVisibilityListener);
- public abstract void addTab(android.app.ActionBar$Tab);
- public abstract void addTab(android.app.ActionBar$Tab, boolean);
- public abstract void addTab(android.app.ActionBar$Tab, int);
- public abstract void addTab(android.app.ActionBar$Tab, int, boolean);
- public boolean closeOptionsMenu();
- public boolean collapseActionView();
- public void dispatchMenuVisibilityChanged(boolean);
- public abstract android.view.View getCustomView();
- public abstract int getDisplayOptions();
- public float getElevation();
- public abstract int getHeight();
- public int getHideOffset();
- public abstract int getNavigationItemCount();
- public abstract int getNavigationMode();
- public abstract int getSelectedNavigationIndex();
- public abstract android.app.ActionBar$Tab getSelectedTab();
- public abstract java.lang.CharSequence getSubtitle();
- public abstract android.app.ActionBar$Tab getTabAt(int);
- public abstract int getTabCount();
- public android.content.Context getThemedContext();
- public abstract java.lang.CharSequence getTitle();
- public abstract void hide();
- public boolean invalidateOptionsMenu();
- public boolean isHideOnContentScrollEnabled();
- public abstract boolean isShowing();
- public boolean isTitleTruncated();
- public abstract android.app.ActionBar$Tab newTab();
- public void onConfigurationChanged(android.content.res.Configuration);
- public void onDestroy();
- public boolean onKeyShortcut(int, android.view.KeyEvent);
- public boolean onMenuKeyEvent(android.view.KeyEvent);
- public boolean openOptionsMenu();
- public abstract void removeAllTabs();
- public abstract void removeOnMenuVisibilityListener(android.app.ActionBar$OnMenuVisibilityListener);
- public abstract void removeTab(android.app.ActionBar$Tab);
- public abstract void removeTabAt(int);
- public abstract void selectTab(android.app.ActionBar$Tab);
- public abstract void setBackgroundDrawable(android.graphics.drawable.Drawable);
- public abstract void setCustomView(android.view.View);
- public abstract void setCustomView(android.view.View, android.app.ActionBar$LayoutParams);
- public abstract void setCustomView(int);
- public void setDefaultDisplayHomeAsUpEnabled(boolean);
- public abstract void setDisplayHomeAsUpEnabled(boolean);
- public abstract void setDisplayOptions(int);
- public abstract void setDisplayOptions(int, int);
- public abstract void setDisplayShowCustomEnabled(boolean);
- public abstract void setDisplayShowHomeEnabled(boolean);
- public abstract void setDisplayShowTitleEnabled(boolean);
- public abstract void setDisplayUseLogoEnabled(boolean);
- public void setElevation(float);
- public void setHideOffset(int);
- public void setHideOnContentScrollEnabled(boolean);
- public void setHomeActionContentDescription(java.lang.CharSequence);
- public void setHomeActionContentDescription(int);
- public void setHomeAsUpIndicator(android.graphics.drawable.Drawable);
- public void setHomeAsUpIndicator(int);
- public void setHomeButtonEnabled(boolean);
- public abstract void setIcon(int);
- public abstract void setIcon(android.graphics.drawable.Drawable);
- public abstract void setListNavigationCallbacks(android.widget.SpinnerAdapter, android.app.ActionBar$OnNavigationListener);
- public abstract void setLogo(int);
- public abstract void setLogo(android.graphics.drawable.Drawable);
- public abstract void setNavigationMode(int);
- public abstract void setSelectedNavigationItem(int);
- public void setShowHideAnimationEnabled(boolean);
- public void setSplitBackgroundDrawable(android.graphics.drawable.Drawable);
- public void setStackedBackgroundDrawable(android.graphics.drawable.Drawable);
- public abstract void setSubtitle(java.lang.CharSequence);
- public abstract void setSubtitle(int);
- public abstract void setTitle(java.lang.CharSequence);
- public abstract void setTitle(int);
- public void setWindowTitle(java.lang.CharSequence);
- public abstract void show();
- public android.view.ActionMode startActionMode(android.view.ActionMode$Callback);
-
-
- public static int DISPLAY_HOME_AS_UP;
- public static int DISPLAY_SHOW_CUSTOM;
- public static int DISPLAY_SHOW_HOME;
- public static int DISPLAY_SHOW_TITLE;
- public static int DISPLAY_TITLE_MULTIPLE_LINES;
- public static int DISPLAY_USE_LOGO;
- public static int NAVIGATION_MODE_LIST;
- public static int NAVIGATION_MODE_STANDARD;
- public static int NAVIGATION_MODE_TABS;
-}
-
--keep class android.app.ActionBar$LayoutParams {
- <init>(android.content.Context, android.util.AttributeSet);
- <init>(int, int);
- <init>(int, int, int);
- <init>(int);
- <init>(android.app.ActionBar$LayoutParams);
- <init>(android.view.ViewGroup$LayoutParams);
-
- protected void encodeProperties(android.view.ViewHierarchyEncoder);
-
-
- public int gravity;
-}
-
--keep class android.app.ActionBar$OnMenuVisibilityListener {
-
- public abstract void onMenuVisibilityChanged(boolean);
-
-
-}
-
--keep class android.app.ActionBar$OnNavigationListener {
-
- public abstract boolean onNavigationItemSelected(int, long);
-
-
-}
-
--keep class android.app.ActionBar$Tab {
- <init>();
-
- public abstract java.lang.CharSequence getContentDescription();
- public abstract android.view.View getCustomView();
- public abstract android.graphics.drawable.Drawable getIcon();
- public abstract int getPosition();
- public abstract java.lang.Object getTag();
- public abstract java.lang.CharSequence getText();
- public abstract void select();
- public abstract android.app.ActionBar$Tab setContentDescription(int);
- public abstract android.app.ActionBar$Tab setContentDescription(java.lang.CharSequence);
- public abstract android.app.ActionBar$Tab setCustomView(android.view.View);
- public abstract android.app.ActionBar$Tab setCustomView(int);
- public abstract android.app.ActionBar$Tab setIcon(android.graphics.drawable.Drawable);
- public abstract android.app.ActionBar$Tab setIcon(int);
- public abstract android.app.ActionBar$Tab setTabListener(android.app.ActionBar$TabListener);
- public abstract android.app.ActionBar$Tab setTag(java.lang.Object);
- public abstract android.app.ActionBar$Tab setText(java.lang.CharSequence);
- public abstract android.app.ActionBar$Tab setText(int);
-
-
- public static int INVALID_POSITION;
-}
-
--keep class android.app.ActionBar$TabListener {
-
- public abstract void onTabReselected(android.app.ActionBar$Tab, android.app.FragmentTransaction);
- public abstract void onTabSelected(android.app.ActionBar$Tab, android.app.FragmentTransaction);
- public abstract void onTabUnselected(android.app.ActionBar$Tab, android.app.FragmentTransaction);
-
-
-}
-
--keep class android.app.Activity {
- <init>();
-
- public void addContentView(android.view.View, android.view.ViewGroup$LayoutParams);
- protected void attachBaseContext(android.content.Context);
- public void autofillClientAuthenticate(int, android.content.IntentSender, android.content.Intent);
- public void autofillClientDispatchUnhandledKey(android.view.View, android.view.KeyEvent);
- public android.view.View autofillClientFindViewByAccessibilityIdTraversal(int, int);
- public android.view.View autofillClientFindViewByAutofillIdTraversal(android.view.autofill.AutofillId);
- public android.view.View[] autofillClientFindViewsByAutofillIdTraversal(android.view.autofill.AutofillId[]);
- public android.os.IBinder autofillClientGetActivityToken();
- public android.content.ComponentName autofillClientGetComponentName();
- public android.view.autofill.AutofillId autofillClientGetNextAutofillId();
- public boolean[] autofillClientGetViewVisibility(android.view.autofill.AutofillId[]);
- public boolean autofillClientIsCompatibilityModeEnabled();
- public boolean autofillClientIsFillUiShowing();
- public boolean autofillClientIsVisibleForAutofill();
- public boolean autofillClientRequestHideFillUi();
- public boolean autofillClientRequestShowFillUi(android.view.View, int, int, android.graphics.Rect, android.view.autofill.IAutofillWindowPresenter);
- public void autofillClientResetableStateAvailable();
- public void autofillClientRunOnUiThread(java.lang.Runnable);
- public boolean canStartActivityForResult();
- public void closeContextMenu();
- public void closeOptionsMenu();
- public void convertFromTranslucent();
- public boolean convertToTranslucent(android.app.Activity$TranslucentConversionListener, android.app.ActivityOptions);
- public android.app.PendingIntent createPendingResult(int, android.content.Intent, int);
- public void dismissDialog(int);
- public void dismissKeyboardShortcutsHelper();
- public void dispatchEnterAnimationComplete();
- public boolean dispatchGenericMotionEvent(android.view.MotionEvent);
- public boolean dispatchKeyEvent(android.view.KeyEvent);
- public boolean dispatchKeyShortcutEvent(android.view.KeyEvent);
- public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
- public boolean dispatchTouchEvent(android.view.MotionEvent);
- public boolean dispatchTrackballEvent(android.view.MotionEvent);
- public void dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
- public void enterPictureInPictureMode();
- public boolean enterPictureInPictureMode(android.app.PictureInPictureArgs);
- public boolean enterPictureInPictureMode(android.app.PictureInPictureParams);
- public void enterPictureInPictureModeIfPossible();
- public void exitFreeformMode();
- public android.view.View findViewById(int);
- public void finish();
- public void finishActivity(int);
- public void finishActivityFromChild(android.app.Activity, int);
- public void finishAffinity();
- public void finishAfterTransition();
- public void finishAndRemoveTask();
- public void finishFromChild(android.app.Activity);
- public android.app.ActionBar getActionBar();
- public android.app.ActivityThread getActivityThread();
- public android.os.IBinder getActivityToken();
- public android.app.Application getApplication();
- public android.view.autofill.AutofillManager$AutofillClient getAutofillClient();
- public android.content.ComponentName getCallingActivity();
- public java.lang.String getCallingPackage();
- public int getChangingConfigurations();
- public android.content.ComponentName getComponentName();
- public android.transition.Scene getContentScene();
- public android.transition.TransitionManager getContentTransitionManager();
- public android.view.View getCurrentFocus();
- public android.app.FragmentManager getFragmentManager();
- public android.content.Intent getIntent();
- public java.lang.Object getLastNonConfigurationInstance();
- public android.view.LayoutInflater getLayoutInflater();
- public android.app.LoaderManager getLoaderManager();
- public java.lang.String getLocalClassName();
- public int getMaxNumPictureInPictureActions();
- public android.media.session.MediaController getMediaController();
- public android.view.MenuInflater getMenuInflater();
- public int getNextAutofillId();
- public android.app.Activity getParent();
- public android.content.Intent getParentActivityIntent();
- public android.content.SharedPreferences getPreferences(int);
- public android.net.Uri getReferrer();
- public int getRequestedOrientation();
- public android.view.SearchEvent getSearchEvent();
- public java.lang.Object getSystemService(java.lang.String);
- public int getTaskId();
- public java.lang.CharSequence getTitle();
- public int getTitleColor();
- public android.app.VoiceInteractor getVoiceInteractor();
- public int getVolumeControlStream();
- public android.view.Window getWindow();
- public android.view.WindowManager getWindowManager();
- public boolean hasWindowFocus();
- public void invalidateOptionsMenu();
- public boolean isActivityTransitionRunning();
- public boolean isBackgroundVisibleBehind();
- public boolean isChangingConfigurations();
- public boolean isChild();
- public boolean isDestroyed();
- public boolean isDisablingEnterExitEventForAutofill();
- public boolean isFinishing();
- public boolean isImmersive();
- public boolean isInMultiWindowMode();
- public boolean isInPictureInPictureMode();
- public boolean isLocalVoiceInteractionSupported();
- public boolean isOverlayWithDecorCaptionEnabled();
- public boolean isResumed();
- public boolean isTaskRoot();
- public boolean isVoiceInteraction();
- public boolean isVoiceInteractionRoot();
- public android.database.Cursor managedQuery(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String);
- public android.database.Cursor managedQuery(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String);
- public boolean moveTaskToBack(boolean);
- public boolean navigateUpTo(android.content.Intent);
- public boolean navigateUpToFromChild(android.app.Activity, android.content.Intent);
- public void onActionModeFinished(android.view.ActionMode);
- public void onActionModeStarted(android.view.ActionMode);
- public void onActivityReenter(int, android.content.Intent);
- protected void onActivityResult(int, int, android.content.Intent);
- protected void onApplyThemeResource(android.content.res.Resources$Theme, int, boolean);
- public void onAttachFragment(android.app.Fragment);
- public void onAttachedToWindow();
- public void onBackPressed();
- public void onBackgroundVisibleBehindChanged(boolean);
- protected void onChildTitleChanged(android.app.Activity, java.lang.CharSequence);
- public void onConfigurationChanged(android.content.res.Configuration);
- public void onContentChanged();
- public boolean onContextItemSelected(android.view.MenuItem);
- public void onContextMenuClosed(android.view.Menu);
- protected void onCreate(android.os.Bundle);
- public void onCreate(android.os.Bundle, android.os.PersistableBundle);
- public void onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu$ContextMenuInfo);
- public java.lang.CharSequence onCreateDescription();
- protected android.app.Dialog onCreateDialog(int);
- protected android.app.Dialog onCreateDialog(int, android.os.Bundle);
- public void onCreateNavigateUpTaskStack(android.app.TaskStackBuilder);
- public boolean onCreateOptionsMenu(android.view.Menu);
- public boolean onCreatePanelMenu(int, android.view.Menu);
- public android.view.View onCreatePanelView(int);
- public boolean onCreateThumbnail(android.graphics.Bitmap, android.graphics.Canvas);
- public android.view.View onCreateView(java.lang.String, android.content.Context, android.util.AttributeSet);
- public android.view.View onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet);
- protected void onDestroy();
- public void onDetachedFromWindow();
- public void onEnterAnimationComplete();
- public boolean onGenericMotionEvent(android.view.MotionEvent);
- public boolean onKeyDown(int, android.view.KeyEvent);
- public boolean onKeyLongPress(int, android.view.KeyEvent);
- public boolean onKeyMultiple(int, int, android.view.KeyEvent);
- public boolean onKeyShortcut(int, android.view.KeyEvent);
- public boolean onKeyUp(int, android.view.KeyEvent);
- public void onLocalVoiceInteractionStarted();
- public void onLocalVoiceInteractionStopped();
- public void onLowMemory();
- public boolean onMenuItemSelected(int, android.view.MenuItem);
- public boolean onMenuOpened(int, android.view.Menu);
- public void onMovedToDisplay(int, android.content.res.Configuration);
- public void onMultiWindowModeChanged(boolean, android.content.res.Configuration);
- public void onMultiWindowModeChanged(boolean);
- public boolean onNavigateUp();
- public boolean onNavigateUpFromChild(android.app.Activity);
- public void onNewActivityOptions(android.app.ActivityOptions);
- protected void onNewIntent(android.content.Intent);
- public boolean onOptionsItemSelected(android.view.MenuItem);
- public void onOptionsMenuClosed(android.view.Menu);
- public void onPanelClosed(int, android.view.Menu);
- protected void onPause();
- public void onPictureInPictureModeChanged(boolean, android.content.res.Configuration);
- public void onPictureInPictureModeChanged(boolean);
- protected void onPostCreate(android.os.Bundle);
- public void onPostCreate(android.os.Bundle, android.os.PersistableBundle);
- protected void onPostResume();
- protected void onPrepareDialog(int, android.app.Dialog);
- protected void onPrepareDialog(int, android.app.Dialog, android.os.Bundle);
- public void onPrepareNavigateUpTaskStack(android.app.TaskStackBuilder);
- public boolean onPrepareOptionsMenu(android.view.Menu);
- public boolean onPreparePanel(int, android.view.View, android.view.Menu);
- public void onProvideAssistContent(android.app.assist.AssistContent);
- public void onProvideAssistData(android.os.Bundle);
- public void onProvideKeyboardShortcuts(java.util.List, android.view.Menu, int);
- public android.net.Uri onProvideReferrer();
- public void onRequestPermissionsResult(int, java.lang.String[], int[]);
- protected void onRestart();
- protected void onRestoreInstanceState(android.os.Bundle);
- public void onRestoreInstanceState(android.os.Bundle, android.os.PersistableBundle);
- protected void onResume();
- public java.lang.Object onRetainNonConfigurationInstance();
- protected void onSaveInstanceState(android.os.Bundle);
- public void onSaveInstanceState(android.os.Bundle, android.os.PersistableBundle);
- public boolean onSearchRequested(android.view.SearchEvent);
- public boolean onSearchRequested();
- protected void onStart();
- public void onStateNotSaved();
- protected void onStop();
- protected void onTitleChanged(java.lang.CharSequence, int);
- public boolean onTouchEvent(android.view.MotionEvent);
- public boolean onTrackballEvent(android.view.MotionEvent);
- public void onTrimMemory(int);
- public void onUserInteraction();
- protected void onUserLeaveHint();
- public void onVisibleBehindCanceled();
- public void onWindowAttributesChanged(android.view.WindowManager$LayoutParams);
- public void onWindowDismissed(boolean, boolean);
- public void onWindowFocusChanged(boolean);
- public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode$Callback);
- public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode$Callback, int);
- public void openContextMenu(android.view.View);
- public void openOptionsMenu();
- public void overridePendingTransition(int, int);
- public void postponeEnterTransition();
- public void recreate();
- public void registerForContextMenu(android.view.View);
- public void registerRemoteAnimations(android.view.RemoteAnimationDefinition);
- public boolean releaseInstance();
- public void removeDialog(int);
- public void reportFullyDrawn();
- public android.view.DragAndDropPermissions requestDragAndDropPermissions(android.view.DragEvent);
- public void requestPermissions(java.lang.String[], int);
- public void requestShowKeyboardShortcuts();
- public boolean requestVisibleBehind(boolean);
- public boolean requestWindowFeature(int);
- public android.view.View requireViewById(int);
- public void runOnUiThread(java.lang.Runnable);
- public void setActionBar(android.widget.Toolbar);
- public void setContentTransitionManager(android.transition.TransitionManager);
- public void setContentView(int);
- public void setContentView(android.view.View);
- public void setContentView(android.view.View, android.view.ViewGroup$LayoutParams);
- public void setDefaultKeyMode(int);
- public void setDisablePreviewScreenshots(boolean);
- public void setEnterSharedElementCallback(android.app.SharedElementCallback);
- public void setExitSharedElementCallback(android.app.SharedElementCallback);
- public void setFeatureDrawable(int, android.graphics.drawable.Drawable);
- public void setFeatureDrawableAlpha(int, int);
- public void setFeatureDrawableResource(int, int);
- public void setFeatureDrawableUri(int, android.net.Uri);
- public void setFinishOnTouchOutside(boolean);
- public void setImmersive(boolean);
- public void setIntent(android.content.Intent);
- public void setMediaController(android.media.session.MediaController);
- public void setOverlayWithDecorCaptionEnabled(boolean);
- public void setPersistent(boolean);
- public void setPictureInPictureArgs(android.app.PictureInPictureArgs);
- public void setPictureInPictureParams(android.app.PictureInPictureParams);
- public void setProgress(int);
- public void setProgressBarIndeterminate(boolean);
- public void setProgressBarIndeterminateVisibility(boolean);
- public void setProgressBarVisibility(boolean);
- public void setRequestedOrientation(int);
- public void setResult(int);
- public void setResult(int, android.content.Intent);
- public void setSecondaryProgress(int);
- public void setShowWhenLocked(boolean);
- public void setTaskDescription(android.app.ActivityManager$TaskDescription);
- public void setTheme(int);
- public void setTitle(java.lang.CharSequence);
- public void setTitle(int);
- public void setTitleColor(int);
- public void setTurnScreenOn(boolean);
- public void setVisible(boolean);
- public void setVolumeControlStream(int);
- public void setVrModeEnabled(boolean, android.content.ComponentName);
- public boolean shouldShowRequestPermissionRationale(java.lang.String);
- public boolean shouldUpRecreateTask(android.content.Intent);
- public boolean showAssist(android.os.Bundle);
- public void showDialog(int);
- public boolean showDialog(int, android.os.Bundle);
- public void showLockTaskEscapeMessage();
- public android.view.ActionMode startActionMode(android.view.ActionMode$Callback);
- public android.view.ActionMode startActionMode(android.view.ActionMode$Callback, int);
- public void startActivities(android.content.Intent[]);
- public void startActivities(android.content.Intent[], android.os.Bundle);
- public void startActivity(android.content.Intent);
- public void startActivity(android.content.Intent, android.os.Bundle);
- public void startActivityAsCaller(android.content.Intent, android.os.Bundle, boolean, int);
- public void startActivityAsUser(android.content.Intent, android.os.UserHandle);
- public void startActivityAsUser(android.content.Intent, android.os.Bundle, android.os.UserHandle);
- public void startActivityAsUserFromFragment(android.app.Fragment, android.content.Intent, int, android.os.Bundle, android.os.UserHandle);
- public void startActivityForResult(android.content.Intent, int);
- public void startActivityForResult(android.content.Intent, int, android.os.Bundle);
- public void startActivityForResult(java.lang.String, android.content.Intent, int, android.os.Bundle);
- public void startActivityForResultAsUser(android.content.Intent, int, android.os.UserHandle);
- public void startActivityForResultAsUser(android.content.Intent, int, android.os.Bundle, android.os.UserHandle);
- public void startActivityForResultAsUser(android.content.Intent, java.lang.String, int, android.os.Bundle, android.os.UserHandle);
- public void startActivityFromChild(android.app.Activity, android.content.Intent, int);
- public void startActivityFromChild(android.app.Activity, android.content.Intent, int, android.os.Bundle);
- public void startActivityFromFragment(android.app.Fragment, android.content.Intent, int);
- public void startActivityFromFragment(android.app.Fragment, android.content.Intent, int, android.os.Bundle);
- public boolean startActivityIfNeeded(android.content.Intent, int);
- public boolean startActivityIfNeeded(android.content.Intent, int, android.os.Bundle);
- public void startIntentSender(android.content.IntentSender, android.content.Intent, int, int, int);
- public void startIntentSender(android.content.IntentSender, android.content.Intent, int, int, int, android.os.Bundle);
- public void startIntentSenderForResult(android.content.IntentSender, int, android.content.Intent, int, int, int);
- public void startIntentSenderForResult(android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle);
- public void startIntentSenderFromChild(android.app.Activity, android.content.IntentSender, int, android.content.Intent, int, int, int);
- public void startIntentSenderFromChild(android.app.Activity, android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle);
- public void startIntentSenderFromChildFragment(android.app.Fragment, android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle);
- public void startLocalVoiceInteraction(android.os.Bundle);
- public void startLockTask();
- public void startManagingCursor(android.database.Cursor);
- public boolean startNextMatchingActivity(android.content.Intent);
- public boolean startNextMatchingActivity(android.content.Intent, android.os.Bundle);
- public void startPostponedEnterTransition();
- public void startSearch(java.lang.String, boolean, android.os.Bundle, boolean);
- public void stopLocalVoiceInteraction();
- public void stopLockTask();
- public void stopManagingCursor(android.database.Cursor);
- public void takeKeyEvents(boolean);
- public void triggerSearch(java.lang.String, android.os.Bundle);
- public void unregisterForContextMenu(android.view.View);
-
-
- public static int DEFAULT_KEYS_DIALER;
- public static int DEFAULT_KEYS_DISABLE;
- public static int DEFAULT_KEYS_SEARCH_GLOBAL;
- public static int DEFAULT_KEYS_SEARCH_LOCAL;
- public static int DEFAULT_KEYS_SHORTCUT;
- public static int DONT_FINISH_TASK_WITH_ACTIVITY;
- public static int FINISH_TASK_WITH_ACTIVITY;
- public static int FINISH_TASK_WITH_ROOT_ACTIVITY;
- protected static int[] FOCUSED_STATE_SET;
- public static int RESULT_CANCELED;
- public static int RESULT_FIRST_USER;
- public static int RESULT_OK;
-}
-
--keep class android.app.Activity$NonConfigurationInstances {
-
-
-
-}
-
--keep class android.app.Activity$TranslucentConversionListener {
-
- public abstract void onTranslucentConversionComplete(boolean);
-
-
-}
-
--keep class android.app.ActivityManager {
-
- public int addAppTask(android.app.Activity, android.content.Intent, android.app.ActivityManager$TaskDescription, android.graphics.Bitmap);
- public void addOnUidImportanceListener(android.app.ActivityManager$OnUidImportanceListener, int);
- public void alwaysShowUnsupportedCompileSdkWarning(android.content.ComponentName);
- public static void broadcastStickyIntent(android.content.Intent, int);
- public static void broadcastStickyIntent(android.content.Intent, int, int);
- public static int checkComponentPermission(java.lang.String, int, int, boolean);
- public static int checkUidPermission(java.lang.String, int);
- public boolean clearApplicationUserData(java.lang.String, android.content.pm.IPackageDataObserver);
- public boolean clearApplicationUserData();
- public void clearGrantedUriPermissions(java.lang.String);
- public void clearWatchHeapLimit();
- public void dumpPackageState(java.io.FileDescriptor, java.lang.String);
- public static void dumpPackageStateStatic(java.io.FileDescriptor, java.lang.String);
- public void forceStopPackage(java.lang.String);
- public void forceStopPackageAsUser(java.lang.String, int);
- public android.util.Size getAppTaskThumbnailSize();
- public java.util.List getAppTasks();
- public static int getCurrentUser();
- public static int getDefaultAppRecentsLimitStatic();
- public android.content.pm.ConfigurationInfo getDeviceConfigurationInfo();
- public int getFrontActivityScreenCompatMode();
- public android.content.pm.ParceledListSlice getGrantedUriPermissions(java.lang.String);
- public int getLargeMemoryClass();
- public int getLauncherLargeIconDensity();
- public int getLauncherLargeIconSize();
- public int getLockTaskModeState();
- public static int getMaxAppRecentsLimitStatic();
- public static int getMaxNumPictureInPictureActions();
- public static int getMaxRecentTasksStatic();
- public int getMemoryClass();
- public void getMemoryInfo(android.app.ActivityManager$MemoryInfo);
- public static void getMyMemoryState(android.app.ActivityManager$RunningAppProcessInfo);
- public boolean getPackageAskScreenCompat(java.lang.String);
- public int getPackageImportance(java.lang.String);
- public int getPackageScreenCompatMode(java.lang.String);
- public android.os.Debug$MemoryInfo[] getProcessMemoryInfo(int[]);
- public java.util.List getProcessesInErrorState();
- public java.util.List getRecentTasks(int, int);
- public java.util.List getRunningAppProcesses();
- public java.util.List getRunningExternalApplications();
- public android.app.PendingIntent getRunningServiceControlPanel(android.content.ComponentName);
- public java.util.List getRunningServices(int);
- public java.util.List getRunningTasks(int);
- public static android.app.IActivityManager getService();
- public long getTotalRam();
- public int getUidImportance(int);
- public static int handleIncomingUser(int, int, int, boolean, boolean, java.lang.String, java.lang.String);
- public boolean isBackgroundRestricted();
- public static boolean isHighEndGfx();
- public boolean isInLockTaskMode();
- public boolean isLowRamDevice();
- public static boolean isLowRamDeviceStatic();
- public static boolean isProcStateBackground(int);
- public static boolean isRunningInTestHarness();
- public static boolean isSmallBatteryDevice();
- public static boolean isStartResultFatalError(int);
- public static boolean isStartResultSuccessful(int);
- public static boolean isSystemReady();
- public static boolean isUserAMonkey();
- public boolean isUserRunning(int);
- public boolean isVrModePackageEnabled(android.content.ComponentName);
- public void killBackgroundProcesses(java.lang.String);
- public void killUid(int, java.lang.String);
- public static void logoutCurrentUser();
- public void moveTaskToFront(int, int);
- public void moveTaskToFront(int, int, android.os.Bundle);
- public static void noteAlarmFinish(android.app.PendingIntent, android.os.WorkSource, int, java.lang.String);
- public static void noteAlarmStart(android.app.PendingIntent, android.os.WorkSource, int, java.lang.String);
- public static void noteWakeupAlarm(android.app.PendingIntent, android.os.WorkSource, int, java.lang.String, java.lang.String);
- public static int processStateAmToProto(int);
- public void removeOnUidImportanceListener(android.app.ActivityManager$OnUidImportanceListener);
- public void removeStacksInWindowingModes(int[]);
- public void removeStacksWithActivityTypes(int[]);
- public void resizeStack(int, android.graphics.Rect);
- public void restartPackage(java.lang.String);
- public void setFrontActivityScreenCompatMode(int);
- public void setPackageAskScreenCompat(java.lang.String, boolean);
- public void setPackageScreenCompatMode(java.lang.String, int);
- public static void setPersistentVrThread(int);
- public boolean setProcessMemoryTrimLevel(java.lang.String, int, int);
- public void setTaskWindowingMode(int, int, boolean);
- public void setTaskWindowingModeSplitScreenPrimary(int, int, boolean, boolean, android.graphics.Rect, boolean);
- public static void setVrThread(int);
- public void setWatchHeapLimit(long);
- public static int staticGetLargeMemoryClass();
- public static int staticGetMemoryClass();
- public static boolean supportsMultiWindow(android.content.Context);
- public static boolean supportsSplitScreenMultiWindow(android.content.Context);
- public boolean switchUser(int);
-
-
- public static java.lang.String ACTION_REPORT_HEAP_LIMIT;
- public static int APP_START_MODE_DELAYED;
- public static int APP_START_MODE_DELAYED_RIGID;
- public static int APP_START_MODE_DISABLED;
- public static int APP_START_MODE_NORMAL;
- public static int ASSIST_CONTEXT_AUTOFILL;
- public static int ASSIST_CONTEXT_BASIC;
- public static int ASSIST_CONTEXT_FULL;
- public static int BROADCAST_FAILED_USER_STOPPED;
- public static int BROADCAST_STICKY_CANT_HAVE_PERMISSION;
- public static int BROADCAST_SUCCESS;
- public static int BUGREPORT_OPTION_FULL;
- public static int BUGREPORT_OPTION_INTERACTIVE;
- public static int BUGREPORT_OPTION_REMOTE;
- public static int BUGREPORT_OPTION_TELEPHONY;
- public static int BUGREPORT_OPTION_WEAR;
- public static int BUGREPORT_OPTION_WIFI;
- public static int COMPAT_MODE_ALWAYS;
- public static int COMPAT_MODE_DISABLED;
- public static int COMPAT_MODE_ENABLED;
- public static int COMPAT_MODE_NEVER;
- public static int COMPAT_MODE_TOGGLE;
- public static int COMPAT_MODE_UNKNOWN;
- public static int FLAG_AND_LOCKED;
- public static int FLAG_AND_UNLOCKED;
- public static int FLAG_AND_UNLOCKING_OR_UNLOCKED;
- public static int FLAG_OR_STOPPED;
- public static int INTENT_SENDER_ACTIVITY;
- public static int INTENT_SENDER_ACTIVITY_RESULT;
- public static int INTENT_SENDER_BROADCAST;
- public static int INTENT_SENDER_FOREGROUND_SERVICE;
- public static int INTENT_SENDER_SERVICE;
- public static int LOCK_TASK_MODE_LOCKED;
- public static int LOCK_TASK_MODE_NONE;
- public static int LOCK_TASK_MODE_PINNED;
- public static int MAX_PROCESS_STATE;
- public static java.lang.String META_HOME_ALTERNATE;
- public static int MIN_PROCESS_STATE;
- public static int MOVE_TASK_NO_USER_ACTION;
- public static int MOVE_TASK_WITH_HOME;
- public static int PROCESS_STATE_BACKUP;
- public static int PROCESS_STATE_BOUND_FOREGROUND_SERVICE;
- public static int PROCESS_STATE_CACHED_ACTIVITY;
- public static int PROCESS_STATE_CACHED_ACTIVITY_CLIENT;
- public static int PROCESS_STATE_CACHED_EMPTY;
- public static int PROCESS_STATE_CACHED_RECENT;
- public static int PROCESS_STATE_FOREGROUND_SERVICE;
- public static int PROCESS_STATE_HEAVY_WEIGHT;
- public static int PROCESS_STATE_HOME;
- public static int PROCESS_STATE_IMPORTANT_BACKGROUND;
- public static int PROCESS_STATE_IMPORTANT_FOREGROUND;
- public static int PROCESS_STATE_LAST_ACTIVITY;
- public static int PROCESS_STATE_NONEXISTENT;
- public static int PROCESS_STATE_PERSISTENT;
- public static int PROCESS_STATE_PERSISTENT_UI;
- public static int PROCESS_STATE_RECEIVER;
- public static int PROCESS_STATE_SERVICE;
- public static int PROCESS_STATE_TOP;
- public static int PROCESS_STATE_TOP_SLEEPING;
- public static int PROCESS_STATE_TRANSIENT_BACKGROUND;
- public static int PROCESS_STATE_UNKNOWN;
- public static int RECENT_IGNORE_UNAVAILABLE;
- public static int RECENT_WITH_EXCLUDED;
- public static int RESIZE_MODE_FORCED;
- public static int RESIZE_MODE_PRESERVE_WINDOW;
- public static int RESIZE_MODE_SYSTEM;
- public static int RESIZE_MODE_SYSTEM_SCREEN_ROTATION;
- public static int RESIZE_MODE_USER;
- public static int RESIZE_MODE_USER_FORCED;
- public static int SPLIT_SCREEN_CREATE_MODE_BOTTOM_OR_RIGHT;
- public static int SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT;
- public static int START_ABORTED;
- public static int START_ASSISTANT_HIDDEN_SESSION;
- public static int START_ASSISTANT_NOT_ACTIVE_SESSION;
- public static int START_CANCELED;
- public static int START_CLASS_NOT_FOUND;
- public static int START_DELIVERED_TO_TOP;
- public static int START_FLAG_DEBUG;
- public static int START_FLAG_NATIVE_DEBUGGING;
- public static int START_FLAG_ONLY_IF_NEEDED;
- public static int START_FLAG_TRACK_ALLOCATION;
- public static int START_FORWARD_AND_REQUEST_CONFLICT;
- public static int START_INTENT_NOT_RESOLVED;
- public static int START_NOT_ACTIVITY;
- public static int START_NOT_CURRENT_USER_ACTIVITY;
- public static int START_NOT_VOICE_COMPATIBLE;
- public static int START_PERMISSION_DENIED;
- public static int START_RETURN_INTENT_TO_CALLER;
- public static int START_RETURN_LOCK_TASK_MODE_VIOLATION;
- public static int START_SUCCESS;
- public static int START_SWITCHES_CANCELED;
- public static int START_TASK_TO_FRONT;
- public static int START_VOICE_HIDDEN_SESSION;
- public static int START_VOICE_NOT_ACTIVE_SESSION;
- public static int UID_OBSERVER_ACTIVE;
- public static int UID_OBSERVER_CACHED;
- public static int UID_OBSERVER_GONE;
- public static int UID_OBSERVER_IDLE;
- public static int UID_OBSERVER_PROCSTATE;
- public static int USER_OP_ERROR_IS_SYSTEM;
- public static int USER_OP_ERROR_RELATED_USERS_CANNOT_STOP;
- public static int USER_OP_IS_CURRENT;
- public static int USER_OP_SUCCESS;
- public static int USER_OP_UNKNOWN_USER;
-}
-
--keep class android.app.ActivityManager$AppTask {
- <init>(android.app.IAppTask);
-
- public void finishAndRemoveTask();
- public android.app.ActivityManager$RecentTaskInfo getTaskInfo();
- public void moveToFront();
- public void setExcludeFromRecents(boolean);
- public void startActivity(android.content.Context, android.content.Intent, android.os.Bundle);
-
-
-}
-
--keep class android.app.ActivityManager$MemoryInfo {
- <init>();
-
- public int describeContents();
- public void readFromParcel(android.os.Parcel);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public long availMem;
- public long foregroundAppThreshold;
- public long hiddenAppThreshold;
- public boolean lowMemory;
- public long secondaryServerThreshold;
- public long threshold;
- public long totalMem;
- public long visibleAppThreshold;
-}
-
--keep class android.app.ActivityManager$OnUidImportanceListener {
-
- public abstract void onUidImportance(int, int);
-
-
-}
-
--keep class android.app.ActivityManager$ProcessErrorStateInfo {
- <init>();
-
- public int describeContents();
- public void readFromParcel(android.os.Parcel);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static int CRASHED;
- public static android.os.Parcelable$Creator CREATOR;
- public static int NOT_RESPONDING;
- public static int NO_ERROR;
- public int condition;
- public byte[] crashData;
- public java.lang.String longMsg;
- public int pid;
- public java.lang.String processName;
- public java.lang.String shortMsg;
- public java.lang.String stackTrace;
- public java.lang.String tag;
- public int uid;
-}
-
--keep class android.app.ActivityManager$RecentTaskInfo {
- <init>();
-
- public int describeContents();
- public void readFromParcel(android.os.Parcel);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public int affiliatedTaskColor;
- public int affiliatedTaskId;
- public android.content.ComponentName baseActivity;
- public android.content.Intent baseIntent;
- public android.graphics.Rect bounds;
- public android.content.res.Configuration configuration;
- public java.lang.CharSequence description;
- public long firstActiveTime;
- public int id;
- public long lastActiveTime;
- public int numActivities;
- public android.content.ComponentName origActivity;
- public int persistentId;
- public android.content.ComponentName realActivity;
- public int resizeMode;
- public int stackId;
- public boolean supportsSplitScreenMultiWindow;
- public android.app.ActivityManager$TaskDescription taskDescription;
- public android.content.ComponentName topActivity;
- public int userId;
-}
-
--keep class android.app.ActivityManager$RunningAppProcessInfo {
- <init>();
- <init>(java.lang.String, int, java.lang.String[]);
-
- public int describeContents();
- public static int importanceToProcState(int);
- public static int procStateToImportance(int);
- public static int procStateToImportanceForClient(int, android.content.Context);
- public static int procStateToImportanceForTargetSdk(int, int);
- public void readFromParcel(android.os.Parcel);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int FLAG_CANT_SAVE_STATE;
- public static int FLAG_HAS_ACTIVITIES;
- public static int FLAG_PERSISTENT;
- public static int IMPORTANCE_BACKGROUND;
- public static int IMPORTANCE_CACHED;
- public static int IMPORTANCE_CANT_SAVE_STATE;
- public static int IMPORTANCE_CANT_SAVE_STATE_PRE_26;
- public static int IMPORTANCE_EMPTY;
- public static int IMPORTANCE_FOREGROUND;
- public static int IMPORTANCE_FOREGROUND_SERVICE;
- public static int IMPORTANCE_GONE;
- public static int IMPORTANCE_PERCEPTIBLE;
- public static int IMPORTANCE_PERCEPTIBLE_PRE_26;
- public static int IMPORTANCE_SERVICE;
- public static int IMPORTANCE_TOP_SLEEPING;
- public static int IMPORTANCE_TOP_SLEEPING_PRE_28;
- public static int IMPORTANCE_VISIBLE;
- public static int REASON_PROVIDER_IN_USE;
- public static int REASON_SERVICE_IN_USE;
- public static int REASON_UNKNOWN;
- public int flags;
- public int importance;
- public int importanceReasonCode;
- public android.content.ComponentName importanceReasonComponent;
- public int importanceReasonImportance;
- public int importanceReasonPid;
- public int lastTrimLevel;
- public int lru;
- public int pid;
- public java.lang.String[] pkgList;
- public java.lang.String processName;
- public int processState;
- public int uid;
-}
-
--keep class android.app.ActivityManager$RunningServiceInfo {
- <init>();
-
- public int describeContents();
- public void readFromParcel(android.os.Parcel);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int FLAG_FOREGROUND;
- public static int FLAG_PERSISTENT_PROCESS;
- public static int FLAG_STARTED;
- public static int FLAG_SYSTEM_PROCESS;
- public long activeSince;
- public int clientCount;
- public int clientLabel;
- public java.lang.String clientPackage;
- public int crashCount;
- public int flags;
- public boolean foreground;
- public long lastActivityTime;
- public int pid;
- public java.lang.String process;
- public long restarting;
- public android.content.ComponentName service;
- public boolean started;
- public int uid;
-}
-
--keep class android.app.ActivityManager$RunningTaskInfo {
- <init>();
-
- public int describeContents();
- public void readFromParcel(android.os.Parcel);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public android.content.ComponentName baseActivity;
- public android.content.res.Configuration configuration;
- public java.lang.CharSequence description;
- public int id;
- public long lastActiveTime;
- public int numActivities;
- public int numRunning;
- public int resizeMode;
- public int stackId;
- public boolean supportsSplitScreenMultiWindow;
- public android.graphics.Bitmap thumbnail;
- public android.content.ComponentName topActivity;
-}
-
--keep class android.app.ActivityManager$StackInfo {
- <init>();
-
- public int describeContents();
- public void readFromParcel(android.os.Parcel);
- public java.lang.String toString(java.lang.String);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public android.graphics.Rect bounds;
- public android.content.res.Configuration configuration;
- public int displayId;
- public int position;
- public int stackId;
- public android.graphics.Rect[] taskBounds;
- public int[] taskIds;
- public java.lang.String[] taskNames;
- public int[] taskUserIds;
- public android.content.ComponentName topActivity;
- public int userId;
- public boolean visible;
-}
-
--keep class android.app.ActivityManager$TaskDescription {
- <init>(java.lang.String, android.graphics.Bitmap, int);
- <init>(java.lang.String, int, int);
- <init>(java.lang.String, android.graphics.Bitmap);
- <init>(java.lang.String, int);
- <init>(java.lang.String);
- <init>();
- <init>(java.lang.String, android.graphics.Bitmap, int, java.lang.String, int, int, int, int);
- <init>(android.app.ActivityManager$TaskDescription);
-
- public void copyFrom(android.app.ActivityManager$TaskDescription);
- public void copyFromPreserveHiddenFields(android.app.ActivityManager$TaskDescription);
- public int describeContents();
- public int getBackgroundColor();
- public android.graphics.Bitmap getIcon();
- public java.lang.String getIconFilename();
- public int getIconResource();
- public android.graphics.Bitmap getInMemoryIcon();
- public java.lang.String getLabel();
- public int getNavigationBarColor();
- public int getPrimaryColor();
- public int getStatusBarColor();
- public static android.graphics.Bitmap loadTaskDescriptionIcon(java.lang.String, int);
- public void readFromParcel(android.os.Parcel);
- public void restoreFromXml(java.lang.String, java.lang.String);
- public void saveToXml(org.xmlpull.v1.XmlSerializer);
- public void setBackgroundColor(int);
- public void setIcon(android.graphics.Bitmap);
- public void setIcon(int);
- public void setIconFilename(java.lang.String);
- public void setLabel(java.lang.String);
- public void setNavigationBarColor(int);
- public void setPrimaryColor(int);
- public void setStatusBarColor(int);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static java.lang.String ATTR_TASKDESCRIPTION_PREFIX;
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.app.ActivityManager$TaskSnapshot {
- <init>(android.graphics.GraphicBuffer, int, android.graphics.Rect, boolean, float, boolean, int, int, boolean);
-
- public int describeContents();
- public android.graphics.Rect getContentInsets();
- public int getOrientation();
- public float getScale();
- public android.graphics.GraphicBuffer getSnapshot();
- public int getSystemUiVisibility();
- public int getWindowingMode();
- public boolean isRealSnapshot();
- public boolean isReducedResolution();
- public boolean isTranslucent();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.app.ActivityOptions {
- <init>(android.os.Bundle);
-
- public void abort();
- public static void abort(android.app.ActivityOptions);
- public boolean canTaskOverlayResume();
- public boolean disallowEnterPictureInPictureWhileLaunching();
- public android.app.ActivityOptions forTargetActivity();
- public static android.app.ActivityOptions fromBundle(android.os.Bundle);
- public android.view.AppTransitionAnimationSpec[] getAnimSpecs();
- public android.os.IRemoteCallback getAnimationFinishedListener();
- public int getAnimationType();
- public boolean getAvoidMoveToFront();
- public int getCustomEnterResId();
- public int getCustomExitResId();
- public int getCustomInPlaceResId();
- public int getExitCoordinatorKey();
- public int getHeight();
- public int getLaunchActivityType();
- public android.graphics.Rect getLaunchBounds();
- public int getLaunchDisplayId();
- public boolean getLaunchTaskBehind();
- public int getLaunchTaskId();
- public int getLaunchWindowingMode();
- public boolean getLockTaskMode();
- public android.os.IRemoteCallback getOnAnimationStartListener();
- public java.lang.String getPackageName();
- public android.view.RemoteAnimationAdapter getRemoteAnimationAdapter();
- public int getResultCode();
- public android.content.Intent getResultData();
- public android.os.ResultReceiver getResultReceiver();
- public int getRotationAnimationHint();
- public java.util.ArrayList getSharedElementNames();
- public android.view.IAppTransitionAnimationSpecsFuture getSpecsFuture();
- public int getSplitScreenCreateMode();
- public int getStartX();
- public int getStartY();
- public boolean getTaskOverlay();
- public android.graphics.GraphicBuffer getThumbnail();
- public android.app.PendingIntent getUsageTimeReport();
- public int getWidth();
- public boolean isReturning();
- public static android.app.ActivityOptions makeBasic();
- public static android.app.ActivityOptions makeClipRevealAnimation(android.view.View, int, int, int, int);
- public static android.app.ActivityOptions makeCustomAnimation(android.content.Context, int, int);
- public static android.app.ActivityOptions makeCustomAnimation(android.content.Context, int, int, android.os.Handler, android.app.ActivityOptions$OnAnimationStartedListener);
- public static android.app.ActivityOptions makeCustomInPlaceAnimation(android.content.Context, int);
- public static android.app.ActivityOptions makeMultiThumbFutureAspectScaleAnimation(android.content.Context, android.os.Handler, android.view.IAppTransitionAnimationSpecsFuture, android.app.ActivityOptions$OnAnimationStartedListener, boolean);
- public static android.app.ActivityOptions makeOpenCrossProfileAppsAnimation();
- public static android.app.ActivityOptions makeRemoteAnimation(android.view.RemoteAnimationAdapter);
- public static android.app.ActivityOptions makeScaleUpAnimation(android.view.View, int, int, int, int);
- public static android.app.ActivityOptions makeSceneTransitionAnimation(android.app.Activity, android.view.View, java.lang.String);
- public static android.app.ActivityOptions makeSceneTransitionAnimation(android.app.Activity, android.util.Pair[]);
- public static android.app.ActivityOptions makeTaskLaunchBehind();
- public static android.app.ActivityOptions makeThumbnailAspectScaleDownAnimation(android.view.View, android.graphics.Bitmap, int, int, int, int, android.os.Handler, android.app.ActivityOptions$OnAnimationStartedListener);
- public static android.app.ActivityOptions makeThumbnailAspectScaleDownAnimation(android.view.View, android.view.AppTransitionAnimationSpec[], android.os.Handler, android.app.ActivityOptions$OnAnimationStartedListener, android.app.ActivityOptions$OnAnimationFinishedListener);
- public static android.app.ActivityOptions makeThumbnailScaleUpAnimation(android.view.View, android.graphics.Bitmap, int, int);
- public android.os.Bundle popAppVerificationBundle();
- public void requestUsageTimeReport(android.app.PendingIntent);
- public android.app.ActivityOptions setAppVerificationBundle(android.os.Bundle);
- public void setAvoidMoveToFront();
- public void setDisallowEnterPictureInPictureWhileLaunching(boolean);
- public void setLaunchActivityType(int);
- public android.app.ActivityOptions setLaunchBounds(android.graphics.Rect);
- public android.app.ActivityOptions setLaunchDisplayId(int);
- public void setLaunchTaskId(int);
- public void setLaunchWindowingMode(int);
- public android.app.ActivityOptions setLockTaskEnabled(boolean);
- public void setRemoteAnimationAdapter(android.view.RemoteAnimationAdapter);
- public void setRotationAnimationHint(int);
- public void setSplitScreenCreateMode(int);
- public void setTaskOverlay(boolean, boolean);
- public static android.app.ActivityOptions startSharedElementAnimation(android.view.Window, android.util.Pair[]);
- public static void stopSharedElementAnimation(android.view.Window);
- public android.os.Bundle toBundle();
- public java.lang.String toString();
- public void update(android.app.ActivityOptions);
-
-
- public static int ANIM_CLIP_REVEAL;
- public static int ANIM_CUSTOM;
- public static int ANIM_CUSTOM_IN_PLACE;
- public static int ANIM_DEFAULT;
- public static int ANIM_LAUNCH_TASK_BEHIND;
- public static int ANIM_NONE;
- public static int ANIM_OPEN_CROSS_PROFILE_APPS;
- public static int ANIM_REMOTE_ANIMATION;
- public static int ANIM_SCALE_UP;
- public static int ANIM_SCENE_TRANSITION;
- public static int ANIM_THUMBNAIL_ASPECT_SCALE_DOWN;
- public static int ANIM_THUMBNAIL_ASPECT_SCALE_UP;
- public static int ANIM_THUMBNAIL_SCALE_DOWN;
- public static int ANIM_THUMBNAIL_SCALE_UP;
- public static java.lang.String EXTRA_USAGE_TIME_REPORT;
- public static java.lang.String EXTRA_USAGE_TIME_REPORT_PACKAGES;
- public static java.lang.String KEY_ANIM_ENTER_RES_ID;
- public static java.lang.String KEY_ANIM_EXIT_RES_ID;
- public static java.lang.String KEY_ANIM_HEIGHT;
- public static java.lang.String KEY_ANIM_IN_PLACE_RES_ID;
- public static java.lang.String KEY_ANIM_START_LISTENER;
- public static java.lang.String KEY_ANIM_START_X;
- public static java.lang.String KEY_ANIM_START_Y;
- public static java.lang.String KEY_ANIM_THUMBNAIL;
- public static java.lang.String KEY_ANIM_TYPE;
- public static java.lang.String KEY_ANIM_WIDTH;
- public static java.lang.String KEY_LAUNCH_BOUNDS;
- public static java.lang.String KEY_PACKAGE_NAME;
-}
-
--keep class android.app.ActivityOptions$OnAnimationFinishedListener {
-
- public abstract void onAnimationFinished();
-
-
-}
-
--keep class android.app.ActivityOptions$OnAnimationStartedListener {
-
- public abstract void onAnimationStarted();
-
-
-}
-
--keep class android.app.ActivityThread {
-
- public android.content.IContentProvider acquireExistingProvider(android.content.Context, java.lang.String, int, boolean);
- public android.content.IContentProvider acquireProvider(android.content.Context, java.lang.String, int, boolean);
- public void applyConfigurationToResources(android.content.res.Configuration);
- public static android.app.ActivityThread currentActivityThread();
- public static android.app.Application currentApplication();
- public static java.lang.String currentOpPackageName();
- public static java.lang.String currentPackageName();
- public static java.lang.String currentProcessName();
- public static void dumpMemInfoTable(java.io.PrintWriter, android.os.Debug$MemoryInfo, boolean, boolean, boolean, boolean, int, java.lang.String, long, long, long, long, long, long);
- public static void dumpMemInfoTable(android.util.proto.ProtoOutputStream, android.os.Debug$MemoryInfo, boolean, boolean, long, long, long, long, long, long);
- public android.app.Activity getActivity(android.os.IBinder);
- public android.app.ActivityThread$ActivityClientRecord getActivityClient(android.os.IBinder);
- public android.app.Application getApplication();
- public android.app.ActivityThread$ApplicationThread getApplicationThread();
- public java.util.concurrent.Executor getExecutor();
- public android.app.Instrumentation getInstrumentation();
- public int getIntCoreSetting(java.lang.String, int);
- public static android.content.Intent getIntentBeingBroadcast();
- public android.os.Looper getLooper();
- public android.app.LoadedApk getPackageInfo(java.lang.String, android.content.res.CompatibilityInfo, int);
- public android.app.LoadedApk getPackageInfo(java.lang.String, android.content.res.CompatibilityInfo, int, int);
- public android.app.LoadedApk getPackageInfo(android.content.pm.ApplicationInfo, android.content.res.CompatibilityInfo, int);
- public android.app.LoadedApk getPackageInfoNoCheck(android.content.pm.ApplicationInfo, android.content.res.CompatibilityInfo);
- public static android.content.pm.IPackageManager getPackageManager();
- public java.lang.String getProcessName();
- public java.lang.String getProfileFilePath();
- public android.app.ContextImpl getSystemContext();
- public android.app.ContextImpl getSystemUiContext();
- public void handleActivityConfigurationChanged(android.os.IBinder, android.content.res.Configuration, int);
- public void handleConfigurationChanged(android.content.res.Configuration);
- public void handleDestroyActivity(android.os.IBinder, boolean, int, boolean, java.lang.String);
- public void handleInstallProvider(android.content.pm.ProviderInfo);
- public android.app.Activity handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.app.servertransaction.PendingTransactionActions, android.content.Intent);
- public void handleMultiWindowModeChanged(android.os.IBinder, boolean, android.content.res.Configuration);
- public void handleNewIntent(android.os.IBinder, java.util.List, boolean);
- public void handlePauseActivity(android.os.IBinder, boolean, boolean, int, android.app.servertransaction.PendingTransactionActions, java.lang.String);
- public void handlePictureInPictureModeChanged(android.os.IBinder, boolean, android.content.res.Configuration);
- public void handleRelaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.app.servertransaction.PendingTransactionActions);
- public void handleRequestAssistContextExtras(android.app.ActivityThread$RequestAssistContextExtras);
- public void handleResumeActivity(android.os.IBinder, boolean, boolean, java.lang.String);
- public void handleSendResult(android.os.IBinder, java.util.List, java.lang.String);
- public void handleStartActivity(android.app.ActivityThread$ActivityClientRecord, android.app.servertransaction.PendingTransactionActions);
- public void handleStopActivity(android.os.IBinder, boolean, int, android.app.servertransaction.PendingTransactionActions, boolean, java.lang.String);
- public void handleTranslucentConversionComplete(android.os.IBinder, boolean);
- public void handleWindowVisibility(android.os.IBinder, boolean);
- public void installSystemApplicationInfo(android.content.pm.ApplicationInfo, java.lang.ClassLoader);
- public void installSystemProviders(java.util.List);
- public boolean isProfiling();
- public static boolean isSystem();
- public static void main(java.lang.String[]);
- public void onNewActivityOptions(android.os.IBinder, android.app.ActivityOptions);
- public android.app.LoadedApk peekPackageInfo(java.lang.String, boolean);
- public void performRestartActivity(android.os.IBinder, boolean);
- public android.app.ActivityThread$ActivityClientRecord performResumeActivity(android.os.IBinder, boolean, java.lang.String);
- public android.app.ActivityThread$ActivityClientRecord prepareRelaunchActivity(android.os.IBinder, java.util.List, java.util.List, int, android.util.MergedConfiguration, boolean);
- public void registerOnActivityPausedListener(android.app.Activity, android.app.OnActivityPausedListener);
- public boolean releaseProvider(android.content.IContentProvider, boolean);
- public void reportRelaunch(android.os.IBinder, android.app.servertransaction.PendingTransactionActions);
- public void reportStop(android.app.servertransaction.PendingTransactionActions);
- public android.content.pm.ActivityInfo resolveActivityInfo(android.content.Intent);
- public void sendActivityResult(android.os.IBinder, java.lang.String, int, int, android.content.Intent);
- public android.app.Activity startActivityNow(android.app.Activity, java.lang.String, android.content.Intent, android.content.pm.ActivityInfo, android.os.IBinder, android.os.Bundle, android.app.Activity$NonConfigurationInstances);
- public void stopProfiling();
- public static android.app.ActivityThread systemMain();
- public void unregisterOnActivityPausedListener(android.app.Activity, android.app.OnActivityPausedListener);
- public void updatePendingConfiguration(android.content.res.Configuration);
- public void updateProcessState(int, boolean);
-
-
- public static boolean DEBUG_BROADCAST;
- public static boolean DEBUG_CONFIGURATION;
- public static boolean DEBUG_MEMORY_TRIM;
- public static boolean DEBUG_ORDER;
- public static long INVALID_PROC_STATE_SEQ;
- public static java.lang.String PROC_START_SEQ_IDENT;
- public static int SERVICE_DONE_EXECUTING_ANON;
- public static int SERVICE_DONE_EXECUTING_START;
- public static int SERVICE_DONE_EXECUTING_STOP;
- public static java.lang.String TAG;
-}
-
--keep class android.app.ActivityThread$ActivityClientRecord {
- <init>();
- <init>(android.os.IBinder, android.content.Intent, int, android.content.pm.ActivityInfo, android.content.res.Configuration, android.content.res.CompatibilityInfo, java.lang.String, com.android.internal.app.IVoiceInteractor, android.os.Bundle, android.os.PersistableBundle, java.util.List, java.util.List, boolean, android.app.ProfilerInfo, android.app.ClientTransactionHandler);
-
- public int getLifecycleState();
- public java.lang.String getStateString();
- public boolean isPersistable();
- public boolean isVisibleFromServer();
- public void setState(int);
- public java.lang.String toString();
-
-
- public boolean isForward;
- public android.app.LoadedApk packageInfo;
- public android.os.IBinder token;
-}
-
--keep class android.app.ActivityThread$ApplicationThread {
-
- public void attachAgent(java.lang.String);
- public void bindApplication(java.lang.String, android.content.pm.ApplicationInfo, java.util.List, android.content.ComponentName, android.app.ProfilerInfo, android.os.Bundle, android.app.IInstrumentationWatcher, android.app.IUiAutomationConnection, int, boolean, boolean, boolean, boolean, android.content.res.Configuration, android.content.res.CompatibilityInfo, java.util.Map, android.os.Bundle, java.lang.String, boolean);
- public void clearDnsCache();
- public void dispatchPackageBroadcast(int, java.lang.String[]);
- public void dumpActivity(android.os.ParcelFileDescriptor, android.os.IBinder, java.lang.String, java.lang.String[]);
- public void dumpDbInfo(android.os.ParcelFileDescriptor, java.lang.String[]);
- public void dumpGfxInfo(android.os.ParcelFileDescriptor, java.lang.String[]);
- public void dumpHeap(boolean, boolean, boolean, java.lang.String, android.os.ParcelFileDescriptor);
- public void dumpMemInfo(android.os.ParcelFileDescriptor, android.os.Debug$MemoryInfo, boolean, boolean, boolean, boolean, boolean, java.lang.String[]);
- public void dumpMemInfoProto(android.os.ParcelFileDescriptor, android.os.Debug$MemoryInfo, boolean, boolean, boolean, boolean, java.lang.String[]);
- public void dumpProvider(android.os.ParcelFileDescriptor, android.os.IBinder, java.lang.String[]);
- public void dumpService(android.os.ParcelFileDescriptor, android.os.IBinder, java.lang.String[]);
- public void handleTrustStorageUpdate();
- public void notifyCleartextNetwork(byte[]);
- public void processInBackground();
- public void profilerControl(boolean, android.app.ProfilerInfo, int);
- public void requestAssistContextExtras(android.os.IBinder, android.os.IBinder, int, int, int);
- public void runIsolatedEntryPoint(java.lang.String, java.lang.String[]);
- public void scheduleApplicationInfoChanged(android.content.pm.ApplicationInfo);
- public void scheduleBindService(android.os.IBinder, android.content.Intent, boolean, int);
- public void scheduleCrash(java.lang.String);
- public void scheduleCreateBackupAgent(android.content.pm.ApplicationInfo, android.content.res.CompatibilityInfo, int);
- public void scheduleCreateService(android.os.IBinder, android.content.pm.ServiceInfo, android.content.res.CompatibilityInfo, int);
- public void scheduleDestroyBackupAgent(android.content.pm.ApplicationInfo, android.content.res.CompatibilityInfo);
- public void scheduleEnterAnimationComplete(android.os.IBinder);
- public void scheduleExit();
- public void scheduleInstallProvider(android.content.pm.ProviderInfo);
- public void scheduleLocalVoiceInteractionStarted(android.os.IBinder, com.android.internal.app.IVoiceInteractor);
- public void scheduleLowMemory();
- public void scheduleOnNewActivityOptions(android.os.IBinder, android.os.Bundle);
- public void scheduleReceiver(android.content.Intent, android.content.pm.ActivityInfo, android.content.res.CompatibilityInfo, int, java.lang.String, android.os.Bundle, boolean, int, int);
- public void scheduleRegisteredReceiver(android.content.IIntentReceiver, android.content.Intent, int, java.lang.String, android.os.Bundle, boolean, boolean, int, int);
- public void scheduleServiceArgs(android.os.IBinder, android.content.pm.ParceledListSlice);
- public void scheduleSleeping(android.os.IBinder, boolean);
- public void scheduleStopService(android.os.IBinder);
- public void scheduleSuicide();
- public void scheduleTransaction(android.app.servertransaction.ClientTransaction);
- public void scheduleTranslucentConversionComplete(android.os.IBinder, boolean);
- public void scheduleTrimMemory(int);
- public void scheduleUnbindService(android.os.IBinder, android.content.Intent);
- public void setCoreSettings(android.os.Bundle);
- public void setHttpProxy(java.lang.String, java.lang.String, java.lang.String, android.net.Uri);
- public void setNetworkBlockSeq(long);
- public void setProcessState(int);
- public void setSchedulingGroup(int);
- public void startBinderTracking();
- public void stopBinderTrackingAndDump(android.os.ParcelFileDescriptor);
- public void unstableProviderDied(android.os.IBinder);
- public void updatePackageCompatibilityInfo(java.lang.String, android.content.res.CompatibilityInfo);
- public void updateProcessState(int, boolean);
- public void updateTimePrefs(int);
- public void updateTimeZone();
-
-
-}
-
--keep class android.app.ActivityThread$RequestAssistContextExtras {
-
-
-
-}
-
--keep class android.app.AppComponentFactory {
- <init>();
-
- public android.app.Activity instantiateActivity(java.lang.ClassLoader, java.lang.String, android.content.Intent);
- public android.app.Application instantiateApplication(java.lang.ClassLoader, java.lang.String);
- public android.content.ContentProvider instantiateProvider(java.lang.ClassLoader, java.lang.String);
- public android.content.BroadcastReceiver instantiateReceiver(java.lang.ClassLoader, java.lang.String, android.content.Intent);
- public android.app.Service instantiateService(java.lang.ClassLoader, java.lang.String, android.content.Intent);
-
-
- public static android.app.AppComponentFactory DEFAULT;
-}
-
--keep class android.app.AppOpsManager {
-
- public int checkAudioOp(int, int, int, java.lang.String);
- public int checkAudioOpNoThrow(int, int, int, java.lang.String);
- public int checkOp(java.lang.String, int, java.lang.String);
- public int checkOp(int, int, java.lang.String);
- public int checkOpNoThrow(java.lang.String, int, java.lang.String);
- public int checkOpNoThrow(int, int, java.lang.String);
- public void checkPackage(int, java.lang.String);
- public void finishOp(java.lang.String, int, java.lang.String);
- public void finishOp(int, int, java.lang.String);
- public void finishOp(int);
- public static java.lang.String[] getOpStrs();
- public java.util.List getOpsForPackage(int, java.lang.String, int[]);
- public java.util.List getPackagesForOps(int[]);
- public static android.os.IBinder getToken(com.android.internal.app.IAppOpsService);
- public boolean isOperationActive(int, int, java.lang.String);
- public static long maxTime(long[], int, int);
- public static java.lang.String modeToName(int);
- public int noteOp(java.lang.String, int, java.lang.String);
- public int noteOp(int, int, java.lang.String);
- public int noteOp(int);
- public int noteOpNoThrow(java.lang.String, int, java.lang.String);
- public int noteOpNoThrow(int, int, java.lang.String);
- public int noteProxyOp(java.lang.String, java.lang.String);
- public int noteProxyOp(int, java.lang.String);
- public int noteProxyOpNoThrow(java.lang.String, java.lang.String);
- public int noteProxyOpNoThrow(int, java.lang.String);
- public static boolean opAllowSystemBypassRestriction(int);
- public static boolean opAllowsReset(int);
- public static int opToDefaultMode(int);
- public static java.lang.String opToName(int);
- public static java.lang.String opToPermission(int);
- public static java.lang.String opToRestriction(int);
- public static int opToSwitch(int);
- public static java.lang.String permissionToOp(java.lang.String);
- public static int permissionToOpCode(java.lang.String);
- public void resetAllModes();
- public void setMode(int, int, java.lang.String, int);
- public void setMode(java.lang.String, int, java.lang.String, int);
- public void setRestriction(int, int, int, java.lang.String[]);
- public void setUidMode(int, int, int);
- public void setUidMode(java.lang.String, int, int);
- public void setUserRestriction(int, boolean, android.os.IBinder);
- public void setUserRestriction(int, boolean, android.os.IBinder, java.lang.String[]);
- public void setUserRestrictionForUser(int, boolean, android.os.IBinder, java.lang.String[], int);
- public int startOp(java.lang.String, int, java.lang.String);
- public int startOp(int);
- public int startOp(int, int, java.lang.String);
- public int startOp(int, int, java.lang.String, boolean);
- public int startOpNoThrow(java.lang.String, int, java.lang.String);
- public int startOpNoThrow(int, int, java.lang.String);
- public int startOpNoThrow(int, int, java.lang.String, boolean);
- public void startWatchingActive(int[], android.app.AppOpsManager$OnOpActiveChangedListener);
- public void startWatchingMode(java.lang.String, java.lang.String, android.app.AppOpsManager$OnOpChangedListener);
- public void startWatchingMode(java.lang.String, java.lang.String, int, android.app.AppOpsManager$OnOpChangedListener);
- public void startWatchingMode(int, java.lang.String, android.app.AppOpsManager$OnOpChangedListener);
- public void startWatchingMode(int, java.lang.String, int, android.app.AppOpsManager$OnOpChangedListener);
- public void stopWatchingActive(android.app.AppOpsManager$OnOpActiveChangedListener);
- public void stopWatchingMode(android.app.AppOpsManager$OnOpChangedListener);
- public static int strDebugOpToOp(java.lang.String);
- public static int strOpToOp(java.lang.String);
- public int unsafeCheckOpRaw(java.lang.String, int, java.lang.String);
-
-
- public static int MODE_ALLOWED;
- public static int MODE_DEFAULT;
- public static int MODE_ERRORED;
- public static int MODE_FOREGROUND;
- public static int MODE_IGNORED;
- public static java.lang.String[] MODE_NAMES;
- public static java.lang.String OPSTR_ACCEPT_HANDOVER;
- public static java.lang.String OPSTR_ACCESS_NOTIFICATIONS;
- public static java.lang.String OPSTR_ACTIVATE_VPN;
- public static java.lang.String OPSTR_ADD_VOICEMAIL;
- public static java.lang.String OPSTR_ANSWER_PHONE_CALLS;
- public static java.lang.String OPSTR_ASSIST_SCREENSHOT;
- public static java.lang.String OPSTR_ASSIST_STRUCTURE;
- public static java.lang.String OPSTR_AUDIO_ACCESSIBILITY_VOLUME;
- public static java.lang.String OPSTR_AUDIO_ALARM_VOLUME;
- public static java.lang.String OPSTR_AUDIO_BLUETOOTH_VOLUME;
- public static java.lang.String OPSTR_AUDIO_MASTER_VOLUME;
- public static java.lang.String OPSTR_AUDIO_MEDIA_VOLUME;
- public static java.lang.String OPSTR_AUDIO_NOTIFICATION_VOLUME;
- public static java.lang.String OPSTR_AUDIO_RING_VOLUME;
- public static java.lang.String OPSTR_AUDIO_VOICE_VOLUME;
- public static java.lang.String OPSTR_BIND_ACCESSIBILITY_SERVICE;
- public static java.lang.String OPSTR_BLUETOOTH_SCAN;
- public static java.lang.String OPSTR_BODY_SENSORS;
- public static java.lang.String OPSTR_CALL_PHONE;
- public static java.lang.String OPSTR_CAMERA;
- public static java.lang.String OPSTR_CHANGE_WIFI_STATE;
- public static java.lang.String OPSTR_COARSE_LOCATION;
- public static java.lang.String OPSTR_FINE_LOCATION;
- public static java.lang.String OPSTR_GET_ACCOUNTS;
- public static java.lang.String OPSTR_GET_USAGE_STATS;
- public static java.lang.String OPSTR_GPS;
- public static java.lang.String OPSTR_INSTANT_APP_START_FOREGROUND;
- public static java.lang.String OPSTR_MANAGE_IPSEC_TUNNELS;
- public static java.lang.String OPSTR_MOCK_LOCATION;
- public static java.lang.String OPSTR_MONITOR_HIGH_POWER_LOCATION;
- public static java.lang.String OPSTR_MONITOR_LOCATION;
- public static java.lang.String OPSTR_MUTE_MICROPHONE;
- public static java.lang.String OPSTR_NEIGHBORING_CELLS;
- public static java.lang.String OPSTR_PICTURE_IN_PICTURE;
- public static java.lang.String OPSTR_PLAY_AUDIO;
- public static java.lang.String OPSTR_POST_NOTIFICATION;
- public static java.lang.String OPSTR_PROCESS_OUTGOING_CALLS;
- public static java.lang.String OPSTR_PROJECT_MEDIA;
- public static java.lang.String OPSTR_READ_CALENDAR;
- public static java.lang.String OPSTR_READ_CALL_LOG;
- public static java.lang.String OPSTR_READ_CELL_BROADCASTS;
- public static java.lang.String OPSTR_READ_CLIPBOARD;
- public static java.lang.String OPSTR_READ_CONTACTS;
- public static java.lang.String OPSTR_READ_EXTERNAL_STORAGE;
- public static java.lang.String OPSTR_READ_ICC_SMS;
- public static java.lang.String OPSTR_READ_PHONE_NUMBERS;
- public static java.lang.String OPSTR_READ_PHONE_STATE;
- public static java.lang.String OPSTR_READ_SMS;
- public static java.lang.String OPSTR_RECEIVE_EMERGENCY_BROADCAST;
- public static java.lang.String OPSTR_RECEIVE_MMS;
- public static java.lang.String OPSTR_RECEIVE_SMS;
- public static java.lang.String OPSTR_RECEIVE_WAP_PUSH;
- public static java.lang.String OPSTR_RECORD_AUDIO;
- public static java.lang.String OPSTR_REQUEST_DELETE_PACKAGES;
- public static java.lang.String OPSTR_REQUEST_INSTALL_PACKAGES;
- public static java.lang.String OPSTR_RUN_ANY_IN_BACKGROUND;
- public static java.lang.String OPSTR_RUN_IN_BACKGROUND;
- public static java.lang.String OPSTR_SEND_SMS;
- public static java.lang.String OPSTR_START_FOREGROUND;
- public static java.lang.String OPSTR_SYSTEM_ALERT_WINDOW;
- public static java.lang.String OPSTR_TAKE_AUDIO_FOCUS;
- public static java.lang.String OPSTR_TAKE_MEDIA_BUTTONS;
- public static java.lang.String OPSTR_TOAST_WINDOW;
- public static java.lang.String OPSTR_TURN_SCREEN_ON;
- public static java.lang.String OPSTR_USE_FINGERPRINT;
- public static java.lang.String OPSTR_USE_SIP;
- public static java.lang.String OPSTR_VIBRATE;
- public static java.lang.String OPSTR_WAKE_LOCK;
- public static java.lang.String OPSTR_WIFI_SCAN;
- public static java.lang.String OPSTR_WRITE_CALENDAR;
- public static java.lang.String OPSTR_WRITE_CALL_LOG;
- public static java.lang.String OPSTR_WRITE_CLIPBOARD;
- public static java.lang.String OPSTR_WRITE_CONTACTS;
- public static java.lang.String OPSTR_WRITE_EXTERNAL_STORAGE;
- public static java.lang.String OPSTR_WRITE_ICC_SMS;
- public static java.lang.String OPSTR_WRITE_SETTINGS;
- public static java.lang.String OPSTR_WRITE_SMS;
- public static java.lang.String OPSTR_WRITE_WALLPAPER;
- public static int OP_ACCEPT_HANDOVER;
- public static int OP_ACCESS_NOTIFICATIONS;
- public static int OP_ACTIVATE_VPN;
- public static int OP_ADD_VOICEMAIL;
- public static int OP_ANSWER_PHONE_CALLS;
- public static int OP_ASSIST_SCREENSHOT;
- public static int OP_ASSIST_STRUCTURE;
- public static int OP_AUDIO_ACCESSIBILITY_VOLUME;
- public static int OP_AUDIO_ALARM_VOLUME;
- public static int OP_AUDIO_BLUETOOTH_VOLUME;
- public static int OP_AUDIO_MASTER_VOLUME;
- public static int OP_AUDIO_MEDIA_VOLUME;
- public static int OP_AUDIO_NOTIFICATION_VOLUME;
- public static int OP_AUDIO_RING_VOLUME;
- public static int OP_AUDIO_VOICE_VOLUME;
- public static int OP_BIND_ACCESSIBILITY_SERVICE;
- public static int OP_BLUETOOTH_SCAN;
- public static int OP_BODY_SENSORS;
- public static int OP_CALL_PHONE;
- public static int OP_CAMERA;
- public static int OP_CHANGE_WIFI_STATE;
- public static int OP_COARSE_LOCATION;
- public static int OP_FINE_LOCATION;
- public static int OP_GET_ACCOUNTS;
- public static int OP_GET_USAGE_STATS;
- public static int OP_GPS;
- public static int OP_INSTANT_APP_START_FOREGROUND;
- public static int OP_MANAGE_IPSEC_TUNNELS;
- public static int OP_MOCK_LOCATION;
- public static int OP_MONITOR_HIGH_POWER_LOCATION;
- public static int OP_MONITOR_LOCATION;
- public static int OP_MUTE_MICROPHONE;
- public static int OP_NEIGHBORING_CELLS;
- public static int OP_NONE;
- public static int OP_PICTURE_IN_PICTURE;
- public static int OP_PLAY_AUDIO;
- public static int OP_POST_NOTIFICATION;
- public static int OP_PROCESS_OUTGOING_CALLS;
- public static int OP_PROJECT_MEDIA;
- public static int OP_READ_CALENDAR;
- public static int OP_READ_CALL_LOG;
- public static int OP_READ_CELL_BROADCASTS;
- public static int OP_READ_CLIPBOARD;
- public static int OP_READ_CONTACTS;
- public static int OP_READ_EXTERNAL_STORAGE;
- public static int OP_READ_ICC_SMS;
- public static int OP_READ_PHONE_NUMBERS;
- public static int OP_READ_PHONE_STATE;
- public static int OP_READ_SMS;
- public static int OP_RECEIVE_EMERGECY_SMS;
- public static int OP_RECEIVE_MMS;
- public static int OP_RECEIVE_SMS;
- public static int OP_RECEIVE_WAP_PUSH;
- public static int OP_RECORD_AUDIO;
- public static int OP_REQUEST_DELETE_PACKAGES;
- public static int OP_REQUEST_INSTALL_PACKAGES;
- public static int OP_RUN_ANY_IN_BACKGROUND;
- public static int OP_RUN_IN_BACKGROUND;
- public static int OP_SEND_SMS;
- public static int OP_START_FOREGROUND;
- public static int OP_SYSTEM_ALERT_WINDOW;
- public static int OP_TAKE_AUDIO_FOCUS;
- public static int OP_TAKE_MEDIA_BUTTONS;
- public static int OP_TOAST_WINDOW;
- public static int OP_TURN_SCREEN_ON;
- public static int OP_USE_FINGERPRINT;
- public static int OP_USE_SIP;
- public static int OP_VIBRATE;
- public static int OP_WAKE_LOCK;
- public static int OP_WIFI_SCAN;
- public static int OP_WRITE_CALENDAR;
- public static int OP_WRITE_CALL_LOG;
- public static int OP_WRITE_CLIPBOARD;
- public static int OP_WRITE_CONTACTS;
- public static int OP_WRITE_EXTERNAL_STORAGE;
- public static int OP_WRITE_ICC_SMS;
- public static int OP_WRITE_SETTINGS;
- public static int OP_WRITE_SMS;
- public static int OP_WRITE_WALLPAPER;
- public static int UID_STATE_BACKGROUND;
- public static int UID_STATE_CACHED;
- public static int UID_STATE_FOREGROUND;
- public static int UID_STATE_FOREGROUND_SERVICE;
- public static int UID_STATE_LAST_NON_RESTRICTED;
- public static int UID_STATE_PERSISTENT;
- public static int UID_STATE_TOP;
- public static int WATCH_FOREGROUND_CHANGES;
- public static int _NUM_OP;
- public static int _NUM_UID_STATE;
-}
-
--keep class android.app.AppOpsManager$OnOpActiveChangedListener {
-
- public abstract void onOpActiveChanged(int, int, java.lang.String, boolean);
-
-
-}
-
--keep class android.app.AppOpsManager$OnOpChangedListener {
-
- public abstract void onOpChanged(java.lang.String, java.lang.String);
-
-
-}
-
--keep class android.app.AppOpsManager$OpEntry {
- <init>(int, int, long, long, int, int, java.lang.String);
- <init>(int, int, long[], long[], int, boolean, int, java.lang.String);
- <init>(int, int, long[], long[], int, int, java.lang.String);
-
- public int describeContents();
- public int getDuration();
- public long getLastAccessBackgroundTime();
- public long getLastAccessForegroundTime();
- public long getLastAccessTime();
- public long getLastRejectBackgroundTime();
- public long getLastRejectForegroundTime();
- public long getLastRejectTime();
- public long getLastRejectTimeFor(int);
- public long getLastTimeFor(int);
- public int getMode();
- public int getOp();
- public java.lang.String getProxyPackageName();
- public int getProxyUid();
- public long getRejectTime();
- public long getTime();
- public boolean isRunning();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.app.AppOpsManager$PackageOps {
- <init>(java.lang.String, int, java.util.List);
-
- public int describeContents();
- public java.util.List getOps();
- public java.lang.String getPackageName();
- public int getUid();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.app.Application {
- <init>();
-
- public android.view.autofill.AutofillManager$AutofillClient getAutofillClient();
- public static java.lang.String getProcessName();
- public void onConfigurationChanged(android.content.res.Configuration);
- public void onCreate();
- public void onLowMemory();
- public void onTerminate();
- public void onTrimMemory(int);
- public void registerActivityLifecycleCallbacks(android.app.Application$ActivityLifecycleCallbacks);
- public void registerComponentCallbacks(android.content.ComponentCallbacks);
- public void registerOnProvideAssistDataListener(android.app.Application$OnProvideAssistDataListener);
- public void unregisterActivityLifecycleCallbacks(android.app.Application$ActivityLifecycleCallbacks);
- public void unregisterComponentCallbacks(android.content.ComponentCallbacks);
- public void unregisterOnProvideAssistDataListener(android.app.Application$OnProvideAssistDataListener);
-
-
- public android.app.LoadedApk mLoadedApk;
-}
-
--keep class android.app.Application$ActivityLifecycleCallbacks {
-
- public abstract void onActivityCreated(android.app.Activity, android.os.Bundle);
- public abstract void onActivityDestroyed(android.app.Activity);
- public abstract void onActivityPaused(android.app.Activity);
- public abstract void onActivityResumed(android.app.Activity);
- public abstract void onActivitySaveInstanceState(android.app.Activity, android.os.Bundle);
- public abstract void onActivityStarted(android.app.Activity);
- public abstract void onActivityStopped(android.app.Activity);
-
-
-}
-
--keep class android.app.Application$OnProvideAssistDataListener {
-
- public abstract void onProvideAssistData(android.app.Activity, android.os.Bundle);
-
-
-}
-
--keep class android.app.ApplicationErrorReport {
- <init>();
-
- public int describeContents();
- public void dump(android.util.Printer, java.lang.String);
- public static android.content.ComponentName getErrorReportReceiver(android.content.Context, java.lang.String, int);
- public void readFromParcel(android.os.Parcel);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int TYPE_ANR;
- public static int TYPE_BATTERY;
- public static int TYPE_CRASH;
- public static int TYPE_NONE;
- public static int TYPE_RUNNING_SERVICE;
- public android.app.ApplicationErrorReport$AnrInfo anrInfo;
- public android.app.ApplicationErrorReport$BatteryInfo batteryInfo;
- public android.app.ApplicationErrorReport$CrashInfo crashInfo;
- public java.lang.String installerPackageName;
- public java.lang.String packageName;
- public java.lang.String processName;
- public android.app.ApplicationErrorReport$RunningServiceInfo runningServiceInfo;
- public boolean systemApp;
- public long time;
- public int type;
-}
-
--keep class android.app.ApplicationErrorReport$AnrInfo {
- <init>();
- <init>(android.os.Parcel);
-
- public void dump(android.util.Printer, java.lang.String);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public java.lang.String activity;
- public java.lang.String cause;
- public java.lang.String info;
-}
-
--keep class android.app.ApplicationErrorReport$BatteryInfo {
- <init>();
- <init>(android.os.Parcel);
-
- public void dump(android.util.Printer, java.lang.String);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public java.lang.String checkinDetails;
- public long durationMicros;
- public java.lang.String usageDetails;
- public int usagePercent;
-}
-
--keep class android.app.ApplicationErrorReport$CrashInfo {
- <init>();
- <init>(java.lang.Throwable);
- <init>(android.os.Parcel);
-
- public void appendStackTrace(java.lang.String);
- public void dump(android.util.Printer, java.lang.String);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public java.lang.String exceptionClassName;
- public java.lang.String exceptionMessage;
- public java.lang.String stackTrace;
- public java.lang.String throwClassName;
- public java.lang.String throwFileName;
- public int throwLineNumber;
- public java.lang.String throwMethodName;
-}
-
--keep class android.app.ApplicationErrorReport$ParcelableCrashInfo {
- <init>();
- <init>(java.lang.Throwable);
- <init>(android.os.Parcel);
-
- public int describeContents();
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.app.ApplicationErrorReport$RunningServiceInfo {
- <init>();
- <init>(android.os.Parcel);
-
- public void dump(android.util.Printer, java.lang.String);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public long durationMillis;
- public java.lang.String serviceDetails;
-}
-
--keep class android.app.ClientTransactionHandler {
- <init>();
-
- public void executeTransaction(android.app.servertransaction.ClientTransaction);
- public abstract android.app.ActivityThread$ActivityClientRecord getActivityClient(android.os.IBinder);
- public abstract android.app.LoadedApk getPackageInfoNoCheck(android.content.pm.ApplicationInfo, android.content.res.CompatibilityInfo);
- public abstract void handleActivityConfigurationChanged(android.os.IBinder, android.content.res.Configuration, int);
- public abstract void handleConfigurationChanged(android.content.res.Configuration);
- public abstract void handleDestroyActivity(android.os.IBinder, boolean, int, boolean, java.lang.String);
- public abstract android.app.Activity handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.app.servertransaction.PendingTransactionActions, android.content.Intent);
- public abstract void handleMultiWindowModeChanged(android.os.IBinder, boolean, android.content.res.Configuration);
- public abstract void handleNewIntent(android.os.IBinder, java.util.List, boolean);
- public abstract void handlePauseActivity(android.os.IBinder, boolean, boolean, int, android.app.servertransaction.PendingTransactionActions, java.lang.String);
- public abstract void handlePictureInPictureModeChanged(android.os.IBinder, boolean, android.content.res.Configuration);
- public abstract void handleRelaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.app.servertransaction.PendingTransactionActions);
- public abstract void handleResumeActivity(android.os.IBinder, boolean, boolean, java.lang.String);
- public abstract void handleSendResult(android.os.IBinder, java.util.List, java.lang.String);
- public abstract void handleStartActivity(android.app.ActivityThread$ActivityClientRecord, android.app.servertransaction.PendingTransactionActions);
- public abstract void handleStopActivity(android.os.IBinder, boolean, int, android.app.servertransaction.PendingTransactionActions, boolean, java.lang.String);
- public abstract void handleWindowVisibility(android.os.IBinder, boolean);
- public abstract void performRestartActivity(android.os.IBinder, boolean);
- public abstract android.app.ActivityThread$ActivityClientRecord prepareRelaunchActivity(android.os.IBinder, java.util.List, java.util.List, int, android.util.MergedConfiguration, boolean);
- public abstract void reportRelaunch(android.os.IBinder, android.app.servertransaction.PendingTransactionActions);
- public abstract void reportStop(android.app.servertransaction.PendingTransactionActions);
- public abstract void updatePendingConfiguration(android.content.res.Configuration);
- public abstract void updateProcessState(int, boolean);
-
-
-}
-
--keep class android.app.ContentProviderHolder {
- <init>(android.content.pm.ProviderInfo);
-
- public int describeContents();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public android.os.IBinder connection;
- public android.content.pm.ProviderInfo info;
- public boolean noReleaseNeeded;
- public android.content.IContentProvider provider;
-}
-
--keep class android.app.ContextImpl {
-
- public boolean bindService(android.content.Intent, android.content.ServiceConnection, int);
- public boolean bindServiceAsUser(android.content.Intent, android.content.ServiceConnection, int, android.os.UserHandle);
- public boolean bindServiceAsUser(android.content.Intent, android.content.ServiceConnection, int, android.os.Handler, android.os.UserHandle);
- public boolean canLoadUnsafeResources();
- public int checkCallingOrSelfPermission(java.lang.String);
- public int checkCallingOrSelfUriPermission(android.net.Uri, int);
- public int checkCallingPermission(java.lang.String);
- public int checkCallingUriPermission(android.net.Uri, int);
- public int checkPermission(java.lang.String, int, int);
- public int checkPermission(java.lang.String, int, int, android.os.IBinder);
- public int checkSelfPermission(java.lang.String);
- public int checkUriPermission(android.net.Uri, int, int, int);
- public int checkUriPermission(android.net.Uri, int, int, int, android.os.IBinder);
- public int checkUriPermission(android.net.Uri, java.lang.String, java.lang.String, int, int, int);
- public void clearWallpaper();
- public android.content.Context createApplicationContext(android.content.pm.ApplicationInfo, int);
- public android.content.Context createConfigurationContext(android.content.res.Configuration);
- public android.content.Context createContextForSplit(java.lang.String);
- public android.content.Context createCredentialProtectedStorageContext();
- public android.content.Context createDeviceProtectedStorageContext();
- public android.content.Context createDisplayContext(android.view.Display);
- public android.content.Context createPackageContext(java.lang.String, int);
- public android.content.Context createPackageContextAsUser(java.lang.String, int, android.os.UserHandle);
- public java.lang.String[] databaseList();
- public boolean deleteDatabase(java.lang.String);
- public boolean deleteFile(java.lang.String);
- public boolean deleteSharedPreferences(java.lang.String);
- public void enforceCallingOrSelfPermission(java.lang.String, java.lang.String);
- public void enforceCallingOrSelfUriPermission(android.net.Uri, int, java.lang.String);
- public void enforceCallingPermission(java.lang.String, java.lang.String);
- public void enforceCallingUriPermission(android.net.Uri, int, java.lang.String);
- public void enforcePermission(java.lang.String, int, int, java.lang.String);
- public void enforceUriPermission(android.net.Uri, int, int, int, java.lang.String);
- public void enforceUriPermission(android.net.Uri, java.lang.String, java.lang.String, int, int, int, java.lang.String);
- public java.lang.String[] fileList();
- public android.os.IBinder getActivityToken();
- public android.content.Context getApplicationContext();
- public android.content.pm.ApplicationInfo getApplicationInfo();
- public android.content.res.AssetManager getAssets();
- public android.view.autofill.AutofillManager$AutofillClient getAutofillClient();
- public java.lang.String getBasePackageName();
- public java.io.File getCacheDir();
- public java.lang.ClassLoader getClassLoader();
- public java.io.File getCodeCacheDir();
- public android.content.ContentResolver getContentResolver();
- public java.io.File getDataDir();
- public java.io.File getDatabasePath(java.lang.String);
- public java.io.File getDir(java.lang.String, int);
- public android.view.Display getDisplay();
- public android.view.DisplayAdjustments getDisplayAdjustments(int);
- public java.io.File getExternalCacheDir();
- public java.io.File[] getExternalCacheDirs();
- public java.io.File getExternalFilesDir(java.lang.String);
- public java.io.File[] getExternalFilesDirs(java.lang.String);
- public java.io.File[] getExternalMediaDirs();
- public java.io.File getFileStreamPath(java.lang.String);
- public java.io.File getFilesDir();
- public android.app.IApplicationThread getIApplicationThread();
- public java.util.concurrent.Executor getMainExecutor();
- public android.os.Looper getMainLooper();
- public android.os.Handler getMainThreadHandler();
- public java.io.File getNoBackupFilesDir();
- public java.io.File getObbDir();
- public java.io.File[] getObbDirs();
- public java.lang.String getOpPackageName();
- public java.lang.String getPackageCodePath();
- public android.content.pm.PackageManager getPackageManager();
- public java.lang.String getPackageName();
- public java.lang.String getPackageResourcePath();
- public java.io.File getPreloadsFileCache();
- public android.content.res.Resources getResources();
- public android.app.IServiceConnection getServiceDispatcher(android.content.ServiceConnection, android.os.Handler, int);
- public android.content.SharedPreferences getSharedPreferences(java.lang.String, int);
- public android.content.SharedPreferences getSharedPreferences(java.io.File, int);
- public java.io.File getSharedPreferencesPath(java.lang.String);
- public java.lang.Object getSystemService(java.lang.String);
- public java.lang.String getSystemServiceName(java.lang.Class);
- public android.content.res.Resources$Theme getTheme();
- public int getThemeResId();
- public android.os.UserHandle getUser();
- public int getUserId();
- public android.graphics.drawable.Drawable getWallpaper();
- public int getWallpaperDesiredMinimumHeight();
- public int getWallpaperDesiredMinimumWidth();
- public void grantUriPermission(java.lang.String, android.net.Uri, int);
- public boolean isAutofillCompatibilityEnabled();
- public boolean isCredentialProtectedStorage();
- public boolean isDeviceProtectedStorage();
- public boolean isRestricted();
- public boolean moveDatabaseFrom(android.content.Context, java.lang.String);
- public boolean moveSharedPreferencesFrom(android.content.Context, java.lang.String);
- public java.io.FileInputStream openFileInput(java.lang.String);
- public java.io.FileOutputStream openFileOutput(java.lang.String, int);
- public android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase$CursorFactory);
- public android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase$CursorFactory, android.database.DatabaseErrorHandler);
- public android.graphics.drawable.Drawable peekWallpaper();
- public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter);
- public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, int);
- public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler);
- public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, int);
- public android.content.Intent registerReceiverAsUser(android.content.BroadcastReceiver, android.os.UserHandle, android.content.IntentFilter, java.lang.String, android.os.Handler);
- public void reloadSharedPreferences();
- public void removeStickyBroadcast(android.content.Intent);
- public void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
- public void revokeUriPermission(android.net.Uri, int);
- public void revokeUriPermission(java.lang.String, android.net.Uri, int);
- public void sendBroadcast(android.content.Intent);
- public void sendBroadcast(android.content.Intent, java.lang.String);
- public void sendBroadcast(android.content.Intent, java.lang.String, android.os.Bundle);
- public void sendBroadcast(android.content.Intent, java.lang.String, int);
- public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle);
- public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String);
- public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, android.os.Bundle);
- public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, int);
- public void sendBroadcastAsUserMultiplePermissions(android.content.Intent, android.os.UserHandle, java.lang.String[]);
- public void sendBroadcastMultiplePermissions(android.content.Intent, java.lang.String[]);
- public void sendOrderedBroadcast(android.content.Intent, java.lang.String);
- public void sendOrderedBroadcast(android.content.Intent, java.lang.String, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public void sendOrderedBroadcast(android.content.Intent, java.lang.String, android.os.Bundle, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public void sendOrderedBroadcast(android.content.Intent, java.lang.String, int, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public void sendOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public void sendOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, int, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public void sendOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, int, android.os.Bundle, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public void sendStickyBroadcast(android.content.Intent);
- public void sendStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
- public void sendStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle, android.os.Bundle);
- public void sendStickyOrderedBroadcast(android.content.Intent, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public void sendStickyOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public void setAutofillClient(android.view.autofill.AutofillManager$AutofillClient);
- public void setAutofillCompatibilityEnabled(boolean);
- public void setTheme(int);
- public void setWallpaper(android.graphics.Bitmap);
- public void setWallpaper(java.io.InputStream);
- public void startActivities(android.content.Intent[]);
- public void startActivities(android.content.Intent[], android.os.Bundle);
- public int startActivitiesAsUser(android.content.Intent[], android.os.Bundle, android.os.UserHandle);
- public void startActivity(android.content.Intent);
- public void startActivity(android.content.Intent, android.os.Bundle);
- public void startActivityAsUser(android.content.Intent, android.os.UserHandle);
- public void startActivityAsUser(android.content.Intent, android.os.Bundle, android.os.UserHandle);
- public android.content.ComponentName startForegroundService(android.content.Intent);
- public android.content.ComponentName startForegroundServiceAsUser(android.content.Intent, android.os.UserHandle);
- public boolean startInstrumentation(android.content.ComponentName, java.lang.String, android.os.Bundle);
- public void startIntentSender(android.content.IntentSender, android.content.Intent, int, int, int);
- public void startIntentSender(android.content.IntentSender, android.content.Intent, int, int, int, android.os.Bundle);
- public android.content.ComponentName startService(android.content.Intent);
- public android.content.ComponentName startServiceAsUser(android.content.Intent, android.os.UserHandle);
- public boolean stopService(android.content.Intent);
- public boolean stopServiceAsUser(android.content.Intent, android.os.UserHandle);
- public void unbindService(android.content.ServiceConnection);
- public void unregisterReceiver(android.content.BroadcastReceiver);
- public void updateDisplay(int);
-
-
-}
-
--keep class android.app.Dialog {
- <init>(android.content.Context);
- <init>(android.content.Context, int);
- <init>(android.content.Context, boolean, android.os.Message);
- <init>(android.content.Context, boolean, android.content.DialogInterface$OnCancelListener);
-
- public void addContentView(android.view.View, android.view.ViewGroup$LayoutParams);
- public void cancel();
- public void closeOptionsMenu();
- public void create();
- public void dismiss();
- public boolean dispatchGenericMotionEvent(android.view.MotionEvent);
- public boolean dispatchKeyEvent(android.view.KeyEvent);
- public boolean dispatchKeyShortcutEvent(android.view.KeyEvent);
- public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
- public boolean dispatchTouchEvent(android.view.MotionEvent);
- public boolean dispatchTrackballEvent(android.view.MotionEvent);
- public android.view.View findViewById(int);
- public android.app.ActionBar getActionBar();
- public android.content.Context getContext();
- public android.view.View getCurrentFocus();
- public android.view.LayoutInflater getLayoutInflater();
- public android.app.Activity getOwnerActivity();
- public android.view.SearchEvent getSearchEvent();
- public int getVolumeControlStream();
- public android.view.Window getWindow();
- public void hide();
- public void invalidateOptionsMenu();
- public boolean isShowing();
- public void onActionModeFinished(android.view.ActionMode);
- public void onActionModeStarted(android.view.ActionMode);
- public void onAttachedToWindow();
- public void onBackPressed();
- public void onContentChanged();
- public boolean onContextItemSelected(android.view.MenuItem);
- public void onContextMenuClosed(android.view.Menu);
- protected void onCreate(android.os.Bundle);
- public void onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu$ContextMenuInfo);
- public boolean onCreateOptionsMenu(android.view.Menu);
- public boolean onCreatePanelMenu(int, android.view.Menu);
- public android.view.View onCreatePanelView(int);
- public void onDetachedFromWindow();
- public boolean onGenericMotionEvent(android.view.MotionEvent);
- public boolean onKeyDown(int, android.view.KeyEvent);
- public boolean onKeyLongPress(int, android.view.KeyEvent);
- public boolean onKeyMultiple(int, int, android.view.KeyEvent);
- public boolean onKeyShortcut(int, android.view.KeyEvent);
- public boolean onKeyUp(int, android.view.KeyEvent);
- public boolean onMenuItemSelected(int, android.view.MenuItem);
- public boolean onMenuOpened(int, android.view.Menu);
- public boolean onOptionsItemSelected(android.view.MenuItem);
- public void onOptionsMenuClosed(android.view.Menu);
- public void onPanelClosed(int, android.view.Menu);
- public boolean onPrepareOptionsMenu(android.view.Menu);
- public boolean onPreparePanel(int, android.view.View, android.view.Menu);
- public void onRestoreInstanceState(android.os.Bundle);
- public android.os.Bundle onSaveInstanceState();
- public boolean onSearchRequested(android.view.SearchEvent);
- public boolean onSearchRequested();
- protected void onStart();
- protected void onStop();
- public boolean onTouchEvent(android.view.MotionEvent);
- public boolean onTrackballEvent(android.view.MotionEvent);
- public void onWindowAttributesChanged(android.view.WindowManager$LayoutParams);
- public void onWindowDismissed(boolean, boolean);
- public void onWindowFocusChanged(boolean);
- public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode$Callback);
- public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode$Callback, int);
- public void openContextMenu(android.view.View);
- public void openOptionsMenu();
- public void registerForContextMenu(android.view.View);
- public boolean requestWindowFeature(int);
- public android.view.View requireViewById(int);
- public void setCancelMessage(android.os.Message);
- public void setCancelable(boolean);
- public void setCanceledOnTouchOutside(boolean);
- public void setContentView(int);
- public void setContentView(android.view.View);
- public void setContentView(android.view.View, android.view.ViewGroup$LayoutParams);
- public void setDismissMessage(android.os.Message);
- public void setFeatureDrawable(int, android.graphics.drawable.Drawable);
- public void setFeatureDrawableAlpha(int, int);
- public void setFeatureDrawableResource(int, int);
- public void setFeatureDrawableUri(int, android.net.Uri);
- public void setOnCancelListener(android.content.DialogInterface$OnCancelListener);
- public void setOnDismissListener(android.content.DialogInterface$OnDismissListener);
- public void setOnKeyListener(android.content.DialogInterface$OnKeyListener);
- public void setOnShowListener(android.content.DialogInterface$OnShowListener);
- public void setOwnerActivity(android.app.Activity);
- public void setTitle(java.lang.CharSequence);
- public void setTitle(int);
- public void setVolumeControlStream(int);
- public void show();
- public boolean takeCancelAndDismissListeners(java.lang.String, android.content.DialogInterface$OnCancelListener, android.content.DialogInterface$OnDismissListener);
- public void takeKeyEvents(boolean);
- public void unregisterForContextMenu(android.view.View);
-
-
- protected boolean mCancelable;
-}
-
--keep class android.app.Fragment {
- <init>();
-
- public void dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
- public boolean equals(java.lang.Object);
- public android.app.Activity getActivity();
- public boolean getAllowEnterTransitionOverlap();
- public boolean getAllowReturnTransitionOverlap();
- public android.os.Bundle getArguments();
- public android.app.FragmentManager getChildFragmentManager();
- public android.content.Context getContext();
- public android.transition.Transition getEnterTransition();
- public android.transition.Transition getExitTransition();
- public android.app.FragmentManager getFragmentManager();
- public java.lang.Object getHost();
- public int getId();
- public android.view.LayoutInflater getLayoutInflater();
- public android.app.LoaderManager getLoaderManager();
- public android.app.Fragment getParentFragment();
- public android.transition.Transition getReenterTransition();
- public android.content.res.Resources getResources();
- public boolean getRetainInstance();
- public android.transition.Transition getReturnTransition();
- public android.transition.Transition getSharedElementEnterTransition();
- public android.transition.Transition getSharedElementReturnTransition();
- public java.lang.String getString(int);
- public java.lang.String getString(int, java.lang.Object[]);
- public java.lang.String getTag();
- public android.app.Fragment getTargetFragment();
- public int getTargetRequestCode();
- public java.lang.CharSequence getText(int);
- public boolean getUserVisibleHint();
- public android.view.View getView();
- public int hashCode();
- public static android.app.Fragment instantiate(android.content.Context, java.lang.String);
- public static android.app.Fragment instantiate(android.content.Context, java.lang.String, android.os.Bundle);
- public boolean isAdded();
- public boolean isDetached();
- public boolean isHidden();
- public boolean isInLayout();
- public boolean isRemoving();
- public boolean isResumed();
- public boolean isStateSaved();
- public boolean isVisible();
- public void onActivityCreated(android.os.Bundle);
- public void onActivityResult(int, int, android.content.Intent);
- public void onAttach(android.content.Context);
- public void onAttach(android.app.Activity);
- public void onAttachFragment(android.app.Fragment);
- public void onConfigurationChanged(android.content.res.Configuration);
- public boolean onContextItemSelected(android.view.MenuItem);
- public void onCreate(android.os.Bundle);
- public android.animation.Animator onCreateAnimator(int, boolean, int);
- public void onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu$ContextMenuInfo);
- public void onCreateOptionsMenu(android.view.Menu, android.view.MenuInflater);
- public android.view.View onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle);
- public void onDestroy();
- public void onDestroyOptionsMenu();
- public void onDestroyView();
- public void onDetach();
- public android.view.LayoutInflater onGetLayoutInflater(android.os.Bundle);
- public void onHiddenChanged(boolean);
- public void onInflate(android.util.AttributeSet, android.os.Bundle);
- public void onInflate(android.content.Context, android.util.AttributeSet, android.os.Bundle);
- public void onInflate(android.app.Activity, android.util.AttributeSet, android.os.Bundle);
- public void onLowMemory();
- public void onMultiWindowModeChanged(boolean, android.content.res.Configuration);
- public void onMultiWindowModeChanged(boolean);
- public boolean onOptionsItemSelected(android.view.MenuItem);
- public void onOptionsMenuClosed(android.view.Menu);
- public void onPause();
- public void onPictureInPictureModeChanged(boolean, android.content.res.Configuration);
- public void onPictureInPictureModeChanged(boolean);
- public void onPrepareOptionsMenu(android.view.Menu);
- public void onRequestPermissionsResult(int, java.lang.String[], int[]);
- public void onResume();
- public void onSaveInstanceState(android.os.Bundle);
- public void onStart();
- public void onStop();
- public void onTrimMemory(int);
- public void onViewCreated(android.view.View, android.os.Bundle);
- public void onViewStateRestored(android.os.Bundle);
- public void postponeEnterTransition();
- public void registerForContextMenu(android.view.View);
- public void requestPermissions(java.lang.String[], int);
- public void setAllowEnterTransitionOverlap(boolean);
- public void setAllowReturnTransitionOverlap(boolean);
- public void setArguments(android.os.Bundle);
- public void setEnterSharedElementCallback(android.app.SharedElementCallback);
- public void setEnterTransition(android.transition.Transition);
- public void setExitSharedElementCallback(android.app.SharedElementCallback);
- public void setExitTransition(android.transition.Transition);
- public void setHasOptionsMenu(boolean);
- public void setInitialSavedState(android.app.Fragment$SavedState);
- public void setMenuVisibility(boolean);
- public void setReenterTransition(android.transition.Transition);
- public void setRetainInstance(boolean);
- public void setReturnTransition(android.transition.Transition);
- public void setSharedElementEnterTransition(android.transition.Transition);
- public void setSharedElementReturnTransition(android.transition.Transition);
- public void setTargetFragment(android.app.Fragment, int);
- public void setUserVisibleHint(boolean);
- public boolean shouldShowRequestPermissionRationale(java.lang.String);
- public void startActivity(android.content.Intent);
- public void startActivity(android.content.Intent, android.os.Bundle);
- public void startActivityForResult(android.content.Intent, int);
- public void startActivityForResult(android.content.Intent, int, android.os.Bundle);
- public void startActivityForResultAsUser(android.content.Intent, int, android.os.Bundle, android.os.UserHandle);
- public void startIntentSenderForResult(android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle);
- public void startPostponedEnterTransition();
- public java.lang.String toString();
- public void unregisterForContextMenu(android.view.View);
-
-
-}
-
--keep class android.app.Fragment$SavedState {
-
- public int describeContents();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$ClassLoaderCreator CREATOR;
-}
-
--keep class android.app.FragmentContainer {
- <init>();
-
- public android.app.Fragment instantiate(android.content.Context, java.lang.String, android.os.Bundle);
- public abstract android.view.View onFindViewById(int);
- public abstract boolean onHasView();
-
-
-}
-
--keep class android.app.FragmentHostCallback {
- <init>(android.content.Context, android.os.Handler, int);
-
- public void onAttachFragment(android.app.Fragment);
- public void onDump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
- public android.view.View onFindViewById(int);
- public abstract java.lang.Object onGetHost();
- public android.view.LayoutInflater onGetLayoutInflater();
- public int onGetWindowAnimations();
- public boolean onHasView();
- public boolean onHasWindowAnimations();
- public void onInvalidateOptionsMenu();
- public void onRequestPermissionsFromFragment(android.app.Fragment, java.lang.String[], int);
- public boolean onShouldSaveFragmentState(android.app.Fragment);
- public void onStartActivityAsUserFromFragment(android.app.Fragment, android.content.Intent, int, android.os.Bundle, android.os.UserHandle);
- public void onStartActivityFromFragment(android.app.Fragment, android.content.Intent, int, android.os.Bundle);
- public void onStartIntentSenderFromFragment(android.app.Fragment, android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle);
- public boolean onUseFragmentManagerInflaterFactory();
-
-
-}
-
--keep class android.app.FragmentManager {
- <init>();
-
- public abstract void addOnBackStackChangedListener(android.app.FragmentManager$OnBackStackChangedListener);
- public abstract android.app.FragmentTransaction beginTransaction();
- public abstract void dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
- public static void enableDebugLogging(boolean);
- public abstract boolean executePendingTransactions();
- public abstract android.app.Fragment findFragmentById(int);
- public abstract android.app.Fragment findFragmentByTag(java.lang.String);
- public abstract android.app.FragmentManager$BackStackEntry getBackStackEntryAt(int);
- public abstract int getBackStackEntryCount();
- public abstract android.app.Fragment getFragment(android.os.Bundle, java.lang.String);
- public abstract java.util.List getFragments();
- public abstract android.app.Fragment getPrimaryNavigationFragment();
- public void invalidateOptionsMenu();
- public abstract boolean isDestroyed();
- public abstract boolean isStateSaved();
- public android.app.FragmentTransaction openTransaction();
- public abstract void popBackStack();
- public abstract void popBackStack(java.lang.String, int);
- public abstract void popBackStack(int, int);
- public abstract boolean popBackStackImmediate();
- public abstract boolean popBackStackImmediate(java.lang.String, int);
- public abstract boolean popBackStackImmediate(int, int);
- public abstract void putFragment(android.os.Bundle, java.lang.String, android.app.Fragment);
- public abstract void registerFragmentLifecycleCallbacks(android.app.FragmentManager$FragmentLifecycleCallbacks, boolean);
- public abstract void removeOnBackStackChangedListener(android.app.FragmentManager$OnBackStackChangedListener);
- public abstract android.app.Fragment$SavedState saveFragmentInstanceState(android.app.Fragment);
- public abstract void unregisterFragmentLifecycleCallbacks(android.app.FragmentManager$FragmentLifecycleCallbacks);
-
-
- public static int POP_BACK_STACK_INCLUSIVE;
-}
-
--keep class android.app.FragmentManager$BackStackEntry {
-
- public abstract java.lang.CharSequence getBreadCrumbShortTitle();
- public abstract int getBreadCrumbShortTitleRes();
- public abstract java.lang.CharSequence getBreadCrumbTitle();
- public abstract int getBreadCrumbTitleRes();
- public abstract int getId();
- public abstract java.lang.String getName();
-
-
-}
-
--keep class android.app.FragmentManager$FragmentLifecycleCallbacks {
- <init>();
-
- public void onFragmentActivityCreated(android.app.FragmentManager, android.app.Fragment, android.os.Bundle);
- public void onFragmentAttached(android.app.FragmentManager, android.app.Fragment, android.content.Context);
- public void onFragmentCreated(android.app.FragmentManager, android.app.Fragment, android.os.Bundle);
- public void onFragmentDestroyed(android.app.FragmentManager, android.app.Fragment);
- public void onFragmentDetached(android.app.FragmentManager, android.app.Fragment);
- public void onFragmentPaused(android.app.FragmentManager, android.app.Fragment);
- public void onFragmentPreAttached(android.app.FragmentManager, android.app.Fragment, android.content.Context);
- public void onFragmentPreCreated(android.app.FragmentManager, android.app.Fragment, android.os.Bundle);
- public void onFragmentResumed(android.app.FragmentManager, android.app.Fragment);
- public void onFragmentSaveInstanceState(android.app.FragmentManager, android.app.Fragment, android.os.Bundle);
- public void onFragmentStarted(android.app.FragmentManager, android.app.Fragment);
- public void onFragmentStopped(android.app.FragmentManager, android.app.Fragment);
- public void onFragmentViewCreated(android.app.FragmentManager, android.app.Fragment, android.view.View, android.os.Bundle);
- public void onFragmentViewDestroyed(android.app.FragmentManager, android.app.Fragment);
-
-
-}
-
--keep class android.app.FragmentManager$OnBackStackChangedListener {
-
- public abstract void onBackStackChanged();
-
-
-}
-
--keep class android.app.FragmentTransaction {
- <init>();
-
- public abstract android.app.FragmentTransaction add(android.app.Fragment, java.lang.String);
- public abstract android.app.FragmentTransaction add(int, android.app.Fragment);
- public abstract android.app.FragmentTransaction add(int, android.app.Fragment, java.lang.String);
- public abstract android.app.FragmentTransaction addSharedElement(android.view.View, java.lang.String);
- public abstract android.app.FragmentTransaction addToBackStack(java.lang.String);
- public abstract android.app.FragmentTransaction attach(android.app.Fragment);
- public abstract int commit();
- public abstract int commitAllowingStateLoss();
- public abstract void commitNow();
- public abstract void commitNowAllowingStateLoss();
- public abstract android.app.FragmentTransaction detach(android.app.Fragment);
- public abstract android.app.FragmentTransaction disallowAddToBackStack();
- public abstract android.app.FragmentTransaction hide(android.app.Fragment);
- public abstract boolean isAddToBackStackAllowed();
- public abstract boolean isEmpty();
- public abstract android.app.FragmentTransaction remove(android.app.Fragment);
- public abstract android.app.FragmentTransaction replace(int, android.app.Fragment);
- public abstract android.app.FragmentTransaction replace(int, android.app.Fragment, java.lang.String);
- public abstract android.app.FragmentTransaction runOnCommit(java.lang.Runnable);
- public abstract android.app.FragmentTransaction setBreadCrumbShortTitle(int);
- public abstract android.app.FragmentTransaction setBreadCrumbShortTitle(java.lang.CharSequence);
- public abstract android.app.FragmentTransaction setBreadCrumbTitle(int);
- public abstract android.app.FragmentTransaction setBreadCrumbTitle(java.lang.CharSequence);
- public abstract android.app.FragmentTransaction setCustomAnimations(int, int);
- public abstract android.app.FragmentTransaction setCustomAnimations(int, int, int, int);
- public abstract android.app.FragmentTransaction setPrimaryNavigationFragment(android.app.Fragment);
- public abstract android.app.FragmentTransaction setReorderingAllowed(boolean);
- public abstract android.app.FragmentTransaction setTransition(int);
- public abstract android.app.FragmentTransaction setTransitionStyle(int);
- public abstract android.app.FragmentTransaction show(android.app.Fragment);
-
-
- public static int TRANSIT_ENTER_MASK;
- public static int TRANSIT_EXIT_MASK;
- public static int TRANSIT_FRAGMENT_CLOSE;
- public static int TRANSIT_FRAGMENT_FADE;
- public static int TRANSIT_FRAGMENT_OPEN;
- public static int TRANSIT_NONE;
- public static int TRANSIT_UNSET;
-}
-
--keep class android.app.GrantedUriPermission {
- <init>(android.net.Uri, java.lang.String);
-
- public int describeContents();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public java.lang.String packageName;
- public android.net.Uri uri;
-}
-
--keep class android.app.IActivityController {
-
- public abstract boolean activityResuming(java.lang.String);
- public abstract boolean activityStarting(android.content.Intent, java.lang.String);
- public abstract boolean appCrashed(java.lang.String, int, java.lang.String, java.lang.String, long, java.lang.String);
- public abstract int appEarlyNotResponding(java.lang.String, int, java.lang.String);
- public abstract int appNotResponding(java.lang.String, int, java.lang.String);
- public abstract int systemNotResponding(java.lang.String);
-
-
-}
-
--keep class android.app.IActivityManager {
-
- public abstract void activityDestroyed(android.os.IBinder);
- public abstract void activityIdle(android.os.IBinder, android.content.res.Configuration, boolean);
- public abstract void activityPaused(android.os.IBinder);
- public abstract void activityRelaunched(android.os.IBinder);
- public abstract void activityResumed(android.os.IBinder);
- public abstract void activitySlept(android.os.IBinder);
- public abstract void activityStopped(android.os.IBinder, android.os.Bundle, android.os.PersistableBundle, java.lang.CharSequence);
- public abstract int addAppTask(android.os.IBinder, android.content.Intent, android.app.ActivityManager$TaskDescription, android.graphics.Bitmap);
- public abstract void addInstrumentationResults(android.app.IApplicationThread, android.os.Bundle);
- public abstract void addPackageDependency(java.lang.String);
- public abstract void alwaysShowUnsupportedCompileSdkWarning(android.content.ComponentName);
- public abstract void appNotRespondingViaProvider(android.os.IBinder);
- public abstract void attachApplication(android.app.IApplicationThread, long);
- public abstract void backgroundWhitelistUid(int);
- public abstract void backupAgentCreated(java.lang.String, android.os.IBinder);
- public abstract boolean bindBackupAgent(java.lang.String, int, int);
- public abstract int bindService(android.app.IApplicationThread, android.os.IBinder, android.content.Intent, java.lang.String, android.app.IServiceConnection, int, java.lang.String, int);
- public abstract void bootAnimationComplete();
- public abstract int broadcastIntent(android.app.IApplicationThread, android.content.Intent, java.lang.String, android.content.IIntentReceiver, int, java.lang.String, android.os.Bundle, java.lang.String[], int, android.os.Bundle, boolean, boolean, int);
- public abstract void cancelIntentSender(android.content.IIntentSender);
- public abstract void cancelRecentsAnimation(boolean);
- public abstract void cancelTaskWindowTransition(int);
- public abstract int checkGrantUriPermission(int, java.lang.String, android.net.Uri, int, int);
- public abstract int checkPermission(java.lang.String, int, int);
- public abstract int checkPermissionWithToken(java.lang.String, int, int, android.os.IBinder);
- public abstract int checkUriPermission(android.net.Uri, int, int, int, int, android.os.IBinder);
- public abstract boolean clearApplicationUserData(java.lang.String, boolean, android.content.pm.IPackageDataObserver, int);
- public abstract void clearGrantedUriPermissions(java.lang.String, int);
- public abstract void clearPendingBackup();
- public abstract void closeSystemDialogs(java.lang.String);
- public abstract boolean convertFromTranslucent(android.os.IBinder);
- public abstract boolean convertToTranslucent(android.os.IBinder, android.os.Bundle);
- public abstract void crashApplication(int, int, java.lang.String, int, java.lang.String);
- public abstract int createStackOnDisplay(int);
- public abstract void dismissKeyguard(android.os.IBinder, com.android.internal.policy.IKeyguardDismissCallback, java.lang.CharSequence);
- public abstract void dismissPip(boolean, int);
- public abstract void dismissSplitScreenMode(boolean);
- public abstract boolean dumpHeap(java.lang.String, int, boolean, boolean, boolean, java.lang.String, android.os.ParcelFileDescriptor);
- public abstract void dumpHeapFinished(java.lang.String);
- public abstract boolean enterPictureInPictureMode(android.os.IBinder, android.app.PictureInPictureParams);
- public abstract void enterSafeMode();
- public abstract void exitFreeformMode(android.os.IBinder);
- public abstract boolean finishActivity(android.os.IBinder, int, android.content.Intent, int);
- public abstract boolean finishActivityAffinity(android.os.IBinder);
- public abstract void finishHeavyWeightApp();
- public abstract void finishInstrumentation(android.app.IApplicationThread, int, android.os.Bundle);
- public abstract void finishReceiver(android.os.IBinder, int, java.lang.String, android.os.Bundle, boolean, int);
- public abstract void finishSubActivity(android.os.IBinder, java.lang.String, int);
- public abstract void finishVoiceTask(android.service.voice.IVoiceInteractionSession);
- public abstract void forceStopPackage(java.lang.String, int);
- public abstract android.content.ComponentName getActivityClassForToken(android.os.IBinder);
- public abstract int getActivityDisplayId(android.os.IBinder);
- public abstract android.os.Bundle getActivityOptions(android.os.IBinder);
- public abstract java.util.List getAllStackInfos();
- public abstract android.graphics.Point getAppTaskThumbnailSize();
- public abstract java.util.List getAppTasks(java.lang.String);
- public abstract android.os.Bundle getAssistContextExtras(int);
- public abstract android.content.ComponentName getCallingActivity(android.os.IBinder);
- public abstract java.lang.String getCallingPackage(android.os.IBinder);
- public abstract android.content.res.Configuration getConfiguration();
- public abstract android.app.ContentProviderHolder getContentProvider(android.app.IApplicationThread, java.lang.String, int, boolean);
- public abstract android.app.ContentProviderHolder getContentProviderExternal(java.lang.String, int, android.os.IBinder);
- public abstract android.content.pm.UserInfo getCurrentUser();
- public abstract android.content.pm.ConfigurationInfo getDeviceConfigurationInfo();
- public abstract java.util.List getFilteredTasks(int, int, int);
- public abstract android.app.ActivityManager$StackInfo getFocusedStackInfo();
- public abstract int getFrontActivityScreenCompatMode();
- public abstract android.content.pm.ParceledListSlice getGrantedUriPermissions(java.lang.String, int);
- public abstract android.content.Intent getIntentForIntentSender(android.content.IIntentSender);
- public abstract android.content.IIntentSender getIntentSender(int, java.lang.String, android.os.IBinder, java.lang.String, int, android.content.Intent[], java.lang.String[], int, android.os.Bundle, int);
- public abstract int getLastResumedActivityUserId();
- public abstract java.lang.String getLaunchedFromPackage(android.os.IBinder);
- public abstract int getLaunchedFromUid(android.os.IBinder);
- public abstract int getLockTaskModeState();
- public abstract int getMaxNumPictureInPictureActions(android.os.IBinder);
- public abstract void getMemoryInfo(android.app.ActivityManager$MemoryInfo);
- public abstract int getMemoryTrimLevel();
- public abstract void getMyMemoryState(android.app.ActivityManager$RunningAppProcessInfo);
- public abstract boolean getPackageAskScreenCompat(java.lang.String);
- public abstract java.lang.String getPackageForIntentSender(android.content.IIntentSender);
- public abstract java.lang.String getPackageForToken(android.os.IBinder);
- public abstract int getPackageProcessState(java.lang.String, java.lang.String);
- public abstract int getPackageScreenCompatMode(java.lang.String);
- public abstract android.content.pm.ParceledListSlice getPersistedUriPermissions(java.lang.String, boolean);
- public abstract int getProcessLimit();
- public abstract android.os.Debug$MemoryInfo[] getProcessMemoryInfo(int[]);
- public abstract long[] getProcessPss(int[]);
- public abstract java.util.List getProcessesInErrorState();
- public abstract java.lang.String getProviderMimeType(android.net.Uri, int);
- public abstract android.content.pm.ParceledListSlice getRecentTasks(int, int, int);
- public abstract int getRequestedOrientation(android.os.IBinder);
- public abstract java.util.List getRunningAppProcesses();
- public abstract java.util.List getRunningExternalApplications();
- public abstract android.app.PendingIntent getRunningServiceControlPanel(android.content.ComponentName);
- public abstract int[] getRunningUserIds();
- public abstract java.util.List getServices(int, int);
- public abstract android.app.ActivityManager$StackInfo getStackInfo(int, int);
- public abstract java.lang.String getTagForIntentSender(android.content.IIntentSender, java.lang.String);
- public abstract android.graphics.Rect getTaskBounds(int);
- public abstract android.app.ActivityManager$TaskDescription getTaskDescription(int);
- public abstract android.graphics.Bitmap getTaskDescriptionIcon(java.lang.String, int);
- public abstract int getTaskForActivity(android.os.IBinder, boolean);
- public abstract android.app.ActivityManager$TaskSnapshot getTaskSnapshot(int, boolean);
- public abstract java.util.List getTasks(int);
- public abstract int getUidForIntentSender(android.content.IIntentSender);
- public abstract int getUidProcessState(int, java.lang.String);
- public abstract android.os.IBinder getUriPermissionOwnerForActivity(android.os.IBinder);
- public abstract void grantUriPermission(android.app.IApplicationThread, java.lang.String, android.net.Uri, int, int);
- public abstract void grantUriPermissionFromOwner(android.os.IBinder, int, java.lang.String, android.net.Uri, int, int, int);
- public abstract void handleApplicationCrash(android.os.IBinder, android.app.ApplicationErrorReport$ParcelableCrashInfo);
- public abstract void handleApplicationStrictModeViolation(android.os.IBinder, int, android.os.StrictMode$ViolationInfo);
- public abstract boolean handleApplicationWtf(android.os.IBinder, java.lang.String, boolean, android.app.ApplicationErrorReport$ParcelableCrashInfo);
- public abstract int handleIncomingUser(int, int, int, boolean, boolean, java.lang.String, java.lang.String);
- public abstract void hang(android.os.IBinder, boolean);
- public abstract long inputDispatchingTimedOut(int, boolean, java.lang.String);
- public abstract boolean isAppForeground(int);
- public abstract boolean isAppStartModeDisabled(int, java.lang.String);
- public abstract boolean isAssistDataAllowedOnCurrentActivity();
- public abstract boolean isBackgroundRestricted(java.lang.String);
- public abstract boolean isImmersive(android.os.IBinder);
- public abstract boolean isInLockTaskMode();
- public abstract boolean isInMultiWindowMode(android.os.IBinder);
- public abstract boolean isInPictureInPictureMode(android.os.IBinder);
- public abstract boolean isIntentSenderAForegroundService(android.content.IIntentSender);
- public abstract boolean isIntentSenderAnActivity(android.content.IIntentSender);
- public abstract boolean isIntentSenderTargetedToPackage(android.content.IIntentSender);
- public abstract boolean isRootVoiceInteraction(android.os.IBinder);
- public abstract boolean isTopActivityImmersive();
- public abstract boolean isTopOfTask(android.os.IBinder);
- public abstract boolean isUidActive(int, java.lang.String);
- public abstract boolean isUserAMonkey();
- public abstract boolean isUserRunning(int, int);
- public abstract boolean isVrModePackageEnabled(android.content.ComponentName);
- public abstract void keyguardGoingAway(int);
- public abstract void killAllBackgroundProcesses();
- public abstract void killApplication(java.lang.String, int, int, java.lang.String);
- public abstract void killApplicationProcess(java.lang.String, int);
- public abstract void killBackgroundProcesses(java.lang.String, int);
- public abstract void killPackageDependents(java.lang.String, int);
- public abstract boolean killPids(int[], java.lang.String, boolean);
- public abstract boolean killProcessesBelowForeground(java.lang.String);
- public abstract void killUid(int, int, java.lang.String);
- public abstract boolean launchAssistIntent(android.content.Intent, int, java.lang.String, int, android.os.Bundle);
- public abstract void makePackageIdle(java.lang.String, int);
- public abstract boolean moveActivityTaskToBack(android.os.IBinder, boolean);
- public abstract void moveStackToDisplay(int, int);
- public abstract void moveTaskBackwards(int);
- public abstract void moveTaskToFront(int, int, android.os.Bundle);
- public abstract void moveTaskToStack(int, int, boolean);
- public abstract void moveTasksToFullscreenStack(int, boolean);
- public abstract boolean moveTopActivityToPinnedStack(int, android.graphics.Rect);
- public abstract boolean navigateUpTo(android.os.IBinder, android.content.Intent, int, android.content.Intent);
- public abstract android.os.IBinder newUriPermissionOwner(java.lang.String);
- public abstract void noteAlarmFinish(android.content.IIntentSender, android.os.WorkSource, int, java.lang.String);
- public abstract void noteAlarmStart(android.content.IIntentSender, android.os.WorkSource, int, java.lang.String);
- public abstract void noteWakeupAlarm(android.content.IIntentSender, android.os.WorkSource, int, java.lang.String, java.lang.String);
- public abstract void notifyActivityDrawn(android.os.IBinder);
- public abstract void notifyCleartextNetwork(int, byte[]);
- public abstract void notifyEnterAnimationComplete(android.os.IBinder);
- public abstract void notifyLaunchTaskBehindComplete(android.os.IBinder);
- public abstract void notifyLockedProfile(int);
- public abstract void notifyPinnedStackAnimationEnded();
- public abstract void notifyPinnedStackAnimationStarted();
- public abstract android.os.ParcelFileDescriptor openContentUri(java.lang.String);
- public abstract void overridePendingTransition(android.os.IBinder, java.lang.String, int, int);
- public abstract android.os.IBinder peekService(android.content.Intent, java.lang.String, java.lang.String);
- public abstract void performIdleMaintenance();
- public abstract void positionTaskInStack(int, int, int);
- public abstract boolean profileControl(java.lang.String, int, boolean, android.app.ProfilerInfo, int);
- public abstract void publishContentProviders(android.app.IApplicationThread, java.util.List);
- public abstract void publishService(android.os.IBinder, android.content.Intent, android.os.IBinder);
- public abstract boolean refContentProvider(android.os.IBinder, int, int);
- public abstract void registerIntentSenderCancelListener(android.content.IIntentSender, com.android.internal.os.IResultReceiver);
- public abstract void registerProcessObserver(android.app.IProcessObserver);
- public abstract android.content.Intent registerReceiver(android.app.IApplicationThread, java.lang.String, android.content.IIntentReceiver, android.content.IntentFilter, java.lang.String, int, int);
- public abstract void registerRemoteAnimationForNextActivityStart(java.lang.String, android.view.RemoteAnimationAdapter);
- public abstract void registerRemoteAnimations(android.os.IBinder, android.view.RemoteAnimationDefinition);
- public abstract void registerTaskStackListener(android.app.ITaskStackListener);
- public abstract void registerUidObserver(android.app.IUidObserver, int, int, java.lang.String);
- public abstract void registerUserSwitchObserver(android.app.IUserSwitchObserver, java.lang.String);
- public abstract boolean releaseActivityInstance(android.os.IBinder);
- public abstract void releasePersistableUriPermission(android.net.Uri, int, java.lang.String, int);
- public abstract void releaseSomeActivities(android.app.IApplicationThread);
- public abstract void removeContentProvider(android.os.IBinder, boolean);
- public abstract void removeContentProviderExternal(java.lang.String, android.os.IBinder);
- public abstract void removeStack(int);
- public abstract void removeStacksInWindowingModes(int[]);
- public abstract void removeStacksWithActivityTypes(int[]);
- public abstract boolean removeTask(int);
- public abstract void reportActivityFullyDrawn(android.os.IBinder, boolean);
- public abstract void reportAssistContextExtras(android.os.IBinder, android.os.Bundle, android.app.assist.AssistStructure, android.app.assist.AssistContent, android.net.Uri);
- public abstract void reportSizeConfigurations(android.os.IBinder, int[], int[], int[]);
- public abstract boolean requestAssistContextExtras(int, android.app.IAssistDataReceiver, android.os.Bundle, android.os.IBinder, boolean, boolean);
- public abstract boolean requestAutofillData(android.app.IAssistDataReceiver, android.os.Bundle, android.os.IBinder, int);
- public abstract void requestBugReport(int);
- public abstract void requestTelephonyBugReport(java.lang.String, java.lang.String);
- public abstract void requestWifiBugReport(java.lang.String, java.lang.String);
- public abstract void resizeDockedStack(android.graphics.Rect, android.graphics.Rect, android.graphics.Rect, android.graphics.Rect, android.graphics.Rect);
- public abstract void resizePinnedStack(android.graphics.Rect, android.graphics.Rect);
- public abstract void resizeStack(int, android.graphics.Rect, boolean, boolean, boolean, int);
- public abstract void resizeTask(int, android.graphics.Rect, int);
- public abstract void restart();
- public abstract int restartUserInBackground(int);
- public abstract void resumeAppSwitches();
- public abstract void revokeUriPermission(android.app.IApplicationThread, java.lang.String, android.net.Uri, int, int);
- public abstract void revokeUriPermissionFromOwner(android.os.IBinder, android.net.Uri, int, int);
- public abstract void scheduleApplicationInfoChanged(java.util.List, int);
- public abstract void sendIdleJobTrigger();
- public abstract int sendIntentSender(android.content.IIntentSender, android.os.IBinder, int, android.content.Intent, java.lang.String, android.content.IIntentReceiver, java.lang.String, android.os.Bundle);
- public abstract void serviceDoneExecuting(android.os.IBinder, int, int, int);
- public abstract void setActivityController(android.app.IActivityController, boolean);
- public abstract void setAgentApp(java.lang.String, java.lang.String);
- public abstract void setAlwaysFinish(boolean);
- public abstract void setDebugApp(java.lang.String, boolean, boolean);
- public abstract void setDisablePreviewScreenshots(android.os.IBinder, boolean);
- public abstract void setDumpHeapDebugLimit(java.lang.String, int, long, java.lang.String);
- public abstract void setFocusedStack(int);
- public abstract void setFocusedTask(int);
- public abstract void setFrontActivityScreenCompatMode(int);
- public abstract void setHasTopUi(boolean);
- public abstract void setImmersive(android.os.IBinder, boolean);
- public abstract void setLockScreenShown(boolean, boolean, int);
- public abstract void setPackageAskScreenCompat(java.lang.String, boolean);
- public abstract void setPackageScreenCompatMode(java.lang.String, int);
- public abstract void setPersistentVrThread(int);
- public abstract void setPictureInPictureParams(android.os.IBinder, android.app.PictureInPictureParams);
- public abstract void setProcessImportant(android.os.IBinder, int, boolean, java.lang.String);
- public abstract void setProcessLimit(int);
- public abstract boolean setProcessMemoryTrimLevel(java.lang.String, int, int);
- public abstract void setRenderThread(int);
- public abstract void setRequestedOrientation(android.os.IBinder, int);
- public abstract void setServiceForeground(android.content.ComponentName, android.os.IBinder, int, android.app.Notification, int);
- public abstract void setShowWhenLocked(android.os.IBinder, boolean);
- public abstract void setSplitScreenResizing(boolean);
- public abstract void setTaskDescription(android.os.IBinder, android.app.ActivityManager$TaskDescription);
- public abstract void setTaskResizeable(int, int);
- public abstract void setTaskWindowingMode(int, int, boolean);
- public abstract boolean setTaskWindowingModeSplitScreenPrimary(int, int, boolean, boolean, android.graphics.Rect, boolean);
- public abstract void setTurnScreenOn(android.os.IBinder, boolean);
- public abstract void setUserIsMonkey(boolean);
- public abstract void setVoiceKeepAwake(android.service.voice.IVoiceInteractionSession, boolean);
- public abstract int setVrMode(android.os.IBinder, boolean, android.content.ComponentName);
- public abstract void setVrThread(int);
- public abstract boolean shouldUpRecreateTask(android.os.IBinder, java.lang.String);
- public abstract boolean showAssistFromActivity(android.os.IBinder, android.os.Bundle);
- public abstract void showBootMessage(java.lang.CharSequence, boolean);
- public abstract void showLockTaskEscapeMessage(android.os.IBinder);
- public abstract void showWaitingForDebugger(android.app.IApplicationThread, boolean);
- public abstract boolean shutdown(int);
- public abstract void signalPersistentProcesses(int);
- public abstract int startActivities(android.app.IApplicationThread, java.lang.String, android.content.Intent[], java.lang.String[], android.os.IBinder, android.os.Bundle, int);
- public abstract int startActivity(android.app.IApplicationThread, java.lang.String, android.content.Intent, java.lang.String, android.os.IBinder, java.lang.String, int, int, android.app.ProfilerInfo, android.os.Bundle);
- public abstract android.app.WaitResult startActivityAndWait(android.app.IApplicationThread, java.lang.String, android.content.Intent, java.lang.String, android.os.IBinder, java.lang.String, int, int, android.app.ProfilerInfo, android.os.Bundle, int);
- public abstract int startActivityAsCaller(android.app.IApplicationThread, java.lang.String, android.content.Intent, java.lang.String, android.os.IBinder, java.lang.String, int, int, android.app.ProfilerInfo, android.os.Bundle, boolean, int);
- public abstract int startActivityAsUser(android.app.IApplicationThread, java.lang.String, android.content.Intent, java.lang.String, android.os.IBinder, java.lang.String, int, int, android.app.ProfilerInfo, android.os.Bundle, int);
- public abstract int startActivityFromRecents(int, android.os.Bundle);
- public abstract int startActivityIntentSender(android.app.IApplicationThread, android.content.IIntentSender, android.os.IBinder, android.content.Intent, java.lang.String, android.os.IBinder, java.lang.String, int, int, int, android.os.Bundle);
- public abstract int startActivityWithConfig(android.app.IApplicationThread, java.lang.String, android.content.Intent, java.lang.String, android.os.IBinder, java.lang.String, int, int, android.content.res.Configuration, android.os.Bundle, int);
- public abstract int startAssistantActivity(java.lang.String, int, int, android.content.Intent, java.lang.String, android.os.Bundle, int);
- public abstract boolean startBinderTracking();
- public abstract void startConfirmDeviceCredentialIntent(android.content.Intent, android.os.Bundle);
- public abstract void startInPlaceAnimationOnFrontMostApplication(android.os.Bundle);
- public abstract boolean startInstrumentation(android.content.ComponentName, java.lang.String, int, android.os.Bundle, android.app.IInstrumentationWatcher, android.app.IUiAutomationConnection, int, java.lang.String);
- public abstract void startLocalVoiceInteraction(android.os.IBinder, android.os.Bundle);
- public abstract void startLockTaskModeByToken(android.os.IBinder);
- public abstract boolean startNextMatchingActivity(android.os.IBinder, android.content.Intent, android.os.Bundle);
- public abstract void startRecentsActivity(android.content.Intent, android.app.IAssistDataReceiver, android.view.IRecentsAnimationRunner);
- public abstract android.content.ComponentName startService(android.app.IApplicationThread, android.content.Intent, java.lang.String, boolean, java.lang.String, int);
- public abstract void startSystemLockTaskMode(int);
- public abstract boolean startUserInBackground(int);
- public abstract boolean startUserInBackgroundWithListener(int, android.os.IProgressListener);
- public abstract int startVoiceActivity(java.lang.String, int, int, android.content.Intent, java.lang.String, android.service.voice.IVoiceInteractionSession, com.android.internal.app.IVoiceInteractor, int, android.app.ProfilerInfo, android.os.Bundle, int);
- public abstract void stopAppSwitches();
- public abstract boolean stopBinderTrackingAndDump(android.os.ParcelFileDescriptor);
- public abstract void stopLocalVoiceInteraction(android.os.IBinder);
- public abstract void stopLockTaskModeByToken(android.os.IBinder);
- public abstract int stopService(android.app.IApplicationThread, android.content.Intent, java.lang.String, int);
- public abstract boolean stopServiceToken(android.content.ComponentName, android.os.IBinder, int);
- public abstract void stopSystemLockTaskMode();
- public abstract int stopUser(int, boolean, android.app.IStopUserCallback);
- public abstract boolean supportsLocalVoiceInteraction();
- public abstract void suppressResizeConfigChanges(boolean);
- public abstract boolean switchUser(int);
- public abstract void takePersistableUriPermission(android.net.Uri, int, java.lang.String, int);
- public abstract void unbindBackupAgent(android.content.pm.ApplicationInfo);
- public abstract void unbindFinished(android.os.IBinder, android.content.Intent, boolean);
- public abstract boolean unbindService(android.app.IServiceConnection);
- public abstract void unbroadcastIntent(android.app.IApplicationThread, android.content.Intent, int);
- public abstract void unhandledBack();
- public abstract boolean unlockUser(int, byte[], byte[], android.os.IProgressListener);
- public abstract void unregisterIntentSenderCancelListener(android.content.IIntentSender, com.android.internal.os.IResultReceiver);
- public abstract void unregisterProcessObserver(android.app.IProcessObserver);
- public abstract void unregisterReceiver(android.content.IIntentReceiver);
- public abstract void unregisterTaskStackListener(android.app.ITaskStackListener);
- public abstract void unregisterUidObserver(android.app.IUidObserver);
- public abstract void unregisterUserSwitchObserver(android.app.IUserSwitchObserver);
- public abstract void unstableProviderDied(android.os.IBinder);
- public abstract boolean updateConfiguration(android.content.res.Configuration);
- public abstract void updateDeviceOwner(java.lang.String);
- public abstract boolean updateDisplayOverrideConfiguration(android.content.res.Configuration, int);
- public abstract void updateLockTaskFeatures(int, int);
- public abstract void updateLockTaskPackages(int, java.lang.String[]);
- public abstract void updatePersistentConfiguration(android.content.res.Configuration);
- public abstract void waitForNetworkStateUpdate(long);
- public abstract boolean willActivityBeVisible(android.os.IBinder);
-
-
-}
-
--keep class android.app.IAppTask {
-
- public abstract void finishAndRemoveTask();
- public abstract android.app.ActivityManager$RecentTaskInfo getTaskInfo();
- public abstract void moveToFront();
- public abstract void setExcludeFromRecents(boolean);
- public abstract int startActivity(android.os.IBinder, java.lang.String, android.content.Intent, java.lang.String, android.os.Bundle);
-
-
-}
-
--keep class android.app.IApplicationThread {
-
- public abstract void attachAgent(java.lang.String);
- public abstract void bindApplication(java.lang.String, android.content.pm.ApplicationInfo, java.util.List, android.content.ComponentName, android.app.ProfilerInfo, android.os.Bundle, android.app.IInstrumentationWatcher, android.app.IUiAutomationConnection, int, boolean, boolean, boolean, boolean, android.content.res.Configuration, android.content.res.CompatibilityInfo, java.util.Map, android.os.Bundle, java.lang.String, boolean);
- public abstract void clearDnsCache();
- public abstract void dispatchPackageBroadcast(int, java.lang.String[]);
- public abstract void dumpActivity(android.os.ParcelFileDescriptor, android.os.IBinder, java.lang.String, java.lang.String[]);
- public abstract void dumpDbInfo(android.os.ParcelFileDescriptor, java.lang.String[]);
- public abstract void dumpGfxInfo(android.os.ParcelFileDescriptor, java.lang.String[]);
- public abstract void dumpHeap(boolean, boolean, boolean, java.lang.String, android.os.ParcelFileDescriptor);
- public abstract void dumpMemInfo(android.os.ParcelFileDescriptor, android.os.Debug$MemoryInfo, boolean, boolean, boolean, boolean, boolean, java.lang.String[]);
- public abstract void dumpMemInfoProto(android.os.ParcelFileDescriptor, android.os.Debug$MemoryInfo, boolean, boolean, boolean, boolean, java.lang.String[]);
- public abstract void dumpProvider(android.os.ParcelFileDescriptor, android.os.IBinder, java.lang.String[]);
- public abstract void dumpService(android.os.ParcelFileDescriptor, android.os.IBinder, java.lang.String[]);
- public abstract void handleTrustStorageUpdate();
- public abstract void notifyCleartextNetwork(byte[]);
- public abstract void processInBackground();
- public abstract void profilerControl(boolean, android.app.ProfilerInfo, int);
- public abstract void requestAssistContextExtras(android.os.IBinder, android.os.IBinder, int, int, int);
- public abstract void runIsolatedEntryPoint(java.lang.String, java.lang.String[]);
- public abstract void scheduleApplicationInfoChanged(android.content.pm.ApplicationInfo);
- public abstract void scheduleBindService(android.os.IBinder, android.content.Intent, boolean, int);
- public abstract void scheduleCrash(java.lang.String);
- public abstract void scheduleCreateBackupAgent(android.content.pm.ApplicationInfo, android.content.res.CompatibilityInfo, int);
- public abstract void scheduleCreateService(android.os.IBinder, android.content.pm.ServiceInfo, android.content.res.CompatibilityInfo, int);
- public abstract void scheduleDestroyBackupAgent(android.content.pm.ApplicationInfo, android.content.res.CompatibilityInfo);
- public abstract void scheduleEnterAnimationComplete(android.os.IBinder);
- public abstract void scheduleExit();
- public abstract void scheduleInstallProvider(android.content.pm.ProviderInfo);
- public abstract void scheduleLocalVoiceInteractionStarted(android.os.IBinder, com.android.internal.app.IVoiceInteractor);
- public abstract void scheduleLowMemory();
- public abstract void scheduleOnNewActivityOptions(android.os.IBinder, android.os.Bundle);
- public abstract void scheduleReceiver(android.content.Intent, android.content.pm.ActivityInfo, android.content.res.CompatibilityInfo, int, java.lang.String, android.os.Bundle, boolean, int, int);
- public abstract void scheduleRegisteredReceiver(android.content.IIntentReceiver, android.content.Intent, int, java.lang.String, android.os.Bundle, boolean, boolean, int, int);
- public abstract void scheduleServiceArgs(android.os.IBinder, android.content.pm.ParceledListSlice);
- public abstract void scheduleSleeping(android.os.IBinder, boolean);
- public abstract void scheduleStopService(android.os.IBinder);
- public abstract void scheduleSuicide();
- public abstract void scheduleTransaction(android.app.servertransaction.ClientTransaction);
- public abstract void scheduleTranslucentConversionComplete(android.os.IBinder, boolean);
- public abstract void scheduleTrimMemory(int);
- public abstract void scheduleUnbindService(android.os.IBinder, android.content.Intent);
- public abstract void setCoreSettings(android.os.Bundle);
- public abstract void setHttpProxy(java.lang.String, java.lang.String, java.lang.String, android.net.Uri);
- public abstract void setNetworkBlockSeq(long);
- public abstract void setProcessState(int);
- public abstract void setSchedulingGroup(int);
- public abstract void startBinderTracking();
- public abstract void stopBinderTrackingAndDump(android.os.ParcelFileDescriptor);
- public abstract void unstableProviderDied(android.os.IBinder);
- public abstract void updatePackageCompatibilityInfo(java.lang.String, android.content.res.CompatibilityInfo);
- public abstract void updateTimePrefs(int);
- public abstract void updateTimeZone();
-
-
-}
-
--keep class android.app.IApplicationThread$Stub {
- <init>();
-
- public android.os.IBinder asBinder();
- public static android.app.IApplicationThread asInterface(android.os.IBinder);
- public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int);
-
-
-}
-
--keep class android.app.IAssistDataReceiver {
-
- public abstract void onHandleAssistData(android.os.Bundle);
- public abstract void onHandleAssistScreenshot(android.graphics.Bitmap);
-
-
-}
-
--keep class android.app.IInstrumentationWatcher {
-
- public abstract void instrumentationFinished(android.content.ComponentName, int, android.os.Bundle);
- public abstract void instrumentationStatus(android.content.ComponentName, int, android.os.Bundle);
-
-
-}
-
--keep class android.app.IProcessObserver {
-
- public abstract void onForegroundActivitiesChanged(int, int, boolean);
- public abstract void onProcessDied(int, int);
-
-
-}
-
--keep class android.app.IServiceConnection {
-
- public abstract void connected(android.content.ComponentName, android.os.IBinder, boolean);
-
-
-}
-
--keep class android.app.IStopUserCallback {
-
- public abstract void userStopAborted(int);
- public abstract void userStopped(int);
-
-
-}
-
--keep class android.app.ITaskStackListener {
-
- public abstract void onActivityDismissingDockedStack();
- public abstract void onActivityForcedResizable(java.lang.String, int, int);
- public abstract void onActivityLaunchOnSecondaryDisplayFailed();
- public abstract void onActivityPinned(java.lang.String, int, int, int);
- public abstract void onActivityRequestedOrientationChanged(int, int);
- public abstract void onActivityUnpinned();
- public abstract void onPinnedActivityRestartAttempt(boolean);
- public abstract void onPinnedStackAnimationEnded();
- public abstract void onPinnedStackAnimationStarted();
- public abstract void onTaskCreated(int, android.content.ComponentName);
- public abstract void onTaskDescriptionChanged(int, android.app.ActivityManager$TaskDescription);
- public abstract void onTaskMovedToFront(int);
- public abstract void onTaskProfileLocked(int, int);
- public abstract void onTaskRemovalStarted(int);
- public abstract void onTaskRemoved(int);
- public abstract void onTaskSnapshotChanged(int, android.app.ActivityManager$TaskSnapshot);
- public abstract void onTaskStackChanged();
-
-
- public static int FORCED_RESIZEABLE_REASON_SECONDARY_DISPLAY;
- public static int FORCED_RESIZEABLE_REASON_SPLIT_SCREEN;
-}
-
--keep class android.app.IUiAutomationConnection {
-
- public abstract void clearWindowAnimationFrameStats();
- public abstract boolean clearWindowContentFrameStats(int);
- public abstract void connect(android.accessibilityservice.IAccessibilityServiceClient, int);
- public abstract void disconnect();
- public abstract void executeShellCommand(java.lang.String, android.os.ParcelFileDescriptor, android.os.ParcelFileDescriptor);
- public abstract android.view.WindowAnimationFrameStats getWindowAnimationFrameStats();
- public abstract android.view.WindowContentFrameStats getWindowContentFrameStats(int);
- public abstract void grantRuntimePermission(java.lang.String, java.lang.String, int);
- public abstract boolean injectInputEvent(android.view.InputEvent, boolean);
- public abstract void revokeRuntimePermission(java.lang.String, java.lang.String, int);
- public abstract boolean setRotation(int);
- public abstract void shutdown();
- public abstract android.graphics.Bitmap takeScreenshot(android.graphics.Rect, int);
-
-
-}
-
--keep class android.app.IUidObserver {
-
- public abstract void onUidActive(int);
- public abstract void onUidCachedChanged(int, boolean);
- public abstract void onUidGone(int, boolean);
- public abstract void onUidIdle(int, boolean);
- public abstract void onUidStateChanged(int, int, long);
-
-
-}
-
--keep class android.app.IUserSwitchObserver {
-
- public abstract void onForegroundProfileSwitch(int);
- public abstract void onLockedBootComplete(int);
- public abstract void onUserSwitchComplete(int);
- public abstract void onUserSwitching(int, android.os.IRemoteCallback);
-
-
-}
-
--keep class android.app.Instrumentation {
- <init>();
-
- public android.os.TestLooperManager acquireLooperManager(android.os.Looper);
- public void addMonitor(android.app.Instrumentation$ActivityMonitor);
- public android.app.Instrumentation$ActivityMonitor addMonitor(android.content.IntentFilter, android.app.Instrumentation$ActivityResult, boolean);
- public android.app.Instrumentation$ActivityMonitor addMonitor(java.lang.String, android.app.Instrumentation$ActivityResult, boolean);
- public void addResults(android.os.Bundle);
- public void callActivityOnCreate(android.app.Activity, android.os.Bundle);
- public void callActivityOnCreate(android.app.Activity, android.os.Bundle, android.os.PersistableBundle);
- public void callActivityOnDestroy(android.app.Activity);
- public void callActivityOnNewIntent(android.app.Activity, android.content.Intent);
- public void callActivityOnNewIntent(android.app.Activity, com.android.internal.content.ReferrerIntent);
- public void callActivityOnPause(android.app.Activity);
- public void callActivityOnPostCreate(android.app.Activity, android.os.Bundle);
- public void callActivityOnPostCreate(android.app.Activity, android.os.Bundle, android.os.PersistableBundle);
- public void callActivityOnRestart(android.app.Activity);
- public void callActivityOnRestoreInstanceState(android.app.Activity, android.os.Bundle);
- public void callActivityOnRestoreInstanceState(android.app.Activity, android.os.Bundle, android.os.PersistableBundle);
- public void callActivityOnResume(android.app.Activity);
- public void callActivityOnSaveInstanceState(android.app.Activity, android.os.Bundle);
- public void callActivityOnSaveInstanceState(android.app.Activity, android.os.Bundle, android.os.PersistableBundle);
- public void callActivityOnStart(android.app.Activity);
- public void callActivityOnStop(android.app.Activity);
- public void callActivityOnUserLeaving(android.app.Activity);
- public void callApplicationOnCreate(android.app.Application);
- public boolean checkMonitorHit(android.app.Instrumentation$ActivityMonitor, int);
- public static void checkStartActivityResult(int, java.lang.Object);
- public void endPerformanceSnapshot();
- public void execStartActivities(android.content.Context, android.os.IBinder, android.os.IBinder, android.app.Activity, android.content.Intent[], android.os.Bundle);
- public int execStartActivitiesAsUser(android.content.Context, android.os.IBinder, android.os.IBinder, android.app.Activity, android.content.Intent[], android.os.Bundle, int);
- public android.app.Instrumentation$ActivityResult execStartActivity(android.content.Context, android.os.IBinder, android.os.IBinder, android.app.Activity, android.content.Intent, int, android.os.Bundle);
- public android.app.Instrumentation$ActivityResult execStartActivity(android.content.Context, android.os.IBinder, android.os.IBinder, java.lang.String, android.content.Intent, int, android.os.Bundle);
- public android.app.Instrumentation$ActivityResult execStartActivity(android.content.Context, android.os.IBinder, android.os.IBinder, java.lang.String, android.content.Intent, int, android.os.Bundle, android.os.UserHandle);
- public android.app.Instrumentation$ActivityResult execStartActivityAsCaller(android.content.Context, android.os.IBinder, android.os.IBinder, android.app.Activity, android.content.Intent, int, android.os.Bundle, boolean, int);
- public void execStartActivityFromAppTask(android.content.Context, android.os.IBinder, android.app.IAppTask, android.content.Intent, android.os.Bundle);
- public void finish(int, android.os.Bundle);
- public android.os.Bundle getAllocCounts();
- public android.os.Bundle getBinderCounts();
- public android.content.ComponentName getComponentName();
- public android.content.Context getContext();
- public java.lang.String getProcessName();
- public android.content.Context getTargetContext();
- public android.app.UiAutomation getUiAutomation();
- public android.app.UiAutomation getUiAutomation(int);
- public boolean invokeContextMenuAction(android.app.Activity, int, int);
- public boolean invokeMenuActionSync(android.app.Activity, int, int);
- public boolean isProfiling();
- public android.app.Activity newActivity(java.lang.Class, android.content.Context, android.os.IBinder, android.app.Application, android.content.Intent, android.content.pm.ActivityInfo, java.lang.CharSequence, android.app.Activity, java.lang.String, java.lang.Object);
- public android.app.Activity newActivity(java.lang.ClassLoader, java.lang.String, android.content.Intent);
- public android.app.Application newApplication(java.lang.ClassLoader, java.lang.String, android.content.Context);
- public static android.app.Application newApplication(java.lang.Class, android.content.Context);
- public void onCreate(android.os.Bundle);
- public void onDestroy();
- public boolean onException(java.lang.Object, java.lang.Throwable);
- public void onStart();
- public void removeMonitor(android.app.Instrumentation$ActivityMonitor);
- public void runOnMainSync(java.lang.Runnable);
- public void sendCharacterSync(int);
- public void sendKeyDownUpSync(int);
- public void sendKeySync(android.view.KeyEvent);
- public void sendPointerSync(android.view.MotionEvent);
- public void sendStatus(int, android.os.Bundle);
- public void sendStringSync(java.lang.String);
- public void sendTrackballEventSync(android.view.MotionEvent);
- public void setAutomaticPerformanceSnapshots();
- public void setInTouchMode(boolean);
- public void start();
- public android.app.Activity startActivitySync(android.content.Intent);
- public android.app.Activity startActivitySync(android.content.Intent, android.os.Bundle);
- public void startAllocCounting();
- public void startPerformanceSnapshot();
- public void startProfiling();
- public void stopAllocCounting();
- public void stopProfiling();
- public void waitForIdle(java.lang.Runnable);
- public void waitForIdleSync();
- public android.app.Activity waitForMonitor(android.app.Instrumentation$ActivityMonitor);
- public android.app.Activity waitForMonitorWithTimeout(android.app.Instrumentation$ActivityMonitor, long);
-
-
- public static java.lang.String REPORT_KEY_IDENTIFIER;
- public static java.lang.String REPORT_KEY_STREAMRESULT;
-}
-
--keep class android.app.Instrumentation$ActivityMonitor {
- <init>(android.content.IntentFilter, android.app.Instrumentation$ActivityResult, boolean);
- <init>(java.lang.String, android.app.Instrumentation$ActivityResult, boolean);
- <init>();
-
- public android.content.IntentFilter getFilter();
- public int getHits();
- public android.app.Activity getLastActivity();
- public android.app.Instrumentation$ActivityResult getResult();
- public boolean isBlocking();
- public android.app.Instrumentation$ActivityResult onStartActivity(android.content.Intent);
- public android.app.Activity waitForActivity();
- public android.app.Activity waitForActivityWithTimeout(long);
-
-
-}
-
--keep class android.app.Instrumentation$ActivityResult {
- <init>(int, android.content.Intent);
-
- public int getResultCode();
- public android.content.Intent getResultData();
-
-
-}
-
--keep class android.app.LoadedApk {
- <init>(android.app.ActivityThread, android.content.pm.ApplicationInfo, android.content.res.CompatibilityInfo, java.lang.ClassLoader, boolean, boolean, boolean);
-
- public android.content.IIntentReceiver forgetReceiverDispatcher(android.content.Context, android.content.BroadcastReceiver);
- public android.app.IServiceConnection forgetServiceDispatcher(android.content.Context, android.content.ServiceConnection);
- public java.lang.String getAppDir();
- public android.app.AppComponentFactory getAppFactory();
- public android.content.pm.ApplicationInfo getApplicationInfo();
- public android.content.res.AssetManager getAssets();
- public java.lang.ClassLoader getClassLoader();
- public android.content.res.CompatibilityInfo getCompatibilityInfo();
- public java.io.File getCredentialProtectedDataDirFile();
- public java.lang.String getDataDir();
- public java.io.File getDataDirFile();
- public java.io.File getDeviceProtectedDataDirFile();
- public java.lang.String getLibDir();
- public java.lang.String[] getOverlayDirs();
- public java.lang.String getPackageName();
- public android.content.IIntentReceiver getReceiverDispatcher(android.content.BroadcastReceiver, android.content.Context, android.os.Handler, android.app.Instrumentation, boolean);
- public java.lang.String getResDir();
- public android.content.res.Resources getResources();
- public android.app.IServiceConnection getServiceDispatcher(android.content.ServiceConnection, android.content.Context, android.os.Handler, int);
- public java.lang.String[] getSplitAppDirs();
- public java.lang.String[] getSplitResDirs();
- public int getTargetSdkVersion();
- public boolean isSecurityViolation();
- public android.app.Application makeApplication(boolean, android.app.Instrumentation);
- public static void makePaths(android.app.ActivityThread, android.content.pm.ApplicationInfo, java.util.List);
- public static void makePaths(android.app.ActivityThread, boolean, android.content.pm.ApplicationInfo, java.util.List, java.util.List);
- public void removeContextRegistrations(android.content.Context, java.lang.String, java.lang.String);
- public void setCompatibilityInfo(android.content.res.CompatibilityInfo);
- public void updateApplicationInfo(android.content.pm.ApplicationInfo, java.util.List);
-
-
-}
-
--keep class android.app.LoaderManager {
- <init>();
-
- public abstract void destroyLoader(int);
- public abstract void dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
- public static void enableDebugLogging(boolean);
- public android.app.FragmentHostCallback getFragmentHostCallback();
- public abstract android.content.Loader getLoader(int);
- public abstract android.content.Loader initLoader(int, android.os.Bundle, android.app.LoaderManager$LoaderCallbacks);
- public abstract android.content.Loader restartLoader(int, android.os.Bundle, android.app.LoaderManager$LoaderCallbacks);
-
-
-}
-
--keep class android.app.LoaderManager$LoaderCallbacks {
-
- public abstract android.content.Loader onCreateLoader(int, android.os.Bundle);
- public abstract void onLoadFinished(android.content.Loader, java.lang.Object);
- public abstract void onLoaderReset(android.content.Loader);
-
-
-}
-
--keep class android.app.Notification {
- <init>();
- <init>(android.content.Context, int, java.lang.CharSequence, long, java.lang.CharSequence, java.lang.CharSequence, android.content.Intent);
- <init>(int, java.lang.CharSequence, long);
- <init>(android.os.Parcel);
-
- public static void addFieldsFromContext(android.content.Context, android.app.Notification);
- public static void addFieldsFromContext(android.content.pm.ApplicationInfo, android.app.Notification);
- public static boolean areActionsVisiblyDifferent(android.app.Notification, android.app.Notification);
- public static boolean areRemoteViewsChanged(android.app.Notification$Builder, android.app.Notification$Builder);
- public static boolean areStyledNotificationsVisiblyDifferent(android.app.Notification$Builder, android.app.Notification$Builder);
- public android.app.Notification clone();
- public java.lang.Object clone();
- public void cloneInto(android.app.Notification, boolean);
- public int describeContents();
- public int getBadgeIconType();
- public java.lang.String getChannel();
- public java.lang.String getChannelId();
- public java.lang.String getGroup();
- public int getGroupAlertBehavior();
- public android.graphics.drawable.Icon getLargeIcon();
- public java.lang.Class getNotificationStyle();
- public static java.lang.Class getNotificationStyleClass(java.lang.String);
- public java.lang.CharSequence getSettingsText();
- public java.lang.String getShortcutId();
- public android.graphics.drawable.Icon getSmallIcon();
- public java.lang.String getSortKey();
- public long getTimeout();
- public long getTimeoutAfter();
- public boolean hasCompletedProgress();
- public boolean hasMediaSession();
- public boolean isColorized();
- public boolean isColorizedMedia();
- public boolean isGroupChild();
- public boolean isGroupSummary();
- public boolean isMediaNotification();
- public void lightenPayload();
- public static java.lang.String priorityToString(int);
- public static java.lang.CharSequence safeCharSequence(java.lang.CharSequence);
- public void setLatestEventInfo(android.content.Context, java.lang.CharSequence, java.lang.CharSequence, android.app.PendingIntent);
- public void setSmallIcon(android.graphics.drawable.Icon);
- public boolean showsChronometer();
- public boolean showsTime();
- public boolean suppressAlertingDueToGrouping();
- public java.lang.String toString();
- public static java.lang.String visibilityToString(int);
- public void visitUris(java.util.function.Consumer);
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
- public static android.media.AudioAttributes AUDIO_ATTRIBUTES_DEFAULT;
- public static int BADGE_ICON_LARGE;
- public static int BADGE_ICON_NONE;
- public static int BADGE_ICON_SMALL;
- public static java.lang.String CATEGORY_ALARM;
- public static java.lang.String CATEGORY_CALL;
- public static java.lang.String CATEGORY_CAR_EMERGENCY;
- public static java.lang.String CATEGORY_CAR_INFORMATION;
- public static java.lang.String CATEGORY_CAR_WARNING;
- public static java.lang.String CATEGORY_EMAIL;
- public static java.lang.String CATEGORY_ERROR;
- public static java.lang.String CATEGORY_EVENT;
- public static java.lang.String CATEGORY_MESSAGE;
- public static java.lang.String CATEGORY_NAVIGATION;
- public static java.lang.String CATEGORY_PROGRESS;
- public static java.lang.String CATEGORY_PROMO;
- public static java.lang.String CATEGORY_RECOMMENDATION;
- public static java.lang.String CATEGORY_REMINDER;
- public static java.lang.String CATEGORY_SERVICE;
- public static java.lang.String CATEGORY_SOCIAL;
- public static java.lang.String CATEGORY_STATUS;
- public static java.lang.String CATEGORY_SYSTEM;
- public static java.lang.String CATEGORY_TRANSPORT;
- public static int COLOR_DEFAULT;
- public static int COLOR_INVALID;
- public static android.os.Parcelable$Creator CREATOR;
- public static int DEFAULT_ALL;
- public static int DEFAULT_LIGHTS;
- public static int DEFAULT_SOUND;
- public static int DEFAULT_VIBRATE;
- public static java.lang.String EXTRA_ALLOW_DURING_SETUP;
- public static java.lang.String EXTRA_AUDIO_CONTENTS_URI;
- public static java.lang.String EXTRA_BACKGROUND_IMAGE_URI;
- public static java.lang.String EXTRA_BIG_TEXT;
- public static java.lang.String EXTRA_BUILDER_APPLICATION_INFO;
- public static java.lang.String EXTRA_CHANNEL_GROUP_ID;
- public static java.lang.String EXTRA_CHANNEL_ID;
- public static java.lang.String EXTRA_CHRONOMETER_COUNT_DOWN;
- public static java.lang.String EXTRA_COLORIZED;
- public static java.lang.String EXTRA_COMPACT_ACTIONS;
- public static java.lang.String EXTRA_CONTAINS_CUSTOM_VIEW;
- public static java.lang.String EXTRA_CONVERSATION_TITLE;
- public static java.lang.String EXTRA_FOREGROUND_APPS;
- public static java.lang.String EXTRA_HIDE_SMART_REPLIES;
- public static java.lang.String EXTRA_HISTORIC_MESSAGES;
- public static java.lang.String EXTRA_INFO_TEXT;
- public static java.lang.String EXTRA_IS_GROUP_CONVERSATION;
- public static java.lang.String EXTRA_LARGE_ICON;
- public static java.lang.String EXTRA_LARGE_ICON_BIG;
- public static java.lang.String EXTRA_MEDIA_SESSION;
- public static java.lang.String EXTRA_MESSAGES;
- public static java.lang.String EXTRA_MESSAGING_PERSON;
- public static java.lang.String EXTRA_NOTIFICATION_ID;
- public static java.lang.String EXTRA_NOTIFICATION_TAG;
- public static java.lang.String EXTRA_PEOPLE;
- public static java.lang.String EXTRA_PEOPLE_LIST;
- public static java.lang.String EXTRA_PICTURE;
- public static java.lang.String EXTRA_PROGRESS;
- public static java.lang.String EXTRA_PROGRESS_INDETERMINATE;
- public static java.lang.String EXTRA_PROGRESS_MAX;
- public static java.lang.String EXTRA_REDUCED_IMAGES;
- public static java.lang.String EXTRA_REMOTE_INPUT_DRAFT;
- public static java.lang.String EXTRA_REMOTE_INPUT_HISTORY;
- public static java.lang.String EXTRA_SELF_DISPLAY_NAME;
- public static java.lang.String EXTRA_SHOW_CHRONOMETER;
- public static java.lang.String EXTRA_SHOW_REMOTE_INPUT_SPINNER;
- public static java.lang.String EXTRA_SHOW_WHEN;
- public static java.lang.String EXTRA_SMALL_ICON;
- public static java.lang.String EXTRA_SUBSTITUTE_APP_NAME;
- public static java.lang.String EXTRA_SUB_TEXT;
- public static java.lang.String EXTRA_SUMMARY_TEXT;
- public static java.lang.String EXTRA_TEMPLATE;
- public static java.lang.String EXTRA_TEXT;
- public static java.lang.String EXTRA_TEXT_LINES;
- public static java.lang.String EXTRA_TITLE;
- public static java.lang.String EXTRA_TITLE_BIG;
- public static int FLAG_AUTOGROUP_SUMMARY;
- public static int FLAG_AUTO_CANCEL;
- public static int FLAG_CAN_COLORIZE;
- public static int FLAG_FOREGROUND_SERVICE;
- public static int FLAG_GROUP_SUMMARY;
- public static int FLAG_HIGH_PRIORITY;
- public static int FLAG_INSISTENT;
- public static int FLAG_LOCAL_ONLY;
- public static int FLAG_NO_CLEAR;
- public static int FLAG_ONGOING_EVENT;
- public static int FLAG_ONLY_ALERT_ONCE;
- public static int FLAG_SHOW_LIGHTS;
- public static int GROUP_ALERT_ALL;
- public static int GROUP_ALERT_CHILDREN;
- public static int GROUP_ALERT_SUMMARY;
- public static java.lang.String INTENT_CATEGORY_NOTIFICATION_PREFERENCES;
- public static int PRIORITY_DEFAULT;
- public static int PRIORITY_HIGH;
- public static int PRIORITY_LOW;
- public static int PRIORITY_MAX;
- public static int PRIORITY_MIN;
- public static int STREAM_DEFAULT;
- public static int VISIBILITY_PRIVATE;
- public static int VISIBILITY_PUBLIC;
- public static int VISIBILITY_SECRET;
- public android.app.Notification$Action[] actions;
- public android.util.ArraySet allPendingIntents;
- public android.media.AudioAttributes audioAttributes;
- public int audioStreamType;
- public android.widget.RemoteViews bigContentView;
- public java.lang.String category;
- public int color;
- public android.app.PendingIntent contentIntent;
- public android.widget.RemoteViews contentView;
- public int defaults;
- public android.app.PendingIntent deleteIntent;
- public android.os.Bundle extras;
- public int flags;
- public android.app.PendingIntent fullScreenIntent;
- public android.widget.RemoteViews headsUpContentView;
- public int icon;
- public int iconLevel;
- public android.graphics.Bitmap largeIcon;
- public int ledARGB;
- public int ledOffMS;
- public int ledOnMS;
- public int number;
- public int priority;
- public static android.os.IBinder processWhitelistToken;
- public android.app.Notification publicVersion;
- public android.net.Uri sound;
- public java.lang.CharSequence tickerText;
- public android.widget.RemoteViews tickerView;
- public long[] vibrate;
- public int visibility;
- public long when;
-}
-
--keep class android.app.Notification$Action {
- <init>(int, java.lang.CharSequence, android.app.PendingIntent);
-
- public android.app.Notification$Action clone();
- public java.lang.Object clone();
- public int describeContents();
- public boolean getAllowGeneratedReplies();
- public android.app.RemoteInput[] getDataOnlyRemoteInputs();
- public android.os.Bundle getExtras();
- public android.graphics.drawable.Icon getIcon();
- public android.app.RemoteInput[] getRemoteInputs();
- public int getSemanticAction();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int SEMANTIC_ACTION_ARCHIVE;
- public static int SEMANTIC_ACTION_CALL;
- public static int SEMANTIC_ACTION_DELETE;
- public static int SEMANTIC_ACTION_MARK_AS_READ;
- public static int SEMANTIC_ACTION_MARK_AS_UNREAD;
- public static int SEMANTIC_ACTION_MUTE;
- public static int SEMANTIC_ACTION_NONE;
- public static int SEMANTIC_ACTION_REPLY;
- public static int SEMANTIC_ACTION_THUMBS_DOWN;
- public static int SEMANTIC_ACTION_THUMBS_UP;
- public static int SEMANTIC_ACTION_UNMUTE;
- public android.app.PendingIntent actionIntent;
- public int icon;
- public java.lang.CharSequence title;
-}
-
--keep class android.app.Notification$Builder {
- <init>(android.content.Context, java.lang.String);
- <init>(android.content.Context);
- <init>(android.content.Context, android.app.Notification);
-
- public android.app.Notification$Builder addAction(int, java.lang.CharSequence, android.app.PendingIntent);
- public android.app.Notification$Builder addAction(android.app.Notification$Action);
- public android.app.Notification$Builder addExtras(android.os.Bundle);
- public android.app.Notification$Builder addPerson(java.lang.String);
- public android.app.Notification$Builder addPerson(android.app.Person);
- public android.app.Notification build();
- public android.app.Notification buildInto(android.app.Notification);
- public android.app.Notification buildUnstyled();
- public android.widget.RemoteViews createBigContentView();
- public android.widget.RemoteViews createContentView();
- public android.widget.RemoteViews createContentView(boolean);
- public android.widget.RemoteViews createHeadsUpContentView(boolean);
- public android.widget.RemoteViews createHeadsUpContentView();
- public android.app.Notification$Builder extend(android.app.Notification$Extender);
- public android.os.Bundle getExtras();
- public java.lang.CharSequence getHeadsUpStatusBarText(boolean);
- public android.app.Notification getNotification();
- public int getPrimaryTextColor();
- public int getSecondaryTextColor();
- public android.app.Notification$Style getStyle();
- public java.lang.String loadHeaderAppName();
- public android.widget.RemoteViews makeAmbientNotification();
- public static void makeHeaderExpanded(android.widget.RemoteViews);
- public android.widget.RemoteViews makeLowPriorityContentView(boolean);
- public android.widget.RemoteViews makeNotificationHeader(boolean);
- public android.widget.RemoteViews makePublicAmbientNotification();
- public android.widget.RemoteViews makePublicContentView();
- public static android.app.Notification maybeCloneStrippedForDelivery(android.app.Notification, boolean, android.content.Context);
- public static android.app.Notification$Builder recoverBuilder(android.content.Context, android.app.Notification);
- public android.app.Notification$Builder setActions(android.app.Notification$Action[]);
- public android.app.Notification$Builder setAutoCancel(boolean);
- public android.app.Notification$Builder setBadgeIconType(int);
- public android.app.Notification$Builder setCategory(java.lang.String);
- public android.app.Notification$Builder setChannel(java.lang.String);
- public android.app.Notification$Builder setChannelId(java.lang.String);
- public android.app.Notification$Builder setChronometerCountDown(boolean);
- public android.app.Notification$Builder setColor(int);
- public void setColorPalette(int, int);
- public android.app.Notification$Builder setColorized(boolean);
- public android.app.Notification$Builder setContent(android.widget.RemoteViews);
- public android.app.Notification$Builder setContentInfo(java.lang.CharSequence);
- public android.app.Notification$Builder setContentIntent(android.app.PendingIntent);
- public android.app.Notification$Builder setContentText(java.lang.CharSequence);
- public android.app.Notification$Builder setContentTitle(java.lang.CharSequence);
- public android.app.Notification$Builder setCustomBigContentView(android.widget.RemoteViews);
- public android.app.Notification$Builder setCustomContentView(android.widget.RemoteViews);
- public android.app.Notification$Builder setCustomHeadsUpContentView(android.widget.RemoteViews);
- public android.app.Notification$Builder setDefaults(int);
- public android.app.Notification$Builder setDeleteIntent(android.app.PendingIntent);
- public android.app.Notification$Builder setExtras(android.os.Bundle);
- public android.app.Notification$Builder setFlag(int, boolean);
- public android.app.Notification$Builder setFullScreenIntent(android.app.PendingIntent, boolean);
- public android.app.Notification$Builder setGroup(java.lang.String);
- public android.app.Notification$Builder setGroupAlertBehavior(int);
- public android.app.Notification$Builder setGroupSummary(boolean);
- public android.app.Notification$Builder setHideSmartReplies(boolean);
- public android.app.Notification$Builder setLargeIcon(android.graphics.Bitmap);
- public android.app.Notification$Builder setLargeIcon(android.graphics.drawable.Icon);
- public android.app.Notification$Builder setLights(int, int, int);
- public android.app.Notification$Builder setLocalOnly(boolean);
- public android.app.Notification$Builder setNumber(int);
- public android.app.Notification$Builder setOngoing(boolean);
- public android.app.Notification$Builder setOnlyAlertOnce(boolean);
- public android.app.Notification$Builder setPriority(int);
- public android.app.Notification$Builder setProgress(int, int, boolean);
- public android.app.Notification$Builder setPublicVersion(android.app.Notification);
- public void setRebuildStyledRemoteViews(boolean);
- public android.app.Notification$Builder setRemoteInputHistory(java.lang.CharSequence[]);
- public android.app.Notification$Builder setSettingsText(java.lang.CharSequence);
- public android.app.Notification$Builder setShortcutId(java.lang.String);
- public android.app.Notification$Builder setShowRemoteInputSpinner(boolean);
- public android.app.Notification$Builder setShowWhen(boolean);
- public android.app.Notification$Builder setSmallIcon(int);
- public android.app.Notification$Builder setSmallIcon(int, int);
- public android.app.Notification$Builder setSmallIcon(android.graphics.drawable.Icon);
- public android.app.Notification$Builder setSortKey(java.lang.String);
- public android.app.Notification$Builder setSound(android.net.Uri);
- public android.app.Notification$Builder setSound(android.net.Uri, int);
- public android.app.Notification$Builder setSound(android.net.Uri, android.media.AudioAttributes);
- public android.app.Notification$Builder setStyle(android.app.Notification$Style);
- public android.app.Notification$Builder setSubText(java.lang.CharSequence);
- public android.app.Notification$Builder setTicker(java.lang.CharSequence);
- public android.app.Notification$Builder setTicker(java.lang.CharSequence, android.widget.RemoteViews);
- public android.app.Notification$Builder setTimeout(long);
- public android.app.Notification$Builder setTimeoutAfter(long);
- public android.app.Notification$Builder setUsesChronometer(boolean);
- public android.app.Notification$Builder setVibrate(long[]);
- public android.app.Notification$Builder setVisibility(int);
- public android.app.Notification$Builder setWhen(long);
- public boolean usesStandardHeader();
-
-
- public static java.lang.String EXTRA_REBUILD_BIG_CONTENT_VIEW_ACTION_COUNT;
- public static java.lang.String EXTRA_REBUILD_CONTENT_VIEW_ACTION_COUNT;
- public static java.lang.String EXTRA_REBUILD_HEADS_UP_CONTENT_VIEW_ACTION_COUNT;
-}
-
--keep class android.app.Notification$Extender {
-
- public abstract android.app.Notification$Builder extend(android.app.Notification$Builder);
-
-
-}
-
--keep class android.app.Notification$Style {
- <init>();
-
- public void addExtras(android.os.Bundle);
- public abstract boolean areNotificationsVisiblyDifferent(android.app.Notification$Style);
- public android.app.Notification build();
- public android.app.Notification buildStyled(android.app.Notification);
- protected void checkBuilder();
- public boolean displayCustomViewInline();
- public java.lang.CharSequence getHeadsUpStatusBarText();
- protected android.widget.RemoteViews getStandardView(int);
- protected android.widget.RemoteViews getStandardView(int, android.app.Notification$TemplateBindResult);
- protected boolean hasProgress();
- public boolean hasSummaryInHeader();
- protected void internalSetBigContentTitle(java.lang.CharSequence);
- protected void internalSetSummaryText(java.lang.CharSequence);
- public android.widget.RemoteViews makeBigContentView();
- public android.widget.RemoteViews makeContentView(boolean);
- public android.widget.RemoteViews makeHeadsUpContentView(boolean);
- public void purgeResources();
- public void reduceImageSizes(android.content.Context);
- protected void restoreFromExtras(android.os.Bundle);
- public void setBuilder(android.app.Notification$Builder);
- public void validate(android.content.Context);
-
-
- protected android.app.Notification$Builder mBuilder;
- protected java.lang.CharSequence mSummaryText;
- protected boolean mSummaryTextSet;
-}
-
--keep class android.app.Notification$TemplateBindResult {
-
- public int getIconMarginEnd();
- public void setIconMarginEnd(int);
-
-
-}
-
--keep class android.app.OnActivityPausedListener {
-
- public abstract void onPaused(android.app.Activity);
-
-
-}
-
--keep class android.app.PendingIntent {
-
- public void cancel();
- public int describeContents();
- public boolean equals(java.lang.Object);
- public static android.app.PendingIntent getActivities(android.content.Context, int, android.content.Intent[], int);
- public static android.app.PendingIntent getActivities(android.content.Context, int, android.content.Intent[], int, android.os.Bundle);
- public static android.app.PendingIntent getActivitiesAsUser(android.content.Context, int, android.content.Intent[], int, android.os.Bundle, android.os.UserHandle);
- public static android.app.PendingIntent getActivity(android.content.Context, int, android.content.Intent, int);
- public static android.app.PendingIntent getActivity(android.content.Context, int, android.content.Intent, int, android.os.Bundle);
- public static android.app.PendingIntent getActivityAsUser(android.content.Context, int, android.content.Intent, int, android.os.Bundle, android.os.UserHandle);
- public static android.app.PendingIntent getBroadcast(android.content.Context, int, android.content.Intent, int);
- public static android.app.PendingIntent getBroadcastAsUser(android.content.Context, int, android.content.Intent, int, android.os.UserHandle);
- public java.lang.String getCreatorPackage();
- public int getCreatorUid();
- public android.os.UserHandle getCreatorUserHandle();
- public static android.app.PendingIntent getForegroundService(android.content.Context, int, android.content.Intent, int);
- public android.content.Intent getIntent();
- public android.content.IntentSender getIntentSender();
- public static android.app.PendingIntent getService(android.content.Context, int, android.content.Intent, int);
- public java.lang.String getTag(java.lang.String);
- public android.content.IIntentSender getTarget();
- public java.lang.String getTargetPackage();
- public android.os.IBinder getWhitelistToken();
- public int hashCode();
- public boolean isActivity();
- public boolean isForegroundService();
- public boolean isTargetedToPackage();
- public static android.app.PendingIntent readPendingIntentOrNullFromParcel(android.os.Parcel);
- public void registerCancelListener(android.app.PendingIntent$CancelListener);
- public void send();
- public void send(int);
- public void send(android.content.Context, int, android.content.Intent);
- public void send(int, android.app.PendingIntent$OnFinished, android.os.Handler);
- public void send(android.content.Context, int, android.content.Intent, android.app.PendingIntent$OnFinished, android.os.Handler);
- public void send(android.content.Context, int, android.content.Intent, android.app.PendingIntent$OnFinished, android.os.Handler, java.lang.String);
- public void send(android.content.Context, int, android.content.Intent, android.app.PendingIntent$OnFinished, android.os.Handler, java.lang.String, android.os.Bundle);
- public int sendAndReturnResult(android.content.Context, int, android.content.Intent, android.app.PendingIntent$OnFinished, android.os.Handler, java.lang.String, android.os.Bundle);
- public static void setOnMarshaledListener(android.app.PendingIntent$OnMarshaledListener);
- public java.lang.String toString();
- public void unregisterCancelListener(android.app.PendingIntent$CancelListener);
- public static void writePendingIntentOrNullToParcel(android.app.PendingIntent, android.os.Parcel);
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int FLAG_CANCEL_CURRENT;
- public static int FLAG_IMMUTABLE;
- public static int FLAG_NO_CREATE;
- public static int FLAG_ONE_SHOT;
- public static int FLAG_UPDATE_CURRENT;
-}
-
--keep class android.app.PendingIntent$CancelListener {
-
- public abstract void onCancelled(android.app.PendingIntent);
-
-
-}
-
--keep class android.app.PendingIntent$CanceledException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.Exception);
-
-
-
-}
-
--keep class android.app.PendingIntent$OnFinished {
-
- public abstract void onSendFinished(android.app.PendingIntent, android.content.Intent, int, java.lang.String, android.os.Bundle);
-
-
-}
-
--keep class android.app.PendingIntent$OnMarshaledListener {
-
- public abstract void onMarshaled(android.app.PendingIntent, android.os.Parcel, int);
-
-
-}
-
--keep class android.app.Person {
-
- public int describeContents();
- public android.graphics.drawable.Icon getIcon();
- public java.lang.String getKey();
- public java.lang.CharSequence getName();
- public java.lang.String getUri();
- public boolean isBot();
- public boolean isImportant();
- public java.lang.String resolveToLegacyUri();
- public android.app.Person$Builder toBuilder();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.app.Person$Builder {
- <init>();
-
- public android.app.Person build();
- public android.app.Person$Builder setBot(boolean);
- public android.app.Person$Builder setIcon(android.graphics.drawable.Icon);
- public android.app.Person$Builder setImportant(boolean);
- public android.app.Person$Builder setKey(java.lang.String);
- public android.app.Person$Builder setName(java.lang.CharSequence);
- public android.app.Person$Builder setUri(java.lang.String);
-
-
-}
-
--keep class android.app.PictureInPictureArgs {
- <init>();
- <init>(float, java.util.List);
-
- public static android.app.PictureInPictureArgs convert(android.app.PictureInPictureParams);
- public static android.app.PictureInPictureParams convert(android.app.PictureInPictureArgs);
- public void copyOnlySet(android.app.PictureInPictureArgs);
- public int describeContents();
- public java.util.List getActions();
- public float getAspectRatio();
- public android.util.Rational getAspectRatioRational();
- public android.graphics.Rect getSourceRectHint();
- public android.graphics.Rect getSourceRectHintInsets();
- public boolean hasSetActions();
- public boolean hasSetAspectRatio();
- public boolean hasSourceBoundsHint();
- public boolean hasSourceBoundsHintInsets();
- public void setActions(java.util.List);
- public void setAspectRatio(float);
- public void setSourceRectHint(android.graphics.Rect);
- public void setSourceRectHintInsets(android.graphics.Rect);
- public void truncateActions(int);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.app.PictureInPictureParams {
-
- public void copyOnlySet(android.app.PictureInPictureParams);
- public int describeContents();
- public java.util.List getActions();
- public float getAspectRatio();
- public android.util.Rational getAspectRatioRational();
- public android.graphics.Rect getSourceRectHint();
- public boolean hasSetActions();
- public boolean hasSetAspectRatio();
- public boolean hasSourceBoundsHint();
- public void truncateActions(int);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.app.ProfilerInfo {
- <init>(java.lang.String, android.os.ParcelFileDescriptor, int, boolean, boolean, java.lang.String, boolean);
- <init>(android.app.ProfilerInfo);
-
- public void closeFd();
- public int describeContents();
- public boolean equals(java.lang.Object);
- public int hashCode();
- public android.app.ProfilerInfo setAgent(java.lang.String, boolean);
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public java.lang.String agent;
- public boolean attachAgentDuringBind;
- public boolean autoStopProfiler;
- public android.os.ParcelFileDescriptor profileFd;
- public java.lang.String profileFile;
- public int samplingInterval;
- public boolean streamingOutput;
-}
-
--keep class android.app.RemoteAction {
- <init>(android.graphics.drawable.Icon, java.lang.CharSequence, java.lang.CharSequence, android.app.PendingIntent);
-
- public android.app.RemoteAction clone();
- public java.lang.Object clone();
- public int describeContents();
- public void dump(java.lang.String, java.io.PrintWriter);
- public android.app.PendingIntent getActionIntent();
- public java.lang.CharSequence getContentDescription();
- public android.graphics.drawable.Icon getIcon();
- public java.lang.CharSequence getTitle();
- public boolean isEnabled();
- public void setEnabled(boolean);
- public void setShouldShowIcon(boolean);
- public boolean shouldShowIcon();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.app.RemoteInput {
-
- public static void addDataResultToIntent(android.app.RemoteInput, android.content.Intent, java.util.Map);
- public static void addResultsToIntent(android.app.RemoteInput[], android.content.Intent, android.os.Bundle);
- public int describeContents();
- public boolean getAllowFreeFormInput();
- public java.util.Set getAllowedDataTypes();
- public java.lang.CharSequence[] getChoices();
- public static java.util.Map getDataResultsFromIntent(android.content.Intent, java.lang.String);
- public android.os.Bundle getExtras();
- public java.lang.CharSequence getLabel();
- public java.lang.String getResultKey();
- public static android.os.Bundle getResultsFromIntent(android.content.Intent);
- public static int getResultsSource(android.content.Intent);
- public boolean isDataOnly();
- public static void setResultsSource(android.content.Intent, int);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static java.lang.String EXTRA_RESULTS_DATA;
- public static java.lang.String RESULTS_CLIP_LABEL;
- public static int SOURCE_CHOICE;
- public static int SOURCE_FREE_FORM_INPUT;
-}
-
--keep class android.app.ResultInfo {
- <init>(java.lang.String, int, int, android.content.Intent);
- <init>(android.os.Parcel);
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public int hashCode();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public android.content.Intent mData;
- public int mRequestCode;
- public int mResultCode;
- public java.lang.String mResultWho;
-}
-
--keep class android.app.Service {
- <init>();
-
- public void attach(android.content.Context, android.app.ActivityThread, java.lang.String, android.os.IBinder, android.app.Application, java.lang.Object);
- public void detachAndCleanUp();
- protected void dump(java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
- public android.app.Application getApplication();
- public abstract android.os.IBinder onBind(android.content.Intent);
- public void onConfigurationChanged(android.content.res.Configuration);
- public void onCreate();
- public void onDestroy();
- public void onLowMemory();
- public void onRebind(android.content.Intent);
- public void onStart(android.content.Intent, int);
- public int onStartCommand(android.content.Intent, int, int);
- public void onTaskRemoved(android.content.Intent);
- public void onTrimMemory(int);
- public boolean onUnbind(android.content.Intent);
- public void setForeground(boolean);
- public void startForeground(int, android.app.Notification);
- public void stopForeground(boolean);
- public void stopForeground(int);
- public void stopSelf();
- public void stopSelf(int);
- public boolean stopSelfResult(int);
-
-
- public static int START_CONTINUATION_MASK;
- public static int START_FLAG_REDELIVERY;
- public static int START_FLAG_RETRY;
- public static int START_NOT_STICKY;
- public static int START_REDELIVER_INTENT;
- public static int START_STICKY;
- public static int START_STICKY_COMPATIBILITY;
- public static int START_TASK_REMOVED_COMPLETE;
- public static int STOP_FOREGROUND_DETACH;
- public static int STOP_FOREGROUND_REMOVE;
-}
-
--keep class android.app.SharedElementCallback {
- <init>();
-
- public android.os.Parcelable onCaptureSharedElementSnapshot(android.view.View, android.graphics.Matrix, android.graphics.RectF);
- public android.view.View onCreateSnapshotView(android.content.Context, android.os.Parcelable);
- public void onMapSharedElements(java.util.List, java.util.Map);
- public void onRejectSharedElements(java.util.List);
- public void onSharedElementEnd(java.util.List, java.util.List, java.util.List);
- public void onSharedElementStart(java.util.List, java.util.List, java.util.List);
- public void onSharedElementsArrived(java.util.List, java.util.List, android.app.SharedElementCallback$OnSharedElementsReadyListener);
-
-
-}
-
--keep class android.app.SharedElementCallback$OnSharedElementsReadyListener {
-
- public abstract void onSharedElementsReady();
-
-
-}
-
--keep class android.app.TaskStackBuilder {
-
- public android.app.TaskStackBuilder addNextIntent(android.content.Intent);
- public android.app.TaskStackBuilder addNextIntentWithParentStack(android.content.Intent);
- public android.app.TaskStackBuilder addParentStack(android.app.Activity);
- public android.app.TaskStackBuilder addParentStack(java.lang.Class);
- public android.app.TaskStackBuilder addParentStack(android.content.ComponentName);
- public static android.app.TaskStackBuilder create(android.content.Context);
- public android.content.Intent editIntentAt(int);
- public int getIntentCount();
- public android.content.Intent[] getIntents();
- public android.app.PendingIntent getPendingIntent(int, int);
- public android.app.PendingIntent getPendingIntent(int, int, android.os.Bundle);
- public android.app.PendingIntent getPendingIntent(int, int, android.os.Bundle, android.os.UserHandle);
- public void startActivities();
- public int startActivities(android.os.Bundle, android.os.UserHandle);
- public void startActivities(android.os.Bundle);
-
-
-}
-
--keep class android.app.UiAutomation {
- <init>(android.os.Looper, android.app.IUiAutomationConnection);
-
- public void clearWindowAnimationFrameStats();
- public boolean clearWindowContentFrameStats(int);
- public void connect();
- public void connect(int);
- public void destroy();
- public void disconnect();
- public android.view.accessibility.AccessibilityEvent executeAndWaitForEvent(java.lang.Runnable, android.app.UiAutomation$AccessibilityEventFilter, long);
- public android.os.ParcelFileDescriptor executeShellCommand(java.lang.String);
- public android.os.ParcelFileDescriptor[] executeShellCommandRw(java.lang.String);
- public android.view.accessibility.AccessibilityNodeInfo findFocus(int);
- public int getConnectionId();
- public int getFlags();
- public android.view.accessibility.AccessibilityNodeInfo getRootInActiveWindow();
- public android.accessibilityservice.AccessibilityServiceInfo getServiceInfo();
- public android.view.WindowAnimationFrameStats getWindowAnimationFrameStats();
- public android.view.WindowContentFrameStats getWindowContentFrameStats(int);
- public java.util.List getWindows();
- public void grantRuntimePermission(java.lang.String, java.lang.String);
- public boolean grantRuntimePermission(java.lang.String, java.lang.String, android.os.UserHandle);
- public void grantRuntimePermissionAsUser(java.lang.String, java.lang.String, android.os.UserHandle);
- public boolean injectInputEvent(android.view.InputEvent, boolean);
- public boolean isDestroyed();
- public boolean performGlobalAction(int);
- public void revokeRuntimePermission(java.lang.String, java.lang.String);
- public boolean revokeRuntimePermission(java.lang.String, java.lang.String, android.os.UserHandle);
- public void revokeRuntimePermissionAsUser(java.lang.String, java.lang.String, android.os.UserHandle);
- public void setOnAccessibilityEventListener(android.app.UiAutomation$OnAccessibilityEventListener);
- public boolean setRotation(int);
- public void setRunAsMonkey(boolean);
- public void setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo);
- public android.graphics.Bitmap takeScreenshot();
- public void waitForIdle(long, long);
-
-
- public static int FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES;
- public static int ROTATION_FREEZE_0;
- public static int ROTATION_FREEZE_180;
- public static int ROTATION_FREEZE_270;
- public static int ROTATION_FREEZE_90;
- public static int ROTATION_FREEZE_CURRENT;
- public static int ROTATION_UNFREEZE;
-}
-
--keep class android.app.UiAutomation$AccessibilityEventFilter {
-
- public abstract boolean accept(android.view.accessibility.AccessibilityEvent);
-
-
-}
-
--keep class android.app.UiAutomation$OnAccessibilityEventListener {
-
- public abstract void onAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
-
-
-}
-
--keep class android.app.VoiceInteractor {
-
- public android.app.VoiceInteractor$Request getActiveRequest(java.lang.String);
- public android.app.VoiceInteractor$Request[] getActiveRequests();
- public boolean submitRequest(android.app.VoiceInteractor$Request);
- public boolean submitRequest(android.app.VoiceInteractor$Request, java.lang.String);
- public boolean[] supportsCommands(java.lang.String[]);
-
-
-}
-
--keep class android.app.VoiceInteractor$PickOptionRequest {
- <init>(android.app.VoiceInteractor$Prompt, android.app.VoiceInteractor$PickOptionRequest$Option[], android.os.Bundle);
- <init>(java.lang.CharSequence, android.app.VoiceInteractor$PickOptionRequest$Option[], android.os.Bundle);
-
- public void onPickOptionResult(boolean, android.app.VoiceInteractor$PickOptionRequest$Option[], android.os.Bundle);
-
-
-}
-
--keep class android.app.VoiceInteractor$PickOptionRequest$Option {
- <init>(java.lang.CharSequence);
- <init>(java.lang.CharSequence, int);
-
- public android.app.VoiceInteractor$PickOptionRequest$Option addSynonym(java.lang.CharSequence);
- public int countSynonyms();
- public int describeContents();
- public android.os.Bundle getExtras();
- public int getIndex();
- public java.lang.CharSequence getLabel();
- public java.lang.CharSequence getSynonymAt(int);
- public void setExtras(android.os.Bundle);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.app.VoiceInteractor$Prompt {
- <init>(java.lang.CharSequence[], java.lang.CharSequence);
- <init>(java.lang.CharSequence);
-
- public int countVoicePrompts();
- public int describeContents();
- public java.lang.CharSequence getVisualPrompt();
- public java.lang.CharSequence getVoicePromptAt(int);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.app.VoiceInteractor$Request {
-
- public void cancel();
- public android.app.Activity getActivity();
- public android.content.Context getContext();
- public java.lang.String getName();
- public void onAttached(android.app.Activity);
- public void onCancel();
- public void onDetached();
- public java.lang.String toString();
-
-
-}
-
--keep class android.app.WaitResult {
- <init>();
-
- public int describeContents();
- public void dump(java.io.PrintWriter, java.lang.String);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public int result;
- public long thisTime;
- public boolean timeout;
- public long totalTime;
- public android.content.ComponentName who;
-}
-
--keep class android.app.WindowConfiguration {
- <init>();
- <init>(android.app.WindowConfiguration);
-
- public static java.lang.String activityTypeToString(int);
- public boolean canReceiveKeys();
- public boolean canResizeTask();
- public int compareTo(android.app.WindowConfiguration);
- public int compareTo(java.lang.Object);
- public int describeContents();
- public long diff(android.app.WindowConfiguration, boolean);
- public boolean equals(java.lang.Object);
- public int getActivityType();
- public android.graphics.Rect getAppBounds();
- public android.graphics.Rect getBounds();
- public int getWindowingMode();
- public boolean hasMovementAnimations();
- public boolean hasWindowDecorCaption();
- public boolean hasWindowShadow();
- public int hashCode();
- public boolean isAlwaysOnTop();
- public static boolean isFloating(int);
- public boolean keepVisibleDeadAppWindowOnScreen();
- public boolean persistTaskBounds();
- public void setActivityType(int);
- public void setAppBounds(android.graphics.Rect);
- public void setAppBounds(int, int, int, int);
- public void setBounds(android.graphics.Rect);
- public void setTo(android.app.WindowConfiguration);
- public void setToDefaults();
- public void setWindowingMode(int);
- public boolean supportSplitScreenWindowingMode();
- public static boolean supportSplitScreenWindowingMode(int);
- public boolean tasksAreFloating();
- public java.lang.String toString();
- public void unset();
- public int updateFrom(android.app.WindowConfiguration);
- public boolean useWindowFrameForBackdrop();
- public static java.lang.String windowingModeToString(int);
- public boolean windowsAreScaleable();
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
- public static int ACTIVITY_TYPE_ASSISTANT;
- public static int ACTIVITY_TYPE_HOME;
- public static int ACTIVITY_TYPE_RECENTS;
- public static int ACTIVITY_TYPE_STANDARD;
- public static int ACTIVITY_TYPE_UNDEFINED;
- public static android.os.Parcelable$Creator CREATOR;
- public static int PINNED_WINDOWING_MODE_ELEVATION_IN_DIP;
- public static int WINDOWING_MODE_FREEFORM;
- public static int WINDOWING_MODE_FULLSCREEN;
- public static int WINDOWING_MODE_FULLSCREEN_OR_SPLIT_SCREEN_SECONDARY;
- public static int WINDOWING_MODE_PINNED;
- public static int WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
- public static int WINDOWING_MODE_SPLIT_SCREEN_SECONDARY;
- public static int WINDOWING_MODE_UNDEFINED;
- public static int WINDOW_CONFIG_ACTIVITY_TYPE;
- public static int WINDOW_CONFIG_APP_BOUNDS;
- public static int WINDOW_CONFIG_BOUNDS;
- public static int WINDOW_CONFIG_WINDOWING_MODE;
-}
-
--keep class android.app.assist.AssistContent {
- <init>();
-
- public int describeContents();
- public android.content.ClipData getClipData();
- public android.os.Bundle getExtras();
- public android.content.Intent getIntent();
- public java.lang.String getStructuredData();
- public android.net.Uri getWebUri();
- public boolean isAppProvidedIntent();
- public boolean isAppProvidedWebUri();
- public void setClipData(android.content.ClipData);
- public void setDefaultIntent(android.content.Intent);
- public void setIntent(android.content.Intent);
- public void setStructuredData(java.lang.String);
- public void setWebUri(android.net.Uri);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.app.assist.AssistStructure {
- <init>(android.app.Activity, boolean, int);
- <init>();
- <init>(android.os.Parcel);
-
- public void clearSendChannel();
- public int describeContents();
- public void dump(boolean);
- public void ensureData();
- public void ensureDataForAutofill();
- public long getAcquisitionEndTime();
- public long getAcquisitionStartTime();
- public android.content.ComponentName getActivityComponent();
- public int getFlags();
- public android.app.assist.AssistStructure$WindowNode getWindowNodeAt(int);
- public int getWindowNodeCount();
- public boolean isHomeActivity();
- public void sanitizeForParceling(boolean);
- public void setAcquisitionEndTime(long);
- public void setAcquisitionStartTime(long);
- public void setActivityComponent(android.content.ComponentName);
- public void setHomeActivity(boolean);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.app.assist.AssistStructure$AutofillOverlay {
- <init>();
-
-
-
- public boolean focused;
- public android.view.autofill.AutofillValue value;
-}
-
--keep class android.app.assist.AssistStructure$ViewNode {
-
- public float getAlpha();
- public java.lang.String[] getAutofillHints();
- public android.view.autofill.AutofillId getAutofillId();
- public java.lang.CharSequence[] getAutofillOptions();
- public int getAutofillType();
- public android.view.autofill.AutofillValue getAutofillValue();
- public android.app.assist.AssistStructure$ViewNode getChildAt(int);
- public int getChildCount();
- public java.lang.String getClassName();
- public java.lang.CharSequence getContentDescription();
- public float getElevation();
- public android.os.Bundle getExtras();
- public int getHeight();
- public java.lang.String getHint();
- public android.view.ViewStructure$HtmlInfo getHtmlInfo();
- public int getId();
- public java.lang.String getIdEntry();
- public java.lang.String getIdPackage();
- public java.lang.String getIdType();
- public int getImportantForAutofill();
- public int getInputType();
- public int getLeft();
- public android.os.LocaleList getLocaleList();
- public int getMaxTextEms();
- public int getMaxTextLength();
- public int getMinTextEms();
- public int getScrollX();
- public int getScrollY();
- public java.lang.CharSequence getText();
- public int getTextBackgroundColor();
- public int getTextColor();
- public java.lang.String getTextIdEntry();
- public int[] getTextLineBaselines();
- public int[] getTextLineCharOffsets();
- public int getTextSelectionEnd();
- public int getTextSelectionStart();
- public float getTextSize();
- public int getTextStyle();
- public int getTop();
- public android.graphics.Matrix getTransformation();
- public int getVisibility();
- public java.lang.String getWebDomain();
- public java.lang.String getWebScheme();
- public int getWidth();
- public boolean isAccessibilityFocused();
- public boolean isActivated();
- public boolean isAssistBlocked();
- public boolean isCheckable();
- public boolean isChecked();
- public boolean isClickable();
- public boolean isContextClickable();
- public boolean isEnabled();
- public boolean isFocusable();
- public boolean isFocused();
- public boolean isLongClickable();
- public boolean isOpaque();
- public boolean isSanitized();
- public boolean isSelected();
- public void setAutofillOverlay(android.app.assist.AssistStructure$AutofillOverlay);
- public void setWebDomain(java.lang.String);
- public void updateAutofillValue(android.view.autofill.AutofillValue);
-
-
- public static int TEXT_COLOR_UNDEFINED;
- public static int TEXT_STYLE_BOLD;
- public static int TEXT_STYLE_ITALIC;
- public static int TEXT_STYLE_STRIKE_THRU;
- public static int TEXT_STYLE_UNDERLINE;
-}
-
--keep class android.app.assist.AssistStructure$WindowNode {
-
- public int getDisplayId();
- public int getHeight();
- public int getLeft();
- public android.app.assist.AssistStructure$ViewNode getRootViewNode();
- public java.lang.CharSequence getTitle();
- public int getTop();
- public int getWidth();
-
-
-}
-
--keep class android.app.servertransaction.ActivityLifecycleItem {
- <init>();
-
- public abstract int getTargetState();
- public void recycle();
-
-
- public static int ON_CREATE;
- public static int ON_DESTROY;
- public static int ON_PAUSE;
- public static int ON_RESTART;
- public static int ON_RESUME;
- public static int ON_START;
- public static int ON_STOP;
- public static int PRE_ON_CREATE;
- public static int UNDEFINED;
-}
-
--keep class android.app.servertransaction.ClientTransaction {
-
- public void addCallback(android.app.servertransaction.ClientTransactionItem);
- public int describeContents();
- public boolean equals(java.lang.Object);
- public android.os.IBinder getActivityToken();
- public android.app.IApplicationThread getClient();
- public android.app.servertransaction.ActivityLifecycleItem getLifecycleStateRequest();
- public int hashCode();
- public static android.app.servertransaction.ClientTransaction obtain(android.app.IApplicationThread, android.os.IBinder);
- public void preExecute(android.app.ClientTransactionHandler);
- public void recycle();
- public void schedule();
- public void setLifecycleStateRequest(android.app.servertransaction.ActivityLifecycleItem);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.app.servertransaction.ClientTransactionItem {
- <init>();
-
- public int describeContents();
- public int getPostExecutionState();
-
-
-}
-
--keep class android.app.servertransaction.PendingTransactionActions {
- <init>();
-
- public void clear();
- public android.os.Bundle getOldState();
- public android.app.servertransaction.PendingTransactionActions$StopInfo getStopInfo();
- public void setCallOnPostCreate(boolean);
- public void setOldState(android.os.Bundle);
- public void setReportRelaunchToWindowManager(boolean);
- public void setRestoreInstanceState(boolean);
- public void setStopInfo(android.app.servertransaction.PendingTransactionActions$StopInfo);
- public boolean shouldCallOnPostCreate();
- public boolean shouldReportRelaunchToWindowManager();
- public boolean shouldRestoreInstanceState();
-
-
-}
-
--keep class android.app.servertransaction.PendingTransactionActions$StopInfo {
- <init>();
-
- public void run();
- public void setActivity(android.app.ActivityThread$ActivityClientRecord);
- public void setDescription(java.lang.CharSequence);
- public void setPersistentState(android.os.PersistableBundle);
- public void setState(android.os.Bundle);
-
-
-}
-
--keep class android.content.BroadcastReceiver {
- <init>();
-
- public void abortBroadcast();
- public void clearAbortBroadcast();
- public boolean getAbortBroadcast();
- public boolean getDebugUnregister();
- public android.content.BroadcastReceiver$PendingResult getPendingResult();
- public int getResultCode();
- public java.lang.String getResultData();
- public android.os.Bundle getResultExtras(boolean);
- public int getSendingUserId();
- public android.content.BroadcastReceiver$PendingResult goAsync();
- public boolean isInitialStickyBroadcast();
- public boolean isOrderedBroadcast();
- public abstract void onReceive(android.content.Context, android.content.Intent);
- public android.os.IBinder peekService(android.content.Context, android.content.Intent);
- public void setDebugUnregister(boolean);
- public void setOrderedHint(boolean);
- public void setPendingResult(android.content.BroadcastReceiver$PendingResult);
- public void setResult(int, java.lang.String, android.os.Bundle);
- public void setResultCode(int);
- public void setResultData(java.lang.String);
- public void setResultExtras(android.os.Bundle);
-
-
-}
-
--keep class android.content.BroadcastReceiver$PendingResult {
- <init>(int, java.lang.String, android.os.Bundle, int, boolean, boolean, android.os.IBinder, int, int);
-
- public void abortBroadcast();
- public void clearAbortBroadcast();
- public void finish();
- public boolean getAbortBroadcast();
- public int getResultCode();
- public java.lang.String getResultData();
- public android.os.Bundle getResultExtras(boolean);
- public int getSendingUserId();
- public void sendFinished(android.app.IActivityManager);
- public void setExtrasClassLoader(java.lang.ClassLoader);
- public void setResult(int, java.lang.String, android.os.Bundle);
- public void setResultCode(int);
- public void setResultData(java.lang.String);
- public void setResultExtras(android.os.Bundle);
-
-
- public static int TYPE_COMPONENT;
- public static int TYPE_REGISTERED;
- public static int TYPE_UNREGISTERED;
-}
-
--keep class android.content.ClipData {
- <init>(java.lang.CharSequence, java.lang.String[], android.content.ClipData$Item);
- <init>(android.content.ClipDescription, android.content.ClipData$Item);
- <init>(android.content.ClipDescription, java.util.ArrayList);
- <init>(android.content.ClipData);
-
- public void addItem(android.content.ClipData$Item);
- public void addItem(android.content.ClipData$Item, android.content.ContentResolver);
- public void addItem(android.content.ContentResolver, android.content.ClipData$Item);
- public void collectUris(java.util.List);
- public int describeContents();
- public void fixUris(int);
- public void fixUrisLight(int);
- public android.content.ClipDescription getDescription();
- public android.graphics.Bitmap getIcon();
- public android.content.ClipData$Item getItemAt(int);
- public int getItemCount();
- public static android.content.ClipData newHtmlText(java.lang.CharSequence, java.lang.CharSequence, java.lang.String);
- public static android.content.ClipData newIntent(java.lang.CharSequence, android.content.Intent);
- public static android.content.ClipData newPlainText(java.lang.CharSequence, java.lang.CharSequence);
- public static android.content.ClipData newRawUri(java.lang.CharSequence, android.net.Uri);
- public static android.content.ClipData newUri(android.content.ContentResolver, java.lang.CharSequence, android.net.Uri);
- public void prepareToEnterProcess();
- public void prepareToLeaveProcess(boolean);
- public void prepareToLeaveProcess(boolean, int);
- public void setItemAt(int, android.content.ClipData$Item);
- public void toShortString(java.lang.StringBuilder);
- public void toShortStringShortItems(java.lang.StringBuilder, boolean);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.content.ClipData$Item {
- <init>(android.content.ClipData$Item);
- <init>(java.lang.CharSequence);
- <init>(java.lang.CharSequence, java.lang.String);
- <init>(android.content.Intent);
- <init>(android.net.Uri);
- <init>(java.lang.CharSequence, android.content.Intent, android.net.Uri);
- <init>(java.lang.CharSequence, java.lang.String, android.content.Intent, android.net.Uri);
-
- public java.lang.String coerceToHtmlText(android.content.Context);
- public java.lang.CharSequence coerceToStyledText(android.content.Context);
- public java.lang.CharSequence coerceToText(android.content.Context);
- public java.lang.String getHtmlText();
- public android.content.Intent getIntent();
- public java.lang.CharSequence getText();
- public android.net.Uri getUri();
- public void toShortString(java.lang.StringBuilder);
- public void toShortSummaryString(java.lang.StringBuilder);
- public java.lang.String toString();
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
-}
-
--keep class android.content.ClipDescription {
- <init>(java.lang.CharSequence, java.lang.String[]);
- <init>(android.content.ClipDescription);
-
- public static boolean compareMimeTypes(java.lang.String, java.lang.String);
- public int describeContents();
- public java.lang.String[] filterMimeTypes(java.lang.String);
- public android.os.PersistableBundle getExtras();
- public java.lang.CharSequence getLabel();
- public java.lang.String getMimeType(int);
- public int getMimeTypeCount();
- public long getTimestamp();
- public boolean hasMimeType(java.lang.String);
- public void setExtras(android.os.PersistableBundle);
- public void setTimestamp(long);
- public boolean toShortString(java.lang.StringBuilder);
- public boolean toShortStringTypesOnly(java.lang.StringBuilder);
- public java.lang.String toString();
- public void validate();
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static java.lang.String EXTRA_TARGET_COMPONENT_NAME;
- public static java.lang.String EXTRA_USER_SERIAL_NUMBER;
- public static java.lang.String MIMETYPE_TEXT_HTML;
- public static java.lang.String MIMETYPE_TEXT_INTENT;
- public static java.lang.String MIMETYPE_TEXT_PLAIN;
- public static java.lang.String MIMETYPE_TEXT_URILIST;
-}
-
--keep class android.content.ComponentCallbacks {
-
- public abstract void onConfigurationChanged(android.content.res.Configuration);
- public abstract void onLowMemory();
-
-
-}
-
--keep class android.content.ComponentName {
- <init>(java.lang.String, java.lang.String);
- <init>(android.content.Context, java.lang.String);
- <init>(android.content.Context, java.lang.Class);
- <init>(android.os.Parcel);
-
- public void appendShortString(java.lang.StringBuilder);
- public static void appendShortString(java.lang.StringBuilder, java.lang.String, java.lang.String);
- public android.content.ComponentName clone();
- public java.lang.Object clone();
- public int compareTo(android.content.ComponentName);
- public int compareTo(java.lang.Object);
- public static android.content.ComponentName createRelative(java.lang.String, java.lang.String);
- public static android.content.ComponentName createRelative(android.content.Context, java.lang.String);
- public int describeContents();
- public boolean equals(java.lang.Object);
- public java.lang.String flattenToShortString();
- public java.lang.String flattenToString();
- public java.lang.String getClassName();
- public java.lang.String getPackageName();
- public java.lang.String getShortClassName();
- public int hashCode();
- public static void printShortString(java.io.PrintWriter, java.lang.String, java.lang.String);
- public static android.content.ComponentName readFromParcel(android.os.Parcel);
- public java.lang.String toShortString();
- public java.lang.String toString();
- public static android.content.ComponentName unflattenFromString(java.lang.String);
- public void writeToParcel(android.os.Parcel, int);
- public static void writeToParcel(android.content.ComponentName, android.os.Parcel);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.content.ContentProvider {
- <init>();
- <init>(android.content.Context, java.lang.String, java.lang.String, android.content.pm.PathPermission[]);
-
- public android.content.ContentProviderResult[] applyBatch(java.util.ArrayList);
- public void attachInfo(android.content.Context, android.content.pm.ProviderInfo);
- public void attachInfoForTesting(android.content.Context, android.content.pm.ProviderInfo);
- public int bulkInsert(android.net.Uri, android.content.ContentValues[]);
- public android.os.Bundle call(java.lang.String, java.lang.String, android.os.Bundle);
- public android.net.Uri canonicalize(android.net.Uri);
- public static android.content.ContentProvider coerceToLocalContentProvider(android.content.IContentProvider);
- public abstract int delete(android.net.Uri, java.lang.String, java.lang.String[]);
- public void dump(java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
- protected int enforceReadPermissionInner(android.net.Uri, java.lang.String, android.os.IBinder);
- protected int enforceWritePermissionInner(android.net.Uri, java.lang.String, android.os.IBinder);
- public android.app.AppOpsManager getAppOpsManager();
- public static java.lang.String getAuthorityWithoutUserId(java.lang.String);
- public java.lang.String getCallingPackage();
- public android.content.Context getContext();
- public android.content.IContentProvider getIContentProvider();
- public android.content.pm.PathPermission[] getPathPermissions();
- public java.lang.String getReadPermission();
- public java.lang.String[] getStreamTypes(android.net.Uri, java.lang.String);
- public abstract java.lang.String getType(android.net.Uri);
- public static android.net.Uri getUriWithoutUserId(android.net.Uri);
- public static int getUserIdFromAuthority(java.lang.String, int);
- public static int getUserIdFromAuthority(java.lang.String);
- public static int getUserIdFromUri(android.net.Uri, int);
- public static int getUserIdFromUri(android.net.Uri);
- public java.lang.String getWritePermission();
- public abstract android.net.Uri insert(android.net.Uri, android.content.ContentValues);
- protected boolean isTemporary();
- protected boolean matchesOurAuthorities(java.lang.String);
- public static android.net.Uri maybeAddUserId(android.net.Uri, int);
- public void onConfigurationChanged(android.content.res.Configuration);
- public abstract boolean onCreate();
- public void onLowMemory();
- public void onTrimMemory(int);
- public android.content.res.AssetFileDescriptor openAssetFile(android.net.Uri, java.lang.String);
- public android.content.res.AssetFileDescriptor openAssetFile(android.net.Uri, java.lang.String, android.os.CancellationSignal);
- public android.os.ParcelFileDescriptor openFile(android.net.Uri, java.lang.String);
- public android.os.ParcelFileDescriptor openFile(android.net.Uri, java.lang.String, android.os.CancellationSignal);
- protected android.os.ParcelFileDescriptor openFileHelper(android.net.Uri, java.lang.String);
- public android.os.ParcelFileDescriptor openPipeHelper(android.net.Uri, java.lang.String, android.os.Bundle, java.lang.Object, android.content.ContentProvider$PipeDataWriter);
- public android.content.res.AssetFileDescriptor openTypedAssetFile(android.net.Uri, java.lang.String, android.os.Bundle);
- public android.content.res.AssetFileDescriptor openTypedAssetFile(android.net.Uri, java.lang.String, android.os.Bundle, android.os.CancellationSignal);
- public abstract android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String);
- public android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, android.os.CancellationSignal);
- public android.database.Cursor query(android.net.Uri, java.lang.String[], android.os.Bundle, android.os.CancellationSignal);
- public boolean refresh(android.net.Uri, android.os.Bundle, android.os.CancellationSignal);
- public android.net.Uri rejectInsert(android.net.Uri, android.content.ContentValues);
- public void setAppOps(int, int);
- protected void setAuthorities(java.lang.String);
- protected void setPathPermissions(android.content.pm.PathPermission[]);
- protected void setReadPermission(java.lang.String);
- protected void setWritePermission(java.lang.String);
- public void shutdown();
- public android.net.Uri uncanonicalize(android.net.Uri);
- public abstract int update(android.net.Uri, android.content.ContentValues, java.lang.String, java.lang.String[]);
- public static boolean uriHasUserId(android.net.Uri);
-
-
-}
-
--keep class android.content.ContentProvider$PipeDataWriter {
-
- public abstract void writeDataToPipe(android.os.ParcelFileDescriptor, android.net.Uri, java.lang.String, android.os.Bundle, java.lang.Object);
-
-
-}
-
--keep class android.content.ContentProviderClient {
- <init>(android.content.ContentResolver, android.content.IContentProvider, boolean);
-
- public android.content.ContentProviderResult[] applyBatch(java.util.ArrayList);
- public int bulkInsert(android.net.Uri, android.content.ContentValues[]);
- public android.os.Bundle call(java.lang.String, java.lang.String, android.os.Bundle);
- public android.net.Uri canonicalize(android.net.Uri);
- public void close();
- public int delete(android.net.Uri, java.lang.String, java.lang.String[]);
- protected void finalize();
- public android.content.ContentProvider getLocalContentProvider();
- public java.lang.String[] getStreamTypes(android.net.Uri, java.lang.String);
- public java.lang.String getType(android.net.Uri);
- public android.net.Uri insert(android.net.Uri, android.content.ContentValues);
- public android.content.res.AssetFileDescriptor openAssetFile(android.net.Uri, java.lang.String);
- public android.content.res.AssetFileDescriptor openAssetFile(android.net.Uri, java.lang.String, android.os.CancellationSignal);
- public android.os.ParcelFileDescriptor openFile(android.net.Uri, java.lang.String);
- public android.os.ParcelFileDescriptor openFile(android.net.Uri, java.lang.String, android.os.CancellationSignal);
- public android.content.res.AssetFileDescriptor openTypedAssetFileDescriptor(android.net.Uri, java.lang.String, android.os.Bundle);
- public android.content.res.AssetFileDescriptor openTypedAssetFileDescriptor(android.net.Uri, java.lang.String, android.os.Bundle, android.os.CancellationSignal);
- public android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String);
- public android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, android.os.CancellationSignal);
- public android.database.Cursor query(android.net.Uri, java.lang.String[], android.os.Bundle, android.os.CancellationSignal);
- public boolean refresh(android.net.Uri, android.os.Bundle, android.os.CancellationSignal);
- public boolean release();
- public static void releaseQuietly(android.content.ContentProviderClient);
- public void setDetectNotResponding(long);
- public android.net.Uri uncanonicalize(android.net.Uri);
- public int update(android.net.Uri, android.content.ContentValues, java.lang.String, java.lang.String[]);
-
-
-}
-
--keep class android.content.ContentProviderOperation {
- <init>(android.content.ContentProviderOperation, boolean);
-
- public android.content.ContentProviderResult apply(android.content.ContentProvider, android.content.ContentProviderResult[], int);
- public int describeContents();
- public int getType();
- public android.net.Uri getUri();
- public android.content.ContentProviderOperation getWithoutUserIdInUri();
- public boolean isAssertQuery();
- public boolean isDelete();
- public boolean isInsert();
- public boolean isReadOperation();
- public boolean isUpdate();
- public boolean isWriteOperation();
- public boolean isYieldAllowed();
- public static android.content.ContentProviderOperation$Builder newAssertQuery(android.net.Uri);
- public static android.content.ContentProviderOperation$Builder newDelete(android.net.Uri);
- public static android.content.ContentProviderOperation$Builder newInsert(android.net.Uri);
- public static android.content.ContentProviderOperation$Builder newUpdate(android.net.Uri);
- public java.lang.String[] resolveSelectionArgsBackReferences(android.content.ContentProviderResult[], int);
- public android.content.ContentValues resolveValueBackReferences(android.content.ContentProviderResult[], int);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int TYPE_ASSERT;
- public static int TYPE_DELETE;
- public static int TYPE_INSERT;
- public static int TYPE_UPDATE;
-}
-
--keep class android.content.ContentProviderOperation$Builder {
-
- public android.content.ContentProviderOperation build();
- public android.content.ContentProviderOperation$Builder withExpectedCount(int);
- public android.content.ContentProviderOperation$Builder withSelection(java.lang.String, java.lang.String[]);
- public android.content.ContentProviderOperation$Builder withSelectionBackReference(int, int);
- public android.content.ContentProviderOperation$Builder withValue(java.lang.String, java.lang.Object);
- public android.content.ContentProviderOperation$Builder withValueBackReference(java.lang.String, int);
- public android.content.ContentProviderOperation$Builder withValueBackReferences(android.content.ContentValues);
- public android.content.ContentProviderOperation$Builder withValues(android.content.ContentValues);
- public android.content.ContentProviderOperation$Builder withYieldAllowed(boolean);
-
-
-}
-
--keep class android.content.ContentProviderResult {
- <init>(android.net.Uri);
- <init>(int);
- <init>(android.os.Parcel);
- <init>(android.content.ContentProviderResult, int);
-
- public int describeContents();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public java.lang.Integer count;
- public android.net.Uri uri;
-}
-
--keep class android.content.ContentResolver {
- <init>(android.content.Context);
-
- public android.content.ContentProviderClient acquireContentProviderClient(android.net.Uri);
- public android.content.ContentProviderClient acquireContentProviderClient(java.lang.String);
- protected android.content.IContentProvider acquireExistingProvider(android.content.Context, java.lang.String);
- public android.content.IContentProvider acquireExistingProvider(android.net.Uri);
- protected abstract android.content.IContentProvider acquireProvider(android.content.Context, java.lang.String);
- public android.content.IContentProvider acquireProvider(android.net.Uri);
- public android.content.IContentProvider acquireProvider(java.lang.String);
- public android.content.ContentProviderClient acquireUnstableContentProviderClient(android.net.Uri);
- public android.content.ContentProviderClient acquireUnstableContentProviderClient(java.lang.String);
- protected abstract android.content.IContentProvider acquireUnstableProvider(android.content.Context, java.lang.String);
- public android.content.IContentProvider acquireUnstableProvider(android.net.Uri);
- public android.content.IContentProvider acquireUnstableProvider(java.lang.String);
- public static void addPeriodicSync(android.accounts.Account, java.lang.String, android.os.Bundle, long);
- public static java.lang.Object addStatusChangeListener(int, android.content.SyncStatusObserver);
- public void appNotRespondingViaProvider(android.content.IContentProvider);
- public android.content.ContentProviderResult[] applyBatch(java.lang.String, java.util.ArrayList);
- public int bulkInsert(android.net.Uri, android.content.ContentValues[]);
- public android.os.Bundle call(android.net.Uri, java.lang.String, java.lang.String, android.os.Bundle);
- public void cancelSync(android.net.Uri);
- public static void cancelSync(android.accounts.Account, java.lang.String);
- public static void cancelSync(android.content.SyncRequest);
- public static void cancelSyncAsUser(android.accounts.Account, java.lang.String, int);
- public android.net.Uri canonicalize(android.net.Uri);
- public static android.os.Bundle createSqlQueryBundle(java.lang.String, java.lang.String[], java.lang.String);
- public static java.lang.String createSqlSortClause(android.os.Bundle);
- public int delete(android.net.Uri, java.lang.String, java.lang.String[]);
- public android.os.Bundle getCache(android.net.Uri);
- public static android.content.IContentService getContentService();
- public static android.content.SyncInfo getCurrentSync();
- public static java.util.List getCurrentSyncs();
- public static java.util.List getCurrentSyncsAsUser(int);
- public static int getIsSyncable(android.accounts.Account, java.lang.String);
- public static int getIsSyncableAsUser(android.accounts.Account, java.lang.String, int);
- public static boolean getMasterSyncAutomatically();
- public static boolean getMasterSyncAutomaticallyAsUser(int);
- public java.util.List getOutgoingPersistedUriPermissions();
- public java.lang.String getPackageName();
- public static java.util.List getPeriodicSyncs(android.accounts.Account, java.lang.String);
- public java.util.List getPersistedUriPermissions();
- public android.content.ContentResolver$OpenResourceIdResult getResourceId(android.net.Uri);
- public java.lang.String[] getStreamTypes(android.net.Uri, java.lang.String);
- public static java.lang.String[] getSyncAdapterPackagesForAuthorityAsUser(java.lang.String, int);
- public static android.content.SyncAdapterType[] getSyncAdapterTypes();
- public static android.content.SyncAdapterType[] getSyncAdapterTypesAsUser(int);
- public static boolean getSyncAutomatically(android.accounts.Account, java.lang.String);
- public static boolean getSyncAutomaticallyAsUser(android.accounts.Account, java.lang.String, int);
- public static android.content.SyncStatusInfo getSyncStatus(android.accounts.Account, java.lang.String);
- public static android.content.SyncStatusInfo getSyncStatusAsUser(android.accounts.Account, java.lang.String, int);
- public int getTargetSdkVersion();
- public java.lang.String getType(android.net.Uri);
- public android.graphics.drawable.Drawable getTypeDrawable(java.lang.String);
- public int getUserId();
- public android.net.Uri insert(android.net.Uri, android.content.ContentValues);
- public static boolean invalidPeriodicExtras(android.os.Bundle);
- public static boolean isSyncActive(android.accounts.Account, java.lang.String);
- public static boolean isSyncPending(android.accounts.Account, java.lang.String);
- public static boolean isSyncPendingAsUser(android.accounts.Account, java.lang.String, int);
- public void notifyChange(android.net.Uri, android.database.ContentObserver);
- public void notifyChange(android.net.Uri, android.database.ContentObserver, boolean);
- public void notifyChange(android.net.Uri, android.database.ContentObserver, int);
- public void notifyChange(android.net.Uri, android.database.ContentObserver, boolean, int);
- public void notifyChange(android.net.Uri, android.database.ContentObserver, int, int);
- public android.content.res.AssetFileDescriptor openAssetFileDescriptor(android.net.Uri, java.lang.String);
- public android.content.res.AssetFileDescriptor openAssetFileDescriptor(android.net.Uri, java.lang.String, android.os.CancellationSignal);
- public android.os.ParcelFileDescriptor openFileDescriptor(android.net.Uri, java.lang.String);
- public android.os.ParcelFileDescriptor openFileDescriptor(android.net.Uri, java.lang.String, android.os.CancellationSignal);
- public java.io.InputStream openInputStream(android.net.Uri);
- public java.io.OutputStream openOutputStream(android.net.Uri);
- public java.io.OutputStream openOutputStream(android.net.Uri, java.lang.String);
- public android.content.res.AssetFileDescriptor openTypedAssetFileDescriptor(android.net.Uri, java.lang.String, android.os.Bundle);
- public android.content.res.AssetFileDescriptor openTypedAssetFileDescriptor(android.net.Uri, java.lang.String, android.os.Bundle, android.os.CancellationSignal);
- public void putCache(android.net.Uri, android.os.Bundle);
- public android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String);
- public android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, android.os.CancellationSignal);
- public android.database.Cursor query(android.net.Uri, java.lang.String[], android.os.Bundle, android.os.CancellationSignal);
- public boolean refresh(android.net.Uri, android.os.Bundle, android.os.CancellationSignal);
- public void registerContentObserver(android.net.Uri, boolean, android.database.ContentObserver);
- public void registerContentObserver(android.net.Uri, boolean, android.database.ContentObserver, int);
- public void releasePersistableUriPermission(android.net.Uri, int);
- public abstract boolean releaseProvider(android.content.IContentProvider);
- public abstract boolean releaseUnstableProvider(android.content.IContentProvider);
- public static void removePeriodicSync(android.accounts.Account, java.lang.String, android.os.Bundle);
- public static void removeStatusChangeListener(java.lang.Object);
- public static void requestSync(android.accounts.Account, java.lang.String, android.os.Bundle);
- public static void requestSync(android.content.SyncRequest);
- public static void requestSyncAsUser(android.accounts.Account, java.lang.String, int, android.os.Bundle);
- public int resolveUserId(android.net.Uri);
- public static void setIsSyncable(android.accounts.Account, java.lang.String, int);
- public static void setMasterSyncAutomatically(boolean);
- public static void setMasterSyncAutomaticallyAsUser(boolean, int);
- public static void setSyncAutomatically(android.accounts.Account, java.lang.String, boolean);
- public static void setSyncAutomaticallyAsUser(android.accounts.Account, java.lang.String, boolean, int);
- public void startSync(android.net.Uri, android.os.Bundle);
- public static int syncErrorStringToInt(java.lang.String);
- public static java.lang.String syncErrorToString(int);
- public void takePersistableUriPermission(android.net.Uri, int);
- public void takePersistableUriPermission(java.lang.String, android.net.Uri, int);
- public android.net.Uri uncanonicalize(android.net.Uri);
- public void unregisterContentObserver(android.database.ContentObserver);
- public abstract void unstableProviderDied(android.content.IContentProvider);
- public int update(android.net.Uri, android.content.ContentValues, java.lang.String, java.lang.String[]);
- public static void validateSyncExtrasBundle(android.os.Bundle);
-
-
- public static android.content.Intent ACTION_SYNC_CONN_STATUS_CHANGED;
- public static java.lang.String ANY_CURSOR_ITEM_TYPE;
- public static java.lang.String CONTENT_SERVICE_NAME;
- public static java.lang.String CURSOR_DIR_BASE_TYPE;
- public static java.lang.String CURSOR_ITEM_BASE_TYPE;
- public static java.lang.String EXTRA_HONORED_ARGS;
- public static java.lang.String EXTRA_REFRESH_SUPPORTED;
- public static java.lang.String EXTRA_SIZE;
- public static java.lang.String EXTRA_TOTAL_COUNT;
- public static int NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS;
- public static int NOTIFY_SYNC_TO_NETWORK;
- public static java.lang.String QUERY_ARG_LIMIT;
- public static java.lang.String QUERY_ARG_OFFSET;
- public static java.lang.String QUERY_ARG_SORT_COLLATION;
- public static java.lang.String QUERY_ARG_SORT_COLUMNS;
- public static java.lang.String QUERY_ARG_SORT_DIRECTION;
- public static java.lang.String QUERY_ARG_SQL_SELECTION;
- public static java.lang.String QUERY_ARG_SQL_SELECTION_ARGS;
- public static java.lang.String QUERY_ARG_SQL_SORT_ORDER;
- public static int QUERY_SORT_DIRECTION_ASCENDING;
- public static int QUERY_SORT_DIRECTION_DESCENDING;
- public static java.lang.String SCHEME_ANDROID_RESOURCE;
- public static java.lang.String SCHEME_CONTENT;
- public static java.lang.String SCHEME_FILE;
- public static int SYNC_ERROR_AUTHENTICATION;
- public static int SYNC_ERROR_CONFLICT;
- public static int SYNC_ERROR_INTERNAL;
- public static int SYNC_ERROR_IO;
- public static int SYNC_ERROR_PARSE;
- public static int SYNC_ERROR_SYNC_ALREADY_IN_PROGRESS;
- public static int SYNC_ERROR_TOO_MANY_DELETIONS;
- public static int SYNC_ERROR_TOO_MANY_RETRIES;
- public static int SYNC_EXEMPTION_NONE;
- public static int SYNC_EXEMPTION_PROMOTE_BUCKET;
- public static int SYNC_EXEMPTION_PROMOTE_BUCKET_WITH_TEMP;
- public static java.lang.String SYNC_EXTRAS_ACCOUNT;
- public static java.lang.String SYNC_EXTRAS_DISALLOW_METERED;
- public static java.lang.String SYNC_EXTRAS_DISCARD_LOCAL_DELETIONS;
- public static java.lang.String SYNC_EXTRAS_DO_NOT_RETRY;
- public static java.lang.String SYNC_EXTRAS_EXPECTED_DOWNLOAD;
- public static java.lang.String SYNC_EXTRAS_EXPECTED_UPLOAD;
- public static java.lang.String SYNC_EXTRAS_EXPEDITED;
- public static java.lang.String SYNC_EXTRAS_FORCE;
- public static java.lang.String SYNC_EXTRAS_IGNORE_BACKOFF;
- public static java.lang.String SYNC_EXTRAS_IGNORE_SETTINGS;
- public static java.lang.String SYNC_EXTRAS_INITIALIZE;
- public static java.lang.String SYNC_EXTRAS_MANUAL;
- public static java.lang.String SYNC_EXTRAS_OVERRIDE_TOO_MANY_DELETIONS;
- public static java.lang.String SYNC_EXTRAS_PRIORITY;
- public static java.lang.String SYNC_EXTRAS_REQUIRE_CHARGING;
- public static java.lang.String SYNC_EXTRAS_UPLOAD;
- public static int SYNC_OBSERVER_TYPE_ACTIVE;
- public static int SYNC_OBSERVER_TYPE_ALL;
- public static int SYNC_OBSERVER_TYPE_PENDING;
- public static int SYNC_OBSERVER_TYPE_SETTINGS;
- public static int SYNC_OBSERVER_TYPE_STATUS;
- public static java.lang.String SYNC_VIRTUAL_EXTRAS_EXEMPTION_FLAG;
-}
-
--keep class android.content.ContentResolver$OpenResourceIdResult {
- <init>();
-
-
-
- public int id;
- public android.content.res.Resources r;
-}
-
--keep class android.content.ContentValues {
- <init>();
- <init>(int);
- <init>(android.content.ContentValues);
-
- public void clear();
- public boolean containsKey(java.lang.String);
- public int describeContents();
- public boolean equals(java.lang.Object);
- public java.lang.Object get(java.lang.String);
- public java.lang.Boolean getAsBoolean(java.lang.String);
- public java.lang.Byte getAsByte(java.lang.String);
- public byte[] getAsByteArray(java.lang.String);
- public java.lang.Double getAsDouble(java.lang.String);
- public java.lang.Float getAsFloat(java.lang.String);
- public java.lang.Integer getAsInteger(java.lang.String);
- public java.lang.Long getAsLong(java.lang.String);
- public java.lang.Short getAsShort(java.lang.String);
- public java.lang.String getAsString(java.lang.String);
- public java.util.ArrayList getStringArrayList(java.lang.String);
- public int hashCode();
- public boolean isEmpty();
- public java.util.Set keySet();
- public void put(java.lang.String, java.lang.String);
- public void put(java.lang.String, java.lang.Byte);
- public void put(java.lang.String, java.lang.Short);
- public void put(java.lang.String, java.lang.Integer);
- public void put(java.lang.String, java.lang.Long);
- public void put(java.lang.String, java.lang.Float);
- public void put(java.lang.String, java.lang.Double);
- public void put(java.lang.String, java.lang.Boolean);
- public void put(java.lang.String, byte[]);
- public void putAll(android.content.ContentValues);
- public void putNull(java.lang.String);
- public void putStringArrayList(java.lang.String, java.util.ArrayList);
- public void remove(java.lang.String);
- public int size();
- public java.lang.String toString();
- public java.util.Set valueSet();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static java.lang.String TAG;
-}
-
--keep class android.content.Context {
- <init>();
-
- public void assertRuntimeOverlayThemable();
- public abstract boolean bindService(android.content.Intent, android.content.ServiceConnection, int);
- public boolean bindServiceAsUser(android.content.Intent, android.content.ServiceConnection, int, android.os.UserHandle);
- public boolean bindServiceAsUser(android.content.Intent, android.content.ServiceConnection, int, android.os.Handler, android.os.UserHandle);
- public abstract boolean canLoadUnsafeResources();
- public boolean canStartActivityForResult();
- public abstract int checkCallingOrSelfPermission(java.lang.String);
- public abstract int checkCallingOrSelfUriPermission(android.net.Uri, int);
- public abstract int checkCallingPermission(java.lang.String);
- public abstract int checkCallingUriPermission(android.net.Uri, int);
- public abstract int checkPermission(java.lang.String, int, int);
- public abstract int checkPermission(java.lang.String, int, int, android.os.IBinder);
- public abstract int checkSelfPermission(java.lang.String);
- public abstract int checkUriPermission(android.net.Uri, int, int, int);
- public abstract int checkUriPermission(android.net.Uri, int, int, int, android.os.IBinder);
- public abstract int checkUriPermission(android.net.Uri, java.lang.String, java.lang.String, int, int, int);
- public abstract void clearWallpaper();
- public abstract android.content.Context createApplicationContext(android.content.pm.ApplicationInfo, int);
- public abstract android.content.Context createConfigurationContext(android.content.res.Configuration);
- public abstract android.content.Context createContextForSplit(java.lang.String);
- public abstract android.content.Context createCredentialProtectedStorageContext();
- public abstract android.content.Context createDeviceProtectedStorageContext();
- public abstract android.content.Context createDisplayContext(android.view.Display);
- public abstract android.content.Context createPackageContext(java.lang.String, int);
- public android.content.Context createPackageContextAsUser(java.lang.String, int, android.os.UserHandle);
- public abstract java.lang.String[] databaseList();
- public abstract boolean deleteDatabase(java.lang.String);
- public abstract boolean deleteFile(java.lang.String);
- public abstract boolean deleteSharedPreferences(java.lang.String);
- public abstract void enforceCallingOrSelfPermission(java.lang.String, java.lang.String);
- public abstract void enforceCallingOrSelfUriPermission(android.net.Uri, int, java.lang.String);
- public abstract void enforceCallingPermission(java.lang.String, java.lang.String);
- public abstract void enforceCallingUriPermission(android.net.Uri, int, java.lang.String);
- public abstract void enforcePermission(java.lang.String, int, int, java.lang.String);
- public abstract void enforceUriPermission(android.net.Uri, int, int, int, java.lang.String);
- public abstract void enforceUriPermission(android.net.Uri, java.lang.String, java.lang.String, int, int, int, java.lang.String);
- public abstract java.lang.String[] fileList();
- public android.os.IBinder getActivityToken();
- public abstract android.content.Context getApplicationContext();
- public abstract android.content.pm.ApplicationInfo getApplicationInfo();
- public abstract android.content.res.AssetManager getAssets();
- public android.view.autofill.AutofillManager$AutofillClient getAutofillClient();
- public abstract java.lang.String getBasePackageName();
- public abstract java.io.File getCacheDir();
- public abstract java.lang.ClassLoader getClassLoader();
- public abstract java.io.File getCodeCacheDir();
- public int getColor(int);
- public android.content.res.ColorStateList getColorStateList(int);
- public abstract android.content.ContentResolver getContentResolver();
- public abstract java.io.File getDataDir();
- public abstract java.io.File getDatabasePath(java.lang.String);
- public abstract java.io.File getDir(java.lang.String, int);
- public abstract android.view.Display getDisplay();
- public abstract android.view.DisplayAdjustments getDisplayAdjustments(int);
- public android.graphics.drawable.Drawable getDrawable(int);
- public abstract java.io.File getExternalCacheDir();
- public abstract java.io.File[] getExternalCacheDirs();
- public abstract java.io.File getExternalFilesDir(java.lang.String);
- public abstract java.io.File[] getExternalFilesDirs(java.lang.String);
- public abstract java.io.File[] getExternalMediaDirs();
- public abstract java.io.File getFileStreamPath(java.lang.String);
- public abstract java.io.File getFilesDir();
- public android.app.IApplicationThread getIApplicationThread();
- public java.util.concurrent.Executor getMainExecutor();
- public abstract android.os.Looper getMainLooper();
- public android.os.Handler getMainThreadHandler();
- public int getNextAutofillId();
- public abstract java.io.File getNoBackupFilesDir();
- public abstract java.io.File getObbDir();
- public abstract java.io.File[] getObbDirs();
- public abstract java.lang.String getOpPackageName();
- public abstract java.lang.String getPackageCodePath();
- public abstract android.content.pm.PackageManager getPackageManager();
- public abstract java.lang.String getPackageName();
- public abstract java.lang.String getPackageResourcePath();
- public abstract java.io.File getPreloadsFileCache();
- public abstract android.content.res.Resources getResources();
- public android.app.IServiceConnection getServiceDispatcher(android.content.ServiceConnection, android.os.Handler, int);
- public abstract android.content.SharedPreferences getSharedPreferences(java.lang.String, int);
- public abstract android.content.SharedPreferences getSharedPreferences(java.io.File, int);
- public abstract java.io.File getSharedPreferencesPath(java.lang.String);
- public java.io.File getSharedPrefsFile(java.lang.String);
- public java.lang.String getString(int);
- public java.lang.String getString(int, java.lang.Object[]);
- public abstract java.lang.Object getSystemService(java.lang.String);
- public java.lang.Object getSystemService(java.lang.Class);
- public abstract java.lang.String getSystemServiceName(java.lang.Class);
- public java.lang.CharSequence getText(int);
- public abstract android.content.res.Resources$Theme getTheme();
- public int getThemeResId();
- public android.os.UserHandle getUser();
- public int getUserId();
- public abstract android.graphics.drawable.Drawable getWallpaper();
- public abstract int getWallpaperDesiredMinimumHeight();
- public abstract int getWallpaperDesiredMinimumWidth();
- public abstract void grantUriPermission(java.lang.String, android.net.Uri, int);
- public boolean isAutofillCompatibilityEnabled();
- public abstract boolean isCredentialProtectedStorage();
- public abstract boolean isDeviceProtectedStorage();
- public boolean isRestricted();
- public abstract boolean moveDatabaseFrom(android.content.Context, java.lang.String);
- public abstract boolean moveSharedPreferencesFrom(android.content.Context, java.lang.String);
- public android.content.res.TypedArray obtainStyledAttributes(int[]);
- public android.content.res.TypedArray obtainStyledAttributes(int, int[]);
- public android.content.res.TypedArray obtainStyledAttributes(android.util.AttributeSet, int[]);
- public android.content.res.TypedArray obtainStyledAttributes(android.util.AttributeSet, int[], int, int);
- public abstract java.io.FileInputStream openFileInput(java.lang.String);
- public abstract java.io.FileOutputStream openFileOutput(java.lang.String, int);
- public abstract android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase$CursorFactory);
- public abstract android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase$CursorFactory, android.database.DatabaseErrorHandler);
- public abstract android.graphics.drawable.Drawable peekWallpaper();
- public void registerComponentCallbacks(android.content.ComponentCallbacks);
- public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter);
- public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, int);
- public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler);
- public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, int);
- public abstract android.content.Intent registerReceiverAsUser(android.content.BroadcastReceiver, android.os.UserHandle, android.content.IntentFilter, java.lang.String, android.os.Handler);
- public abstract void reloadSharedPreferences();
- public abstract void removeStickyBroadcast(android.content.Intent);
- public abstract void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
- public abstract void revokeUriPermission(android.net.Uri, int);
- public abstract void revokeUriPermission(java.lang.String, android.net.Uri, int);
- public abstract void sendBroadcast(android.content.Intent);
- public abstract void sendBroadcast(android.content.Intent, java.lang.String);
- public abstract void sendBroadcast(android.content.Intent, java.lang.String, android.os.Bundle);
- public abstract void sendBroadcast(android.content.Intent, java.lang.String, int);
- public abstract void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle);
- public abstract void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String);
- public abstract void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, android.os.Bundle);
- public abstract void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, int);
- public abstract void sendBroadcastAsUserMultiplePermissions(android.content.Intent, android.os.UserHandle, java.lang.String[]);
- public abstract void sendBroadcastMultiplePermissions(android.content.Intent, java.lang.String[]);
- public abstract void sendOrderedBroadcast(android.content.Intent, java.lang.String);
- public abstract void sendOrderedBroadcast(android.content.Intent, java.lang.String, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public abstract void sendOrderedBroadcast(android.content.Intent, java.lang.String, android.os.Bundle, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public abstract void sendOrderedBroadcast(android.content.Intent, java.lang.String, int, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public abstract void sendOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public abstract void sendOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, int, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public abstract void sendOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, int, android.os.Bundle, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public abstract void sendStickyBroadcast(android.content.Intent);
- public abstract void sendStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
- public abstract void sendStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle, android.os.Bundle);
- public abstract void sendStickyOrderedBroadcast(android.content.Intent, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public abstract void sendStickyOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public void setAutofillClient(android.view.autofill.AutofillManager$AutofillClient);
- public void setAutofillCompatibilityEnabled(boolean);
- public abstract void setTheme(int);
- public abstract void setWallpaper(android.graphics.Bitmap);
- public abstract void setWallpaper(java.io.InputStream);
- public abstract void startActivities(android.content.Intent[]);
- public abstract void startActivities(android.content.Intent[], android.os.Bundle);
- public int startActivitiesAsUser(android.content.Intent[], android.os.Bundle, android.os.UserHandle);
- public abstract void startActivity(android.content.Intent);
- public abstract void startActivity(android.content.Intent, android.os.Bundle);
- public void startActivityAsUser(android.content.Intent, android.os.UserHandle);
- public void startActivityAsUser(android.content.Intent, android.os.Bundle, android.os.UserHandle);
- public void startActivityForResult(java.lang.String, android.content.Intent, int, android.os.Bundle);
- public abstract android.content.ComponentName startForegroundService(android.content.Intent);
- public abstract android.content.ComponentName startForegroundServiceAsUser(android.content.Intent, android.os.UserHandle);
- public abstract boolean startInstrumentation(android.content.ComponentName, java.lang.String, android.os.Bundle);
- public abstract void startIntentSender(android.content.IntentSender, android.content.Intent, int, int, int);
- public abstract void startIntentSender(android.content.IntentSender, android.content.Intent, int, int, int, android.os.Bundle);
- public abstract android.content.ComponentName startService(android.content.Intent);
- public abstract android.content.ComponentName startServiceAsUser(android.content.Intent, android.os.UserHandle);
- public abstract boolean stopService(android.content.Intent);
- public abstract boolean stopServiceAsUser(android.content.Intent, android.os.UserHandle);
- public abstract void unbindService(android.content.ServiceConnection);
- public void unregisterComponentCallbacks(android.content.ComponentCallbacks);
- public abstract void unregisterReceiver(android.content.BroadcastReceiver);
- public abstract void updateDisplay(int);
-
-
- public static java.lang.String ACCESSIBILITY_SERVICE;
- public static java.lang.String ACCOUNT_SERVICE;
- public static java.lang.String ACTIVITY_SERVICE;
- public static java.lang.String ALARM_SERVICE;
- public static java.lang.String APPWIDGET_SERVICE;
- public static java.lang.String APP_OPS_SERVICE;
- public static java.lang.String AUDIO_SERVICE;
- public static java.lang.String AUTOFILL_MANAGER_SERVICE;
- public static java.lang.String BACKUP_SERVICE;
- public static java.lang.String BATTERY_SERVICE;
- public static int BIND_ABOVE_CLIENT;
- public static int BIND_ADJUST_WITH_ACTIVITY;
- public static int BIND_ALLOW_INSTANT;
- public static int BIND_ALLOW_OOM_MANAGEMENT;
- public static int BIND_ALLOW_WHITELIST_MANAGEMENT;
- public static int BIND_AUTO_CREATE;
- public static int BIND_DEBUG_UNBIND;
- public static int BIND_EXTERNAL_SERVICE;
- public static int BIND_FOREGROUND_SERVICE;
- public static int BIND_FOREGROUND_SERVICE_WHILE_AWAKE;
- public static int BIND_IMPORTANT;
- public static int BIND_IMPORTANT_BACKGROUND;
- public static int BIND_NOT_FOREGROUND;
- public static int BIND_NOT_VISIBLE;
- public static int BIND_SHOWING_UI;
- public static int BIND_TREAT_LIKE_ACTIVITY;
- public static int BIND_VISIBLE;
- public static int BIND_WAIVE_PRIORITY;
- public static java.lang.String BLUETOOTH_SERVICE;
- public static java.lang.String CAMERA_SERVICE;
- public static java.lang.String CAPTIONING_SERVICE;
- public static java.lang.String CARRIER_CONFIG_SERVICE;
- public static java.lang.String CLIPBOARD_SERVICE;
- public static java.lang.String COMPANION_DEVICE_SERVICE;
- public static java.lang.String CONNECTIVITY_SERVICE;
- public static java.lang.String CONSUMER_IR_SERVICE;
- public static java.lang.String CONTEXTHUB_SERVICE;
- public static int CONTEXT_CREDENTIAL_PROTECTED_STORAGE;
- public static int CONTEXT_DEVICE_PROTECTED_STORAGE;
- public static int CONTEXT_IGNORE_SECURITY;
- public static int CONTEXT_INCLUDE_CODE;
- public static int CONTEXT_REGISTER_PACKAGE;
- public static int CONTEXT_RESTRICTED;
- public static java.lang.String COUNTRY_DETECTOR;
- public static java.lang.String CROSS_PROFILE_APPS_SERVICE;
- public static java.lang.String DEVICE_IDENTIFIERS_SERVICE;
- public static java.lang.String DEVICE_IDLE_CONTROLLER;
- public static java.lang.String DEVICE_POLICY_SERVICE;
- public static java.lang.String DISPLAY_SERVICE;
- public static java.lang.String DOWNLOAD_SERVICE;
- public static java.lang.String DROPBOX_SERVICE;
- public static java.lang.String ETHERNET_SERVICE;
- public static java.lang.String EUICC_CARD_SERVICE;
- public static java.lang.String EUICC_SERVICE;
- public static java.lang.String FINGERPRINT_SERVICE;
- public static java.lang.String GATEKEEPER_SERVICE;
- public static java.lang.String HARDWARE_PROPERTIES_SERVICE;
- public static java.lang.String HDMI_CONTROL_SERVICE;
- public static java.lang.String INCIDENT_SERVICE;
- public static java.lang.String INPUT_METHOD_SERVICE;
- public static java.lang.String INPUT_SERVICE;
- public static java.lang.String IPSEC_SERVICE;
- public static java.lang.String JOB_SCHEDULER_SERVICE;
- public static java.lang.String KEYGUARD_SERVICE;
- public static java.lang.String LAUNCHER_APPS_SERVICE;
- public static java.lang.String LAYOUT_INFLATER_SERVICE;
- public static java.lang.String LOCATION_SERVICE;
- public static java.lang.String LOWPAN_SERVICE;
- public static java.lang.String MEDIA_PROJECTION_SERVICE;
- public static java.lang.String MEDIA_ROUTER_SERVICE;
- public static java.lang.String MEDIA_SESSION_SERVICE;
- public static java.lang.String MIDI_SERVICE;
- public static int MODE_APPEND;
- public static int MODE_ENABLE_WRITE_AHEAD_LOGGING;
- public static int MODE_MULTI_PROCESS;
- public static int MODE_NO_LOCALIZED_COLLATORS;
- public static int MODE_PRIVATE;
- public static int MODE_WORLD_READABLE;
- public static int MODE_WORLD_WRITEABLE;
- public static java.lang.String NETWORKMANAGEMENT_SERVICE;
- public static java.lang.String NETWORK_POLICY_SERVICE;
- public static java.lang.String NETWORK_SCORE_SERVICE;
- public static java.lang.String NETWORK_STATS_SERVICE;
- public static java.lang.String NETWORK_WATCHLIST_SERVICE;
- public static java.lang.String NFC_SERVICE;
- public static java.lang.String NOTIFICATION_SERVICE;
- public static java.lang.String NSD_SERVICE;
- public static java.lang.String OEM_LOCK_SERVICE;
- public static java.lang.String OVERLAY_SERVICE;
- public static java.lang.String PERSISTENT_DATA_BLOCK_SERVICE;
- public static java.lang.String POWER_SERVICE;
- public static java.lang.String PRINT_SERVICE;
- public static java.lang.String RADIO_SERVICE;
- public static int RECEIVER_VISIBLE_TO_INSTANT_APPS;
- public static java.lang.String RECOVERY_SERVICE;
- public static java.lang.String RESTRICTIONS_SERVICE;
- public static java.lang.String SEARCH_SERVICE;
- public static java.lang.String SECURE_ELEMENT_SERVICE;
- public static java.lang.String SENSOR_SERVICE;
- public static java.lang.String SERIAL_SERVICE;
- public static java.lang.String SHORTCUT_SERVICE;
- public static java.lang.String SIP_SERVICE;
- public static java.lang.String SLICE_SERVICE;
- public static java.lang.String SOUND_TRIGGER_SERVICE;
- public static java.lang.String STATS_COMPANION_SERVICE;
- public static java.lang.String STATS_MANAGER;
- public static java.lang.String STATUS_BAR_SERVICE;
- public static java.lang.String STORAGE_SERVICE;
- public static java.lang.String STORAGE_STATS_SERVICE;
- public static java.lang.String SYSTEM_HEALTH_SERVICE;
- public static java.lang.String SYSTEM_UPDATE_SERVICE;
- public static java.lang.String TELECOM_SERVICE;
- public static java.lang.String TELEPHONY_SERVICE;
- public static java.lang.String TELEPHONY_SUBSCRIPTION_SERVICE;
- public static java.lang.String TEXT_CLASSIFICATION_SERVICE;
- public static java.lang.String TEXT_SERVICES_MANAGER_SERVICE;
- public static java.lang.String TIME_ZONE_RULES_MANAGER_SERVICE;
- public static java.lang.String TRUST_SERVICE;
- public static java.lang.String TV_INPUT_SERVICE;
- public static java.lang.String UI_MODE_SERVICE;
- public static java.lang.String UPDATE_LOCK_SERVICE;
- public static java.lang.String USAGE_STATS_SERVICE;
- public static java.lang.String USB_SERVICE;
- public static java.lang.String USER_SERVICE;
- public static java.lang.String VIBRATOR_SERVICE;
- public static java.lang.String VOICE_INTERACTION_MANAGER_SERVICE;
- public static java.lang.String VR_SERVICE;
- public static java.lang.String WALLPAPER_SERVICE;
- public static java.lang.String WIFI_AWARE_SERVICE;
- public static java.lang.String WIFI_P2P_SERVICE;
- public static java.lang.String WIFI_RTT_RANGING_SERVICE;
- public static java.lang.String WIFI_RTT_SERVICE;
- public static java.lang.String WIFI_SCANNING_SERVICE;
- public static java.lang.String WIFI_SERVICE;
- public static java.lang.String WINDOW_SERVICE;
-}
-
--keep class android.content.ContextWrapper {
- <init>(android.content.Context);
-
- protected void attachBaseContext(android.content.Context);
- public boolean bindService(android.content.Intent, android.content.ServiceConnection, int);
- public boolean bindServiceAsUser(android.content.Intent, android.content.ServiceConnection, int, android.os.UserHandle);
- public boolean bindServiceAsUser(android.content.Intent, android.content.ServiceConnection, int, android.os.Handler, android.os.UserHandle);
- public boolean canLoadUnsafeResources();
- public boolean canStartActivityForResult();
- public int checkCallingOrSelfPermission(java.lang.String);
- public int checkCallingOrSelfUriPermission(android.net.Uri, int);
- public int checkCallingPermission(java.lang.String);
- public int checkCallingUriPermission(android.net.Uri, int);
- public int checkPermission(java.lang.String, int, int);
- public int checkPermission(java.lang.String, int, int, android.os.IBinder);
- public int checkSelfPermission(java.lang.String);
- public int checkUriPermission(android.net.Uri, int, int, int);
- public int checkUriPermission(android.net.Uri, int, int, int, android.os.IBinder);
- public int checkUriPermission(android.net.Uri, java.lang.String, java.lang.String, int, int, int);
- public void clearWallpaper();
- public android.content.Context createApplicationContext(android.content.pm.ApplicationInfo, int);
- public android.content.Context createConfigurationContext(android.content.res.Configuration);
- public android.content.Context createContextForSplit(java.lang.String);
- public android.content.Context createCredentialProtectedStorageContext();
- public android.content.Context createDeviceProtectedStorageContext();
- public android.content.Context createDisplayContext(android.view.Display);
- public android.content.Context createPackageContext(java.lang.String, int);
- public android.content.Context createPackageContextAsUser(java.lang.String, int, android.os.UserHandle);
- public java.lang.String[] databaseList();
- public boolean deleteDatabase(java.lang.String);
- public boolean deleteFile(java.lang.String);
- public boolean deleteSharedPreferences(java.lang.String);
- public void enforceCallingOrSelfPermission(java.lang.String, java.lang.String);
- public void enforceCallingOrSelfUriPermission(android.net.Uri, int, java.lang.String);
- public void enforceCallingPermission(java.lang.String, java.lang.String);
- public void enforceCallingUriPermission(android.net.Uri, int, java.lang.String);
- public void enforcePermission(java.lang.String, int, int, java.lang.String);
- public void enforceUriPermission(android.net.Uri, int, int, int, java.lang.String);
- public void enforceUriPermission(android.net.Uri, java.lang.String, java.lang.String, int, int, int, java.lang.String);
- public java.lang.String[] fileList();
- public android.os.IBinder getActivityToken();
- public android.content.Context getApplicationContext();
- public android.content.pm.ApplicationInfo getApplicationInfo();
- public android.content.res.AssetManager getAssets();
- public android.view.autofill.AutofillManager$AutofillClient getAutofillClient();
- public android.content.Context getBaseContext();
- public java.lang.String getBasePackageName();
- public java.io.File getCacheDir();
- public java.lang.ClassLoader getClassLoader();
- public java.io.File getCodeCacheDir();
- public android.content.ContentResolver getContentResolver();
- public java.io.File getDataDir();
- public java.io.File getDatabasePath(java.lang.String);
- public java.io.File getDir(java.lang.String, int);
- public android.view.Display getDisplay();
- public android.view.DisplayAdjustments getDisplayAdjustments(int);
- public java.io.File getExternalCacheDir();
- public java.io.File[] getExternalCacheDirs();
- public java.io.File getExternalFilesDir(java.lang.String);
- public java.io.File[] getExternalFilesDirs(java.lang.String);
- public java.io.File[] getExternalMediaDirs();
- public java.io.File getFileStreamPath(java.lang.String);
- public java.io.File getFilesDir();
- public android.app.IApplicationThread getIApplicationThread();
- public java.util.concurrent.Executor getMainExecutor();
- public android.os.Looper getMainLooper();
- public android.os.Handler getMainThreadHandler();
- public int getNextAutofillId();
- public java.io.File getNoBackupFilesDir();
- public java.io.File getObbDir();
- public java.io.File[] getObbDirs();
- public java.lang.String getOpPackageName();
- public java.lang.String getPackageCodePath();
- public android.content.pm.PackageManager getPackageManager();
- public java.lang.String getPackageName();
- public java.lang.String getPackageResourcePath();
- public java.io.File getPreloadsFileCache();
- public android.content.res.Resources getResources();
- public android.app.IServiceConnection getServiceDispatcher(android.content.ServiceConnection, android.os.Handler, int);
- public android.content.SharedPreferences getSharedPreferences(java.lang.String, int);
- public android.content.SharedPreferences getSharedPreferences(java.io.File, int);
- public java.io.File getSharedPreferencesPath(java.lang.String);
- public java.lang.Object getSystemService(java.lang.String);
- public java.lang.String getSystemServiceName(java.lang.Class);
- public android.content.res.Resources$Theme getTheme();
- public int getThemeResId();
- public int getUserId();
- public android.graphics.drawable.Drawable getWallpaper();
- public int getWallpaperDesiredMinimumHeight();
- public int getWallpaperDesiredMinimumWidth();
- public void grantUriPermission(java.lang.String, android.net.Uri, int);
- public boolean isAutofillCompatibilityEnabled();
- public boolean isCredentialProtectedStorage();
- public boolean isDeviceProtectedStorage();
- public boolean isRestricted();
- public boolean moveDatabaseFrom(android.content.Context, java.lang.String);
- public boolean moveSharedPreferencesFrom(android.content.Context, java.lang.String);
- public java.io.FileInputStream openFileInput(java.lang.String);
- public java.io.FileOutputStream openFileOutput(java.lang.String, int);
- public android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase$CursorFactory);
- public android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase$CursorFactory, android.database.DatabaseErrorHandler);
- public android.graphics.drawable.Drawable peekWallpaper();
- public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter);
- public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, int);
- public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler);
- public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, int);
- public android.content.Intent registerReceiverAsUser(android.content.BroadcastReceiver, android.os.UserHandle, android.content.IntentFilter, java.lang.String, android.os.Handler);
- public void reloadSharedPreferences();
- public void removeStickyBroadcast(android.content.Intent);
- public void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
- public void revokeUriPermission(android.net.Uri, int);
- public void revokeUriPermission(java.lang.String, android.net.Uri, int);
- public void sendBroadcast(android.content.Intent);
- public void sendBroadcast(android.content.Intent, java.lang.String);
- public void sendBroadcast(android.content.Intent, java.lang.String, android.os.Bundle);
- public void sendBroadcast(android.content.Intent, java.lang.String, int);
- public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle);
- public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String);
- public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, android.os.Bundle);
- public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, int);
- public void sendBroadcastAsUserMultiplePermissions(android.content.Intent, android.os.UserHandle, java.lang.String[]);
- public void sendBroadcastMultiplePermissions(android.content.Intent, java.lang.String[]);
- public void sendOrderedBroadcast(android.content.Intent, java.lang.String);
- public void sendOrderedBroadcast(android.content.Intent, java.lang.String, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public void sendOrderedBroadcast(android.content.Intent, java.lang.String, android.os.Bundle, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public void sendOrderedBroadcast(android.content.Intent, java.lang.String, int, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public void sendOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public void sendOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, int, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public void sendOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, int, android.os.Bundle, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public void sendStickyBroadcast(android.content.Intent);
- public void sendStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
- public void sendStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle, android.os.Bundle);
- public void sendStickyOrderedBroadcast(android.content.Intent, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public void sendStickyOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
- public void setAutofillClient(android.view.autofill.AutofillManager$AutofillClient);
- public void setAutofillCompatibilityEnabled(boolean);
- public void setTheme(int);
- public void setWallpaper(android.graphics.Bitmap);
- public void setWallpaper(java.io.InputStream);
- public void startActivities(android.content.Intent[]);
- public void startActivities(android.content.Intent[], android.os.Bundle);
- public int startActivitiesAsUser(android.content.Intent[], android.os.Bundle, android.os.UserHandle);
- public void startActivity(android.content.Intent);
- public void startActivity(android.content.Intent, android.os.Bundle);
- public void startActivityAsUser(android.content.Intent, android.os.UserHandle);
- public void startActivityAsUser(android.content.Intent, android.os.Bundle, android.os.UserHandle);
- public void startActivityForResult(java.lang.String, android.content.Intent, int, android.os.Bundle);
- public android.content.ComponentName startForegroundService(android.content.Intent);
- public android.content.ComponentName startForegroundServiceAsUser(android.content.Intent, android.os.UserHandle);
- public boolean startInstrumentation(android.content.ComponentName, java.lang.String, android.os.Bundle);
- public void startIntentSender(android.content.IntentSender, android.content.Intent, int, int, int);
- public void startIntentSender(android.content.IntentSender, android.content.Intent, int, int, int, android.os.Bundle);
- public android.content.ComponentName startService(android.content.Intent);
- public android.content.ComponentName startServiceAsUser(android.content.Intent, android.os.UserHandle);
- public boolean stopService(android.content.Intent);
- public boolean stopServiceAsUser(android.content.Intent, android.os.UserHandle);
- public void unbindService(android.content.ServiceConnection);
- public void unregisterReceiver(android.content.BroadcastReceiver);
- public void updateDisplay(int);
-
-
-}
-
--keep class android.content.DialogInterface {
-
- public abstract void cancel();
- public abstract void dismiss();
-
-
- public static int BUTTON1;
- public static int BUTTON2;
- public static int BUTTON3;
- public static int BUTTON_NEGATIVE;
- public static int BUTTON_NEUTRAL;
- public static int BUTTON_POSITIVE;
-}
-
--keep class android.content.DialogInterface$OnCancelListener {
-
- public abstract void onCancel(android.content.DialogInterface);
-
-
-}
-
--keep class android.content.DialogInterface$OnDismissListener {
-
- public abstract void onDismiss(android.content.DialogInterface);
-
-
-}
-
--keep class android.content.DialogInterface$OnKeyListener {
-
- public abstract boolean onKey(android.content.DialogInterface, int, android.view.KeyEvent);
-
-
-}
-
--keep class android.content.DialogInterface$OnShowListener {
-
- public abstract void onShow(android.content.DialogInterface);
-
-
-}
-
--keep class android.content.IContentProvider {
-
- public abstract android.content.ContentProviderResult[] applyBatch(java.lang.String, java.util.ArrayList);
- public abstract int bulkInsert(java.lang.String, android.net.Uri, android.content.ContentValues[]);
- public abstract android.os.Bundle call(java.lang.String, java.lang.String, java.lang.String, android.os.Bundle);
- public abstract android.net.Uri canonicalize(java.lang.String, android.net.Uri);
- public abstract android.os.ICancellationSignal createCancellationSignal();
- public abstract int delete(java.lang.String, android.net.Uri, java.lang.String, java.lang.String[]);
- public abstract java.lang.String[] getStreamTypes(android.net.Uri, java.lang.String);
- public abstract java.lang.String getType(android.net.Uri);
- public abstract android.net.Uri insert(java.lang.String, android.net.Uri, android.content.ContentValues);
- public abstract android.content.res.AssetFileDescriptor openAssetFile(java.lang.String, android.net.Uri, java.lang.String, android.os.ICancellationSignal);
- public abstract android.os.ParcelFileDescriptor openFile(java.lang.String, android.net.Uri, java.lang.String, android.os.ICancellationSignal, android.os.IBinder);
- public abstract android.content.res.AssetFileDescriptor openTypedAssetFile(java.lang.String, android.net.Uri, java.lang.String, android.os.Bundle, android.os.ICancellationSignal);
- public abstract android.database.Cursor query(java.lang.String, android.net.Uri, java.lang.String[], android.os.Bundle, android.os.ICancellationSignal);
- public abstract boolean refresh(java.lang.String, android.net.Uri, android.os.Bundle, android.os.ICancellationSignal);
- public abstract android.net.Uri uncanonicalize(java.lang.String, android.net.Uri);
- public abstract int update(java.lang.String, android.net.Uri, android.content.ContentValues, java.lang.String, java.lang.String[]);
-
-
- public static int APPLY_BATCH_TRANSACTION;
- public static int BULK_INSERT_TRANSACTION;
- public static int CALL_TRANSACTION;
- public static int CANONICALIZE_TRANSACTION;
- public static int CREATE_CANCELATION_SIGNAL_TRANSACTION;
- public static int DELETE_TRANSACTION;
- public static int GET_STREAM_TYPES_TRANSACTION;
- public static int GET_TYPE_TRANSACTION;
- public static int INSERT_TRANSACTION;
- public static int OPEN_ASSET_FILE_TRANSACTION;
- public static int OPEN_FILE_TRANSACTION;
- public static int OPEN_TYPED_ASSET_FILE_TRANSACTION;
- public static int QUERY_TRANSACTION;
- public static int REFRESH_TRANSACTION;
- public static int UNCANONICALIZE_TRANSACTION;
- public static int UPDATE_TRANSACTION;
- public static java.lang.String descriptor;
-}
-
--keep class android.content.IContentService {
-
- public abstract void addPeriodicSync(android.accounts.Account, java.lang.String, android.os.Bundle, long);
- public abstract void addStatusChangeListener(int, android.content.ISyncStatusObserver);
- public abstract void cancelRequest(android.content.SyncRequest);
- public abstract void cancelSync(android.accounts.Account, java.lang.String, android.content.ComponentName);
- public abstract void cancelSyncAsUser(android.accounts.Account, java.lang.String, android.content.ComponentName, int);
- public abstract android.os.Bundle getCache(java.lang.String, android.net.Uri, int);
- public abstract java.util.List getCurrentSyncs();
- public abstract java.util.List getCurrentSyncsAsUser(int);
- public abstract int getIsSyncable(android.accounts.Account, java.lang.String);
- public abstract int getIsSyncableAsUser(android.accounts.Account, java.lang.String, int);
- public abstract boolean getMasterSyncAutomatically();
- public abstract boolean getMasterSyncAutomaticallyAsUser(int);
- public abstract java.util.List getPeriodicSyncs(android.accounts.Account, java.lang.String, android.content.ComponentName);
- public abstract java.lang.String[] getSyncAdapterPackagesForAuthorityAsUser(java.lang.String, int);
- public abstract android.content.SyncAdapterType[] getSyncAdapterTypes();
- public abstract android.content.SyncAdapterType[] getSyncAdapterTypesAsUser(int);
- public abstract boolean getSyncAutomatically(android.accounts.Account, java.lang.String);
- public abstract boolean getSyncAutomaticallyAsUser(android.accounts.Account, java.lang.String, int);
- public abstract android.content.SyncStatusInfo getSyncStatus(android.accounts.Account, java.lang.String, android.content.ComponentName);
- public abstract android.content.SyncStatusInfo getSyncStatusAsUser(android.accounts.Account, java.lang.String, android.content.ComponentName, int);
- public abstract boolean isSyncActive(android.accounts.Account, java.lang.String, android.content.ComponentName);
- public abstract boolean isSyncPending(android.accounts.Account, java.lang.String, android.content.ComponentName);
- public abstract boolean isSyncPendingAsUser(android.accounts.Account, java.lang.String, android.content.ComponentName, int);
- public abstract void notifyChange(android.net.Uri, android.database.IContentObserver, boolean, int, int, int);
- public abstract void putCache(java.lang.String, android.net.Uri, android.os.Bundle, int);
- public abstract void registerContentObserver(android.net.Uri, boolean, android.database.IContentObserver, int, int);
- public abstract void removePeriodicSync(android.accounts.Account, java.lang.String, android.os.Bundle);
- public abstract void removeStatusChangeListener(android.content.ISyncStatusObserver);
- public abstract void requestSync(android.accounts.Account, java.lang.String, android.os.Bundle);
- public abstract void resetTodayStats();
- public abstract void setIsSyncable(android.accounts.Account, java.lang.String, int);
- public abstract void setMasterSyncAutomatically(boolean);
- public abstract void setMasterSyncAutomaticallyAsUser(boolean, int);
- public abstract void setSyncAutomatically(android.accounts.Account, java.lang.String, boolean);
- public abstract void setSyncAutomaticallyAsUser(android.accounts.Account, java.lang.String, boolean, int);
- public abstract void sync(android.content.SyncRequest);
- public abstract void syncAsUser(android.content.SyncRequest, int);
- public abstract void unregisterContentObserver(android.database.IContentObserver);
-
-
-}
-
--keep class android.content.IIntentReceiver {
-
- public abstract void performReceive(android.content.Intent, int, java.lang.String, android.os.Bundle, boolean, boolean, int);
-
-
-}
-
--keep class android.content.IIntentSender {
-
- public abstract void send(int, android.content.Intent, java.lang.String, android.os.IBinder, android.content.IIntentReceiver, java.lang.String, android.os.Bundle);
-
-
-}
-
--keep class android.content.ISyncStatusObserver {
-
- public abstract void onStatusChanged(int);
-
-
-}
-
--keep class android.content.Intent {
- <init>();
- <init>(android.content.Intent);
- <init>(java.lang.String);
- <init>(java.lang.String, android.net.Uri);
- <init>(android.content.Context, java.lang.Class);
- <init>(java.lang.String, android.net.Uri, android.content.Context, java.lang.Class);
- <init>(android.os.Parcel);
-
- public android.content.Intent addCategory(java.lang.String);
- public android.content.Intent addFlags(int);
- public boolean canStripForHistory();
- public java.lang.Object clone();
- public android.content.Intent cloneFilter();
- public static android.content.Intent createChooser(android.content.Intent, java.lang.CharSequence);
- public static android.content.Intent createChooser(android.content.Intent, java.lang.CharSequence, android.content.IntentSender);
- public int describeContents();
- public static java.lang.String dockStateToString(int);
- public int fillIn(android.content.Intent, int);
- public boolean filterEquals(android.content.Intent);
- public int filterHashCode();
- public void fixUris(int);
- public java.lang.String getAction();
- public boolean[] getBooleanArrayExtra(java.lang.String);
- public boolean getBooleanExtra(java.lang.String, boolean);
- public android.os.Bundle getBundleExtra(java.lang.String);
- public byte[] getByteArrayExtra(java.lang.String);
- public byte getByteExtra(java.lang.String, byte);
- public java.util.Set getCategories();
- public char[] getCharArrayExtra(java.lang.String);
- public char getCharExtra(java.lang.String, char);
- public java.lang.CharSequence[] getCharSequenceArrayExtra(java.lang.String);
- public java.util.ArrayList getCharSequenceArrayListExtra(java.lang.String);
- public java.lang.CharSequence getCharSequenceExtra(java.lang.String);
- public android.content.ClipData getClipData();
- public android.content.ComponentName getComponent();
- public int getContentUserHint();
- public android.net.Uri getData();
- public java.lang.String getDataString();
- public double[] getDoubleArrayExtra(java.lang.String);
- public double getDoubleExtra(java.lang.String, double);
- public java.lang.Object getExtra(java.lang.String);
- public java.lang.Object getExtra(java.lang.String, java.lang.Object);
- public android.os.Bundle getExtras();
- public int getFlags();
- public float[] getFloatArrayExtra(java.lang.String);
- public float getFloatExtra(java.lang.String, float);
- public android.os.IBinder getIBinderExtra(java.lang.String);
- public int[] getIntArrayExtra(java.lang.String);
- public int getIntExtra(java.lang.String, int);
- public java.util.ArrayList getIntegerArrayListExtra(java.lang.String);
- public static android.content.Intent getIntent(java.lang.String);
- public static android.content.Intent getIntentOld(java.lang.String);
- public java.lang.String getLaunchToken();
- public long[] getLongArrayExtra(java.lang.String);
- public long getLongExtra(java.lang.String, long);
- public java.lang.String getPackage();
- public android.os.Parcelable[] getParcelableArrayExtra(java.lang.String);
- public java.util.ArrayList getParcelableArrayListExtra(java.lang.String);
- public android.os.Parcelable getParcelableExtra(java.lang.String);
- public java.lang.String getScheme();
- public android.content.Intent getSelector();
- public java.io.Serializable getSerializableExtra(java.lang.String);
- public short[] getShortArrayExtra(java.lang.String);
- public short getShortExtra(java.lang.String, short);
- public android.graphics.Rect getSourceBounds();
- public java.lang.String[] getStringArrayExtra(java.lang.String);
- public java.util.ArrayList getStringArrayListExtra(java.lang.String);
- public java.lang.String getStringExtra(java.lang.String);
- public java.lang.String getType();
- public boolean hasCategory(java.lang.String);
- public boolean hasExtra(java.lang.String);
- public boolean hasFileDescriptors();
- public boolean hasWebURI();
- public static boolean isAccessUriMode(int);
- public boolean isDocument();
- public boolean isExcludingStopped();
- public boolean isWebIntent();
- public static android.content.Intent makeMainActivity(android.content.ComponentName);
- public static android.content.Intent makeMainSelectorActivity(java.lang.String, java.lang.String);
- public static android.content.Intent makeRestartActivityTask(android.content.ComponentName);
- public android.content.Intent maybeStripForHistory();
- public boolean migrateExtraStreamToClipData();
- public static java.lang.String normalizeMimeType(java.lang.String);
- public static android.content.Intent parseCommandArgs(android.os.ShellCommand, android.content.Intent$CommandOptionHandler);
- public static android.content.Intent parseIntent(android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet);
- public static android.content.Intent parseUri(java.lang.String, int);
- public void prepareToEnterProcess();
- public void prepareToLeaveProcess(android.content.Context);
- public void prepareToLeaveProcess(boolean);
- public void prepareToLeaveUser(int);
- public static void printIntentArgsHelp(java.io.PrintWriter, java.lang.String);
- public android.content.Intent putCharSequenceArrayListExtra(java.lang.String, java.util.ArrayList);
- public android.content.Intent putExtra(java.lang.String, boolean);
- public android.content.Intent putExtra(java.lang.String, byte);
- public android.content.Intent putExtra(java.lang.String, char);
- public android.content.Intent putExtra(java.lang.String, short);
- public android.content.Intent putExtra(java.lang.String, int);
- public android.content.Intent putExtra(java.lang.String, long);
- public android.content.Intent putExtra(java.lang.String, float);
- public android.content.Intent putExtra(java.lang.String, double);
- public android.content.Intent putExtra(java.lang.String, java.lang.String);
- public android.content.Intent putExtra(java.lang.String, java.lang.CharSequence);
- public android.content.Intent putExtra(java.lang.String, android.os.Parcelable);
- public android.content.Intent putExtra(java.lang.String, android.os.Parcelable[]);
- public android.content.Intent putExtra(java.lang.String, java.io.Serializable);
- public android.content.Intent putExtra(java.lang.String, boolean[]);
- public android.content.Intent putExtra(java.lang.String, byte[]);
- public android.content.Intent putExtra(java.lang.String, short[]);
- public android.content.Intent putExtra(java.lang.String, char[]);
- public android.content.Intent putExtra(java.lang.String, int[]);
- public android.content.Intent putExtra(java.lang.String, long[]);
- public android.content.Intent putExtra(java.lang.String, float[]);
- public android.content.Intent putExtra(java.lang.String, double[]);
- public android.content.Intent putExtra(java.lang.String, java.lang.String[]);
- public android.content.Intent putExtra(java.lang.String, java.lang.CharSequence[]);
- public android.content.Intent putExtra(java.lang.String, android.os.Bundle);
- public android.content.Intent putExtra(java.lang.String, android.os.IBinder);
- public android.content.Intent putExtras(android.content.Intent);
- public android.content.Intent putExtras(android.os.Bundle);
- public android.content.Intent putIntegerArrayListExtra(java.lang.String, java.util.ArrayList);
- public android.content.Intent putParcelableArrayListExtra(java.lang.String, java.util.ArrayList);
- public android.content.Intent putStringArrayListExtra(java.lang.String, java.util.ArrayList);
- public void readFromParcel(android.os.Parcel);
- public void removeCategory(java.lang.String);
- public void removeExtra(java.lang.String);
- public void removeFlags(int);
- public void removeUnsafeExtras();
- public android.content.Intent replaceExtras(android.content.Intent);
- public android.content.Intent replaceExtras(android.os.Bundle);
- public android.content.ComponentName resolveActivity(android.content.pm.PackageManager);
- public android.content.pm.ActivityInfo resolveActivityInfo(android.content.pm.PackageManager, int);
- public android.content.ComponentName resolveSystemService(android.content.pm.PackageManager, int);
- public java.lang.String resolveType(android.content.Context);
- public java.lang.String resolveType(android.content.ContentResolver);
- public java.lang.String resolveTypeIfNeeded(android.content.ContentResolver);
- public static android.content.Intent restoreFromXml(org.xmlpull.v1.XmlPullParser);
- public void saveToXml(org.xmlpull.v1.XmlSerializer);
- public android.content.Intent setAction(java.lang.String);
- public void setAllowFds(boolean);
- public android.content.Intent setClass(android.content.Context, java.lang.Class);
- public android.content.Intent setClassName(android.content.Context, java.lang.String);
- public android.content.Intent setClassName(java.lang.String, java.lang.String);
- public void setClipData(android.content.ClipData);
- public android.content.Intent setComponent(android.content.ComponentName);
- public android.content.Intent setData(android.net.Uri);
- public android.content.Intent setDataAndNormalize(android.net.Uri);
- public android.content.Intent setDataAndType(android.net.Uri, java.lang.String);
- public android.content.Intent setDataAndTypeAndNormalize(android.net.Uri, java.lang.String);
- public void setDefusable(boolean);
- public void setExtrasClassLoader(java.lang.ClassLoader);
- public android.content.Intent setFlags(int);
- public void setLaunchToken(java.lang.String);
- public android.content.Intent setPackage(java.lang.String);
- public void setSelector(android.content.Intent);
- public void setSourceBounds(android.graphics.Rect);
- public android.content.Intent setType(java.lang.String);
- public android.content.Intent setTypeAndNormalize(java.lang.String);
- public java.lang.String toInsecureString();
- public java.lang.String toInsecureStringWithClip();
- public java.lang.String toShortString(boolean, boolean, boolean, boolean);
- public void toShortString(java.lang.StringBuilder, boolean, boolean, boolean, boolean);
- public java.lang.String toString();
- public java.lang.String toURI();
- public java.lang.String toUri(int);
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
- public void writeToProto(android.util.proto.ProtoOutputStream, long, boolean, boolean, boolean, boolean);
-
-
- public static java.lang.String ACTION_ADVANCED_SETTINGS_CHANGED;
- public static java.lang.String ACTION_AIRPLANE_MODE_CHANGED;
- public static java.lang.String ACTION_ALARM_CHANGED;
- public static java.lang.String ACTION_ALL_APPS;
- public static java.lang.String ACTION_ANSWER;
- public static java.lang.String ACTION_APPLICATION_PREFERENCES;
- public static java.lang.String ACTION_APPLICATION_RESTRICTIONS_CHANGED;
- public static java.lang.String ACTION_APP_ERROR;
- public static java.lang.String ACTION_ASSIST;
- public static java.lang.String ACTION_ATTACH_DATA;
- public static java.lang.String ACTION_BATTERY_CHANGED;
- public static java.lang.String ACTION_BATTERY_LEVEL_CHANGED;
- public static java.lang.String ACTION_BATTERY_LOW;
- public static java.lang.String ACTION_BATTERY_OKAY;
- public static java.lang.String ACTION_BOOT_COMPLETED;
- public static java.lang.String ACTION_BUG_REPORT;
- public static java.lang.String ACTION_CALL;
- public static java.lang.String ACTION_CALL_BUTTON;
- public static java.lang.String ACTION_CALL_EMERGENCY;
- public static java.lang.String ACTION_CALL_PRIVILEGED;
- public static java.lang.String ACTION_CAMERA_BUTTON;
- public static java.lang.String ACTION_CARRIER_SETUP;
- public static java.lang.String ACTION_CHOOSER;
- public static java.lang.String ACTION_CLEAR_DNS_CACHE;
- public static java.lang.String ACTION_CLOSE_SYSTEM_DIALOGS;
- public static java.lang.String ACTION_CONFIGURATION_CHANGED;
- public static java.lang.String ACTION_CREATE_DOCUMENT;
- public static java.lang.String ACTION_CREATE_SHORTCUT;
- public static java.lang.String ACTION_DATE_CHANGED;
- public static java.lang.String ACTION_DEFAULT;
- public static java.lang.String ACTION_DELETE;
- public static java.lang.String ACTION_DEVICE_INITIALIZATION_WIZARD;
- public static java.lang.String ACTION_DEVICE_LOCKED_CHANGED;
- public static java.lang.String ACTION_DEVICE_STORAGE_FULL;
- public static java.lang.String ACTION_DEVICE_STORAGE_LOW;
- public static java.lang.String ACTION_DEVICE_STORAGE_NOT_FULL;
- public static java.lang.String ACTION_DEVICE_STORAGE_OK;
- public static java.lang.String ACTION_DIAL;
- public static java.lang.String ACTION_DISMISS_KEYBOARD_SHORTCUTS;
- public static java.lang.String ACTION_DOCK_ACTIVE;
- public static java.lang.String ACTION_DOCK_EVENT;
- public static java.lang.String ACTION_DOCK_IDLE;
- public static java.lang.String ACTION_DREAMING_STARTED;
- public static java.lang.String ACTION_DREAMING_STOPPED;
- public static java.lang.String ACTION_DYNAMIC_SENSOR_CHANGED;
- public static java.lang.String ACTION_EDIT;
- public static java.lang.String ACTION_EXTERNAL_APPLICATIONS_AVAILABLE;
- public static java.lang.String ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE;
- public static java.lang.String ACTION_FACTORY_RESET;
- public static java.lang.String ACTION_FACTORY_TEST;
- public static java.lang.String ACTION_GET_CONTENT;
- public static java.lang.String ACTION_GET_RESTRICTION_ENTRIES;
- public static java.lang.String ACTION_GLOBAL_BUTTON;
- public static java.lang.String ACTION_GTALK_SERVICE_CONNECTED;
- public static java.lang.String ACTION_GTALK_SERVICE_DISCONNECTED;
- public static java.lang.String ACTION_HEADSET_PLUG;
- public static java.lang.String ACTION_IDLE_MAINTENANCE_END;
- public static java.lang.String ACTION_IDLE_MAINTENANCE_START;
- public static java.lang.String ACTION_INPUT_METHOD_CHANGED;
- public static java.lang.String ACTION_INSERT;
- public static java.lang.String ACTION_INSERT_OR_EDIT;
- public static java.lang.String ACTION_INSTALL_FAILURE;
- public static java.lang.String ACTION_INSTALL_INSTANT_APP_PACKAGE;
- public static java.lang.String ACTION_INSTALL_PACKAGE;
- public static java.lang.String ACTION_INSTANT_APP_RESOLVER_SETTINGS;
- public static java.lang.String ACTION_INTENT_FILTER_NEEDS_VERIFICATION;
- public static java.lang.String ACTION_LOCALE_CHANGED;
- public static java.lang.String ACTION_LOCKED_BOOT_COMPLETED;
- public static java.lang.String ACTION_MAIN;
- public static java.lang.String ACTION_MANAGED_PROFILE_ADDED;
- public static java.lang.String ACTION_MANAGED_PROFILE_AVAILABLE;
- public static java.lang.String ACTION_MANAGED_PROFILE_REMOVED;
- public static java.lang.String ACTION_MANAGED_PROFILE_UNAVAILABLE;
- public static java.lang.String ACTION_MANAGED_PROFILE_UNLOCKED;
- public static java.lang.String ACTION_MANAGE_APP_PERMISSIONS;
- public static java.lang.String ACTION_MANAGE_NETWORK_USAGE;
- public static java.lang.String ACTION_MANAGE_PACKAGE_STORAGE;
- public static java.lang.String ACTION_MANAGE_PERMISSIONS;
- public static java.lang.String ACTION_MANAGE_PERMISSION_APPS;
- public static java.lang.String ACTION_MASTER_CLEAR;
- public static java.lang.String ACTION_MASTER_CLEAR_NOTIFICATION;
- public static java.lang.String ACTION_MEDIA_BAD_REMOVAL;
- public static java.lang.String ACTION_MEDIA_BUTTON;
- public static java.lang.String ACTION_MEDIA_CHECKING;
- public static java.lang.String ACTION_MEDIA_EJECT;
- public static java.lang.String ACTION_MEDIA_MOUNTED;
- public static java.lang.String ACTION_MEDIA_NOFS;
- public static java.lang.String ACTION_MEDIA_REMOVED;
- public static java.lang.String ACTION_MEDIA_RESOURCE_GRANTED;
- public static java.lang.String ACTION_MEDIA_SCANNER_FINISHED;
- public static java.lang.String ACTION_MEDIA_SCANNER_SCAN_FILE;
- public static java.lang.String ACTION_MEDIA_SCANNER_STARTED;
- public static java.lang.String ACTION_MEDIA_SHARED;
- public static java.lang.String ACTION_MEDIA_UNMOUNTABLE;
- public static java.lang.String ACTION_MEDIA_UNMOUNTED;
- public static java.lang.String ACTION_MEDIA_UNSHARED;
- public static java.lang.String ACTION_MY_PACKAGE_REPLACED;
- public static java.lang.String ACTION_MY_PACKAGE_SUSPENDED;
- public static java.lang.String ACTION_MY_PACKAGE_UNSUSPENDED;
- public static java.lang.String ACTION_NEW_OUTGOING_CALL;
- public static java.lang.String ACTION_OPEN_DOCUMENT;
- public static java.lang.String ACTION_OPEN_DOCUMENT_TREE;
- public static java.lang.String ACTION_OVERLAY_CHANGED;
- public static java.lang.String ACTION_PACKAGES_SUSPENDED;
- public static java.lang.String ACTION_PACKAGES_UNSUSPENDED;
- public static java.lang.String ACTION_PACKAGE_ADDED;
- public static java.lang.String ACTION_PACKAGE_CHANGED;
- public static java.lang.String ACTION_PACKAGE_DATA_CLEARED;
- public static java.lang.String ACTION_PACKAGE_FIRST_LAUNCH;
- public static java.lang.String ACTION_PACKAGE_FULLY_REMOVED;
- public static java.lang.String ACTION_PACKAGE_INSTALL;
- public static java.lang.String ACTION_PACKAGE_NEEDS_VERIFICATION;
- public static java.lang.String ACTION_PACKAGE_REMOVED;
- public static java.lang.String ACTION_PACKAGE_REPLACED;
- public static java.lang.String ACTION_PACKAGE_RESTARTED;
- public static java.lang.String ACTION_PACKAGE_VERIFIED;
- public static java.lang.String ACTION_PASTE;
- public static java.lang.String ACTION_PICK;
- public static java.lang.String ACTION_PICK_ACTIVITY;
- public static java.lang.String ACTION_POWER_CONNECTED;
- public static java.lang.String ACTION_POWER_DISCONNECTED;
- public static java.lang.String ACTION_POWER_USAGE_SUMMARY;
- public static java.lang.String ACTION_PREFERRED_ACTIVITY_CHANGED;
- public static java.lang.String ACTION_PRE_BOOT_COMPLETED;
- public static java.lang.String ACTION_PROCESS_TEXT;
- public static java.lang.String ACTION_PROVIDER_CHANGED;
- public static java.lang.String ACTION_QUERY_PACKAGE_RESTART;
- public static java.lang.String ACTION_QUICK_CLOCK;
- public static java.lang.String ACTION_QUICK_VIEW;
- public static java.lang.String ACTION_REBOOT;
- public static java.lang.String ACTION_REMOTE_INTENT;
- public static java.lang.String ACTION_REQUEST_SHUTDOWN;
- public static java.lang.String ACTION_RESOLVE_INSTANT_APP_PACKAGE;
- public static java.lang.String ACTION_REVIEW_PERMISSIONS;
- public static java.lang.String ACTION_RUN;
- public static java.lang.String ACTION_SCREEN_OFF;
- public static java.lang.String ACTION_SCREEN_ON;
- public static java.lang.String ACTION_SEARCH;
- public static java.lang.String ACTION_SEARCH_LONG_PRESS;
- public static java.lang.String ACTION_SEND;
- public static java.lang.String ACTION_SENDTO;
- public static java.lang.String ACTION_SEND_MULTIPLE;
- public static java.lang.String ACTION_SERVICE_STATE;
- public static java.lang.String ACTION_SETTING_RESTORED;
- public static java.lang.String ACTION_SET_WALLPAPER;
- public static java.lang.String ACTION_SHOW_APP_INFO;
- public static java.lang.String ACTION_SHOW_BRIGHTNESS_DIALOG;
- public static java.lang.String ACTION_SHOW_KEYBOARD_SHORTCUTS;
- public static java.lang.String ACTION_SHOW_SUSPENDED_APP_DETAILS;
- public static java.lang.String ACTION_SHUTDOWN;
- public static java.lang.String ACTION_SIM_STATE_CHANGED;
- public static java.lang.String ACTION_SPLIT_CONFIGURATION_CHANGED;
- public static java.lang.String ACTION_SYNC;
- public static java.lang.String ACTION_SYSTEM_TUTORIAL;
- public static java.lang.String ACTION_THERMAL_EVENT;
- public static java.lang.String ACTION_TIMEZONE_CHANGED;
- public static java.lang.String ACTION_TIME_CHANGED;
- public static java.lang.String ACTION_TIME_TICK;
- public static java.lang.String ACTION_UID_REMOVED;
- public static java.lang.String ACTION_UMS_CONNECTED;
- public static java.lang.String ACTION_UMS_DISCONNECTED;
- public static java.lang.String ACTION_UNINSTALL_PACKAGE;
- public static java.lang.String ACTION_UPGRADE_SETUP;
- public static java.lang.String ACTION_USER_ADDED;
- public static java.lang.String ACTION_USER_BACKGROUND;
- public static java.lang.String ACTION_USER_FOREGROUND;
- public static java.lang.String ACTION_USER_INFO_CHANGED;
- public static java.lang.String ACTION_USER_INITIALIZE;
- public static java.lang.String ACTION_USER_PRESENT;
- public static java.lang.String ACTION_USER_REMOVED;
- public static java.lang.String ACTION_USER_STARTED;
- public static java.lang.String ACTION_USER_STARTING;
- public static java.lang.String ACTION_USER_STOPPED;
- public static java.lang.String ACTION_USER_STOPPING;
- public static java.lang.String ACTION_USER_SWITCHED;
- public static java.lang.String ACTION_USER_UNLOCKED;
- public static java.lang.String ACTION_VIEW;
- public static java.lang.String ACTION_VOICE_ASSIST;
- public static java.lang.String ACTION_VOICE_COMMAND;
- public static java.lang.String ACTION_WALLPAPER_CHANGED;
- public static java.lang.String ACTION_WEB_SEARCH;
- public static java.lang.String CATEGORY_ALTERNATIVE;
- public static java.lang.String CATEGORY_APP_BROWSER;
- public static java.lang.String CATEGORY_APP_CALCULATOR;
- public static java.lang.String CATEGORY_APP_CALENDAR;
- public static java.lang.String CATEGORY_APP_CONTACTS;
- public static java.lang.String CATEGORY_APP_EMAIL;
- public static java.lang.String CATEGORY_APP_GALLERY;
- public static java.lang.String CATEGORY_APP_MAPS;
- public static java.lang.String CATEGORY_APP_MARKET;
- public static java.lang.String CATEGORY_APP_MESSAGING;
- public static java.lang.String CATEGORY_APP_MUSIC;
- public static java.lang.String CATEGORY_BROWSABLE;
- public static java.lang.String CATEGORY_CAR_DOCK;
- public static java.lang.String CATEGORY_CAR_LAUNCHER;
- public static java.lang.String CATEGORY_CAR_MODE;
- public static java.lang.String CATEGORY_DEFAULT;
- public static java.lang.String CATEGORY_DESK_DOCK;
- public static java.lang.String CATEGORY_DEVELOPMENT_PREFERENCE;
- public static java.lang.String CATEGORY_EMBED;
- public static java.lang.String CATEGORY_FRAMEWORK_INSTRUMENTATION_TEST;
- public static java.lang.String CATEGORY_HE_DESK_DOCK;
- public static java.lang.String CATEGORY_HOME;
- public static java.lang.String CATEGORY_HOME_MAIN;
- public static java.lang.String CATEGORY_INFO;
- public static java.lang.String CATEGORY_LAUNCHER;
- public static java.lang.String CATEGORY_LAUNCHER_APP;
- public static java.lang.String CATEGORY_LEANBACK_LAUNCHER;
- public static java.lang.String CATEGORY_LEANBACK_SETTINGS;
- public static java.lang.String CATEGORY_LE_DESK_DOCK;
- public static java.lang.String CATEGORY_MONKEY;
- public static java.lang.String CATEGORY_OPENABLE;
- public static java.lang.String CATEGORY_PREFERENCE;
- public static java.lang.String CATEGORY_SAMPLE_CODE;
- public static java.lang.String CATEGORY_SELECTED_ALTERNATIVE;
- public static java.lang.String CATEGORY_SETUP_WIZARD;
- public static java.lang.String CATEGORY_TAB;
- public static java.lang.String CATEGORY_TEST;
- public static java.lang.String CATEGORY_TYPED_OPENABLE;
- public static java.lang.String CATEGORY_UNIT_TEST;
- public static java.lang.String CATEGORY_VOICE;
- public static java.lang.String CATEGORY_VR_HOME;
- public static android.os.Parcelable$Creator CREATOR;
- public static java.lang.String EXTRA_ALARM_COUNT;
- public static java.lang.String EXTRA_ALLOW_MULTIPLE;
- public static java.lang.String EXTRA_ALLOW_REPLACE;
- public static java.lang.String EXTRA_ALTERNATE_INTENTS;
- public static java.lang.String EXTRA_ASSIST_CONTEXT;
- public static java.lang.String EXTRA_ASSIST_INPUT_DEVICE_ID;
- public static java.lang.String EXTRA_ASSIST_INPUT_HINT_KEYBOARD;
- public static java.lang.String EXTRA_ASSIST_PACKAGE;
- public static java.lang.String EXTRA_ASSIST_UID;
- public static java.lang.String EXTRA_AUTO_LAUNCH_SINGLE_CHOICE;
- public static java.lang.String EXTRA_BCC;
- public static java.lang.String EXTRA_BUG_REPORT;
- public static java.lang.String EXTRA_CALLING_PACKAGE;
- public static java.lang.String EXTRA_CC;
- public static java.lang.String EXTRA_CDMA_DEFAULT_ROAMING_INDICATOR;
- public static java.lang.String EXTRA_CDMA_ROAMING_INDICATOR;
- public static java.lang.String EXTRA_CHANGED_COMPONENT_NAME;
- public static java.lang.String EXTRA_CHANGED_COMPONENT_NAME_LIST;
- public static java.lang.String EXTRA_CHANGED_PACKAGE_LIST;
- public static java.lang.String EXTRA_CHANGED_UID_LIST;
- public static java.lang.String EXTRA_CHOOSER_REFINEMENT_INTENT_SENDER;
- public static java.lang.String EXTRA_CHOOSER_TARGETS;
- public static java.lang.String EXTRA_CHOSEN_COMPONENT;
- public static java.lang.String EXTRA_CHOSEN_COMPONENT_INTENT_SENDER;
- public static java.lang.String EXTRA_CLIENT_INTENT;
- public static java.lang.String EXTRA_CLIENT_LABEL;
- public static java.lang.String EXTRA_COMPONENT_NAME;
- public static java.lang.String EXTRA_CONTENT_ANNOTATIONS;
- public static java.lang.String EXTRA_CSS_INDICATOR;
- public static java.lang.String EXTRA_DATA_OPERATOR_ALPHA_LONG;
- public static java.lang.String EXTRA_DATA_OPERATOR_ALPHA_SHORT;
- public static java.lang.String EXTRA_DATA_OPERATOR_NUMERIC;
- public static java.lang.String EXTRA_DATA_RADIO_TECH;
- public static java.lang.String EXTRA_DATA_REG_STATE;
- public static java.lang.String EXTRA_DATA_REMOVED;
- public static java.lang.String EXTRA_DATA_ROAMING_TYPE;
- public static java.lang.String EXTRA_DOCK_STATE;
- public static int EXTRA_DOCK_STATE_CAR;
- public static int EXTRA_DOCK_STATE_DESK;
- public static int EXTRA_DOCK_STATE_HE_DESK;
- public static int EXTRA_DOCK_STATE_LE_DESK;
- public static int EXTRA_DOCK_STATE_UNDOCKED;
- public static java.lang.String EXTRA_DONT_KILL_APP;
- public static java.lang.String EXTRA_EMAIL;
- public static java.lang.String EXTRA_EMERGENCY_ONLY;
- public static java.lang.String EXTRA_EPHEMERAL_FAILURE;
- public static java.lang.String EXTRA_EPHEMERAL_HOSTNAME;
- public static java.lang.String EXTRA_EPHEMERAL_SUCCESS;
- public static java.lang.String EXTRA_EPHEMERAL_TOKEN;
- public static java.lang.String EXTRA_EXCLUDE_COMPONENTS;
- public static java.lang.String EXTRA_FORCE_FACTORY_RESET;
- public static java.lang.String EXTRA_FORCE_MASTER_CLEAR;
- public static java.lang.String EXTRA_FROM_STORAGE;
- public static java.lang.String EXTRA_HTML_TEXT;
- public static java.lang.String EXTRA_INDEX;
- public static java.lang.String EXTRA_INITIAL_INTENTS;
- public static java.lang.String EXTRA_INSTALLER_PACKAGE_NAME;
- public static java.lang.String EXTRA_INSTALL_RESULT;
- public static java.lang.String EXTRA_INSTANT_APP_ACTION;
- public static java.lang.String EXTRA_INSTANT_APP_BUNDLES;
- public static java.lang.String EXTRA_INSTANT_APP_EXTRAS;
- public static java.lang.String EXTRA_INSTANT_APP_FAILURE;
- public static java.lang.String EXTRA_INSTANT_APP_HOSTNAME;
- public static java.lang.String EXTRA_INSTANT_APP_SUCCESS;
- public static java.lang.String EXTRA_INSTANT_APP_TOKEN;
- public static java.lang.String EXTRA_INTENT;
- public static java.lang.String EXTRA_IS_DATA_ROAMING_FROM_REGISTRATION;
- public static java.lang.String EXTRA_IS_USING_CARRIER_AGGREGATION;
- public static java.lang.String EXTRA_KEY_CONFIRM;
- public static java.lang.String EXTRA_KEY_EVENT;
- public static java.lang.String EXTRA_LAUNCHER_EXTRAS;
- public static java.lang.String EXTRA_LOCAL_ONLY;
- public static java.lang.String EXTRA_LONG_VERSION_CODE;
- public static java.lang.String EXTRA_LTE_EARFCN_RSRP_BOOST;
- public static java.lang.String EXTRA_MANUAL;
- public static java.lang.String EXTRA_MEDIA_RESOURCE_TYPE;
- public static int EXTRA_MEDIA_RESOURCE_TYPE_AUDIO_CODEC;
- public static int EXTRA_MEDIA_RESOURCE_TYPE_VIDEO_CODEC;
- public static java.lang.String EXTRA_MIME_TYPES;
- public static java.lang.String EXTRA_NETWORK_ID;
- public static java.lang.String EXTRA_NOT_UNKNOWN_SOURCE;
- public static java.lang.String EXTRA_OPERATOR_ALPHA_LONG;
- public static java.lang.String EXTRA_OPERATOR_ALPHA_SHORT;
- public static java.lang.String EXTRA_OPERATOR_NUMERIC;
- public static java.lang.String EXTRA_ORIGINATING_UID;
- public static java.lang.String EXTRA_ORIGINATING_URI;
- public static java.lang.String EXTRA_PACKAGES;
- public static java.lang.String EXTRA_PACKAGE_NAME;
- public static java.lang.String EXTRA_PERMISSION_NAME;
- public static java.lang.String EXTRA_PHONE_NUMBER;
- public static java.lang.String EXTRA_PROCESS_TEXT;
- public static java.lang.String EXTRA_PROCESS_TEXT_READONLY;
- public static java.lang.String EXTRA_QUICK_VIEW_ADVANCED;
- public static java.lang.String EXTRA_QUICK_VIEW_FEATURES;
- public static java.lang.String EXTRA_QUIET_MODE;
- public static java.lang.String EXTRA_REASON;
- public static java.lang.String EXTRA_REFERRER;
- public static java.lang.String EXTRA_REFERRER_NAME;
- public static java.lang.String EXTRA_REMOTE_CALLBACK;
- public static java.lang.String EXTRA_REMOTE_INTENT_TOKEN;
- public static java.lang.String EXTRA_REMOVED_FOR_ALL_USERS;
- public static java.lang.String EXTRA_REPLACEMENT_EXTRAS;
- public static java.lang.String EXTRA_REPLACING;
- public static java.lang.String EXTRA_RESTRICTIONS_BUNDLE;
- public static java.lang.String EXTRA_RESTRICTIONS_INTENT;
- public static java.lang.String EXTRA_RESTRICTIONS_LIST;
- public static java.lang.String EXTRA_RESULT_NEEDED;
- public static java.lang.String EXTRA_RESULT_RECEIVER;
- public static java.lang.String EXTRA_RETURN_RESULT;
- public static java.lang.String EXTRA_SETTING_NAME;
- public static java.lang.String EXTRA_SETTING_NEW_VALUE;
- public static java.lang.String EXTRA_SETTING_PREVIOUS_VALUE;
- public static java.lang.String EXTRA_SETTING_RESTORED_FROM_SDK_INT;
- public static java.lang.String EXTRA_SHORTCUT_ICON;
- public static java.lang.String EXTRA_SHORTCUT_ICON_RESOURCE;
- public static java.lang.String EXTRA_SHORTCUT_INTENT;
- public static java.lang.String EXTRA_SHORTCUT_NAME;
- public static java.lang.String EXTRA_SHUTDOWN_USERSPACE_ONLY;
- public static java.lang.String EXTRA_SIM_ACTIVATION_RESPONSE;
- public static java.lang.String EXTRA_SPLIT_NAME;
- public static java.lang.String EXTRA_STREAM;
- public static java.lang.String EXTRA_SUBJECT;
- public static java.lang.String EXTRA_SUSPENDED_PACKAGE_EXTRAS;
- public static java.lang.String EXTRA_SYSTEM_ID;
- public static java.lang.String EXTRA_TASK_ID;
- public static java.lang.String EXTRA_TEMPLATE;
- public static java.lang.String EXTRA_TEXT;
- public static java.lang.String EXTRA_THERMAL_STATE;
- public static int EXTRA_THERMAL_STATE_EXCEEDED;
- public static int EXTRA_THERMAL_STATE_NORMAL;
- public static int EXTRA_THERMAL_STATE_WARNING;
- public static java.lang.String EXTRA_TIME_PREF_24_HOUR_FORMAT;
- public static int EXTRA_TIME_PREF_VALUE_USE_12_HOUR;
- public static int EXTRA_TIME_PREF_VALUE_USE_24_HOUR;
- public static int EXTRA_TIME_PREF_VALUE_USE_LOCALE_DEFAULT;
- public static java.lang.String EXTRA_TITLE;
- public static java.lang.String EXTRA_UID;
- public static java.lang.String EXTRA_UNINSTALL_ALL_USERS;
- public static java.lang.String EXTRA_UNKNOWN_INSTANT_APP;
- public static java.lang.String EXTRA_USER;
- public static java.lang.String EXTRA_USER_HANDLE;
- public static java.lang.String EXTRA_USER_ID;
- public static java.lang.String EXTRA_USER_REQUESTED_SHUTDOWN;
- public static java.lang.String EXTRA_VERIFICATION_BUNDLE;
- public static java.lang.String EXTRA_VERSION_CODE;
- public static java.lang.String EXTRA_VOICE_RADIO_TECH;
- public static java.lang.String EXTRA_VOICE_REG_STATE;
- public static java.lang.String EXTRA_VOICE_ROAMING_TYPE;
- public static java.lang.String EXTRA_WIPE_ESIMS;
- public static java.lang.String EXTRA_WIPE_EXTERNAL_STORAGE;
- public static int FILL_IN_ACTION;
- public static int FILL_IN_CATEGORIES;
- public static int FILL_IN_CLIP_DATA;
- public static int FILL_IN_COMPONENT;
- public static int FILL_IN_DATA;
- public static int FILL_IN_PACKAGE;
- public static int FILL_IN_SELECTOR;
- public static int FILL_IN_SOURCE_BOUNDS;
- public static int FLAG_ACTIVITY_BROUGHT_TO_FRONT;
- public static int FLAG_ACTIVITY_CLEAR_TASK;
- public static int FLAG_ACTIVITY_CLEAR_TOP;
- public static int FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET;
- public static int FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS;
- public static int FLAG_ACTIVITY_FORWARD_RESULT;
- public static int FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY;
- public static int FLAG_ACTIVITY_LAUNCH_ADJACENT;
- public static int FLAG_ACTIVITY_MATCH_EXTERNAL;
- public static int FLAG_ACTIVITY_MULTIPLE_TASK;
- public static int FLAG_ACTIVITY_NEW_DOCUMENT;
- public static int FLAG_ACTIVITY_NEW_TASK;
- public static int FLAG_ACTIVITY_NO_ANIMATION;
- public static int FLAG_ACTIVITY_NO_HISTORY;
- public static int FLAG_ACTIVITY_NO_USER_ACTION;
- public static int FLAG_ACTIVITY_PREVIOUS_IS_TOP;
- public static int FLAG_ACTIVITY_REORDER_TO_FRONT;
- public static int FLAG_ACTIVITY_RESET_TASK_IF_NEEDED;
- public static int FLAG_ACTIVITY_RETAIN_IN_RECENTS;
- public static int FLAG_ACTIVITY_SINGLE_TOP;
- public static int FLAG_ACTIVITY_TASK_ON_HOME;
- public static int FLAG_DEBUG_LOG_RESOLUTION;
- public static int FLAG_DEBUG_TRIAGED_MISSING;
- public static int FLAG_EXCLUDE_STOPPED_PACKAGES;
- public static int FLAG_FROM_BACKGROUND;
- public static int FLAG_GRANT_PERSISTABLE_URI_PERMISSION;
- public static int FLAG_GRANT_PREFIX_URI_PERMISSION;
- public static int FLAG_GRANT_READ_URI_PERMISSION;
- public static int FLAG_GRANT_WRITE_URI_PERMISSION;
- public static int FLAG_IGNORE_EPHEMERAL;
- public static int FLAG_INCLUDE_STOPPED_PACKAGES;
- public static int FLAG_RECEIVER_BOOT_UPGRADE;
- public static int FLAG_RECEIVER_EXCLUDE_BACKGROUND;
- public static int FLAG_RECEIVER_FOREGROUND;
- public static int FLAG_RECEIVER_FROM_SHELL;
- public static int FLAG_RECEIVER_INCLUDE_BACKGROUND;
- public static int FLAG_RECEIVER_NO_ABORT;
- public static int FLAG_RECEIVER_REGISTERED_ONLY;
- public static int FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT;
- public static int FLAG_RECEIVER_REPLACE_PENDING;
- public static int FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS;
- public static int IMMUTABLE_FLAGS;
- public static java.lang.String METADATA_DOCK_HOME;
- public static java.lang.String METADATA_SETUP_VERSION;
- public static int URI_ALLOW_UNSAFE;
- public static int URI_ANDROID_APP_SCHEME;
- public static int URI_INTENT_SCHEME;
-}
-
--keep class android.content.Intent$CommandOptionHandler {
-
- public abstract boolean handleOption(java.lang.String, android.os.ShellCommand);
-
-
-}
-
--keep class android.content.IntentFilter {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.String);
- <init>(android.content.IntentFilter);
- <init>(android.os.Parcel);
-
- public java.util.Iterator actionsIterator();
- public void addAction(java.lang.String);
- public void addCategory(java.lang.String);
- public void addDataAuthority(java.lang.String, java.lang.String);
- public void addDataAuthority(android.content.IntentFilter$AuthorityEntry);
- public void addDataPath(java.lang.String, int);
- public void addDataPath(android.os.PatternMatcher);
- public void addDataScheme(java.lang.String);
- public void addDataSchemeSpecificPart(java.lang.String, int);
- public void addDataSchemeSpecificPart(android.os.PatternMatcher);
- public void addDataType(java.lang.String);
- public java.util.Iterator authoritiesIterator();
- public java.util.Iterator categoriesIterator();
- public int countActions();
- public int countCategories();
- public int countDataAuthorities();
- public int countDataPaths();
- public int countDataSchemeSpecificParts();
- public int countDataSchemes();
- public int countDataTypes();
- public static android.content.IntentFilter create(java.lang.String, java.lang.String);
- public boolean debugCheck();
- public int describeContents();
- public void dump(android.util.Printer, java.lang.String);
- public java.lang.String getAction(int);
- public boolean getAutoVerify();
- public java.lang.String getCategory(int);
- public android.content.IntentFilter$AuthorityEntry getDataAuthority(int);
- public android.os.PatternMatcher getDataPath(int);
- public java.lang.String getDataScheme(int);
- public android.os.PatternMatcher getDataSchemeSpecificPart(int);
- public java.lang.String getDataType(int);
- public java.lang.String[] getHosts();
- public java.util.ArrayList getHostsList();
- public int getOrder();
- public int getPriority();
- public int getVisibilityToInstantApp();
- public boolean handleAllWebDataURI();
- public boolean handlesWebUris(boolean);
- public boolean hasAction(java.lang.String);
- public boolean hasCategory(java.lang.String);
- public boolean hasDataAuthority(android.net.Uri);
- public boolean hasDataAuthority(android.content.IntentFilter$AuthorityEntry);
- public boolean hasDataPath(java.lang.String);
- public boolean hasDataPath(android.os.PatternMatcher);
- public boolean hasDataScheme(java.lang.String);
- public boolean hasDataSchemeSpecificPart(java.lang.String);
- public boolean hasDataSchemeSpecificPart(android.os.PatternMatcher);
- public boolean hasDataType(java.lang.String);
- public boolean hasExactDataType(java.lang.String);
- public boolean isExplicitlyVisibleToInstantApp();
- public boolean isImplicitlyVisibleToInstantApp();
- public boolean isVerified();
- public boolean isVisibleToInstantApp();
- public int match(android.content.ContentResolver, android.content.Intent, boolean, java.lang.String);
- public int match(java.lang.String, java.lang.String, java.lang.String, android.net.Uri, java.util.Set, java.lang.String);
- public boolean matchAction(java.lang.String);
- public java.lang.String matchCategories(java.util.Set);
- public int matchData(java.lang.String, java.lang.String, android.net.Uri);
- public int matchDataAuthority(android.net.Uri);
- public boolean needsVerification();
- public java.util.Iterator pathsIterator();
- public void readFromXml(org.xmlpull.v1.XmlPullParser);
- public java.util.Iterator schemeSpecificPartsIterator();
- public java.util.Iterator schemesIterator();
- public void setAutoVerify(boolean);
- public void setOrder(int);
- public void setPriority(int);
- public void setVerified(boolean);
- public void setVisibilityToInstantApp(int);
- public java.util.Iterator typesIterator();
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
- public void writeToXml(org.xmlpull.v1.XmlSerializer);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int MATCH_ADJUSTMENT_MASK;
- public static int MATCH_ADJUSTMENT_NORMAL;
- public static int MATCH_CATEGORY_EMPTY;
- public static int MATCH_CATEGORY_HOST;
- public static int MATCH_CATEGORY_MASK;
- public static int MATCH_CATEGORY_PATH;
- public static int MATCH_CATEGORY_PORT;
- public static int MATCH_CATEGORY_SCHEME;
- public static int MATCH_CATEGORY_SCHEME_SPECIFIC_PART;
- public static int MATCH_CATEGORY_TYPE;
- public static int NO_MATCH_ACTION;
- public static int NO_MATCH_CATEGORY;
- public static int NO_MATCH_DATA;
- public static int NO_MATCH_TYPE;
- public static java.lang.String SCHEME_HTTP;
- public static java.lang.String SCHEME_HTTPS;
- public static int SYSTEM_HIGH_PRIORITY;
- public static int SYSTEM_LOW_PRIORITY;
- public static int VISIBILITY_EXPLICIT;
- public static int VISIBILITY_IMPLICIT;
- public static int VISIBILITY_NONE;
-}
-
--keep class android.content.IntentFilter$AuthorityEntry {
- <init>(java.lang.String, java.lang.String);
-
- public boolean equals(java.lang.Object);
- public java.lang.String getHost();
- public int getPort();
- public boolean match(android.content.IntentFilter$AuthorityEntry);
- public int match(android.net.Uri);
-
-
-}
-
--keep class android.content.IntentFilter$MalformedMimeTypeException {
- <init>();
- <init>(java.lang.String);
-
-
-
-}
-
--keep class android.content.IntentSender {
- <init>(android.content.IIntentSender);
- <init>(android.content.IIntentSender, android.os.IBinder);
- <init>(android.os.IBinder);
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public java.lang.String getCreatorPackage();
- public int getCreatorUid();
- public android.os.UserHandle getCreatorUserHandle();
- public android.content.IIntentSender getTarget();
- public java.lang.String getTargetPackage();
- public android.os.IBinder getWhitelistToken();
- public int hashCode();
- public static android.content.IntentSender readIntentSenderOrNullFromParcel(android.os.Parcel);
- public void sendIntent(android.content.Context, int, android.content.Intent, android.content.IntentSender$OnFinished, android.os.Handler);
- public void sendIntent(android.content.Context, int, android.content.Intent, android.content.IntentSender$OnFinished, android.os.Handler, java.lang.String);
- public java.lang.String toString();
- public static void writeIntentSenderOrNullToParcel(android.content.IntentSender, android.os.Parcel);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.content.IntentSender$OnFinished {
-
- public abstract void onSendFinished(android.content.IntentSender, android.content.Intent, int, java.lang.String, android.os.Bundle);
-
-
-}
-
--keep class android.content.IntentSender$SendIntentException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.Exception);
-
-
-
-}
-
--keep class android.content.Loader {
- <init>(android.content.Context);
-
- public void abandon();
- public boolean cancelLoad();
- public void commitContentChanged();
- public java.lang.String dataToString(java.lang.Object);
- public void deliverCancellation();
- public void deliverResult(java.lang.Object);
- public void dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
- public void forceLoad();
- public android.content.Context getContext();
- public int getId();
- public boolean isAbandoned();
- public boolean isReset();
- public boolean isStarted();
- protected void onAbandon();
- protected boolean onCancelLoad();
- public void onContentChanged();
- protected void onForceLoad();
- protected void onReset();
- protected void onStartLoading();
- protected void onStopLoading();
- public void registerListener(int, android.content.Loader$OnLoadCompleteListener);
- public void registerOnLoadCanceledListener(android.content.Loader$OnLoadCanceledListener);
- public void reset();
- public void rollbackContentChanged();
- public void startLoading();
- public void stopLoading();
- public boolean takeContentChanged();
- public java.lang.String toString();
- public void unregisterListener(android.content.Loader$OnLoadCompleteListener);
- public void unregisterOnLoadCanceledListener(android.content.Loader$OnLoadCanceledListener);
-
-
-}
-
--keep class android.content.Loader$OnLoadCanceledListener {
-
- public abstract void onLoadCanceled(android.content.Loader);
-
-
-}
-
--keep class android.content.Loader$OnLoadCompleteListener {
-
- public abstract void onLoadComplete(android.content.Loader, java.lang.Object);
-
-
-}
-
--keep class android.content.OperationApplicationException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
- <init>(java.lang.Throwable);
- <init>(int);
- <init>(java.lang.String, int);
-
- public int getNumSuccessfulYieldPoints();
-
-
-}
-
--keep class android.content.PeriodicSync {
- <init>(android.accounts.Account, java.lang.String, android.os.Bundle, long);
- <init>(android.content.PeriodicSync);
- <init>(android.accounts.Account, java.lang.String, android.os.Bundle, long, long);
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public static boolean syncExtrasEquals(android.os.Bundle, android.os.Bundle);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public android.accounts.Account account;
- public java.lang.String authority;
- public android.os.Bundle extras;
- public long flexTime;
- public long period;
-}
-
--keep class android.content.ServiceConnection {
-
- public void onBindingDied(android.content.ComponentName);
- public void onNullBinding(android.content.ComponentName);
- public abstract void onServiceConnected(android.content.ComponentName, android.os.IBinder);
- public abstract void onServiceDisconnected(android.content.ComponentName);
-
-
-}
-
--keep class android.content.SharedPreferences {
-
- public abstract boolean contains(java.lang.String);
- public abstract android.content.SharedPreferences$Editor edit();
- public abstract java.util.Map getAll();
- public abstract boolean getBoolean(java.lang.String, boolean);
- public abstract float getFloat(java.lang.String, float);
- public abstract int getInt(java.lang.String, int);
- public abstract long getLong(java.lang.String, long);
- public abstract java.lang.String getString(java.lang.String, java.lang.String);
- public abstract java.util.Set getStringSet(java.lang.String, java.util.Set);
- public abstract void registerOnSharedPreferenceChangeListener(android.content.SharedPreferences$OnSharedPreferenceChangeListener);
- public abstract void unregisterOnSharedPreferenceChangeListener(android.content.SharedPreferences$OnSharedPreferenceChangeListener);
-
-
-}
-
--keep class android.content.SharedPreferences$Editor {
-
- public abstract void apply();
- public abstract android.content.SharedPreferences$Editor clear();
- public abstract boolean commit();
- public abstract android.content.SharedPreferences$Editor putBoolean(java.lang.String, boolean);
- public abstract android.content.SharedPreferences$Editor putFloat(java.lang.String, float);
- public abstract android.content.SharedPreferences$Editor putInt(java.lang.String, int);
- public abstract android.content.SharedPreferences$Editor putLong(java.lang.String, long);
- public abstract android.content.SharedPreferences$Editor putString(java.lang.String, java.lang.String);
- public abstract android.content.SharedPreferences$Editor putStringSet(java.lang.String, java.util.Set);
- public abstract android.content.SharedPreferences$Editor remove(java.lang.String);
-
-
-}
-
--keep class android.content.SharedPreferences$OnSharedPreferenceChangeListener {
-
- public abstract void onSharedPreferenceChanged(android.content.SharedPreferences, java.lang.String);
-
-
-}
-
--keep class android.content.SyncAdapterType {
- <init>(java.lang.String, java.lang.String, boolean, boolean);
- <init>(java.lang.String, java.lang.String, boolean, boolean, boolean, boolean, java.lang.String, java.lang.String);
- <init>(android.os.Parcel);
-
- public boolean allowParallelSyncs();
- public int describeContents();
- public boolean equals(java.lang.Object);
- public java.lang.String getPackageName();
- public java.lang.String getSettingsActivity();
- public int hashCode();
- public boolean isAlwaysSyncable();
- public boolean isUserVisible();
- public static android.content.SyncAdapterType newKey(java.lang.String, java.lang.String);
- public boolean supportsUploading();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public java.lang.String accountType;
- public java.lang.String authority;
- public boolean isKey;
-}
-
--keep class android.content.SyncInfo {
- <init>(int, android.accounts.Account, java.lang.String, long);
- <init>(android.content.SyncInfo);
-
- public static android.content.SyncInfo createAccountRedacted(int, java.lang.String, long);
- public int describeContents();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public android.accounts.Account account;
- public java.lang.String authority;
- public int authorityId;
- public long startTime;
-}
-
--keep class android.content.SyncRequest {
- <init>(android.content.SyncRequest$Builder);
-
- public int describeContents();
- public android.accounts.Account getAccount();
- public android.os.Bundle getBundle();
- public java.lang.String getProvider();
- public long getSyncFlexTime();
- public long getSyncRunTime();
- public boolean isExpedited();
- public boolean isPeriodic();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.content.SyncRequest$Builder {
- <init>();
-
- public android.content.SyncRequest build();
- public android.content.SyncRequest$Builder setDisallowMetered(boolean);
- public android.content.SyncRequest$Builder setExpedited(boolean);
- public android.content.SyncRequest$Builder setExtras(android.os.Bundle);
- public android.content.SyncRequest$Builder setIgnoreBackoff(boolean);
- public android.content.SyncRequest$Builder setIgnoreSettings(boolean);
- public android.content.SyncRequest$Builder setManual(boolean);
- public android.content.SyncRequest$Builder setNoRetry(boolean);
- public android.content.SyncRequest$Builder setRequiresCharging(boolean);
- public android.content.SyncRequest$Builder setSyncAdapter(android.accounts.Account, java.lang.String);
- public android.content.SyncRequest$Builder syncOnce();
- public android.content.SyncRequest$Builder syncPeriodic(long, long);
-
-
-}
-
--keep class android.content.SyncStatusInfo {
- <init>(int);
- <init>(android.os.Parcel);
- <init>(android.content.SyncStatusInfo);
-
- public void addEvent(java.lang.String);
- public int describeContents();
- public java.lang.String getEvent(int);
- public int getEventCount();
- public long getEventTime(int);
- public int getLastFailureMesgAsInt(int);
- public long getPeriodicSyncTime(int);
- public void maybeResetTodayStats(boolean, boolean);
- public void removePeriodicSyncTime(int);
- public void setLastFailure(int, long, java.lang.String);
- public void setLastSuccess(int, long);
- public void setPeriodicSyncTime(int, long);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public int authorityId;
- public long initialFailureTime;
- public boolean initialize;
- public java.lang.String lastFailureMesg;
- public int lastFailureSource;
- public long lastFailureTime;
- public int lastSuccessSource;
- public long lastSuccessTime;
- public long lastTodayResetTime;
- public boolean pending;
- public long[] perSourceLastFailureTimes;
- public long[] perSourceLastSuccessTimes;
- public android.content.SyncStatusInfo$Stats todayStats;
- public android.content.SyncStatusInfo$Stats totalStats;
- public android.content.SyncStatusInfo$Stats yesterdayStats;
-}
-
--keep class android.content.SyncStatusInfo$Stats {
- <init>();
-
- public void clear();
- public void copyTo(android.content.SyncStatusInfo$Stats);
- public void readFromParcel(android.os.Parcel);
- public void writeToParcel(android.os.Parcel);
-
-
- public int numCancels;
- public int numFailures;
- public int numSourceFeed;
- public int numSourceLocal;
- public int numSourceOther;
- public int numSourcePeriodic;
- public int numSourcePoll;
- public int numSourceUser;
- public int numSyncs;
- public long totalElapsedTime;
-}
-
--keep class android.content.SyncStatusObserver {
-
- public abstract void onStatusChanged(int);
-
-
-}
-
--keep class android.content.UriPermission {
- <init>(android.net.Uri, int, long);
- <init>(android.os.Parcel);
-
- public int describeContents();
- public long getPersistedTime();
- public android.net.Uri getUri();
- public boolean isReadPermission();
- public boolean isWritePermission();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static long INVALID_TIME;
-}
-
--keep class android.content.pm.ActivityInfo {
- <init>();
- <init>(android.content.pm.ActivityInfo);
-
- public static int activityInfoConfigJavaToNative(int);
- public static int activityInfoConfigNativeToJava(int);
- public static java.lang.String colorModeToString(int);
- public int describeContents();
- public void dump(android.util.Printer, java.lang.String);
- public void dump(android.util.Printer, java.lang.String, int);
- public int getRealConfigChanged();
- public int getThemeResource();
- public static boolean isFixedOrientationLandscape(int);
- public static boolean isFixedOrientationPortrait(int);
- public static boolean isPreserveOrientationMode(int);
- public static boolean isResizeableMode(int);
- public static boolean isTranslucentOrFloating(android.content.res.TypedArray);
- public static java.lang.String lockTaskLaunchModeToString(int);
- public static java.lang.String resizeModeToString(int);
- public static java.lang.String screenOrientationToString(int);
- public boolean supportsPictureInPicture();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static int COLOR_MODE_DEFAULT;
- public static int COLOR_MODE_HDR;
- public static int COLOR_MODE_WIDE_COLOR_GAMUT;
- public static int CONFIG_ASSETS_PATHS;
- public static int CONFIG_COLOR_MODE;
- public static int CONFIG_DENSITY;
- public static int CONFIG_FONT_SCALE;
- public static int CONFIG_KEYBOARD;
- public static int CONFIG_KEYBOARD_HIDDEN;
- public static int CONFIG_LAYOUT_DIRECTION;
- public static int CONFIG_LOCALE;
- public static int CONFIG_MCC;
- public static int CONFIG_MNC;
- public static int[] CONFIG_NATIVE_BITS;
- public static int CONFIG_NAVIGATION;
- public static int CONFIG_ORIENTATION;
- public static int CONFIG_SCREEN_LAYOUT;
- public static int CONFIG_SCREEN_SIZE;
- public static int CONFIG_SMALLEST_SCREEN_SIZE;
- public static int CONFIG_TOUCHSCREEN;
- public static int CONFIG_UI_MODE;
- public static int CONFIG_WINDOW_CONFIGURATION;
- public static android.os.Parcelable$Creator CREATOR;
- public static int DOCUMENT_LAUNCH_ALWAYS;
- public static int DOCUMENT_LAUNCH_INTO_EXISTING;
- public static int DOCUMENT_LAUNCH_NEVER;
- public static int DOCUMENT_LAUNCH_NONE;
- public static int FLAG_ALLOW_EMBEDDED;
- public static int FLAG_ALLOW_TASK_REPARENTING;
- public static int FLAG_ALWAYS_FOCUSABLE;
- public static int FLAG_ALWAYS_RETAIN_TASK_STATE;
- public static int FLAG_AUTO_REMOVE_FROM_RECENTS;
- public static int FLAG_CLEAR_TASK_ON_LAUNCH;
- public static int FLAG_ENABLE_VR_MODE;
- public static int FLAG_EXCLUDE_FROM_RECENTS;
- public static int FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS;
- public static int FLAG_FINISH_ON_TASK_LAUNCH;
- public static int FLAG_HARDWARE_ACCELERATED;
- public static int FLAG_IMMERSIVE;
- public static int FLAG_IMPLICITLY_VISIBLE_TO_INSTANT_APP;
- public static int FLAG_MULTIPROCESS;
- public static int FLAG_NO_HISTORY;
- public static int FLAG_RELINQUISH_TASK_IDENTITY;
- public static int FLAG_RESUME_WHILE_PAUSING;
- public static int FLAG_SHOW_FOR_ALL_USERS;
- public static int FLAG_SHOW_WHEN_LOCKED;
- public static int FLAG_SINGLE_USER;
- public static int FLAG_STATE_NOT_NEEDED;
- public static int FLAG_SUPPORTS_PICTURE_IN_PICTURE;
- public static int FLAG_SYSTEM_USER_ONLY;
- public static int FLAG_TURN_SCREEN_ON;
- public static int FLAG_VISIBLE_TO_INSTANT_APP;
- public static int LAUNCH_MULTIPLE;
- public static int LAUNCH_SINGLE_INSTANCE;
- public static int LAUNCH_SINGLE_TASK;
- public static int LAUNCH_SINGLE_TOP;
- public static int LOCK_TASK_LAUNCH_MODE_ALWAYS;
- public static int LOCK_TASK_LAUNCH_MODE_DEFAULT;
- public static int LOCK_TASK_LAUNCH_MODE_IF_WHITELISTED;
- public static int LOCK_TASK_LAUNCH_MODE_NEVER;
- public static int PERSIST_ACROSS_REBOOTS;
- public static int PERSIST_NEVER;
- public static int PERSIST_ROOT_ONLY;
- public static int RESIZE_MODE_FORCE_RESIZABLE_LANDSCAPE_ONLY;
- public static int RESIZE_MODE_FORCE_RESIZABLE_PORTRAIT_ONLY;
- public static int RESIZE_MODE_FORCE_RESIZABLE_PRESERVE_ORIENTATION;
- public static int RESIZE_MODE_FORCE_RESIZEABLE;
- public static int RESIZE_MODE_RESIZEABLE;
- public static int RESIZE_MODE_RESIZEABLE_AND_PIPABLE_DEPRECATED;
- public static int RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION;
- public static int RESIZE_MODE_UNRESIZEABLE;
- public static int SCREEN_ORIENTATION_BEHIND;
- public static int SCREEN_ORIENTATION_FULL_SENSOR;
- public static int SCREEN_ORIENTATION_FULL_USER;
- public static int SCREEN_ORIENTATION_LANDSCAPE;
- public static int SCREEN_ORIENTATION_LOCKED;
- public static int SCREEN_ORIENTATION_NOSENSOR;
- public static int SCREEN_ORIENTATION_PORTRAIT;
- public static int SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
- public static int SCREEN_ORIENTATION_REVERSE_PORTRAIT;
- public static int SCREEN_ORIENTATION_SENSOR;
- public static int SCREEN_ORIENTATION_SENSOR_LANDSCAPE;
- public static int SCREEN_ORIENTATION_SENSOR_PORTRAIT;
- public static int SCREEN_ORIENTATION_UNSET;
- public static int SCREEN_ORIENTATION_UNSPECIFIED;
- public static int SCREEN_ORIENTATION_USER;
- public static int SCREEN_ORIENTATION_USER_LANDSCAPE;
- public static int SCREEN_ORIENTATION_USER_PORTRAIT;
- public static int UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW;
- public int colorMode;
- public int configChanges;
- public int documentLaunchMode;
- public int flags;
- public int launchMode;
- public java.lang.String launchToken;
- public int lockTaskLaunchMode;
- public float maxAspectRatio;
- public int maxRecents;
- public java.lang.String parentActivityName;
- public java.lang.String permission;
- public int persistableMode;
- public java.lang.String requestedVrComponent;
- public int resizeMode;
- public int rotationAnimation;
- public int screenOrientation;
- public int softInputMode;
- public java.lang.String targetActivity;
- public java.lang.String taskAffinity;
- public int theme;
- public int uiOptions;
- public android.content.pm.ActivityInfo$WindowLayout windowLayout;
-}
-
--keep class android.content.pm.ActivityInfo$WindowLayout {
- <init>(int, float, int, float, int, int, int);
-
-
-
- public int gravity;
- public int height;
- public float heightFraction;
- public int minHeight;
- public int minWidth;
- public int width;
- public float widthFraction;
-}
-
--keep class android.content.pm.ApplicationInfo {
- <init>();
- <init>(android.content.pm.ApplicationInfo);
-
- public int describeContents();
- public void disableCompatibilityMode();
- public void dump(android.util.Printer, java.lang.String);
- public void dump(android.util.Printer, java.lang.String, int);
- protected android.content.pm.ApplicationInfo getApplicationInfo();
- public java.lang.String getBaseCodePath();
- public java.lang.String getBaseResourcePath();
- public static java.lang.CharSequence getCategoryTitle(android.content.Context, int);
- public java.lang.String getCodePath();
- public int getHiddenApiEnforcementPolicy();
- public java.lang.String getResourcePath();
- public java.lang.String[] getSplitCodePaths();
- public java.lang.String[] getSplitResourcePaths();
- public boolean hasCode();
- public boolean hasRtlSupport();
- public void initForUser(int);
- public boolean isDefaultToDeviceProtectedStorage();
- public boolean isDirectBootAware();
- public boolean isEncryptionAware();
- public boolean isExternal();
- public boolean isExternalAsec();
- public boolean isForwardLocked();
- public boolean isInstantApp();
- public boolean isInternal();
- public boolean isOem();
- public boolean isPartiallyDirectBootAware();
- public boolean isPrivilegedApp();
- public boolean isProduct();
- public boolean isRequiredForSystemUser();
- public boolean isSignedWithPlatformKey();
- public boolean isStaticSharedLibrary();
- public boolean isSystemApp();
- public boolean isUpdatedSystemApp();
- public static boolean isValidHiddenApiEnforcementPolicy(int);
- public boolean isVendor();
- public boolean isVirtualPreload();
- public android.graphics.drawable.Drawable loadDefaultIcon(android.content.pm.PackageManager);
- public java.lang.CharSequence loadDescription(android.content.pm.PackageManager);
- public void maybeUpdateHiddenApiEnforcementPolicy(int, int);
- public boolean requestsIsolatedSplitLoading();
- public void setBaseCodePath(java.lang.String);
- public void setBaseResourcePath(java.lang.String);
- public void setCodePath(java.lang.String);
- public void setHiddenApiEnforcementPolicy(int);
- public void setResourcePath(java.lang.String);
- public void setSplitCodePaths(java.lang.String[]);
- public void setSplitResourcePaths(java.lang.String[]);
- public void setVersionCode(long);
- public java.lang.String toString();
- public boolean usesCompatibilityMode();
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long, int);
-
-
- public static int CATEGORY_AUDIO;
- public static int CATEGORY_GAME;
- public static int CATEGORY_IMAGE;
- public static int CATEGORY_MAPS;
- public static int CATEGORY_NEWS;
- public static int CATEGORY_PRODUCTIVITY;
- public static int CATEGORY_SOCIAL;
- public static int CATEGORY_UNDEFINED;
- public static int CATEGORY_VIDEO;
- public static android.os.Parcelable$Creator CREATOR;
- public static int FLAG_ALLOW_BACKUP;
- public static int FLAG_ALLOW_CLEAR_USER_DATA;
- public static int FLAG_ALLOW_TASK_REPARENTING;
- public static int FLAG_DEBUGGABLE;
- public static int FLAG_EXTERNAL_STORAGE;
- public static int FLAG_EXTRACT_NATIVE_LIBS;
- public static int FLAG_FACTORY_TEST;
- public static int FLAG_FULL_BACKUP_ONLY;
- public static int FLAG_HARDWARE_ACCELERATED;
- public static int FLAG_HAS_CODE;
- public static int FLAG_INSTALLED;
- public static int FLAG_IS_DATA_ONLY;
- public static int FLAG_IS_GAME;
- public static int FLAG_KILL_AFTER_RESTORE;
- public static int FLAG_LARGE_HEAP;
- public static int FLAG_MULTIARCH;
- public static int FLAG_PERSISTENT;
- public static int FLAG_RESIZEABLE_FOR_SCREENS;
- public static int FLAG_RESTORE_ANY_VERSION;
- public static int FLAG_STOPPED;
- public static int FLAG_SUPPORTS_LARGE_SCREENS;
- public static int FLAG_SUPPORTS_NORMAL_SCREENS;
- public static int FLAG_SUPPORTS_RTL;
- public static int FLAG_SUPPORTS_SCREEN_DENSITIES;
- public static int FLAG_SUPPORTS_SMALL_SCREENS;
- public static int FLAG_SUPPORTS_XLARGE_SCREENS;
- public static int FLAG_SUSPENDED;
- public static int FLAG_SYSTEM;
- public static int FLAG_TEST_ONLY;
- public static int FLAG_UPDATED_SYSTEM_APP;
- public static int FLAG_USES_CLEARTEXT_TRAFFIC;
- public static int FLAG_VM_SAFE_MODE;
- public static int HIDDEN_API_ENFORCEMENT_BLACK;
- public static int HIDDEN_API_ENFORCEMENT_DARK_GREY_AND_BLACK;
- public static int HIDDEN_API_ENFORCEMENT_DEFAULT;
- public static int HIDDEN_API_ENFORCEMENT_JUST_WARN;
- public static int HIDDEN_API_ENFORCEMENT_NONE;
- public static java.lang.String METADATA_PRELOADED_FONTS;
- public static int PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE;
- public static int PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION;
- public static int PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_UNRESIZEABLE;
- public static int PRIVATE_FLAG_BACKUP_IN_FOREGROUND;
- public static int PRIVATE_FLAG_CANT_SAVE_STATE;
- public static int PRIVATE_FLAG_DEFAULT_TO_DEVICE_PROTECTED_STORAGE;
- public static int PRIVATE_FLAG_DIRECT_BOOT_AWARE;
- public static int PRIVATE_FLAG_FORWARD_LOCK;
- public static int PRIVATE_FLAG_HAS_DOMAIN_URLS;
- public static int PRIVATE_FLAG_HIDDEN;
- public static int PRIVATE_FLAG_INSTANT;
- public static int PRIVATE_FLAG_ISOLATED_SPLIT_LOADING;
- public static int PRIVATE_FLAG_OEM;
- public static int PRIVATE_FLAG_PARTIALLY_DIRECT_BOOT_AWARE;
- public static int PRIVATE_FLAG_PRIVILEGED;
- public static int PRIVATE_FLAG_PRODUCT;
- public static int PRIVATE_FLAG_REQUIRED_FOR_SYSTEM_USER;
- public static int PRIVATE_FLAG_SIGNED_WITH_PLATFORM_KEY;
- public static int PRIVATE_FLAG_STATIC_SHARED_LIBRARY;
- public static int PRIVATE_FLAG_VENDOR;
- public static int PRIVATE_FLAG_VIRTUAL_PRELOAD;
- public java.lang.String appComponentFactory;
- public java.lang.String backupAgentName;
- public int category;
- public java.lang.String classLoaderName;
- public java.lang.String className;
- public int compatibleWidthLimitDp;
- public int compileSdkVersion;
- public java.lang.String compileSdkVersionCodename;
- public java.lang.String credentialProtectedDataDir;
- public java.lang.String dataDir;
- public int descriptionRes;
- public java.lang.String deviceProtectedDataDir;
- public boolean enabled;
- public int enabledSetting;
- public int flags;
- public int fullBackupContent;
- public boolean hiddenUntilInstalled;
- public int installLocation;
- public int largestWidthLimitDp;
- public long longVersionCode;
- public java.lang.String manageSpaceActivityName;
- public float maxAspectRatio;
- public int minSdkVersion;
- public java.lang.String nativeLibraryDir;
- public java.lang.String nativeLibraryRootDir;
- public boolean nativeLibraryRootRequiresIsa;
- public int networkSecurityConfigRes;
- public java.lang.String permission;
- public java.lang.String primaryCpuAbi;
- public int privateFlags;
- public java.lang.String processName;
- public java.lang.String publicSourceDir;
- public int requiresSmallestWidthDp;
- public java.lang.String[] resourceDirs;
- public java.lang.String scanPublicSourceDir;
- public java.lang.String scanSourceDir;
- public java.lang.String seInfo;
- public java.lang.String seInfoUser;
- public java.lang.String secondaryCpuAbi;
- public java.lang.String secondaryNativeLibraryDir;
- public java.lang.String[] sharedLibraryFiles;
- public java.lang.String sourceDir;
- public java.lang.String[] splitClassLoaderNames;
- public android.util.SparseArray splitDependencies;
- public java.lang.String[] splitNames;
- public java.lang.String[] splitPublicSourceDirs;
- public java.lang.String[] splitSourceDirs;
- public java.util.UUID storageUuid;
- public int targetSandboxVersion;
- public int targetSdkVersion;
- public java.lang.String taskAffinity;
- public int theme;
- public int uiOptions;
- public int uid;
- public int versionCode;
- public java.lang.String volumeUuid;
-}
-
--keep class android.content.pm.AuxiliaryResolveInfo {
- <init>(java.lang.String, boolean, android.content.Intent, java.util.List);
- <init>(android.content.ComponentName, android.content.Intent, java.util.List);
- <init>(android.content.ComponentName, java.lang.String, long, java.lang.String);
-
-
-
- public android.content.Intent failureIntent;
- public java.util.List filters;
- public android.content.ComponentName installFailureActivity;
- public boolean needsPhaseTwo;
- public java.lang.String token;
-}
-
--keep class android.content.pm.AuxiliaryResolveInfo$AuxiliaryFilter {
- <init>(android.content.IntentFilter, android.content.pm.InstantAppResolveInfo, java.lang.String, android.os.Bundle);
- <init>(android.content.pm.InstantAppResolveInfo, java.lang.String, android.os.Bundle);
- <init>(java.lang.String, long, java.lang.String);
-
- public java.lang.String toString();
-
-
- public android.os.Bundle extras;
- public java.lang.String packageName;
- public android.content.pm.InstantAppResolveInfo resolveInfo;
- public java.lang.String splitName;
- public long versionCode;
-}
-
--keep class android.content.pm.BaseParceledListSlice {
- <init>(java.util.List);
-
- public java.util.List getList();
- protected abstract android.os.Parcelable$Creator readParcelableCreator(android.os.Parcel, java.lang.ClassLoader);
- public void setInlineCountLimit(int);
- protected abstract void writeElement(java.lang.Object, android.os.Parcel, int);
- protected abstract void writeParcelableCreator(java.lang.Object, android.os.Parcel);
- public void writeToParcel(android.os.Parcel, int);
-
-
-}
-
--keep class android.content.pm.ChangedPackages {
- <init>(int, java.util.List);
- <init>(android.os.Parcel);
-
- public int describeContents();
- public java.util.List getPackageNames();
- public int getSequenceNumber();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.content.pm.ComponentInfo {
- <init>();
- <init>(android.content.pm.ComponentInfo);
- <init>(android.os.Parcel);
-
- protected void dumpBack(android.util.Printer, java.lang.String);
- protected void dumpFront(android.util.Printer, java.lang.String);
- protected android.content.pm.ApplicationInfo getApplicationInfo();
- public int getBannerResource();
- public android.content.ComponentName getComponentName();
- public int getIconResource();
- public int getLogoResource();
- public boolean isEnabled();
- protected android.graphics.drawable.Drawable loadDefaultBanner(android.content.pm.PackageManager);
- public android.graphics.drawable.Drawable loadDefaultIcon(android.content.pm.PackageManager);
- protected android.graphics.drawable.Drawable loadDefaultLogo(android.content.pm.PackageManager);
- public java.lang.CharSequence loadUnsafeLabel(android.content.pm.PackageManager);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public android.content.pm.ApplicationInfo applicationInfo;
- public int descriptionRes;
- public boolean directBootAware;
- public boolean enabled;
- public boolean encryptionAware;
- public boolean exported;
- public java.lang.String processName;
- public java.lang.String splitName;
-}
-
--keep class android.content.pm.ConfigurationInfo {
- <init>();
- <init>(android.content.pm.ConfigurationInfo);
-
- public int describeContents();
- public java.lang.String getGlEsVersion();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int GL_ES_VERSION_UNDEFINED;
- public static int INPUT_FEATURE_FIVE_WAY_NAV;
- public static int INPUT_FEATURE_HARD_KEYBOARD;
- public int reqGlEsVersion;
- public int reqInputFeatures;
- public int reqKeyboardType;
- public int reqNavigation;
- public int reqTouchScreen;
-}
-
--keep class android.content.pm.FeatureGroupInfo {
- <init>();
- <init>(android.content.pm.FeatureGroupInfo);
-
- public int describeContents();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public android.content.pm.FeatureInfo[] features;
-}
-
--keep class android.content.pm.FeatureInfo {
- <init>();
- <init>(android.content.pm.FeatureInfo);
-
- public int describeContents();
- public java.lang.String getGlEsVersion();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int FLAG_REQUIRED;
- public static int GL_ES_VERSION_UNDEFINED;
- public int flags;
- public java.lang.String name;
- public int reqGlEsVersion;
- public int version;
-}
-
--keep class android.content.pm.IDexModuleRegisterCallback {
-
- public abstract void onDexModuleRegistered(java.lang.String, boolean, java.lang.String);
-
-
-}
-
--keep class android.content.pm.IOnPermissionsChangeListener {
-
- public abstract void onPermissionsChanged(int);
-
-
-}
-
--keep class android.content.pm.IPackageDataObserver {
-
- public abstract void onRemoveCompleted(java.lang.String, boolean);
-
-
-}
-
--keep class android.content.pm.IPackageDeleteObserver {
-
- public abstract void packageDeleted(java.lang.String, int);
-
-
-}
-
--keep class android.content.pm.IPackageDeleteObserver2 {
-
- public abstract void onPackageDeleted(java.lang.String, int, java.lang.String);
- public abstract void onUserActionRequired(android.content.Intent);
-
-
-}
-
--keep class android.content.pm.IPackageInstaller {
-
- public abstract void abandonSession(int);
- public abstract int createSession(android.content.pm.PackageInstaller$SessionParams, java.lang.String, int);
- public abstract android.content.pm.ParceledListSlice getAllSessions(int);
- public abstract android.content.pm.ParceledListSlice getMySessions(java.lang.String, int);
- public abstract android.content.pm.PackageInstaller$SessionInfo getSessionInfo(int);
- public abstract android.content.pm.IPackageInstallerSession openSession(int);
- public abstract void registerCallback(android.content.pm.IPackageInstallerCallback, int);
- public abstract void setPermissionsResult(int, boolean);
- public abstract void uninstall(android.content.pm.VersionedPackage, java.lang.String, int, android.content.IntentSender, int);
- public abstract void unregisterCallback(android.content.pm.IPackageInstallerCallback);
- public abstract void updateSessionAppIcon(int, android.graphics.Bitmap);
- public abstract void updateSessionAppLabel(int, java.lang.String);
-
-
-}
-
--keep class android.content.pm.IPackageInstallerCallback {
-
- public abstract void onSessionActiveChanged(int, boolean);
- public abstract void onSessionBadgingChanged(int);
- public abstract void onSessionCreated(int);
- public abstract void onSessionFinished(int, boolean);
- public abstract void onSessionProgressChanged(int, float);
-
-
-}
-
--keep class android.content.pm.IPackageInstallerSession {
-
- public abstract void abandon();
- public abstract void addClientProgress(float);
- public abstract void close();
- public abstract void commit(android.content.IntentSender, boolean);
- public abstract java.lang.String[] getNames();
- public abstract android.os.ParcelFileDescriptor openRead(java.lang.String);
- public abstract android.os.ParcelFileDescriptor openWrite(java.lang.String, long, long);
- public abstract void removeSplit(java.lang.String);
- public abstract void setClientProgress(float);
- public abstract void transfer(java.lang.String);
- public abstract void write(java.lang.String, long, long, android.os.ParcelFileDescriptor);
-
-
-}
-
--keep class android.content.pm.IPackageManager {
-
- public abstract boolean activitySupportsIntent(android.content.ComponentName, android.content.Intent, java.lang.String);
- public abstract void addCrossProfileIntentFilter(android.content.IntentFilter, java.lang.String, int, int, int);
- public abstract void addOnPermissionsChangeListener(android.content.pm.IOnPermissionsChangeListener);
- public abstract boolean addPermission(android.content.pm.PermissionInfo);
- public abstract boolean addPermissionAsync(android.content.pm.PermissionInfo);
- public abstract void addPersistentPreferredActivity(android.content.IntentFilter, android.content.ComponentName, int);
- public abstract void addPreferredActivity(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName, int);
- public abstract boolean canForwardTo(android.content.Intent, java.lang.String, int, int);
- public abstract boolean canRequestPackageInstalls(java.lang.String, int);
- public abstract java.lang.String[] canonicalToCurrentPackageNames(java.lang.String[]);
- public abstract void checkPackageStartable(java.lang.String, int);
- public abstract int checkPermission(java.lang.String, java.lang.String, int);
- public abstract int checkSignatures(java.lang.String, java.lang.String);
- public abstract int checkUidPermission(java.lang.String, int);
- public abstract int checkUidSignatures(int, int);
- public abstract void clearApplicationProfileData(java.lang.String);
- public abstract void clearApplicationUserData(java.lang.String, android.content.pm.IPackageDataObserver, int);
- public abstract void clearCrossProfileIntentFilters(int, java.lang.String);
- public abstract void clearPackagePersistentPreferredActivities(java.lang.String, int);
- public abstract void clearPackagePreferredActivities(java.lang.String);
- public abstract java.lang.String[] currentToCanonicalPackageNames(java.lang.String[]);
- public abstract void deleteApplicationCacheFiles(java.lang.String, android.content.pm.IPackageDataObserver);
- public abstract void deleteApplicationCacheFilesAsUser(java.lang.String, int, android.content.pm.IPackageDataObserver);
- public abstract void deletePackageAsUser(java.lang.String, int, android.content.pm.IPackageDeleteObserver, int, int);
- public abstract void deletePackageVersioned(android.content.pm.VersionedPackage, android.content.pm.IPackageDeleteObserver2, int, int);
- public abstract void deletePreloadsFileCache();
- public abstract void dumpProfiles(java.lang.String);
- public abstract void enterSafeMode();
- public abstract void extendVerificationTimeout(int, int, long);
- public abstract android.content.pm.ResolveInfo findPersistentPreferredActivity(android.content.Intent, int);
- public abstract void finishPackageInstall(int, boolean);
- public abstract void flushPackageRestrictionsAsUser(int);
- public abstract void forceDexOpt(java.lang.String);
- public abstract void freeStorage(java.lang.String, long, int, android.content.IntentSender);
- public abstract void freeStorageAndNotify(java.lang.String, long, int, android.content.pm.IPackageDataObserver);
- public abstract android.content.pm.ActivityInfo getActivityInfo(android.content.ComponentName, int, int);
- public abstract android.content.pm.ParceledListSlice getAllIntentFilters(java.lang.String);
- public abstract java.util.List getAllPackages();
- public abstract android.content.pm.ParceledListSlice getAllPermissionGroups(int);
- public abstract java.lang.String[] getAppOpPermissionPackages(java.lang.String);
- public abstract int getApplicationEnabledSetting(java.lang.String, int);
- public abstract boolean getApplicationHiddenSettingAsUser(java.lang.String, int);
- public abstract android.content.pm.ApplicationInfo getApplicationInfo(java.lang.String, int, int);
- public abstract android.content.pm.dex.IArtManager getArtManager();
- public abstract boolean getBlockUninstallForUser(java.lang.String, int);
- public abstract android.content.pm.ChangedPackages getChangedPackages(int, int);
- public abstract int getComponentEnabledSetting(android.content.ComponentName, int);
- public abstract byte[] getDefaultAppsBackup(int);
- public abstract java.lang.String getDefaultBrowserPackageName(int);
- public abstract int getFlagsForUid(int);
- public abstract java.lang.CharSequence getHarmfulAppWarning(java.lang.String, int);
- public abstract android.content.ComponentName getHomeActivities(java.util.List);
- public abstract int getInstallLocation();
- public abstract int getInstallReason(java.lang.String, int);
- public abstract android.content.pm.ParceledListSlice getInstalledApplications(int, int);
- public abstract android.content.pm.ParceledListSlice getInstalledPackages(int, int);
- public abstract java.lang.String getInstallerPackageName(java.lang.String);
- public abstract java.lang.String getInstantAppAndroidId(java.lang.String, int);
- public abstract byte[] getInstantAppCookie(java.lang.String, int);
- public abstract android.graphics.Bitmap getInstantAppIcon(java.lang.String, int);
- public abstract android.content.ComponentName getInstantAppInstallerComponent();
- public abstract android.content.ComponentName getInstantAppResolverComponent();
- public abstract android.content.ComponentName getInstantAppResolverSettingsComponent();
- public abstract android.content.pm.ParceledListSlice getInstantApps(int);
- public abstract android.content.pm.InstrumentationInfo getInstrumentationInfo(android.content.ComponentName, int);
- public abstract byte[] getIntentFilterVerificationBackup(int);
- public abstract android.content.pm.ParceledListSlice getIntentFilterVerifications(java.lang.String);
- public abstract int getIntentVerificationStatus(java.lang.String, int);
- public abstract android.content.pm.KeySet getKeySetByAlias(java.lang.String, java.lang.String);
- public abstract android.content.pm.ResolveInfo getLastChosenActivity(android.content.Intent, java.lang.String, int);
- public abstract int getMoveStatus(int);
- public abstract java.lang.String getNameForUid(int);
- public abstract java.lang.String[] getNamesForUids(int[]);
- public abstract int[] getPackageGids(java.lang.String, int, int);
- public abstract android.content.pm.PackageInfo getPackageInfo(java.lang.String, int, int);
- public abstract android.content.pm.PackageInfo getPackageInfoVersioned(android.content.pm.VersionedPackage, int, int);
- public abstract android.content.pm.IPackageInstaller getPackageInstaller();
- public abstract void getPackageSizeInfo(java.lang.String, int, android.content.pm.IPackageStatsObserver);
- public abstract int getPackageUid(java.lang.String, int, int);
- public abstract java.lang.String[] getPackagesForUid(int);
- public abstract android.content.pm.ParceledListSlice getPackagesHoldingPermissions(java.lang.String[], int, int);
- public abstract java.lang.String getPermissionControllerPackageName();
- public abstract int getPermissionFlags(java.lang.String, java.lang.String, int);
- public abstract byte[] getPermissionGrantBackup(int);
- public abstract android.content.pm.PermissionGroupInfo getPermissionGroupInfo(java.lang.String, int);
- public abstract android.content.pm.PermissionInfo getPermissionInfo(java.lang.String, java.lang.String, int);
- public abstract android.content.pm.ParceledListSlice getPersistentApplications(int);
- public abstract int getPreferredActivities(java.util.List, java.util.List, java.lang.String);
- public abstract byte[] getPreferredActivityBackup(int);
- public abstract int getPrivateFlagsForUid(int);
- public abstract android.content.pm.ProviderInfo getProviderInfo(android.content.ComponentName, int, int);
- public abstract android.content.pm.ActivityInfo getReceiverInfo(android.content.ComponentName, int, int);
- public abstract android.content.pm.ServiceInfo getServiceInfo(android.content.ComponentName, int, int);
- public abstract java.lang.String getServicesSystemSharedLibraryPackageName();
- public abstract android.content.pm.ParceledListSlice getSharedLibraries(java.lang.String, int, int);
- public abstract java.lang.String getSharedSystemSharedLibraryPackageName();
- public abstract android.content.pm.KeySet getSigningKeySet(java.lang.String);
- public abstract android.os.PersistableBundle getSuspendedPackageAppExtras(java.lang.String, int);
- public abstract android.content.pm.ParceledListSlice getSystemAvailableFeatures();
- public abstract java.lang.String[] getSystemSharedLibraryNames();
- public abstract java.lang.String getSystemTextClassifierPackageName();
- public abstract int getUidForSharedUser(java.lang.String);
- public abstract android.content.pm.VerifierDeviceIdentity getVerifierDeviceIdentity();
- public abstract void grantDefaultPermissionsToActiveLuiApp(java.lang.String, int);
- public abstract void grantDefaultPermissionsToEnabledCarrierApps(java.lang.String[], int);
- public abstract void grantDefaultPermissionsToEnabledImsServices(java.lang.String[], int);
- public abstract void grantDefaultPermissionsToEnabledTelephonyDataServices(java.lang.String[], int);
- public abstract void grantRuntimePermission(java.lang.String, java.lang.String, int);
- public abstract boolean hasSigningCertificate(java.lang.String, byte[], int);
- public abstract boolean hasSystemFeature(java.lang.String, int);
- public abstract boolean hasSystemUidErrors();
- public abstract boolean hasUidSigningCertificate(int, byte[], int);
- public abstract int installExistingPackageAsUser(java.lang.String, int, int, int);
- public abstract boolean isFirstBoot();
- public abstract boolean isInstantApp(java.lang.String, int);
- public abstract boolean isOnlyCoreApps();
- public abstract boolean isPackageAvailable(java.lang.String, int);
- public abstract boolean isPackageDeviceAdminOnAnyUser(java.lang.String);
- public abstract boolean isPackageSignedByKeySet(java.lang.String, android.content.pm.KeySet);
- public abstract boolean isPackageSignedByKeySetExactly(java.lang.String, android.content.pm.KeySet);
- public abstract boolean isPackageStateProtected(java.lang.String, int);
- public abstract boolean isPackageSuspendedForUser(java.lang.String, int);
- public abstract boolean isPermissionEnforced(java.lang.String);
- public abstract boolean isPermissionRevokedByPolicy(java.lang.String, java.lang.String, int);
- public abstract boolean isProtectedBroadcast(java.lang.String);
- public abstract boolean isSafeMode();
- public abstract boolean isStorageLow();
- public abstract boolean isUidPrivileged(int);
- public abstract boolean isUpgrade();
- public abstract void logAppProcessStartIfNeeded(java.lang.String, int, java.lang.String, java.lang.String, int);
- public abstract int movePackage(java.lang.String, java.lang.String);
- public abstract int movePrimaryStorage(java.lang.String);
- public abstract android.content.pm.PackageCleanItem nextPackageToClean(android.content.pm.PackageCleanItem);
- public abstract void notifyDexLoad(java.lang.String, java.util.List, java.util.List, java.lang.String);
- public abstract void notifyPackageUse(java.lang.String, int);
- public abstract boolean performDexOptMode(java.lang.String, boolean, java.lang.String, boolean, boolean, java.lang.String);
- public abstract boolean performDexOptSecondary(java.lang.String, java.lang.String, boolean);
- public abstract void performFstrimIfNeeded();
- public abstract android.content.pm.ParceledListSlice queryContentProviders(java.lang.String, int, int, java.lang.String);
- public abstract android.content.pm.ParceledListSlice queryInstrumentation(java.lang.String, int);
- public abstract android.content.pm.ParceledListSlice queryIntentActivities(android.content.Intent, java.lang.String, int, int);
- public abstract android.content.pm.ParceledListSlice queryIntentActivityOptions(android.content.ComponentName, android.content.Intent[], java.lang.String[], android.content.Intent, java.lang.String, int, int);
- public abstract android.content.pm.ParceledListSlice queryIntentContentProviders(android.content.Intent, java.lang.String, int, int);
- public abstract android.content.pm.ParceledListSlice queryIntentReceivers(android.content.Intent, java.lang.String, int, int);
- public abstract android.content.pm.ParceledListSlice queryIntentServices(android.content.Intent, java.lang.String, int, int);
- public abstract android.content.pm.ParceledListSlice queryPermissionsByGroup(java.lang.String, int);
- public abstract void querySyncProviders(java.util.List, java.util.List);
- public abstract void reconcileSecondaryDexFiles(java.lang.String);
- public abstract void registerDexModule(java.lang.String, java.lang.String, boolean, android.content.pm.IDexModuleRegisterCallback);
- public abstract void registerMoveCallback(android.content.pm.IPackageMoveObserver);
- public abstract void removeOnPermissionsChangeListener(android.content.pm.IOnPermissionsChangeListener);
- public abstract void removePermission(java.lang.String);
- public abstract void replacePreferredActivity(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName, int);
- public abstract void resetApplicationPreferences(int);
- public abstract void resetRuntimePermissions();
- public abstract android.content.pm.ProviderInfo resolveContentProvider(java.lang.String, int, int);
- public abstract android.content.pm.ResolveInfo resolveIntent(android.content.Intent, java.lang.String, int, int);
- public abstract android.content.pm.ResolveInfo resolveService(android.content.Intent, java.lang.String, int, int);
- public abstract void restoreDefaultApps(byte[], int);
- public abstract void restoreIntentFilterVerification(byte[], int);
- public abstract void restorePermissionGrants(byte[], int);
- public abstract void restorePreferredActivities(byte[], int);
- public abstract void revokeDefaultPermissionsFromDisabledTelephonyDataServices(java.lang.String[], int);
- public abstract void revokeDefaultPermissionsFromLuiApps(java.lang.String[], int);
- public abstract void revokeRuntimePermission(java.lang.String, java.lang.String, int);
- public abstract boolean runBackgroundDexoptJob(java.util.List);
- public abstract void setApplicationCategoryHint(java.lang.String, int, java.lang.String);
- public abstract void setApplicationEnabledSetting(java.lang.String, int, int, int, java.lang.String);
- public abstract boolean setApplicationHiddenSettingAsUser(java.lang.String, boolean, int);
- public abstract boolean setBlockUninstallForUser(java.lang.String, boolean, int);
- public abstract void setComponentEnabledSetting(android.content.ComponentName, int, int, int);
- public abstract boolean setDefaultBrowserPackageName(java.lang.String, int);
- public abstract void setHarmfulAppWarning(java.lang.String, java.lang.CharSequence, int);
- public abstract void setHomeActivity(android.content.ComponentName, int);
- public abstract boolean setInstallLocation(int);
- public abstract void setInstallerPackageName(java.lang.String, java.lang.String);
- public abstract boolean setInstantAppCookie(java.lang.String, byte[], int);
- public abstract void setLastChosenActivity(android.content.Intent, java.lang.String, int, android.content.IntentFilter, int, android.content.ComponentName);
- public abstract void setPackageStoppedState(java.lang.String, boolean, int);
- public abstract java.lang.String[] setPackagesSuspendedAsUser(java.lang.String[], boolean, android.os.PersistableBundle, android.os.PersistableBundle, java.lang.String, java.lang.String, int);
- public abstract void setPermissionEnforced(java.lang.String, boolean);
- public abstract boolean setRequiredForSystemUser(java.lang.String, boolean);
- public abstract void setSystemAppHiddenUntilInstalled(java.lang.String, boolean);
- public abstract boolean setSystemAppInstallState(java.lang.String, boolean, int);
- public abstract void setUpdateAvailable(java.lang.String, boolean);
- public abstract boolean shouldShowRequestPermissionRationale(java.lang.String, java.lang.String, int);
- public abstract void systemReady();
- public abstract void unregisterMoveCallback(android.content.pm.IPackageMoveObserver);
- public abstract boolean updateIntentVerificationStatus(java.lang.String, int, int);
- public abstract void updatePackagesIfNeeded();
- public abstract void updatePermissionFlags(java.lang.String, java.lang.String, int, int, int);
- public abstract void updatePermissionFlagsForAllApps(int, int, int);
- public abstract void verifyIntentFilter(int, int, java.util.List);
- public abstract void verifyPendingInstall(int, int);
-
-
-}
-
--keep class android.content.pm.IPackageMoveObserver {
-
- public abstract void onCreated(int, android.os.Bundle);
- public abstract void onStatusChanged(int, int, long);
-
-
-}
-
--keep class android.content.pm.IPackageStatsObserver {
-
- public abstract void onGetStatsCompleted(android.content.pm.PackageStats, boolean);
-
-
-}
-
--keep class android.content.pm.InstantAppInfo {
- <init>(android.content.pm.ApplicationInfo, java.lang.String[], java.lang.String[]);
- <init>(java.lang.String, java.lang.CharSequence, java.lang.String[], java.lang.String[]);
-
- public int describeContents();
- public android.content.pm.ApplicationInfo getApplicationInfo();
- public java.lang.String[] getGrantedPermissions();
- public java.lang.String getPackageName();
- public java.lang.String[] getRequestedPermissions();
- public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
- public java.lang.CharSequence loadLabel(android.content.pm.PackageManager);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.content.pm.InstantAppIntentFilter {
- <init>(java.lang.String, java.util.List);
-
- public int describeContents();
- public java.util.List getFilters();
- public java.lang.String getSplitName();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.content.pm.InstantAppResolveInfo {
- <init>(android.content.pm.InstantAppResolveInfo$InstantAppDigest, java.lang.String, java.util.List, int);
- <init>(android.content.pm.InstantAppResolveInfo$InstantAppDigest, java.lang.String, java.util.List, long, android.os.Bundle);
- <init>(java.lang.String, java.lang.String, java.util.List);
- <init>(android.os.Bundle);
-
- public int describeContents();
- public byte[] getDigestBytes();
- public int getDigestPrefix();
- public android.os.Bundle getExtras();
- public java.util.List getIntentFilters();
- public long getLongVersionCode();
- public java.lang.String getPackageName();
- public int getVersionCode();
- public boolean shouldLetInstallerDecide();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.content.pm.InstantAppResolveInfo$InstantAppDigest {
- <init>(java.lang.String);
- <init>(java.lang.String, int);
-
- public int describeContents();
- public byte[][] getDigestBytes();
- public int[] getDigestPrefix();
- public int[] getDigestPrefixSecure();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static android.content.pm.InstantAppResolveInfo$InstantAppDigest UNDEFINED;
-}
-
--keep class android.content.pm.InstrumentationInfo {
- <init>();
- <init>(android.content.pm.InstrumentationInfo);
-
- public void copyTo(android.content.pm.ApplicationInfo);
- public int describeContents();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public java.lang.String credentialProtectedDataDir;
- public java.lang.String dataDir;
- public java.lang.String deviceProtectedDataDir;
- public boolean functionalTest;
- public boolean handleProfiling;
- public java.lang.String nativeLibraryDir;
- public java.lang.String primaryCpuAbi;
- public java.lang.String publicSourceDir;
- public java.lang.String secondaryCpuAbi;
- public java.lang.String secondaryNativeLibraryDir;
- public java.lang.String sourceDir;
- public android.util.SparseArray splitDependencies;
- public java.lang.String[] splitNames;
- public java.lang.String[] splitPublicSourceDirs;
- public java.lang.String[] splitSourceDirs;
- public java.lang.String targetPackage;
- public java.lang.String targetProcesses;
-}
-
--keep class android.content.pm.IntentFilterVerificationInfo {
- <init>();
- <init>(java.lang.String, android.util.ArraySet);
- <init>(org.xmlpull.v1.XmlPullParser);
- <init>(android.os.Parcel);
-
- public int describeContents();
- public java.util.Set getDomains();
- public java.lang.String getDomainsString();
- public java.lang.String getPackageName();
- public int getStatus();
- public java.lang.String getStatusString();
- public static java.lang.String getStatusStringFromValue(long);
- public void readFromXml(org.xmlpull.v1.XmlPullParser);
- public void setDomains(android.util.ArraySet);
- public void setStatus(int);
- public void writeToParcel(android.os.Parcel, int);
- public void writeToXml(org.xmlpull.v1.XmlSerializer);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.content.pm.KeySet {
- <init>(android.os.IBinder);
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public android.os.IBinder getToken();
- public int hashCode();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.content.pm.PackageCleanItem {
- <init>(int, java.lang.String, boolean);
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public int hashCode();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public boolean andCode;
- public java.lang.String packageName;
- public int userId;
-}
-
--keep class android.content.pm.PackageInfo {
- <init>();
-
- public static long composeLongVersionCode(int, int);
- public int describeContents();
- public long getLongVersionCode();
- public boolean isOverlayPackage();
- public boolean isStaticOverlayPackage();
- public void setLongVersionCode(long);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int INSTALL_LOCATION_AUTO;
- public static int INSTALL_LOCATION_INTERNAL_ONLY;
- public static int INSTALL_LOCATION_PREFER_EXTERNAL;
- public static int INSTALL_LOCATION_UNSPECIFIED;
- public static int REQUESTED_PERMISSION_GRANTED;
- public static int REQUESTED_PERMISSION_REQUIRED;
- public android.content.pm.ActivityInfo[] activities;
- public android.content.pm.ApplicationInfo applicationInfo;
- public int baseRevisionCode;
- public int compileSdkVersion;
- public java.lang.String compileSdkVersionCodename;
- public android.content.pm.ConfigurationInfo[] configPreferences;
- public boolean coreApp;
- public android.content.pm.FeatureGroupInfo[] featureGroups;
- public long firstInstallTime;
- public int[] gids;
- public int installLocation;
- public android.content.pm.InstrumentationInfo[] instrumentation;
- public boolean isStub;
- public long lastUpdateTime;
- public java.lang.String overlayCategory;
- public int overlayPriority;
- public java.lang.String overlayTarget;
- public java.lang.String packageName;
- public android.content.pm.PermissionInfo[] permissions;
- public android.content.pm.ProviderInfo[] providers;
- public android.content.pm.ActivityInfo[] receivers;
- public android.content.pm.FeatureInfo[] reqFeatures;
- public java.lang.String[] requestedPermissions;
- public int[] requestedPermissionsFlags;
- public java.lang.String requiredAccountType;
- public boolean requiredForAllUsers;
- public java.lang.String restrictedAccountType;
- public android.content.pm.ServiceInfo[] services;
- public java.lang.String sharedUserId;
- public int sharedUserLabel;
- public android.content.pm.Signature[] signatures;
- public android.content.pm.SigningInfo signingInfo;
- public java.lang.String[] splitNames;
- public int[] splitRevisionCodes;
- public int versionCode;
- public int versionCodeMajor;
- public java.lang.String versionName;
-}
-
--keep class android.content.pm.PackageInstaller {
- <init>(android.content.pm.IPackageInstaller, java.lang.String, int);
-
- public void abandonSession(int);
- public void addSessionCallback(android.content.pm.PackageInstaller$SessionCallback);
- public void addSessionCallback(android.content.pm.PackageInstaller$SessionCallback, android.os.Handler);
- public int createSession(android.content.pm.PackageInstaller$SessionParams);
- public java.util.List getAllSessions();
- public java.util.List getMySessions();
- public android.content.pm.PackageInstaller$SessionInfo getSessionInfo(int);
- public android.content.pm.PackageInstaller$Session openSession(int);
- public void registerSessionCallback(android.content.pm.PackageInstaller$SessionCallback);
- public void registerSessionCallback(android.content.pm.PackageInstaller$SessionCallback, android.os.Handler);
- public void removeSessionCallback(android.content.pm.PackageInstaller$SessionCallback);
- public void setPermissionsResult(int, boolean);
- public void uninstall(java.lang.String, android.content.IntentSender);
- public void uninstall(java.lang.String, int, android.content.IntentSender);
- public void uninstall(android.content.pm.VersionedPackage, android.content.IntentSender);
- public void uninstall(android.content.pm.VersionedPackage, int, android.content.IntentSender);
- public void unregisterSessionCallback(android.content.pm.PackageInstaller$SessionCallback);
- public void updateSessionAppIcon(int, android.graphics.Bitmap);
- public void updateSessionAppLabel(int, java.lang.CharSequence);
-
-
- public static java.lang.String ACTION_CONFIRM_PERMISSIONS;
- public static java.lang.String ACTION_SESSION_COMMITTED;
- public static java.lang.String ACTION_SESSION_DETAILS;
- public static boolean ENABLE_REVOCABLE_FD;
- public static java.lang.String EXTRA_CALLBACK;
- public static java.lang.String EXTRA_LEGACY_BUNDLE;
- public static java.lang.String EXTRA_LEGACY_STATUS;
- public static java.lang.String EXTRA_OTHER_PACKAGE_NAME;
- public static java.lang.String EXTRA_PACKAGE_NAME;
- public static java.lang.String EXTRA_PACKAGE_NAMES;
- public static java.lang.String EXTRA_SESSION;
- public static java.lang.String EXTRA_SESSION_ID;
- public static java.lang.String EXTRA_STATUS;
- public static java.lang.String EXTRA_STATUS_MESSAGE;
- public static java.lang.String EXTRA_STORAGE_PATH;
- public static int STATUS_FAILURE;
- public static int STATUS_FAILURE_ABORTED;
- public static int STATUS_FAILURE_BLOCKED;
- public static int STATUS_FAILURE_CONFLICT;
- public static int STATUS_FAILURE_INCOMPATIBLE;
- public static int STATUS_FAILURE_INVALID;
- public static int STATUS_FAILURE_STORAGE;
- public static int STATUS_PENDING_USER_ACTION;
- public static int STATUS_SUCCESS;
-}
-
--keep class android.content.pm.PackageInstaller$Session {
- <init>(android.content.pm.IPackageInstallerSession);
-
- public void abandon();
- public void addProgress(float);
- public void close();
- public void commit(android.content.IntentSender);
- public void commitTransferred(android.content.IntentSender);
- public void fsync(java.io.OutputStream);
- public java.lang.String[] getNames();
- public java.io.InputStream openRead(java.lang.String);
- public java.io.OutputStream openWrite(java.lang.String, long, long);
- public void removeSplit(java.lang.String);
- public void setProgress(float);
- public void setStagingProgress(float);
- public void transfer(java.lang.String);
- public void write(java.lang.String, long, long, android.os.ParcelFileDescriptor);
-
-
-}
-
--keep class android.content.pm.PackageInstaller$SessionCallback {
- <init>();
-
- public abstract void onActiveChanged(int, boolean);
- public abstract void onBadgingChanged(int);
- public abstract void onCreated(int);
- public abstract void onFinished(int, boolean);
- public abstract void onProgressChanged(int, float);
-
-
-}
-
--keep class android.content.pm.PackageInstaller$SessionInfo {
- <init>();
- <init>(android.os.Parcel);
-
- public android.content.Intent createDetailsIntent();
- public int describeContents();
- public boolean getAllocateAggressive();
- public boolean getAllowDowngrade();
- public android.graphics.Bitmap getAppIcon();
- public java.lang.CharSequence getAppLabel();
- public java.lang.String getAppPackageName();
- public android.content.Intent getDetailsIntent();
- public boolean getDontKillApp();
- public java.lang.String[] getGrantedRuntimePermissions();
- public boolean getInstallAsFullApp(boolean);
- public boolean getInstallAsInstantApp(boolean);
- public boolean getInstallAsVirtualPreload();
- public int getInstallLocation();
- public int getInstallReason();
- public java.lang.String getInstallerPackageName();
- public int getMode();
- public int getOriginatingUid();
- public android.net.Uri getOriginatingUri();
- public float getProgress();
- public android.net.Uri getReferrerUri();
- public int getSessionId();
- public long getSize();
- public boolean isActive();
- public boolean isOpen();
- public boolean isSealed();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public boolean active;
- public android.graphics.Bitmap appIcon;
- public java.lang.CharSequence appLabel;
- public java.lang.String appPackageName;
- public java.lang.String[] grantedRuntimePermissions;
- public int installFlags;
- public int installLocation;
- public int installReason;
- public java.lang.String installerPackageName;
- public int mode;
- public int originatingUid;
- public android.net.Uri originatingUri;
- public float progress;
- public android.net.Uri referrerUri;
- public java.lang.String resolvedBaseCodePath;
- public boolean sealed;
- public int sessionId;
- public long sizeBytes;
-}
-
--keep class android.content.pm.PackageInstaller$SessionParams {
- <init>(int);
- <init>(android.os.Parcel);
-
- public boolean areHiddenOptionsSet();
- public int describeContents();
- public void dump(com.android.internal.util.IndentingPrintWriter);
- public void setAllocateAggressive(boolean);
- public void setAllowDowngrade(boolean);
- public void setAppIcon(android.graphics.Bitmap);
- public void setAppLabel(java.lang.CharSequence);
- public void setAppPackageName(java.lang.String);
- public void setDontKillApp(boolean);
- public void setGrantedRuntimePermissions(java.lang.String[]);
- public void setInstallAsInstantApp(boolean);
- public void setInstallAsVirtualPreload();
- public void setInstallFlagsExternal();
- public void setInstallFlagsForcePermissionPrompt();
- public void setInstallFlagsInternal();
- public void setInstallLocation(int);
- public void setInstallReason(int);
- public void setInstallerPackageName(java.lang.String);
- public void setOriginatingUid(int);
- public void setOriginatingUri(android.net.Uri);
- public void setReferrerUri(android.net.Uri);
- public void setSize(long);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int MODE_FULL_INSTALL;
- public static int MODE_INHERIT_EXISTING;
- public static int MODE_INVALID;
- public static int UID_UNKNOWN;
- public java.lang.String abiOverride;
- public android.graphics.Bitmap appIcon;
- public long appIconLastModified;
- public java.lang.String appLabel;
- public java.lang.String appPackageName;
- public java.lang.String[] grantedRuntimePermissions;
- public int installFlags;
- public int installLocation;
- public int installReason;
- public java.lang.String installerPackageName;
- public int mode;
- public int originatingUid;
- public android.net.Uri originatingUri;
- public android.net.Uri referrerUri;
- public long sizeBytes;
- public java.lang.String volumeUuid;
-}
-
--keep class android.content.pm.PackageItemInfo {
- <init>();
- <init>(android.content.pm.PackageItemInfo);
- <init>(android.os.Parcel);
-
- protected void dumpBack(android.util.Printer, java.lang.String);
- protected void dumpFront(android.util.Printer, java.lang.String);
- protected android.content.pm.ApplicationInfo getApplicationInfo();
- public android.graphics.drawable.Drawable loadBanner(android.content.pm.PackageManager);
- protected android.graphics.drawable.Drawable loadDefaultBanner(android.content.pm.PackageManager);
- public android.graphics.drawable.Drawable loadDefaultIcon(android.content.pm.PackageManager);
- protected android.graphics.drawable.Drawable loadDefaultLogo(android.content.pm.PackageManager);
- public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
- public java.lang.CharSequence loadLabel(android.content.pm.PackageManager);
- public android.graphics.drawable.Drawable loadLogo(android.content.pm.PackageManager);
- public java.lang.CharSequence loadSafeLabel(android.content.pm.PackageManager);
- public java.lang.CharSequence loadSafeLabel(android.content.pm.PackageManager, float, int);
- public android.graphics.drawable.Drawable loadUnbadgedIcon(android.content.pm.PackageManager);
- public java.lang.CharSequence loadUnsafeLabel(android.content.pm.PackageManager);
- public android.content.res.XmlResourceParser loadXmlMetaData(android.content.pm.PackageManager, java.lang.String);
- public static void setForceSafeLabels(boolean);
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
- public static int DUMP_FLAG_ALL;
- public static int DUMP_FLAG_APPLICATION;
- public static int DUMP_FLAG_DETAILS;
- public static int SAFE_LABEL_FLAG_FIRST_LINE;
- public static int SAFE_LABEL_FLAG_SINGLE_LINE;
- public static int SAFE_LABEL_FLAG_TRIM;
- public int banner;
- public int icon;
- public int labelRes;
- public int logo;
- public android.os.Bundle metaData;
- public java.lang.String name;
- public java.lang.CharSequence nonLocalizedLabel;
- public java.lang.String packageName;
- public int showUserIcon;
-}
-
--keep class android.content.pm.PackageManager {
- <init>();
-
- public abstract void addCrossProfileIntentFilter(android.content.IntentFilter, int, int, int);
- public abstract void addOnPermissionsChangeListener(android.content.pm.PackageManager$OnPermissionsChangedListener);
- public abstract void addPackageToPreferred(java.lang.String);
- public abstract boolean addPermission(android.content.pm.PermissionInfo);
- public abstract boolean addPermissionAsync(android.content.pm.PermissionInfo);
- public abstract void addPreferredActivity(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName);
- public void addPreferredActivityAsUser(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName, int);
- public android.content.Intent buildRequestPermissionsIntent(java.lang.String[]);
- public abstract boolean canRequestPackageInstalls();
- public abstract java.lang.String[] canonicalToCurrentPackageNames(java.lang.String[]);
- public abstract int checkPermission(java.lang.String, java.lang.String);
- public abstract int checkSignatures(java.lang.String, java.lang.String);
- public abstract int checkSignatures(int, int);
- public abstract void clearApplicationUserData(java.lang.String, android.content.pm.IPackageDataObserver);
- public abstract void clearCrossProfileIntentFilters(int);
- public abstract void clearInstantAppCookie();
- public abstract void clearPackagePreferredActivities(java.lang.String);
- public abstract java.lang.String[] currentToCanonicalPackageNames(java.lang.String[]);
- public abstract void deleteApplicationCacheFiles(java.lang.String, android.content.pm.IPackageDataObserver);
- public abstract void deleteApplicationCacheFilesAsUser(java.lang.String, int, android.content.pm.IPackageDataObserver);
- public abstract void deletePackage(java.lang.String, android.content.pm.IPackageDeleteObserver, int);
- public abstract void deletePackageAsUser(java.lang.String, android.content.pm.IPackageDeleteObserver, int, int);
- public static int deleteStatusToPublicStatus(int);
- public static java.lang.String deleteStatusToString(int, java.lang.String);
- public static java.lang.String deleteStatusToString(int);
- public abstract void extendVerificationTimeout(int, int, long);
- public abstract void flushPackageRestrictionsAsUser(int);
- public void freeStorage(long, android.content.IntentSender);
- public abstract void freeStorage(java.lang.String, long, android.content.IntentSender);
- public void freeStorageAndNotify(long, android.content.pm.IPackageDataObserver);
- public abstract void freeStorageAndNotify(java.lang.String, long, android.content.pm.IPackageDataObserver);
- public abstract android.graphics.drawable.Drawable getActivityBanner(android.content.ComponentName);
- public abstract android.graphics.drawable.Drawable getActivityBanner(android.content.Intent);
- public abstract android.graphics.drawable.Drawable getActivityIcon(android.content.ComponentName);
- public abstract android.graphics.drawable.Drawable getActivityIcon(android.content.Intent);
- public abstract android.content.pm.ActivityInfo getActivityInfo(android.content.ComponentName, int);
- public abstract android.graphics.drawable.Drawable getActivityLogo(android.content.ComponentName);
- public abstract android.graphics.drawable.Drawable getActivityLogo(android.content.Intent);
- public abstract java.util.List getAllIntentFilters(java.lang.String);
- public abstract java.util.List getAllPermissionGroups(int);
- public abstract android.graphics.drawable.Drawable getApplicationBanner(android.content.pm.ApplicationInfo);
- public abstract android.graphics.drawable.Drawable getApplicationBanner(java.lang.String);
- public abstract int getApplicationEnabledSetting(java.lang.String);
- public abstract boolean getApplicationHiddenSettingAsUser(java.lang.String, android.os.UserHandle);
- public abstract android.graphics.drawable.Drawable getApplicationIcon(android.content.pm.ApplicationInfo);
- public abstract android.graphics.drawable.Drawable getApplicationIcon(java.lang.String);
- public abstract android.content.pm.ApplicationInfo getApplicationInfo(java.lang.String, int);
- public abstract android.content.pm.ApplicationInfo getApplicationInfoAsUser(java.lang.String, int, int);
- public abstract java.lang.CharSequence getApplicationLabel(android.content.pm.ApplicationInfo);
- public abstract android.graphics.drawable.Drawable getApplicationLogo(android.content.pm.ApplicationInfo);
- public abstract android.graphics.drawable.Drawable getApplicationLogo(java.lang.String);
- public android.content.pm.dex.ArtManager getArtManager();
- public abstract android.content.Intent getCarLaunchIntentForPackage(java.lang.String);
- public abstract android.content.pm.ChangedPackages getChangedPackages(int);
- public abstract int getComponentEnabledSetting(android.content.ComponentName);
- public abstract android.graphics.drawable.Drawable getDefaultActivityIcon();
- public abstract java.lang.String getDefaultBrowserPackageNameAsUser(int);
- public abstract android.graphics.drawable.Drawable getDrawable(java.lang.String, int, android.content.pm.ApplicationInfo);
- public java.lang.CharSequence getHarmfulAppWarning(java.lang.String);
- public abstract android.content.ComponentName getHomeActivities(java.util.List);
- public abstract int getInstallReason(java.lang.String, android.os.UserHandle);
- public abstract java.util.List getInstalledApplications(int);
- public abstract java.util.List getInstalledApplicationsAsUser(int, int);
- public abstract java.util.List getInstalledPackages(int);
- public abstract java.util.List getInstalledPackagesAsUser(int, int);
- public abstract java.lang.String getInstallerPackageName(java.lang.String);
- public abstract java.lang.String getInstantAppAndroidId(java.lang.String, android.os.UserHandle);
- public abstract byte[] getInstantAppCookie();
- public abstract int getInstantAppCookieMaxBytes();
- public abstract int getInstantAppCookieMaxSize();
- public abstract android.graphics.drawable.Drawable getInstantAppIcon(java.lang.String);
- public abstract android.content.ComponentName getInstantAppInstallerComponent();
- public abstract android.content.ComponentName getInstantAppResolverSettingsComponent();
- public abstract java.util.List getInstantApps();
- public abstract android.content.pm.InstrumentationInfo getInstrumentationInfo(android.content.ComponentName, int);
- public abstract java.util.List getIntentFilterVerifications(java.lang.String);
- public abstract int getIntentVerificationStatusAsUser(java.lang.String, int);
- public abstract android.content.pm.KeySet getKeySetByAlias(java.lang.String, java.lang.String);
- public abstract android.content.Intent getLaunchIntentForPackage(java.lang.String);
- public abstract android.content.Intent getLeanbackLaunchIntentForPackage(java.lang.String);
- public abstract int getMoveStatus(int);
- public abstract java.lang.String getNameForUid(int);
- public abstract java.lang.String[] getNamesForUids(int[]);
- public android.content.pm.PackageInfo getPackageArchiveInfo(java.lang.String, int);
- public abstract java.util.List getPackageCandidateVolumes(android.content.pm.ApplicationInfo);
- public abstract android.os.storage.VolumeInfo getPackageCurrentVolume(android.content.pm.ApplicationInfo);
- public abstract int[] getPackageGids(java.lang.String);
- public abstract int[] getPackageGids(java.lang.String, int);
- public abstract android.content.pm.PackageInfo getPackageInfo(java.lang.String, int);
- public abstract android.content.pm.PackageInfo getPackageInfo(android.content.pm.VersionedPackage, int);
- public abstract android.content.pm.PackageInfo getPackageInfoAsUser(java.lang.String, int, int);
- public abstract android.content.pm.PackageInstaller getPackageInstaller();
- public void getPackageSizeInfo(java.lang.String, android.content.pm.IPackageStatsObserver);
- public abstract void getPackageSizeInfoAsUser(java.lang.String, int, android.content.pm.IPackageStatsObserver);
- public abstract int getPackageUid(java.lang.String, int);
- public abstract int getPackageUidAsUser(java.lang.String, int);
- public abstract int getPackageUidAsUser(java.lang.String, int, int);
- public abstract java.lang.String[] getPackagesForUid(int);
- public abstract java.util.List getPackagesHoldingPermissions(java.lang.String[], int);
- public abstract java.lang.String getPermissionControllerPackageName();
- public abstract int getPermissionFlags(java.lang.String, java.lang.String, android.os.UserHandle);
- public abstract android.content.pm.PermissionGroupInfo getPermissionGroupInfo(java.lang.String, int);
- public abstract android.content.pm.PermissionInfo getPermissionInfo(java.lang.String, int);
- public abstract int getPreferredActivities(java.util.List, java.util.List, java.lang.String);
- public abstract java.util.List getPreferredPackages(int);
- public abstract java.util.List getPrimaryStorageCandidateVolumes();
- public abstract android.os.storage.VolumeInfo getPrimaryStorageCurrentVolume();
- public abstract android.content.pm.ProviderInfo getProviderInfo(android.content.ComponentName, int);
- public abstract android.content.pm.ActivityInfo getReceiverInfo(android.content.ComponentName, int);
- public abstract android.content.res.Resources getResourcesForActivity(android.content.ComponentName);
- public abstract android.content.res.Resources getResourcesForApplication(android.content.pm.ApplicationInfo);
- public abstract android.content.res.Resources getResourcesForApplication(java.lang.String);
- public abstract android.content.res.Resources getResourcesForApplicationAsUser(java.lang.String, int);
- public abstract android.content.pm.ServiceInfo getServiceInfo(android.content.ComponentName, int);
- public abstract java.lang.String getServicesSystemSharedLibraryPackageName();
- public abstract java.util.List getSharedLibraries(int);
- public abstract java.util.List getSharedLibrariesAsUser(int, int);
- public abstract java.lang.String getSharedSystemSharedLibraryPackageName();
- public abstract android.content.pm.KeySet getSigningKeySet(java.lang.String);
- public android.os.Bundle getSuspendedPackageAppExtras();
- public abstract android.content.pm.FeatureInfo[] getSystemAvailableFeatures();
- public abstract java.lang.String[] getSystemSharedLibraryNames();
- public java.lang.String getSystemTextClassifierPackageName();
- public abstract java.lang.CharSequence getText(java.lang.String, int, android.content.pm.ApplicationInfo);
- public abstract int getUidForSharedUser(java.lang.String);
- public abstract android.graphics.drawable.Drawable getUserBadgeForDensity(android.os.UserHandle, int);
- public abstract android.graphics.drawable.Drawable getUserBadgeForDensityNoBackground(android.os.UserHandle, int);
- public abstract android.graphics.drawable.Drawable getUserBadgedDrawableForDensity(android.graphics.drawable.Drawable, android.os.UserHandle, android.graphics.Rect, int);
- public abstract android.graphics.drawable.Drawable getUserBadgedIcon(android.graphics.drawable.Drawable, android.os.UserHandle);
- public abstract java.lang.CharSequence getUserBadgedLabel(java.lang.CharSequence, android.os.UserHandle);
- public int getUserId();
- public abstract android.content.pm.VerifierDeviceIdentity getVerifierDeviceIdentity();
- public abstract android.content.res.XmlResourceParser getXml(java.lang.String, int, android.content.pm.ApplicationInfo);
- public abstract void grantRuntimePermission(java.lang.String, java.lang.String, android.os.UserHandle);
- public boolean hasSigningCertificate(java.lang.String, byte[], int);
- public boolean hasSigningCertificate(int, byte[], int);
- public abstract boolean hasSystemFeature(java.lang.String);
- public abstract boolean hasSystemFeature(java.lang.String, int);
- public abstract int installExistingPackage(java.lang.String);
- public abstract int installExistingPackage(java.lang.String, int);
- public abstract int installExistingPackageAsUser(java.lang.String, int);
- public static int installStatusToPublicStatus(int);
- public static java.lang.String installStatusToString(int, java.lang.String);
- public static java.lang.String installStatusToString(int);
- public abstract boolean isInstantApp();
- public abstract boolean isInstantApp(java.lang.String);
- public static boolean isMoveStatusFinished(int);
- public abstract boolean isPackageAvailable(java.lang.String);
- public boolean isPackageStateProtected(java.lang.String, int);
- public boolean isPackageSuspended(java.lang.String);
- public boolean isPackageSuspended();
- public abstract boolean isPackageSuspendedForUser(java.lang.String, int);
- public abstract boolean isPermissionReviewModeEnabled();
- public abstract boolean isPermissionRevokedByPolicy(java.lang.String, java.lang.String);
- public abstract boolean isSafeMode();
- public abstract boolean isSignedBy(java.lang.String, android.content.pm.KeySet);
- public abstract boolean isSignedByExactly(java.lang.String, android.content.pm.KeySet);
- public abstract boolean isUpgrade();
- public abstract android.graphics.drawable.Drawable loadItemIcon(android.content.pm.PackageItemInfo, android.content.pm.ApplicationInfo);
- public abstract android.graphics.drawable.Drawable loadUnbadgedItemIcon(android.content.pm.PackageItemInfo, android.content.pm.ApplicationInfo);
- public abstract int movePackage(java.lang.String, android.os.storage.VolumeInfo);
- public abstract int movePrimaryStorage(android.os.storage.VolumeInfo);
- public static java.lang.String permissionFlagToString(int);
- public abstract java.util.List queryBroadcastReceivers(android.content.Intent, int);
- public java.util.List queryBroadcastReceivers(android.content.Intent, int, int);
- public java.util.List queryBroadcastReceiversAsUser(android.content.Intent, int, android.os.UserHandle);
- public abstract java.util.List queryBroadcastReceiversAsUser(android.content.Intent, int, int);
- public abstract java.util.List queryContentProviders(java.lang.String, int, int);
- public java.util.List queryContentProviders(java.lang.String, int, int, java.lang.String);
- public abstract java.util.List queryInstrumentation(java.lang.String, int);
- public abstract java.util.List queryIntentActivities(android.content.Intent, int);
- public abstract java.util.List queryIntentActivitiesAsUser(android.content.Intent, int, int);
- public abstract java.util.List queryIntentActivityOptions(android.content.ComponentName, android.content.Intent[], android.content.Intent, int);
- public abstract java.util.List queryIntentContentProviders(android.content.Intent, int);
- public abstract java.util.List queryIntentContentProvidersAsUser(android.content.Intent, int, int);
- public abstract java.util.List queryIntentServices(android.content.Intent, int);
- public abstract java.util.List queryIntentServicesAsUser(android.content.Intent, int, int);
- public abstract java.util.List queryPermissionsByGroup(java.lang.String, int);
- public abstract void registerDexModule(java.lang.String, android.content.pm.PackageManager$DexModuleRegisterCallback);
- public abstract void registerMoveCallback(android.content.pm.PackageManager$MoveCallback, android.os.Handler);
- public abstract void removeOnPermissionsChangeListener(android.content.pm.PackageManager$OnPermissionsChangedListener);
- public abstract void removePackageFromPreferred(java.lang.String);
- public abstract void removePermission(java.lang.String);
- public abstract void replacePreferredActivity(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName);
- public void replacePreferredActivityAsUser(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName, int);
- public abstract android.content.pm.ResolveInfo resolveActivity(android.content.Intent, int);
- public abstract android.content.pm.ResolveInfo resolveActivityAsUser(android.content.Intent, int, int);
- public abstract android.content.pm.ProviderInfo resolveContentProvider(java.lang.String, int);
- public abstract android.content.pm.ProviderInfo resolveContentProviderAsUser(java.lang.String, int, int);
- public abstract android.content.pm.ResolveInfo resolveService(android.content.Intent, int);
- public abstract android.content.pm.ResolveInfo resolveServiceAsUser(android.content.Intent, int, int);
- public abstract void revokeRuntimePermission(java.lang.String, java.lang.String, android.os.UserHandle);
- public abstract void setApplicationCategoryHint(java.lang.String, int);
- public abstract void setApplicationEnabledSetting(java.lang.String, int, int);
- public abstract boolean setApplicationHiddenSettingAsUser(java.lang.String, boolean, android.os.UserHandle);
- public abstract void setComponentEnabledSetting(android.content.ComponentName, int, int);
- public abstract boolean setDefaultBrowserPackageNameAsUser(java.lang.String, int);
- public void setHarmfulAppWarning(java.lang.String, java.lang.CharSequence);
- public abstract void setInstallerPackageName(java.lang.String, java.lang.String);
- public abstract boolean setInstantAppCookie(byte[]);
- public java.lang.String[] setPackagesSuspended(java.lang.String[], boolean, android.os.PersistableBundle, android.os.PersistableBundle, java.lang.String);
- public abstract void setUpdateAvailable(java.lang.String, boolean);
- public abstract boolean shouldShowRequestPermissionRationale(java.lang.String);
- public abstract void unregisterMoveCallback(android.content.pm.PackageManager$MoveCallback);
- public abstract void updateInstantAppCookie(byte[]);
- public abstract boolean updateIntentVerificationStatusAsUser(java.lang.String, int, int);
- public abstract void updatePermissionFlags(java.lang.String, java.lang.String, int, int, android.os.UserHandle);
- public abstract void verifyIntentFilter(int, int, java.util.List);
- public abstract void verifyPendingInstall(int, int);
-
-
- public static java.lang.String ACTION_CLEAN_EXTERNAL_STORAGE;
- public static java.lang.String ACTION_REQUEST_PERMISSIONS;
- public static boolean APPLY_DEFAULT_TO_DEVICE_PROTECTED_STORAGE;
- public static int CERT_INPUT_RAW_X509;
- public static int CERT_INPUT_SHA256;
- public static int COMPONENT_ENABLED_STATE_DEFAULT;
- public static int COMPONENT_ENABLED_STATE_DISABLED;
- public static int COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED;
- public static int COMPONENT_ENABLED_STATE_DISABLED_USER;
- public static int COMPONENT_ENABLED_STATE_ENABLED;
- public static int DELETE_ALL_USERS;
- public static int DELETE_CHATTY;
- public static int DELETE_DONT_KILL_APP;
- public static int DELETE_FAILED_ABORTED;
- public static int DELETE_FAILED_DEVICE_POLICY_MANAGER;
- public static int DELETE_FAILED_INTERNAL_ERROR;
- public static int DELETE_FAILED_OWNER_BLOCKED;
- public static int DELETE_FAILED_USED_SHARED_LIBRARY;
- public static int DELETE_FAILED_USER_RESTRICTED;
- public static int DELETE_KEEP_DATA;
- public static int DELETE_SUCCEEDED;
- public static int DELETE_SYSTEM_APP;
- public static int DONT_KILL_APP;
- public static java.lang.String EXTRA_FAILURE_EXISTING_PACKAGE;
- public static java.lang.String EXTRA_FAILURE_EXISTING_PERMISSION;
- public static java.lang.String EXTRA_INTENT_FILTER_VERIFICATION_HOSTS;
- public static java.lang.String EXTRA_INTENT_FILTER_VERIFICATION_ID;
- public static java.lang.String EXTRA_INTENT_FILTER_VERIFICATION_PACKAGE_NAME;
- public static java.lang.String EXTRA_INTENT_FILTER_VERIFICATION_URI_SCHEME;
- public static java.lang.String EXTRA_MOVE_ID;
- public static java.lang.String EXTRA_REQUEST_PERMISSIONS_NAMES;
- public static java.lang.String EXTRA_REQUEST_PERMISSIONS_RESULTS;
- public static java.lang.String EXTRA_VERIFICATION_ID;
- public static java.lang.String EXTRA_VERIFICATION_INSTALLER_PACKAGE;
- public static java.lang.String EXTRA_VERIFICATION_INSTALLER_UID;
- public static java.lang.String EXTRA_VERIFICATION_INSTALL_FLAGS;
- public static java.lang.String EXTRA_VERIFICATION_LONG_VERSION_CODE;
- public static java.lang.String EXTRA_VERIFICATION_PACKAGE_NAME;
- public static java.lang.String EXTRA_VERIFICATION_RESULT;
- public static java.lang.String EXTRA_VERIFICATION_URI;
- public static java.lang.String EXTRA_VERIFICATION_VERSION_CODE;
- public static java.lang.String FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS;
- public static java.lang.String FEATURE_ADOPTABLE_STORAGE;
- public static java.lang.String FEATURE_APP_WIDGETS;
- public static java.lang.String FEATURE_ASSIST_GESTURE;
- public static java.lang.String FEATURE_AUDIO_LOW_LATENCY;
- public static java.lang.String FEATURE_AUDIO_OUTPUT;
- public static java.lang.String FEATURE_AUDIO_PRO;
- public static java.lang.String FEATURE_AUTOFILL;
- public static java.lang.String FEATURE_AUTOMOTIVE;
- public static java.lang.String FEATURE_BACKUP;
- public static java.lang.String FEATURE_BLUETOOTH;
- public static java.lang.String FEATURE_BLUETOOTH_LE;
- public static java.lang.String FEATURE_BROADCAST_RADIO;
- public static java.lang.String FEATURE_CAMERA;
- public static java.lang.String FEATURE_CAMERA_ANY;
- public static java.lang.String FEATURE_CAMERA_AR;
- public static java.lang.String FEATURE_CAMERA_AUTOFOCUS;
- public static java.lang.String FEATURE_CAMERA_CAPABILITY_MANUAL_POST_PROCESSING;
- public static java.lang.String FEATURE_CAMERA_CAPABILITY_MANUAL_SENSOR;
- public static java.lang.String FEATURE_CAMERA_CAPABILITY_RAW;
- public static java.lang.String FEATURE_CAMERA_EXTERNAL;
- public static java.lang.String FEATURE_CAMERA_FLASH;
- public static java.lang.String FEATURE_CAMERA_FRONT;
- public static java.lang.String FEATURE_CAMERA_LEVEL_FULL;
- public static java.lang.String FEATURE_CANT_SAVE_STATE;
- public static java.lang.String FEATURE_COMPANION_DEVICE_SETUP;
- public static java.lang.String FEATURE_CONNECTION_SERVICE;
- public static java.lang.String FEATURE_CONSUMER_IR;
- public static java.lang.String FEATURE_CTS;
- public static java.lang.String FEATURE_DEVICE_ADMIN;
- public static java.lang.String FEATURE_DEVICE_ID_ATTESTATION;
- public static java.lang.String FEATURE_EMBEDDED;
- public static java.lang.String FEATURE_ETHERNET;
- public static java.lang.String FEATURE_FAKETOUCH;
- public static java.lang.String FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT;
- public static java.lang.String FEATURE_FAKETOUCH_MULTITOUCH_JAZZHAND;
- public static java.lang.String FEATURE_FILE_BASED_ENCRYPTION;
- public static java.lang.String FEATURE_FINGERPRINT;
- public static java.lang.String FEATURE_FREEFORM_WINDOW_MANAGEMENT;
- public static java.lang.String FEATURE_GAMEPAD;
- public static java.lang.String FEATURE_HDMI_CEC;
- public static java.lang.String FEATURE_HIFI_SENSORS;
- public static java.lang.String FEATURE_HOME_SCREEN;
- public static java.lang.String FEATURE_INPUT_METHODS;
- public static java.lang.String FEATURE_LEANBACK;
- public static java.lang.String FEATURE_LEANBACK_ONLY;
- public static java.lang.String FEATURE_LIVE_TV;
- public static java.lang.String FEATURE_LIVE_WALLPAPER;
- public static java.lang.String FEATURE_LOCATION;
- public static java.lang.String FEATURE_LOCATION_GPS;
- public static java.lang.String FEATURE_LOCATION_NETWORK;
- public static java.lang.String FEATURE_LOWPAN;
- public static java.lang.String FEATURE_MANAGED_PROFILES;
- public static java.lang.String FEATURE_MANAGED_USERS;
- public static java.lang.String FEATURE_MICROPHONE;
- public static java.lang.String FEATURE_MIDI;
- public static java.lang.String FEATURE_NFC;
- public static java.lang.String FEATURE_NFC_ANY;
- public static java.lang.String FEATURE_NFC_HCE;
- public static java.lang.String FEATURE_NFC_HOST_CARD_EMULATION;
- public static java.lang.String FEATURE_NFC_HOST_CARD_EMULATION_NFCF;
- public static java.lang.String FEATURE_OPENGLES_EXTENSION_PACK;
- public static java.lang.String FEATURE_PC;
- public static java.lang.String FEATURE_PICTURE_IN_PICTURE;
- public static java.lang.String FEATURE_PRINTING;
- public static java.lang.String FEATURE_RAM_LOW;
- public static java.lang.String FEATURE_RAM_NORMAL;
- public static java.lang.String FEATURE_SCREEN_LANDSCAPE;
- public static java.lang.String FEATURE_SCREEN_PORTRAIT;
- public static java.lang.String FEATURE_SECURELY_REMOVES_USERS;
- public static java.lang.String FEATURE_SENSOR_ACCELEROMETER;
- public static java.lang.String FEATURE_SENSOR_AMBIENT_TEMPERATURE;
- public static java.lang.String FEATURE_SENSOR_BAROMETER;
- public static java.lang.String FEATURE_SENSOR_COMPASS;
- public static java.lang.String FEATURE_SENSOR_GYROSCOPE;
- public static java.lang.String FEATURE_SENSOR_HEART_RATE;
- public static java.lang.String FEATURE_SENSOR_HEART_RATE_ECG;
- public static java.lang.String FEATURE_SENSOR_LIGHT;
- public static java.lang.String FEATURE_SENSOR_PROXIMITY;
- public static java.lang.String FEATURE_SENSOR_RELATIVE_HUMIDITY;
- public static java.lang.String FEATURE_SENSOR_STEP_COUNTER;
- public static java.lang.String FEATURE_SENSOR_STEP_DETECTOR;
- public static java.lang.String FEATURE_SIP;
- public static java.lang.String FEATURE_SIP_VOIP;
- public static java.lang.String FEATURE_STRONGBOX_KEYSTORE;
- public static java.lang.String FEATURE_TELEPHONY;
- public static java.lang.String FEATURE_TELEPHONY_CARRIERLOCK;
- public static java.lang.String FEATURE_TELEPHONY_CDMA;
- public static java.lang.String FEATURE_TELEPHONY_EUICC;
- public static java.lang.String FEATURE_TELEPHONY_GSM;
- public static java.lang.String FEATURE_TELEPHONY_MBMS;
- public static java.lang.String FEATURE_TELEVISION;
- public static java.lang.String FEATURE_TOUCHSCREEN;
- public static java.lang.String FEATURE_TOUCHSCREEN_MULTITOUCH;
- public static java.lang.String FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT;
- public static java.lang.String FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND;
- public static java.lang.String FEATURE_USB_ACCESSORY;
- public static java.lang.String FEATURE_USB_HOST;
- public static java.lang.String FEATURE_VERIFIED_BOOT;
- public static java.lang.String FEATURE_VOICE_RECOGNIZERS;
- public static java.lang.String FEATURE_VR_HEADTRACKING;
- public static java.lang.String FEATURE_VR_MODE;
- public static java.lang.String FEATURE_VR_MODE_HIGH_PERFORMANCE;
- public static java.lang.String FEATURE_VULKAN_HARDWARE_COMPUTE;
- public static java.lang.String FEATURE_VULKAN_HARDWARE_LEVEL;
- public static java.lang.String FEATURE_VULKAN_HARDWARE_VERSION;
- public static java.lang.String FEATURE_WATCH;
- public static java.lang.String FEATURE_WEBVIEW;
- public static java.lang.String FEATURE_WIFI;
- public static java.lang.String FEATURE_WIFI_AWARE;
- public static java.lang.String FEATURE_WIFI_DIRECT;
- public static java.lang.String FEATURE_WIFI_PASSPOINT;
- public static java.lang.String FEATURE_WIFI_RTT;
- public static int FLAG_PERMISSION_GRANTED_BY_DEFAULT;
- public static int FLAG_PERMISSION_POLICY_FIXED;
- public static int FLAG_PERMISSION_REVIEW_REQUIRED;
- public static int FLAG_PERMISSION_REVOKE_ON_UPGRADE;
- public static int FLAG_PERMISSION_SYSTEM_FIXED;
- public static int FLAG_PERMISSION_USER_FIXED;
- public static int FLAG_PERMISSION_USER_SET;
- public static int GET_ACTIVITIES;
- public static int GET_CONFIGURATIONS;
- public static int GET_DISABLED_COMPONENTS;
- public static int GET_DISABLED_UNTIL_USED_COMPONENTS;
- public static int GET_GIDS;
- public static int GET_INSTRUMENTATION;
- public static int GET_INTENT_FILTERS;
- public static int GET_META_DATA;
- public static int GET_PERMISSIONS;
- public static int GET_PROVIDERS;
- public static int GET_RECEIVERS;
- public static int GET_RESOLVED_FILTER;
- public static int GET_SERVICES;
- public static int GET_SHARED_LIBRARY_FILES;
- public static int GET_SIGNATURES;
- public static int GET_SIGNING_CERTIFICATES;
- public static int GET_UNINSTALLED_PACKAGES;
- public static int GET_URI_PERMISSION_PATTERNS;
- public static int INSTALL_ALLOCATE_AGGRESSIVE;
- public static int INSTALL_ALLOW_DOWNGRADE;
- public static int INSTALL_ALLOW_TEST;
- public static int INSTALL_ALL_USERS;
- public static int INSTALL_DONT_KILL_APP;
- public static int INSTALL_EXTERNAL;
- public static int INSTALL_FAILED_ABORTED;
- public static int INSTALL_FAILED_ALREADY_EXISTS;
- public static int INSTALL_FAILED_BAD_DEX_METADATA;
- public static int INSTALL_FAILED_CONFLICTING_PROVIDER;
- public static int INSTALL_FAILED_CONTAINER_ERROR;
- public static int INSTALL_FAILED_CPU_ABI_INCOMPATIBLE;
- public static int INSTALL_FAILED_DEXOPT;
- public static int INSTALL_FAILED_DUPLICATE_PACKAGE;
- public static int INSTALL_FAILED_DUPLICATE_PERMISSION;
- public static int INSTALL_FAILED_INSTANT_APP_INVALID;
- public static int INSTALL_FAILED_INSUFFICIENT_STORAGE;
- public static int INSTALL_FAILED_INTERNAL_ERROR;
- public static int INSTALL_FAILED_INVALID_APK;
- public static int INSTALL_FAILED_INVALID_INSTALL_LOCATION;
- public static int INSTALL_FAILED_INVALID_URI;
- public static int INSTALL_FAILED_MEDIA_UNAVAILABLE;
- public static int INSTALL_FAILED_MISSING_FEATURE;
- public static int INSTALL_FAILED_MISSING_SHARED_LIBRARY;
- public static int INSTALL_FAILED_NEWER_SDK;
- public static int INSTALL_FAILED_NO_MATCHING_ABIS;
- public static int INSTALL_FAILED_NO_SHARED_USER;
- public static int INSTALL_FAILED_OLDER_SDK;
- public static int INSTALL_FAILED_PACKAGE_CHANGED;
- public static int INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE;
- public static int INSTALL_FAILED_REPLACE_COULDNT_DELETE;
- public static int INSTALL_FAILED_SANDBOX_VERSION_DOWNGRADE;
- public static int INSTALL_FAILED_SHARED_USER_INCOMPATIBLE;
- public static int INSTALL_FAILED_TEST_ONLY;
- public static int INSTALL_FAILED_UID_CHANGED;
- public static int INSTALL_FAILED_UPDATE_INCOMPATIBLE;
- public static int INSTALL_FAILED_USER_RESTRICTED;
- public static int INSTALL_FAILED_VERIFICATION_FAILURE;
- public static int INSTALL_FAILED_VERIFICATION_TIMEOUT;
- public static int INSTALL_FAILED_VERSION_DOWNGRADE;
- public static int INSTALL_FORCE_PERMISSION_PROMPT;
- public static int INSTALL_FORCE_SDK;
- public static int INSTALL_FORCE_VOLUME_UUID;
- public static int INSTALL_FORWARD_LOCK;
- public static int INSTALL_FROM_ADB;
- public static int INSTALL_FULL_APP;
- public static int INSTALL_GRANT_RUNTIME_PERMISSIONS;
- public static int INSTALL_INSTANT_APP;
- public static int INSTALL_INTERNAL;
- public static int INSTALL_PARSE_FAILED_BAD_MANIFEST;
- public static int INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME;
- public static int INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID;
- public static int INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING;
- public static int INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES;
- public static int INSTALL_PARSE_FAILED_MANIFEST_EMPTY;
- public static int INSTALL_PARSE_FAILED_MANIFEST_MALFORMED;
- public static int INSTALL_PARSE_FAILED_NOT_APK;
- public static int INSTALL_PARSE_FAILED_NO_CERTIFICATES;
- public static int INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION;
- public static int INSTALL_REASON_DEVICE_RESTORE;
- public static int INSTALL_REASON_DEVICE_SETUP;
- public static int INSTALL_REASON_POLICY;
- public static int INSTALL_REASON_UNKNOWN;
- public static int INSTALL_REASON_USER;
- public static int INSTALL_REPLACE_EXISTING;
- public static int INSTALL_SUCCEEDED;
- public static int INSTALL_VIRTUAL_PRELOAD;
- public static int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS;
- public static int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS_ASK;
- public static int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK;
- public static int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER;
- public static int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_UNDEFINED;
- public static int INTENT_FILTER_VERIFICATION_FAILURE;
- public static int INTENT_FILTER_VERIFICATION_SUCCESS;
- public static int MASK_PERMISSION_FLAGS;
- public static int MATCH_ALL;
- public static int MATCH_ANY_USER;
- public static int MATCH_DEBUG_TRIAGED_MISSING;
- public static int MATCH_DEFAULT_ONLY;
- public static int MATCH_DIRECT_BOOT_AWARE;
- public static int MATCH_DIRECT_BOOT_UNAWARE;
- public static int MATCH_DISABLED_COMPONENTS;
- public static int MATCH_DISABLED_UNTIL_USED_COMPONENTS;
- public static int MATCH_EXPLICITLY_VISIBLE_ONLY;
- public static int MATCH_FACTORY_ONLY;
- public static int MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS;
- public static int MATCH_INSTANT;
- public static int MATCH_KNOWN_PACKAGES;
- public static int MATCH_STATIC_SHARED_LIBRARIES;
- public static int MATCH_SYSTEM_ONLY;
- public static int MATCH_UNINSTALLED_PACKAGES;
- public static int MATCH_VISIBLE_TO_INSTANT_APP_ONLY;
- public static long MAXIMUM_VERIFICATION_TIMEOUT;
- public static int MOVE_EXTERNAL_MEDIA;
- public static int MOVE_FAILED_3RD_PARTY_NOT_ALLOWED_ON_INTERNAL;
- public static int MOVE_FAILED_DEVICE_ADMIN;
- public static int MOVE_FAILED_DOESNT_EXIST;
- public static int MOVE_FAILED_FORWARD_LOCKED;
- public static int MOVE_FAILED_INSUFFICIENT_STORAGE;
- public static int MOVE_FAILED_INTERNAL_ERROR;
- public static int MOVE_FAILED_INVALID_LOCATION;
- public static int MOVE_FAILED_LOCKED_USER;
- public static int MOVE_FAILED_OPERATION_PENDING;
- public static int MOVE_FAILED_SYSTEM_PACKAGE;
- public static int MOVE_INTERNAL;
- public static int MOVE_SUCCEEDED;
- public static int NOTIFY_PACKAGE_USE_ACTIVITY;
- public static int NOTIFY_PACKAGE_USE_BACKUP;
- public static int NOTIFY_PACKAGE_USE_BROADCAST_RECEIVER;
- public static int NOTIFY_PACKAGE_USE_CONTENT_PROVIDER;
- public static int NOTIFY_PACKAGE_USE_CROSS_PACKAGE;
- public static int NOTIFY_PACKAGE_USE_FOREGROUND_SERVICE;
- public static int NOTIFY_PACKAGE_USE_INSTRUMENTATION;
- public static int NOTIFY_PACKAGE_USE_REASONS_COUNT;
- public static int NOTIFY_PACKAGE_USE_SERVICE;
- public static int NO_NATIVE_LIBRARIES;
- public static int ONLY_IF_NO_MATCH_FOUND;
- public static int PERMISSION_DENIED;
- public static int PERMISSION_GRANTED;
- public static int SIGNATURE_FIRST_NOT_SIGNED;
- public static int SIGNATURE_MATCH;
- public static int SIGNATURE_NEITHER_SIGNED;
- public static int SIGNATURE_NO_MATCH;
- public static int SIGNATURE_SECOND_NOT_SIGNED;
- public static int SIGNATURE_UNKNOWN_PACKAGE;
- public static int SKIP_CURRENT_PROFILE;
- public static java.lang.String SYSTEM_SHARED_LIBRARY_SERVICES;
- public static java.lang.String SYSTEM_SHARED_LIBRARY_SHARED;
- public static int VERIFICATION_ALLOW;
- public static int VERIFICATION_ALLOW_WITHOUT_SUFFICIENT;
- public static int VERIFICATION_REJECT;
- public static int VERSION_CODE_HIGHEST;
-}
-
--keep class android.content.pm.PackageManager$DexModuleRegisterCallback {
- <init>();
-
- public abstract void onDexModuleRegistered(java.lang.String, boolean, java.lang.String);
-
-
-}
-
--keep class android.content.pm.PackageManager$MoveCallback {
- <init>();
-
- public void onCreated(int, android.os.Bundle);
- public abstract void onStatusChanged(int, int, long);
-
-
-}
-
--keep class android.content.pm.PackageManager$NameNotFoundException {
- <init>();
- <init>(java.lang.String);
-
-
-
-}
-
--keep class android.content.pm.PackageManager$OnPermissionsChangedListener {
-
- public abstract void onPermissionsChanged(int);
-
-
-}
-
--keep class android.content.pm.PackageParser {
- <init>();
-
- public static void collectCertificates(android.content.pm.PackageParser$Package, boolean);
- public static int computeMinSdkVersion(int, java.lang.String, int, java.lang.String[], java.lang.String[]);
- public static int computeTargetSdkVersion(int, java.lang.String, java.lang.String[], java.lang.String[], boolean);
- protected android.content.pm.PackageParser$Package fromCacheEntry(byte[]);
- public static android.content.pm.PackageParser$Package fromCacheEntryStatic(byte[]);
- public static android.content.pm.ActivityInfo generateActivityInfo(android.content.pm.PackageParser$Activity, int, android.content.pm.PackageUserState, int);
- public static android.content.pm.ActivityInfo generateActivityInfo(android.content.pm.ActivityInfo, int, android.content.pm.PackageUserState, int);
- public static android.content.pm.ApplicationInfo generateApplicationInfo(android.content.pm.PackageParser$Package, int, android.content.pm.PackageUserState);
- public static android.content.pm.ApplicationInfo generateApplicationInfo(android.content.pm.PackageParser$Package, int, android.content.pm.PackageUserState, int);
- public static android.content.pm.ApplicationInfo generateApplicationInfo(android.content.pm.ApplicationInfo, int, android.content.pm.PackageUserState, int);
- public static android.content.pm.InstrumentationInfo generateInstrumentationInfo(android.content.pm.PackageParser$Instrumentation, int);
- public static android.content.pm.PackageInfo generatePackageInfo(android.content.pm.PackageParser$Package, int[], int, long, long, java.util.Set, android.content.pm.PackageUserState);
- public static android.content.pm.PackageInfo generatePackageInfo(android.content.pm.PackageParser$Package, int[], int, long, long, java.util.Set, android.content.pm.PackageUserState, int);
- public static android.content.pm.PermissionGroupInfo generatePermissionGroupInfo(android.content.pm.PackageParser$PermissionGroup, int);
- public static android.content.pm.PermissionInfo generatePermissionInfo(android.content.pm.PackageParser$Permission, int);
- public static android.content.pm.ProviderInfo generateProviderInfo(android.content.pm.PackageParser$Provider, int, android.content.pm.PackageUserState, int);
- public static android.content.pm.ServiceInfo generateServiceInfo(android.content.pm.PackageParser$Service, int, android.content.pm.PackageUserState, int);
- public static int getActivityConfigChanges(int, int);
- public static boolean isApkFile(java.io.File);
- public static boolean isApkPath(java.lang.String);
- public static boolean isAvailable(android.content.pm.PackageUserState);
- public static android.content.pm.PackageParser$ApkLite parseApkLite(java.io.File, int);
- public static android.content.pm.PackageParser$ApkLite parseApkLite(java.io.FileDescriptor, java.lang.String, int);
- public android.content.pm.PackageParser$Package parseMonolithicPackage(java.io.File, int);
- public android.content.pm.PackageParser$Package parsePackage(java.io.File, int, boolean);
- public android.content.pm.PackageParser$Package parsePackage(java.io.File, int);
- public static android.content.pm.PackageParser$PackageLite parsePackageLite(java.io.File, int);
- public static java.security.PublicKey parsePublicKey(java.lang.String);
- public void setCacheDir(java.io.File);
- public void setCallback(android.content.pm.PackageParser$Callback);
- public static void setCompatibilityModeEnabled(boolean);
- public void setDisplayMetrics(android.util.DisplayMetrics);
- public void setOnlyCoreApps(boolean);
- public void setSeparateProcesses(java.lang.String[]);
- protected byte[] toCacheEntry(android.content.pm.PackageParser$Package);
- public static byte[] toCacheEntryStatic(android.content.pm.PackageParser$Package);
- public static android.util.ArraySet toSigningKeys(android.content.pm.Signature[]);
-
-
- public static java.lang.String ANDROID_MANIFEST_FILENAME;
- public static java.lang.String APK_FILE_EXTENSION;
- public static android.content.pm.PackageParser$NewPermissionInfo[] NEW_PERMISSIONS;
- public static int PARSE_CHATTY;
- public static int PARSE_COLLECT_CERTIFICATES;
- public static int PARSE_ENFORCE_CODE;
- public static int PARSE_EXTERNAL_STORAGE;
- public static int PARSE_FORCE_SDK;
- public static int PARSE_FORWARD_LOCK;
- public static int PARSE_IGNORE_PROCESSES;
- public static int PARSE_IS_SYSTEM_DIR;
- public static int PARSE_MUST_BE_APK;
- public static android.content.pm.PackageParser$SplitPermissionInfo[] SPLIT_PERMISSIONS;
- public static java.util.concurrent.atomic.AtomicInteger sCachedPackageReadCount;
-}
-
--keep class android.content.pm.PackageParser$Activity {
- <init>(android.content.pm.PackageParser$ParseComponentArgs, android.content.pm.ActivityInfo);
-
- public int describeContents();
- public void setPackageName(java.lang.String);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public android.content.pm.ActivityInfo info;
-}
-
--keep class android.content.pm.PackageParser$ActivityIntentInfo {
- <init>(android.content.pm.PackageParser$Activity);
- <init>(android.os.Parcel);
-
- public java.lang.String toString();
-
-
- public android.content.pm.PackageParser$Activity activity;
-}
-
--keep class android.content.pm.PackageParser$ApkLite {
- <init>(java.lang.String, java.lang.String, java.lang.String, boolean, java.lang.String, java.lang.String, int, int, int, int, java.util.List, android.content.pm.PackageParser$SigningDetails, boolean, boolean, boolean, boolean, boolean, boolean);
-
- public long getLongVersionCode();
-
-
- public java.lang.String codePath;
- public java.lang.String configForSplit;
- public boolean coreApp;
- public boolean debuggable;
- public boolean extractNativeLibs;
- public int installLocation;
- public boolean isFeatureSplit;
- public boolean isolatedSplits;
- public boolean multiArch;
- public java.lang.String packageName;
- public int revisionCode;
- public android.content.pm.PackageParser$SigningDetails signingDetails;
- public java.lang.String splitName;
- public boolean use32bitAbi;
- public java.lang.String usesSplitName;
- public android.content.pm.VerifierInfo[] verifiers;
- public int versionCode;
- public int versionCodeMajor;
-}
-
--keep class android.content.pm.PackageParser$Callback {
-
- public abstract java.lang.String[] getOverlayApks(java.lang.String);
- public abstract java.lang.String[] getOverlayPaths(java.lang.String, java.lang.String);
- public abstract boolean hasFeature(java.lang.String);
-
-
-}
-
--keep class android.content.pm.PackageParser$Component {
- <init>(android.content.pm.PackageParser$Package);
- <init>(android.content.pm.PackageParser$ParsePackageItemArgs, android.content.pm.PackageItemInfo);
- <init>(android.content.pm.PackageParser$ParseComponentArgs, android.content.pm.ComponentInfo);
- <init>(android.content.pm.PackageParser$Component);
- <init>(android.os.Parcel);
-
- public void appendComponentShortName(java.lang.StringBuilder);
- public android.content.ComponentName getComponentName();
- public void printComponentShortName(java.io.PrintWriter);
- public void setPackageName(java.lang.String);
- protected void writeToParcel(android.os.Parcel, int);
-
-
- public java.lang.String className;
- public java.util.ArrayList intents;
- public android.os.Bundle metaData;
- public int order;
- public android.content.pm.PackageParser$Package owner;
-}
-
--keep class android.content.pm.PackageParser$Instrumentation {
- <init>(android.content.pm.PackageParser$ParsePackageItemArgs, android.content.pm.InstrumentationInfo);
-
- public int describeContents();
- public void setPackageName(java.lang.String);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public android.content.pm.InstrumentationInfo info;
-}
-
--keep class android.content.pm.PackageParser$IntentInfo {
- <init>();
- <init>(android.os.Parcel);
-
- public void writeIntentInfoToParcel(android.os.Parcel, int);
-
-
- public int banner;
- public boolean hasDefault;
- public int icon;
- public int labelRes;
- public int logo;
- public java.lang.CharSequence nonLocalizedLabel;
- public int preferred;
-}
-
--keep class android.content.pm.PackageParser$NewPermissionInfo {
- <init>(java.lang.String, int, int);
-
-
-
- public int fileVersion;
- public java.lang.String name;
- public int sdkVersion;
-}
-
--keep class android.content.pm.PackageParser$Package {
- <init>(java.lang.String);
- <init>(android.os.Parcel);
-
- public boolean canHaveOatDir();
- public int describeContents();
- public java.util.List getAllCodePaths();
- public java.util.List getAllCodePathsExcludingResourceOnly();
- public java.util.List getChildPackageNames();
- public long getLatestForegroundPackageUseTimeInMills();
- public long getLatestPackageUseTimeInMills();
- public long getLongVersionCode();
- public boolean hasChildPackage(java.lang.String);
- public boolean hasComponentClassName(java.lang.String);
- public boolean isExternal();
- public boolean isForwardLocked();
- public boolean isLibrary();
- public boolean isMatch(int);
- public boolean isOem();
- public boolean isPrivileged();
- public boolean isProduct();
- public boolean isSystem();
- public boolean isUpdatedSystemApp();
- public boolean isVendor();
- public void setApplicationInfoBaseCodePath(java.lang.String);
- public void setApplicationInfoBaseResourcePath(java.lang.String);
- public void setApplicationInfoCodePath(java.lang.String);
- public void setApplicationInfoFlags(int, int);
- public void setApplicationInfoResourcePath(java.lang.String);
- public void setApplicationInfoSplitCodePaths(java.lang.String[]);
- public void setApplicationInfoSplitResourcePaths(java.lang.String[]);
- public void setApplicationVolumeUuid(java.lang.String);
- public void setBaseCodePath(java.lang.String);
- public void setCodePath(java.lang.String);
- public void setPackageName(java.lang.String);
- public void setSigningDetails(android.content.pm.PackageParser$SigningDetails);
- public void setSplitCodePaths(java.lang.String[]);
- public void setUse32bitAbi(boolean);
- public void setVolumeUuid(java.lang.String);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public java.util.ArrayList activities;
- public android.content.pm.ApplicationInfo applicationInfo;
- public java.lang.String baseCodePath;
- public boolean baseHardwareAccelerated;
- public int baseRevisionCode;
- public java.util.ArrayList childPackages;
- public java.lang.String codePath;
- public java.util.ArrayList configPreferences;
- public boolean coreApp;
- public java.lang.String cpuAbiOverride;
- public java.util.ArrayList featureGroups;
- public int installLocation;
- public java.util.ArrayList instrumentation;
- public boolean isStub;
- public java.util.ArrayList libraryNames;
- public java.util.ArrayList mAdoptPermissions;
- public android.os.Bundle mAppMetaData;
- public int mCompileSdkVersion;
- public java.lang.String mCompileSdkVersionCodename;
- public java.lang.Object mExtras;
- public android.util.ArrayMap mKeySetMapping;
- public long[] mLastPackageUsageTimeInMills;
- public java.util.ArrayList mOriginalPackages;
- public java.lang.String mOverlayCategory;
- public boolean mOverlayIsStatic;
- public int mOverlayPriority;
- public java.lang.String mOverlayTarget;
- public int mPreferredOrder;
- public java.lang.String mRealPackage;
- public java.lang.String mRequiredAccountType;
- public boolean mRequiredForAllUsers;
- public java.lang.String mRestrictedAccountType;
- public java.lang.String mSharedUserId;
- public int mSharedUserLabel;
- public android.content.pm.PackageParser$SigningDetails mSigningDetails;
- public android.util.ArraySet mUpgradeKeySets;
- public int mVersionCode;
- public int mVersionCodeMajor;
- public java.lang.String mVersionName;
- public java.lang.String manifestPackageName;
- public java.lang.String packageName;
- public android.content.pm.PackageParser$Package parentPackage;
- public java.util.ArrayList permissionGroups;
- public java.util.ArrayList permissions;
- public java.util.ArrayList preferredActivityFilters;
- public java.util.ArrayList protectedBroadcasts;
- public java.util.ArrayList providers;
- public java.util.ArrayList receivers;
- public java.util.ArrayList reqFeatures;
- public java.util.ArrayList requestedPermissions;
- public byte[] restrictUpdateHash;
- public java.util.ArrayList services;
- public java.lang.String[] splitCodePaths;
- public int[] splitFlags;
- public java.lang.String[] splitNames;
- public int[] splitPrivateFlags;
- public int[] splitRevisionCodes;
- public java.lang.String staticSharedLibName;
- public long staticSharedLibVersion;
- public boolean use32bitAbi;
- public java.util.ArrayList usesLibraries;
- public java.lang.String[] usesLibraryFiles;
- public java.util.ArrayList usesOptionalLibraries;
- public java.util.ArrayList usesStaticLibraries;
- public java.lang.String[][] usesStaticLibrariesCertDigests;
- public long[] usesStaticLibrariesVersions;
- public boolean visibleToInstantApps;
- public java.lang.String volumeUuid;
-}
-
--keep class android.content.pm.PackageParser$PackageLite {
- <init>(java.lang.String, android.content.pm.PackageParser$ApkLite, java.lang.String[], boolean[], java.lang.String[], java.lang.String[], java.lang.String[], int[]);
-
- public java.util.List getAllCodePaths();
-
-
- public java.lang.String baseCodePath;
- public int baseRevisionCode;
- public java.lang.String codePath;
- public java.lang.String[] configForSplit;
- public boolean coreApp;
- public boolean debuggable;
- public boolean extractNativeLibs;
- public int installLocation;
- public boolean[] isFeatureSplits;
- public boolean isolatedSplits;
- public boolean multiArch;
- public java.lang.String packageName;
- public java.lang.String[] splitCodePaths;
- public java.lang.String[] splitNames;
- public int[] splitRevisionCodes;
- public boolean use32bitAbi;
- public java.lang.String[] usesSplitNames;
- public android.content.pm.VerifierInfo[] verifiers;
- public int versionCode;
- public int versionCodeMajor;
-}
-
--keep class android.content.pm.PackageParser$PackageParserException {
- <init>(int, java.lang.String);
- <init>(int, java.lang.String, java.lang.Throwable);
-
-
-
- public int error;
-}
-
--keep class android.content.pm.PackageParser$ParseComponentArgs {
- <init>(android.content.pm.PackageParser$Package, java.lang.String[], int, int, int, int, int, int, java.lang.String[], int, int, int);
-
-
-
-}
-
--keep class android.content.pm.PackageParser$ParsePackageItemArgs {
-
-
-
-}
-
--keep class android.content.pm.PackageParser$Permission {
- <init>(android.content.pm.PackageParser$Package);
- <init>(android.content.pm.PackageParser$Package, android.content.pm.PermissionInfo);
-
- public int describeContents();
- public boolean isAppOp();
- public void setPackageName(java.lang.String);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public android.content.pm.PackageParser$PermissionGroup group;
- public android.content.pm.PermissionInfo info;
- public boolean tree;
-}
-
--keep class android.content.pm.PackageParser$PermissionGroup {
- <init>(android.content.pm.PackageParser$Package);
- <init>(android.content.pm.PackageParser$Package, android.content.pm.PermissionGroupInfo);
-
- public int describeContents();
- public void setPackageName(java.lang.String);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public android.content.pm.PermissionGroupInfo info;
-}
-
--keep class android.content.pm.PackageParser$Provider {
- <init>(android.content.pm.PackageParser$ParseComponentArgs, android.content.pm.ProviderInfo);
- <init>(android.content.pm.PackageParser$Provider);
-
- public int describeContents();
- public void setPackageName(java.lang.String);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public android.content.pm.ProviderInfo info;
- public boolean syncable;
-}
-
--keep class android.content.pm.PackageParser$Service {
- <init>(android.content.pm.PackageParser$ParseComponentArgs, android.content.pm.ServiceInfo);
-
- public int describeContents();
- public void setPackageName(java.lang.String);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public android.content.pm.ServiceInfo info;
-}
-
--keep class android.content.pm.PackageParser$SigningDetails {
- <init>(android.content.pm.Signature[], int, android.util.ArraySet, android.content.pm.Signature[], int[]);
- <init>(android.content.pm.Signature[], int, android.content.pm.Signature[], int[]);
- <init>(android.content.pm.Signature[], int);
- <init>(android.content.pm.PackageParser$SigningDetails);
- <init>(android.os.Parcel);
-
- public boolean checkCapability(android.content.pm.PackageParser$SigningDetails, int);
- public boolean checkCapability(java.lang.String, int);
- public boolean checkCapabilityRecover(android.content.pm.PackageParser$SigningDetails, int);
- public int describeContents();
- public boolean equals(java.lang.Object);
- public boolean hasAncestor(android.content.pm.PackageParser$SigningDetails);
- public boolean hasAncestorOrSelf(android.content.pm.PackageParser$SigningDetails);
- public boolean hasCertificate(android.content.pm.Signature);
- public boolean hasCertificate(android.content.pm.Signature, int);
- public boolean hasCertificate(byte[]);
- public boolean hasPastSigningCertificates();
- public boolean hasSha256Certificate(byte[]);
- public boolean hasSha256Certificate(byte[], int);
- public boolean hasSignatures();
- public int hashCode();
- public boolean signaturesMatchExactly(android.content.pm.PackageParser$SigningDetails);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static android.content.pm.PackageParser$SigningDetails UNKNOWN;
- public android.content.pm.Signature[] pastSigningCertificates;
- public int[] pastSigningCertificatesFlags;
- public android.util.ArraySet publicKeys;
- public int signatureSchemeVersion;
- public android.content.pm.Signature[] signatures;
-}
-
--keep class android.content.pm.PackageParser$SplitPermissionInfo {
- <init>(java.lang.String, java.lang.String[], int);
-
-
-
- public java.lang.String[] newPerms;
- public java.lang.String rootPerm;
- public int targetSdk;
-}
-
--keep class android.content.pm.PackageStats {
- <init>(java.lang.String);
- <init>(java.lang.String, int);
- <init>(android.os.Parcel);
- <init>(android.content.pm.PackageStats);
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public int hashCode();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public long cacheSize;
- public long codeSize;
- public long dataSize;
- public long externalCacheSize;
- public long externalCodeSize;
- public long externalDataSize;
- public long externalMediaSize;
- public long externalObbSize;
- public java.lang.String packageName;
- public int userHandle;
-}
-
--keep class android.content.pm.PackageUserState {
- <init>();
- <init>(android.content.pm.PackageUserState);
-
- public boolean equals(java.lang.Object);
- public boolean isAvailable(int);
- public boolean isEnabled(android.content.pm.ComponentInfo, int);
- public boolean isMatch(android.content.pm.ComponentInfo, int);
-
-
- public int appLinkGeneration;
- public int categoryHint;
- public long ceDataInode;
- public java.lang.String dialogMessage;
- public android.util.ArraySet disabledComponents;
- public int domainVerificationStatus;
- public int enabled;
- public android.util.ArraySet enabledComponents;
- public java.lang.String harmfulAppWarning;
- public boolean hidden;
- public int installReason;
- public boolean installed;
- public boolean instantApp;
- public java.lang.String lastDisableAppCaller;
- public boolean notLaunched;
- public java.lang.String[] overlayPaths;
- public boolean stopped;
- public boolean suspended;
- public android.os.PersistableBundle suspendedAppExtras;
- public android.os.PersistableBundle suspendedLauncherExtras;
- public java.lang.String suspendingPackage;
- public boolean virtualPreload;
-}
-
--keep class android.content.pm.ParceledListSlice {
- <init>(java.util.List);
-
- public int describeContents();
- public static android.content.pm.ParceledListSlice emptyList();
- public java.util.List getList();
- protected android.os.Parcelable$Creator readParcelableCreator(android.os.Parcel, java.lang.ClassLoader);
- public void setInlineCountLimit(int);
- protected void writeElement(android.os.Parcelable, android.os.Parcel, int);
- protected void writeElement(java.lang.Object, android.os.Parcel, int);
- protected void writeParcelableCreator(android.os.Parcelable, android.os.Parcel);
- protected void writeParcelableCreator(java.lang.Object, android.os.Parcel);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$ClassLoaderCreator CREATOR;
-}
-
--keep class android.content.pm.PathPermission {
- <init>(java.lang.String, int, java.lang.String, java.lang.String);
- <init>(android.os.Parcel);
-
- public java.lang.String getReadPermission();
- public java.lang.String getWritePermission();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.content.pm.PermissionGroupInfo {
- <init>();
- <init>(android.content.pm.PermissionGroupInfo);
-
- public int describeContents();
- public java.lang.CharSequence loadDescription(android.content.pm.PackageManager);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int FLAG_PERSONAL_INFO;
- public int descriptionRes;
- public int flags;
- public java.lang.CharSequence nonLocalizedDescription;
- public int priority;
- public int requestRes;
-}
-
--keep class android.content.pm.PermissionInfo {
- <init>();
- <init>(android.content.pm.PermissionInfo);
-
- public int calculateFootprint();
- public int describeContents();
- public static int fixProtectionLevel(int);
- public int getProtection();
- public int getProtectionFlags();
- public boolean isAppOp();
- public java.lang.CharSequence loadDescription(android.content.pm.PackageManager);
- public static java.lang.String protectionToString(int);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int FLAG_COSTS_MONEY;
- public static int FLAG_INSTALLED;
- public static int FLAG_REMOVED;
- public static int PROTECTION_DANGEROUS;
- public static int PROTECTION_FLAG_APPOP;
- public static int PROTECTION_FLAG_DEVELOPMENT;
- public static int PROTECTION_FLAG_INSTALLER;
- public static int PROTECTION_FLAG_INSTANT;
- public static int PROTECTION_FLAG_OEM;
- public static int PROTECTION_FLAG_PRE23;
- public static int PROTECTION_FLAG_PREINSTALLED;
- public static int PROTECTION_FLAG_PRIVILEGED;
- public static int PROTECTION_FLAG_RUNTIME_ONLY;
- public static int PROTECTION_FLAG_SETUP;
- public static int PROTECTION_FLAG_SYSTEM;
- public static int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER;
- public static int PROTECTION_FLAG_VENDOR_PRIVILEGED;
- public static int PROTECTION_FLAG_VERIFIER;
- public static int PROTECTION_MASK_BASE;
- public static int PROTECTION_MASK_FLAGS;
- public static int PROTECTION_NORMAL;
- public static int PROTECTION_SIGNATURE;
- public static int PROTECTION_SIGNATURE_OR_SYSTEM;
- public int descriptionRes;
- public int flags;
- public java.lang.String group;
- public java.lang.CharSequence nonLocalizedDescription;
- public int protectionLevel;
- public int requestRes;
-}
-
--keep class android.content.pm.ProviderInfo {
- <init>();
- <init>(android.content.pm.ProviderInfo);
-
- public int describeContents();
- public void dump(android.util.Printer, java.lang.String);
- public void dump(android.util.Printer, java.lang.String, int);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int FLAG_SINGLE_USER;
- public static int FLAG_VISIBLE_TO_INSTANT_APP;
- public java.lang.String authority;
- public int flags;
- public boolean grantUriPermissions;
- public int initOrder;
- public boolean isSyncable;
- public boolean multiprocess;
- public android.content.pm.PathPermission[] pathPermissions;
- public java.lang.String readPermission;
- public android.os.PatternMatcher[] uriPermissionPatterns;
- public java.lang.String writePermission;
-}
-
--keep class android.content.pm.ResolveInfo {
- <init>();
- <init>(android.content.pm.ResolveInfo);
-
- public int describeContents();
- public void dump(android.util.Printer, java.lang.String);
- public void dump(android.util.Printer, java.lang.String, int);
- public android.content.pm.ComponentInfo getComponentInfo();
- public int getIconResource();
- public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
- public java.lang.CharSequence loadLabel(android.content.pm.PackageManager);
- public int resolveIconResId();
- public int resolveLabelResId();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public android.content.pm.ActivityInfo activityInfo;
- public android.content.pm.AuxiliaryResolveInfo auxiliaryInfo;
- public android.content.IntentFilter filter;
- public boolean handleAllWebDataURI;
- public int icon;
- public int iconResourceId;
- public boolean instantAppAvailable;
- public boolean isDefault;
- public boolean isInstantAppAvailable;
- public int labelRes;
- public int match;
- public boolean noResourceId;
- public java.lang.CharSequence nonLocalizedLabel;
- public int preferredOrder;
- public int priority;
- public android.content.pm.ProviderInfo providerInfo;
- public java.lang.String resolvePackageName;
- public android.content.pm.ServiceInfo serviceInfo;
- public int specificIndex;
- public boolean system;
- public int targetUserId;
-}
-
--keep class android.content.pm.ServiceInfo {
- <init>();
- <init>(android.content.pm.ServiceInfo);
-
- public int describeContents();
- public void dump(android.util.Printer, java.lang.String);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int FLAG_EXTERNAL_SERVICE;
- public static int FLAG_ISOLATED_PROCESS;
- public static int FLAG_SINGLE_USER;
- public static int FLAG_STOP_WITH_TASK;
- public static int FLAG_VISIBLE_TO_INSTANT_APP;
- public int flags;
- public java.lang.String permission;
-}
-
--keep class android.content.pm.SharedLibraryInfo {
- <init>(java.lang.String, long, int, android.content.pm.VersionedPackage, java.util.List);
-
- public int describeContents();
- public android.content.pm.VersionedPackage getDeclaringPackage();
- public java.util.List getDependentPackages();
- public long getLongVersion();
- public java.lang.String getName();
- public int getType();
- public int getVersion();
- public boolean isBuiltin();
- public boolean isDynamic();
- public boolean isStatic();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int TYPE_BUILTIN;
- public static int TYPE_DYNAMIC;
- public static int TYPE_STATIC;
- public static int VERSION_UNDEFINED;
-}
-
--keep class android.content.pm.Signature {
- <init>(byte[]);
- <init>(java.security.cert.Certificate[]);
- <init>(java.lang.String);
-
- public static boolean areEffectiveMatch(android.content.pm.Signature[], android.content.pm.Signature[]);
- public static boolean areEffectiveMatch(android.content.pm.Signature, android.content.pm.Signature);
- public static boolean areExactMatch(android.content.pm.Signature[], android.content.pm.Signature[]);
- public static android.content.pm.Signature bounce(java.security.cert.CertificateFactory, android.content.pm.Signature);
- public int describeContents();
- public boolean equals(java.lang.Object);
- public android.content.pm.Signature[] getChainSignatures();
- public java.security.PublicKey getPublicKey();
- public int hashCode();
- public byte[] toByteArray();
- public char[] toChars();
- public char[] toChars(char[], int[]);
- public java.lang.String toCharsString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.content.pm.SigningInfo {
- <init>();
- <init>(android.content.pm.PackageParser$SigningDetails);
- <init>(android.content.pm.SigningInfo);
-
- public int describeContents();
- public android.content.pm.Signature[] getApkContentsSigners();
- public android.content.pm.Signature[] getSigningCertificateHistory();
- public boolean hasMultipleSigners();
- public boolean hasPastSigningCertificates();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.content.pm.UserInfo {
- <init>(int, java.lang.String, int);
- <init>(int, java.lang.String, java.lang.String, int);
- <init>();
- <init>(android.content.pm.UserInfo);
-
- public boolean canHaveProfile();
- public int describeContents();
- public android.os.UserHandle getUserHandle();
- public boolean isAdmin();
- public boolean isDemo();
- public boolean isEnabled();
- public boolean isEphemeral();
- public boolean isGuest();
- public boolean isInitialized();
- public boolean isManagedProfile();
- public boolean isPrimary();
- public boolean isQuietModeEnabled();
- public boolean isRestricted();
- public boolean isSystemOnly();
- public static boolean isSystemOnly(int);
- public boolean supportsSwitchTo();
- public boolean supportsSwitchToByUser();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int FLAG_ADMIN;
- public static int FLAG_DEMO;
- public static int FLAG_DISABLED;
- public static int FLAG_EPHEMERAL;
- public static int FLAG_GUEST;
- public static int FLAG_INITIALIZED;
- public static int FLAG_MANAGED_PROFILE;
- public static int FLAG_MASK_USER_TYPE;
- public static int FLAG_PRIMARY;
- public static int FLAG_QUIET_MODE;
- public static int FLAG_RESTRICTED;
- public static int NO_PROFILE_GROUP_ID;
- public long creationTime;
- public int flags;
- public boolean guestToRemove;
- public java.lang.String iconPath;
- public int id;
- public java.lang.String lastLoggedInFingerprint;
- public long lastLoggedInTime;
- public java.lang.String name;
- public boolean partial;
- public int profileBadge;
- public int profileGroupId;
- public int restrictedProfileParentId;
- public int serialNumber;
-}
-
--keep class android.content.pm.VerifierDeviceIdentity {
- <init>(long);
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public static android.content.pm.VerifierDeviceIdentity generate();
- public int hashCode();
- public static android.content.pm.VerifierDeviceIdentity parse(java.lang.String);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.content.pm.VerifierInfo {
- <init>(java.lang.String, java.security.PublicKey);
-
- public int describeContents();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public java.lang.String packageName;
- public java.security.PublicKey publicKey;
-}
-
--keep class android.content.pm.VersionedPackage {
- <init>(java.lang.String, int);
- <init>(java.lang.String, long);
-
- public int describeContents();
- public long getLongVersionCode();
- public java.lang.String getPackageName();
- public int getVersionCode();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.content.pm.dex.ArtManager {
- <init>(android.content.Context, android.content.pm.dex.IArtManager);
-
- public static java.lang.String getCurrentProfilePath(java.lang.String, int, java.lang.String);
- public static java.lang.String getProfileName(java.lang.String);
- public static java.io.File getProfileSnapshotFileForName(java.lang.String, java.lang.String);
- public boolean isRuntimeProfilingEnabled(int);
- public void snapshotRuntimeProfile(int, java.lang.String, java.lang.String, java.util.concurrent.Executor, android.content.pm.dex.ArtManager$SnapshotRuntimeProfileCallback);
-
-
- public static int PROFILE_APPS;
- public static int PROFILE_BOOT_IMAGE;
- public static int SNAPSHOT_FAILED_CODE_PATH_NOT_FOUND;
- public static int SNAPSHOT_FAILED_INTERNAL_ERROR;
- public static int SNAPSHOT_FAILED_PACKAGE_NOT_FOUND;
-}
-
--keep class android.content.pm.dex.ArtManager$SnapshotRuntimeProfileCallback {
- <init>();
-
- public abstract void onError(int);
- public abstract void onSuccess(android.os.ParcelFileDescriptor);
-
-
-}
-
--keep class android.content.pm.dex.IArtManager {
-
- public abstract boolean isRuntimeProfilingEnabled(int, java.lang.String);
- public abstract void snapshotRuntimeProfile(int, java.lang.String, java.lang.String, android.content.pm.dex.ISnapshotRuntimeProfileCallback, java.lang.String);
-
-
-}
-
--keep class android.content.pm.dex.ISnapshotRuntimeProfileCallback {
-
- public abstract void onError(int);
- public abstract void onSuccess(android.os.ParcelFileDescriptor);
-
-
-}
-
--keep class android.content.res.ApkAssets {
-
- protected void finalize();
- public java.lang.String getAssetPath();
- public boolean isUpToDate();
- public static android.content.res.ApkAssets loadFromFd(java.io.FileDescriptor, java.lang.String, boolean, boolean);
- public static android.content.res.ApkAssets loadFromPath(java.lang.String);
- public static android.content.res.ApkAssets loadFromPath(java.lang.String, boolean);
- public static android.content.res.ApkAssets loadFromPath(java.lang.String, boolean, boolean);
- public static android.content.res.ApkAssets loadOverlayFromPath(java.lang.String, boolean);
- public android.content.res.XmlResourceParser openXml(java.lang.String);
- public java.lang.String toString();
-
-
-}
-
--keep class android.content.res.AssetFileDescriptor {
- <init>(android.os.ParcelFileDescriptor, long, long);
- <init>(android.os.ParcelFileDescriptor, long, long, android.os.Bundle);
-
- public void close();
- public java.io.FileInputStream createInputStream();
- public java.io.FileOutputStream createOutputStream();
- public int describeContents();
- public long getDeclaredLength();
- public android.os.Bundle getExtras();
- public java.io.FileDescriptor getFileDescriptor();
- public long getLength();
- public android.os.ParcelFileDescriptor getParcelFileDescriptor();
- public long getStartOffset();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static long UNKNOWN_LENGTH;
-}
-
--keep class android.content.res.AssetManager {
- <init>();
-
- public int addAssetPath(java.lang.String);
- public int addAssetPathAsSharedLibrary(java.lang.String);
- public int addOverlayPath(java.lang.String);
- public void close();
- protected void finalize();
- public int findCookieForPath(java.lang.String);
- public android.content.res.ApkAssets[] getApkAssets();
- public static java.lang.String getAssetAllocations();
- public android.util.SparseArray getAssignedPackageIdentifiers();
- public static int getGlobalAssetCount();
- public static int getGlobalAssetManagerCount();
- public java.lang.String[] getLocales();
- public java.lang.String[] getNonSystemLocales();
- public static android.content.res.AssetManager getSystem();
- public boolean isUpToDate();
- public java.lang.String[] list(java.lang.String);
- public java.io.InputStream open(java.lang.String);
- public java.io.InputStream open(java.lang.String, int);
- public android.content.res.AssetFileDescriptor openFd(java.lang.String);
- public java.io.InputStream openNonAsset(java.lang.String);
- public java.io.InputStream openNonAsset(java.lang.String, int);
- public java.io.InputStream openNonAsset(int, java.lang.String);
- public java.io.InputStream openNonAsset(int, java.lang.String, int);
- public android.content.res.AssetFileDescriptor openNonAssetFd(java.lang.String);
- public android.content.res.AssetFileDescriptor openNonAssetFd(int, java.lang.String);
- public android.content.res.XmlResourceParser openXmlResourceParser(java.lang.String);
- public android.content.res.XmlResourceParser openXmlResourceParser(int, java.lang.String);
- public void setApkAssets(android.content.res.ApkAssets[], boolean);
- public void setConfiguration(int, int, java.lang.String, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int);
-
-
- public static int ACCESS_BUFFER;
- public static int ACCESS_RANDOM;
- public static int ACCESS_STREAMING;
- public static int ACCESS_UNKNOWN;
-}
-
--keep class android.content.res.ColorStateList {
- <init>(int[][], int[]);
-
- public boolean canApplyTheme();
- public static android.content.res.ColorStateList createFromXml(android.content.res.Resources, org.xmlpull.v1.XmlPullParser);
- public static android.content.res.ColorStateList createFromXml(android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.content.res.Resources$Theme);
- public int describeContents();
- public int getChangingConfigurations();
- public int getColorForState(int[], int);
- public int[] getColors();
- public android.content.res.ConstantState getConstantState();
- public int getDefaultColor();
- public int[][] getStates();
- public boolean hasFocusStateSpecified();
- public boolean hasState(int);
- public boolean isOpaque();
- public boolean isStateful();
- public android.content.res.ColorStateList obtainForTheme(android.content.res.Resources$Theme);
- public android.content.res.ComplexColor obtainForTheme(android.content.res.Resources$Theme);
- public java.lang.String toString();
- public static android.content.res.ColorStateList valueOf(int);
- public android.content.res.ColorStateList withAlpha(int);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.content.res.CompatibilityInfo {
- <init>(android.content.pm.ApplicationInfo, int, int, boolean);
-
- public boolean alwaysSupportsScreen();
- public void applyToConfiguration(int, android.content.res.Configuration);
- public void applyToDisplayMetrics(android.util.DisplayMetrics);
- public static float computeCompatibleScaling(android.util.DisplayMetrics, android.util.DisplayMetrics);
- public int describeContents();
- public boolean equals(java.lang.Object);
- public android.content.res.CompatibilityInfo$Translator getTranslator();
- public int hashCode();
- public boolean isScalingRequired();
- public boolean needsCompatResources();
- public boolean neverSupportsScreen();
- public boolean supportsScreen();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static android.content.res.CompatibilityInfo DEFAULT_COMPATIBILITY_INFO;
- public static int DEFAULT_NORMAL_SHORT_DIMENSION;
- public static float MAXIMUM_ASPECT_RATIO;
- public int applicationDensity;
- public float applicationInvertedScale;
- public float applicationScale;
-}
-
--keep class android.content.res.CompatibilityInfo$Translator {
-
- public android.graphics.Rect getTranslatedContentInsets(android.graphics.Rect);
- public android.graphics.Region getTranslatedTouchableArea(android.graphics.Region);
- public android.graphics.Rect getTranslatedVisibleInsets(android.graphics.Rect);
- public void translateCanvas(android.graphics.Canvas);
- public void translateEventInScreenToAppWindow(android.view.MotionEvent);
- public void translateLayoutParamsInAppWindowToScreen(android.view.WindowManager$LayoutParams);
- public void translatePointInScreenToAppWindow(android.graphics.PointF);
- public void translateRectInAppWindowToScreen(android.graphics.Rect);
- public void translateRectInScreenToAppWinFrame(android.graphics.Rect);
- public void translateRectInScreenToAppWindow(android.graphics.Rect);
- public void translateRegionInWindowToScreen(android.graphics.Region);
- public void translateWindowLayout(android.view.WindowManager$LayoutParams);
-
-
- public float applicationInvertedScale;
- public float applicationScale;
-}
-
--keep class android.content.res.ComplexColor {
- <init>();
-
- public abstract boolean canApplyTheme();
- public int getChangingConfigurations();
- public abstract android.content.res.ConstantState getConstantState();
- public abstract int getDefaultColor();
- public boolean isStateful();
- public abstract android.content.res.ComplexColor obtainForTheme(android.content.res.Resources$Theme);
-
-
-}
-
--keep class android.content.res.Configuration {
- <init>();
- <init>(android.content.res.Configuration);
-
- public void clearLocales();
- public int compareTo(android.content.res.Configuration);
- public int compareTo(java.lang.Object);
- public static java.lang.String configurationDiffToString(int);
- public int describeContents();
- public int diff(android.content.res.Configuration);
- public int diff(android.content.res.Configuration, boolean, boolean);
- public int diffPublicOnly(android.content.res.Configuration);
- public boolean equals(android.content.res.Configuration);
- public boolean equals(java.lang.Object);
- public static android.content.res.Configuration generateDelta(android.content.res.Configuration, android.content.res.Configuration);
- public int getLayoutDirection();
- public android.os.LocaleList getLocales();
- public int hashCode();
- public boolean isLayoutSizeAtLeast(int);
- public boolean isOtherSeqNewer(android.content.res.Configuration);
- public boolean isScreenHdr();
- public boolean isScreenRound();
- public boolean isScreenWideColorGamut();
- public static java.lang.String localesToResourceQualifier(android.os.LocaleList);
- public void makeDefault();
- public static boolean needNewResources(int, int);
- public void readFromParcel(android.os.Parcel);
- public static void readXmlAttrs(org.xmlpull.v1.XmlPullParser, android.content.res.Configuration);
- public static int reduceScreenLayout(int, int, int);
- public static int resetScreenLayout(int);
- public static java.lang.String resourceQualifierString(android.content.res.Configuration);
- public static java.lang.String resourceQualifierString(android.content.res.Configuration, android.util.DisplayMetrics);
- public void setLayoutDirection(java.util.Locale);
- public void setLocale(java.util.Locale);
- public void setLocales(android.os.LocaleList);
- public void setTo(android.content.res.Configuration);
- public void setToDefaults();
- public java.lang.String toString();
- public static java.lang.String uiModeToString(int);
- public void unset();
- public int updateFrom(android.content.res.Configuration);
- public void writeResConfigToProto(android.util.proto.ProtoOutputStream, long, android.util.DisplayMetrics);
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
- public static void writeXmlAttrs(org.xmlpull.v1.XmlSerializer, android.content.res.Configuration);
-
-
- public static int ASSETS_SEQ_UNDEFINED;
- public static int COLOR_MODE_HDR_MASK;
- public static int COLOR_MODE_HDR_NO;
- public static int COLOR_MODE_HDR_SHIFT;
- public static int COLOR_MODE_HDR_UNDEFINED;
- public static int COLOR_MODE_HDR_YES;
- public static int COLOR_MODE_UNDEFINED;
- public static int COLOR_MODE_WIDE_COLOR_GAMUT_MASK;
- public static int COLOR_MODE_WIDE_COLOR_GAMUT_NO;
- public static int COLOR_MODE_WIDE_COLOR_GAMUT_UNDEFINED;
- public static int COLOR_MODE_WIDE_COLOR_GAMUT_YES;
- public static android.os.Parcelable$Creator CREATOR;
- public static int DENSITY_DPI_ANY;
- public static int DENSITY_DPI_NONE;
- public static int DENSITY_DPI_UNDEFINED;
- public static android.content.res.Configuration EMPTY;
- public static int HARDKEYBOARDHIDDEN_NO;
- public static int HARDKEYBOARDHIDDEN_UNDEFINED;
- public static int HARDKEYBOARDHIDDEN_YES;
- public static int KEYBOARDHIDDEN_NO;
- public static int KEYBOARDHIDDEN_SOFT;
- public static int KEYBOARDHIDDEN_UNDEFINED;
- public static int KEYBOARDHIDDEN_YES;
- public static int KEYBOARD_12KEY;
- public static int KEYBOARD_NOKEYS;
- public static int KEYBOARD_QWERTY;
- public static int KEYBOARD_UNDEFINED;
- public static int MNC_ZERO;
- public static int NATIVE_CONFIG_COLOR_MODE;
- public static int NATIVE_CONFIG_DENSITY;
- public static int NATIVE_CONFIG_KEYBOARD;
- public static int NATIVE_CONFIG_KEYBOARD_HIDDEN;
- public static int NATIVE_CONFIG_LAYOUTDIR;
- public static int NATIVE_CONFIG_LOCALE;
- public static int NATIVE_CONFIG_MCC;
- public static int NATIVE_CONFIG_MNC;
- public static int NATIVE_CONFIG_NAVIGATION;
- public static int NATIVE_CONFIG_ORIENTATION;
- public static int NATIVE_CONFIG_SCREEN_LAYOUT;
- public static int NATIVE_CONFIG_SCREEN_SIZE;
- public static int NATIVE_CONFIG_SMALLEST_SCREEN_SIZE;
- public static int NATIVE_CONFIG_TOUCHSCREEN;
- public static int NATIVE_CONFIG_UI_MODE;
- public static int NATIVE_CONFIG_VERSION;
- public static int NAVIGATIONHIDDEN_NO;
- public static int NAVIGATIONHIDDEN_UNDEFINED;
- public static int NAVIGATIONHIDDEN_YES;
- public static int NAVIGATION_DPAD;
- public static int NAVIGATION_NONAV;
- public static int NAVIGATION_TRACKBALL;
- public static int NAVIGATION_UNDEFINED;
- public static int NAVIGATION_WHEEL;
- public static int ORIENTATION_LANDSCAPE;
- public static int ORIENTATION_PORTRAIT;
- public static int ORIENTATION_SQUARE;
- public static int ORIENTATION_UNDEFINED;
- public static int SCREENLAYOUT_COMPAT_NEEDED;
- public static int SCREENLAYOUT_LAYOUTDIR_LTR;
- public static int SCREENLAYOUT_LAYOUTDIR_MASK;
- public static int SCREENLAYOUT_LAYOUTDIR_RTL;
- public static int SCREENLAYOUT_LAYOUTDIR_SHIFT;
- public static int SCREENLAYOUT_LAYOUTDIR_UNDEFINED;
- public static int SCREENLAYOUT_LONG_MASK;
- public static int SCREENLAYOUT_LONG_NO;
- public static int SCREENLAYOUT_LONG_UNDEFINED;
- public static int SCREENLAYOUT_LONG_YES;
- public static int SCREENLAYOUT_ROUND_MASK;
- public static int SCREENLAYOUT_ROUND_NO;
- public static int SCREENLAYOUT_ROUND_SHIFT;
- public static int SCREENLAYOUT_ROUND_UNDEFINED;
- public static int SCREENLAYOUT_ROUND_YES;
- public static int SCREENLAYOUT_SIZE_LARGE;
- public static int SCREENLAYOUT_SIZE_MASK;
- public static int SCREENLAYOUT_SIZE_NORMAL;
- public static int SCREENLAYOUT_SIZE_SMALL;
- public static int SCREENLAYOUT_SIZE_UNDEFINED;
- public static int SCREENLAYOUT_SIZE_XLARGE;
- public static int SCREENLAYOUT_UNDEFINED;
- public static int SCREEN_HEIGHT_DP_UNDEFINED;
- public static int SCREEN_WIDTH_DP_UNDEFINED;
- public static int SMALLEST_SCREEN_WIDTH_DP_UNDEFINED;
- public static int TOUCHSCREEN_FINGER;
- public static int TOUCHSCREEN_NOTOUCH;
- public static int TOUCHSCREEN_STYLUS;
- public static int TOUCHSCREEN_UNDEFINED;
- public static int UI_MODE_NIGHT_MASK;
- public static int UI_MODE_NIGHT_NO;
- public static int UI_MODE_NIGHT_UNDEFINED;
- public static int UI_MODE_NIGHT_YES;
- public static int UI_MODE_TYPE_APPLIANCE;
- public static int UI_MODE_TYPE_CAR;
- public static int UI_MODE_TYPE_DESK;
- public static int UI_MODE_TYPE_MASK;
- public static int UI_MODE_TYPE_NORMAL;
- public static int UI_MODE_TYPE_TELEVISION;
- public static int UI_MODE_TYPE_UNDEFINED;
- public static int UI_MODE_TYPE_VR_HEADSET;
- public static int UI_MODE_TYPE_WATCH;
- public int assetsSeq;
- public int colorMode;
- public int compatScreenHeightDp;
- public int compatScreenWidthDp;
- public int compatSmallestScreenWidthDp;
- public int densityDpi;
- public float fontScale;
- public int hardKeyboardHidden;
- public int keyboard;
- public int keyboardHidden;
- public java.util.Locale locale;
- public int mcc;
- public int mnc;
- public int navigation;
- public int navigationHidden;
- public int orientation;
- public int screenHeightDp;
- public int screenLayout;
- public int screenWidthDp;
- public int seq;
- public int smallestScreenWidthDp;
- public int touchscreen;
- public int uiMode;
- public boolean userSetLocale;
- public android.app.WindowConfiguration windowConfiguration;
-}
-
--keep class android.content.res.ConfigurationBoundResourceCache {
- <init>();
-
- public java.lang.Object getInstance(long, android.content.res.Resources, android.content.res.Resources$Theme);
- public void onConfigurationChange(int);
- public boolean shouldInvalidateEntry(android.content.res.ConstantState, int);
- public boolean shouldInvalidateEntry(java.lang.Object, int);
-
-
-}
-
--keep class android.content.res.ConstantState {
- <init>();
-
- public abstract int getChangingConfigurations();
- public abstract java.lang.Object newInstance();
- public java.lang.Object newInstance(android.content.res.Resources);
- public java.lang.Object newInstance(android.content.res.Resources, android.content.res.Resources$Theme);
-
-
-}
-
--keep class android.content.res.FontResourcesParser {
- <init>();
-
- public static android.content.res.FontResourcesParser$FamilyResourceEntry parse(org.xmlpull.v1.XmlPullParser, android.content.res.Resources);
-
-
-}
-
--keep class android.content.res.FontResourcesParser$FamilyResourceEntry {
-
-
-
-}
-
--keep class android.content.res.Resources {
- <init>(android.content.res.AssetManager, android.util.DisplayMetrics, android.content.res.Configuration);
- <init>(java.lang.ClassLoader);
-
- public int calcConfigChanges(android.content.res.Configuration);
- public void finishPreloading();
- public void flushLayoutCache();
- public android.content.res.XmlResourceParser getAnimation(int);
- public android.content.res.ConfigurationBoundResourceCache getAnimatorCache();
- public android.content.res.AssetManager getAssets();
- public boolean getBoolean(int);
- public java.lang.ClassLoader getClassLoader();
- public int getColor(int);
- public int getColor(int, android.content.res.Resources$Theme);
- public android.content.res.ColorStateList getColorStateList(int);
- public android.content.res.ColorStateList getColorStateList(int, android.content.res.Resources$Theme);
- public android.content.res.CompatibilityInfo getCompatibilityInfo();
- public android.content.res.Configuration getConfiguration();
- public float getDimension(int);
- public int getDimensionPixelOffset(int);
- public int getDimensionPixelSize(int);
- public android.view.DisplayAdjustments getDisplayAdjustments();
- public android.util.DisplayMetrics getDisplayMetrics();
- public android.graphics.drawable.Drawable getDrawable(int);
- public android.graphics.drawable.Drawable getDrawable(int, android.content.res.Resources$Theme);
- public android.graphics.drawable.Drawable getDrawableForDensity(int, int);
- public android.graphics.drawable.Drawable getDrawableForDensity(int, int, android.content.res.Resources$Theme);
- public android.graphics.drawable.DrawableInflater getDrawableInflater();
- public float getFloat(int);
- public android.graphics.Typeface getFont(int);
- public float getFraction(int, int, int);
- public int getIdentifier(java.lang.String, java.lang.String, java.lang.String);
- public android.content.res.ResourcesImpl getImpl();
- public int[] getIntArray(int);
- public int getInteger(int);
- public android.content.res.XmlResourceParser getLayout(int);
- public android.graphics.Movie getMovie(int);
- public android.util.LongSparseArray getPreloadedDrawables();
- public java.lang.String getQuantityString(int, int, java.lang.Object[]);
- public java.lang.String getQuantityString(int, int);
- public java.lang.CharSequence getQuantityText(int, int);
- public java.lang.String getResourceEntryName(int);
- public java.lang.String getResourceName(int);
- public java.lang.String getResourcePackageName(int);
- public java.lang.String getResourceTypeName(int);
- public android.content.res.Configuration[] getSizeConfigurations();
- public android.content.res.ConfigurationBoundResourceCache getStateListAnimatorCache();
- public java.lang.String getString(int);
- public java.lang.String getString(int, java.lang.Object[]);
- public java.lang.String[] getStringArray(int);
- public static android.content.res.Resources getSystem();
- public java.lang.CharSequence getText(int);
- public java.lang.CharSequence getText(int, java.lang.CharSequence);
- public java.lang.CharSequence[] getTextArray(int);
- public void getValue(int, android.util.TypedValue, boolean);
- public void getValue(java.lang.String, android.util.TypedValue, boolean);
- public void getValueForDensity(int, int, android.util.TypedValue, boolean);
- public android.content.res.XmlResourceParser getXml(int);
- public android.content.res.ComplexColor loadComplexColor(android.util.TypedValue, int, android.content.res.Resources$Theme);
- public android.content.res.Resources$Theme newTheme();
- public android.content.res.TypedArray obtainAttributes(android.util.AttributeSet, int[]);
- public static android.content.res.TypedArray obtainAttributes(android.content.res.Resources, android.content.res.Resources$Theme, android.util.AttributeSet, int[]);
- public android.content.res.TypedArray obtainTypedArray(int);
- public java.io.InputStream openRawResource(int);
- public java.io.InputStream openRawResource(int, android.util.TypedValue);
- public android.content.res.AssetFileDescriptor openRawResourceFd(int);
- public void parseBundleExtra(java.lang.String, android.util.AttributeSet, android.os.Bundle);
- public void parseBundleExtras(android.content.res.XmlResourceParser, android.os.Bundle);
- public void preloadFonts(int);
- public static boolean resourceHasPackage(int);
- public static int selectDefaultTheme(int, int);
- public static int selectSystemTheme(int, int, int, int, int, int);
- public void setCompatibilityInfo(android.content.res.CompatibilityInfo);
- public void setImpl(android.content.res.ResourcesImpl);
- public void startPreloading();
- public void updateConfiguration(android.content.res.Configuration, android.util.DisplayMetrics);
- public void updateConfiguration(android.content.res.Configuration, android.util.DisplayMetrics, android.content.res.CompatibilityInfo);
- public static void updateSystemConfiguration(android.content.res.Configuration, android.util.DisplayMetrics, android.content.res.CompatibilityInfo);
-
-
-}
-
--keep class android.content.res.Resources$NotFoundException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Exception);
-
-
-
-}
-
--keep class android.content.res.Resources$Theme {
-
- public void applyStyle(int, boolean);
- public void dump(int, java.lang.String, java.lang.String);
- public void encode(android.view.ViewHierarchyEncoder);
- public int[] getAllAttributes();
- public int getChangingConfigurations();
- public android.graphics.drawable.Drawable getDrawable(int);
- public android.content.res.Resources$ThemeKey getKey();
- public android.content.res.Resources getResources();
- public java.lang.String[] getTheme();
- public android.content.res.TypedArray obtainStyledAttributes(int[]);
- public android.content.res.TypedArray obtainStyledAttributes(int, int[]);
- public android.content.res.TypedArray obtainStyledAttributes(android.util.AttributeSet, int[], int, int);
- public void rebase();
- public boolean resolveAttribute(int, android.util.TypedValue, boolean);
- public android.content.res.TypedArray resolveAttributes(int[], int[]);
- public void setTo(android.content.res.Resources$Theme);
-
-
-}
-
--keep class android.content.res.Resources$ThemeKey {
-
- public void append(int, boolean);
- public android.content.res.Resources$ThemeKey clone();
- public java.lang.Object clone();
- public boolean equals(java.lang.Object);
- public int hashCode();
- public void setTo(android.content.res.Resources$ThemeKey);
-
-
-}
-
--keep class android.content.res.ResourcesImpl {
- <init>(android.content.res.AssetManager, android.util.DisplayMetrics, android.content.res.Configuration, android.view.DisplayAdjustments);
-
- public int calcConfigChanges(android.content.res.Configuration);
- public void flushLayoutCache();
- public android.content.res.AssetManager getAssets();
- public android.view.DisplayAdjustments getDisplayAdjustments();
- public android.graphics.Typeface loadFont(android.content.res.Resources, android.util.TypedValue, int);
- public void startPreloading();
- public void updateConfiguration(android.content.res.Configuration, android.util.DisplayMetrics, android.content.res.CompatibilityInfo);
-
-
- public static boolean TRACE_FOR_DETAILED_PRELOAD;
-}
-
--keep class android.content.res.ThemedResourceCache {
-
- public java.lang.Object get(long, android.content.res.Resources$Theme);
- public void onConfigurationChange(int);
- public void put(long, android.content.res.Resources$Theme, java.lang.Object);
- public void put(long, android.content.res.Resources$Theme, java.lang.Object, boolean);
- protected abstract boolean shouldInvalidateEntry(java.lang.Object, int);
-
-
-}
-
--keep class android.content.res.TypedArray {
- <init>(android.content.res.Resources);
-
- public int[] extractThemeAttrs();
- public int[] extractThemeAttrs(int[]);
- public boolean getBoolean(int, boolean);
- public int getChangingConfigurations();
- public int getColor(int, int);
- public android.content.res.ColorStateList getColorStateList(int);
- public android.content.res.ComplexColor getComplexColor(int);
- public float getDimension(int, float);
- public int getDimensionPixelOffset(int, int);
- public int getDimensionPixelSize(int, int);
- public android.graphics.drawable.Drawable getDrawable(int);
- public android.graphics.drawable.Drawable getDrawableForDensity(int, int);
- public float getFloat(int, float);
- public android.graphics.Typeface getFont(int);
- public float getFraction(int, int, int, float);
- public int getIndex(int);
- public int getIndexCount();
- public int getInt(int, int);
- public int getInteger(int, int);
- public int getLayoutDimension(int, java.lang.String);
- public int getLayoutDimension(int, int);
- public java.lang.String getNonConfigurationString(int, int);
- public java.lang.String getNonResourceString(int);
- public java.lang.String getPositionDescription();
- public int getResourceId(int, int);
- public android.content.res.Resources getResources();
- public java.lang.String getString(int);
- public java.lang.CharSequence getText(int);
- public java.lang.CharSequence[] getTextArray(int);
- public int getThemeAttributeId(int, int);
- public int getType(int);
- public boolean getValue(int, android.util.TypedValue);
- public boolean hasValue(int);
- public boolean hasValueOrEmpty(int);
- public int length();
- public android.util.TypedValue peekValue(int);
- public void recycle();
- public java.lang.String toString();
-
-
-}
-
--keep class android.content.res.XmlResourceParser {
-
- public abstract void close();
- public abstract java.lang.String getAttributeNamespace(int);
-
-
-}
-
--keep class android.database.CharArrayBuffer {
- <init>(int);
- <init>(char[]);
-
-
-
- public char[] data;
- public int sizeCopied;
-}
-
--keep class android.database.ContentObserver {
- <init>(android.os.Handler);
-
- public boolean deliverSelfNotifications();
- public void dispatchChange(boolean);
- public void dispatchChange(boolean, android.net.Uri);
- public android.database.IContentObserver getContentObserver();
- public void onChange(boolean);
- public void onChange(boolean, android.net.Uri);
- public void onChange(boolean, android.net.Uri, int);
- public android.database.IContentObserver releaseContentObserver();
-
-
-}
-
--keep class android.database.Cursor {
-
- public abstract void close();
- public abstract void copyStringToBuffer(int, android.database.CharArrayBuffer);
- public abstract void deactivate();
- public abstract byte[] getBlob(int);
- public abstract int getColumnCount();
- public abstract int getColumnIndex(java.lang.String);
- public abstract int getColumnIndexOrThrow(java.lang.String);
- public abstract java.lang.String getColumnName(int);
- public abstract java.lang.String[] getColumnNames();
- public abstract int getCount();
- public abstract double getDouble(int);
- public abstract android.os.Bundle getExtras();
- public abstract float getFloat(int);
- public abstract int getInt(int);
- public abstract long getLong(int);
- public abstract android.net.Uri getNotificationUri();
- public abstract int getPosition();
- public abstract short getShort(int);
- public abstract java.lang.String getString(int);
- public abstract int getType(int);
- public abstract boolean getWantsAllOnMoveCalls();
- public abstract boolean isAfterLast();
- public abstract boolean isBeforeFirst();
- public abstract boolean isClosed();
- public abstract boolean isFirst();
- public abstract boolean isLast();
- public abstract boolean isNull(int);
- public abstract boolean move(int);
- public abstract boolean moveToFirst();
- public abstract boolean moveToLast();
- public abstract boolean moveToNext();
- public abstract boolean moveToPosition(int);
- public abstract boolean moveToPrevious();
- public abstract void registerContentObserver(android.database.ContentObserver);
- public abstract void registerDataSetObserver(android.database.DataSetObserver);
- public abstract boolean requery();
- public abstract android.os.Bundle respond(android.os.Bundle);
- public abstract void setExtras(android.os.Bundle);
- public abstract void setNotificationUri(android.content.ContentResolver, android.net.Uri);
- public abstract void unregisterContentObserver(android.database.ContentObserver);
- public abstract void unregisterDataSetObserver(android.database.DataSetObserver);
-
-
- public static int FIELD_TYPE_BLOB;
- public static int FIELD_TYPE_FLOAT;
- public static int FIELD_TYPE_INTEGER;
- public static int FIELD_TYPE_NULL;
- public static int FIELD_TYPE_STRING;
-}
-
--keep class android.database.CursorWindow {
- <init>(java.lang.String);
- <init>(java.lang.String, long);
- <init>(boolean);
-
- public boolean allocRow();
- public void clear();
- public void copyStringToBuffer(int, int, android.database.CharArrayBuffer);
- public int describeContents();
- protected void finalize();
- public void freeLastRow();
- public byte[] getBlob(int, int);
- public double getDouble(int, int);
- public float getFloat(int, int);
- public int getInt(int, int);
- public long getLong(int, int);
- public java.lang.String getName();
- public int getNumRows();
- public short getShort(int, int);
- public int getStartPosition();
- public java.lang.String getString(int, int);
- public int getType(int, int);
- public boolean isBlob(int, int);
- public boolean isFloat(int, int);
- public boolean isLong(int, int);
- public boolean isNull(int, int);
- public boolean isString(int, int);
- public static android.database.CursorWindow newFromParcel(android.os.Parcel);
- protected void onAllReferencesReleased();
- public boolean putBlob(byte[], int, int);
- public boolean putDouble(double, int, int);
- public boolean putLong(long, int, int);
- public boolean putNull(int, int);
- public boolean putString(java.lang.String, int, int);
- public boolean setNumColumns(int);
- public void setStartPosition(int);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public long mWindowPtr;
-}
-
--keep class android.database.DataSetObserver {
- <init>();
-
- public void onChanged();
- public void onInvalidated();
-
-
-}
-
--keep class android.database.DatabaseErrorHandler {
-
- public abstract void onCorruption(android.database.sqlite.SQLiteDatabase);
-
-
-}
-
--keep class android.database.IContentObserver {
-
- public abstract void onChange(boolean, android.net.Uri, int);
-
-
-}
-
--keep class android.database.SQLException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
-
-
-
-}
-
--keep class android.database.sqlite.SQLiteClosable {
- <init>();
-
- public void acquireReference();
- public void close();
- protected abstract void onAllReferencesReleased();
- protected void onAllReferencesReleasedFromContainer();
- public void releaseReference();
- public void releaseReferenceFromContainer();
-
-
-}
-
--keep class android.database.sqlite.SQLiteConnection {
-
- public void dump(android.util.Printer, boolean);
- public void execute(java.lang.String, java.lang.Object[], android.os.CancellationSignal);
- public android.os.ParcelFileDescriptor executeForBlobFileDescriptor(java.lang.String, java.lang.Object[], android.os.CancellationSignal);
- public int executeForChangedRowCount(java.lang.String, java.lang.Object[], android.os.CancellationSignal);
- public int executeForCursorWindow(java.lang.String, java.lang.Object[], android.database.CursorWindow, int, int, boolean, android.os.CancellationSignal);
- public long executeForLastInsertedRowId(java.lang.String, java.lang.Object[], android.os.CancellationSignal);
- public long executeForLong(java.lang.String, java.lang.Object[], android.os.CancellationSignal);
- public java.lang.String executeForString(java.lang.String, java.lang.Object[], android.os.CancellationSignal);
- protected void finalize();
- public int getConnectionId();
- public boolean isPrimaryConnection();
- public void onCancel();
- public void prepare(java.lang.String, android.database.sqlite.SQLiteStatementInfo);
- public java.lang.String toString();
-
-
-}
-
--keep class android.database.sqlite.SQLiteConnectionPool {
-
- public android.database.sqlite.SQLiteConnection acquireConnection(java.lang.String, int, android.os.CancellationSignal);
- public void close();
- public void collectDbStats(java.util.ArrayList);
- public void dump(android.util.Printer, boolean);
- protected void finalize();
- public static android.database.sqlite.SQLiteConnectionPool open(android.database.sqlite.SQLiteDatabaseConfiguration);
- public void reconfigure(android.database.sqlite.SQLiteDatabaseConfiguration);
- public void releaseConnection(android.database.sqlite.SQLiteConnection);
- public void setupIdleConnectionHandler(android.os.Looper, long);
- public boolean shouldYieldConnection(android.database.sqlite.SQLiteConnection, int);
- public java.lang.String toString();
-
-
- public static int CONNECTION_FLAG_INTERACTIVE;
- public static int CONNECTION_FLAG_PRIMARY_CONNECTION_AFFINITY;
- public static int CONNECTION_FLAG_READ_ONLY;
-}
-
--keep class android.database.sqlite.SQLiteCursorDriver {
-
- public abstract void cursorClosed();
- public abstract void cursorDeactivated();
- public abstract void cursorRequeried(android.database.Cursor);
- public abstract android.database.Cursor query(android.database.sqlite.SQLiteDatabase$CursorFactory, java.lang.String[]);
- public abstract void setBindArguments(java.lang.String[]);
-
-
-}
-
--keep class android.database.sqlite.SQLiteCustomFunction {
- <init>(java.lang.String, int, android.database.sqlite.SQLiteDatabase$CustomFunction);
-
-
-
- public android.database.sqlite.SQLiteDatabase$CustomFunction callback;
- public java.lang.String name;
- public int numArgs;
-}
-
--keep class android.database.sqlite.SQLiteDatabase {
-
- public void addCustomFunction(java.lang.String, int, android.database.sqlite.SQLiteDatabase$CustomFunction);
- public void beginTransaction();
- public void beginTransactionNonExclusive();
- public void beginTransactionWithListener(android.database.sqlite.SQLiteTransactionListener);
- public void beginTransactionWithListenerNonExclusive(android.database.sqlite.SQLiteTransactionListener);
- public android.database.sqlite.SQLiteStatement compileStatement(java.lang.String);
- public static android.database.sqlite.SQLiteDatabase create(android.database.sqlite.SQLiteDatabase$CursorFactory);
- public static android.database.sqlite.SQLiteDatabase createInMemory(android.database.sqlite.SQLiteDatabase$OpenParams);
- public int delete(java.lang.String, java.lang.String, java.lang.String[]);
- public static boolean deleteDatabase(java.io.File);
- public void disableWriteAheadLogging();
- public boolean enableWriteAheadLogging();
- public void endTransaction();
- public void execSQL(java.lang.String);
- public void execSQL(java.lang.String, java.lang.Object[]);
- protected void finalize();
- public static java.lang.String findEditTable(java.lang.String);
- public java.util.List getAttachedDbs();
- public long getMaximumSize();
- public long getPageSize();
- public java.lang.String getPath();
- public java.util.Map getSyncedTables();
- public int getVersion();
- public boolean inTransaction();
- public long insert(java.lang.String, java.lang.String, android.content.ContentValues);
- public long insertOrThrow(java.lang.String, java.lang.String, android.content.ContentValues);
- public long insertWithOnConflict(java.lang.String, java.lang.String, android.content.ContentValues, int);
- public boolean isDatabaseIntegrityOk();
- public boolean isDbLockedByCurrentThread();
- public boolean isDbLockedByOtherThreads();
- public boolean isInMemoryDatabase();
- public boolean isOpen();
- public boolean isReadOnly();
- public boolean isWriteAheadLoggingEnabled();
- public void markTableSyncable(java.lang.String, java.lang.String);
- public void markTableSyncable(java.lang.String, java.lang.String, java.lang.String);
- public boolean needUpgrade(int);
- protected void onAllReferencesReleased();
- public static android.database.sqlite.SQLiteDatabase openDatabase(java.lang.String, android.database.sqlite.SQLiteDatabase$CursorFactory, int);
- public static android.database.sqlite.SQLiteDatabase openDatabase(java.io.File, android.database.sqlite.SQLiteDatabase$OpenParams);
- public static android.database.sqlite.SQLiteDatabase openDatabase(java.lang.String, android.database.sqlite.SQLiteDatabase$CursorFactory, int, android.database.DatabaseErrorHandler);
- public static android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.io.File, android.database.sqlite.SQLiteDatabase$CursorFactory);
- public static android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, android.database.sqlite.SQLiteDatabase$CursorFactory);
- public static android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, android.database.sqlite.SQLiteDatabase$CursorFactory, android.database.DatabaseErrorHandler);
- public android.database.Cursor query(boolean, java.lang.String, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, java.lang.String, java.lang.String, java.lang.String);
- public android.database.Cursor query(boolean, java.lang.String, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, java.lang.String, java.lang.String, java.lang.String, android.os.CancellationSignal);
- public android.database.Cursor query(java.lang.String, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, java.lang.String, java.lang.String);
- public android.database.Cursor query(java.lang.String, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, java.lang.String, java.lang.String, java.lang.String);
- public android.database.Cursor queryWithFactory(android.database.sqlite.SQLiteDatabase$CursorFactory, boolean, java.lang.String, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, java.lang.String, java.lang.String, java.lang.String);
- public android.database.Cursor queryWithFactory(android.database.sqlite.SQLiteDatabase$CursorFactory, boolean, java.lang.String, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, java.lang.String, java.lang.String, java.lang.String, android.os.CancellationSignal);
- public android.database.Cursor rawQuery(java.lang.String, java.lang.String[]);
- public android.database.Cursor rawQuery(java.lang.String, java.lang.String[], android.os.CancellationSignal);
- public android.database.Cursor rawQueryWithFactory(android.database.sqlite.SQLiteDatabase$CursorFactory, java.lang.String, java.lang.String[], java.lang.String);
- public android.database.Cursor rawQueryWithFactory(android.database.sqlite.SQLiteDatabase$CursorFactory, java.lang.String, java.lang.String[], java.lang.String, android.os.CancellationSignal);
- public static int releaseMemory();
- public void reopenReadWrite();
- public long replace(java.lang.String, java.lang.String, android.content.ContentValues);
- public long replaceOrThrow(java.lang.String, java.lang.String, android.content.ContentValues);
- public void setForeignKeyConstraintsEnabled(boolean);
- public void setLocale(java.util.Locale);
- public void setLockingEnabled(boolean);
- public void setMaxSqlCacheSize(int);
- public long setMaximumSize(long);
- public void setPageSize(long);
- public void setTransactionSuccessful();
- public void setVersion(int);
- public java.lang.String toString();
- public int update(java.lang.String, android.content.ContentValues, java.lang.String, java.lang.String[]);
- public int updateWithOnConflict(java.lang.String, android.content.ContentValues, java.lang.String, java.lang.String[], int);
- public void validateSql(java.lang.String, android.os.CancellationSignal);
- public boolean yieldIfContended();
- public boolean yieldIfContendedSafely();
- public boolean yieldIfContendedSafely(long);
-
-
- public static int CONFLICT_ABORT;
- public static int CONFLICT_FAIL;
- public static int CONFLICT_IGNORE;
- public static int CONFLICT_NONE;
- public static int CONFLICT_REPLACE;
- public static int CONFLICT_ROLLBACK;
- public static int CREATE_IF_NECESSARY;
- public static int DISABLE_COMPATIBILITY_WAL;
- public static int ENABLE_WRITE_AHEAD_LOGGING;
- public static int MAX_SQL_CACHE_SIZE;
- public static int NO_LOCALIZED_COLLATORS;
- public static int OPEN_READONLY;
- public static int OPEN_READWRITE;
- public static int SQLITE_MAX_LIKE_PATTERN_LENGTH;
-}
-
--keep class android.database.sqlite.SQLiteDatabase$CursorFactory {
-
- public abstract android.database.Cursor newCursor(android.database.sqlite.SQLiteDatabase, android.database.sqlite.SQLiteCursorDriver, java.lang.String, android.database.sqlite.SQLiteQuery);
-
-
-}
-
--keep class android.database.sqlite.SQLiteDatabase$CustomFunction {
-
- public abstract void callback(java.lang.String[]);
-
-
-}
-
--keep class android.database.sqlite.SQLiteDatabase$OpenParams {
-
- public android.database.sqlite.SQLiteDatabase$CursorFactory getCursorFactory();
- public android.database.DatabaseErrorHandler getErrorHandler();
- public long getIdleConnectionTimeout();
- public java.lang.String getJournalMode();
- public int getLookasideSlotCount();
- public int getLookasideSlotSize();
- public int getOpenFlags();
- public java.lang.String getSynchronousMode();
- public android.database.sqlite.SQLiteDatabase$OpenParams$Builder toBuilder();
-
-
-}
-
--keep class android.database.sqlite.SQLiteDatabase$OpenParams$Builder {
- <init>();
- <init>(android.database.sqlite.SQLiteDatabase$OpenParams);
-
- public android.database.sqlite.SQLiteDatabase$OpenParams$Builder addOpenFlags(int);
- public android.database.sqlite.SQLiteDatabase$OpenParams build();
- public boolean isWriteAheadLoggingEnabled();
- public android.database.sqlite.SQLiteDatabase$OpenParams$Builder removeOpenFlags(int);
- public android.database.sqlite.SQLiteDatabase$OpenParams$Builder setCursorFactory(android.database.sqlite.SQLiteDatabase$CursorFactory);
- public android.database.sqlite.SQLiteDatabase$OpenParams$Builder setErrorHandler(android.database.DatabaseErrorHandler);
- public android.database.sqlite.SQLiteDatabase$OpenParams$Builder setIdleConnectionTimeout(long);
- public android.database.sqlite.SQLiteDatabase$OpenParams$Builder setJournalMode(java.lang.String);
- public android.database.sqlite.SQLiteDatabase$OpenParams$Builder setLookasideConfig(int, int);
- public android.database.sqlite.SQLiteDatabase$OpenParams$Builder setOpenFlags(int);
- public android.database.sqlite.SQLiteDatabase$OpenParams$Builder setSynchronousMode(java.lang.String);
- public void setWriteAheadLoggingEnabled(boolean);
-
-
-}
-
--keep class android.database.sqlite.SQLiteDatabaseConfiguration {
- <init>(java.lang.String, int);
- <init>(android.database.sqlite.SQLiteDatabaseConfiguration);
-
- public boolean isInMemoryDb();
- public void updateParametersFrom(android.database.sqlite.SQLiteDatabaseConfiguration);
-
-
- public static java.lang.String MEMORY_DB_PATH;
- public java.util.ArrayList customFunctions;
- public boolean foreignKeyConstraintsEnabled;
- public long idleConnectionTimeoutMs;
- public java.lang.String journalMode;
- public java.lang.String label;
- public java.util.Locale locale;
- public int lookasideSlotCount;
- public int lookasideSlotSize;
- public int maxSqlCacheSize;
- public int openFlags;
- public java.lang.String path;
- public java.lang.String syncMode;
-}
-
--keep class android.database.sqlite.SQLiteDebug {
-
- public static void dump(android.util.Printer, java.lang.String[]);
- public static android.database.sqlite.SQLiteDebug$PagerStats getDatabaseInfo();
- public static boolean shouldLogSlowQuery(long);
-
-
- public static boolean DEBUG_LOG_SLOW_QUERIES;
- public static boolean DEBUG_SQL_LOG;
- public static boolean DEBUG_SQL_STATEMENTS;
- public static boolean DEBUG_SQL_TIME;
-}
-
--keep class android.database.sqlite.SQLiteDebug$DbStats {
- <init>(java.lang.String, long, long, int, int, int, int);
-
-
-
- public java.lang.String cache;
- public java.lang.String dbName;
- public long dbSize;
- public int lookaside;
- public long pageSize;
-}
-
--keep class android.database.sqlite.SQLiteDebug$PagerStats {
- <init>();
-
-
-
- public java.util.ArrayList dbStats;
- public int largestMemAlloc;
- public int memoryUsed;
- public int pageCacheOverflow;
-}
-
--keep class android.database.sqlite.SQLiteProgram {
-
- public void bindAllArgsAsStrings(java.lang.String[]);
- public void bindBlob(int, byte[]);
- public void bindDouble(int, double);
- public void bindLong(int, long);
- public void bindNull(int);
- public void bindString(int, java.lang.String);
- public void clearBindings();
- protected int getConnectionFlags();
- protected android.database.sqlite.SQLiteSession getSession();
- public int getUniqueId();
- protected void onAllReferencesReleased();
- protected void onCorruption();
-
-
-}
-
--keep class android.database.sqlite.SQLiteQuery {
-
- public java.lang.String toString();
-
-
-}
-
--keep class android.database.sqlite.SQLiteSession {
- <init>(android.database.sqlite.SQLiteConnectionPool);
-
- public void beginTransaction(int, android.database.sqlite.SQLiteTransactionListener, int, android.os.CancellationSignal);
- public void endTransaction(android.os.CancellationSignal);
- public void execute(java.lang.String, java.lang.Object[], int, android.os.CancellationSignal);
- public android.os.ParcelFileDescriptor executeForBlobFileDescriptor(java.lang.String, java.lang.Object[], int, android.os.CancellationSignal);
- public int executeForChangedRowCount(java.lang.String, java.lang.Object[], int, android.os.CancellationSignal);
- public int executeForCursorWindow(java.lang.String, java.lang.Object[], android.database.CursorWindow, int, int, boolean, int, android.os.CancellationSignal);
- public long executeForLastInsertedRowId(java.lang.String, java.lang.Object[], int, android.os.CancellationSignal);
- public long executeForLong(java.lang.String, java.lang.Object[], int, android.os.CancellationSignal);
- public java.lang.String executeForString(java.lang.String, java.lang.Object[], int, android.os.CancellationSignal);
- public boolean hasConnection();
- public boolean hasNestedTransaction();
- public boolean hasTransaction();
- public void prepare(java.lang.String, int, android.os.CancellationSignal, android.database.sqlite.SQLiteStatementInfo);
- public void setTransactionSuccessful();
- public boolean yieldTransaction(long, boolean, android.os.CancellationSignal);
-
-
- public static int TRANSACTION_MODE_DEFERRED;
- public static int TRANSACTION_MODE_EXCLUSIVE;
- public static int TRANSACTION_MODE_IMMEDIATE;
-}
-
--keep class android.database.sqlite.SQLiteStatement {
-
- public void execute();
- public long executeInsert();
- public int executeUpdateDelete();
- public android.os.ParcelFileDescriptor simpleQueryForBlobFileDescriptor();
- public long simpleQueryForLong();
- public java.lang.String simpleQueryForString();
- public java.lang.String toString();
-
-
-}
-
--keep class android.database.sqlite.SQLiteStatementInfo {
- <init>();
-
-
-
- public java.lang.String[] columnNames;
- public int numParameters;
- public boolean readOnly;
-}
-
--keep class android.database.sqlite.SQLiteTransactionListener {
-
- public abstract void onBegin();
- public abstract void onCommit();
- public abstract void onRollback();
-
-
-}
-
--keep class android.graphics.BaseCanvas {
- <init>();
-
- protected static void checkRange(int, int, int);
- public void drawARGB(int, int, int, int);
- public void drawArc(float, float, float, float, float, float, boolean, android.graphics.Paint);
- public void drawArc(android.graphics.RectF, float, float, boolean, android.graphics.Paint);
- public void drawBitmap(android.graphics.Bitmap, float, float, android.graphics.Paint);
- public void drawBitmap(android.graphics.Bitmap, android.graphics.Matrix, android.graphics.Paint);
- public void drawBitmap(android.graphics.Bitmap, android.graphics.Rect, android.graphics.Rect, android.graphics.Paint);
- public void drawBitmap(android.graphics.Bitmap, android.graphics.Rect, android.graphics.RectF, android.graphics.Paint);
- public void drawBitmap(int[], int, int, float, float, int, int, boolean, android.graphics.Paint);
- public void drawBitmap(int[], int, int, int, int, int, int, boolean, android.graphics.Paint);
- public void drawBitmapMesh(android.graphics.Bitmap, int, int, float[], int, int[], int, android.graphics.Paint);
- public void drawCircle(float, float, float, android.graphics.Paint);
- public void drawColor(int);
- public void drawColor(int, android.graphics.PorterDuff$Mode);
- public void drawLine(float, float, float, float, android.graphics.Paint);
- public void drawLines(float[], int, int, android.graphics.Paint);
- public void drawLines(float[], android.graphics.Paint);
- public void drawOval(float, float, float, float, android.graphics.Paint);
- public void drawOval(android.graphics.RectF, android.graphics.Paint);
- public void drawPaint(android.graphics.Paint);
- public void drawPatch(android.graphics.NinePatch, android.graphics.Rect, android.graphics.Paint);
- public void drawPatch(android.graphics.NinePatch, android.graphics.RectF, android.graphics.Paint);
- public void drawPath(android.graphics.Path, android.graphics.Paint);
- public void drawPoint(float, float, android.graphics.Paint);
- public void drawPoints(float[], int, int, android.graphics.Paint);
- public void drawPoints(float[], android.graphics.Paint);
- public void drawPosText(char[], int, int, float[], android.graphics.Paint);
- public void drawPosText(java.lang.String, float[], android.graphics.Paint);
- public void drawRGB(int, int, int);
- public void drawRect(float, float, float, float, android.graphics.Paint);
- public void drawRect(android.graphics.Rect, android.graphics.Paint);
- public void drawRect(android.graphics.RectF, android.graphics.Paint);
- public void drawRoundRect(float, float, float, float, float, float, android.graphics.Paint);
- public void drawRoundRect(android.graphics.RectF, float, float, android.graphics.Paint);
- public void drawText(char[], int, int, float, float, android.graphics.Paint);
- public void drawText(java.lang.CharSequence, int, int, float, float, android.graphics.Paint);
- public void drawText(java.lang.String, float, float, android.graphics.Paint);
- public void drawText(java.lang.String, int, int, float, float, android.graphics.Paint);
- public void drawTextOnPath(char[], int, int, android.graphics.Path, float, float, android.graphics.Paint);
- public void drawTextOnPath(java.lang.String, android.graphics.Path, float, float, android.graphics.Paint);
- public void drawTextRun(char[], int, int, int, int, float, float, boolean, android.graphics.Paint);
- public void drawTextRun(java.lang.CharSequence, int, int, int, int, float, float, boolean, android.graphics.Paint);
- public void drawVertices(android.graphics.Canvas$VertexMode, int, float[], int, float[], int, int[], int, short[], int, int, android.graphics.Paint);
- public boolean isHardwareAccelerated();
- public boolean isHwBitmapsInSwModeEnabled();
- protected void onHwBitmapInSwMode();
- public void setHwBitmapsInSwModeEnabled(boolean);
- protected void throwIfCannotDraw(android.graphics.Bitmap);
-
-
- protected int mDensity;
- protected long mNativeCanvasWrapper;
- protected int mScreenDensity;
-}
-
--keep class android.graphics.Bitmap {
-
- public boolean compress(android.graphics.Bitmap$CompressFormat, int, java.io.OutputStream);
- public android.graphics.Bitmap copy(android.graphics.Bitmap$Config, boolean);
- public void copyPixelsFromBuffer(java.nio.Buffer);
- public void copyPixelsToBuffer(java.nio.Buffer);
- public android.graphics.Bitmap createAshmemBitmap();
- public android.graphics.Bitmap createAshmemBitmap(android.graphics.Bitmap$Config);
- public static android.graphics.Bitmap createBitmap(android.graphics.Bitmap);
- public static android.graphics.Bitmap createBitmap(android.graphics.Bitmap, int, int, int, int);
- public static android.graphics.Bitmap createBitmap(android.graphics.Bitmap, int, int, int, int, android.graphics.Matrix, boolean);
- public static android.graphics.Bitmap createBitmap(int, int, android.graphics.Bitmap$Config);
- public static android.graphics.Bitmap createBitmap(android.util.DisplayMetrics, int, int, android.graphics.Bitmap$Config);
- public static android.graphics.Bitmap createBitmap(int, int, android.graphics.Bitmap$Config, boolean);
- public static android.graphics.Bitmap createBitmap(int, int, android.graphics.Bitmap$Config, boolean, android.graphics.ColorSpace);
- public static android.graphics.Bitmap createBitmap(android.util.DisplayMetrics, int, int, android.graphics.Bitmap$Config, boolean);
- public static android.graphics.Bitmap createBitmap(android.util.DisplayMetrics, int, int, android.graphics.Bitmap$Config, boolean, android.graphics.ColorSpace);
- public static android.graphics.Bitmap createBitmap(int[], int, int, int, int, android.graphics.Bitmap$Config);
- public static android.graphics.Bitmap createBitmap(android.util.DisplayMetrics, int[], int, int, int, int, android.graphics.Bitmap$Config);
- public static android.graphics.Bitmap createBitmap(int[], int, int, android.graphics.Bitmap$Config);
- public static android.graphics.Bitmap createBitmap(android.util.DisplayMetrics, int[], int, int, android.graphics.Bitmap$Config);
- public static android.graphics.Bitmap createBitmap(android.graphics.Picture);
- public static android.graphics.Bitmap createBitmap(android.graphics.Picture, int, int, android.graphics.Bitmap$Config);
- public android.graphics.GraphicBuffer createGraphicBufferHandle();
- public static android.graphics.Bitmap createHardwareBitmap(android.graphics.GraphicBuffer);
- public static android.graphics.Bitmap createScaledBitmap(android.graphics.Bitmap, int, int, boolean);
- public int describeContents();
- public void eraseColor(int);
- public android.graphics.Bitmap extractAlpha();
- public android.graphics.Bitmap extractAlpha(android.graphics.Paint, int[]);
- public int getAllocationByteCount();
- public int getByteCount();
- public android.graphics.ColorSpace getColorSpace();
- public android.graphics.Bitmap$Config getConfig();
- public int getDensity();
- public int getGenerationId();
- public int getHeight();
- public long getNativeInstance();
- public byte[] getNinePatchChunk();
- public android.graphics.NinePatch$InsetStruct getNinePatchInsets();
- public void getOpticalInsets(android.graphics.Rect);
- public int getPixel(int, int);
- public void getPixels(int[], int, int, int, int, int, int);
- public int getRowBytes();
- public int getScaledHeight(android.graphics.Canvas);
- public int getScaledHeight(android.util.DisplayMetrics);
- public int getScaledHeight(int);
- public int getScaledWidth(android.graphics.Canvas);
- public int getScaledWidth(android.util.DisplayMetrics);
- public int getScaledWidth(int);
- public int getWidth();
- public boolean hasAlpha();
- public boolean hasMipMap();
- public boolean isMutable();
- public boolean isPremultiplied();
- public boolean isRecycled();
- public void makeImmutable();
- public void prepareToDraw();
- public void reconfigure(int, int, android.graphics.Bitmap$Config);
- public void recycle();
- public boolean sameAs(android.graphics.Bitmap);
- public static int scaleFromDensity(int, int, int);
- public void setConfig(android.graphics.Bitmap$Config);
- public static void setDefaultDensity(int);
- public void setDensity(int);
- public void setHasAlpha(boolean);
- public void setHasMipMap(boolean);
- public void setHeight(int);
- public void setNinePatchChunk(byte[]);
- public void setPixel(int, int, int);
- public void setPixels(int[], int, int, int, int, int, int);
- public void setPremultiplied(boolean);
- public void setWidth(int);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int DENSITY_NONE;
- public int mDensity;
- public static volatile int sPreloadTracingNumInstantiatedBitmaps;
- public static volatile long sPreloadTracingTotalBitmapsSize;
-}
-
--keep class android.graphics.Bitmap$CompressFormat {
-
- public static android.graphics.Bitmap$CompressFormat valueOf(java.lang.String);
- public static android.graphics.Bitmap$CompressFormat[] values();
-
- public static android.graphics.Bitmap$CompressFormat JPEG;
- public static android.graphics.Bitmap$CompressFormat PNG;
- public static android.graphics.Bitmap$CompressFormat WEBP;
-
-}
-
--keep class android.graphics.Bitmap$Config {
-
- public static android.graphics.Bitmap$Config valueOf(java.lang.String);
- public static android.graphics.Bitmap$Config[] values();
-
- public static android.graphics.Bitmap$Config ALPHA_8;
- public static android.graphics.Bitmap$Config ARGB_4444;
- public static android.graphics.Bitmap$Config ARGB_8888;
- public static android.graphics.Bitmap$Config HARDWARE;
- public static android.graphics.Bitmap$Config RGBA_F16;
- public static android.graphics.Bitmap$Config RGB_565;
-
-}
-
--keep class android.graphics.BitmapFactory {
- <init>();
-
- public static android.graphics.Bitmap decodeByteArray(byte[], int, int, android.graphics.BitmapFactory$Options);
- public static android.graphics.Bitmap decodeByteArray(byte[], int, int);
- public static android.graphics.Bitmap decodeFile(java.lang.String, android.graphics.BitmapFactory$Options);
- public static android.graphics.Bitmap decodeFile(java.lang.String);
- public static android.graphics.Bitmap decodeFileDescriptor(java.io.FileDescriptor, android.graphics.Rect, android.graphics.BitmapFactory$Options);
- public static android.graphics.Bitmap decodeFileDescriptor(java.io.FileDescriptor);
- public static android.graphics.Bitmap decodeResource(android.content.res.Resources, int, android.graphics.BitmapFactory$Options);
- public static android.graphics.Bitmap decodeResource(android.content.res.Resources, int);
- public static android.graphics.Bitmap decodeResourceStream(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, android.graphics.Rect, android.graphics.BitmapFactory$Options);
- public static android.graphics.Bitmap decodeStream(java.io.InputStream, android.graphics.Rect, android.graphics.BitmapFactory$Options);
- public static android.graphics.Bitmap decodeStream(java.io.InputStream);
-
-
-}
-
--keep class android.graphics.BitmapFactory$Options {
- <init>();
-
- public void requestCancelDecode();
-
-
- public android.graphics.Bitmap inBitmap;
- public int inDensity;
- public boolean inDither;
- public boolean inInputShareable;
- public boolean inJustDecodeBounds;
- public boolean inMutable;
- public boolean inPreferQualityOverSpeed;
- public android.graphics.ColorSpace inPreferredColorSpace;
- public android.graphics.Bitmap$Config inPreferredConfig;
- public boolean inPremultiplied;
- public boolean inPurgeable;
- public int inSampleSize;
- public boolean inScaled;
- public int inScreenDensity;
- public int inTargetDensity;
- public byte[] inTempStorage;
- public boolean mCancel;
- public android.graphics.ColorSpace outColorSpace;
- public android.graphics.Bitmap$Config outConfig;
- public int outHeight;
- public java.lang.String outMimeType;
- public int outWidth;
-}
-
--keep class android.graphics.Canvas {
- <init>();
- <init>(android.graphics.Bitmap);
- <init>(long);
-
- public boolean clipOutPath(android.graphics.Path);
- public boolean clipOutRect(android.graphics.RectF);
- public boolean clipOutRect(android.graphics.Rect);
- public boolean clipOutRect(float, float, float, float);
- public boolean clipOutRect(int, int, int, int);
- public boolean clipPath(android.graphics.Path, android.graphics.Region$Op);
- public boolean clipPath(android.graphics.Path);
- public boolean clipRect(android.graphics.RectF, android.graphics.Region$Op);
- public boolean clipRect(android.graphics.Rect, android.graphics.Region$Op);
- public boolean clipRect(android.graphics.RectF);
- public boolean clipRect(android.graphics.Rect);
- public boolean clipRect(float, float, float, float, android.graphics.Region$Op);
- public boolean clipRect(float, float, float, float);
- public boolean clipRect(int, int, int, int);
- public boolean clipRectUnion(android.graphics.Rect);
- public boolean clipRegion(android.graphics.Region, android.graphics.Region$Op);
- public boolean clipRegion(android.graphics.Region);
- public void concat(android.graphics.Matrix);
- public void drawARGB(int, int, int, int);
- public void drawArc(android.graphics.RectF, float, float, boolean, android.graphics.Paint);
- public void drawArc(float, float, float, float, float, float, boolean, android.graphics.Paint);
- public void drawBitmap(android.graphics.Bitmap, float, float, android.graphics.Paint);
- public void drawBitmap(android.graphics.Bitmap, android.graphics.Rect, android.graphics.RectF, android.graphics.Paint);
- public void drawBitmap(android.graphics.Bitmap, android.graphics.Rect, android.graphics.Rect, android.graphics.Paint);
- public void drawBitmap(int[], int, int, float, float, int, int, boolean, android.graphics.Paint);
- public void drawBitmap(int[], int, int, int, int, int, int, boolean, android.graphics.Paint);
- public void drawBitmap(android.graphics.Bitmap, android.graphics.Matrix, android.graphics.Paint);
- public void drawBitmapMesh(android.graphics.Bitmap, int, int, float[], int, int[], int, android.graphics.Paint);
- public void drawCircle(float, float, float, android.graphics.Paint);
- public void drawColor(int);
- public void drawColor(int, android.graphics.PorterDuff$Mode);
- public void drawLine(float, float, float, float, android.graphics.Paint);
- public void drawLines(float[], int, int, android.graphics.Paint);
- public void drawLines(float[], android.graphics.Paint);
- public void drawOval(android.graphics.RectF, android.graphics.Paint);
- public void drawOval(float, float, float, float, android.graphics.Paint);
- public void drawPaint(android.graphics.Paint);
- public void drawPatch(android.graphics.NinePatch, android.graphics.Rect, android.graphics.Paint);
- public void drawPatch(android.graphics.NinePatch, android.graphics.RectF, android.graphics.Paint);
- public void drawPath(android.graphics.Path, android.graphics.Paint);
- public void drawPicture(android.graphics.Picture);
- public void drawPicture(android.graphics.Picture, android.graphics.RectF);
- public void drawPicture(android.graphics.Picture, android.graphics.Rect);
- public void drawPoint(float, float, android.graphics.Paint);
- public void drawPoints(float[], int, int, android.graphics.Paint);
- public void drawPoints(float[], android.graphics.Paint);
- public void drawPosText(char[], int, int, float[], android.graphics.Paint);
- public void drawPosText(java.lang.String, float[], android.graphics.Paint);
- public void drawRGB(int, int, int);
- public void drawRect(android.graphics.RectF, android.graphics.Paint);
- public void drawRect(android.graphics.Rect, android.graphics.Paint);
- public void drawRect(float, float, float, float, android.graphics.Paint);
- public void drawRoundRect(android.graphics.RectF, float, float, android.graphics.Paint);
- public void drawRoundRect(float, float, float, float, float, float, android.graphics.Paint);
- public void drawText(char[], int, int, float, float, android.graphics.Paint);
- public void drawText(java.lang.String, float, float, android.graphics.Paint);
- public void drawText(java.lang.String, int, int, float, float, android.graphics.Paint);
- public void drawText(java.lang.CharSequence, int, int, float, float, android.graphics.Paint);
- public void drawTextOnPath(char[], int, int, android.graphics.Path, float, float, android.graphics.Paint);
- public void drawTextOnPath(java.lang.String, android.graphics.Path, float, float, android.graphics.Paint);
- public void drawTextRun(char[], int, int, int, int, float, float, boolean, android.graphics.Paint);
- public void drawTextRun(java.lang.CharSequence, int, int, int, int, float, float, boolean, android.graphics.Paint);
- public void drawVertices(android.graphics.Canvas$VertexMode, int, float[], int, float[], int, int[], int, short[], int, int, android.graphics.Paint);
- public static void freeCaches();
- public static void freeTextLayoutCaches();
- public boolean getClipBounds(android.graphics.Rect);
- public android.graphics.Rect getClipBounds();
- public int getDensity();
- public android.graphics.DrawFilter getDrawFilter();
- protected javax.microedition.khronos.opengles.GL getGL();
- public int getHeight();
- public void getMatrix(android.graphics.Matrix);
- public android.graphics.Matrix getMatrix();
- public int getMaximumBitmapHeight();
- public int getMaximumBitmapWidth();
- public long getNativeCanvasWrapper();
- public int getSaveCount();
- public int getWidth();
- public void insertInorderBarrier();
- public void insertReorderBarrier();
- public boolean isHardwareAccelerated();
- public boolean isOpaque();
- public boolean isRecordingFor(java.lang.Object);
- public boolean quickReject(android.graphics.RectF, android.graphics.Canvas$EdgeType);
- public boolean quickReject(android.graphics.Path, android.graphics.Canvas$EdgeType);
- public boolean quickReject(float, float, float, float, android.graphics.Canvas$EdgeType);
- public void release();
- public void restore();
- public void restoreToCount(int);
- public void rotate(float);
- public void rotate(float, float, float);
- public int save();
- public int save(int);
- public int saveLayer(android.graphics.RectF, android.graphics.Paint, int);
- public int saveLayer(android.graphics.RectF, android.graphics.Paint);
- public int saveLayer(float, float, float, float, android.graphics.Paint, int);
- public int saveLayer(float, float, float, float, android.graphics.Paint);
- public int saveLayerAlpha(android.graphics.RectF, int, int);
- public int saveLayerAlpha(android.graphics.RectF, int);
- public int saveLayerAlpha(float, float, float, float, int, int);
- public int saveLayerAlpha(float, float, float, float, int);
- public int saveUnclippedLayer(int, int, int, int);
- public void scale(float, float);
- public void scale(float, float, float, float);
- public void setBitmap(android.graphics.Bitmap);
- public static void setCompatibilityVersion(int);
- public void setDensity(int);
- public void setDrawFilter(android.graphics.DrawFilter);
- public void setMatrix(android.graphics.Matrix);
- public void setScreenDensity(int);
- public void skew(float, float);
- public void translate(float, float);
-
-
- public static int ALL_SAVE_FLAG;
- public static int CLIP_SAVE_FLAG;
- public static int CLIP_TO_LAYER_SAVE_FLAG;
- public static int FULL_COLOR_LAYER_SAVE_FLAG;
- public static int HAS_ALPHA_LAYER_SAVE_FLAG;
- public static int MATRIX_SAVE_FLAG;
- public static boolean sCompatibilityRestore;
- public static boolean sCompatibilitySetBitmap;
-}
-
--keep class android.graphics.Canvas$EdgeType {
-
- public static android.graphics.Canvas$EdgeType valueOf(java.lang.String);
- public static android.graphics.Canvas$EdgeType[] values();
-
- public static android.graphics.Canvas$EdgeType AA;
- public static android.graphics.Canvas$EdgeType BW;
-
- public int nativeInt;
-}
-
--keep class android.graphics.Canvas$VertexMode {
-
- public static android.graphics.Canvas$VertexMode valueOf(java.lang.String);
- public static android.graphics.Canvas$VertexMode[] values();
-
- public static android.graphics.Canvas$VertexMode TRIANGLES;
- public static android.graphics.Canvas$VertexMode TRIANGLE_FAN;
- public static android.graphics.Canvas$VertexMode TRIANGLE_STRIP;
-
- public int nativeInt;
-}
-
--keep class android.graphics.CanvasProperty {
-
- public static android.graphics.CanvasProperty createFloat(float);
- public static android.graphics.CanvasProperty createPaint(android.graphics.Paint);
- public long getNativeContainer();
-
-
-}
-
--keep class android.graphics.ColorFilter {
- <init>();
-
- public long getNativeInstance();
-
-
-}
-
--keep class android.graphics.ColorSpace {
-
- public static android.graphics.ColorSpace adapt(android.graphics.ColorSpace, float[]);
- public static android.graphics.ColorSpace adapt(android.graphics.ColorSpace, float[], android.graphics.ColorSpace$Adaptation);
- public static android.graphics.ColorSpace$Connector connect(android.graphics.ColorSpace, android.graphics.ColorSpace);
- public static android.graphics.ColorSpace$Connector connect(android.graphics.ColorSpace, android.graphics.ColorSpace, android.graphics.ColorSpace$RenderIntent);
- public static android.graphics.ColorSpace$Connector connect(android.graphics.ColorSpace);
- public static android.graphics.ColorSpace$Connector connect(android.graphics.ColorSpace, android.graphics.ColorSpace$RenderIntent);
- public static android.graphics.ColorSpace$Renderer createRenderer();
- public boolean equals(java.lang.Object);
- public float[] fromXyz(float, float, float);
- public abstract float[] fromXyz(float[]);
- public static android.graphics.ColorSpace get(android.graphics.ColorSpace$Named);
- public int getComponentCount();
- public int getId();
- public abstract float getMaxValue(int);
- public abstract float getMinValue(int);
- public android.graphics.ColorSpace$Model getModel();
- public java.lang.String getName();
- public int hashCode();
- public boolean isSrgb();
- public abstract boolean isWideGamut();
- public static android.graphics.ColorSpace match(float[], android.graphics.ColorSpace$Rgb$TransferParameters);
- public java.lang.String toString();
- public float[] toXyz(float, float, float);
- public abstract float[] toXyz(float[]);
-
-
- public static float[] ILLUMINANT_A;
- public static float[] ILLUMINANT_B;
- public static float[] ILLUMINANT_C;
- public static float[] ILLUMINANT_D50;
- public static float[] ILLUMINANT_D55;
- public static float[] ILLUMINANT_D60;
- public static float[] ILLUMINANT_D65;
- public static float[] ILLUMINANT_D75;
- public static float[] ILLUMINANT_E;
- public static int MAX_ID;
- public static int MIN_ID;
-}
-
--keep class android.graphics.ColorSpace$Adaptation {
-
- public static android.graphics.ColorSpace$Adaptation valueOf(java.lang.String);
- public static android.graphics.ColorSpace$Adaptation[] values();
-
- public static android.graphics.ColorSpace$Adaptation BRADFORD;
- public static android.graphics.ColorSpace$Adaptation CIECAT02;
- public static android.graphics.ColorSpace$Adaptation VON_KRIES;
-
-}
-
--keep class android.graphics.ColorSpace$Connector {
-
- public android.graphics.ColorSpace getDestination();
- public android.graphics.ColorSpace$RenderIntent getRenderIntent();
- public android.graphics.ColorSpace getSource();
- public float[] transform(float, float, float);
- public float[] transform(float[]);
-
-
-}
-
--keep class android.graphics.ColorSpace$Model {
-
- public int getComponentCount();
- public static android.graphics.ColorSpace$Model valueOf(java.lang.String);
- public static android.graphics.ColorSpace$Model[] values();
-
- public static android.graphics.ColorSpace$Model CMYK;
- public static android.graphics.ColorSpace$Model LAB;
- public static android.graphics.ColorSpace$Model RGB;
- public static android.graphics.ColorSpace$Model XYZ;
-
-}
-
--keep class android.graphics.ColorSpace$Named {
-
- public static android.graphics.ColorSpace$Named valueOf(java.lang.String);
- public static android.graphics.ColorSpace$Named[] values();
-
- public static android.graphics.ColorSpace$Named ACES;
- public static android.graphics.ColorSpace$Named ACESCG;
- public static android.graphics.ColorSpace$Named ADOBE_RGB;
- public static android.graphics.ColorSpace$Named BT2020;
- public static android.graphics.ColorSpace$Named BT709;
- public static android.graphics.ColorSpace$Named CIE_LAB;
- public static android.graphics.ColorSpace$Named CIE_XYZ;
- public static android.graphics.ColorSpace$Named DCI_P3;
- public static android.graphics.ColorSpace$Named DISPLAY_P3;
- public static android.graphics.ColorSpace$Named EXTENDED_SRGB;
- public static android.graphics.ColorSpace$Named LINEAR_EXTENDED_SRGB;
- public static android.graphics.ColorSpace$Named LINEAR_SRGB;
- public static android.graphics.ColorSpace$Named NTSC_1953;
- public static android.graphics.ColorSpace$Named PRO_PHOTO_RGB;
- public static android.graphics.ColorSpace$Named SMPTE_C;
- public static android.graphics.ColorSpace$Named SRGB;
-
-}
-
--keep class android.graphics.ColorSpace$RenderIntent {
-
- public static android.graphics.ColorSpace$RenderIntent valueOf(java.lang.String);
- public static android.graphics.ColorSpace$RenderIntent[] values();
-
- public static android.graphics.ColorSpace$RenderIntent ABSOLUTE;
- public static android.graphics.ColorSpace$RenderIntent PERCEPTUAL;
- public static android.graphics.ColorSpace$RenderIntent RELATIVE;
- public static android.graphics.ColorSpace$RenderIntent SATURATION;
-
-}
-
--keep class android.graphics.ColorSpace$Renderer {
-
- public android.graphics.ColorSpace$Renderer add(android.graphics.ColorSpace, int);
- public android.graphics.ColorSpace$Renderer add(android.graphics.ColorSpace, float, float, float, int);
- public android.graphics.ColorSpace$Renderer clip(boolean);
- public android.graphics.Bitmap render();
- public android.graphics.ColorSpace$Renderer showWhitePoint(boolean);
- public android.graphics.ColorSpace$Renderer size(int);
- public android.graphics.ColorSpace$Renderer uniformChromaticityScale(boolean);
-
-
-}
-
--keep class android.graphics.ColorSpace$Rgb {
- <init>(java.lang.String, float[], java.util.function.DoubleUnaryOperator, java.util.function.DoubleUnaryOperator);
- <init>(java.lang.String, float[], float[], java.util.function.DoubleUnaryOperator, java.util.function.DoubleUnaryOperator, float, float);
- <init>(java.lang.String, float[], android.graphics.ColorSpace$Rgb$TransferParameters);
- <init>(java.lang.String, float[], float[], android.graphics.ColorSpace$Rgb$TransferParameters);
- <init>(java.lang.String, float[], double);
- <init>(java.lang.String, float[], float[], double);
-
- public boolean equals(java.lang.Object);
- public float[] fromLinear(float, float, float);
- public float[] fromLinear(float[]);
- public float[] fromXyz(float[]);
- public java.util.function.DoubleUnaryOperator getEotf();
- public float[] getInverseTransform(float[]);
- public float[] getInverseTransform();
- public float getMaxValue(int);
- public float getMinValue(int);
- public java.util.function.DoubleUnaryOperator getOetf();
- public float[] getPrimaries(float[]);
- public float[] getPrimaries();
- public android.graphics.ColorSpace$Rgb$TransferParameters getTransferParameters();
- public float[] getTransform(float[]);
- public float[] getTransform();
- public float[] getWhitePoint(float[]);
- public float[] getWhitePoint();
- public int hashCode();
- public boolean isSrgb();
- public boolean isWideGamut();
- public float[] toLinear(float, float, float);
- public float[] toLinear(float[]);
- public float[] toXyz(float[]);
-
-
-}
-
--keep class android.graphics.ColorSpace$Rgb$TransferParameters {
- <init>(double, double, double, double, double);
- <init>(double, double, double, double, double, double, double);
-
- public boolean equals(java.lang.Object);
- public int hashCode();
-
-
- public double a;
- public double b;
- public double c;
- public double d;
- public double e;
- public double f;
- public double g;
-}
-
--keep class android.graphics.DrawFilter {
- <init>();
-
- protected void finalize();
-
-
- public long mNativeInt;
-}
-
--keep class android.graphics.FontFamily {
- <init>();
- <init>(java.lang.String[], int);
-
- public void abortCreation();
- public boolean addFont(java.lang.String, int, android.graphics.fonts.FontVariationAxis[], int, int);
- public boolean addFontFromAssetManager(android.content.res.AssetManager, java.lang.String, int, boolean, int, int, int, android.graphics.fonts.FontVariationAxis[]);
- public boolean addFontFromBuffer(java.nio.ByteBuffer, int, android.graphics.fonts.FontVariationAxis[], int, int);
- public boolean freeze();
-
-
- public long mNativePtr;
-}
-
--keep class android.graphics.GraphicBuffer {
-
- public static android.graphics.GraphicBuffer create(int, int, int, int);
- public static android.graphics.GraphicBuffer createFromExisting(int, int, int, int, long);
- public int describeContents();
- public void destroy();
- protected void finalize();
- public int getFormat();
- public int getHeight();
- public int getUsage();
- public int getWidth();
- public boolean isDestroyed();
- public android.graphics.Canvas lockCanvas();
- public android.graphics.Canvas lockCanvas(android.graphics.Rect);
- public void unlockCanvasAndPost(android.graphics.Canvas);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int USAGE_HW_2D;
- public static int USAGE_HW_COMPOSER;
- public static int USAGE_HW_MASK;
- public static int USAGE_HW_RENDER;
- public static int USAGE_HW_TEXTURE;
- public static int USAGE_HW_VIDEO_ENCODER;
- public static int USAGE_PROTECTED;
- public static int USAGE_SOFTWARE_MASK;
- public static int USAGE_SW_READ_MASK;
- public static int USAGE_SW_READ_NEVER;
- public static int USAGE_SW_READ_OFTEN;
- public static int USAGE_SW_READ_RARELY;
- public static int USAGE_SW_WRITE_MASK;
- public static int USAGE_SW_WRITE_NEVER;
- public static int USAGE_SW_WRITE_OFTEN;
- public static int USAGE_SW_WRITE_RARELY;
-}
-
--keep class android.graphics.Insets {
-
- public boolean equals(java.lang.Object);
- public int hashCode();
- public static android.graphics.Insets of(int, int, int, int);
- public static android.graphics.Insets of(android.graphics.Rect);
- public java.lang.String toString();
-
-
- public static android.graphics.Insets NONE;
- public int bottom;
- public int left;
- public int right;
- public int top;
-}
-
--keep class android.graphics.MaskFilter {
- <init>();
-
- protected void finalize();
-
-
-}
-
--keep class android.graphics.Matrix {
- <init>();
- <init>(android.graphics.Matrix);
-
- public boolean equals(java.lang.Object);
- public void getValues(float[]);
- public int hashCode();
- public boolean invert(android.graphics.Matrix);
- public boolean isAffine();
- public boolean isIdentity();
- public void mapPoints(float[], int, float[], int, int);
- public void mapPoints(float[], float[]);
- public void mapPoints(float[]);
- public float mapRadius(float);
- public boolean mapRect(android.graphics.RectF, android.graphics.RectF);
- public boolean mapRect(android.graphics.RectF);
- public void mapVectors(float[], int, float[], int, int);
- public void mapVectors(float[], float[]);
- public void mapVectors(float[]);
- public long ni();
- public boolean postConcat(android.graphics.Matrix);
- public boolean postRotate(float, float, float);
- public boolean postRotate(float);
- public boolean postScale(float, float, float, float);
- public boolean postScale(float, float);
- public boolean postSkew(float, float, float, float);
- public boolean postSkew(float, float);
- public boolean postTranslate(float, float);
- public boolean preConcat(android.graphics.Matrix);
- public boolean preRotate(float, float, float);
- public boolean preRotate(float);
- public boolean preScale(float, float, float, float);
- public boolean preScale(float, float);
- public boolean preSkew(float, float, float, float);
- public boolean preSkew(float, float);
- public boolean preTranslate(float, float);
- public void printShortString(java.io.PrintWriter);
- public boolean rectStaysRect();
- public void reset();
- public void set(android.graphics.Matrix);
- public boolean setConcat(android.graphics.Matrix, android.graphics.Matrix);
- public boolean setPolyToPoly(float[], int, float[], int, int);
- public boolean setRectToRect(android.graphics.RectF, android.graphics.RectF, android.graphics.Matrix$ScaleToFit);
- public void setRotate(float, float, float);
- public void setRotate(float);
- public void setScale(float, float, float, float);
- public void setScale(float, float);
- public void setSinCos(float, float, float, float);
- public void setSinCos(float, float);
- public void setSkew(float, float, float, float);
- public void setSkew(float, float);
- public void setTranslate(float, float);
- public void setValues(float[]);
- public java.lang.String toShortString();
- public void toShortString(java.lang.StringBuilder);
- public java.lang.String toString();
-
-
- public static android.graphics.Matrix IDENTITY_MATRIX;
- public static int MPERSP_0;
- public static int MPERSP_1;
- public static int MPERSP_2;
- public static int MSCALE_X;
- public static int MSCALE_Y;
- public static int MSKEW_X;
- public static int MSKEW_Y;
- public static int MTRANS_X;
- public static int MTRANS_Y;
- public long native_instance;
-}
-
--keep class android.graphics.Matrix$ScaleToFit {
-
- public static android.graphics.Matrix$ScaleToFit valueOf(java.lang.String);
- public static android.graphics.Matrix$ScaleToFit[] values();
-
- public static android.graphics.Matrix$ScaleToFit CENTER;
- public static android.graphics.Matrix$ScaleToFit END;
- public static android.graphics.Matrix$ScaleToFit FILL;
- public static android.graphics.Matrix$ScaleToFit START;
-
-}
-
--keep class android.graphics.Movie {
-
- public static android.graphics.Movie decodeByteArray(byte[], int, int);
- public static android.graphics.Movie decodeFile(java.lang.String);
- public static android.graphics.Movie decodeStream(java.io.InputStream);
- public void draw(android.graphics.Canvas, float, float, android.graphics.Paint);
- public void draw(android.graphics.Canvas, float, float);
- public int duration();
- protected void finalize();
- public int height();
- public boolean isOpaque();
- public boolean setTime(int);
- public int width();
-
-
-}
-
--keep class android.graphics.NinePatch {
- <init>(android.graphics.Bitmap, byte[]);
- <init>(android.graphics.Bitmap, byte[], java.lang.String);
- <init>(android.graphics.NinePatch);
-
- public void draw(android.graphics.Canvas, android.graphics.RectF);
- public void draw(android.graphics.Canvas, android.graphics.Rect);
- public void draw(android.graphics.Canvas, android.graphics.Rect, android.graphics.Paint);
- protected void finalize();
- public android.graphics.Bitmap getBitmap();
- public int getDensity();
- public int getHeight();
- public java.lang.String getName();
- public android.graphics.Paint getPaint();
- public android.graphics.Region getTransparentRegion(android.graphics.Rect);
- public int getWidth();
- public boolean hasAlpha();
- public static boolean isNinePatchChunk(byte[]);
- public void setPaint(android.graphics.Paint);
-
-
- public long mNativeChunk;
-}
-
--keep class android.graphics.NinePatch$InsetStruct {
-
- public static android.graphics.Rect scaleInsets(int, int, int, int, float);
-
-
- public android.graphics.Rect opticalRect;
- public float outlineAlpha;
- public float outlineRadius;
- public android.graphics.Rect outlineRect;
-}
-
--keep class android.graphics.Outline {
- <init>();
- <init>(android.graphics.Outline);
-
- public boolean canClip();
- public float getAlpha();
- public float getRadius();
- public boolean getRect(android.graphics.Rect);
- public boolean isEmpty();
- public void offset(int, int);
- public void set(android.graphics.Outline);
- public void setAlpha(float);
- public void setConvexPath(android.graphics.Path);
- public void setEmpty();
- public void setOval(int, int, int, int);
- public void setOval(android.graphics.Rect);
- public void setRect(int, int, int, int);
- public void setRect(android.graphics.Rect);
- public void setRoundRect(int, int, int, int, float);
- public void setRoundRect(android.graphics.Rect, float);
-
-
- public static int MODE_CONVEX_PATH;
- public static int MODE_EMPTY;
- public static int MODE_ROUND_RECT;
- public float mAlpha;
- public int mMode;
- public android.graphics.Path mPath;
- public float mRadius;
- public android.graphics.Rect mRect;
-}
-
--keep class android.graphics.Paint {
- <init>();
- <init>(int);
- <init>(android.graphics.Paint);
-
- public float ascent();
- public int breakText(char[], int, int, float, float[]);
- public int breakText(java.lang.CharSequence, int, int, boolean, float, float[]);
- public int breakText(java.lang.String, boolean, float, float[]);
- public void clearShadowLayer();
- public float descent();
- public boolean equalsForTextMeasurement(android.graphics.Paint);
- public int getAlpha();
- public int getBidiFlags();
- public int getColor();
- public android.graphics.ColorFilter getColorFilter();
- public boolean getFillPath(android.graphics.Path, android.graphics.Path);
- public int getFlags();
- public java.lang.String getFontFeatureSettings();
- public float getFontMetrics(android.graphics.Paint$FontMetrics);
- public android.graphics.Paint$FontMetrics getFontMetrics();
- public int getFontMetricsInt(android.graphics.Paint$FontMetricsInt);
- public android.graphics.Paint$FontMetricsInt getFontMetricsInt();
- public float getFontSpacing();
- public java.lang.String getFontVariationSettings();
- public int getHinting();
- public int getHyphenEdit();
- public float getLetterSpacing();
- public android.graphics.MaskFilter getMaskFilter();
- public long getNativeInstance();
- public int getOffsetForAdvance(char[], int, int, int, int, boolean, float);
- public int getOffsetForAdvance(java.lang.CharSequence, int, int, int, int, boolean, float);
- public android.graphics.PathEffect getPathEffect();
- public android.graphics.Rasterizer getRasterizer();
- public float getRunAdvance(char[], int, int, int, int, boolean, int);
- public float getRunAdvance(java.lang.CharSequence, int, int, int, int, boolean, int);
- public android.graphics.Shader getShader();
- public float getStrikeThruPosition();
- public float getStrikeThruThickness();
- public android.graphics.Paint$Cap getStrokeCap();
- public android.graphics.Paint$Join getStrokeJoin();
- public float getStrokeMiter();
- public float getStrokeWidth();
- public android.graphics.Paint$Style getStyle();
- public android.graphics.Paint$Align getTextAlign();
- public void getTextBounds(java.lang.String, int, int, android.graphics.Rect);
- public void getTextBounds(java.lang.CharSequence, int, int, android.graphics.Rect);
- public void getTextBounds(char[], int, int, android.graphics.Rect);
- public java.util.Locale getTextLocale();
- public android.os.LocaleList getTextLocales();
- public void getTextPath(char[], int, int, float, float, android.graphics.Path);
- public void getTextPath(java.lang.String, int, int, float, float, android.graphics.Path);
- public float getTextRunAdvances(char[], int, int, int, int, boolean, float[], int);
- public float getTextRunAdvances(java.lang.CharSequence, int, int, int, int, boolean, float[], int);
- public float getTextRunAdvances(java.lang.String, int, int, int, int, boolean, float[], int);
- public int getTextRunCursor(char[], int, int, int, int, int);
- public int getTextRunCursor(java.lang.CharSequence, int, int, int, int, int);
- public int getTextRunCursor(java.lang.String, int, int, int, int, int);
- public float getTextScaleX();
- public float getTextSize();
- public float getTextSkewX();
- public int getTextWidths(char[], int, int, float[]);
- public int getTextWidths(java.lang.CharSequence, int, int, float[]);
- public int getTextWidths(java.lang.String, int, int, float[]);
- public int getTextWidths(java.lang.String, float[]);
- public android.graphics.Typeface getTypeface();
- public float getUnderlinePosition();
- public float getUnderlineThickness();
- public float getWordSpacing();
- public android.graphics.Xfermode getXfermode();
- public boolean hasEqualAttributes(android.graphics.Paint);
- public boolean hasGlyph(java.lang.String);
- public boolean hasShadowLayer();
- public boolean isAntiAlias();
- public boolean isDither();
- public boolean isElegantTextHeight();
- public boolean isFakeBoldText();
- public boolean isFilterBitmap();
- public boolean isLinearText();
- public boolean isStrikeThruText();
- public boolean isSubpixelText();
- public boolean isUnderlineText();
- public float measureText(char[], int, int);
- public float measureText(java.lang.String, int, int);
- public float measureText(java.lang.String);
- public float measureText(java.lang.CharSequence, int, int);
- public void reset();
- public void set(android.graphics.Paint);
- public void setARGB(int, int, int, int);
- public void setAlpha(int);
- public void setAntiAlias(boolean);
- public void setBidiFlags(int);
- public void setColor(int);
- public android.graphics.ColorFilter setColorFilter(android.graphics.ColorFilter);
- public void setCompatibilityScaling(float);
- public void setDither(boolean);
- public void setElegantTextHeight(boolean);
- public void setFakeBoldText(boolean);
- public void setFilterBitmap(boolean);
- public void setFlags(int);
- public void setFontFeatureSettings(java.lang.String);
- public boolean setFontVariationSettings(java.lang.String);
- public void setHinting(int);
- public void setHyphenEdit(int);
- public void setLetterSpacing(float);
- public void setLinearText(boolean);
- public android.graphics.MaskFilter setMaskFilter(android.graphics.MaskFilter);
- public android.graphics.PathEffect setPathEffect(android.graphics.PathEffect);
- public android.graphics.Rasterizer setRasterizer(android.graphics.Rasterizer);
- public android.graphics.Shader setShader(android.graphics.Shader);
- public void setShadowLayer(float, float, float, int);
- public void setStrikeThruText(boolean);
- public void setStrokeCap(android.graphics.Paint$Cap);
- public void setStrokeJoin(android.graphics.Paint$Join);
- public void setStrokeMiter(float);
- public void setStrokeWidth(float);
- public void setStyle(android.graphics.Paint$Style);
- public void setSubpixelText(boolean);
- public void setTextAlign(android.graphics.Paint$Align);
- public void setTextLocale(java.util.Locale);
- public void setTextLocales(android.os.LocaleList);
- public void setTextScaleX(float);
- public void setTextSize(float);
- public void setTextSkewX(float);
- public android.graphics.Typeface setTypeface(android.graphics.Typeface);
- public void setUnderlineText(boolean);
- public void setWordSpacing(float);
- public android.graphics.Xfermode setXfermode(android.graphics.Xfermode);
-
-
- public static int ANTI_ALIAS_FLAG;
- public static int AUTO_HINTING_TEXT_FLAG;
- public static int BIDI_DEFAULT_LTR;
- public static int BIDI_DEFAULT_RTL;
- public static int BIDI_FORCE_LTR;
- public static int BIDI_FORCE_RTL;
- public static int BIDI_LTR;
- public static int BIDI_RTL;
- public static int CURSOR_AFTER;
- public static int CURSOR_AT;
- public static int CURSOR_AT_OR_AFTER;
- public static int CURSOR_AT_OR_BEFORE;
- public static int CURSOR_BEFORE;
- public static int DEV_KERN_TEXT_FLAG;
- public static int DIRECTION_LTR;
- public static int DIRECTION_RTL;
- public static int DITHER_FLAG;
- public static int EMBEDDED_BITMAP_TEXT_FLAG;
- public static int FAKE_BOLD_TEXT_FLAG;
- public static int FILTER_BITMAP_FLAG;
- public static int HINTING_OFF;
- public static int HINTING_ON;
- public static int HYPHENEDIT_MASK_END_OF_LINE;
- public static int HYPHENEDIT_MASK_START_OF_LINE;
- public static int LCD_RENDER_TEXT_FLAG;
- public static int LINEAR_TEXT_FLAG;
- public static int STRIKE_THRU_TEXT_FLAG;
- public static int SUBPIXEL_TEXT_FLAG;
- public static int UNDERLINE_TEXT_FLAG;
- public static int VERTICAL_TEXT_FLAG;
- public int mBidiFlags;
-}
-
--keep class android.graphics.Paint$Align {
-
- public static android.graphics.Paint$Align valueOf(java.lang.String);
- public static android.graphics.Paint$Align[] values();
-
- public static android.graphics.Paint$Align CENTER;
- public static android.graphics.Paint$Align LEFT;
- public static android.graphics.Paint$Align RIGHT;
-
-}
-
--keep class android.graphics.Paint$Cap {
-
- public static android.graphics.Paint$Cap valueOf(java.lang.String);
- public static android.graphics.Paint$Cap[] values();
-
- public static android.graphics.Paint$Cap BUTT;
- public static android.graphics.Paint$Cap ROUND;
- public static android.graphics.Paint$Cap SQUARE;
-
-}
-
--keep class android.graphics.Paint$FontMetrics {
- <init>();
-
-
-
- public float ascent;
- public float bottom;
- public float descent;
- public float leading;
- public float top;
-}
-
--keep class android.graphics.Paint$FontMetricsInt {
- <init>();
-
- public java.lang.String toString();
-
-
- public int ascent;
- public int bottom;
- public int descent;
- public int leading;
- public int top;
-}
-
--keep class android.graphics.Paint$Join {
-
- public static android.graphics.Paint$Join valueOf(java.lang.String);
- public static android.graphics.Paint$Join[] values();
-
- public static android.graphics.Paint$Join BEVEL;
- public static android.graphics.Paint$Join MITER;
- public static android.graphics.Paint$Join ROUND;
-
-}
-
--keep class android.graphics.Paint$Style {
-
- public static android.graphics.Paint$Style valueOf(java.lang.String);
- public static android.graphics.Paint$Style[] values();
-
- public static android.graphics.Paint$Style FILL;
- public static android.graphics.Paint$Style FILL_AND_STROKE;
- public static android.graphics.Paint$Style STROKE;
-
-}
-
--keep class android.graphics.Path {
- <init>();
- <init>(android.graphics.Path);
-
- public void addArc(android.graphics.RectF, float, float);
- public void addArc(float, float, float, float, float, float);
- public void addCircle(float, float, float, android.graphics.Path$Direction);
- public void addOval(android.graphics.RectF, android.graphics.Path$Direction);
- public void addOval(float, float, float, float, android.graphics.Path$Direction);
- public void addPath(android.graphics.Path, float, float);
- public void addPath(android.graphics.Path);
- public void addPath(android.graphics.Path, android.graphics.Matrix);
- public void addRect(android.graphics.RectF, android.graphics.Path$Direction);
- public void addRect(float, float, float, float, android.graphics.Path$Direction);
- public void addRoundRect(android.graphics.RectF, float, float, android.graphics.Path$Direction);
- public void addRoundRect(float, float, float, float, float, float, android.graphics.Path$Direction);
- public void addRoundRect(android.graphics.RectF, float[], android.graphics.Path$Direction);
- public void addRoundRect(float, float, float, float, float[], android.graphics.Path$Direction);
- public float[] approximate(float);
- public void arcTo(android.graphics.RectF, float, float, boolean);
- public void arcTo(android.graphics.RectF, float, float);
- public void arcTo(float, float, float, float, float, float, boolean);
- public void close();
- public void computeBounds(android.graphics.RectF, boolean);
- public void cubicTo(float, float, float, float, float, float);
- public android.graphics.Path$FillType getFillType();
- public void incReserve(int);
- public boolean isConvex();
- public boolean isEmpty();
- public boolean isInverseFillType();
- public boolean isRect(android.graphics.RectF);
- public void lineTo(float, float);
- public void moveTo(float, float);
- public void offset(float, float, android.graphics.Path);
- public void offset(float, float);
- public boolean op(android.graphics.Path, android.graphics.Path$Op);
- public boolean op(android.graphics.Path, android.graphics.Path, android.graphics.Path$Op);
- public void quadTo(float, float, float, float);
- public void rCubicTo(float, float, float, float, float, float);
- public void rLineTo(float, float);
- public void rMoveTo(float, float);
- public void rQuadTo(float, float, float, float);
- public long readOnlyNI();
- public void reset();
- public void rewind();
- public void set(android.graphics.Path);
- public void setFillType(android.graphics.Path$FillType);
- public void setLastPoint(float, float);
- public void toggleInverseFillType();
- public void transform(android.graphics.Matrix, android.graphics.Path);
- public void transform(android.graphics.Matrix);
-
-
- public boolean isSimplePath;
- public long mNativePath;
- public android.graphics.Region rects;
-}
-
--keep class android.graphics.Path$Direction {
-
- public static android.graphics.Path$Direction valueOf(java.lang.String);
- public static android.graphics.Path$Direction[] values();
-
- public static android.graphics.Path$Direction CCW;
- public static android.graphics.Path$Direction CW;
-
-}
-
--keep class android.graphics.Path$FillType {
-
- public static android.graphics.Path$FillType valueOf(java.lang.String);
- public static android.graphics.Path$FillType[] values();
-
- public static android.graphics.Path$FillType EVEN_ODD;
- public static android.graphics.Path$FillType INVERSE_EVEN_ODD;
- public static android.graphics.Path$FillType INVERSE_WINDING;
- public static android.graphics.Path$FillType WINDING;
-
-}
-
--keep class android.graphics.Path$Op {
-
- public static android.graphics.Path$Op valueOf(java.lang.String);
- public static android.graphics.Path$Op[] values();
-
- public static android.graphics.Path$Op DIFFERENCE;
- public static android.graphics.Path$Op INTERSECT;
- public static android.graphics.Path$Op REVERSE_DIFFERENCE;
- public static android.graphics.Path$Op UNION;
- public static android.graphics.Path$Op XOR;
-
-}
-
--keep class android.graphics.PathEffect {
- <init>();
-
- protected void finalize();
-
-
-}
-
--keep class android.graphics.Picture {
- <init>();
- <init>(android.graphics.Picture);
-
- public android.graphics.Canvas beginRecording(int, int);
- public static android.graphics.Picture createFromStream(java.io.InputStream);
- public void draw(android.graphics.Canvas);
- public void endRecording();
- protected void finalize();
- public int getHeight();
- public int getWidth();
- public boolean requiresHardwareAcceleration();
- public void writeToStream(java.io.OutputStream);
-
-
-}
-
--keep class android.graphics.Point {
- <init>();
- <init>(int, int);
- <init>(android.graphics.Point);
-
- public int describeContents();
- public boolean equals(int, int);
- public boolean equals(java.lang.Object);
- public int hashCode();
- public void negate();
- public void offset(int, int);
- public void printShortString(java.io.PrintWriter);
- public void readFromParcel(android.os.Parcel);
- public void set(int, int);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public int x;
- public int y;
-}
-
--keep class android.graphics.PointF {
- <init>();
- <init>(float, float);
- <init>(android.graphics.Point);
-
- public int describeContents();
- public boolean equals(float, float);
- public boolean equals(java.lang.Object);
- public int hashCode();
- public float length();
- public static float length(float, float);
- public void negate();
- public void offset(float, float);
- public void readFromParcel(android.os.Parcel);
- public void set(float, float);
- public void set(android.graphics.PointF);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public float x;
- public float y;
-}
-
--keep class android.graphics.PorterDuff {
- <init>();
-
- public static android.graphics.PorterDuff$Mode intToMode(int);
- public static int modeToInt(android.graphics.PorterDuff$Mode);
-
-
-}
-
--keep class android.graphics.PorterDuff$Mode {
-
- public static android.graphics.PorterDuff$Mode valueOf(java.lang.String);
- public static android.graphics.PorterDuff$Mode[] values();
-
- public static android.graphics.PorterDuff$Mode ADD;
- public static android.graphics.PorterDuff$Mode CLEAR;
- public static android.graphics.PorterDuff$Mode DARKEN;
- public static android.graphics.PorterDuff$Mode DST;
- public static android.graphics.PorterDuff$Mode DST_ATOP;
- public static android.graphics.PorterDuff$Mode DST_IN;
- public static android.graphics.PorterDuff$Mode DST_OUT;
- public static android.graphics.PorterDuff$Mode DST_OVER;
- public static android.graphics.PorterDuff$Mode LIGHTEN;
- public static android.graphics.PorterDuff$Mode MULTIPLY;
- public static android.graphics.PorterDuff$Mode OVERLAY;
- public static android.graphics.PorterDuff$Mode SCREEN;
- public static android.graphics.PorterDuff$Mode SRC;
- public static android.graphics.PorterDuff$Mode SRC_ATOP;
- public static android.graphics.PorterDuff$Mode SRC_IN;
- public static android.graphics.PorterDuff$Mode SRC_OUT;
- public static android.graphics.PorterDuff$Mode SRC_OVER;
- public static android.graphics.PorterDuff$Mode XOR;
-
- public int nativeInt;
-}
-
--keep class android.graphics.Rasterizer {
- <init>();
-
- protected void finalize();
-
-
-}
-
--keep class android.graphics.Rect {
- <init>();
- <init>(int, int, int, int);
- <init>(android.graphics.Rect);
-
- public int centerX();
- public int centerY();
- public boolean contains(int, int);
- public boolean contains(int, int, int, int);
- public boolean contains(android.graphics.Rect);
- public static android.graphics.Rect copyOrNull(android.graphics.Rect);
- public int describeContents();
- public boolean equals(java.lang.Object);
- public float exactCenterX();
- public float exactCenterY();
- public java.lang.String flattenToString();
- public int hashCode();
- public int height();
- public void inset(int, int);
- public void inset(android.graphics.Rect);
- public void inset(int, int, int, int);
- public boolean intersect(int, int, int, int);
- public boolean intersect(android.graphics.Rect);
- public void intersectUnchecked(android.graphics.Rect);
- public boolean intersects(int, int, int, int);
- public static boolean intersects(android.graphics.Rect, android.graphics.Rect);
- public boolean isEmpty();
- public void offset(int, int);
- public void offsetTo(int, int);
- public void printShortString(java.io.PrintWriter);
- public void readFromParcel(android.os.Parcel);
- public void scale(float);
- public void set(int, int, int, int);
- public void set(android.graphics.Rect);
- public void setEmpty();
- public boolean setIntersect(android.graphics.Rect, android.graphics.Rect);
- public void sort();
- public java.lang.String toShortString();
- public java.lang.String toShortString(java.lang.StringBuilder);
- public java.lang.String toString();
- public static android.graphics.Rect unflattenFromString(java.lang.String);
- public void union(int, int, int, int);
- public void union(android.graphics.Rect);
- public void union(int, int);
- public int width();
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public int bottom;
- public int left;
- public int right;
- public int top;
-}
-
--keep class android.graphics.RectF {
- <init>();
- <init>(float, float, float, float);
- <init>(android.graphics.RectF);
- <init>(android.graphics.Rect);
-
- public float centerX();
- public float centerY();
- public boolean contains(float, float);
- public boolean contains(float, float, float, float);
- public boolean contains(android.graphics.RectF);
- public int describeContents();
- public boolean equals(java.lang.Object);
- public int hashCode();
- public float height();
- public void inset(float, float);
- public boolean intersect(float, float, float, float);
- public boolean intersect(android.graphics.RectF);
- public boolean intersects(float, float, float, float);
- public static boolean intersects(android.graphics.RectF, android.graphics.RectF);
- public boolean isEmpty();
- public void offset(float, float);
- public void offsetTo(float, float);
- public void printShortString(java.io.PrintWriter);
- public void readFromParcel(android.os.Parcel);
- public void round(android.graphics.Rect);
- public void roundOut(android.graphics.Rect);
- public void scale(float);
- public void set(float, float, float, float);
- public void set(android.graphics.RectF);
- public void set(android.graphics.Rect);
- public void setEmpty();
- public boolean setIntersect(android.graphics.RectF, android.graphics.RectF);
- public void sort();
- public java.lang.String toShortString();
- public java.lang.String toShortString(java.lang.StringBuilder);
- public java.lang.String toString();
- public void union(float, float, float, float);
- public void union(android.graphics.RectF);
- public void union(float, float);
- public float width();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public float bottom;
- public float left;
- public float right;
- public float top;
-}
-
--keep class android.graphics.Region {
- <init>();
- <init>(android.graphics.Region);
- <init>(android.graphics.Rect);
- <init>(int, int, int, int);
-
- public boolean contains(int, int);
- public int describeContents();
- public boolean equals(java.lang.Object);
- protected void finalize();
- public android.graphics.Path getBoundaryPath();
- public boolean getBoundaryPath(android.graphics.Path);
- public android.graphics.Rect getBounds();
- public boolean getBounds(android.graphics.Rect);
- public boolean isComplex();
- public boolean isEmpty();
- public boolean isRect();
- public static android.graphics.Region obtain();
- public static android.graphics.Region obtain(android.graphics.Region);
- public boolean op(android.graphics.Rect, android.graphics.Region$Op);
- public boolean op(int, int, int, int, android.graphics.Region$Op);
- public boolean op(android.graphics.Region, android.graphics.Region$Op);
- public boolean op(android.graphics.Rect, android.graphics.Region, android.graphics.Region$Op);
- public boolean op(android.graphics.Region, android.graphics.Region, android.graphics.Region$Op);
- public boolean quickContains(android.graphics.Rect);
- public boolean quickContains(int, int, int, int);
- public boolean quickReject(android.graphics.Rect);
- public boolean quickReject(int, int, int, int);
- public boolean quickReject(android.graphics.Region);
- public void recycle();
- public void scale(float);
- public void scale(float, android.graphics.Region);
- public boolean set(android.graphics.Region);
- public boolean set(android.graphics.Rect);
- public boolean set(int, int, int, int);
- public void setEmpty();
- public boolean setPath(android.graphics.Path, android.graphics.Region);
- public java.lang.String toString();
- public void translate(int, int);
- public void translate(int, int, android.graphics.Region);
- public boolean union(android.graphics.Rect);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public long mNativeRegion;
-}
-
--keep class android.graphics.Region$Op {
-
- public static android.graphics.Region$Op valueOf(java.lang.String);
- public static android.graphics.Region$Op[] values();
-
- public static android.graphics.Region$Op DIFFERENCE;
- public static android.graphics.Region$Op INTERSECT;
- public static android.graphics.Region$Op REPLACE;
- public static android.graphics.Region$Op REVERSE_DIFFERENCE;
- public static android.graphics.Region$Op UNION;
- public static android.graphics.Region$Op XOR;
-
- public int nativeInt;
-}
-
--keep class android.graphics.Shader {
- <init>();
-
- protected android.graphics.Shader copy();
- protected void copyLocalMatrix(android.graphics.Shader);
- protected void discardNativeInstance();
- public boolean getLocalMatrix(android.graphics.Matrix);
- public long getNativeInstance();
- public void setLocalMatrix(android.graphics.Matrix);
- protected void verifyNativeInstance();
-
-
-}
-
--keep class android.graphics.SurfaceTexture {
- <init>(int);
- <init>(int, boolean);
- <init>(boolean);
-
- public void attachToGLContext(int);
- public void detachFromGLContext();
- protected void finalize();
- public long getTimestamp();
- public void getTransformMatrix(float[]);
- public boolean isReleased();
- public boolean isSingleBuffered();
- public void release();
- public void releaseTexImage();
- public void setDefaultBufferSize(int, int);
- public void setOnFrameAvailableListener(android.graphics.SurfaceTexture$OnFrameAvailableListener);
- public void setOnFrameAvailableListener(android.graphics.SurfaceTexture$OnFrameAvailableListener, android.os.Handler);
- public void updateTexImage();
-
-
-}
-
--keep class android.graphics.SurfaceTexture$OnFrameAvailableListener {
-
- public abstract void onFrameAvailable(android.graphics.SurfaceTexture);
-
-
-}
-
--keep class android.graphics.Typeface {
-
- public static void buildSystemFallback(java.lang.String, java.lang.String, android.util.ArrayMap, android.util.ArrayMap);
- public static android.graphics.Typeface create(java.lang.String, int);
- public static android.graphics.Typeface create(android.graphics.Typeface, int);
- public static android.graphics.Typeface create(android.graphics.Typeface, int, boolean);
- public static android.graphics.Typeface createFromAsset(android.content.res.AssetManager, java.lang.String);
- public static android.graphics.Typeface createFromFile(java.io.File);
- public static android.graphics.Typeface createFromFile(java.lang.String);
- public static android.graphics.Typeface createFromResources(android.content.res.AssetManager, java.lang.String, int);
- public static android.graphics.Typeface createFromResources(android.content.res.FontResourcesParser$FamilyResourceEntry, android.content.res.AssetManager, java.lang.String);
- public static android.graphics.Typeface createFromTypefaceWithVariation(android.graphics.Typeface, java.util.List);
- public static android.graphics.Typeface defaultFromStyle(int);
- public boolean equals(java.lang.Object);
- public static android.graphics.Typeface findFromCache(android.content.res.AssetManager, java.lang.String);
- public int getStyle();
- public int getWeight();
- public int hashCode();
- public boolean isBold();
- public boolean isItalic();
- public boolean isSupportedAxes(int);
-
-
- public static int BOLD;
- public static int BOLD_ITALIC;
- public static android.graphics.Typeface DEFAULT;
- public static android.graphics.Typeface DEFAULT_BOLD;
- public static int ITALIC;
- public static int MAX_WEIGHT;
- public static android.graphics.Typeface MONOSPACE;
- public static int NORMAL;
- public static int RESOLVE_BY_FONT_TABLE;
- public static android.graphics.Typeface SANS_SERIF;
- public static android.graphics.Typeface SERIF;
- public static int STYLE_MASK;
- public long native_instance;
-}
-
--keep class android.graphics.Xfermode {
- <init>();
-
-
-
-}
-
--keep class android.graphics.drawable.Animatable2 {
-
- public abstract void clearAnimationCallbacks();
- public abstract void registerAnimationCallback(android.graphics.drawable.Animatable2$AnimationCallback);
- public abstract boolean unregisterAnimationCallback(android.graphics.drawable.Animatable2$AnimationCallback);
-
-
-}
-
--keep class android.graphics.drawable.Animatable2$AnimationCallback {
- <init>();
-
- public void onAnimationEnd(android.graphics.drawable.Drawable);
- public void onAnimationStart(android.graphics.drawable.Drawable);
-
-
-}
-
--keep class android.graphics.drawable.AnimatedVectorDrawable {
- <init>();
-
- public void applyTheme(android.content.res.Resources$Theme);
- public boolean canApplyTheme();
- public boolean canReverse();
- public void clearAnimationCallbacks();
- public void clearMutated();
- public void draw(android.graphics.Canvas);
- public void forceAnimationOnUI();
- public int getAlpha();
- public int getChangingConfigurations();
- public android.graphics.ColorFilter getColorFilter();
- public android.graphics.drawable.Drawable$ConstantState getConstantState();
- public int getIntrinsicHeight();
- public int getIntrinsicWidth();
- public int getOpacity();
- public android.graphics.Insets getOpticalInsets();
- public void getOutline(android.graphics.Outline);
- public void inflate(android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet, android.content.res.Resources$Theme);
- public boolean isRunning();
- public boolean isStateful();
- public android.graphics.drawable.Drawable mutate();
- protected void onBoundsChange(android.graphics.Rect);
- public boolean onLayoutDirectionChanged(int);
- protected boolean onLevelChange(int);
- protected boolean onStateChange(int[]);
- public void registerAnimationCallback(android.graphics.drawable.Animatable2$AnimationCallback);
- public void reset();
- public void reverse();
- public void setAlpha(int);
- public void setColorFilter(android.graphics.ColorFilter);
- public void setHotspot(float, float);
- public void setHotspotBounds(int, int, int, int);
- public void setTintList(android.content.res.ColorStateList);
- public void setTintMode(android.graphics.PorterDuff$Mode);
- public boolean setVisible(boolean, boolean);
- public void start();
- public void stop();
- public boolean unregisterAnimationCallback(android.graphics.drawable.Animatable2$AnimationCallback);
-
-
-}
-
--keep class android.graphics.drawable.AnimatedVectorDrawable$VectorDrawableAnimatorRT {
-
- public boolean canReverse();
- public void end();
- public long getAnimatorNativePtr();
- public void init(android.animation.AnimatorSet);
- public boolean isInfinite();
- public boolean isRunning();
- public boolean isStarted();
- public void onDraw(android.graphics.Canvas);
- public void pause();
- protected void recordLastSeenTarget(android.view.DisplayListCanvas);
- public void removeListener(android.animation.Animator$AnimatorListener);
- public void reset();
- public void resume();
- public void reverse();
- public void setListener(android.animation.Animator$AnimatorListener);
- public void start();
-
-
-}
-
--keep class android.graphics.drawable.Drawable {
- <init>();
-
- public void applyTheme(android.content.res.Resources$Theme);
- public boolean canApplyTheme();
- public void clearColorFilter();
- public void clearMutated();
- public void copyBounds(android.graphics.Rect);
- public android.graphics.Rect copyBounds();
- public static android.graphics.drawable.Drawable createFromPath(java.lang.String);
- public static android.graphics.drawable.Drawable createFromResourceStream(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, java.lang.String);
- public static android.graphics.drawable.Drawable createFromResourceStream(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, java.lang.String, android.graphics.BitmapFactory$Options);
- public static android.graphics.drawable.Drawable createFromStream(java.io.InputStream, java.lang.String);
- public static android.graphics.drawable.Drawable createFromXml(android.content.res.Resources, org.xmlpull.v1.XmlPullParser);
- public static android.graphics.drawable.Drawable createFromXml(android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.content.res.Resources$Theme);
- public static android.graphics.drawable.Drawable createFromXmlForDensity(android.content.res.Resources, org.xmlpull.v1.XmlPullParser, int, android.content.res.Resources$Theme);
- public static android.graphics.drawable.Drawable createFromXmlInner(android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet);
- public static android.graphics.drawable.Drawable createFromXmlInner(android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet, android.content.res.Resources$Theme);
- public abstract void draw(android.graphics.Canvas);
- public int getAlpha();
- public android.graphics.Rect getBounds();
- public android.graphics.drawable.Drawable$Callback getCallback();
- public int getChangingConfigurations();
- public android.graphics.ColorFilter getColorFilter();
- public android.graphics.drawable.Drawable$ConstantState getConstantState();
- public android.graphics.drawable.Drawable getCurrent();
- public android.graphics.Rect getDirtyBounds();
- public void getHotspotBounds(android.graphics.Rect);
- public int getIntrinsicHeight();
- public int getIntrinsicWidth();
- public int getLayoutDirection();
- public int getLevel();
- public int getMinimumHeight();
- public int getMinimumWidth();
- public abstract int getOpacity();
- public android.graphics.Insets getOpticalInsets();
- public void getOutline(android.graphics.Outline);
- public boolean getPadding(android.graphics.Rect);
- public int[] getState();
- public android.graphics.Region getTransparentRegion();
- public boolean hasFocusStateSpecified();
- public void inflate(android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet);
- public void inflate(android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet, android.content.res.Resources$Theme);
- public void invalidateSelf();
- public boolean isAutoMirrored();
- public boolean isFilterBitmap();
- public boolean isProjected();
- public boolean isStateful();
- public boolean isVisible();
- public void jumpToCurrentState();
- public android.graphics.drawable.Drawable mutate();
- protected static android.content.res.TypedArray obtainAttributes(android.content.res.Resources, android.content.res.Resources$Theme, android.util.AttributeSet, int[]);
- protected void onBoundsChange(android.graphics.Rect);
- public boolean onLayoutDirectionChanged(int);
- protected boolean onLevelChange(int);
- protected boolean onStateChange(int[]);
- public static android.graphics.PorterDuff$Mode parseTintMode(int, android.graphics.PorterDuff$Mode);
- public static int resolveOpacity(int, int);
- public void scheduleSelf(java.lang.Runnable, long);
- public abstract void setAlpha(int);
- public void setAutoMirrored(boolean);
- public void setBounds(int, int, int, int);
- public void setBounds(android.graphics.Rect);
- public void setCallback(android.graphics.drawable.Drawable$Callback);
- public void setChangingConfigurations(int);
- public abstract void setColorFilter(android.graphics.ColorFilter);
- public void setColorFilter(int, android.graphics.PorterDuff$Mode);
- public void setDither(boolean);
- public void setFilterBitmap(boolean);
- public void setHotspot(float, float);
- public void setHotspotBounds(int, int, int, int);
- public boolean setLayoutDirection(int);
- public boolean setLevel(int);
- public boolean setState(int[]);
- public void setTint(int);
- public void setTintList(android.content.res.ColorStateList);
- public void setTintMode(android.graphics.PorterDuff$Mode);
- public boolean setVisible(boolean, boolean);
- public void setXfermode(android.graphics.Xfermode);
- public void unscheduleSelf(java.lang.Runnable);
-
-
- protected int mSrcDensityOverride;
-}
-
--keep class android.graphics.drawable.Drawable$Callback {
-
- public abstract void invalidateDrawable(android.graphics.drawable.Drawable);
- public abstract void scheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable, long);
- public abstract void unscheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable);
-
-
-}
-
--keep class android.graphics.drawable.Drawable$ConstantState {
- <init>();
-
- public boolean canApplyTheme();
- public abstract int getChangingConfigurations();
- public abstract android.graphics.drawable.Drawable newDrawable();
- public android.graphics.drawable.Drawable newDrawable(android.content.res.Resources);
- public android.graphics.drawable.Drawable newDrawable(android.content.res.Resources, android.content.res.Resources$Theme);
-
-
-}
-
--keep class android.graphics.drawable.DrawableInflater {
- <init>(android.content.res.Resources, java.lang.ClassLoader);
-
- public android.graphics.drawable.Drawable inflateFromXml(java.lang.String, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet, android.content.res.Resources$Theme);
- public static android.graphics.drawable.Drawable loadDrawable(android.content.Context, int);
- public static android.graphics.drawable.Drawable loadDrawable(android.content.res.Resources, android.content.res.Resources$Theme, int);
-
-
-}
-
--keep class android.graphics.drawable.Icon {
-
- public void convertToAshmem();
- public static android.graphics.drawable.Icon createFromStream(java.io.InputStream);
- public static android.graphics.drawable.Icon createWithAdaptiveBitmap(android.graphics.Bitmap);
- public static android.graphics.drawable.Icon createWithBitmap(android.graphics.Bitmap);
- public static android.graphics.drawable.Icon createWithContentUri(java.lang.String);
- public static android.graphics.drawable.Icon createWithContentUri(android.net.Uri);
- public static android.graphics.drawable.Icon createWithData(byte[], int, int);
- public static android.graphics.drawable.Icon createWithFilePath(java.lang.String);
- public static android.graphics.drawable.Icon createWithResource(android.content.Context, int);
- public static android.graphics.drawable.Icon createWithResource(android.content.res.Resources, int);
- public static android.graphics.drawable.Icon createWithResource(java.lang.String, int);
- public int describeContents();
- public android.graphics.Bitmap getBitmap();
- public byte[] getDataBytes();
- public int getDataLength();
- public int getDataOffset();
- public int getResId();
- public java.lang.String getResPackage();
- public android.content.res.Resources getResources();
- public int getType();
- public android.net.Uri getUri();
- public java.lang.String getUriString();
- public boolean hasTint();
- public android.graphics.drawable.Drawable loadDrawable(android.content.Context);
- public android.graphics.drawable.Drawable loadDrawableAsUser(android.content.Context, int);
- public void loadDrawableAsync(android.content.Context, android.os.Message);
- public void loadDrawableAsync(android.content.Context, android.graphics.drawable.Icon$OnDrawableLoadedListener, android.os.Handler);
- public boolean sameAs(android.graphics.drawable.Icon);
- public static android.graphics.Bitmap scaleDownIfNecessary(android.graphics.Bitmap, int, int);
- public void scaleDownIfNecessary(int, int);
- public android.graphics.drawable.Icon setTint(int);
- public android.graphics.drawable.Icon setTintList(android.content.res.ColorStateList);
- public android.graphics.drawable.Icon setTintMode(android.graphics.PorterDuff$Mode);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
- public void writeToStream(java.io.OutputStream);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int MIN_ASHMEM_ICON_SIZE;
- public static int TYPE_ADAPTIVE_BITMAP;
- public static int TYPE_BITMAP;
- public static int TYPE_DATA;
- public static int TYPE_RESOURCE;
- public static int TYPE_URI;
-}
-
--keep class android.graphics.drawable.Icon$OnDrawableLoadedListener {
-
- public abstract void onDrawableLoaded(android.graphics.drawable.Drawable);
-
-
-}
-
--keep class android.graphics.fonts.FontVariationAxis {
- <init>(java.lang.String, float);
-
- public static android.graphics.fonts.FontVariationAxis[] fromFontVariationSettings(java.lang.String);
- public int getOpenTypeTagValue();
- public float getStyleValue();
- public java.lang.String getTag();
- public static int makeTag(java.lang.String);
- public static java.lang.String toFontVariationSettings(android.graphics.fonts.FontVariationAxis[]);
- public java.lang.String toString();
-
-
-}
-
--keep class android.hardware.display.AmbientBrightnessDayStats {
- <init>(java.time.LocalDate, float[]);
- <init>(java.time.LocalDate, float[], float[]);
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public float[] getBucketBoundaries();
- public java.time.LocalDate getLocalDate();
- public float[] getStats();
- public int hashCode();
- public void log(float, float);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.hardware.display.BrightnessChangeEvent {
- <init>(android.hardware.display.BrightnessChangeEvent, boolean);
-
- public int describeContents();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public float batteryLevel;
- public float brightness;
- public int colorTemperature;
- public boolean isDefaultBrightnessConfig;
- public boolean isUserSetBrightness;
- public float lastBrightness;
- public long[] luxTimestamps;
- public float[] luxValues;
- public boolean nightMode;
- public java.lang.String packageName;
- public float powerBrightnessFactor;
- public long timeStamp;
- public int userId;
-}
-
--keep class android.hardware.display.BrightnessConfiguration {
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public android.util.Pair getCurve();
- public java.lang.String getDescription();
- public int hashCode();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.hardware.display.DisplayManager {
- <init>(android.content.Context);
-
- public void connectWifiDisplay(java.lang.String);
- public android.hardware.display.VirtualDisplay createVirtualDisplay(java.lang.String, int, int, int, android.view.Surface, int);
- public android.hardware.display.VirtualDisplay createVirtualDisplay(java.lang.String, int, int, int, android.view.Surface, int, android.hardware.display.VirtualDisplay$Callback, android.os.Handler);
- public android.hardware.display.VirtualDisplay createVirtualDisplay(android.media.projection.MediaProjection, java.lang.String, int, int, int, android.view.Surface, int, android.hardware.display.VirtualDisplay$Callback, android.os.Handler, java.lang.String);
- public void disconnectWifiDisplay();
- public void forgetWifiDisplay(java.lang.String);
- public java.util.List getAmbientBrightnessStats();
- public android.hardware.display.BrightnessConfiguration getBrightnessConfiguration();
- public android.hardware.display.BrightnessConfiguration getBrightnessConfigurationForUser(int);
- public java.util.List getBrightnessEvents();
- public android.hardware.display.BrightnessConfiguration getDefaultBrightnessConfiguration();
- public android.view.Display getDisplay(int);
- public android.view.Display[] getDisplays();
- public android.view.Display[] getDisplays(java.lang.String);
- public android.util.Pair getMinimumBrightnessCurve();
- public android.graphics.Point getStableDisplaySize();
- public android.hardware.display.WifiDisplayStatus getWifiDisplayStatus();
- public void pauseWifiDisplay();
- public void registerDisplayListener(android.hardware.display.DisplayManager$DisplayListener, android.os.Handler);
- public void renameWifiDisplay(java.lang.String, java.lang.String);
- public void resumeWifiDisplay();
- public void setBrightnessConfiguration(android.hardware.display.BrightnessConfiguration);
- public void setBrightnessConfigurationForUser(android.hardware.display.BrightnessConfiguration, int, java.lang.String);
- public void setSaturationLevel(float);
- public void setTemporaryAutoBrightnessAdjustment(float);
- public void setTemporaryBrightness(int);
- public void startWifiDisplayScan();
- public void stopWifiDisplayScan();
- public void unregisterDisplayListener(android.hardware.display.DisplayManager$DisplayListener);
-
-
- public static java.lang.String ACTION_WIFI_DISPLAY_STATUS_CHANGED;
- public static java.lang.String DISPLAY_CATEGORY_PRESENTATION;
- public static java.lang.String EXTRA_WIFI_DISPLAY_STATUS;
- public static int VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR;
- public static int VIRTUAL_DISPLAY_FLAG_CAN_SHOW_WITH_INSECURE_KEYGUARD;
- public static int VIRTUAL_DISPLAY_FLAG_DESTROY_CONTENT_ON_REMOVAL;
- public static int VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY;
- public static int VIRTUAL_DISPLAY_FLAG_PRESENTATION;
- public static int VIRTUAL_DISPLAY_FLAG_PUBLIC;
- public static int VIRTUAL_DISPLAY_FLAG_ROTATES_WITH_CONTENT;
- public static int VIRTUAL_DISPLAY_FLAG_SECURE;
- public static int VIRTUAL_DISPLAY_FLAG_SUPPORTS_TOUCH;
-}
-
--keep class android.hardware.display.DisplayManager$DisplayListener {
-
- public abstract void onDisplayAdded(int);
- public abstract void onDisplayChanged(int);
- public abstract void onDisplayRemoved(int);
-
-
-}
-
--keep class android.hardware.display.DisplayManagerGlobal {
-
- public void connectWifiDisplay(java.lang.String);
- public android.hardware.display.VirtualDisplay createVirtualDisplay(android.content.Context, android.media.projection.MediaProjection, java.lang.String, int, int, int, android.view.Surface, int, android.hardware.display.VirtualDisplay$Callback, android.os.Handler, java.lang.String);
- public void disconnectWifiDisplay();
- public void forgetWifiDisplay(java.lang.String);
- public java.util.List getAmbientBrightnessStats();
- public android.hardware.display.BrightnessConfiguration getBrightnessConfigurationForUser(int);
- public java.util.List getBrightnessEvents(java.lang.String);
- public android.view.Display getCompatibleDisplay(int, android.view.DisplayAdjustments);
- public android.view.Display getCompatibleDisplay(int, android.content.res.Resources);
- public android.hardware.display.BrightnessConfiguration getDefaultBrightnessConfiguration();
- public int[] getDisplayIds();
- public android.view.DisplayInfo getDisplayInfo(int);
- public static android.hardware.display.DisplayManagerGlobal getInstance();
- public android.util.Pair getMinimumBrightnessCurve();
- public android.view.Display getRealDisplay(int);
- public android.graphics.Point getStableDisplaySize();
- public android.hardware.display.WifiDisplayStatus getWifiDisplayStatus();
- public void pauseWifiDisplay();
- public void registerDisplayListener(android.hardware.display.DisplayManager$DisplayListener, android.os.Handler);
- public void releaseVirtualDisplay(android.hardware.display.IVirtualDisplayCallback);
- public void renameWifiDisplay(java.lang.String, java.lang.String);
- public void requestColorMode(int, int);
- public void resizeVirtualDisplay(android.hardware.display.IVirtualDisplayCallback, int, int, int);
- public void resumeWifiDisplay();
- public void setBrightnessConfigurationForUser(android.hardware.display.BrightnessConfiguration, int, java.lang.String);
- public void setSaturationLevel(float);
- public void setTemporaryAutoBrightnessAdjustment(float);
- public void setTemporaryBrightness(int);
- public void setVirtualDisplaySurface(android.hardware.display.IVirtualDisplayCallback, android.view.Surface);
- public void startWifiDisplayScan();
- public void stopWifiDisplayScan();
- public void unregisterDisplayListener(android.hardware.display.DisplayManager$DisplayListener);
-
-
- public static int EVENT_DISPLAY_ADDED;
- public static int EVENT_DISPLAY_CHANGED;
- public static int EVENT_DISPLAY_REMOVED;
-}
-
--keep class android.hardware.display.IVirtualDisplayCallback {
-
- public abstract void onPaused();
- public abstract void onResumed();
- public abstract void onStopped();
-
-
-}
-
--keep class android.hardware.display.VirtualDisplay {
-
- public android.view.Display getDisplay();
- public android.view.Surface getSurface();
- public void release();
- public void resize(int, int, int);
- public void setSurface(android.view.Surface);
- public java.lang.String toString();
-
-
-}
-
--keep class android.hardware.display.VirtualDisplay$Callback {
- <init>();
-
- public void onPaused();
- public void onResumed();
- public void onStopped();
-
-
-}
-
--keep class android.hardware.display.WifiDisplay {
- <init>(java.lang.String, java.lang.String, java.lang.String, boolean, boolean, boolean);
-
- public boolean canConnect();
- public int describeContents();
- public boolean equals(java.lang.Object);
- public boolean equals(android.hardware.display.WifiDisplay);
- public java.lang.String getDeviceAddress();
- public java.lang.String getDeviceAlias();
- public java.lang.String getDeviceName();
- public java.lang.String getFriendlyDisplayName();
- public boolean hasSameAddress(android.hardware.display.WifiDisplay);
- public int hashCode();
- public boolean isAvailable();
- public boolean isRemembered();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static android.hardware.display.WifiDisplay[] EMPTY_ARRAY;
-}
-
--keep class android.hardware.display.WifiDisplaySessionInfo {
- <init>();
- <init>(boolean, int, java.lang.String, java.lang.String, java.lang.String);
-
- public int describeContents();
- public java.lang.String getGroupId();
- public java.lang.String getIP();
- public java.lang.String getPassphrase();
- public int getSessionId();
- public boolean isClient();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.hardware.display.WifiDisplayStatus {
- <init>();
- <init>(int, int, int, android.hardware.display.WifiDisplay, android.hardware.display.WifiDisplay[], android.hardware.display.WifiDisplaySessionInfo);
-
- public int describeContents();
- public android.hardware.display.WifiDisplay getActiveDisplay();
- public int getActiveDisplayState();
- public android.hardware.display.WifiDisplay[] getDisplays();
- public int getFeatureState();
- public int getScanState();
- public android.hardware.display.WifiDisplaySessionInfo getSessionInfo();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int DISPLAY_STATE_CONNECTED;
- public static int DISPLAY_STATE_CONNECTING;
- public static int DISPLAY_STATE_NOT_CONNECTED;
- public static int FEATURE_STATE_DISABLED;
- public static int FEATURE_STATE_OFF;
- public static int FEATURE_STATE_ON;
- public static int FEATURE_STATE_UNAVAILABLE;
- public static int SCAN_STATE_NOT_SCANNING;
- public static int SCAN_STATE_SCANNING;
-}
-
--keep class android.hardware.input.InputDeviceIdentifier {
- <init>(java.lang.String, int, int);
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public java.lang.String getDescriptor();
- public int getProductId();
- public int getVendorId();
- public int hashCode();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.media.AudioAttributes {
-
- public java.lang.String contentTypeToString();
- public int describeContents();
- public boolean equals(java.lang.Object);
- public int getAllFlags();
- public android.os.Bundle getBundle();
- public int getCapturePreset();
- public int getContentType();
- public int getFlags();
- public java.util.Set getTags();
- public int getUsage();
- public int getVolumeControlStream();
- public int hashCode();
- public static int toLegacyStreamType(android.media.AudioAttributes);
- public java.lang.String toString();
- public java.lang.String usageToString();
- public static java.lang.String usageToString(int);
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
- public static int CONTENT_TYPE_MOVIE;
- public static int CONTENT_TYPE_MUSIC;
- public static int CONTENT_TYPE_SONIFICATION;
- public static int CONTENT_TYPE_SPEECH;
- public static int CONTENT_TYPE_UNKNOWN;
- public static android.os.Parcelable$Creator CREATOR;
- public static int FLAG_AUDIBILITY_ENFORCED;
- public static int FLAG_BEACON;
- public static int FLAG_BYPASS_INTERRUPTION_POLICY;
- public static int FLAG_BYPASS_MUTE;
- public static int FLAG_DEEP_BUFFER;
- public static int FLAG_HW_AV_SYNC;
- public static int FLAG_HW_HOTWORD;
- public static int FLAG_LOW_LATENCY;
- public static int FLAG_SCO;
- public static int FLAG_SECURE;
- public static int FLATTEN_TAGS;
- public static int[] SDK_USAGES;
- public static int SUPPRESSIBLE_ALARM;
- public static int SUPPRESSIBLE_CALL;
- public static int SUPPRESSIBLE_MEDIA;
- public static int SUPPRESSIBLE_NEVER;
- public static int SUPPRESSIBLE_NOTIFICATION;
- public static int SUPPRESSIBLE_SYSTEM;
- public static android.util.SparseIntArray SUPPRESSIBLE_USAGES;
- public static int USAGE_ALARM;
- public static int USAGE_ASSISTANCE_ACCESSIBILITY;
- public static int USAGE_ASSISTANCE_NAVIGATION_GUIDANCE;
- public static int USAGE_ASSISTANCE_SONIFICATION;
- public static int USAGE_ASSISTANT;
- public static int USAGE_GAME;
- public static int USAGE_MEDIA;
- public static int USAGE_NOTIFICATION;
- public static int USAGE_NOTIFICATION_COMMUNICATION_DELAYED;
- public static int USAGE_NOTIFICATION_COMMUNICATION_INSTANT;
- public static int USAGE_NOTIFICATION_COMMUNICATION_REQUEST;
- public static int USAGE_NOTIFICATION_EVENT;
- public static int USAGE_NOTIFICATION_RINGTONE;
- public static int USAGE_UNKNOWN;
- public static int USAGE_VIRTUAL_SOURCE;
- public static int USAGE_VOICE_COMMUNICATION;
- public static int USAGE_VOICE_COMMUNICATION_SIGNALLING;
-}
-
--keep class android.media.AudioDeviceInfo {
-
- public static int convertDeviceTypeToInternalDevice(int);
- public static int convertInternalDeviceToDeviceType(int);
- public boolean equals(java.lang.Object);
- public java.lang.String getAddress();
- public int[] getChannelCounts();
- public int[] getChannelIndexMasks();
- public int[] getChannelMasks();
- public int[] getEncodings();
- public int getId();
- public android.media.AudioDevicePort getPort();
- public java.lang.CharSequence getProductName();
- public int[] getSampleRates();
- public int getType();
- public int hashCode();
- public boolean isSink();
- public boolean isSource();
-
-
- public static int TYPE_AUX_LINE;
- public static int TYPE_BLUETOOTH_A2DP;
- public static int TYPE_BLUETOOTH_SCO;
- public static int TYPE_BUILTIN_EARPIECE;
- public static int TYPE_BUILTIN_MIC;
- public static int TYPE_BUILTIN_SPEAKER;
- public static int TYPE_BUS;
- public static int TYPE_DOCK;
- public static int TYPE_FM;
- public static int TYPE_FM_TUNER;
- public static int TYPE_HDMI;
- public static int TYPE_HDMI_ARC;
- public static int TYPE_HEARING_AID;
- public static int TYPE_IP;
- public static int TYPE_LINE_ANALOG;
- public static int TYPE_LINE_DIGITAL;
- public static int TYPE_TELEPHONY;
- public static int TYPE_TV_TUNER;
- public static int TYPE_UNKNOWN;
- public static int TYPE_USB_ACCESSORY;
- public static int TYPE_USB_DEVICE;
- public static int TYPE_USB_HEADSET;
- public static int TYPE_WIRED_HEADPHONES;
- public static int TYPE_WIRED_HEADSET;
-}
-
--keep class android.media.AudioDevicePort {
-
- public java.lang.String address();
- public android.media.AudioDevicePortConfig buildConfig(int, int, int, android.media.AudioGainConfig);
- public android.media.AudioPortConfig buildConfig(int, int, int, android.media.AudioGainConfig);
- public boolean equals(java.lang.Object);
- public java.lang.String toString();
- public int type();
-
-
-}
-
--keep class android.media.AudioDevicePortConfig {
-
- public android.media.AudioDevicePort port();
- public android.media.AudioPort port();
-
-
-}
-
--keep class android.media.AudioFormat {
- <init>();
-
- public static int channelCountFromInChannelMask(int);
- public static int channelCountFromOutChannelMask(int);
- public static int convertChannelOutMaskToNativeMask(int);
- public static int convertNativeChannelMaskToOutMask(int);
- public int describeContents();
- public boolean equals(java.lang.Object);
- public static int[] filterPublicFormats(int[]);
- public static int getBytesPerSample(int);
- public int getChannelCount();
- public int getChannelIndexMask();
- public int getChannelMask();
- public int getEncoding();
- public int getPropertySetMask();
- public int getSampleRate();
- public int hashCode();
- public static int inChannelMaskFromOutChannelMask(int);
- public static boolean isEncodingLinearFrames(int);
- public static boolean isEncodingLinearPcm(int);
- public static boolean isPublicEncoding(int);
- public static boolean isValidEncoding(int);
- public static java.lang.String toDisplayName(int);
- public static java.lang.String toLogFriendlyEncoding(int);
- public java.lang.String toLogFriendlyString();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static int AUDIO_FORMAT_HAS_PROPERTY_CHANNEL_INDEX_MASK;
- public static int AUDIO_FORMAT_HAS_PROPERTY_CHANNEL_MASK;
- public static int AUDIO_FORMAT_HAS_PROPERTY_ENCODING;
- public static int AUDIO_FORMAT_HAS_PROPERTY_NONE;
- public static int AUDIO_FORMAT_HAS_PROPERTY_SAMPLE_RATE;
- public static int CHANNEL_CONFIGURATION_DEFAULT;
- public static int CHANNEL_CONFIGURATION_INVALID;
- public static int CHANNEL_CONFIGURATION_MONO;
- public static int CHANNEL_CONFIGURATION_STEREO;
- public static int CHANNEL_INVALID;
- public static int CHANNEL_IN_BACK;
- public static int CHANNEL_IN_BACK_PROCESSED;
- public static int CHANNEL_IN_DEFAULT;
- public static int CHANNEL_IN_FRONT;
- public static int CHANNEL_IN_FRONT_BACK;
- public static int CHANNEL_IN_FRONT_PROCESSED;
- public static int CHANNEL_IN_LEFT;
- public static int CHANNEL_IN_LEFT_PROCESSED;
- public static int CHANNEL_IN_MONO;
- public static int CHANNEL_IN_PRESSURE;
- public static int CHANNEL_IN_RIGHT;
- public static int CHANNEL_IN_RIGHT_PROCESSED;
- public static int CHANNEL_IN_STEREO;
- public static int CHANNEL_IN_VOICE_DNLINK;
- public static int CHANNEL_IN_VOICE_UPLINK;
- public static int CHANNEL_IN_X_AXIS;
- public static int CHANNEL_IN_Y_AXIS;
- public static int CHANNEL_IN_Z_AXIS;
- public static int CHANNEL_OUT_5POINT1;
- public static int CHANNEL_OUT_5POINT1_SIDE;
- public static int CHANNEL_OUT_7POINT1;
- public static int CHANNEL_OUT_7POINT1_SURROUND;
- public static int CHANNEL_OUT_BACK_CENTER;
- public static int CHANNEL_OUT_BACK_LEFT;
- public static int CHANNEL_OUT_BACK_RIGHT;
- public static int CHANNEL_OUT_DEFAULT;
- public static int CHANNEL_OUT_FRONT_CENTER;
- public static int CHANNEL_OUT_FRONT_LEFT;
- public static int CHANNEL_OUT_FRONT_LEFT_OF_CENTER;
- public static int CHANNEL_OUT_FRONT_RIGHT;
- public static int CHANNEL_OUT_FRONT_RIGHT_OF_CENTER;
- public static int CHANNEL_OUT_LOW_FREQUENCY;
- public static int CHANNEL_OUT_MONO;
- public static int CHANNEL_OUT_QUAD;
- public static int CHANNEL_OUT_QUAD_SIDE;
- public static int CHANNEL_OUT_SIDE_LEFT;
- public static int CHANNEL_OUT_SIDE_RIGHT;
- public static int CHANNEL_OUT_STEREO;
- public static int CHANNEL_OUT_SURROUND;
- public static int CHANNEL_OUT_TOP_BACK_CENTER;
- public static int CHANNEL_OUT_TOP_BACK_LEFT;
- public static int CHANNEL_OUT_TOP_BACK_RIGHT;
- public static int CHANNEL_OUT_TOP_CENTER;
- public static int CHANNEL_OUT_TOP_FRONT_CENTER;
- public static int CHANNEL_OUT_TOP_FRONT_LEFT;
- public static int CHANNEL_OUT_TOP_FRONT_RIGHT;
- public static android.os.Parcelable$Creator CREATOR;
- public static int ENCODING_AAC_ELD;
- public static int ENCODING_AAC_HE_V1;
- public static int ENCODING_AAC_HE_V2;
- public static int ENCODING_AAC_LC;
- public static int ENCODING_AAC_XHE;
- public static int ENCODING_AC3;
- public static int ENCODING_AC4;
- public static int ENCODING_DEFAULT;
- public static int ENCODING_DOLBY_TRUEHD;
- public static int ENCODING_DTS;
- public static int ENCODING_DTS_HD;
- public static int ENCODING_E_AC3;
- public static int ENCODING_E_AC3_JOC;
- public static int ENCODING_IEC61937;
- public static int ENCODING_INVALID;
- public static int ENCODING_MP3;
- public static int ENCODING_PCM_16BIT;
- public static int ENCODING_PCM_8BIT;
- public static int ENCODING_PCM_FLOAT;
- public static int SAMPLE_RATE_HZ_MAX;
- public static int SAMPLE_RATE_HZ_MIN;
- public static int SAMPLE_RATE_UNSPECIFIED;
- public static int[] SURROUND_SOUND_ENCODING;
-}
-
--keep class android.media.AudioGain {
-
- public android.media.AudioGainConfig buildConfig(int, int, int[], int);
- public int channelMask();
- public int defaultValue();
- public int maxValue();
- public int minValue();
- public int mode();
- public int rampDurationMaxMs();
- public int rampDurationMinMs();
- public int stepValue();
-
-
- public static int MODE_CHANNELS;
- public static int MODE_JOINT;
- public static int MODE_RAMP;
-}
-
--keep class android.media.AudioGainConfig {
-
- public int channelMask();
- public int mode();
- public int rampDurationMs();
- public int[] values();
-
-
-}
-
--keep class android.media.AudioPort {
-
- public android.media.AudioPortConfig activeConfig();
- public android.media.AudioPortConfig buildConfig(int, int, int, android.media.AudioGainConfig);
- public int[] channelIndexMasks();
- public int[] channelMasks();
- public boolean equals(java.lang.Object);
- public int[] formats();
- public android.media.AudioGain[] gains();
- public int hashCode();
- public int id();
- public java.lang.String name();
- public int role();
- public int[] samplingRates();
- public java.lang.String toString();
-
-
- public static int ROLE_NONE;
- public static int ROLE_SINK;
- public static int ROLE_SOURCE;
- public static int TYPE_DEVICE;
- public static int TYPE_NONE;
- public static int TYPE_SESSION;
- public static int TYPE_SUBMIX;
- protected int mRole;
-}
-
--keep class android.media.AudioPortConfig {
-
- public int channelMask();
- public int format();
- public android.media.AudioGainConfig gain();
- public android.media.AudioPort port();
- public int samplingRate();
- public java.lang.String toString();
-
-
-}
-
--keep class android.media.AudioRecord {
- <init>(int, int, int, int, int);
- <init>(android.media.AudioAttributes, android.media.AudioFormat, int, int);
-
- public void addOnRoutingChangedListener(android.media.AudioRouting$OnRoutingChangedListener, android.os.Handler);
- public void addOnRoutingChangedListener(android.media.AudioRecord$OnRoutingChangedListener, android.os.Handler);
- protected void finalize();
- public java.util.List getActiveMicrophones();
- public int getAudioFormat();
- public int getAudioSessionId();
- public int getAudioSource();
- public int getBufferSizeInFrames();
- public int getChannelConfiguration();
- public int getChannelCount();
- public android.media.AudioFormat getFormat();
- public android.os.PersistableBundle getMetrics();
- public static int getMinBufferSize(int, int, int);
- public int getNotificationMarkerPosition();
- public int getPositionNotificationPeriod();
- public android.media.AudioDeviceInfo getPreferredDevice();
- public int getRecordingState();
- public android.media.AudioDeviceInfo getRoutedDevice();
- public int getSampleRate();
- public int getState();
- public int getTimestamp(android.media.AudioTimestamp, int);
- public void native_release();
- public int read(byte[], int, int);
- public int read(byte[], int, int, int);
- public int read(short[], int, int);
- public int read(short[], int, int, int);
- public int read(float[], int, int, int);
- public int read(java.nio.ByteBuffer, int);
- public int read(java.nio.ByteBuffer, int, int);
- public void release();
- public void removeOnRoutingChangedListener(android.media.AudioRouting$OnRoutingChangedListener);
- public void removeOnRoutingChangedListener(android.media.AudioRecord$OnRoutingChangedListener);
- public int setNotificationMarkerPosition(int);
- public int setPositionNotificationPeriod(int);
- public boolean setPreferredDevice(android.media.AudioDeviceInfo);
- public void setRecordPositionUpdateListener(android.media.AudioRecord$OnRecordPositionUpdateListener);
- public void setRecordPositionUpdateListener(android.media.AudioRecord$OnRecordPositionUpdateListener, android.os.Handler);
- public void startRecording();
- public void startRecording(android.media.MediaSyncEvent);
- public void stop();
-
-
- public static int ERROR;
- public static int ERROR_BAD_VALUE;
- public static int ERROR_DEAD_OBJECT;
- public static int ERROR_INVALID_OPERATION;
- public static int READ_BLOCKING;
- public static int READ_NON_BLOCKING;
- public static int RECORDSTATE_RECORDING;
- public static int RECORDSTATE_STOPPED;
- public static int STATE_INITIALIZED;
- public static int STATE_UNINITIALIZED;
- public static java.lang.String SUBMIX_FIXED_VOLUME;
- public static int SUCCESS;
-}
-
--keep class android.media.AudioRecord$OnRecordPositionUpdateListener {
-
- public abstract void onMarkerReached(android.media.AudioRecord);
- public abstract void onPeriodicNotification(android.media.AudioRecord);
-
-
-}
-
--keep class android.media.AudioRecord$OnRoutingChangedListener {
-
- public abstract void onRoutingChanged(android.media.AudioRecord);
- public void onRoutingChanged(android.media.AudioRouting);
-
-
-}
-
--keep class android.media.AudioRouting {
-
- public abstract void addOnRoutingChangedListener(android.media.AudioRouting$OnRoutingChangedListener, android.os.Handler);
- public abstract android.media.AudioDeviceInfo getPreferredDevice();
- public abstract android.media.AudioDeviceInfo getRoutedDevice();
- public abstract void removeOnRoutingChangedListener(android.media.AudioRouting$OnRoutingChangedListener);
- public abstract boolean setPreferredDevice(android.media.AudioDeviceInfo);
-
-
-}
-
--keep class android.media.AudioRouting$OnRoutingChangedListener {
-
- public abstract void onRoutingChanged(android.media.AudioRouting);
-
-
-}
-
--keep class android.media.AudioTimestamp {
- <init>();
-
-
-
- public static int TIMEBASE_BOOTTIME;
- public static int TIMEBASE_MONOTONIC;
- public long framePosition;
- public long nanoTime;
-}
-
--keep class android.media.IRemoteVolumeController {
-
- public abstract void remoteVolumeChanged(android.media.session.ISessionController, int);
- public abstract void updateRemoteController(android.media.session.ISessionController);
-
-
-}
-
--keep class android.media.MediaDescription {
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public java.lang.CharSequence getDescription();
- public android.os.Bundle getExtras();
- public android.graphics.Bitmap getIconBitmap();
- public android.net.Uri getIconUri();
- public java.lang.String getMediaId();
- public android.net.Uri getMediaUri();
- public java.lang.CharSequence getSubtitle();
- public java.lang.CharSequence getTitle();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static long BT_FOLDER_TYPE_ALBUMS;
- public static long BT_FOLDER_TYPE_ARTISTS;
- public static long BT_FOLDER_TYPE_GENRES;
- public static long BT_FOLDER_TYPE_MIXED;
- public static long BT_FOLDER_TYPE_PLAYLISTS;
- public static long BT_FOLDER_TYPE_TITLES;
- public static long BT_FOLDER_TYPE_YEARS;
- public static android.os.Parcelable$Creator CREATOR;
- public static java.lang.String EXTRA_BT_FOLDER_TYPE;
-}
-
--keep class android.media.MediaMetadata {
-
- public boolean containsKey(java.lang.String);
- public int describeContents();
- public boolean equals(java.lang.Object);
- public android.graphics.Bitmap getBitmap(java.lang.String);
- public android.media.MediaDescription getDescription();
- public static java.lang.String getKeyFromMetadataEditorKey(int);
- public long getLong(java.lang.String);
- public android.media.Rating getRating(java.lang.String);
- public java.lang.String getString(java.lang.String);
- public java.lang.CharSequence getText(java.lang.String);
- public int hashCode();
- public java.util.Set keySet();
- public int size();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static java.lang.String METADATA_KEY_ALBUM;
- public static java.lang.String METADATA_KEY_ALBUM_ART;
- public static java.lang.String METADATA_KEY_ALBUM_ARTIST;
- public static java.lang.String METADATA_KEY_ALBUM_ART_URI;
- public static java.lang.String METADATA_KEY_ART;
- public static java.lang.String METADATA_KEY_ARTIST;
- public static java.lang.String METADATA_KEY_ART_URI;
- public static java.lang.String METADATA_KEY_AUTHOR;
- public static java.lang.String METADATA_KEY_BT_FOLDER_TYPE;
- public static java.lang.String METADATA_KEY_COMPILATION;
- public static java.lang.String METADATA_KEY_COMPOSER;
- public static java.lang.String METADATA_KEY_DATE;
- public static java.lang.String METADATA_KEY_DISC_NUMBER;
- public static java.lang.String METADATA_KEY_DISPLAY_DESCRIPTION;
- public static java.lang.String METADATA_KEY_DISPLAY_ICON;
- public static java.lang.String METADATA_KEY_DISPLAY_ICON_URI;
- public static java.lang.String METADATA_KEY_DISPLAY_SUBTITLE;
- public static java.lang.String METADATA_KEY_DISPLAY_TITLE;
- public static java.lang.String METADATA_KEY_DURATION;
- public static java.lang.String METADATA_KEY_GENRE;
- public static java.lang.String METADATA_KEY_MEDIA_ID;
- public static java.lang.String METADATA_KEY_MEDIA_URI;
- public static java.lang.String METADATA_KEY_NUM_TRACKS;
- public static java.lang.String METADATA_KEY_RATING;
- public static java.lang.String METADATA_KEY_TITLE;
- public static java.lang.String METADATA_KEY_TRACK_NUMBER;
- public static java.lang.String METADATA_KEY_USER_RATING;
- public static java.lang.String METADATA_KEY_WRITER;
- public static java.lang.String METADATA_KEY_YEAR;
-}
-
--keep class android.media.MediaSyncEvent {
-
- public static android.media.MediaSyncEvent createEvent(int);
- public int getAudioSessionId();
- public int getType();
- public android.media.MediaSyncEvent setAudioSessionId(int);
-
-
- public static int SYNC_EVENT_NONE;
- public static int SYNC_EVENT_PRESENTATION_COMPLETE;
-}
-
--keep class android.media.MicrophoneInfo {
-
- public java.lang.String getAddress();
- public java.util.List getChannelMapping();
- public java.lang.String getDescription();
- public int getDirectionality();
- public java.util.List getFrequencyResponse();
- public int getGroup();
- public int getId();
- public int getIndexInTheGroup();
- public int getInternalDeviceType();
- public int getLocation();
- public float getMaxSpl();
- public float getMinSpl();
- public android.media.MicrophoneInfo$Coordinate3F getOrientation();
- public android.media.MicrophoneInfo$Coordinate3F getPosition();
- public float getSensitivity();
- public int getType();
- public void setChannelMapping(java.util.List);
- public void setId(int);
-
-
- public static int CHANNEL_MAPPING_DIRECT;
- public static int CHANNEL_MAPPING_PROCESSED;
- public static int DIRECTIONALITY_BI_DIRECTIONAL;
- public static int DIRECTIONALITY_CARDIOID;
- public static int DIRECTIONALITY_HYPER_CARDIOID;
- public static int DIRECTIONALITY_OMNI;
- public static int DIRECTIONALITY_SUPER_CARDIOID;
- public static int DIRECTIONALITY_UNKNOWN;
- public static int GROUP_UNKNOWN;
- public static int INDEX_IN_THE_GROUP_UNKNOWN;
- public static int LOCATION_MAINBODY;
- public static int LOCATION_MAINBODY_MOVABLE;
- public static int LOCATION_PERIPHERAL;
- public static int LOCATION_UNKNOWN;
- public static android.media.MicrophoneInfo$Coordinate3F ORIENTATION_UNKNOWN;
- public static android.media.MicrophoneInfo$Coordinate3F POSITION_UNKNOWN;
- public static float SENSITIVITY_UNKNOWN;
- public static float SPL_UNKNOWN;
-}
-
--keep class android.media.MicrophoneInfo$Coordinate3F {
-
- public boolean equals(java.lang.Object);
-
-
- public float x;
- public float y;
- public float z;
-}
-
--keep class android.media.Rating {
-
- public int describeContents();
- public float getPercentRating();
- public int getRatingStyle();
- public float getStarRating();
- public boolean hasHeart();
- public boolean isRated();
- public boolean isThumbUp();
- public static android.media.Rating newHeartRating(boolean);
- public static android.media.Rating newPercentageRating(float);
- public static android.media.Rating newStarRating(int, float);
- public static android.media.Rating newThumbRating(boolean);
- public static android.media.Rating newUnratedRating(int);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int RATING_3_STARS;
- public static int RATING_4_STARS;
- public static int RATING_5_STARS;
- public static int RATING_HEART;
- public static int RATING_NONE;
- public static int RATING_PERCENTAGE;
- public static int RATING_THUMB_UP_DOWN;
-}
-
--keep class android.media.SessionToken2 {
- <init>(android.content.Context, java.lang.String, java.lang.String);
- <init>(android.content.Context, java.lang.String, java.lang.String, int);
- <init>(android.media.update.SessionToken2Provider);
-
- public boolean equals(java.lang.Object);
- public static android.media.SessionToken2 fromBundle(android.os.Bundle);
- public java.lang.String getId();
- public java.lang.String getPackageName();
- public android.media.update.SessionToken2Provider getProvider();
- public int getType();
- public int getUid();
- public int hashCode();
- public android.os.Bundle toBundle();
- public java.lang.String toString();
-
-
- public static int TYPE_LIBRARY_SERVICE;
- public static int TYPE_SESSION;
- public static int TYPE_SESSION_SERVICE;
-}
-
--keep class android.media.VolumeProvider {
- <init>(int, int, int);
-
- public int getCurrentVolume();
- public int getMaxVolume();
- public int getVolumeControl();
- public void onAdjustVolume(int);
- public void onSetVolumeTo(int);
- public void setCallback(android.media.VolumeProvider$Callback);
- public void setCurrentVolume(int);
-
-
- public static int VOLUME_CONTROL_ABSOLUTE;
- public static int VOLUME_CONTROL_FIXED;
- public static int VOLUME_CONTROL_RELATIVE;
-}
-
--keep class android.media.VolumeProvider$Callback {
- <init>();
-
- public abstract void onVolumeChanged(android.media.VolumeProvider);
-
-
-}
-
--keep class android.media.projection.IMediaProjection {
-
- public abstract int applyVirtualDisplayFlags(int);
- public abstract boolean canProjectAudio();
- public abstract boolean canProjectSecureVideo();
- public abstract boolean canProjectVideo();
- public abstract void registerCallback(android.media.projection.IMediaProjectionCallback);
- public abstract void start(android.media.projection.IMediaProjectionCallback);
- public abstract void stop();
- public abstract void unregisterCallback(android.media.projection.IMediaProjectionCallback);
-
-
-}
-
--keep class android.media.projection.IMediaProjectionCallback {
-
- public abstract void onStop();
-
-
-}
-
--keep class android.media.projection.MediaProjection {
- <init>(android.content.Context, android.media.projection.IMediaProjection);
-
- public android.media.AudioRecord createAudioRecord(int, int, int, int);
- public android.hardware.display.VirtualDisplay createVirtualDisplay(java.lang.String, int, int, int, boolean, android.view.Surface, android.hardware.display.VirtualDisplay$Callback, android.os.Handler);
- public android.hardware.display.VirtualDisplay createVirtualDisplay(java.lang.String, int, int, int, int, android.view.Surface, android.hardware.display.VirtualDisplay$Callback, android.os.Handler);
- public android.media.projection.IMediaProjection getProjection();
- public void registerCallback(android.media.projection.MediaProjection$Callback, android.os.Handler);
- public void stop();
- public void unregisterCallback(android.media.projection.MediaProjection$Callback);
-
-
-}
-
--keep class android.media.projection.MediaProjection$Callback {
- <init>();
-
- public void onStop();
-
-
-}
-
--keep class android.media.session.ISession {
-
- public abstract void destroy();
- public abstract android.media.session.ISessionController getController();
- public abstract void sendEvent(java.lang.String, android.os.Bundle);
- public abstract void setActive(boolean);
- public abstract void setCurrentVolume(int);
- public abstract void setExtras(android.os.Bundle);
- public abstract void setFlags(int);
- public abstract void setLaunchPendingIntent(android.app.PendingIntent);
- public abstract void setMediaButtonReceiver(android.app.PendingIntent);
- public abstract void setMetadata(android.media.MediaMetadata);
- public abstract void setPlaybackState(android.media.session.PlaybackState);
- public abstract void setPlaybackToLocal(android.media.AudioAttributes);
- public abstract void setPlaybackToRemote(int, int);
- public abstract void setQueue(android.content.pm.ParceledListSlice);
- public abstract void setQueueTitle(java.lang.CharSequence);
- public abstract void setRatingType(int);
-
-
-}
-
--keep class android.media.session.ISessionCallback {
-
- public abstract void onAdjustVolume(java.lang.String, int, int, android.media.session.ISessionControllerCallback, int);
- public abstract void onCommand(java.lang.String, int, int, android.media.session.ISessionControllerCallback, java.lang.String, android.os.Bundle, android.os.ResultReceiver);
- public abstract void onCustomAction(java.lang.String, int, int, android.media.session.ISessionControllerCallback, java.lang.String, android.os.Bundle);
- public abstract void onFastForward(java.lang.String, int, int, android.media.session.ISessionControllerCallback);
- public abstract void onMediaButton(java.lang.String, int, int, android.content.Intent, int, android.os.ResultReceiver);
- public abstract void onMediaButtonFromController(java.lang.String, int, int, android.media.session.ISessionControllerCallback, android.content.Intent);
- public abstract void onNext(java.lang.String, int, int, android.media.session.ISessionControllerCallback);
- public abstract void onPause(java.lang.String, int, int, android.media.session.ISessionControllerCallback);
- public abstract void onPlay(java.lang.String, int, int, android.media.session.ISessionControllerCallback);
- public abstract void onPlayFromMediaId(java.lang.String, int, int, android.media.session.ISessionControllerCallback, java.lang.String, android.os.Bundle);
- public abstract void onPlayFromSearch(java.lang.String, int, int, android.media.session.ISessionControllerCallback, java.lang.String, android.os.Bundle);
- public abstract void onPlayFromUri(java.lang.String, int, int, android.media.session.ISessionControllerCallback, android.net.Uri, android.os.Bundle);
- public abstract void onPrepare(java.lang.String, int, int, android.media.session.ISessionControllerCallback);
- public abstract void onPrepareFromMediaId(java.lang.String, int, int, android.media.session.ISessionControllerCallback, java.lang.String, android.os.Bundle);
- public abstract void onPrepareFromSearch(java.lang.String, int, int, android.media.session.ISessionControllerCallback, java.lang.String, android.os.Bundle);
- public abstract void onPrepareFromUri(java.lang.String, int, int, android.media.session.ISessionControllerCallback, android.net.Uri, android.os.Bundle);
- public abstract void onPrevious(java.lang.String, int, int, android.media.session.ISessionControllerCallback);
- public abstract void onRate(java.lang.String, int, int, android.media.session.ISessionControllerCallback, android.media.Rating);
- public abstract void onRewind(java.lang.String, int, int, android.media.session.ISessionControllerCallback);
- public abstract void onSeekTo(java.lang.String, int, int, android.media.session.ISessionControllerCallback, long);
- public abstract void onSetVolumeTo(java.lang.String, int, int, android.media.session.ISessionControllerCallback, int);
- public abstract void onSkipToTrack(java.lang.String, int, int, android.media.session.ISessionControllerCallback, long);
- public abstract void onStop(java.lang.String, int, int, android.media.session.ISessionControllerCallback);
-
-
-}
-
--keep class android.media.session.ISessionCallback$Stub {
- <init>();
-
- public android.os.IBinder asBinder();
- public static android.media.session.ISessionCallback asInterface(android.os.IBinder);
- public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int);
-
-
-}
-
--keep class android.media.session.ISessionController {
-
- public abstract void adjustVolume(java.lang.String, android.media.session.ISessionControllerCallback, boolean, int, int);
- public abstract void fastForward(java.lang.String, android.media.session.ISessionControllerCallback);
- public abstract android.os.Bundle getExtras();
- public abstract long getFlags();
- public abstract android.app.PendingIntent getLaunchPendingIntent();
- public abstract android.media.MediaMetadata getMetadata();
- public abstract java.lang.String getPackageName();
- public abstract android.media.session.PlaybackState getPlaybackState();
- public abstract android.content.pm.ParceledListSlice getQueue();
- public abstract java.lang.CharSequence getQueueTitle();
- public abstract int getRatingType();
- public abstract java.lang.String getTag();
- public abstract android.media.session.ParcelableVolumeInfo getVolumeAttributes();
- public abstract boolean isTransportControlEnabled();
- public abstract void next(java.lang.String, android.media.session.ISessionControllerCallback);
- public abstract void pause(java.lang.String, android.media.session.ISessionControllerCallback);
- public abstract void play(java.lang.String, android.media.session.ISessionControllerCallback);
- public abstract void playFromMediaId(java.lang.String, android.media.session.ISessionControllerCallback, java.lang.String, android.os.Bundle);
- public abstract void playFromSearch(java.lang.String, android.media.session.ISessionControllerCallback, java.lang.String, android.os.Bundle);
- public abstract void playFromUri(java.lang.String, android.media.session.ISessionControllerCallback, android.net.Uri, android.os.Bundle);
- public abstract void prepare(java.lang.String, android.media.session.ISessionControllerCallback);
- public abstract void prepareFromMediaId(java.lang.String, android.media.session.ISessionControllerCallback, java.lang.String, android.os.Bundle);
- public abstract void prepareFromSearch(java.lang.String, android.media.session.ISessionControllerCallback, java.lang.String, android.os.Bundle);
- public abstract void prepareFromUri(java.lang.String, android.media.session.ISessionControllerCallback, android.net.Uri, android.os.Bundle);
- public abstract void previous(java.lang.String, android.media.session.ISessionControllerCallback);
- public abstract void rate(java.lang.String, android.media.session.ISessionControllerCallback, android.media.Rating);
- public abstract void registerCallbackListener(java.lang.String, android.media.session.ISessionControllerCallback);
- public abstract void rewind(java.lang.String, android.media.session.ISessionControllerCallback);
- public abstract void seekTo(java.lang.String, android.media.session.ISessionControllerCallback, long);
- public abstract void sendCommand(java.lang.String, android.media.session.ISessionControllerCallback, java.lang.String, android.os.Bundle, android.os.ResultReceiver);
- public abstract void sendCustomAction(java.lang.String, android.media.session.ISessionControllerCallback, java.lang.String, android.os.Bundle);
- public abstract boolean sendMediaButton(java.lang.String, android.media.session.ISessionControllerCallback, boolean, android.view.KeyEvent);
- public abstract void setVolumeTo(java.lang.String, android.media.session.ISessionControllerCallback, int, int);
- public abstract void skipToQueueItem(java.lang.String, android.media.session.ISessionControllerCallback, long);
- public abstract void stop(java.lang.String, android.media.session.ISessionControllerCallback);
- public abstract void unregisterCallbackListener(android.media.session.ISessionControllerCallback);
-
-
-}
-
--keep class android.media.session.ISessionControllerCallback {
-
- public abstract void onEvent(java.lang.String, android.os.Bundle);
- public abstract void onExtrasChanged(android.os.Bundle);
- public abstract void onMetadataChanged(android.media.MediaMetadata);
- public abstract void onPlaybackStateChanged(android.media.session.PlaybackState);
- public abstract void onQueueChanged(android.content.pm.ParceledListSlice);
- public abstract void onQueueTitleChanged(java.lang.CharSequence);
- public abstract void onSessionDestroyed();
- public abstract void onVolumeInfoChanged(android.media.session.ParcelableVolumeInfo);
-
-
-}
-
--keep class android.media.session.MediaController {
- <init>(android.content.Context, android.media.session.ISessionController);
- <init>(android.content.Context, android.media.session.MediaSession$Token);
-
- public void adjustVolume(int, int);
- public boolean controlsSameSession(android.media.session.MediaController);
- public boolean dispatchMediaButtonEvent(android.view.KeyEvent);
- public boolean dispatchMediaButtonEventAsSystemService(android.view.KeyEvent);
- public void dispatchVolumeButtonEventAsSystemService(android.view.KeyEvent);
- public android.os.Bundle getExtras();
- public long getFlags();
- public android.media.MediaMetadata getMetadata();
- public java.lang.String getPackageName();
- public android.media.session.MediaController$PlaybackInfo getPlaybackInfo();
- public android.media.session.PlaybackState getPlaybackState();
- public java.util.List getQueue();
- public java.lang.CharSequence getQueueTitle();
- public int getRatingType();
- public android.app.PendingIntent getSessionActivity();
- public android.media.session.MediaSession$Token getSessionToken();
- public java.lang.String getTag();
- public android.media.session.MediaController$TransportControls getTransportControls();
- public void registerCallback(android.media.session.MediaController$Callback);
- public void registerCallback(android.media.session.MediaController$Callback, android.os.Handler);
- public void sendCommand(java.lang.String, android.os.Bundle, android.os.ResultReceiver);
- public void setVolumeTo(int, int);
- public void unregisterCallback(android.media.session.MediaController$Callback);
-
-
-}
-
--keep class android.media.session.MediaController$Callback {
- <init>();
-
- public void onAudioInfoChanged(android.media.session.MediaController$PlaybackInfo);
- public void onExtrasChanged(android.os.Bundle);
- public void onMetadataChanged(android.media.MediaMetadata);
- public void onPlaybackStateChanged(android.media.session.PlaybackState);
- public void onQueueChanged(java.util.List);
- public void onQueueTitleChanged(java.lang.CharSequence);
- public void onSessionDestroyed();
- public void onSessionEvent(java.lang.String, android.os.Bundle);
-
-
-}
-
--keep class android.media.session.MediaController$PlaybackInfo {
- <init>(int, android.media.AudioAttributes, int, int, int);
-
- public android.media.AudioAttributes getAudioAttributes();
- public int getCurrentVolume();
- public int getMaxVolume();
- public int getPlaybackType();
- public int getVolumeControl();
-
-
- public static int PLAYBACK_TYPE_LOCAL;
- public static int PLAYBACK_TYPE_REMOTE;
-}
-
--keep class android.media.session.MediaController$TransportControls {
-
- public void fastForward();
- public void pause();
- public void play();
- public void playFromMediaId(java.lang.String, android.os.Bundle);
- public void playFromSearch(java.lang.String, android.os.Bundle);
- public void playFromUri(android.net.Uri, android.os.Bundle);
- public void prepare();
- public void prepareFromMediaId(java.lang.String, android.os.Bundle);
- public void prepareFromSearch(java.lang.String, android.os.Bundle);
- public void prepareFromUri(android.net.Uri, android.os.Bundle);
- public void rewind();
- public void seekTo(long);
- public void sendCustomAction(android.media.session.PlaybackState$CustomAction, android.os.Bundle);
- public void sendCustomAction(java.lang.String, android.os.Bundle);
- public void setRating(android.media.Rating);
- public void skipToNext();
- public void skipToPrevious();
- public void skipToQueueItem(long);
- public void stop();
-
-
-}
-
--keep class android.media.session.MediaSession {
- <init>(android.content.Context, java.lang.String);
- <init>(android.content.Context, java.lang.String, int);
-
- public java.lang.String getCallingPackage();
- public android.media.session.MediaController getController();
- public android.media.session.MediaSessionManager$RemoteUserInfo getCurrentControllerInfo();
- public android.media.session.MediaSession$Token getSessionToken();
- public boolean isActive();
- public static boolean isActiveState(int);
- public void notifyRemoteVolumeChanged(android.media.VolumeProvider);
- public void release();
- public void sendSessionEvent(java.lang.String, android.os.Bundle);
- public void setActive(boolean);
- public void setCallback(android.media.session.MediaSession$Callback);
- public void setCallback(android.media.session.MediaSession$Callback, android.os.Handler);
- public void setExtras(android.os.Bundle);
- public void setFlags(int);
- public void setMediaButtonReceiver(android.app.PendingIntent);
- public void setMetadata(android.media.MediaMetadata);
- public void setPlaybackState(android.media.session.PlaybackState);
- public void setPlaybackToLocal(android.media.AudioAttributes);
- public void setPlaybackToRemote(android.media.VolumeProvider);
- public void setQueue(java.util.List);
- public void setQueueTitle(java.lang.CharSequence);
- public void setRatingType(int);
- public void setSessionActivity(android.app.PendingIntent);
-
-
- public static int FLAG_EXCLUSIVE_GLOBAL_PRIORITY;
- public static int FLAG_HANDLES_MEDIA_BUTTONS;
- public static int FLAG_HANDLES_TRANSPORT_CONTROLS;
- public static int INVALID_PID;
- public static int INVALID_UID;
-}
-
--keep class android.media.session.MediaSession$Callback {
- <init>();
-
- public void onCommand(java.lang.String, android.os.Bundle, android.os.ResultReceiver);
- public void onCustomAction(java.lang.String, android.os.Bundle);
- public void onFastForward();
- public boolean onMediaButtonEvent(android.content.Intent);
- public void onPause();
- public void onPlay();
- public void onPlayFromMediaId(java.lang.String, android.os.Bundle);
- public void onPlayFromSearch(java.lang.String, android.os.Bundle);
- public void onPlayFromUri(android.net.Uri, android.os.Bundle);
- public void onPrepare();
- public void onPrepareFromMediaId(java.lang.String, android.os.Bundle);
- public void onPrepareFromSearch(java.lang.String, android.os.Bundle);
- public void onPrepareFromUri(android.net.Uri, android.os.Bundle);
- public void onRewind();
- public void onSeekTo(long);
- public void onSetRating(android.media.Rating);
- public void onSkipToNext();
- public void onSkipToPrevious();
- public void onSkipToQueueItem(long);
- public void onStop();
-
-
-}
-
--keep class android.media.session.MediaSession$CallbackStub {
- <init>(android.media.session.MediaSession);
-
- public void onAdjustVolume(java.lang.String, int, int, android.media.session.ISessionControllerCallback, int);
- public void onCommand(java.lang.String, int, int, android.media.session.ISessionControllerCallback, java.lang.String, android.os.Bundle, android.os.ResultReceiver);
- public void onCustomAction(java.lang.String, int, int, android.media.session.ISessionControllerCallback, java.lang.String, android.os.Bundle);
- public void onFastForward(java.lang.String, int, int, android.media.session.ISessionControllerCallback);
- public void onMediaButton(java.lang.String, int, int, android.content.Intent, int, android.os.ResultReceiver);
- public void onMediaButtonFromController(java.lang.String, int, int, android.media.session.ISessionControllerCallback, android.content.Intent);
- public void onNext(java.lang.String, int, int, android.media.session.ISessionControllerCallback);
- public void onPause(java.lang.String, int, int, android.media.session.ISessionControllerCallback);
- public void onPlay(java.lang.String, int, int, android.media.session.ISessionControllerCallback);
- public void onPlayFromMediaId(java.lang.String, int, int, android.media.session.ISessionControllerCallback, java.lang.String, android.os.Bundle);
- public void onPlayFromSearch(java.lang.String, int, int, android.media.session.ISessionControllerCallback, java.lang.String, android.os.Bundle);
- public void onPlayFromUri(java.lang.String, int, int, android.media.session.ISessionControllerCallback, android.net.Uri, android.os.Bundle);
- public void onPrepare(java.lang.String, int, int, android.media.session.ISessionControllerCallback);
- public void onPrepareFromMediaId(java.lang.String, int, int, android.media.session.ISessionControllerCallback, java.lang.String, android.os.Bundle);
- public void onPrepareFromSearch(java.lang.String, int, int, android.media.session.ISessionControllerCallback, java.lang.String, android.os.Bundle);
- public void onPrepareFromUri(java.lang.String, int, int, android.media.session.ISessionControllerCallback, android.net.Uri, android.os.Bundle);
- public void onPrevious(java.lang.String, int, int, android.media.session.ISessionControllerCallback);
- public void onRate(java.lang.String, int, int, android.media.session.ISessionControllerCallback, android.media.Rating);
- public void onRewind(java.lang.String, int, int, android.media.session.ISessionControllerCallback);
- public void onSeekTo(java.lang.String, int, int, android.media.session.ISessionControllerCallback, long);
- public void onSetVolumeTo(java.lang.String, int, int, android.media.session.ISessionControllerCallback, int);
- public void onSkipToTrack(java.lang.String, int, int, android.media.session.ISessionControllerCallback, long);
- public void onStop(java.lang.String, int, int, android.media.session.ISessionControllerCallback);
-
-
-}
-
--keep class android.media.session.MediaSession$QueueItem {
- <init>(android.media.MediaDescription, long);
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public android.media.MediaDescription getDescription();
- public long getQueueId();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int UNKNOWN_ID;
-}
-
--keep class android.media.session.MediaSession$Token {
- <init>(android.media.session.ISessionController);
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public int hashCode();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.media.session.MediaSessionManager {
- <init>(android.content.Context);
-
- public void addOnActiveSessionsChangedListener(android.media.session.MediaSessionManager$OnActiveSessionsChangedListener, android.content.ComponentName);
- public void addOnActiveSessionsChangedListener(android.media.session.MediaSessionManager$OnActiveSessionsChangedListener, android.content.ComponentName, android.os.Handler);
- public void addOnActiveSessionsChangedListener(android.media.session.MediaSessionManager$OnActiveSessionsChangedListener, android.content.ComponentName, int, android.os.Handler);
- public void addOnSessionTokensChangedListener(java.util.concurrent.Executor, android.media.session.MediaSessionManager$OnSessionTokensChangedListener);
- public void addOnSessionTokensChangedListener(int, java.util.concurrent.Executor, android.media.session.MediaSessionManager$OnSessionTokensChangedListener);
- public android.media.session.ISession createSession(android.media.session.MediaSession$CallbackStub, java.lang.String, int);
- public boolean createSession2(android.media.SessionToken2);
- public void destroySession2(android.media.SessionToken2);
- public void dispatchAdjustVolume(int, int, int);
- public void dispatchMediaKeyEvent(android.view.KeyEvent);
- public void dispatchMediaKeyEvent(android.view.KeyEvent, boolean);
- public void dispatchMediaKeyEventAsSystemService(android.view.KeyEvent);
- public void dispatchVolumeKeyEvent(android.view.KeyEvent, int, boolean);
- public void dispatchVolumeKeyEventAsSystemService(android.view.KeyEvent, int);
- public java.util.List getActiveSessionTokens();
- public java.util.List getActiveSessions(android.content.ComponentName);
- public java.util.List getActiveSessionsForUser(android.content.ComponentName, int);
- public java.util.List getAllSessionTokens();
- public java.util.List getSessionServiceTokens();
- public boolean isGlobalPriorityActive();
- public boolean isTrustedForMediaControl(android.media.session.MediaSessionManager$RemoteUserInfo);
- public void removeOnActiveSessionsChangedListener(android.media.session.MediaSessionManager$OnActiveSessionsChangedListener);
- public void removeOnSessionTokensChangedListener(android.media.session.MediaSessionManager$OnSessionTokensChangedListener);
- public void setCallback(android.media.session.MediaSessionManager$Callback, android.os.Handler);
- public void setOnMediaKeyListener(android.media.session.MediaSessionManager$OnMediaKeyListener, android.os.Handler);
- public void setOnVolumeKeyLongPressListener(android.media.session.MediaSessionManager$OnVolumeKeyLongPressListener, android.os.Handler);
- public void setRemoteVolumeController(android.media.IRemoteVolumeController);
-
-
- public static int RESULT_MEDIA_KEY_HANDLED;
- public static int RESULT_MEDIA_KEY_NOT_HANDLED;
-}
-
--keep class android.media.session.MediaSessionManager$Callback {
- <init>();
-
- public abstract void onAddressedPlayerChanged(android.media.session.MediaSession$Token);
- public abstract void onAddressedPlayerChanged(android.content.ComponentName);
- public abstract void onMediaKeyEventDispatched(android.view.KeyEvent, android.media.session.MediaSession$Token);
- public abstract void onMediaKeyEventDispatched(android.view.KeyEvent, android.content.ComponentName);
-
-
-}
-
--keep class android.media.session.MediaSessionManager$OnActiveSessionsChangedListener {
-
- public abstract void onActiveSessionsChanged(java.util.List);
-
-
-}
-
--keep class android.media.session.MediaSessionManager$OnMediaKeyListener {
-
- public abstract boolean onMediaKey(android.view.KeyEvent);
-
-
-}
-
--keep class android.media.session.MediaSessionManager$OnSessionTokensChangedListener {
-
- public abstract void onSessionTokensChanged(java.util.List);
-
-
-}
-
--keep class android.media.session.MediaSessionManager$OnVolumeKeyLongPressListener {
-
- public abstract void onVolumeKeyLongPress(android.view.KeyEvent);
-
-
-}
-
--keep class android.media.session.MediaSessionManager$RemoteUserInfo {
- <init>(java.lang.String, int, int);
- <init>(java.lang.String, int, int, android.os.IBinder);
-
- public boolean equals(java.lang.Object);
- public java.lang.String getPackageName();
- public int getPid();
- public int getUid();
- public int hashCode();
-
-
-}
-
--keep class android.media.session.ParcelableVolumeInfo {
- <init>(int, android.media.AudioAttributes, int, int, int);
- <init>(android.os.Parcel);
-
- public int describeContents();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public android.media.AudioAttributes audioAttrs;
- public int controlType;
- public int currentVolume;
- public int maxVolume;
- public int volumeType;
-}
-
--keep class android.media.session.PlaybackState {
-
- public int describeContents();
- public long getActions();
- public static long getActionsFromRccControlFlags(int);
- public long getActiveQueueItemId();
- public long getBufferedPosition();
- public java.util.List getCustomActions();
- public java.lang.CharSequence getErrorMessage();
- public android.os.Bundle getExtras();
- public long getLastPositionUpdateTime();
- public float getPlaybackSpeed();
- public long getPosition();
- public static int getRccControlFlagsFromActions(long);
- public static int getRccStateFromState(int);
- public int getState();
- public static int getStateFromRccState(int);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static long ACTION_FAST_FORWARD;
- public static long ACTION_PAUSE;
- public static long ACTION_PLAY;
- public static long ACTION_PLAY_FROM_MEDIA_ID;
- public static long ACTION_PLAY_FROM_SEARCH;
- public static long ACTION_PLAY_FROM_URI;
- public static long ACTION_PLAY_PAUSE;
- public static long ACTION_PREPARE;
- public static long ACTION_PREPARE_FROM_MEDIA_ID;
- public static long ACTION_PREPARE_FROM_SEARCH;
- public static long ACTION_PREPARE_FROM_URI;
- public static long ACTION_REWIND;
- public static long ACTION_SEEK_TO;
- public static long ACTION_SET_RATING;
- public static long ACTION_SKIP_TO_NEXT;
- public static long ACTION_SKIP_TO_PREVIOUS;
- public static long ACTION_SKIP_TO_QUEUE_ITEM;
- public static long ACTION_STOP;
- public static android.os.Parcelable$Creator CREATOR;
- public static long PLAYBACK_POSITION_UNKNOWN;
- public static int STATE_BUFFERING;
- public static int STATE_CONNECTING;
- public static int STATE_ERROR;
- public static int STATE_FAST_FORWARDING;
- public static int STATE_NONE;
- public static int STATE_PAUSED;
- public static int STATE_PLAYING;
- public static int STATE_REWINDING;
- public static int STATE_SKIPPING_TO_NEXT;
- public static int STATE_SKIPPING_TO_PREVIOUS;
- public static int STATE_SKIPPING_TO_QUEUE_ITEM;
- public static int STATE_STOPPED;
-}
-
--keep class android.media.session.PlaybackState$CustomAction {
-
- public int describeContents();
- public java.lang.String getAction();
- public android.os.Bundle getExtras();
- public int getIcon();
- public java.lang.CharSequence getName();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.media.update.SessionToken2Provider {
-
- public abstract boolean equals_impl(java.lang.Object);
- public abstract java.lang.String getId_imp();
- public abstract java.lang.String getPackageName_impl();
- public abstract int getType_impl();
- public abstract int getUid_impl();
- public abstract int hashCode_impl();
- public abstract android.os.Bundle toBundle_impl();
- public abstract java.lang.String toString_impl();
-
-
-}
-
--keep class android.net.Uri {
-
- public abstract android.net.Uri$Builder buildUpon();
- public void checkContentUriWithoutPermission(java.lang.String, int);
- public void checkFileUriExposed(java.lang.String);
- public int compareTo(android.net.Uri);
- public int compareTo(java.lang.Object);
- public static java.lang.String decode(java.lang.String);
- public static java.lang.String encode(java.lang.String);
- public static java.lang.String encode(java.lang.String, java.lang.String);
- public boolean equals(java.lang.Object);
- public static android.net.Uri fromFile(java.io.File);
- public static android.net.Uri fromParts(java.lang.String, java.lang.String, java.lang.String);
- public abstract java.lang.String getAuthority();
- public boolean getBooleanQueryParameter(java.lang.String, boolean);
- public android.net.Uri getCanonicalUri();
- public abstract java.lang.String getEncodedAuthority();
- public abstract java.lang.String getEncodedFragment();
- public abstract java.lang.String getEncodedPath();
- public abstract java.lang.String getEncodedQuery();
- public abstract java.lang.String getEncodedSchemeSpecificPart();
- public abstract java.lang.String getEncodedUserInfo();
- public abstract java.lang.String getFragment();
- public abstract java.lang.String getHost();
- public abstract java.lang.String getLastPathSegment();
- public abstract java.lang.String getPath();
- public abstract java.util.List getPathSegments();
- public abstract int getPort();
- public abstract java.lang.String getQuery();
- public java.lang.String getQueryParameter(java.lang.String);
- public java.util.Set getQueryParameterNames();
- public java.util.List getQueryParameters(java.lang.String);
- public abstract java.lang.String getScheme();
- public abstract java.lang.String getSchemeSpecificPart();
- public abstract java.lang.String getUserInfo();
- public int hashCode();
- public boolean isAbsolute();
- public abstract boolean isHierarchical();
- public boolean isOpaque();
- public boolean isPathPrefixMatch(android.net.Uri);
- public abstract boolean isRelative();
- public android.net.Uri normalizeScheme();
- public static android.net.Uri parse(java.lang.String);
- public java.lang.String toSafeString();
- public abstract java.lang.String toString();
- public static android.net.Uri withAppendedPath(android.net.Uri, java.lang.String);
- public static void writeToParcel(android.os.Parcel, android.net.Uri);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static android.net.Uri EMPTY;
-}
-
--keep class android.net.Uri$Builder {
- <init>();
-
- public android.net.Uri$Builder appendEncodedPath(java.lang.String);
- public android.net.Uri$Builder appendPath(java.lang.String);
- public android.net.Uri$Builder appendQueryParameter(java.lang.String, java.lang.String);
- public android.net.Uri$Builder authority(java.lang.String);
- public android.net.Uri build();
- public android.net.Uri$Builder clearQuery();
- public android.net.Uri$Builder encodedAuthority(java.lang.String);
- public android.net.Uri$Builder encodedFragment(java.lang.String);
- public android.net.Uri$Builder encodedOpaquePart(java.lang.String);
- public android.net.Uri$Builder encodedPath(java.lang.String);
- public android.net.Uri$Builder encodedQuery(java.lang.String);
- public android.net.Uri$Builder fragment(java.lang.String);
- public android.net.Uri$Builder opaquePart(java.lang.String);
- public android.net.Uri$Builder path(java.lang.String);
- public android.net.Uri$Builder query(java.lang.String);
- public android.net.Uri$Builder scheme(java.lang.String);
- public java.lang.String toString();
-
-
-}
-
--keep class android.os.BaseBundle {
-
- public void clear();
- public boolean containsKey(java.lang.String);
- public static void dumpStats(com.android.internal.util.IndentingPrintWriter, java.lang.String, java.lang.Object);
- public static void dumpStats(com.android.internal.util.IndentingPrintWriter, android.util.SparseArray);
- public static void dumpStats(com.android.internal.util.IndentingPrintWriter, android.os.BaseBundle);
- public java.lang.Object get(java.lang.String);
- public boolean getBoolean(java.lang.String);
- public boolean getBoolean(java.lang.String, boolean);
- public boolean[] getBooleanArray(java.lang.String);
- public double getDouble(java.lang.String);
- public double getDouble(java.lang.String, double);
- public double[] getDoubleArray(java.lang.String);
- public int getInt(java.lang.String);
- public int getInt(java.lang.String, int);
- public int[] getIntArray(java.lang.String);
- public long getLong(java.lang.String);
- public long getLong(java.lang.String, long);
- public long[] getLongArray(java.lang.String);
- public java.lang.String getPairValue();
- public java.lang.String getString(java.lang.String);
- public java.lang.String getString(java.lang.String, java.lang.String);
- public java.lang.String[] getStringArray(java.lang.String);
- public boolean isEmpty();
- public boolean isEmptyParcel();
- public boolean isParcelled();
- public java.util.Set keySet();
- public static boolean kindofEquals(android.os.BaseBundle, android.os.BaseBundle);
- public boolean kindofEquals(android.os.BaseBundle);
- public boolean maybeIsEmpty();
- public void putAll(android.os.PersistableBundle);
- public void putBoolean(java.lang.String, boolean);
- public void putBooleanArray(java.lang.String, boolean[]);
- public void putDouble(java.lang.String, double);
- public void putDoubleArray(java.lang.String, double[]);
- public void putInt(java.lang.String, int);
- public void putIntArray(java.lang.String, int[]);
- public void putLong(java.lang.String, long);
- public void putLongArray(java.lang.String, long[]);
- public void putString(java.lang.String, java.lang.String);
- public void putStringArray(java.lang.String, java.lang.String[]);
- public void remove(java.lang.String);
- public static void setShouldDefuse(boolean);
- public int size();
-
-
- public int mFlags;
-}
-
--keep class android.os.Binder {
- <init>();
-
- public static android.os.IBinder allowBlocking(android.os.IBinder);
- public void attachInterface(android.os.IInterface, java.lang.String);
- public static void blockUntilThreadAvailable();
- public static long clearCallingIdentity();
- public static void copyAllowBlocking(android.os.IBinder, android.os.IBinder);
- public static android.os.IBinder defaultBlocking(android.os.IBinder);
- public static void disableTracing();
- public void dump(java.io.FileDescriptor, java.lang.String[]);
- protected void dump(java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
- public void dumpAsync(java.io.FileDescriptor, java.lang.String[]);
- public static void enableTracing();
- public static void flushPendingCommands();
- public static int getCallingPid();
- public static int getCallingUid();
- public static android.os.UserHandle getCallingUserHandle();
- public java.lang.String getInterfaceDescriptor();
- public static int getThreadStrictModePolicy();
- public static synchronized android.os.TransactionTracker getTransactionTracker();
- public boolean isBinderAlive();
- public static boolean isProxy(android.os.IInterface);
- public static boolean isTracingEnabled();
- public static void joinThreadPool();
- public void linkToDeath(android.os.IBinder$DeathRecipient, int);
- public void onShellCommand(java.io.FileDescriptor, java.io.FileDescriptor, java.io.FileDescriptor, java.lang.String[], android.os.ShellCallback, android.os.ResultReceiver);
- protected boolean onTransact(int, android.os.Parcel, android.os.Parcel, int);
- public boolean pingBinder();
- public android.os.IInterface queryLocalInterface(java.lang.String);
- public static void restoreCallingIdentity(long);
- public static void setDumpDisabled(java.lang.String);
- public static void setThreadStrictModePolicy(int);
- public static void setWarnOnBlocking(boolean);
- public void shellCommand(java.io.FileDescriptor, java.io.FileDescriptor, java.io.FileDescriptor, java.lang.String[], android.os.ShellCallback, android.os.ResultReceiver);
- public boolean transact(int, android.os.Parcel, android.os.Parcel, int);
- public boolean unlinkToDeath(android.os.IBinder$DeathRecipient, int);
- public static void withCleanCallingIdentity(com.android.internal.util.FunctionalUtils$ThrowingRunnable);
- public static java.lang.Object withCleanCallingIdentity(com.android.internal.util.FunctionalUtils$ThrowingSupplier);
-
-
- public static boolean CHECK_PARCEL_SIZE;
- public static boolean LOG_RUNTIME_EXCEPTION;
-}
-
--keep class android.os.Bundle {
- <init>();
- <init>(android.os.Parcel);
- <init>(android.os.Parcel, int);
- <init>(java.lang.ClassLoader);
- <init>(int);
- <init>(android.os.Bundle);
- <init>(android.os.PersistableBundle);
-
- public void clear();
- public java.lang.Object clone();
- public android.os.Bundle deepCopy();
- public int describeContents();
- public android.os.Bundle filterValues();
- public static android.os.Bundle forPair(java.lang.String, java.lang.String);
- public android.os.IBinder getBinder(java.lang.String);
- public android.os.Bundle getBundle(java.lang.String);
- public byte getByte(java.lang.String);
- public java.lang.Byte getByte(java.lang.String, byte);
- public byte[] getByteArray(java.lang.String);
- public char getChar(java.lang.String);
- public char getChar(java.lang.String, char);
- public char[] getCharArray(java.lang.String);
- public java.lang.CharSequence getCharSequence(java.lang.String);
- public java.lang.CharSequence getCharSequence(java.lang.String, java.lang.CharSequence);
- public java.lang.CharSequence[] getCharSequenceArray(java.lang.String);
- public java.util.ArrayList getCharSequenceArrayList(java.lang.String);
- public java.lang.ClassLoader getClassLoader();
- public float getFloat(java.lang.String);
- public float getFloat(java.lang.String, float);
- public float[] getFloatArray(java.lang.String);
- public android.os.IBinder getIBinder(java.lang.String);
- public java.util.ArrayList getIntegerArrayList(java.lang.String);
- public android.os.Parcelable getParcelable(java.lang.String);
- public android.os.Parcelable[] getParcelableArray(java.lang.String);
- public java.util.ArrayList getParcelableArrayList(java.lang.String);
- public java.io.Serializable getSerializable(java.lang.String);
- public short getShort(java.lang.String);
- public short getShort(java.lang.String, short);
- public short[] getShortArray(java.lang.String);
- public int getSize();
- public android.util.Size getSize(java.lang.String);
- public android.util.SizeF getSizeF(java.lang.String);
- public android.util.SparseArray getSparseParcelableArray(java.lang.String);
- public java.util.ArrayList getStringArrayList(java.lang.String);
- public boolean hasFileDescriptors();
- public void putAll(android.os.Bundle);
- public void putBinder(java.lang.String, android.os.IBinder);
- public void putBundle(java.lang.String, android.os.Bundle);
- public void putByte(java.lang.String, byte);
- public void putByteArray(java.lang.String, byte[]);
- public void putChar(java.lang.String, char);
- public void putCharArray(java.lang.String, char[]);
- public void putCharSequence(java.lang.String, java.lang.CharSequence);
- public void putCharSequenceArray(java.lang.String, java.lang.CharSequence[]);
- public void putCharSequenceArrayList(java.lang.String, java.util.ArrayList);
- public void putFloat(java.lang.String, float);
- public void putFloatArray(java.lang.String, float[]);
- public void putIBinder(java.lang.String, android.os.IBinder);
- public void putIntegerArrayList(java.lang.String, java.util.ArrayList);
- public void putParcelable(java.lang.String, android.os.Parcelable);
- public void putParcelableArray(java.lang.String, android.os.Parcelable[]);
- public void putParcelableArrayList(java.lang.String, java.util.ArrayList);
- public void putParcelableList(java.lang.String, java.util.List);
- public void putSerializable(java.lang.String, java.io.Serializable);
- public void putShort(java.lang.String, short);
- public void putShortArray(java.lang.String, short[]);
- public void putSize(java.lang.String, android.util.Size);
- public void putSizeF(java.lang.String, android.util.SizeF);
- public void putSparseParcelableArray(java.lang.String, android.util.SparseArray);
- public void putStringArrayList(java.lang.String, java.util.ArrayList);
- public void readFromParcel(android.os.Parcel);
- public void remove(java.lang.String);
- public boolean setAllowFds(boolean);
- public void setClassLoader(java.lang.ClassLoader);
- public void setDefusable(boolean);
- public static android.os.Bundle setDefusable(android.os.Bundle, boolean);
- public synchronized java.lang.String toShortString();
- public synchronized java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static android.os.Bundle EMPTY;
- public static android.os.Bundle STRIPPED;
-}
-
--keep class android.os.CancellationSignal {
- <init>();
-
- public void cancel();
- public static android.os.ICancellationSignal createTransport();
- public static android.os.CancellationSignal fromTransport(android.os.ICancellationSignal);
- public boolean isCanceled();
- public void setOnCancelListener(android.os.CancellationSignal$OnCancelListener);
- public void setRemote(android.os.ICancellationSignal);
- public void throwIfCanceled();
-
-
-}
-
--keep class android.os.CancellationSignal$OnCancelListener {
-
- public abstract void onCancel();
-
-
-}
-
--keep class android.os.Debug {
-
- public static void attachJvmtiAgent(java.lang.String, java.lang.String, java.lang.ClassLoader);
- public static boolean cacheRegisterMap(java.lang.String);
- public static void changeDebugPort(int);
- public static long countInstancesOfClass(java.lang.Class);
- public static void dumpHprofData(java.lang.String);
- public static void dumpHprofData(java.lang.String, java.io.FileDescriptor);
- public static void dumpHprofDataDdms();
- public static boolean dumpJavaBacktraceToFileTimeout(int, java.lang.String, int);
- public static boolean dumpNativeBacktraceToFileTimeout(int, java.lang.String, int);
- public static void dumpNativeHeap(java.io.FileDescriptor);
- public static void dumpNativeMallocInfo(java.io.FileDescriptor);
- public static void dumpReferenceTables();
- public static boolean dumpService(java.lang.String, java.io.FileDescriptor, java.lang.String[]);
- public static void enableEmulatorTraceOutput();
- public static int getBinderDeathObjectCount();
- public static int getBinderLocalObjectCount();
- public static int getBinderProxyObjectCount();
- public static int getBinderReceivedTransactions();
- public static int getBinderSentTransactions();
- public static java.lang.String getCaller();
- public static java.lang.String getCallers(int);
- public static java.lang.String getCallers(int, int);
- public static java.lang.String getCallers(int, java.lang.String);
- public static int getGlobalAllocCount();
- public static int getGlobalAllocSize();
- public static int getGlobalClassInitCount();
- public static int getGlobalClassInitTime();
- public static int getGlobalExternalAllocCount();
- public static int getGlobalExternalAllocSize();
- public static int getGlobalExternalFreedCount();
- public static int getGlobalExternalFreedSize();
- public static int getGlobalFreedCount();
- public static int getGlobalFreedSize();
- public static int getGlobalGcInvocationCount();
- public static int getLoadedClassCount();
- public static void getMemInfo(long[]);
- public static void getMemoryInfo(android.os.Debug$MemoryInfo);
- public static void getMemoryInfo(int, android.os.Debug$MemoryInfo);
- public static int getMethodTracingMode();
- public static long getNativeHeapAllocatedSize();
- public static long getNativeHeapFreeSize();
- public static long getNativeHeapSize();
- public static long getPss();
- public static long getPss(int, long[], long[]);
- public static java.lang.String getRuntimeStat(java.lang.String);
- public static java.util.Map getRuntimeStats();
- public static int getThreadAllocCount();
- public static int getThreadAllocSize();
- public static int getThreadExternalAllocCount();
- public static int getThreadExternalAllocSize();
- public static int getThreadGcInvocationCount();
- public static java.lang.String getUnreachableMemory(int, boolean);
- public static java.lang.String[] getVmFeatureList();
- public static boolean isDebuggerConnected();
- public static void printLoadedClasses(int);
- public static void resetAllCounts();
- public static void resetGlobalAllocCount();
- public static void resetGlobalAllocSize();
- public static void resetGlobalClassInitCount();
- public static void resetGlobalClassInitTime();
- public static void resetGlobalExternalAllocCount();
- public static void resetGlobalExternalAllocSize();
- public static void resetGlobalExternalFreedCount();
- public static void resetGlobalExternalFreedSize();
- public static void resetGlobalFreedCount();
- public static void resetGlobalFreedSize();
- public static void resetGlobalGcInvocationCount();
- public static void resetThreadAllocCount();
- public static void resetThreadAllocSize();
- public static void resetThreadExternalAllocCount();
- public static void resetThreadExternalAllocSize();
- public static void resetThreadGcInvocationCount();
- public static int setAllocationLimit(int);
- public static void setFieldsOn(java.lang.Class);
- public static void setFieldsOn(java.lang.Class, boolean);
- public static int setGlobalAllocationLimit(int);
- public static void startAllocCounting();
- public static void startMethodTracing();
- public static void startMethodTracing(java.lang.String);
- public static void startMethodTracing(java.lang.String, int);
- public static void startMethodTracing(java.lang.String, int, int);
- public static void startMethodTracing(java.lang.String, java.io.FileDescriptor, int, int, boolean);
- public static void startMethodTracingDdms(int, int, boolean, int);
- public static void startMethodTracingSampling(java.lang.String, int, int);
- public static void startNativeTracing();
- public static void stopAllocCounting();
- public static void stopMethodTracing();
- public static void stopNativeTracing();
- public static long threadCpuTimeNanos();
- public static void waitForDebugger();
- public static boolean waitingForDebugger();
-
-
- public static int MEMINFO_BUFFERS;
- public static int MEMINFO_CACHED;
- public static int MEMINFO_COUNT;
- public static int MEMINFO_FREE;
- public static int MEMINFO_KERNEL_STACK;
- public static int MEMINFO_MAPPED;
- public static int MEMINFO_PAGE_TABLES;
- public static int MEMINFO_SHMEM;
- public static int MEMINFO_SLAB;
- public static int MEMINFO_SLAB_RECLAIMABLE;
- public static int MEMINFO_SLAB_UNRECLAIMABLE;
- public static int MEMINFO_SWAP_FREE;
- public static int MEMINFO_SWAP_TOTAL;
- public static int MEMINFO_TOTAL;
- public static int MEMINFO_VM_ALLOC_USED;
- public static int MEMINFO_ZRAM_TOTAL;
- public static int SHOW_CLASSLOADER;
- public static int SHOW_FULL_DETAIL;
- public static int SHOW_INITIALIZED;
- public static int TRACE_COUNT_ALLOCS;
-}
-
--keep class android.os.Debug$MemoryInfo {
- <init>();
-
- public int describeContents();
- public java.lang.String getMemoryStat(java.lang.String);
- public java.util.Map getMemoryStats();
- public static java.lang.String getOtherLabel(int);
- public int getOtherPrivate(int);
- public int getOtherPrivateClean(int);
- public int getOtherPrivateDirty(int);
- public int getOtherPss(int);
- public int getOtherRss(int);
- public int getOtherSharedClean(int);
- public int getOtherSharedDirty(int);
- public int getOtherSwappablePss(int);
- public int getOtherSwappedOut(int);
- public int getOtherSwappedOutPss(int);
- public int getSummaryCode();
- public int getSummaryGraphics();
- public int getSummaryJavaHeap();
- public int getSummaryNativeHeap();
- public int getSummaryPrivateOther();
- public int getSummaryStack();
- public int getSummarySystem();
- public int getSummaryTotalPss();
- public int getSummaryTotalSwap();
- public int getSummaryTotalSwapPss();
- public int getTotalPrivateClean();
- public int getTotalPrivateDirty();
- public int getTotalPss();
- public int getTotalRss();
- public int getTotalSharedClean();
- public int getTotalSharedDirty();
- public int getTotalSwappablePss();
- public int getTotalSwappedOut();
- public int getTotalSwappedOutPss();
- public int getTotalUss();
- public boolean hasSwappedOutPss();
- public void readFromParcel(android.os.Parcel);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int HEAP_DALVIK;
- public static int HEAP_NATIVE;
- public static int HEAP_UNKNOWN;
- public static int NUM_CATEGORIES;
- public static int NUM_DVK_STATS;
- public static int NUM_OTHER_STATS;
- public static int OFFSET_PRIVATE_CLEAN;
- public static int OFFSET_PRIVATE_DIRTY;
- public static int OFFSET_PSS;
- public static int OFFSET_RSS;
- public static int OFFSET_SHARED_CLEAN;
- public static int OFFSET_SHARED_DIRTY;
- public static int OFFSET_SWAPPABLE_PSS;
- public static int OFFSET_SWAPPED_OUT;
- public static int OFFSET_SWAPPED_OUT_PSS;
- public static int OTHER_APK;
- public static int OTHER_ART;
- public static int OTHER_ART_APP;
- public static int OTHER_ART_BOOT;
- public static int OTHER_ASHMEM;
- public static int OTHER_CURSOR;
- public static int OTHER_DALVIK_LARGE;
- public static int OTHER_DALVIK_NON_MOVING;
- public static int OTHER_DALVIK_NORMAL;
- public static int OTHER_DALVIK_OTHER;
- public static int OTHER_DALVIK_OTHER_ACCOUNTING;
- public static int OTHER_DALVIK_OTHER_CODE_CACHE;
- public static int OTHER_DALVIK_OTHER_COMPILER_METADATA;
- public static int OTHER_DALVIK_OTHER_INDIRECT_REFERENCE_TABLE;
- public static int OTHER_DALVIK_OTHER_LINEARALLOC;
- public static int OTHER_DALVIK_ZYGOTE;
- public static int OTHER_DEX;
- public static int OTHER_DEX_APP_DEX;
- public static int OTHER_DEX_APP_VDEX;
- public static int OTHER_DEX_BOOT_VDEX;
- public static int OTHER_DVK_STAT_ART_END;
- public static int OTHER_DVK_STAT_ART_START;
- public static int OTHER_DVK_STAT_DALVIK_END;
- public static int OTHER_DVK_STAT_DALVIK_OTHER_END;
- public static int OTHER_DVK_STAT_DALVIK_OTHER_START;
- public static int OTHER_DVK_STAT_DALVIK_START;
- public static int OTHER_DVK_STAT_DEX_END;
- public static int OTHER_DVK_STAT_DEX_START;
- public static int OTHER_GL;
- public static int OTHER_GL_DEV;
- public static int OTHER_GRAPHICS;
- public static int OTHER_JAR;
- public static int OTHER_OAT;
- public static int OTHER_OTHER_MEMTRACK;
- public static int OTHER_SO;
- public static int OTHER_STACK;
- public static int OTHER_TTF;
- public static int OTHER_UNKNOWN_DEV;
- public static int OTHER_UNKNOWN_MAP;
- public int dalvikPrivateClean;
- public int dalvikPrivateDirty;
- public int dalvikPss;
- public int dalvikRss;
- public int dalvikSharedClean;
- public int dalvikSharedDirty;
- public int dalvikSwappablePss;
- public int dalvikSwappedOut;
- public int dalvikSwappedOutPss;
- public boolean hasSwappedOutPss;
- public int nativePrivateClean;
- public int nativePrivateDirty;
- public int nativePss;
- public int nativeRss;
- public int nativeSharedClean;
- public int nativeSharedDirty;
- public int nativeSwappablePss;
- public int nativeSwappedOut;
- public int nativeSwappedOutPss;
- public int otherPrivateClean;
- public int otherPrivateDirty;
- public int otherPss;
- public int otherRss;
- public int otherSharedClean;
- public int otherSharedDirty;
- public int otherSwappablePss;
- public int otherSwappedOut;
- public int otherSwappedOutPss;
-}
-
--keep class android.os.Handler {
- <init>();
- <init>(android.os.Handler$Callback);
- <init>(android.os.Looper);
- <init>(android.os.Looper, android.os.Handler$Callback);
- <init>(boolean);
- <init>(android.os.Handler$Callback, boolean);
- <init>(android.os.Looper, android.os.Handler$Callback, boolean);
-
- public static android.os.Handler createAsync(android.os.Looper);
- public static android.os.Handler createAsync(android.os.Looper, android.os.Handler$Callback);
- public void dispatchMessage(android.os.Message);
- public void dump(android.util.Printer, java.lang.String);
- public void dumpMine(android.util.Printer, java.lang.String);
- public boolean executeOrSendMessage(android.os.Message);
- public android.os.Looper getLooper();
- public static android.os.Handler getMain();
- public java.lang.String getMessageName(android.os.Message);
- public java.lang.String getTraceName(android.os.Message);
- public void handleMessage(android.os.Message);
- public boolean hasCallbacks(java.lang.Runnable);
- public boolean hasMessages(int);
- public boolean hasMessages(int, java.lang.Object);
- public boolean hasMessagesOrCallbacks();
- public static android.os.Handler mainIfNull(android.os.Handler);
- public android.os.Message obtainMessage();
- public android.os.Message obtainMessage(int);
- public android.os.Message obtainMessage(int, java.lang.Object);
- public android.os.Message obtainMessage(int, int, int);
- public android.os.Message obtainMessage(int, int, int, java.lang.Object);
- public boolean post(java.lang.Runnable);
- public boolean postAtFrontOfQueue(java.lang.Runnable);
- public boolean postAtTime(java.lang.Runnable, long);
- public boolean postAtTime(java.lang.Runnable, java.lang.Object, long);
- public boolean postDelayed(java.lang.Runnable, long);
- public boolean postDelayed(java.lang.Runnable, java.lang.Object, long);
- public void removeCallbacks(java.lang.Runnable);
- public void removeCallbacks(java.lang.Runnable, java.lang.Object);
- public void removeCallbacksAndMessages(java.lang.Object);
- public void removeMessages(int);
- public void removeMessages(int, java.lang.Object);
- public boolean runWithScissors(java.lang.Runnable, long);
- public boolean sendEmptyMessage(int);
- public boolean sendEmptyMessageAtTime(int, long);
- public boolean sendEmptyMessageDelayed(int, long);
- public boolean sendMessage(android.os.Message);
- public boolean sendMessageAtFrontOfQueue(android.os.Message);
- public boolean sendMessageAtTime(android.os.Message, long);
- public boolean sendMessageDelayed(android.os.Message, long);
- public java.lang.String toString();
-
-
-}
-
--keep class android.os.Handler$Callback {
-
- public abstract boolean handleMessage(android.os.Message);
-
-
-}
-
--keep class android.os.IBinder {
-
- public abstract void dump(java.io.FileDescriptor, java.lang.String[]);
- public abstract void dumpAsync(java.io.FileDescriptor, java.lang.String[]);
- public abstract java.lang.String getInterfaceDescriptor();
- public abstract boolean isBinderAlive();
- public abstract void linkToDeath(android.os.IBinder$DeathRecipient, int);
- public abstract boolean pingBinder();
- public abstract android.os.IInterface queryLocalInterface(java.lang.String);
- public abstract void shellCommand(java.io.FileDescriptor, java.io.FileDescriptor, java.io.FileDescriptor, java.lang.String[], android.os.ShellCallback, android.os.ResultReceiver);
- public abstract boolean transact(int, android.os.Parcel, android.os.Parcel, int);
- public abstract boolean unlinkToDeath(android.os.IBinder$DeathRecipient, int);
-
-
- public static int DUMP_TRANSACTION;
- public static int FIRST_CALL_TRANSACTION;
- public static int FLAG_ONEWAY;
- public static int INTERFACE_TRANSACTION;
- public static int LAST_CALL_TRANSACTION;
- public static int LIKE_TRANSACTION;
- public static int MAX_IPC_SIZE;
- public static int PING_TRANSACTION;
- public static int SHELL_COMMAND_TRANSACTION;
- public static int SYSPROPS_TRANSACTION;
- public static int TWEET_TRANSACTION;
-}
-
--keep class android.os.IBinder$DeathRecipient {
-
- public abstract void binderDied();
-
-
-}
-
--keep class android.os.ICancellationSignal {
-
- public abstract void cancel();
-
-
-}
-
--keep class android.os.IInterface {
-
- public abstract android.os.IBinder asBinder();
-
-
-}
-
--keep class android.os.IProgressListener {
-
- public abstract void onFinished(int, android.os.Bundle);
- public abstract void onProgress(int, int, android.os.Bundle);
- public abstract void onStarted(int, android.os.Bundle);
-
-
-}
-
--keep class android.os.IRemoteCallback {
-
- public abstract void sendResult(android.os.Bundle);
-
-
-}
-
--keep class android.os.LocaleList {
- <init>(java.util.Locale[]);
- <init>(java.util.Locale, android.os.LocaleList);
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public static android.os.LocaleList forLanguageTags(java.lang.String);
- public java.util.Locale get(int);
- public static android.os.LocaleList getAdjustedDefault();
- public static android.os.LocaleList getDefault();
- public static android.os.LocaleList getEmptyLocaleList();
- public java.util.Locale getFirstMatch(java.lang.String[]);
- public int getFirstMatchIndex(java.lang.String[]);
- public int getFirstMatchIndexWithEnglishSupported(java.util.Collection);
- public int getFirstMatchIndexWithEnglishSupported(java.lang.String[]);
- public java.util.Locale getFirstMatchWithEnglishSupported(java.lang.String[]);
- public int hashCode();
- public int indexOf(java.util.Locale);
- public boolean isEmpty();
- public static boolean isPseudoLocale(java.util.Locale);
- public static boolean isPseudoLocalesOnly(java.lang.String[]);
- public static void setDefault(android.os.LocaleList);
- public static void setDefault(android.os.LocaleList, int);
- public int size();
- public java.lang.String toLanguageTags();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.os.Looper {
-
- public void dump(android.util.Printer, java.lang.String);
- public void dump(android.util.Printer, java.lang.String, android.os.Handler);
- public static android.os.Looper getMainLooper();
- public android.os.MessageQueue getQueue();
- public java.lang.Thread getThread();
- public boolean isCurrentThread();
- public static void loop();
- public static android.os.Looper myLooper();
- public static android.os.MessageQueue myQueue();
- public static void prepare();
- public static void prepareMainLooper();
- public void quit();
- public void quitSafely();
- public void setMessageLogging(android.util.Printer);
- public void setSlowLogThresholdMs(long, long);
- public void setTraceTag(long);
- public java.lang.String toString();
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
-}
-
--keep class android.os.Message {
- <init>();
-
- public void copyFrom(android.os.Message);
- public int describeContents();
- public java.lang.Runnable getCallback();
- public android.os.Bundle getData();
- public android.os.Handler getTarget();
- public long getWhen();
- public boolean isAsynchronous();
- public static android.os.Message obtain();
- public static android.os.Message obtain(android.os.Message);
- public static android.os.Message obtain(android.os.Handler);
- public static android.os.Message obtain(android.os.Handler, java.lang.Runnable);
- public static android.os.Message obtain(android.os.Handler, int);
- public static android.os.Message obtain(android.os.Handler, int, java.lang.Object);
- public static android.os.Message obtain(android.os.Handler, int, int, int);
- public static android.os.Message obtain(android.os.Handler, int, int, int, java.lang.Object);
- public android.os.Bundle peekData();
- public void recycle();
- public void sendToTarget();
- public void setAsynchronous(boolean);
- public android.os.Message setCallback(java.lang.Runnable);
- public void setData(android.os.Bundle);
- public void setTarget(android.os.Handler);
- public android.os.Message setWhat(int);
- public java.lang.String toString();
- public static void updateCheckRecycle(int);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public int arg1;
- public int arg2;
- public java.lang.Object obj;
- public android.os.Messenger replyTo;
- public static java.lang.Object sPoolSync;
- public int sendingUid;
- public int what;
-}
-
--keep class android.os.MessageQueue {
-
- public void addIdleHandler(android.os.MessageQueue$IdleHandler);
- public void addOnFileDescriptorEventListener(java.io.FileDescriptor, int, android.os.MessageQueue$OnFileDescriptorEventListener);
- protected void finalize();
- public boolean isIdle();
- public boolean isPolling();
- public int postSyncBarrier();
- public void removeIdleHandler(android.os.MessageQueue$IdleHandler);
- public void removeOnFileDescriptorEventListener(java.io.FileDescriptor);
- public void removeSyncBarrier(int);
-
-
-}
-
--keep class android.os.MessageQueue$IdleHandler {
-
- public abstract boolean queueIdle();
-
-
-}
-
--keep class android.os.MessageQueue$OnFileDescriptorEventListener {
-
- public abstract int onFileDescriptorEvents(java.io.FileDescriptor, int);
-
-
- public static int EVENT_ERROR;
- public static int EVENT_INPUT;
- public static int EVENT_OUTPUT;
-}
-
--keep class android.os.Messenger {
- <init>(android.os.Handler);
- <init>(android.os.IBinder);
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public android.os.IBinder getBinder();
- public int hashCode();
- public static android.os.Messenger readMessengerOrNullFromParcel(android.os.Parcel);
- public void send(android.os.Message);
- public static void writeMessengerOrNullToParcel(android.os.Messenger, android.os.Parcel);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.os.Parcel {
-
- public void adoptClassCookies(android.os.Parcel);
- public void appendFrom(android.os.Parcel, int, int);
- public int compareData(android.os.Parcel);
- public java.util.Map copyClassCookies();
- public android.os.IBinder[] createBinderArray();
- public java.util.ArrayList createBinderArrayList();
- public boolean[] createBooleanArray();
- public byte[] createByteArray();
- public char[] createCharArray();
- public double[] createDoubleArray();
- public float[] createFloatArray();
- public int[] createIntArray();
- public long[] createLongArray();
- public java.io.FileDescriptor[] createRawFileDescriptorArray();
- public java.lang.String[] createStringArray();
- public java.util.ArrayList createStringArrayList();
- public java.lang.Object[] createTypedArray(android.os.Parcelable$Creator);
- public java.util.ArrayList createTypedArrayList(android.os.Parcelable$Creator);
- public int dataAvail();
- public int dataCapacity();
- public int dataPosition();
- public int dataSize();
- public void enforceInterface(java.lang.String);
- protected void finalize();
- public long getBlobAshmemSize();
- public java.lang.Object getClassCookie(java.lang.Class);
- public static long getGlobalAllocCount();
- public static long getGlobalAllocSize();
- public boolean hasFileDescriptors();
- public boolean hasReadWriteHelper();
- public byte[] marshall();
- public static android.os.Parcel obtain();
- protected static android.os.Parcel obtain(int);
- protected static android.os.Parcel obtain(long);
- public boolean pushAllowFds(boolean);
- public void putClassCookies(java.util.Map);
- public java.lang.Object[] readArray(java.lang.ClassLoader);
- public java.util.ArrayList readArrayList(java.lang.ClassLoader);
- public void readArrayMap(android.util.ArrayMap, java.lang.ClassLoader);
- public android.util.ArraySet readArraySet(java.lang.ClassLoader);
- public void readBinderArray(android.os.IBinder[]);
- public void readBinderList(java.util.List);
- public byte[] readBlob();
- public boolean readBoolean();
- public void readBooleanArray(boolean[]);
- public android.os.Bundle readBundle();
- public android.os.Bundle readBundle(java.lang.ClassLoader);
- public byte readByte();
- public void readByteArray(byte[]);
- public void readCharArray(char[]);
- public java.lang.CharSequence readCharSequence();
- public java.lang.CharSequence[] readCharSequenceArray();
- public java.util.ArrayList readCharSequenceList();
- public android.os.Parcelable readCreator(android.os.Parcelable$Creator, java.lang.ClassLoader);
- public double readDouble();
- public void readDoubleArray(double[]);
- public void readException();
- public void readException(int, java.lang.String);
- public int readExceptionCode();
- public android.os.ParcelFileDescriptor readFileDescriptor();
- public float readFloat();
- public void readFloatArray(float[]);
- public java.util.HashMap readHashMap(java.lang.ClassLoader);
- public int readInt();
- public void readIntArray(int[]);
- public void readList(java.util.List, java.lang.ClassLoader);
- public long readLong();
- public void readLongArray(long[]);
- public void readMap(java.util.Map, java.lang.ClassLoader);
- public android.os.Parcelable readParcelable(java.lang.ClassLoader);
- public android.os.Parcelable[] readParcelableArray(java.lang.ClassLoader);
- public android.os.Parcelable[] readParcelableArray(java.lang.ClassLoader, java.lang.Class);
- public android.os.Parcelable$Creator readParcelableCreator(java.lang.ClassLoader);
- public java.util.List readParcelableList(java.util.List, java.lang.ClassLoader);
- public android.os.PersistableBundle readPersistableBundle();
- public android.os.PersistableBundle readPersistableBundle(java.lang.ClassLoader);
- public java.io.FileDescriptor readRawFileDescriptor();
- public void readRawFileDescriptorArray(java.io.FileDescriptor[]);
- public java.io.Serializable readSerializable();
- public android.util.Size readSize();
- public android.util.SizeF readSizeF();
- public android.util.SparseArray readSparseArray(java.lang.ClassLoader);
- public android.util.SparseBooleanArray readSparseBooleanArray();
- public android.util.SparseIntArray readSparseIntArray();
- public java.lang.String readString();
- public void readStringArray(java.lang.String[]);
- public java.lang.String[] readStringArray();
- public void readStringList(java.util.List);
- public java.lang.String readStringNoHelper();
- public android.os.IBinder readStrongBinder();
- public void readTypedArray(java.lang.Object[], android.os.Parcelable$Creator);
- public java.lang.Object[] readTypedArray(android.os.Parcelable$Creator);
- public void readTypedList(java.util.List, android.os.Parcelable$Creator);
- public java.lang.Object readTypedObject(android.os.Parcelable$Creator);
- public java.lang.Object readValue(java.lang.ClassLoader);
- public void recycle();
- public void restoreAllowFds(boolean);
- public void setClassCookie(java.lang.Class, java.lang.Object);
- public void setDataCapacity(int);
- public void setDataPosition(int);
- public void setDataSize(int);
- public void setReadWriteHelper(android.os.Parcel$ReadWriteHelper);
- public static void setStackTraceParceling(boolean);
- public void unmarshall(byte[], int, int);
- public void writeArray(java.lang.Object[]);
- public void writeArrayMap(android.util.ArrayMap);
- public void writeArraySet(android.util.ArraySet);
- public void writeBinderArray(android.os.IBinder[]);
- public void writeBinderList(java.util.List);
- public void writeBlob(byte[]);
- public void writeBlob(byte[], int, int);
- public void writeBoolean(boolean);
- public void writeBooleanArray(boolean[]);
- public void writeBundle(android.os.Bundle);
- public void writeByte(byte);
- public void writeByteArray(byte[]);
- public void writeByteArray(byte[], int, int);
- public void writeCharArray(char[]);
- public void writeCharSequence(java.lang.CharSequence);
- public void writeCharSequenceArray(java.lang.CharSequence[]);
- public void writeCharSequenceList(java.util.ArrayList);
- public void writeDouble(double);
- public void writeDoubleArray(double[]);
- public void writeException(java.lang.Exception);
- public void writeFileDescriptor(java.io.FileDescriptor);
- public void writeFloat(float);
- public void writeFloatArray(float[]);
- public void writeInt(int);
- public void writeIntArray(int[]);
- public void writeInterfaceToken(java.lang.String);
- public void writeList(java.util.List);
- public void writeLong(long);
- public void writeLongArray(long[]);
- public void writeMap(java.util.Map);
- public void writeNoException();
- public void writeParcelable(android.os.Parcelable, int);
- public void writeParcelableArray(android.os.Parcelable[], int);
- public void writeParcelableCreator(android.os.Parcelable);
- public void writeParcelableList(java.util.List, int);
- public void writePersistableBundle(android.os.PersistableBundle);
- public void writeRawFileDescriptor(java.io.FileDescriptor);
- public void writeRawFileDescriptorArray(java.io.FileDescriptor[]);
- public void writeSerializable(java.io.Serializable);
- public void writeSize(android.util.Size);
- public void writeSizeF(android.util.SizeF);
- public void writeSparseArray(android.util.SparseArray);
- public void writeSparseBooleanArray(android.util.SparseBooleanArray);
- public void writeSparseIntArray(android.util.SparseIntArray);
- public void writeString(java.lang.String);
- public void writeStringArray(java.lang.String[]);
- public void writeStringList(java.util.List);
- public void writeStringNoHelper(java.lang.String);
- public void writeStrongBinder(android.os.IBinder);
- public void writeStrongInterface(android.os.IInterface);
- public void writeTypedArray(android.os.Parcelable[], int);
- public void writeTypedList(java.util.List);
- public void writeTypedList(java.util.List, int);
- public void writeTypedObject(android.os.Parcelable, int);
- public void writeValue(java.lang.Object);
-
-
- public static android.os.Parcelable$Creator STRING_CREATOR;
-}
-
--keep class android.os.Parcel$ReadWriteHelper {
- <init>();
-
- public java.lang.String readString(android.os.Parcel);
- public void writeString(android.os.Parcel, java.lang.String);
-
-
- public static android.os.Parcel$ReadWriteHelper DEFAULT;
-}
-
--keep class android.os.ParcelFileDescriptor {
- <init>(android.os.ParcelFileDescriptor);
- <init>(java.io.FileDescriptor);
- <init>(java.io.FileDescriptor, java.io.FileDescriptor);
-
- public static android.os.ParcelFileDescriptor adoptFd(int);
- public boolean canDetectErrors();
- public void checkError();
- public void close();
- public void closeWithError(java.lang.String);
- public static android.os.ParcelFileDescriptor[] createPipe();
- public static android.os.ParcelFileDescriptor[] createReliablePipe();
- public static android.os.ParcelFileDescriptor[] createReliableSocketPair();
- public static android.os.ParcelFileDescriptor[] createReliableSocketPair(int);
- public static android.os.ParcelFileDescriptor[] createSocketPair();
- public static android.os.ParcelFileDescriptor[] createSocketPair(int);
- public int describeContents();
- public int detachFd();
- public static android.os.ParcelFileDescriptor dup(java.io.FileDescriptor);
- public android.os.ParcelFileDescriptor dup();
- protected void finalize();
- public static android.os.ParcelFileDescriptor fromData(byte[], java.lang.String);
- public static android.os.ParcelFileDescriptor fromDatagramSocket(java.net.DatagramSocket);
- public static android.os.ParcelFileDescriptor fromFd(java.io.FileDescriptor, android.os.Handler, android.os.ParcelFileDescriptor$OnCloseListener);
- public static android.os.ParcelFileDescriptor fromFd(int);
- public static android.os.ParcelFileDescriptor fromSocket(java.net.Socket);
- public int getFd();
- public static java.io.File getFile(java.io.FileDescriptor);
- public java.io.FileDescriptor getFileDescriptor();
- public long getStatSize();
- public static android.os.ParcelFileDescriptor open(java.io.File, int);
- public static android.os.ParcelFileDescriptor open(java.io.File, int, android.os.Handler, android.os.ParcelFileDescriptor$OnCloseListener);
- public static int parseMode(java.lang.String);
- public void releaseResources();
- public long seekTo(long);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int MODE_APPEND;
- public static int MODE_CREATE;
- public static int MODE_READ_ONLY;
- public static int MODE_READ_WRITE;
- public static int MODE_TRUNCATE;
- public static int MODE_WORLD_READABLE;
- public static int MODE_WORLD_WRITEABLE;
- public static int MODE_WRITE_ONLY;
-}
-
--keep class android.os.ParcelFileDescriptor$OnCloseListener {
-
- public abstract void onClose(java.io.IOException);
-
-
-}
-
--keep class android.os.Parcelable {
-
- public abstract int describeContents();
- public abstract void writeToParcel(android.os.Parcel, int);
-
-
- public static int CONTENTS_FILE_DESCRIPTOR;
- public static int PARCELABLE_ELIDE_DUPLICATES;
- public static int PARCELABLE_WRITE_RETURN_VALUE;
-}
-
--keep class android.os.Parcelable$ClassLoaderCreator {
-
- public abstract java.lang.Object createFromParcel(android.os.Parcel, java.lang.ClassLoader);
-
-
-}
-
--keep class android.os.Parcelable$Creator {
-
- public abstract java.lang.Object createFromParcel(android.os.Parcel);
- public abstract java.lang.Object[] newArray(int);
-
-
-}
-
--keep class android.os.PatternMatcher {
- <init>(java.lang.String, int);
- <init>(android.os.Parcel);
-
- public int describeContents();
- public java.lang.String getPath();
- public int getType();
- public boolean match(java.lang.String);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int PATTERN_ADVANCED_GLOB;
- public static int PATTERN_LITERAL;
- public static int PATTERN_PREFIX;
- public static int PATTERN_SIMPLE_GLOB;
-}
-
--keep class android.os.PersistableBundle {
- <init>();
- <init>(int);
- <init>(android.os.PersistableBundle);
- <init>(android.os.Bundle);
-
- public java.lang.Object clone();
- public android.os.PersistableBundle deepCopy();
- public int describeContents();
- public static android.os.PersistableBundle forPair(java.lang.String, java.lang.String);
- public android.os.PersistableBundle getPersistableBundle(java.lang.String);
- public static boolean isValidType(java.lang.Object);
- public void putPersistableBundle(java.lang.String, android.os.PersistableBundle);
- public static android.os.PersistableBundle restoreFromXml(org.xmlpull.v1.XmlPullParser);
- public void saveToXml(org.xmlpull.v1.XmlSerializer);
- public synchronized java.lang.String toShortString();
- public synchronized java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
- public void writeUnknownObject(java.lang.Object, java.lang.String, org.xmlpull.v1.XmlSerializer);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static android.os.PersistableBundle EMPTY;
-}
-
--keep class android.os.RemoteException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable, boolean, boolean);
-
- public java.lang.RuntimeException rethrowAsRuntimeException();
- public java.lang.RuntimeException rethrowFromSystemServer();
-
-
-}
-
--keep class android.os.ResultReceiver {
- <init>(android.os.Handler);
-
- public int describeContents();
- protected void onReceiveResult(int, android.os.Bundle);
- public void send(int, android.os.Bundle);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.os.ShellCallback {
- <init>();
-
- public int describeContents();
- public android.os.ParcelFileDescriptor onOpenFile(java.lang.String, java.lang.String, java.lang.String);
- public android.os.ParcelFileDescriptor openFile(java.lang.String, java.lang.String, java.lang.String);
- public static void writeToParcel(android.os.ShellCallback, android.os.Parcel);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.os.ShellCommand {
- <init>();
-
- public android.os.ResultReceiver adoptResultReceiver();
- public int exec(android.os.Binder, java.io.FileDescriptor, java.io.FileDescriptor, java.io.FileDescriptor, java.lang.String[], android.os.ShellCallback, android.os.ResultReceiver);
- public java.io.InputStream getBufferedInputStream();
- public java.io.FileDescriptor getErrFileDescriptor();
- public java.io.PrintWriter getErrPrintWriter();
- public java.io.FileDescriptor getInFileDescriptor();
- public java.lang.String getNextArg();
- public java.lang.String getNextArgRequired();
- public java.lang.String getNextOption();
- public java.io.FileDescriptor getOutFileDescriptor();
- public java.io.PrintWriter getOutPrintWriter();
- public java.io.OutputStream getRawErrorStream();
- public java.io.InputStream getRawInputStream();
- public java.io.OutputStream getRawOutputStream();
- public android.os.ShellCallback getShellCallback();
- public int handleDefaultCommands(java.lang.String);
- public void init(android.os.Binder, java.io.FileDescriptor, java.io.FileDescriptor, java.io.FileDescriptor, java.lang.String[], android.os.ShellCallback, int);
- public abstract int onCommand(java.lang.String);
- public abstract void onHelp();
- public android.os.ParcelFileDescriptor openFileForSystem(java.lang.String, java.lang.String);
- public java.lang.String peekNextArg();
-
-
-}
-
--keep class android.os.StrictMode {
-
- public static android.os.StrictMode$ThreadPolicy allowThreadDiskReads();
- public static int allowThreadDiskReadsMask();
- public static android.os.StrictMode$ThreadPolicy allowThreadDiskWrites();
- public static int allowThreadDiskWritesMask();
- public static void conditionallyCheckInstanceCounts();
- public static void decrementExpectedActivityCount(java.lang.Class);
- public static void disableDeathOnFileUriExposure();
- public static void enableDeathOnFileUriExposure();
- public static void enableDefaults();
- public static android.os.StrictMode$Span enterCriticalSpan(java.lang.String);
- public static android.os.StrictMode$ThreadPolicy getThreadPolicy();
- public static int getThreadPolicyMask();
- public static android.os.StrictMode$VmPolicy getVmPolicy();
- public static void incrementExpectedActivityCount(java.lang.Class);
- public static void initThreadDefaults(android.content.pm.ApplicationInfo);
- public static void initVmDefaults(android.content.pm.ApplicationInfo);
- public static boolean isBundledSystemApp(android.content.pm.ApplicationInfo);
- public static void noteDiskRead();
- public static void noteDiskWrite();
- public static void noteResourceMismatch(java.lang.Object);
- public static void noteSlowCall(java.lang.String);
- public static void noteUnbufferedIO();
- public static void onCleartextNetworkDetected(byte[]);
- public static void onContentUriWithoutPermission(android.net.Uri, java.lang.String);
- public static void onFileUriExposed(android.net.Uri, java.lang.String);
- public static void onIntentReceiverLeaked(java.lang.Throwable);
- public static void onServiceConnectionLeaked(java.lang.Throwable);
- public static void onSqliteObjectLeaked(java.lang.String, java.lang.Throwable);
- public static void onUntaggedSocket();
- public static void onVmPolicyViolation(android.os.strictmode.Violation);
- public static void onVmPolicyViolation(android.os.strictmode.Violation, boolean);
- public static void onWebViewMethodCalledOnWrongThread(java.lang.Throwable);
- public static void setThreadPolicy(android.os.StrictMode$ThreadPolicy);
- public static void setThreadPolicyMask(int);
- public static void setViolationLogger(android.os.StrictMode$ViolationLogger);
- public static void setVmPolicy(android.os.StrictMode$VmPolicy);
- public static java.lang.Object trackActivity(java.lang.Object);
- public static boolean vmCleartextNetworkEnabled();
- public static boolean vmClosableObjectLeaksEnabled();
- public static boolean vmContentUriWithoutPermissionEnabled();
- public static boolean vmFileUriExposureEnabled();
- public static boolean vmRegistrationLeaksEnabled();
- public static boolean vmSqliteObjectLeaksEnabled();
- public static boolean vmUntaggedSocketEnabled();
-
-
- public static java.lang.String CLEARTEXT_DETECTED_MSG;
- public static int DETECT_CUSTOM;
- public static int DETECT_DISK_READ;
- public static int DETECT_DISK_WRITE;
- public static int DETECT_NETWORK;
- public static int DETECT_RESOURCE_MISMATCH;
- public static int DETECT_UNBUFFERED_IO;
- public static int DETECT_VM_ACTIVITY_LEAKS;
- public static int DETECT_VM_CLEARTEXT_NETWORK;
- public static int DETECT_VM_CLOSABLE_LEAKS;
- public static int DETECT_VM_CONTENT_URI_WITHOUT_PERMISSION;
- public static int DETECT_VM_CURSOR_LEAKS;
- public static int DETECT_VM_FILE_URI_EXPOSURE;
- public static int DETECT_VM_INSTANCE_LEAKS;
- public static int DETECT_VM_NON_SDK_API_USAGE;
- public static int DETECT_VM_REGISTRATION_LEAKS;
- public static int DETECT_VM_UNTAGGED_SOCKET;
- public static java.lang.String DISABLE_PROPERTY;
- public static int NETWORK_POLICY_ACCEPT;
- public static int NETWORK_POLICY_LOG;
- public static int NETWORK_POLICY_REJECT;
- public static int PENALTY_DEATH;
- public static int PENALTY_DEATH_ON_CLEARTEXT_NETWORK;
- public static int PENALTY_DEATH_ON_FILE_URI_EXPOSURE;
- public static int PENALTY_DEATH_ON_NETWORK;
- public static int PENALTY_DIALOG;
- public static int PENALTY_DROPBOX;
- public static int PENALTY_FLASH;
- public static int PENALTY_GATHER;
- public static int PENALTY_LOG;
- public static java.lang.String VISUAL_PROPERTY;
-}
-
--keep class android.os.StrictMode$Span {
- <init>();
-
- public void finish();
-
-
-}
-
--keep class android.os.StrictMode$ThreadPolicy {
-
- public java.lang.String toString();
-
-
- public static android.os.StrictMode$ThreadPolicy LAX;
-}
-
--keep class android.os.StrictMode$ViolationInfo {
- <init>(android.os.Parcel);
- <init>(android.os.Parcel, boolean);
-
- public int describeContents();
- public void dump(android.util.Printer, java.lang.String);
- public int getPolicyMask();
- public java.lang.String getStackTrace();
- public int getViolationBit();
- public java.lang.String getViolationDetails();
- public int hashCode();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public java.lang.String broadcastIntentAction;
- public int durationMillis;
- public int numAnimationsRunning;
- public long numInstances;
- public java.lang.String[] tags;
- public int violationNumThisLoop;
- public long violationUptimeMillis;
-}
-
--keep class android.os.StrictMode$ViolationLogger {
-
- public abstract void log(android.os.StrictMode$ViolationInfo);
-
-
-}
-
--keep class android.os.StrictMode$VmPolicy {
-
- public java.lang.String toString();
-
-
- public static android.os.StrictMode$VmPolicy LAX;
-}
-
--keep class android.os.TestLooperManager {
- <init>(android.os.Looper);
-
- public void execute(android.os.Message);
- public android.os.MessageQueue getMessageQueue();
- public android.os.MessageQueue getQueue();
- public boolean hasMessages(android.os.Handler, java.lang.Object, int);
- public boolean hasMessages(android.os.Handler, java.lang.Object, java.lang.Runnable);
- public android.os.Message next();
- public void recycle(android.os.Message);
- public void release();
-
-
-}
-
--keep class android.os.TransactionTracker {
-
- public void addTrace(java.lang.Throwable);
- public void clearTraces();
- public void writeTracesToFile(android.os.ParcelFileDescriptor);
-
-
-}
-
--keep class android.os.UserHandle {
- <init>(int);
- <init>(android.os.Parcel);
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public static void formatUid(java.lang.StringBuilder, int);
- public static java.lang.String formatUid(int);
- public static void formatUid(java.io.PrintWriter, int);
- public static int getAppId(int);
- public static int getAppIdFromSharedAppGid(int);
- public static int getCacheAppGid(int);
- public static int getCacheAppGid(int, int);
- public static int getCallingAppId();
- public static int getCallingUserId();
- public int getIdentifier();
- public static int getSharedAppGid(int);
- public static int getSharedAppGid(int, int);
- public static int getUid(int, int);
- public static int getUserGid(int);
- public static android.os.UserHandle getUserHandleForUid(int);
- public static int getUserId(int);
- public int hashCode();
- public static boolean isApp(int);
- public static boolean isCore(int);
- public static boolean isIsolated(int);
- public boolean isOwner();
- public static boolean isSameApp(int, int);
- public static boolean isSameUser(int, int);
- public boolean isSystem();
- public static int myUserId();
- public static android.os.UserHandle of(int);
- public static int parseUserArg(java.lang.String);
- public static android.os.UserHandle readFromParcel(android.os.Parcel);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
- public static void writeToParcel(android.os.UserHandle, android.os.Parcel);
-
-
- public static int AID_APP_END;
- public static int AID_APP_START;
- public static int AID_CACHE_GID_START;
- public static int AID_ROOT;
- public static int AID_SHARED_GID_START;
- public static android.os.UserHandle ALL;
- public static android.os.Parcelable$Creator CREATOR;
- public static android.os.UserHandle CURRENT;
- public static android.os.UserHandle CURRENT_OR_SELF;
- public static int ERR_GID;
- public static boolean MU_ENABLED;
- public static android.os.UserHandle OWNER;
- public static int PER_USER_RANGE;
- public static android.os.UserHandle SYSTEM;
- public static int USER_ALL;
- public static int USER_CURRENT;
- public static int USER_CURRENT_OR_SELF;
- public static int USER_NULL;
- public static int USER_OWNER;
- public static int USER_SERIAL_SYSTEM;
- public static int USER_SYSTEM;
-}
-
--keep class android.os.VibrationEffect {
- <init>();
-
- public static android.os.VibrationEffect createOneShot(long, int);
- public static android.os.VibrationEffect createWaveform(long[], int);
- public static android.os.VibrationEffect createWaveform(long[], int[], int);
- public int describeContents();
- public static android.os.VibrationEffect get(int);
- public static android.os.VibrationEffect get(int, boolean);
- public static android.os.VibrationEffect get(android.net.Uri, android.content.Context);
- public abstract long getDuration();
- protected static int scale(int, float, int);
- public abstract void validate();
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int DEFAULT_AMPLITUDE;
- public static int EFFECT_CLICK;
- public static int EFFECT_DOUBLE_CLICK;
- public static int EFFECT_HEAVY_CLICK;
- public static int EFFECT_POP;
- public static int EFFECT_THUD;
- public static int EFFECT_TICK;
- public static int MAX_AMPLITUDE;
- public static int[] RINGTONES;
-}
-
--keep class android.os.Vibrator {
- <init>();
- <init>(android.content.Context);
-
- public abstract void cancel();
- public int getDefaultHapticFeedbackIntensity();
- public int getDefaultNotificationVibrationIntensity();
- public abstract boolean hasAmplitudeControl();
- public abstract boolean hasVibrator();
- public void vibrate(long);
- public void vibrate(long, android.media.AudioAttributes);
- public void vibrate(long[], int);
- public void vibrate(long[], int, android.media.AudioAttributes);
- public void vibrate(android.os.VibrationEffect);
- public void vibrate(android.os.VibrationEffect, android.media.AudioAttributes);
- public abstract void vibrate(int, java.lang.String, android.os.VibrationEffect, android.media.AudioAttributes);
-
-
- public static int VIBRATION_INTENSITY_HIGH;
- public static int VIBRATION_INTENSITY_LOW;
- public static int VIBRATION_INTENSITY_MEDIUM;
- public static int VIBRATION_INTENSITY_OFF;
-}
-
--keep class android.os.WorkSource {
- <init>();
- <init>(android.os.WorkSource);
- <init>(int);
- <init>(int, java.lang.String);
-
- public boolean add(android.os.WorkSource);
- public boolean add(int);
- public boolean add(int, java.lang.String);
- public android.os.WorkSource addReturningNewbs(android.os.WorkSource);
- public void clear();
- public void clearNames();
- public android.os.WorkSource$WorkChain createWorkChain();
- public int describeContents();
- public boolean diff(android.os.WorkSource);
- public static java.util.ArrayList[] diffChains(android.os.WorkSource, android.os.WorkSource);
- public boolean equals(java.lang.Object);
- public int get(int);
- public java.lang.String getName(int);
- public java.util.ArrayList getWorkChains();
- public int hashCode();
- public static boolean isChainedBatteryAttributionEnabled(android.content.Context);
- public boolean isEmpty();
- public boolean remove(android.os.WorkSource);
- public void set(android.os.WorkSource);
- public void set(int);
- public void set(int, java.lang.String);
- public android.os.WorkSource[] setReturningDiffs(android.os.WorkSource);
- public int size();
- public java.lang.String toString();
- public void transferWorkChains(android.os.WorkSource);
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.os.WorkSource$WorkChain {
- <init>();
- <init>(android.os.WorkSource$WorkChain);
-
- public android.os.WorkSource$WorkChain addNode(int, java.lang.String);
- public int describeContents();
- public boolean equals(java.lang.Object);
- public java.lang.String getAttributionTag();
- public int getAttributionUid();
- public int getSize();
- public java.lang.String[] getTags();
- public int[] getUids();
- public int hashCode();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.os.storage.DiskInfo {
- <init>(java.lang.String, int);
- <init>(android.os.Parcel);
-
- public android.os.storage.DiskInfo clone();
- public java.lang.Object clone();
- public int describeContents();
- public void dump(com.android.internal.util.IndentingPrintWriter);
- public boolean equals(java.lang.Object);
- public java.lang.String getDescription();
- public java.lang.String getId();
- public java.lang.String getShortDescription();
- public int hashCode();
- public boolean isAdoptable();
- public boolean isDefaultPrimary();
- public boolean isSd();
- public boolean isUsb();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static java.lang.String ACTION_DISK_SCANNED;
- public static android.os.Parcelable$Creator CREATOR;
- public static java.lang.String EXTRA_DISK_ID;
- public static java.lang.String EXTRA_VOLUME_COUNT;
- public static int FLAG_ADOPTABLE;
- public static int FLAG_DEFAULT_PRIMARY;
- public static int FLAG_SD;
- public static int FLAG_USB;
- public int flags;
- public java.lang.String id;
- public java.lang.String label;
- public long size;
- public java.lang.String sysPath;
- public int volumeCount;
-}
-
--keep class android.os.storage.StorageVolume {
- <init>(java.lang.String, java.io.File, java.io.File, java.lang.String, boolean, boolean, boolean, boolean, long, android.os.UserHandle, java.lang.String, java.lang.String);
-
- public boolean allowMassStorage();
- public android.content.Intent createAccessIntent(java.lang.String);
- public int describeContents();
- public java.lang.String dump();
- public void dump(com.android.internal.util.IndentingPrintWriter);
- public boolean equals(java.lang.Object);
- public java.lang.String getDescription(android.content.Context);
- public int getFatVolumeId();
- public java.lang.String getId();
- public java.lang.String getInternalPath();
- public long getMaxFileSize();
- public android.os.UserHandle getOwner();
- public java.lang.String getPath();
- public java.io.File getPathFile();
- public java.lang.String getState();
- public java.lang.String getUserLabel();
- public java.lang.String getUuid();
- public int hashCode();
- public boolean isEmulated();
- public boolean isPrimary();
- public boolean isRemovable();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static java.lang.String EXTRA_DIRECTORY_NAME;
- public static java.lang.String EXTRA_STORAGE_VOLUME;
- public static int STORAGE_ID_INVALID;
- public static int STORAGE_ID_PRIMARY;
-}
-
--keep class android.os.storage.VolumeInfo {
- <init>(java.lang.String, int, android.os.storage.DiskInfo, java.lang.String);
- <init>(android.os.Parcel);
-
- public android.content.Intent buildBrowseIntent();
- public android.content.Intent buildBrowseIntentForUser(int);
- public static int buildStableMtpStorageId(java.lang.String);
- public android.os.storage.StorageVolume buildStorageVolume(android.content.Context, int, boolean);
- public android.os.storage.VolumeInfo clone();
- public java.lang.Object clone();
- public int describeContents();
- public void dump(com.android.internal.util.IndentingPrintWriter);
- public boolean equals(java.lang.Object);
- public static java.lang.String getBroadcastForEnvironment(java.lang.String);
- public static java.lang.String getBroadcastForState(int);
- public java.lang.String getDescription();
- public static java.util.Comparator getDescriptionComparator();
- public android.os.storage.DiskInfo getDisk();
- public java.lang.String getDiskId();
- public static java.lang.String getEnvironmentForState(int);
- public java.lang.String getFsUuid();
- public java.lang.String getId();
- public java.io.File getInternalPath();
- public java.io.File getInternalPathForUser(int);
- public int getMountUserId();
- public java.io.File getPath();
- public java.io.File getPathForUser(int);
- public int getState();
- public int getStateDescription();
- public int getType();
- public int hashCode();
- public boolean isMountedReadable();
- public boolean isMountedWritable();
- public boolean isPrimary();
- public boolean isPrimaryPhysical();
- public boolean isVisible();
- public boolean isVisibleForRead(int);
- public boolean isVisibleForUser(int);
- public boolean isVisibleForWrite(int);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static java.lang.String ACTION_VOLUME_STATE_CHANGED;
- public static android.os.Parcelable$Creator CREATOR;
- public static java.lang.String EXTRA_VOLUME_ID;
- public static java.lang.String EXTRA_VOLUME_STATE;
- public static java.lang.String ID_EMULATED_INTERNAL;
- public static java.lang.String ID_PRIVATE_INTERNAL;
- public static int MOUNT_FLAG_PRIMARY;
- public static int MOUNT_FLAG_VISIBLE;
- public static int STATE_BAD_REMOVAL;
- public static int STATE_CHECKING;
- public static int STATE_EJECTING;
- public static int STATE_FORMATTING;
- public static int STATE_MOUNTED;
- public static int STATE_MOUNTED_READ_ONLY;
- public static int STATE_REMOVED;
- public static int STATE_UNMOUNTABLE;
- public static int STATE_UNMOUNTED;
- public static int TYPE_ASEC;
- public static int TYPE_EMULATED;
- public static int TYPE_OBB;
- public static int TYPE_PRIVATE;
- public static int TYPE_PUBLIC;
- public android.os.storage.DiskInfo disk;
- public java.lang.String fsLabel;
- public java.lang.String fsType;
- public java.lang.String fsUuid;
- public java.lang.String id;
- public java.lang.String internalPath;
- public int mountFlags;
- public int mountUserId;
- public java.lang.String partGuid;
- public java.lang.String path;
- public int state;
- public int type;
-}
-
--keep class android.os.strictmode.Violation {
-
-
-
-}
-
--keep class android.service.autofill.FieldClassification {
- <init>(java.util.ArrayList);
-
- public java.util.List getMatches();
- public java.lang.String toString();
-
-
-}
-
--keep class android.service.autofill.FieldClassification$Match {
- <init>(java.lang.String, float);
-
- public java.lang.String getCategoryId();
- public float getScore();
- public java.lang.String toString();
-
-
-}
-
--keep class android.service.autofill.FillEventHistory {
- <init>(int, android.os.Bundle);
-
- public void addEvent(android.service.autofill.FillEventHistory$Event);
- public int describeContents();
- public android.os.Bundle getClientState();
- public java.util.List getEvents();
- public int getSessionId();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.service.autofill.FillEventHistory$Event {
- <init>(int, java.lang.String, android.os.Bundle, java.util.List, android.util.ArraySet, java.util.ArrayList, java.util.ArrayList, java.util.ArrayList, java.util.ArrayList, android.view.autofill.AutofillId[], android.service.autofill.FieldClassification[]);
-
- public java.util.Map getChangedFields();
- public android.os.Bundle getClientState();
- public java.lang.String getDatasetId();
- public java.util.Map getFieldsClassification();
- public java.util.Set getIgnoredDatasetIds();
- public java.util.Map getManuallyEnteredField();
- public java.util.Set getSelectedDatasetIds();
- public int getType();
- public java.lang.String toString();
-
-
- public static int TYPE_AUTHENTICATION_SELECTED;
- public static int TYPE_CONTEXT_COMMITTED;
- public static int TYPE_DATASET_AUTHENTICATION_SELECTED;
- public static int TYPE_DATASET_SELECTED;
- public static int TYPE_SAVE_SHOWN;
-}
-
--keep class android.service.autofill.UserData {
-
- public int describeContents();
- public void dump(java.lang.String, java.io.PrintWriter);
- public static void dumpConstraints(java.lang.String, java.io.PrintWriter);
- public android.os.Bundle getAlgorithmArgs();
- public java.lang.String[] getCategoryIds();
- public java.lang.String getFieldClassificationAlgorithm();
- public java.lang.String getId();
- public static int getMaxCategoryCount();
- public static int getMaxFieldClassificationIdsSize();
- public static int getMaxUserDataSize();
- public static int getMaxValueLength();
- public static int getMinValueLength();
- public java.lang.String[] getValues();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.service.voice.IVoiceInteractionSession {
-
- public abstract void closeSystemDialogs();
- public abstract void destroy();
- public abstract void handleAssist(android.os.Bundle, android.app.assist.AssistStructure, android.app.assist.AssistContent, int, int);
- public abstract void handleScreenshot(android.graphics.Bitmap);
- public abstract void hide();
- public abstract void onLockscreenShown();
- public abstract void show(android.os.Bundle, int, com.android.internal.app.IVoiceInteractionSessionShowCallback);
- public abstract void taskFinished(android.content.Intent, int);
- public abstract void taskStarted(android.content.Intent, int);
-
-
-}
-
--keep class android.support.car.Car {
-
- public void connect();
- public static android.support.car.Car createCar(android.content.Context, android.support.car.CarConnectionCallback, android.os.Handler);
- public static android.support.car.Car createCar(android.content.Context, android.support.car.CarConnectionCallback);
- public void disconnect();
- public java.lang.Object getCarManager(java.lang.String);
- public java.lang.Object getCarManager(java.lang.Class);
- public boolean isConnected();
- public boolean isConnecting();
-
-
- public static java.lang.String APP_FOCUS_SERVICE;
- public static java.lang.String AUDIO_SERVICE;
- public static java.lang.String INFO_SERVICE;
- public static java.lang.String NAVIGATION_STATUS_SERVICE;
- public static java.lang.String PERMISSION_CAR_NAVIGATION_MANAGER;
- public static java.lang.String PERMISSION_VENDOR_EXTENSION;
- public static java.lang.String SENSOR_SERVICE;
-}
-
--keep class android.support.car.CarAppFocusManager {
- <init>();
-
- public abstract void abandonAppFocus(android.support.car.CarAppFocusManager$OnAppFocusOwnershipCallback, int);
- public abstract void abandonAppFocus(android.support.car.CarAppFocusManager$OnAppFocusOwnershipCallback);
- public abstract void addFocusListener(android.support.car.CarAppFocusManager$OnAppFocusChangedListener, int);
- public abstract boolean isOwningFocus(int, android.support.car.CarAppFocusManager$OnAppFocusOwnershipCallback);
- public abstract void removeFocusListener(android.support.car.CarAppFocusManager$OnAppFocusChangedListener, int);
- public abstract void removeFocusListener(android.support.car.CarAppFocusManager$OnAppFocusChangedListener);
- public abstract int requestAppFocus(int, android.support.car.CarAppFocusManager$OnAppFocusOwnershipCallback);
-
-
- public static int APP_FOCUS_REQUEST_FAILED;
- public static int APP_FOCUS_REQUEST_SUCCEEDED;
- public static int APP_FOCUS_TYPE_NAVIGATION;
-}
-
--keep class android.support.car.CarAppFocusManager$OnAppFocusChangedListener {
-
- public abstract void onAppFocusChanged(android.support.car.CarAppFocusManager, int, boolean);
-
-
-}
-
--keep class android.support.car.CarAppFocusManager$OnAppFocusOwnershipCallback {
-
- public abstract void onAppFocusOwnershipGranted(android.support.car.CarAppFocusManager, int);
- public abstract void onAppFocusOwnershipLost(android.support.car.CarAppFocusManager, int);
-
-
-}
-
--keep class android.support.car.CarConnectionCallback {
- <init>();
-
- public abstract void onConnected(android.support.car.Car);
- public abstract void onDisconnected(android.support.car.Car);
-
-
-}
-
--keep class android.support.car.CarInfoManager {
- <init>();
-
- public abstract int getDriverPosition();
- public abstract float getEvBatteryCapacity();
- public abstract int[] getEvConnectorTypes();
- public abstract float getFuelCapacity();
- public abstract int[] getFuelTypes();
- public abstract java.lang.String getHeadunitManufacturer();
- public abstract java.lang.String getHeadunitModel();
- public abstract java.lang.String getHeadunitSoftwareBuild();
- public abstract java.lang.String getHeadunitSoftwareVersion();
- public abstract java.lang.String getManufacturer();
- public abstract java.lang.String getModel();
- public abstract java.lang.String getModelYear();
- public abstract java.lang.String getVehicleId();
-
-
- public static int DRIVER_SIDE_CENTER;
- public static int DRIVER_SIDE_LEFT;
- public static int DRIVER_SIDE_RIGHT;
- public static int DRIVER_SIDE_UNKNOWN;
-}
-
--keep class android.support.car.CarNotConnectedException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
- <init>(java.lang.Exception);
-
-
-
-}
-
--keep class android.support.car.annotation.ValueTypeDef {
-
-
-
-}
-
--keep class android.support.car.annotation.VersionDef {
-
-
-
-}
-
--keep class android.support.car.hardware.CarSensorEvent {
-
- public android.support.car.hardware.CarSensorEvent$CompassData getCompassData();
- public android.support.car.hardware.CarSensorEvent$DrivingStatusData getDrivingStatusData();
- public android.support.car.hardware.CarSensorEvent$NightData getNightData();
- public android.support.car.hardware.CarSensorEvent$ParkingBrakeData getParkingBrakeData();
-
-
- public static int DRIVE_STATUS_FULLY_RESTRICTED;
- public static int DRIVE_STATUS_LIMIT_MESSAGE_LEN;
- public static int DRIVE_STATUS_NO_CONFIG;
- public static int DRIVE_STATUS_NO_KEYBOARD_INPUT;
- public static int DRIVE_STATUS_NO_VIDEO;
- public static int DRIVE_STATUS_NO_VOICE_INPUT;
- public static int DRIVE_STATUS_UNRESTRICTED;
- public static int INDEX_COMPASS_BEARING;
- public static int INDEX_COMPASS_PITCH;
- public static int INDEX_COMPASS_ROLL;
- public static int INDEX_WHEEL_DISTANCE_FRONT_LEFT;
- public static int INDEX_WHEEL_DISTANCE_FRONT_RIGHT;
- public static int INDEX_WHEEL_DISTANCE_REAR_LEFT;
- public static int INDEX_WHEEL_DISTANCE_REAR_RIGHT;
- public static int INDEX_WHEEL_DISTANCE_RESET_COUNT;
- public float[] floatValues;
- public int[] intValues;
- public long[] longValues;
- public int sensorType;
- public long timestamp;
-}
-
--keep class android.support.car.hardware.CarSensorEvent$CompassData {
-
-
-
- public float bearing;
- public float pitch;
- public float roll;
- public long timestamp;
-}
-
--keep class android.support.car.hardware.CarSensorEvent$DrivingStatusData {
-
- public boolean isConfigurationRestricted();
- public boolean isFullyRestricted();
- public boolean isKeyboardRestricted();
- public boolean isMessageLengthRestricted();
- public boolean isVideoRestricted();
- public boolean isVoiceRestricted();
-
-
- public int status;
- public long timestamp;
-}
-
--keep class android.support.car.hardware.CarSensorEvent$NightData {
-
-
-
- public boolean isNightMode;
- public long timestamp;
-}
-
--keep class android.support.car.hardware.CarSensorEvent$ParkingBrakeData {
-
-
-
- public boolean isEngaged;
- public long timestamp;
-}
-
--keep class android.support.car.hardware.CarSensorManager {
- <init>();
-
- public abstract boolean addListener(android.support.car.hardware.CarSensorManager$OnSensorChangedListener, int, int);
- public abstract android.support.car.hardware.CarSensorEvent getLatestSensorEvent(int);
- public abstract int[] getSupportedSensors();
- public abstract boolean isSensorSupported(int);
- public abstract void removeListener(android.support.car.hardware.CarSensorManager$OnSensorChangedListener);
- public abstract void removeListener(android.support.car.hardware.CarSensorManager$OnSensorChangedListener, int);
-
-
- public static int SENSOR_RATE_FASTEST;
- public static int SENSOR_RATE_NORMAL;
- public static int SENSOR_TYPE_ABS_ACTIVE;
- public static int SENSOR_TYPE_COMPASS;
- public static int SENSOR_TYPE_DRIVING_STATUS;
- public static int SENSOR_TYPE_EV_BATTERY_CHARGE_RATE;
- public static int SENSOR_TYPE_EV_BATTERY_LEVEL;
- public static int SENSOR_TYPE_EV_CHARGE_PORT_CONNECTED;
- public static int SENSOR_TYPE_EV_CHARGE_PORT_OPEN;
- public static int SENSOR_TYPE_FUEL_DOOR_OPEN;
- public static int SENSOR_TYPE_NIGHT;
- public static int SENSOR_TYPE_PARKING_BRAKE;
- public static int SENSOR_TYPE_TRACTION_CONTROL_ACTIVE;
- public static int SENSOR_TYPE_WHEEL_TICK_DISTANCE;
-}
-
--keep class android.support.car.hardware.CarSensorManager$OnSensorChangedListener {
-
- public abstract void onSensorChanged(android.support.car.hardware.CarSensorManager, android.support.car.hardware.CarSensorEvent);
-
-
-}
-
--keep class android.support.car.media.CarAudioManager {
- <init>();
-
- public abstract android.support.car.media.CarAudioRecord createCarAudioRecord(int);
- public abstract android.media.AudioFormat getAudioRecordAudioFormat();
- public abstract int getAudioRecordMaxBufferSize();
- public abstract int getAudioRecordMinBufferSize();
- public abstract boolean isAudioRecordSupported();
-
-
-}
-
--keep class android.support.car.media.CarAudioRecord {
- <init>();
-
- public abstract int getAudioSessionId();
- public abstract int getBufferSize();
- public abstract int getRecordingState();
- public abstract int getState();
- public abstract int read(byte[], int, int);
- public abstract void release();
- public abstract void startRecording();
- public abstract void stop();
-
-
-}
-
--keep class android.support.car.navigation.CarNavigationInstrumentCluster {
-
- public int getImageColorDepthBits();
- public int getImageHeight();
- public int getImageWidth();
- public int getMinIntervalMillis();
- public int getType();
- public boolean supportsCustomImages();
- public java.lang.String toString();
-
-
- public static int CLUSTER_TYPE_CUSTOM_IMAGES_SUPPORTED;
- public static int CLUSTER_TYPE_IMAGE_CODES_ONLY;
-}
-
--keep class android.support.car.navigation.CarNavigationStatusManager {
- <init>();
-
- public abstract void addListener(android.support.car.navigation.CarNavigationStatusManager$CarNavigationCallback);
- public abstract void removeListener();
- public abstract void sendEvent(int, android.os.Bundle);
-
-
-}
-
--keep class android.support.car.navigation.CarNavigationStatusManager$CarNavigationCallback {
-
- public abstract void onInstrumentClusterStarted(android.support.car.navigation.CarNavigationStatusManager, android.support.car.navigation.CarNavigationInstrumentCluster);
- public abstract void onInstrumentClusterStopped(android.support.car.navigation.CarNavigationStatusManager);
-
-
-}
-
--keep class android.transition.PathMotion {
- <init>();
- <init>(android.content.Context, android.util.AttributeSet);
-
- public abstract android.graphics.Path getPath(float, float, float, float);
-
-
-}
-
--keep class android.transition.Scene {
- <init>(android.view.ViewGroup);
- <init>(android.view.ViewGroup, android.view.View);
- <init>(android.view.ViewGroup, android.view.ViewGroup);
-
- public void enter();
- public void exit();
- public static android.transition.Scene getSceneForLayout(android.view.ViewGroup, int, android.content.Context);
- public android.view.ViewGroup getSceneRoot();
- public void setEnterAction(java.lang.Runnable);
- public void setExitAction(java.lang.Runnable);
-
-
-}
-
--keep class android.transition.Transition {
- <init>();
- <init>(android.content.Context, android.util.AttributeSet);
-
- public android.transition.Transition addListener(android.transition.Transition$TransitionListener);
- public android.transition.Transition addTarget(int);
- public android.transition.Transition addTarget(java.lang.String);
- public android.transition.Transition addTarget(java.lang.Class);
- public android.transition.Transition addTarget(android.view.View);
- protected void animate(android.animation.Animator);
- public boolean canRemoveViews();
- protected void cancel();
- public abstract void captureEndValues(android.transition.TransitionValues);
- public abstract void captureStartValues(android.transition.TransitionValues);
- public android.transition.Transition clone();
- public java.lang.Object clone();
- public android.animation.Animator createAnimator(android.view.ViewGroup, android.transition.TransitionValues, android.transition.TransitionValues);
- protected void createAnimators(android.view.ViewGroup, android.transition.TransitionValuesMaps, android.transition.TransitionValuesMaps, java.util.ArrayList, java.util.ArrayList);
- protected void end();
- public android.transition.Transition excludeChildren(int, boolean);
- public android.transition.Transition excludeChildren(android.view.View, boolean);
- public android.transition.Transition excludeChildren(java.lang.Class, boolean);
- public android.transition.Transition excludeTarget(int, boolean);
- public android.transition.Transition excludeTarget(java.lang.String, boolean);
- public android.transition.Transition excludeTarget(android.view.View, boolean);
- public android.transition.Transition excludeTarget(java.lang.Class, boolean);
- public long getDuration();
- public android.graphics.Rect getEpicenter();
- public android.transition.Transition$EpicenterCallback getEpicenterCallback();
- public android.animation.TimeInterpolator getInterpolator();
- public java.lang.String getName();
- public android.util.ArrayMap getNameOverrides();
- public android.transition.PathMotion getPathMotion();
- public android.transition.TransitionPropagation getPropagation();
- public long getStartDelay();
- public java.util.List getTargetIds();
- public java.util.List getTargetNames();
- public java.util.List getTargetTypes();
- public java.util.List getTargetViewNames();
- public java.util.List getTargets();
- public java.lang.String[] getTransitionProperties();
- public android.transition.TransitionValues getTransitionValues(android.view.View, boolean);
- public boolean isTransitionRequired(android.transition.TransitionValues, android.transition.TransitionValues);
- public boolean isValidTarget(android.view.View);
- public void pause(android.view.View);
- public android.transition.Transition removeListener(android.transition.Transition$TransitionListener);
- public android.transition.Transition removeTarget(int);
- public android.transition.Transition removeTarget(java.lang.String);
- public android.transition.Transition removeTarget(android.view.View);
- public android.transition.Transition removeTarget(java.lang.Class);
- public void resume(android.view.View);
- protected void runAnimators();
- public android.transition.Transition setDuration(long);
- public void setEpicenterCallback(android.transition.Transition$EpicenterCallback);
- public android.transition.Transition setInterpolator(android.animation.TimeInterpolator);
- public void setMatchOrder(int[]);
- public void setNameOverrides(android.util.ArrayMap);
- public void setPathMotion(android.transition.PathMotion);
- public void setPropagation(android.transition.TransitionPropagation);
- public android.transition.Transition setStartDelay(long);
- protected void start();
- public java.lang.String toString();
-
-
- public static int MATCH_ID;
- public static int MATCH_INSTANCE;
- public static int MATCH_ITEM_ID;
- public static int MATCH_NAME;
-}
-
--keep class android.transition.Transition$EpicenterCallback {
- <init>();
-
- public abstract android.graphics.Rect onGetEpicenter(android.transition.Transition);
-
-
-}
-
--keep class android.transition.Transition$TransitionListener {
-
- public abstract void onTransitionCancel(android.transition.Transition);
- public abstract void onTransitionEnd(android.transition.Transition);
- public abstract void onTransitionPause(android.transition.Transition);
- public abstract void onTransitionResume(android.transition.Transition);
- public abstract void onTransitionStart(android.transition.Transition);
-
-
-}
-
--keep class android.transition.TransitionManager {
- <init>();
-
- public static void beginDelayedTransition(android.view.ViewGroup);
- public static void beginDelayedTransition(android.view.ViewGroup, android.transition.Transition);
- public static void endTransitions(android.view.ViewGroup);
- public static android.transition.Transition getDefaultTransition();
- public android.transition.Transition getTransition(android.transition.Scene);
- public static void go(android.transition.Scene);
- public static void go(android.transition.Scene, android.transition.Transition);
- public void setDefaultTransition(android.transition.Transition);
- public void setTransition(android.transition.Scene, android.transition.Transition);
- public void setTransition(android.transition.Scene, android.transition.Scene, android.transition.Transition);
- public void transitionTo(android.transition.Scene);
-
-
-}
-
--keep class android.transition.TransitionPropagation {
- <init>();
-
- public abstract void captureValues(android.transition.TransitionValues);
- public abstract java.lang.String[] getPropagationProperties();
- public abstract long getStartDelay(android.view.ViewGroup, android.transition.Transition, android.transition.TransitionValues, android.transition.TransitionValues);
-
-
-}
-
--keep class android.transition.TransitionValues {
- <init>();
-
- public boolean equals(java.lang.Object);
- public int hashCode();
- public java.lang.String toString();
-
-
- public java.util.Map values;
- public android.view.View view;
-}
-
--keep class android.transition.TransitionValuesMaps {
-
-
-
-}
-
--keep class android.util.AndroidException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
- <init>(java.lang.Exception);
- <init>(java.lang.String, java.lang.Throwable, boolean, boolean);
-
-
-
-}
-
--keep class android.util.ArrayMap {
- <init>();
- <init>(int);
- <init>(int, boolean);
- <init>(android.util.ArrayMap);
-
- public void append(java.lang.Object, java.lang.Object);
- public void clear();
- public boolean containsAll(java.util.Collection);
- public boolean containsKey(java.lang.Object);
- public boolean containsValue(java.lang.Object);
- public void ensureCapacity(int);
- public java.util.Set entrySet();
- public boolean equals(java.lang.Object);
- public void erase();
- public java.lang.Object get(java.lang.Object);
- public int hashCode();
- public int indexOfKey(java.lang.Object);
- public boolean isEmpty();
- public java.lang.Object keyAt(int);
- public java.util.Set keySet();
- public java.lang.Object put(java.lang.Object, java.lang.Object);
- public void putAll(android.util.ArrayMap);
- public void putAll(java.util.Map);
- public java.lang.Object remove(java.lang.Object);
- public boolean removeAll(java.util.Collection);
- public java.lang.Object removeAt(int);
- public boolean retainAll(java.util.Collection);
- public java.lang.Object setValueAt(int, java.lang.Object);
- public int size();
- public java.lang.String toString();
- public void validate();
- public java.lang.Object valueAt(int);
- public java.util.Collection values();
-
-
- public static android.util.ArrayMap EMPTY;
-}
-
--keep class android.util.ArraySet {
- <init>();
- <init>(int);
- <init>(int, boolean);
- <init>(android.util.ArraySet);
- <init>(java.util.Collection);
-
- public boolean add(java.lang.Object);
- public void addAll(android.util.ArraySet);
- public boolean addAll(java.util.Collection);
- public void append(java.lang.Object);
- public void clear();
- public boolean contains(java.lang.Object);
- public boolean containsAll(java.util.Collection);
- public void ensureCapacity(int);
- public boolean equals(java.lang.Object);
- public int hashCode();
- public int indexOf(java.lang.Object);
- public boolean isEmpty();
- public java.util.Iterator iterator();
- public boolean remove(java.lang.Object);
- public boolean removeAll(android.util.ArraySet);
- public boolean removeAll(java.util.Collection);
- public java.lang.Object removeAt(int);
- public boolean retainAll(java.util.Collection);
- public int size();
- public java.lang.Object[] toArray();
- public java.lang.Object[] toArray(java.lang.Object[]);
- public java.lang.String toString();
- public java.lang.Object valueAt(int);
-
-
-}
-
--keep class android.util.AttributeSet {
-
- public abstract boolean getAttributeBooleanValue(java.lang.String, java.lang.String, boolean);
- public abstract boolean getAttributeBooleanValue(int, boolean);
- public abstract int getAttributeCount();
- public abstract float getAttributeFloatValue(java.lang.String, java.lang.String, float);
- public abstract float getAttributeFloatValue(int, float);
- public abstract int getAttributeIntValue(java.lang.String, java.lang.String, int);
- public abstract int getAttributeIntValue(int, int);
- public abstract int getAttributeListValue(java.lang.String, java.lang.String, java.lang.String[], int);
- public abstract int getAttributeListValue(int, java.lang.String[], int);
- public abstract java.lang.String getAttributeName(int);
- public abstract int getAttributeNameResource(int);
- public java.lang.String getAttributeNamespace(int);
- public abstract int getAttributeResourceValue(java.lang.String, java.lang.String, int);
- public abstract int getAttributeResourceValue(int, int);
- public abstract int getAttributeUnsignedIntValue(java.lang.String, java.lang.String, int);
- public abstract int getAttributeUnsignedIntValue(int, int);
- public abstract java.lang.String getAttributeValue(int);
- public abstract java.lang.String getAttributeValue(java.lang.String, java.lang.String);
- public abstract java.lang.String getClassAttribute();
- public abstract java.lang.String getIdAttribute();
- public abstract int getIdAttributeResourceValue(int);
- public abstract java.lang.String getPositionDescription();
- public abstract int getStyleAttribute();
-
-
-}
-
--keep class android.util.DisplayMetrics {
- <init>();
-
- public boolean equals(java.lang.Object);
- public boolean equals(android.util.DisplayMetrics);
- public boolean equalsPhysical(android.util.DisplayMetrics);
- public int hashCode();
- public void setTo(android.util.DisplayMetrics);
- public void setToDefaults();
- public java.lang.String toString();
-
-
- public static int DENSITY_260;
- public static int DENSITY_280;
- public static int DENSITY_300;
- public static int DENSITY_340;
- public static int DENSITY_360;
- public static int DENSITY_400;
- public static int DENSITY_420;
- public static int DENSITY_440;
- public static int DENSITY_560;
- public static int DENSITY_DEFAULT;
- public static float DENSITY_DEFAULT_SCALE;
- public static int DENSITY_DEVICE;
- public static int DENSITY_DEVICE_STABLE;
- public static int DENSITY_HIGH;
- public static int DENSITY_LOW;
- public static int DENSITY_MEDIUM;
- public static int DENSITY_TV;
- public static int DENSITY_XHIGH;
- public static int DENSITY_XXHIGH;
- public static int DENSITY_XXXHIGH;
- public float density;
- public int densityDpi;
- public int heightPixels;
- public float noncompatDensity;
- public int noncompatDensityDpi;
- public int noncompatHeightPixels;
- public float noncompatScaledDensity;
- public int noncompatWidthPixels;
- public float noncompatXdpi;
- public float noncompatYdpi;
- public float scaledDensity;
- public int widthPixels;
- public float xdpi;
- public float ydpi;
-}
-
--keep class android.util.LongArray {
- <init>();
- <init>(int);
-
- public void add(long);
- public void add(int, long);
- public void addAll(android.util.LongArray);
- public void clear();
- public android.util.LongArray clone();
- public java.lang.Object clone();
- public static boolean elementsEqual(android.util.LongArray, android.util.LongArray);
- public static android.util.LongArray fromArray(long[], int);
- public long get(int);
- public int indexOf(long);
- public void remove(int);
- public void resize(int);
- public void set(int, long);
- public int size();
- public long[] toArray();
- public static android.util.LongArray wrap(long[]);
-
-
-}
-
--keep class android.util.LongSparseArray {
- <init>();
- <init>(int);
-
- public void append(long, java.lang.Object);
- public void clear();
- public android.util.LongSparseArray clone();
- public java.lang.Object clone();
- public void delete(long);
- public java.lang.Object get(long);
- public java.lang.Object get(long, java.lang.Object);
- public int indexOfKey(long);
- public int indexOfValue(java.lang.Object);
- public int indexOfValueByValue(java.lang.Object);
- public long keyAt(int);
- public void put(long, java.lang.Object);
- public void remove(long);
- public void removeAt(int);
- public void setValueAt(int, java.lang.Object);
- public int size();
- public java.lang.String toString();
- public java.lang.Object valueAt(int);
-
-
-}
-
--keep class android.util.MergedConfiguration {
- <init>();
- <init>(android.content.res.Configuration, android.content.res.Configuration);
- <init>(android.content.res.Configuration);
- <init>(android.util.MergedConfiguration);
-
- public int describeContents();
- public void dump(java.io.PrintWriter, java.lang.String);
- public boolean equals(java.lang.Object);
- public android.content.res.Configuration getGlobalConfiguration();
- public android.content.res.Configuration getMergedConfiguration();
- public android.content.res.Configuration getOverrideConfiguration();
- public int hashCode();
- public void readFromParcel(android.os.Parcel);
- public void setConfiguration(android.content.res.Configuration, android.content.res.Configuration);
- public void setGlobalConfiguration(android.content.res.Configuration);
- public void setOverrideConfiguration(android.content.res.Configuration);
- public void setTo(android.util.MergedConfiguration);
- public java.lang.String toString();
- public void unset();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.util.Pair {
- <init>(java.lang.Object, java.lang.Object);
-
- public static android.util.Pair create(java.lang.Object, java.lang.Object);
- public boolean equals(java.lang.Object);
- public int hashCode();
- public java.lang.String toString();
-
-
- public java.lang.Object first;
- public java.lang.Object second;
-}
-
--keep class android.util.Printer {
-
- public abstract void println(java.lang.String);
-
-
-}
-
--keep class android.util.Property {
- <init>(java.lang.Class, java.lang.String);
-
- public abstract java.lang.Object get(java.lang.Object);
- public java.lang.String getName();
- public java.lang.Class getType();
- public boolean isReadOnly();
- public static android.util.Property of(java.lang.Class, java.lang.Class, java.lang.String);
- public void set(java.lang.Object, java.lang.Object);
-
-
-}
-
--keep class android.util.Rational {
- <init>(int, int);
-
- public int compareTo(android.util.Rational);
- public int compareTo(java.lang.Object);
- public double doubleValue();
- public boolean equals(java.lang.Object);
- public float floatValue();
- public static int gcd(int, int);
- public int getDenominator();
- public int getNumerator();
- public int hashCode();
- public int intValue();
- public boolean isFinite();
- public boolean isInfinite();
- public boolean isNaN();
- public boolean isZero();
- public long longValue();
- public static android.util.Rational parseRational(java.lang.String);
- public short shortValue();
- public float toFloat();
- public java.lang.String toString();
-
-
- public static android.util.Rational NEGATIVE_INFINITY;
- public static android.util.Rational NaN;
- public static android.util.Rational POSITIVE_INFINITY;
- public static android.util.Rational ZERO;
-}
-
--keep class android.util.Size {
- <init>(int, int);
-
- public boolean equals(java.lang.Object);
- public int getHeight();
- public int getWidth();
- public int hashCode();
- public static android.util.Size parseSize(java.lang.String);
- public java.lang.String toString();
-
-
-}
-
--keep class android.util.SizeF {
- <init>(float, float);
-
- public boolean equals(java.lang.Object);
- public float getHeight();
- public float getWidth();
- public int hashCode();
- public static android.util.SizeF parseSizeF(java.lang.String);
- public java.lang.String toString();
-
-
-}
-
--keep class android.util.SparseArray {
- <init>();
- <init>(int);
-
- public void append(int, java.lang.Object);
- public void clear();
- public android.util.SparseArray clone();
- public java.lang.Object clone();
- public void delete(int);
- public java.lang.Object get(int);
- public java.lang.Object get(int, java.lang.Object);
- public int indexOfKey(int);
- public int indexOfValue(java.lang.Object);
- public int indexOfValueByValue(java.lang.Object);
- public int keyAt(int);
- public void put(int, java.lang.Object);
- public void remove(int);
- public void removeAt(int);
- public void removeAtRange(int, int);
- public java.lang.Object removeReturnOld(int);
- public void setValueAt(int, java.lang.Object);
- public int size();
- public java.lang.String toString();
- public java.lang.Object valueAt(int);
-
-
-}
-
--keep class android.util.SparseBooleanArray {
- <init>();
- <init>(int);
-
- public void append(int, boolean);
- public void clear();
- public android.util.SparseBooleanArray clone();
- public java.lang.Object clone();
- public void delete(int);
- public boolean equals(java.lang.Object);
- public boolean get(int);
- public boolean get(int, boolean);
- public int hashCode();
- public int indexOfKey(int);
- public int indexOfValue(boolean);
- public int keyAt(int);
- public void put(int, boolean);
- public void removeAt(int);
- public void setKeyAt(int, int);
- public void setValueAt(int, boolean);
- public int size();
- public java.lang.String toString();
- public boolean valueAt(int);
-
-
-}
-
--keep class android.util.SparseIntArray {
- <init>();
- <init>(int);
-
- public void append(int, int);
- public void clear();
- public android.util.SparseIntArray clone();
- public java.lang.Object clone();
- public int[] copyKeys();
- public void delete(int);
- public int get(int);
- public int get(int, int);
- public int indexOfKey(int);
- public int indexOfValue(int);
- public int keyAt(int);
- public void put(int, int);
- public void removeAt(int);
- public void setValueAt(int, int);
- public int size();
- public java.lang.String toString();
- public int valueAt(int);
-
-
-}
-
--keep class android.util.TypedValue {
- <init>();
-
- public static float applyDimension(int, float, android.util.DisplayMetrics);
- public java.lang.CharSequence coerceToString();
- public static java.lang.String coerceToString(int, int);
- public static float complexToDimension(int, android.util.DisplayMetrics);
- public static float complexToDimensionNoisy(int, android.util.DisplayMetrics);
- public static int complexToDimensionPixelOffset(int, android.util.DisplayMetrics);
- public static int complexToDimensionPixelSize(int, android.util.DisplayMetrics);
- public static float complexToFloat(int);
- public static float complexToFraction(int, float, float);
- public int getComplexUnit();
- public float getDimension(android.util.DisplayMetrics);
- public float getFloat();
- public float getFraction(float, float);
- public void setTo(android.util.TypedValue);
- public java.lang.String toString();
-
-
- public static int COMPLEX_MANTISSA_MASK;
- public static int COMPLEX_MANTISSA_SHIFT;
- public static int COMPLEX_RADIX_0p23;
- public static int COMPLEX_RADIX_16p7;
- public static int COMPLEX_RADIX_23p0;
- public static int COMPLEX_RADIX_8p15;
- public static int COMPLEX_RADIX_MASK;
- public static int COMPLEX_RADIX_SHIFT;
- public static int COMPLEX_UNIT_DIP;
- public static int COMPLEX_UNIT_FRACTION;
- public static int COMPLEX_UNIT_FRACTION_PARENT;
- public static int COMPLEX_UNIT_IN;
- public static int COMPLEX_UNIT_MASK;
- public static int COMPLEX_UNIT_MM;
- public static int COMPLEX_UNIT_PT;
- public static int COMPLEX_UNIT_PX;
- public static int COMPLEX_UNIT_SHIFT;
- public static int COMPLEX_UNIT_SP;
- public static int DATA_NULL_EMPTY;
- public static int DATA_NULL_UNDEFINED;
- public static int DENSITY_DEFAULT;
- public static int DENSITY_NONE;
- public static int TYPE_ATTRIBUTE;
- public static int TYPE_DIMENSION;
- public static int TYPE_FIRST_COLOR_INT;
- public static int TYPE_FIRST_INT;
- public static int TYPE_FLOAT;
- public static int TYPE_FRACTION;
- public static int TYPE_INT_BOOLEAN;
- public static int TYPE_INT_COLOR_ARGB4;
- public static int TYPE_INT_COLOR_ARGB8;
- public static int TYPE_INT_COLOR_RGB4;
- public static int TYPE_INT_COLOR_RGB8;
- public static int TYPE_INT_DEC;
- public static int TYPE_INT_HEX;
- public static int TYPE_LAST_COLOR_INT;
- public static int TYPE_LAST_INT;
- public static int TYPE_NULL;
- public static int TYPE_REFERENCE;
- public static int TYPE_STRING;
- public int assetCookie;
- public int changingConfigurations;
- public int data;
- public int density;
- public int resourceId;
- public java.lang.CharSequence string;
- public int type;
-}
-
--keep class android.util.proto.ProtoOutputStream {
- <init>();
- <init>(int);
- <init>(java.io.OutputStream);
- <init>(java.io.FileDescriptor);
-
- public static int checkFieldId(long, long);
- public static int convertObjectIdToOrdinal(int);
- public void dump(java.lang.String);
- public void end(long);
- public void endObject(long);
- public void endRepeatedObject(long);
- public void flush();
- public byte[] getBytes();
- public static int getDepthFromToken(long);
- public static int getObjectIdFromToken(long);
- public static boolean getRepeatedFromToken(long);
- public static int getSizePosFromToken(long);
- public static int getTagSizeFromToken(long);
- public static long makeFieldId(int, long);
- public static long makeToken(int, boolean, int, int, int);
- public long start(long);
- public long startObject(long);
- public long startRepeatedObject(long);
- public static java.lang.String token2String(long);
- public void write(long, double);
- public void write(long, float);
- public void write(long, int);
- public void write(long, long);
- public void write(long, boolean);
- public void write(long, java.lang.String);
- public void write(long, byte[]);
- public void writeBool(long, boolean);
- public void writeBytes(long, byte[]);
- public void writeDouble(long, double);
- public void writeEnum(long, int);
- public void writeFixed32(long, int);
- public void writeFixed64(long, long);
- public void writeFloat(long, float);
- public void writeInt32(long, int);
- public void writeInt64(long, long);
- public void writeObject(long, byte[]);
- public void writePackedBool(long, boolean[]);
- public void writePackedDouble(long, double[]);
- public void writePackedEnum(long, int[]);
- public void writePackedFixed32(long, int[]);
- public void writePackedFixed64(long, long[]);
- public void writePackedFloat(long, float[]);
- public void writePackedInt32(long, int[]);
- public void writePackedInt64(long, long[]);
- public void writePackedSFixed32(long, int[]);
- public void writePackedSFixed64(long, long[]);
- public void writePackedSInt32(long, int[]);
- public void writePackedSInt64(long, long[]);
- public void writePackedUInt32(long, int[]);
- public void writePackedUInt64(long, long[]);
- public void writeRepeatedBool(long, boolean);
- public void writeRepeatedBytes(long, byte[]);
- public void writeRepeatedDouble(long, double);
- public void writeRepeatedEnum(long, int);
- public void writeRepeatedFixed32(long, int);
- public void writeRepeatedFixed64(long, long);
- public void writeRepeatedFloat(long, float);
- public void writeRepeatedInt32(long, int);
- public void writeRepeatedInt64(long, long);
- public void writeRepeatedObject(long, byte[]);
- public void writeRepeatedSFixed32(long, int);
- public void writeRepeatedSFixed64(long, long);
- public void writeRepeatedSInt32(long, int);
- public void writeRepeatedSInt64(long, long);
- public void writeRepeatedString(long, java.lang.String);
- public void writeRepeatedUInt32(long, int);
- public void writeRepeatedUInt64(long, long);
- public void writeSFixed32(long, int);
- public void writeSFixed64(long, long);
- public void writeSInt32(long, int);
- public void writeSInt64(long, long);
- public void writeString(long, java.lang.String);
- public void writeTag(int, int);
- public void writeUInt32(long, int);
- public void writeUInt64(long, long);
-
-
- public static long FIELD_COUNT_MASK;
- public static long FIELD_COUNT_PACKED;
- public static long FIELD_COUNT_REPEATED;
- public static int FIELD_COUNT_SHIFT;
- public static long FIELD_COUNT_SINGLE;
- public static long FIELD_COUNT_UNKNOWN;
- public static int FIELD_ID_MASK;
- public static int FIELD_ID_SHIFT;
- public static long FIELD_TYPE_BOOL;
- public static long FIELD_TYPE_BYTES;
- public static long FIELD_TYPE_DOUBLE;
- public static long FIELD_TYPE_ENUM;
- public static long FIELD_TYPE_FIXED32;
- public static long FIELD_TYPE_FIXED64;
- public static long FIELD_TYPE_FLOAT;
- public static long FIELD_TYPE_INT32;
- public static long FIELD_TYPE_INT64;
- public static long FIELD_TYPE_MASK;
- public static long FIELD_TYPE_MESSAGE;
- public static long FIELD_TYPE_SFIXED32;
- public static long FIELD_TYPE_SFIXED64;
- public static int FIELD_TYPE_SHIFT;
- public static long FIELD_TYPE_SINT32;
- public static long FIELD_TYPE_SINT64;
- public static long FIELD_TYPE_STRING;
- public static long FIELD_TYPE_UINT32;
- public static long FIELD_TYPE_UINT64;
- public static long FIELD_TYPE_UNKNOWN;
- public static java.lang.String TAG;
- public static int WIRE_TYPE_END_GROUP;
- public static int WIRE_TYPE_FIXED32;
- public static int WIRE_TYPE_FIXED64;
- public static int WIRE_TYPE_LENGTH_DELIMITED;
- public static int WIRE_TYPE_MASK;
- public static int WIRE_TYPE_START_GROUP;
- public static int WIRE_TYPE_VARINT;
-}
-
--keep class android.view.AccessibilityInteractionController {
- <init>(android.view.ViewRootImpl);
-
- public void findAccessibilityNodeInfoByAccessibilityIdClientThread(long, android.graphics.Region, int, android.view.accessibility.IAccessibilityInteractionConnectionCallback, int, int, long, android.view.MagnificationSpec, android.os.Bundle);
- public void findAccessibilityNodeInfosByTextClientThread(long, java.lang.String, android.graphics.Region, int, android.view.accessibility.IAccessibilityInteractionConnectionCallback, int, int, long, android.view.MagnificationSpec);
- public void findAccessibilityNodeInfosByViewIdClientThread(long, java.lang.String, android.graphics.Region, int, android.view.accessibility.IAccessibilityInteractionConnectionCallback, int, int, long, android.view.MagnificationSpec);
- public void findFocusClientThread(long, int, android.graphics.Region, int, android.view.accessibility.IAccessibilityInteractionConnectionCallback, int, int, long, android.view.MagnificationSpec);
- public void focusSearchClientThread(long, int, android.graphics.Region, int, android.view.accessibility.IAccessibilityInteractionConnectionCallback, int, int, long, android.view.MagnificationSpec);
- public void performAccessibilityActionClientThread(long, int, android.os.Bundle, int, android.view.accessibility.IAccessibilityInteractionConnectionCallback, int, int, long);
-
-
-}
-
--keep class android.view.AccessibilityIterators {
- <init>();
-
-
-
-}
-
--keep class android.view.AccessibilityIterators$TextSegmentIterator {
-
- public abstract int[] following(int);
- public abstract int[] preceding(int);
-
-
-}
-
--keep class android.view.ActionMode {
- <init>();
-
- public abstract void finish();
- public abstract android.view.View getCustomView();
- public abstract android.view.Menu getMenu();
- public abstract android.view.MenuInflater getMenuInflater();
- public abstract java.lang.CharSequence getSubtitle();
- public java.lang.Object getTag();
- public abstract java.lang.CharSequence getTitle();
- public boolean getTitleOptionalHint();
- public int getType();
- public void hide(long);
- public abstract void invalidate();
- public void invalidateContentRect();
- public boolean isTitleOptional();
- public boolean isUiFocusable();
- public void onWindowFocusChanged(boolean);
- public abstract void setCustomView(android.view.View);
- public abstract void setSubtitle(java.lang.CharSequence);
- public abstract void setSubtitle(int);
- public void setTag(java.lang.Object);
- public abstract void setTitle(java.lang.CharSequence);
- public abstract void setTitle(int);
- public void setTitleOptionalHint(boolean);
- public void setType(int);
-
-
- public static int DEFAULT_HIDE_DURATION;
- public static int TYPE_FLOATING;
- public static int TYPE_PRIMARY;
-}
-
--keep class android.view.ActionMode$Callback {
-
- public abstract boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
- public abstract boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
- public abstract void onDestroyActionMode(android.view.ActionMode);
- public abstract boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
-
-
-}
-
--keep class android.view.ActionProvider {
- <init>(android.content.Context);
-
- public boolean hasSubMenu();
- public boolean isVisible();
- public abstract android.view.View onCreateActionView();
- public android.view.View onCreateActionView(android.view.MenuItem);
- public boolean onPerformDefaultAction();
- public void onPrepareSubMenu(android.view.SubMenu);
- public boolean overridesItemVisibility();
- public void refreshVisibility();
- public void reset();
- public void setSubUiVisibilityListener(android.view.ActionProvider$SubUiVisibilityListener);
- public void setVisibilityListener(android.view.ActionProvider$VisibilityListener);
- public void subUiVisibilityChanged(boolean);
-
-
-}
-
--keep class android.view.ActionProvider$SubUiVisibilityListener {
-
- public abstract void onSubUiVisibilityChanged(boolean);
-
-
-}
-
--keep class android.view.ActionProvider$VisibilityListener {
-
- public abstract void onActionProviderVisibilityChanged(boolean);
-
-
-}
-
--keep class android.view.AppTransitionAnimationSpec {
- <init>(int, android.graphics.GraphicBuffer, android.graphics.Rect);
- <init>(android.os.Parcel);
-
- public int describeContents();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public android.graphics.GraphicBuffer buffer;
- public android.graphics.Rect rect;
- public int taskId;
-}
-
--keep class android.view.Choreographer {
-
- public static long getFrameDelay();
- public long getFrameIntervalNanos();
- public long getFrameTime();
- public long getFrameTimeNanos();
- public static android.view.Choreographer getInstance();
- public long getLastFrameTimeNanos();
- public static android.view.Choreographer getMainThreadInstance();
- public static android.view.Choreographer getSfInstance();
- public void postCallback(int, java.lang.Runnable, java.lang.Object);
- public void postCallbackDelayed(int, java.lang.Runnable, java.lang.Object, long);
- public void postFrameCallback(android.view.Choreographer$FrameCallback);
- public void postFrameCallbackDelayed(android.view.Choreographer$FrameCallback, long);
- public static void releaseInstance();
- public void removeCallbacks(int, java.lang.Runnable, java.lang.Object);
- public void removeFrameCallback(android.view.Choreographer$FrameCallback);
- public static void setFrameDelay(long);
- public static long subtractFrameDelay(long);
-
-
- public static int CALLBACK_ANIMATION;
- public static int CALLBACK_COMMIT;
- public static int CALLBACK_INPUT;
- public static int CALLBACK_TRAVERSAL;
-}
-
--keep class android.view.Choreographer$FrameCallback {
-
- public abstract void doFrame(long);
-
-
-}
-
--keep class android.view.ContextMenu {
-
- public abstract void clearHeader();
- public abstract android.view.ContextMenu setHeaderIcon(int);
- public abstract android.view.ContextMenu setHeaderIcon(android.graphics.drawable.Drawable);
- public abstract android.view.ContextMenu setHeaderTitle(int);
- public abstract android.view.ContextMenu setHeaderTitle(java.lang.CharSequence);
- public abstract android.view.ContextMenu setHeaderView(android.view.View);
-
-
-}
-
--keep class android.view.ContextMenu$ContextMenuInfo {
-
-
-
-}
-
--keep class android.view.ContextThemeWrapper {
- <init>();
- <init>(android.content.Context, int);
- <init>(android.content.Context, android.content.res.Resources$Theme);
-
- public void applyOverrideConfiguration(android.content.res.Configuration);
- protected void attachBaseContext(android.content.Context);
- public android.content.res.AssetManager getAssets();
- public android.content.res.Configuration getOverrideConfiguration();
- public android.content.res.Resources getResources();
- public java.lang.Object getSystemService(java.lang.String);
- public android.content.res.Resources$Theme getTheme();
- public int getThemeResId();
- protected void onApplyThemeResource(android.content.res.Resources$Theme, int, boolean);
- public void setTheme(int);
-
-
-}
-
--keep class android.view.Display {
- <init>(android.hardware.display.DisplayManagerGlobal, int, android.view.DisplayInfo, android.view.DisplayAdjustments);
- <init>(android.hardware.display.DisplayManagerGlobal, int, android.view.DisplayInfo, android.content.res.Resources);
-
- public java.lang.String getAddress();
- public long getAppVsyncOffsetNanos();
- public int getColorMode();
- public void getCurrentSizeRange(android.graphics.Point, android.graphics.Point);
- public android.view.DisplayAdjustments getDisplayAdjustments();
- public int getDisplayId();
- public boolean getDisplayInfo(android.view.DisplayInfo);
- public int getFlags();
- public android.view.Display$HdrCapabilities getHdrCapabilities();
- public int getHeight();
- public int getLayerStack();
- public int getMaximumSizeDimension();
- public void getMetrics(android.util.DisplayMetrics);
- public android.view.Display$Mode getMode();
- public java.lang.String getName();
- public int getOrientation();
- public void getOverscanInsets(android.graphics.Rect);
- public java.lang.String getOwnerPackageName();
- public int getOwnerUid();
- public int getPixelFormat();
- public long getPresentationDeadlineNanos();
- public void getRealMetrics(android.util.DisplayMetrics);
- public void getRealSize(android.graphics.Point);
- public void getRectSize(android.graphics.Rect);
- public float getRefreshRate();
- public int getRemoveMode();
- public int getRotation();
- public void getSize(android.graphics.Point);
- public int getState();
- public int[] getSupportedColorModes();
- public android.view.Display$Mode[] getSupportedModes();
- public float[] getSupportedRefreshRates();
- public int getType();
- public int getWidth();
- public boolean hasAccess(int);
- public static boolean hasAccess(int, int, int);
- public static boolean isDozeState(int);
- public boolean isHdr();
- public boolean isPublicPresentation();
- public static boolean isSuspendedState(int);
- public boolean isValid();
- public boolean isWideColorGamut();
- public void requestColorMode(int);
- public static java.lang.String stateToString(int);
- public java.lang.String toString();
- public static java.lang.String typeToString(int);
-
-
- public static int COLOR_MODE_ADOBE_RGB;
- public static int COLOR_MODE_BT601_525;
- public static int COLOR_MODE_BT601_525_UNADJUSTED;
- public static int COLOR_MODE_BT601_625;
- public static int COLOR_MODE_BT601_625_UNADJUSTED;
- public static int COLOR_MODE_BT709;
- public static int COLOR_MODE_DCI_P3;
- public static int COLOR_MODE_DEFAULT;
- public static int COLOR_MODE_DISPLAY_P3;
- public static int COLOR_MODE_INVALID;
- public static int COLOR_MODE_SRGB;
- public static int DEFAULT_DISPLAY;
- public static int FLAG_CAN_SHOW_WITH_INSECURE_KEYGUARD;
- public static int FLAG_PRESENTATION;
- public static int FLAG_PRIVATE;
- public static int FLAG_ROUND;
- public static int FLAG_SCALING_DISABLED;
- public static int FLAG_SECURE;
- public static int FLAG_SUPPORTS_PROTECTED_BUFFERS;
- public static int INVALID_DISPLAY;
- public static int REMOVE_MODE_DESTROY_CONTENT;
- public static int REMOVE_MODE_MOVE_CONTENT_TO_PRIMARY;
- public static int STATE_DOZE;
- public static int STATE_DOZE_SUSPEND;
- public static int STATE_OFF;
- public static int STATE_ON;
- public static int STATE_ON_SUSPEND;
- public static int STATE_UNKNOWN;
- public static int STATE_VR;
- public static int TYPE_BUILT_IN;
- public static int TYPE_HDMI;
- public static int TYPE_OVERLAY;
- public static int TYPE_UNKNOWN;
- public static int TYPE_VIRTUAL;
- public static int TYPE_WIFI;
-}
-
--keep class android.view.Display$HdrCapabilities {
- <init>();
- <init>(int[], float, float, float);
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public float getDesiredMaxAverageLuminance();
- public float getDesiredMaxLuminance();
- public float getDesiredMinLuminance();
- public int[] getSupportedHdrTypes();
- public int hashCode();
- public void readFromParcel(android.os.Parcel);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int HDR_TYPE_DOLBY_VISION;
- public static int HDR_TYPE_HDR10;
- public static int HDR_TYPE_HLG;
- public static float INVALID_LUMINANCE;
-}
-
--keep class android.view.Display$Mode {
- <init>(int, int, int, float);
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public int getModeId();
- public int getPhysicalHeight();
- public int getPhysicalWidth();
- public float getRefreshRate();
- public int hashCode();
- public boolean matches(int, int, float);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static android.view.Display$Mode[] EMPTY_ARRAY;
-}
-
--keep class android.view.DisplayAdjustments {
- <init>();
- <init>(android.content.res.Configuration);
- <init>(android.view.DisplayAdjustments);
-
- public boolean equals(java.lang.Object);
- public android.content.res.CompatibilityInfo getCompatibilityInfo();
- public android.content.res.Configuration getConfiguration();
- public int hashCode();
- public void setCompatibilityInfo(android.content.res.CompatibilityInfo);
- public void setConfiguration(android.content.res.Configuration);
-
-
- public static android.view.DisplayAdjustments DEFAULT_DISPLAY_ADJUSTMENTS;
-}
-
--keep class android.view.DisplayCutout {
- <init>(android.graphics.Rect, java.util.List);
-
- public boolean equals(java.lang.Object);
- public static android.view.DisplayCutout fromBoundingRect(int, int, int, int);
- public static android.view.DisplayCutout fromBounds(android.graphics.Region);
- public static android.view.DisplayCutout fromResourcesRectApproximation(android.content.res.Resources, int, int);
- public static android.view.DisplayCutout fromSpec(java.lang.String, int, int, float);
- public java.util.List getBoundingRects();
- public android.graphics.Region getBounds();
- public int getSafeInsetBottom();
- public int getSafeInsetLeft();
- public int getSafeInsetRight();
- public int getSafeInsetTop();
- public android.graphics.Rect getSafeInsets();
- public int hashCode();
- public android.view.DisplayCutout inset(int, int, int, int);
- public boolean isBoundsEmpty();
- public boolean isEmpty();
- public static android.graphics.Path pathFromResources(android.content.res.Resources, int, int);
- public android.view.DisplayCutout replaceSafeInsets(android.graphics.Rect);
- public java.lang.String toString();
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
- public static java.lang.String EMULATION_OVERLAY_CATEGORY;
- public static android.view.DisplayCutout NO_CUTOUT;
-}
-
--keep class android.view.DisplayCutout$ParcelableWrapper {
- <init>();
- <init>(android.view.DisplayCutout);
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public android.view.DisplayCutout get();
- public int hashCode();
- public static android.view.DisplayCutout readCutoutFromParcel(android.os.Parcel);
- public void readFromParcel(android.os.Parcel);
- public void set(android.view.DisplayCutout$ParcelableWrapper);
- public void set(android.view.DisplayCutout);
- public java.lang.String toString();
- public static void writeCutoutToParcel(android.view.DisplayCutout, android.os.Parcel, int);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.view.DisplayInfo {
- <init>();
- <init>(android.view.DisplayInfo);
-
- public void copyFrom(android.view.DisplayInfo);
- public int describeContents();
- public boolean equals(java.lang.Object);
- public boolean equals(android.view.DisplayInfo);
- public int findDefaultModeByRefreshRate(float);
- public void getAppMetrics(android.util.DisplayMetrics);
- public void getAppMetrics(android.util.DisplayMetrics, android.view.DisplayAdjustments);
- public void getAppMetrics(android.util.DisplayMetrics, android.content.res.CompatibilityInfo, android.content.res.Configuration);
- public android.view.Display$Mode getDefaultMode();
- public float[] getDefaultRefreshRates();
- public void getLogicalMetrics(android.util.DisplayMetrics, android.content.res.CompatibilityInfo, android.content.res.Configuration);
- public android.view.Display$Mode getMode();
- public int getNaturalHeight();
- public int getNaturalWidth();
- public boolean hasAccess(int);
- public int hashCode();
- public boolean isHdr();
- public boolean isWideColorGamut();
- public void readFromParcel(android.os.Parcel);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public java.lang.String address;
- public int appHeight;
- public long appVsyncOffsetNanos;
- public int appWidth;
- public int colorMode;
- public int defaultModeId;
- public android.view.DisplayCutout displayCutout;
- public int flags;
- public android.view.Display$HdrCapabilities hdrCapabilities;
- public int largestNominalAppHeight;
- public int largestNominalAppWidth;
- public int layerStack;
- public int logicalDensityDpi;
- public int logicalHeight;
- public int logicalWidth;
- public int modeId;
- public java.lang.String name;
- public int overscanBottom;
- public int overscanLeft;
- public int overscanRight;
- public int overscanTop;
- public java.lang.String ownerPackageName;
- public int ownerUid;
- public float physicalXDpi;
- public float physicalYDpi;
- public long presentationDeadlineNanos;
- public int removeMode;
- public int rotation;
- public int smallestNominalAppHeight;
- public int smallestNominalAppWidth;
- public int state;
- public int[] supportedColorModes;
- public android.view.Display$Mode[] supportedModes;
- public int type;
- public java.lang.String uniqueId;
-}
-
--keep class android.view.DisplayListCanvas {
-
- public void callDrawGLFunction2(long);
- public void drawCircle(android.graphics.CanvasProperty, android.graphics.CanvasProperty, android.graphics.CanvasProperty, android.graphics.CanvasProperty);
- public void drawGLFunctor2(long, java.lang.Runnable);
- public void drawRenderNode(android.view.RenderNode);
- public void drawRoundRect(android.graphics.CanvasProperty, android.graphics.CanvasProperty, android.graphics.CanvasProperty, android.graphics.CanvasProperty, android.graphics.CanvasProperty, android.graphics.CanvasProperty, android.graphics.CanvasProperty);
- public int getHeight();
- public int getMaximumBitmapHeight();
- public int getMaximumBitmapWidth();
- public int getWidth();
- public void insertInorderBarrier();
- public void insertReorderBarrier();
- public boolean isHardwareAccelerated();
- public boolean isOpaque();
- public boolean isRecordingFor(java.lang.Object);
- public void setBitmap(android.graphics.Bitmap);
- public void setDensity(int);
- protected void throwIfCannotDraw(android.graphics.Bitmap);
-
-
-}
-
--keep class android.view.DragAndDropPermissions {
-
- public int describeContents();
- public static android.view.DragAndDropPermissions obtain(android.view.DragEvent);
- public void release();
- public boolean take(android.os.IBinder);
- public boolean takeTransient();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.view.DragEvent {
-
- public int describeContents();
- public int getAction();
- public android.content.ClipData getClipData();
- public android.content.ClipDescription getClipDescription();
- public com.android.internal.view.IDragAndDropPermissions getDragAndDropPermissions();
- public java.lang.Object getLocalState();
- public boolean getResult();
- public float getX();
- public float getY();
- public static android.view.DragEvent obtain(int, float, float, java.lang.Object, android.content.ClipDescription, android.content.ClipData, com.android.internal.view.IDragAndDropPermissions, boolean);
- public static android.view.DragEvent obtain(android.view.DragEvent);
- public void recycle();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static int ACTION_DRAG_ENDED;
- public static int ACTION_DRAG_ENTERED;
- public static int ACTION_DRAG_EXITED;
- public static int ACTION_DRAG_LOCATION;
- public static int ACTION_DRAG_STARTED;
- public static int ACTION_DROP;
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.view.FrameMetrics {
- <init>(android.view.FrameMetrics);
-
- public long getMetric(int);
-
-
- public static int ANIMATION_DURATION;
- public static int COMMAND_ISSUE_DURATION;
- public static int DRAW_DURATION;
- public static int FIRST_DRAW_FRAME;
- public static int INPUT_HANDLING_DURATION;
- public static int INTENDED_VSYNC_TIMESTAMP;
- public static int LAYOUT_MEASURE_DURATION;
- public static int SWAP_BUFFERS_DURATION;
- public static int SYNC_DURATION;
- public static int TOTAL_DURATION;
- public static int UNKNOWN_DELAY_DURATION;
- public static int VSYNC_TIMESTAMP;
-}
-
--keep class android.view.FrameStats {
- <init>();
-
- public long getEndTimeNano();
- public int getFrameCount();
- public long getFramePresentedTimeNano(int);
- public long getRefreshPeriodNano();
- public long getStartTimeNano();
-
-
- public static long UNDEFINED_TIME_NANO;
- protected long[] mFramesPresentedTimeNano;
- protected long mRefreshPeriodNano;
-}
-
--keep class android.view.IAppTransitionAnimationSpecsFuture {
-
- public abstract android.view.AppTransitionAnimationSpec[] get();
-
-
-}
-
--keep class android.view.IRecentsAnimationController {
-
- public abstract void finish(boolean);
- public abstract void hideCurrentInputMethod();
- public abstract android.app.ActivityManager$TaskSnapshot screenshotTask(int);
- public abstract void setAnimationTargetsBehindSystemBars(boolean);
- public abstract void setInputConsumerEnabled(boolean);
- public abstract void setSplitScreenMinimized(boolean);
-
-
-}
-
--keep class android.view.IRecentsAnimationRunner {
-
- public abstract void onAnimationCanceled();
- public abstract void onAnimationStart(android.view.IRecentsAnimationController, android.view.RemoteAnimationTarget[], android.graphics.Rect, android.graphics.Rect);
-
-
-}
-
--keep class android.view.IRemoteAnimationFinishedCallback {
-
- public abstract void onAnimationFinished();
-
-
-}
-
--keep class android.view.IRemoteAnimationRunner {
-
- public abstract void onAnimationCancelled();
- public abstract void onAnimationStart(android.view.RemoteAnimationTarget[], android.view.IRemoteAnimationFinishedCallback);
-
-
-}
-
--keep class android.view.IWindow {
-
- public abstract void closeSystemDialogs(java.lang.String);
- public abstract void dispatchAppVisibility(boolean);
- public abstract void dispatchDragEvent(android.view.DragEvent);
- public abstract void dispatchGetNewSurface();
- public abstract void dispatchPointerCaptureChanged(boolean);
- public abstract void dispatchSystemUiVisibilityChanged(int, int, int, int);
- public abstract void dispatchWallpaperCommand(java.lang.String, int, int, int, android.os.Bundle, boolean);
- public abstract void dispatchWallpaperOffsets(float, float, float, float, boolean);
- public abstract void dispatchWindowShown();
- public abstract void executeCommand(java.lang.String, java.lang.String, android.os.ParcelFileDescriptor);
- public abstract void moved(int, int);
- public abstract void requestAppKeyboardShortcuts(com.android.internal.os.IResultReceiver, int);
- public abstract void resized(android.graphics.Rect, android.graphics.Rect, android.graphics.Rect, android.graphics.Rect, android.graphics.Rect, android.graphics.Rect, boolean, android.util.MergedConfiguration, android.graphics.Rect, boolean, boolean, int, android.view.DisplayCutout$ParcelableWrapper);
- public abstract void updatePointerIcon(float, float);
- public abstract void windowFocusChanged(boolean, boolean);
-
-
-}
-
--keep class android.view.IWindowFocusObserver {
-
- public abstract void focusGained(android.os.IBinder);
- public abstract void focusLost(android.os.IBinder);
-
-
-}
-
--keep class android.view.IWindowId {
-
- public abstract boolean isFocused();
- public abstract void registerFocusObserver(android.view.IWindowFocusObserver);
- public abstract void unregisterFocusObserver(android.view.IWindowFocusObserver);
-
-
-}
-
--keep class android.view.InflateException {
- <init>();
- <init>(java.lang.String, java.lang.Throwable);
- <init>(java.lang.String);
- <init>(java.lang.Throwable);
-
-
-
-}
-
--keep class android.view.InputChannel {
- <init>();
-
- public int describeContents();
- public void dispose();
- public android.view.InputChannel dup();
- protected void finalize();
- public java.lang.String getName();
- public static android.view.InputChannel[] openInputChannelPair(java.lang.String);
- public void readFromParcel(android.os.Parcel);
- public java.lang.String toString();
- public void transferTo(android.view.InputChannel);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.view.InputDevice {
-
- public int describeContents();
- public void disable();
- public void enable();
- public int getControllerNumber();
- public java.lang.String getDescriptor();
- public static android.view.InputDevice getDevice(int);
- public static int[] getDeviceIds();
- public int getGeneration();
- public int getId();
- public android.hardware.input.InputDeviceIdentifier getIdentifier();
- public android.view.KeyCharacterMap getKeyCharacterMap();
- public int getKeyboardType();
- public android.view.InputDevice$MotionRange getMotionRange(int);
- public android.view.InputDevice$MotionRange getMotionRange(int, int);
- public java.util.List getMotionRanges();
- public java.lang.String getName();
- public int getProductId();
- public int getSources();
- public int getVendorId();
- public android.os.Vibrator getVibrator();
- public boolean hasButtonUnderPad();
- public boolean[] hasKeys(int[]);
- public boolean hasMicrophone();
- public boolean isEnabled();
- public boolean isExternal();
- public boolean isFullKeyboard();
- public boolean isVirtual();
- public void setCustomPointerIcon(android.view.PointerIcon);
- public void setPointerType(int);
- public boolean supportsSource(int);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int KEYBOARD_TYPE_ALPHABETIC;
- public static int KEYBOARD_TYPE_NONE;
- public static int KEYBOARD_TYPE_NON_ALPHABETIC;
- public static int MOTION_RANGE_ORIENTATION;
- public static int MOTION_RANGE_PRESSURE;
- public static int MOTION_RANGE_SIZE;
- public static int MOTION_RANGE_TOOL_MAJOR;
- public static int MOTION_RANGE_TOOL_MINOR;
- public static int MOTION_RANGE_TOUCH_MAJOR;
- public static int MOTION_RANGE_TOUCH_MINOR;
- public static int MOTION_RANGE_X;
- public static int MOTION_RANGE_Y;
- public static int SOURCE_ANY;
- public static int SOURCE_BLUETOOTH_STYLUS;
- public static int SOURCE_CLASS_BUTTON;
- public static int SOURCE_CLASS_JOYSTICK;
- public static int SOURCE_CLASS_MASK;
- public static int SOURCE_CLASS_NONE;
- public static int SOURCE_CLASS_POINTER;
- public static int SOURCE_CLASS_POSITION;
- public static int SOURCE_CLASS_TRACKBALL;
- public static int SOURCE_DPAD;
- public static int SOURCE_GAMEPAD;
- public static int SOURCE_HDMI;
- public static int SOURCE_JOYSTICK;
- public static int SOURCE_KEYBOARD;
- public static int SOURCE_MOUSE;
- public static int SOURCE_MOUSE_RELATIVE;
- public static int SOURCE_ROTARY_ENCODER;
- public static int SOURCE_STYLUS;
- public static int SOURCE_TOUCHPAD;
- public static int SOURCE_TOUCHSCREEN;
- public static int SOURCE_TOUCH_NAVIGATION;
- public static int SOURCE_TRACKBALL;
- public static int SOURCE_UNKNOWN;
-}
-
--keep class android.view.InputDevice$MotionRange {
-
- public int getAxis();
- public float getFlat();
- public float getFuzz();
- public float getMax();
- public float getMin();
- public float getRange();
- public float getResolution();
- public int getSource();
- public boolean isFromSource(int);
-
-
-}
-
--keep class android.view.InputEvent {
-
- public abstract void cancel();
- public abstract android.view.InputEvent copy();
- public int describeContents();
- public android.view.InputDevice getDevice();
- public abstract int getDeviceId();
- public abstract long getEventTime();
- public abstract long getEventTimeNano();
- public int getSequenceNumber();
- public abstract int getSource();
- public boolean isFromSource(int);
- public abstract boolean isTainted();
- protected void prepareForReuse();
- public void recycle();
- public void recycleIfNeededAfterDispatch();
- public abstract void setSource(int);
- public abstract void setTainted(boolean);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- protected static int PARCEL_TOKEN_KEY_EVENT;
- protected static int PARCEL_TOKEN_MOTION_EVENT;
- protected boolean mRecycled;
- protected int mSeq;
-}
-
--keep class android.view.InputEventConsistencyVerifier {
- <init>(java.lang.Object, int);
- <init>(java.lang.Object, int, java.lang.String);
-
- public static boolean isInstrumentationEnabled();
- public void onGenericMotionEvent(android.view.MotionEvent, int);
- public void onInputEvent(android.view.InputEvent, int);
- public void onKeyEvent(android.view.KeyEvent, int);
- public void onTouchEvent(android.view.MotionEvent, int);
- public void onTrackballEvent(android.view.MotionEvent, int);
- public void onUnhandledEvent(android.view.InputEvent, int);
- public void reset();
-
-
- public static int FLAG_RAW_DEVICE_INPUT;
-}
-
--keep class android.view.InputEventReceiver {
- <init>(android.view.InputChannel, android.os.Looper);
-
- public boolean consumeBatchedInputEvents(long);
- public void dispose();
- protected void finalize();
- public void finishInputEvent(android.view.InputEvent, boolean);
- public void onBatchedInputEventPending();
- public void onInputEvent(android.view.InputEvent, int);
-
-
-}
-
--keep class android.view.InputQueue {
- <init>();
-
- public void dispose();
- public void dispose(boolean);
- protected void finalize();
- public long getNativePtr();
- public void sendInputEvent(android.view.InputEvent, java.lang.Object, boolean, android.view.InputQueue$FinishedInputEventCallback);
-
-
-}
-
--keep class android.view.InputQueue$Callback {
-
- public abstract void onInputQueueCreated(android.view.InputQueue);
- public abstract void onInputQueueDestroyed(android.view.InputQueue);
-
-
-}
-
--keep class android.view.InputQueue$FinishedInputEventCallback {
-
- public abstract void onFinishedInputEvent(java.lang.Object, boolean);
-
-
-}
-
--keep class android.view.KeyCharacterMap {
-
- public int describeContents();
- public static boolean deviceHasKey(int);
- public static boolean[] deviceHasKeys(int[]);
- protected void finalize();
- public int get(int, int);
- public static int getDeadChar(int, int);
- public char getDisplayLabel(int);
- public android.view.KeyEvent[] getEvents(char[]);
- public android.view.KeyCharacterMap$FallbackAction getFallbackAction(int, int);
- public boolean getKeyData(int, android.view.KeyCharacterMap$KeyData);
- public int getKeyboardType();
- public char getMatch(int, char[]);
- public char getMatch(int, char[], int);
- public int getModifierBehavior();
- public char getNumber(int);
- public boolean isPrintingKey(int);
- public static android.view.KeyCharacterMap load(int);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static int ALPHA;
- public static int BUILT_IN_KEYBOARD;
- public static int COMBINING_ACCENT;
- public static int COMBINING_ACCENT_MASK;
- public static android.os.Parcelable$Creator CREATOR;
- public static int FULL;
- public static char HEX_INPUT;
- public static int MODIFIER_BEHAVIOR_CHORDED;
- public static int MODIFIER_BEHAVIOR_CHORDED_OR_TOGGLED;
- public static int NUMERIC;
- public static char PICKER_DIALOG_INPUT;
- public static int PREDICTIVE;
- public static int SPECIAL_FUNCTION;
- public static int VIRTUAL_KEYBOARD;
-}
-
--keep class android.view.KeyCharacterMap$FallbackAction {
-
- public static android.view.KeyCharacterMap$FallbackAction obtain();
- public void recycle();
-
-
- public int keyCode;
- public int metaState;
-}
-
--keep class android.view.KeyCharacterMap$KeyData {
- <init>();
-
-
-
- public static int META_LENGTH;
- public char displayLabel;
- public char[] meta;
- public char number;
-}
-
--keep class android.view.KeyEvent {
- <init>(int, int);
- <init>(long, long, int, int, int);
- <init>(long, long, int, int, int, int);
- <init>(long, long, int, int, int, int, int, int);
- <init>(long, long, int, int, int, int, int, int, int);
- <init>(long, long, int, int, int, int, int, int, int, int);
- <init>(long, java.lang.String, int, int);
- <init>(android.view.KeyEvent);
- <init>(android.view.KeyEvent, long, int);
-
- public static java.lang.String actionToString(int);
- public void cancel();
- public static android.view.KeyEvent changeAction(android.view.KeyEvent, int);
- public static android.view.KeyEvent changeFlags(android.view.KeyEvent, int);
- public static android.view.KeyEvent changeTimeRepeat(android.view.KeyEvent, long, int);
- public static android.view.KeyEvent changeTimeRepeat(android.view.KeyEvent, long, int, int);
- public android.view.KeyEvent copy();
- public android.view.InputEvent copy();
- public static android.view.KeyEvent createFromParcelBody(android.os.Parcel);
- public boolean dispatch(android.view.KeyEvent$Callback);
- public boolean dispatch(android.view.KeyEvent$Callback, android.view.KeyEvent$DispatcherState, java.lang.Object);
- public int getAction();
- public java.lang.String getCharacters();
- public static int getDeadChar(int, int);
- public int getDeviceId();
- public char getDisplayLabel();
- public long getDownTime();
- public long getEventTime();
- public long getEventTimeNano();
- public int getFlags();
- public android.view.KeyCharacterMap getKeyCharacterMap();
- public int getKeyCode();
- public boolean getKeyData(android.view.KeyCharacterMap$KeyData);
- public int getKeyboardDevice();
- public char getMatch(char[]);
- public char getMatch(char[], int);
- public static int getMaxKeyCode();
- public int getMetaState();
- public static int getModifierMetaStateMask();
- public int getModifiers();
- public char getNumber();
- public int getRepeatCount();
- public int getScanCode();
- public int getSource();
- public int getUnicodeChar();
- public int getUnicodeChar(int);
- public boolean hasModifiers(int);
- public boolean hasNoModifiers();
- public static boolean isAltKey(int);
- public boolean isAltPressed();
- public boolean isCanceled();
- public boolean isCapsLockOn();
- public static boolean isConfirmKey(int);
- public boolean isCtrlPressed();
- public boolean isDown();
- public boolean isFunctionPressed();
- public static boolean isGamepadButton(int);
- public boolean isLongPress();
- public static boolean isMediaKey(int);
- public static boolean isMetaKey(int);
- public boolean isMetaPressed();
- public static boolean isModifierKey(int);
- public boolean isNumLockOn();
- public boolean isPrintingKey();
- public boolean isScrollLockOn();
- public boolean isShiftPressed();
- public boolean isSymPressed();
- public boolean isSystem();
- public static boolean isSystemKey(int);
- public boolean isTainted();
- public boolean isTracking();
- public boolean isWakeKey();
- public static boolean isWakeKey(int);
- public static int keyCodeFromString(java.lang.String);
- public static java.lang.String keyCodeToString(int);
- public static boolean metaStateHasModifiers(int, int);
- public static boolean metaStateHasNoModifiers(int);
- public static java.lang.String metaStateToString(int);
- public static int normalizeMetaState(int);
- public static android.view.KeyEvent obtain(long, long, int, int, int, int, int, int, int, int, java.lang.String);
- public static android.view.KeyEvent obtain(android.view.KeyEvent);
- public void recycle();
- public void recycleIfNeededAfterDispatch();
- public void setSource(int);
- public void setTainted(boolean);
- public void startTracking();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static int ACTION_DOWN;
- public static int ACTION_MULTIPLE;
- public static int ACTION_UP;
- public static android.os.Parcelable$Creator CREATOR;
- public static int FLAG_CANCELED;
- public static int FLAG_CANCELED_LONG_PRESS;
- public static int FLAG_EDITOR_ACTION;
- public static int FLAG_FALLBACK;
- public static int FLAG_FROM_SYSTEM;
- public static int FLAG_KEEP_TOUCH_MODE;
- public static int FLAG_LONG_PRESS;
- public static int FLAG_PREDISPATCH;
- public static int FLAG_SOFT_KEYBOARD;
- public static int FLAG_START_TRACKING;
- public static int FLAG_TAINTED;
- public static int FLAG_TRACKING;
- public static int FLAG_VIRTUAL_HARD_KEY;
- public static int FLAG_WOKE_HERE;
- public static int KEYCODE_0;
- public static int KEYCODE_1;
- public static int KEYCODE_11;
- public static int KEYCODE_12;
- public static int KEYCODE_2;
- public static int KEYCODE_3;
- public static int KEYCODE_3D_MODE;
- public static int KEYCODE_4;
- public static int KEYCODE_5;
- public static int KEYCODE_6;
- public static int KEYCODE_7;
- public static int KEYCODE_8;
- public static int KEYCODE_9;
- public static int KEYCODE_A;
- public static int KEYCODE_ALL_APPS;
- public static int KEYCODE_ALT_LEFT;
- public static int KEYCODE_ALT_RIGHT;
- public static int KEYCODE_APOSTROPHE;
- public static int KEYCODE_APP_SWITCH;
- public static int KEYCODE_ASSIST;
- public static int KEYCODE_AT;
- public static int KEYCODE_AVR_INPUT;
- public static int KEYCODE_AVR_POWER;
- public static int KEYCODE_B;
- public static int KEYCODE_BACK;
- public static int KEYCODE_BACKSLASH;
- public static int KEYCODE_BOOKMARK;
- public static int KEYCODE_BREAK;
- public static int KEYCODE_BRIGHTNESS_DOWN;
- public static int KEYCODE_BRIGHTNESS_UP;
- public static int KEYCODE_BUTTON_1;
- public static int KEYCODE_BUTTON_10;
- public static int KEYCODE_BUTTON_11;
- public static int KEYCODE_BUTTON_12;
- public static int KEYCODE_BUTTON_13;
- public static int KEYCODE_BUTTON_14;
- public static int KEYCODE_BUTTON_15;
- public static int KEYCODE_BUTTON_16;
- public static int KEYCODE_BUTTON_2;
- public static int KEYCODE_BUTTON_3;
- public static int KEYCODE_BUTTON_4;
- public static int KEYCODE_BUTTON_5;
- public static int KEYCODE_BUTTON_6;
- public static int KEYCODE_BUTTON_7;
- public static int KEYCODE_BUTTON_8;
- public static int KEYCODE_BUTTON_9;
- public static int KEYCODE_BUTTON_A;
- public static int KEYCODE_BUTTON_B;
- public static int KEYCODE_BUTTON_C;
- public static int KEYCODE_BUTTON_L1;
- public static int KEYCODE_BUTTON_L2;
- public static int KEYCODE_BUTTON_MODE;
- public static int KEYCODE_BUTTON_R1;
- public static int KEYCODE_BUTTON_R2;
- public static int KEYCODE_BUTTON_SELECT;
- public static int KEYCODE_BUTTON_START;
- public static int KEYCODE_BUTTON_THUMBL;
- public static int KEYCODE_BUTTON_THUMBR;
- public static int KEYCODE_BUTTON_X;
- public static int KEYCODE_BUTTON_Y;
- public static int KEYCODE_BUTTON_Z;
- public static int KEYCODE_C;
- public static int KEYCODE_CALCULATOR;
- public static int KEYCODE_CALENDAR;
- public static int KEYCODE_CALL;
- public static int KEYCODE_CAMERA;
- public static int KEYCODE_CAPS_LOCK;
- public static int KEYCODE_CAPTIONS;
- public static int KEYCODE_CHANNEL_DOWN;
- public static int KEYCODE_CHANNEL_UP;
- public static int KEYCODE_CLEAR;
- public static int KEYCODE_COMMA;
- public static int KEYCODE_CONTACTS;
- public static int KEYCODE_COPY;
- public static int KEYCODE_CTRL_LEFT;
- public static int KEYCODE_CTRL_RIGHT;
- public static int KEYCODE_CUT;
- public static int KEYCODE_D;
- public static int KEYCODE_DEL;
- public static int KEYCODE_DPAD_CENTER;
- public static int KEYCODE_DPAD_DOWN;
- public static int KEYCODE_DPAD_DOWN_LEFT;
- public static int KEYCODE_DPAD_DOWN_RIGHT;
- public static int KEYCODE_DPAD_LEFT;
- public static int KEYCODE_DPAD_RIGHT;
- public static int KEYCODE_DPAD_UP;
- public static int KEYCODE_DPAD_UP_LEFT;
- public static int KEYCODE_DPAD_UP_RIGHT;
- public static int KEYCODE_DVR;
- public static int KEYCODE_E;
- public static int KEYCODE_EISU;
- public static int KEYCODE_ENDCALL;
- public static int KEYCODE_ENTER;
- public static int KEYCODE_ENVELOPE;
- public static int KEYCODE_EQUALS;
- public static int KEYCODE_ESCAPE;
- public static int KEYCODE_EXPLORER;
- public static int KEYCODE_F;
- public static int KEYCODE_F1;
- public static int KEYCODE_F10;
- public static int KEYCODE_F11;
- public static int KEYCODE_F12;
- public static int KEYCODE_F2;
- public static int KEYCODE_F3;
- public static int KEYCODE_F4;
- public static int KEYCODE_F5;
- public static int KEYCODE_F6;
- public static int KEYCODE_F7;
- public static int KEYCODE_F8;
- public static int KEYCODE_F9;
- public static int KEYCODE_FOCUS;
- public static int KEYCODE_FORWARD;
- public static int KEYCODE_FORWARD_DEL;
- public static int KEYCODE_FUNCTION;
- public static int KEYCODE_G;
- public static int KEYCODE_GRAVE;
- public static int KEYCODE_GUIDE;
- public static int KEYCODE_H;
- public static int KEYCODE_HEADSETHOOK;
- public static int KEYCODE_HELP;
- public static int KEYCODE_HENKAN;
- public static int KEYCODE_HOME;
- public static int KEYCODE_I;
- public static int KEYCODE_INFO;
- public static int KEYCODE_INSERT;
- public static int KEYCODE_J;
- public static int KEYCODE_K;
- public static int KEYCODE_KANA;
- public static int KEYCODE_KATAKANA_HIRAGANA;
- public static int KEYCODE_L;
- public static int KEYCODE_LANGUAGE_SWITCH;
- public static int KEYCODE_LAST_CHANNEL;
- public static int KEYCODE_LEFT_BRACKET;
- public static int KEYCODE_M;
- public static int KEYCODE_MANNER_MODE;
- public static int KEYCODE_MEDIA_AUDIO_TRACK;
- public static int KEYCODE_MEDIA_CLOSE;
- public static int KEYCODE_MEDIA_EJECT;
- public static int KEYCODE_MEDIA_FAST_FORWARD;
- public static int KEYCODE_MEDIA_NEXT;
- public static int KEYCODE_MEDIA_PAUSE;
- public static int KEYCODE_MEDIA_PLAY;
- public static int KEYCODE_MEDIA_PLAY_PAUSE;
- public static int KEYCODE_MEDIA_PREVIOUS;
- public static int KEYCODE_MEDIA_RECORD;
- public static int KEYCODE_MEDIA_REWIND;
- public static int KEYCODE_MEDIA_SKIP_BACKWARD;
- public static int KEYCODE_MEDIA_SKIP_FORWARD;
- public static int KEYCODE_MEDIA_STEP_BACKWARD;
- public static int KEYCODE_MEDIA_STEP_FORWARD;
- public static int KEYCODE_MEDIA_STOP;
- public static int KEYCODE_MEDIA_TOP_MENU;
- public static int KEYCODE_MENU;
- public static int KEYCODE_META_LEFT;
- public static int KEYCODE_META_RIGHT;
- public static int KEYCODE_MINUS;
- public static int KEYCODE_MOVE_END;
- public static int KEYCODE_MOVE_HOME;
- public static int KEYCODE_MUHENKAN;
- public static int KEYCODE_MUSIC;
- public static int KEYCODE_MUTE;
- public static int KEYCODE_N;
- public static int KEYCODE_NAVIGATE_IN;
- public static int KEYCODE_NAVIGATE_NEXT;
- public static int KEYCODE_NAVIGATE_OUT;
- public static int KEYCODE_NAVIGATE_PREVIOUS;
- public static int KEYCODE_NOTIFICATION;
- public static int KEYCODE_NUM;
- public static int KEYCODE_NUMPAD_0;
- public static int KEYCODE_NUMPAD_1;
- public static int KEYCODE_NUMPAD_2;
- public static int KEYCODE_NUMPAD_3;
- public static int KEYCODE_NUMPAD_4;
- public static int KEYCODE_NUMPAD_5;
- public static int KEYCODE_NUMPAD_6;
- public static int KEYCODE_NUMPAD_7;
- public static int KEYCODE_NUMPAD_8;
- public static int KEYCODE_NUMPAD_9;
- public static int KEYCODE_NUMPAD_ADD;
- public static int KEYCODE_NUMPAD_COMMA;
- public static int KEYCODE_NUMPAD_DIVIDE;
- public static int KEYCODE_NUMPAD_DOT;
- public static int KEYCODE_NUMPAD_ENTER;
- public static int KEYCODE_NUMPAD_EQUALS;
- public static int KEYCODE_NUMPAD_LEFT_PAREN;
- public static int KEYCODE_NUMPAD_MULTIPLY;
- public static int KEYCODE_NUMPAD_RIGHT_PAREN;
- public static int KEYCODE_NUMPAD_SUBTRACT;
- public static int KEYCODE_NUM_LOCK;
- public static int KEYCODE_O;
- public static int KEYCODE_P;
- public static int KEYCODE_PAGE_DOWN;
- public static int KEYCODE_PAGE_UP;
- public static int KEYCODE_PAIRING;
- public static int KEYCODE_PASTE;
- public static int KEYCODE_PERIOD;
- public static int KEYCODE_PICTSYMBOLS;
- public static int KEYCODE_PLUS;
- public static int KEYCODE_POUND;
- public static int KEYCODE_POWER;
- public static int KEYCODE_PROG_BLUE;
- public static int KEYCODE_PROG_GREEN;
- public static int KEYCODE_PROG_RED;
- public static int KEYCODE_PROG_YELLOW;
- public static int KEYCODE_Q;
- public static int KEYCODE_R;
- public static int KEYCODE_REFRESH;
- public static int KEYCODE_RIGHT_BRACKET;
- public static int KEYCODE_RO;
- public static int KEYCODE_S;
- public static int KEYCODE_SCROLL_LOCK;
- public static int KEYCODE_SEARCH;
- public static int KEYCODE_SEMICOLON;
- public static int KEYCODE_SETTINGS;
- public static int KEYCODE_SHIFT_LEFT;
- public static int KEYCODE_SHIFT_RIGHT;
- public static int KEYCODE_SLASH;
- public static int KEYCODE_SLEEP;
- public static int KEYCODE_SOFT_LEFT;
- public static int KEYCODE_SOFT_RIGHT;
- public static int KEYCODE_SOFT_SLEEP;
- public static int KEYCODE_SPACE;
- public static int KEYCODE_STAR;
- public static int KEYCODE_STB_INPUT;
- public static int KEYCODE_STB_POWER;
- public static int KEYCODE_STEM_1;
- public static int KEYCODE_STEM_2;
- public static int KEYCODE_STEM_3;
- public static int KEYCODE_STEM_PRIMARY;
- public static int KEYCODE_SWITCH_CHARSET;
- public static int KEYCODE_SYM;
- public static int KEYCODE_SYSRQ;
- public static int KEYCODE_SYSTEM_NAVIGATION_DOWN;
- public static int KEYCODE_SYSTEM_NAVIGATION_LEFT;
- public static int KEYCODE_SYSTEM_NAVIGATION_RIGHT;
- public static int KEYCODE_SYSTEM_NAVIGATION_UP;
- public static int KEYCODE_T;
- public static int KEYCODE_TAB;
- public static int KEYCODE_TV;
- public static int KEYCODE_TV_ANTENNA_CABLE;
- public static int KEYCODE_TV_AUDIO_DESCRIPTION;
- public static int KEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN;
- public static int KEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP;
- public static int KEYCODE_TV_CONTENTS_MENU;
- public static int KEYCODE_TV_DATA_SERVICE;
- public static int KEYCODE_TV_INPUT;
- public static int KEYCODE_TV_INPUT_COMPONENT_1;
- public static int KEYCODE_TV_INPUT_COMPONENT_2;
- public static int KEYCODE_TV_INPUT_COMPOSITE_1;
- public static int KEYCODE_TV_INPUT_COMPOSITE_2;
- public static int KEYCODE_TV_INPUT_HDMI_1;
- public static int KEYCODE_TV_INPUT_HDMI_2;
- public static int KEYCODE_TV_INPUT_HDMI_3;
- public static int KEYCODE_TV_INPUT_HDMI_4;
- public static int KEYCODE_TV_INPUT_VGA_1;
- public static int KEYCODE_TV_MEDIA_CONTEXT_MENU;
- public static int KEYCODE_TV_NETWORK;
- public static int KEYCODE_TV_NUMBER_ENTRY;
- public static int KEYCODE_TV_POWER;
- public static int KEYCODE_TV_RADIO_SERVICE;
- public static int KEYCODE_TV_SATELLITE;
- public static int KEYCODE_TV_SATELLITE_BS;
- public static int KEYCODE_TV_SATELLITE_CS;
- public static int KEYCODE_TV_SATELLITE_SERVICE;
- public static int KEYCODE_TV_TELETEXT;
- public static int KEYCODE_TV_TERRESTRIAL_ANALOG;
- public static int KEYCODE_TV_TERRESTRIAL_DIGITAL;
- public static int KEYCODE_TV_TIMER_PROGRAMMING;
- public static int KEYCODE_TV_ZOOM_MODE;
- public static int KEYCODE_U;
- public static int KEYCODE_UNKNOWN;
- public static int KEYCODE_V;
- public static int KEYCODE_VOICE_ASSIST;
- public static int KEYCODE_VOLUME_DOWN;
- public static int KEYCODE_VOLUME_MUTE;
- public static int KEYCODE_VOLUME_UP;
- public static int KEYCODE_W;
- public static int KEYCODE_WAKEUP;
- public static int KEYCODE_WINDOW;
- public static int KEYCODE_X;
- public static int KEYCODE_Y;
- public static int KEYCODE_YEN;
- public static int KEYCODE_Z;
- public static int KEYCODE_ZENKAKU_HANKAKU;
- public static int KEYCODE_ZOOM_IN;
- public static int KEYCODE_ZOOM_OUT;
- public static int MAX_KEYCODE;
- public static int META_ALT_LEFT_ON;
- public static int META_ALT_LOCKED;
- public static int META_ALT_MASK;
- public static int META_ALT_ON;
- public static int META_ALT_RIGHT_ON;
- public static int META_CAPS_LOCK_ON;
- public static int META_CAP_LOCKED;
- public static int META_CTRL_LEFT_ON;
- public static int META_CTRL_MASK;
- public static int META_CTRL_ON;
- public static int META_CTRL_RIGHT_ON;
- public static int META_FUNCTION_ON;
- public static int META_META_LEFT_ON;
- public static int META_META_MASK;
- public static int META_META_ON;
- public static int META_META_RIGHT_ON;
- public static int META_NUM_LOCK_ON;
- public static int META_SCROLL_LOCK_ON;
- public static int META_SELECTING;
- public static int META_SHIFT_LEFT_ON;
- public static int META_SHIFT_MASK;
- public static int META_SHIFT_ON;
- public static int META_SHIFT_RIGHT_ON;
- public static int META_SYM_LOCKED;
- public static int META_SYM_ON;
-}
-
--keep class android.view.KeyEvent$Callback {
-
- public abstract boolean onKeyDown(int, android.view.KeyEvent);
- public abstract boolean onKeyLongPress(int, android.view.KeyEvent);
- public abstract boolean onKeyMultiple(int, int, android.view.KeyEvent);
- public abstract boolean onKeyUp(int, android.view.KeyEvent);
-
-
-}
-
--keep class android.view.KeyEvent$DispatcherState {
- <init>();
-
- public void handleUpEvent(android.view.KeyEvent);
- public boolean isTracking(android.view.KeyEvent);
- public void performedLongPress(android.view.KeyEvent);
- public void reset();
- public void reset(java.lang.Object);
- public void startTracking(android.view.KeyEvent, java.lang.Object);
-
-
-}
-
--keep class android.view.KeyboardShortcutGroup {
- <init>(java.lang.CharSequence, java.util.List);
- <init>(java.lang.CharSequence);
- <init>(java.lang.CharSequence, java.util.List, boolean);
- <init>(java.lang.CharSequence, boolean);
-
- public void addItem(android.view.KeyboardShortcutInfo);
- public int describeContents();
- public java.util.List getItems();
- public java.lang.CharSequence getLabel();
- public boolean isSystemGroup();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.view.KeyboardShortcutInfo {
- <init>(java.lang.CharSequence, android.graphics.drawable.Icon, int, int);
- <init>(java.lang.CharSequence, int, int);
- <init>(java.lang.CharSequence, char, int);
-
- public int describeContents();
- public char getBaseCharacter();
- public android.graphics.drawable.Icon getIcon();
- public int getKeycode();
- public java.lang.CharSequence getLabel();
- public int getModifiers();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.view.LayoutInflater {
- <init>(android.content.Context);
- <init>(android.view.LayoutInflater, android.content.Context);
-
- public abstract android.view.LayoutInflater cloneInContext(android.content.Context);
- public android.view.View createView(java.lang.String, java.lang.String, android.util.AttributeSet);
- public static android.view.LayoutInflater from(android.content.Context);
- public android.content.Context getContext();
- public android.view.LayoutInflater$Factory getFactory();
- public android.view.LayoutInflater$Factory2 getFactory2();
- public android.view.LayoutInflater$Filter getFilter();
- public android.view.View inflate(int, android.view.ViewGroup);
- public android.view.View inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup);
- public android.view.View inflate(int, android.view.ViewGroup, boolean);
- public android.view.View inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean);
- protected android.view.View onCreateView(java.lang.String, android.util.AttributeSet);
- protected android.view.View onCreateView(android.view.View, java.lang.String, android.util.AttributeSet);
- public void setFactory(android.view.LayoutInflater$Factory);
- public void setFactory2(android.view.LayoutInflater$Factory2);
- public void setFilter(android.view.LayoutInflater$Filter);
- public void setPrivateFactory(android.view.LayoutInflater$Factory2);
-
-
- protected android.content.Context mContext;
-}
-
--keep class android.view.LayoutInflater$Factory {
-
- public abstract android.view.View onCreateView(java.lang.String, android.content.Context, android.util.AttributeSet);
-
-
-}
-
--keep class android.view.LayoutInflater$Factory2 {
-
- public abstract android.view.View onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet);
-
-
-}
-
--keep class android.view.LayoutInflater$Filter {
-
- public abstract boolean onLoadClass(java.lang.Class);
-
-
-}
-
--keep class android.view.MagnificationSpec {
-
- public void clear();
- public int describeContents();
- public boolean equals(java.lang.Object);
- public int hashCode();
- public void initialize(float, float, float);
- public boolean isNop();
- public static android.view.MagnificationSpec obtain(android.view.MagnificationSpec);
- public static android.view.MagnificationSpec obtain();
- public void recycle();
- public void setTo(android.view.MagnificationSpec);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public float offsetX;
- public float offsetY;
- public float scale;
-}
-
--keep class android.view.Menu {
-
- public abstract android.view.MenuItem add(java.lang.CharSequence);
- public abstract android.view.MenuItem add(int);
- public abstract android.view.MenuItem add(int, int, int, java.lang.CharSequence);
- public abstract android.view.MenuItem add(int, int, int, int);
- public abstract int addIntentOptions(int, int, int, android.content.ComponentName, android.content.Intent[], android.content.Intent, int, android.view.MenuItem[]);
- public abstract android.view.SubMenu addSubMenu(java.lang.CharSequence);
- public abstract android.view.SubMenu addSubMenu(int);
- public abstract android.view.SubMenu addSubMenu(int, int, int, java.lang.CharSequence);
- public abstract android.view.SubMenu addSubMenu(int, int, int, int);
- public abstract void clear();
- public abstract void close();
- public abstract android.view.MenuItem findItem(int);
- public abstract android.view.MenuItem getItem(int);
- public abstract boolean hasVisibleItems();
- public abstract boolean isShortcutKey(int, android.view.KeyEvent);
- public abstract boolean performIdentifierAction(int, int);
- public abstract boolean performShortcut(int, android.view.KeyEvent, int);
- public abstract void removeGroup(int);
- public abstract void removeItem(int);
- public abstract void setGroupCheckable(int, boolean, boolean);
- public void setGroupDividerEnabled(boolean);
- public abstract void setGroupEnabled(int, boolean);
- public abstract void setGroupVisible(int, boolean);
- public abstract void setQwertyMode(boolean);
- public abstract int size();
-
-
- public static int CATEGORY_ALTERNATIVE;
- public static int CATEGORY_CONTAINER;
- public static int CATEGORY_MASK;
- public static int CATEGORY_SECONDARY;
- public static int CATEGORY_SHIFT;
- public static int CATEGORY_SYSTEM;
- public static int FIRST;
- public static int FLAG_ALWAYS_PERFORM_CLOSE;
- public static int FLAG_APPEND_TO_GROUP;
- public static int FLAG_PERFORM_NO_CLOSE;
- public static int NONE;
- public static int SUPPORTED_MODIFIERS_MASK;
- public static int USER_MASK;
- public static int USER_SHIFT;
-}
-
--keep class android.view.MenuInflater {
- <init>(android.content.Context);
- <init>(android.content.Context, java.lang.Object);
-
- public void inflate(int, android.view.Menu);
-
-
-}
-
--keep class android.view.MenuItem {
-
- public abstract boolean collapseActionView();
- public abstract boolean expandActionView();
- public abstract android.view.ActionProvider getActionProvider();
- public abstract android.view.View getActionView();
- public int getAlphabeticModifiers();
- public abstract char getAlphabeticShortcut();
- public java.lang.CharSequence getContentDescription();
- public abstract int getGroupId();
- public abstract android.graphics.drawable.Drawable getIcon();
- public android.content.res.ColorStateList getIconTintList();
- public android.graphics.PorterDuff$Mode getIconTintMode();
- public abstract android.content.Intent getIntent();
- public abstract int getItemId();
- public abstract android.view.ContextMenu$ContextMenuInfo getMenuInfo();
- public int getNumericModifiers();
- public abstract char getNumericShortcut();
- public abstract int getOrder();
- public abstract android.view.SubMenu getSubMenu();
- public abstract java.lang.CharSequence getTitle();
- public abstract java.lang.CharSequence getTitleCondensed();
- public java.lang.CharSequence getTooltipText();
- public abstract boolean hasSubMenu();
- public abstract boolean isActionViewExpanded();
- public abstract boolean isCheckable();
- public abstract boolean isChecked();
- public abstract boolean isEnabled();
- public abstract boolean isVisible();
- public boolean requiresActionButton();
- public boolean requiresOverflow();
- public abstract android.view.MenuItem setActionProvider(android.view.ActionProvider);
- public abstract android.view.MenuItem setActionView(android.view.View);
- public abstract android.view.MenuItem setActionView(int);
- public abstract android.view.MenuItem setAlphabeticShortcut(char);
- public android.view.MenuItem setAlphabeticShortcut(char, int);
- public abstract android.view.MenuItem setCheckable(boolean);
- public abstract android.view.MenuItem setChecked(boolean);
- public android.view.MenuItem setContentDescription(java.lang.CharSequence);
- public abstract android.view.MenuItem setEnabled(boolean);
- public abstract android.view.MenuItem setIcon(android.graphics.drawable.Drawable);
- public abstract android.view.MenuItem setIcon(int);
- public android.view.MenuItem setIconTintList(android.content.res.ColorStateList);
- public android.view.MenuItem setIconTintMode(android.graphics.PorterDuff$Mode);
- public abstract android.view.MenuItem setIntent(android.content.Intent);
- public abstract android.view.MenuItem setNumericShortcut(char);
- public android.view.MenuItem setNumericShortcut(char, int);
- public abstract android.view.MenuItem setOnActionExpandListener(android.view.MenuItem$OnActionExpandListener);
- public abstract android.view.MenuItem setOnMenuItemClickListener(android.view.MenuItem$OnMenuItemClickListener);
- public abstract android.view.MenuItem setShortcut(char, char);
- public android.view.MenuItem setShortcut(char, char, int, int);
- public abstract void setShowAsAction(int);
- public abstract android.view.MenuItem setShowAsActionFlags(int);
- public abstract android.view.MenuItem setTitle(java.lang.CharSequence);
- public abstract android.view.MenuItem setTitle(int);
- public abstract android.view.MenuItem setTitleCondensed(java.lang.CharSequence);
- public android.view.MenuItem setTooltipText(java.lang.CharSequence);
- public abstract android.view.MenuItem setVisible(boolean);
-
-
- public static int SHOW_AS_ACTION_ALWAYS;
- public static int SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW;
- public static int SHOW_AS_ACTION_IF_ROOM;
- public static int SHOW_AS_ACTION_NEVER;
- public static int SHOW_AS_ACTION_WITH_TEXT;
-}
-
--keep class android.view.MenuItem$OnActionExpandListener {
-
- public abstract boolean onMenuItemActionCollapse(android.view.MenuItem);
- public abstract boolean onMenuItemActionExpand(android.view.MenuItem);
-
-
-}
-
--keep class android.view.MenuItem$OnMenuItemClickListener {
-
- public abstract boolean onMenuItemClick(android.view.MenuItem);
-
-
-}
-
--keep class android.view.MotionEvent {
-
- public static java.lang.String actionToString(int);
- public void addBatch(long, float, float, float, float, int);
- public void addBatch(long, android.view.MotionEvent$PointerCoords[], int);
- public boolean addBatch(android.view.MotionEvent);
- public static int axisFromString(java.lang.String);
- public static java.lang.String axisToString(int);
- public static java.lang.String buttonStateToString(int);
- public void cancel();
- public android.view.MotionEvent clampNoHistory(float, float, float, float);
- public android.view.MotionEvent copy();
- public android.view.InputEvent copy();
- public static android.view.MotionEvent createFromParcelBody(android.os.Parcel);
- protected void finalize();
- public int findPointerIndex(int);
- public int getAction();
- public int getActionButton();
- public int getActionIndex();
- public int getActionMasked();
- public float getAxisValue(int);
- public float getAxisValue(int, int);
- public int getButtonState();
- public int getDeviceId();
- public long getDownTime();
- public int getEdgeFlags();
- public long getEventTime();
- public long getEventTimeNano();
- public int getFlags();
- public float getHistoricalAxisValue(int, int);
- public float getHistoricalAxisValue(int, int, int);
- public long getHistoricalEventTime(int);
- public long getHistoricalEventTimeNano(int);
- public float getHistoricalOrientation(int);
- public float getHistoricalOrientation(int, int);
- public void getHistoricalPointerCoords(int, int, android.view.MotionEvent$PointerCoords);
- public float getHistoricalPressure(int);
- public float getHistoricalPressure(int, int);
- public float getHistoricalSize(int);
- public float getHistoricalSize(int, int);
- public float getHistoricalToolMajor(int);
- public float getHistoricalToolMajor(int, int);
- public float getHistoricalToolMinor(int);
- public float getHistoricalToolMinor(int, int);
- public float getHistoricalTouchMajor(int);
- public float getHistoricalTouchMajor(int, int);
- public float getHistoricalTouchMinor(int);
- public float getHistoricalTouchMinor(int, int);
- public float getHistoricalX(int);
- public float getHistoricalX(int, int);
- public float getHistoricalY(int);
- public float getHistoricalY(int, int);
- public int getHistorySize();
- public int getMetaState();
- public float getOrientation();
- public float getOrientation(int);
- public void getPointerCoords(int, android.view.MotionEvent$PointerCoords);
- public int getPointerCount();
- public int getPointerId(int);
- public int getPointerIdBits();
- public void getPointerProperties(int, android.view.MotionEvent$PointerProperties);
- public float getPressure();
- public float getPressure(int);
- public float getRawX();
- public float getRawY();
- public float getSize();
- public float getSize(int);
- public int getSource();
- public float getToolMajor();
- public float getToolMajor(int);
- public float getToolMinor();
- public float getToolMinor(int);
- public int getToolType(int);
- public float getTouchMajor();
- public float getTouchMajor(int);
- public float getTouchMinor();
- public float getTouchMinor(int);
- public float getX();
- public float getX(int);
- public float getXPrecision();
- public float getY();
- public float getY(int);
- public float getYPrecision();
- public boolean isButtonPressed(int);
- public boolean isHoverExitPending();
- public boolean isTainted();
- public boolean isTargetAccessibilityFocus();
- public boolean isTouchEvent();
- public boolean isWithinBoundsNoHistory(float, float, float, float);
- public static android.view.MotionEvent obtain(long, long, int, int, android.view.MotionEvent$PointerProperties[], android.view.MotionEvent$PointerCoords[], int, int, float, float, int, int, int, int);
- public static android.view.MotionEvent obtain(long, long, int, int, int[], android.view.MotionEvent$PointerCoords[], int, float, float, int, int, int, int);
- public static android.view.MotionEvent obtain(long, long, int, float, float, float, float, int, float, float, int, int);
- public static android.view.MotionEvent obtain(long, long, int, int, float, float, float, float, int, float, float, int, int);
- public static android.view.MotionEvent obtain(long, long, int, float, float, int);
- public static android.view.MotionEvent obtain(android.view.MotionEvent);
- public static android.view.MotionEvent obtainNoHistory(android.view.MotionEvent);
- public void offsetLocation(float, float);
- public void recycle();
- public void scale(float);
- public void setAction(int);
- public void setActionButton(int);
- public void setButtonState(int);
- public void setDownTime(long);
- public void setEdgeFlags(int);
- public void setHoverExitPending(boolean);
- public void setLocation(float, float);
- public void setSource(int);
- public void setTainted(boolean);
- public void setTargetAccessibilityFocus(boolean);
- public android.view.MotionEvent split(int);
- public java.lang.String toString();
- public static java.lang.String toolTypeToString(int);
- public void transform(android.graphics.Matrix);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static int ACTION_BUTTON_PRESS;
- public static int ACTION_BUTTON_RELEASE;
- public static int ACTION_CANCEL;
- public static int ACTION_DOWN;
- public static int ACTION_HOVER_ENTER;
- public static int ACTION_HOVER_EXIT;
- public static int ACTION_HOVER_MOVE;
- public static int ACTION_MASK;
- public static int ACTION_MOVE;
- public static int ACTION_OUTSIDE;
- public static int ACTION_POINTER_1_DOWN;
- public static int ACTION_POINTER_1_UP;
- public static int ACTION_POINTER_2_DOWN;
- public static int ACTION_POINTER_2_UP;
- public static int ACTION_POINTER_3_DOWN;
- public static int ACTION_POINTER_3_UP;
- public static int ACTION_POINTER_DOWN;
- public static int ACTION_POINTER_ID_MASK;
- public static int ACTION_POINTER_ID_SHIFT;
- public static int ACTION_POINTER_INDEX_MASK;
- public static int ACTION_POINTER_INDEX_SHIFT;
- public static int ACTION_POINTER_UP;
- public static int ACTION_SCROLL;
- public static int ACTION_UP;
- public static int AXIS_BRAKE;
- public static int AXIS_DISTANCE;
- public static int AXIS_GAS;
- public static int AXIS_GENERIC_1;
- public static int AXIS_GENERIC_10;
- public static int AXIS_GENERIC_11;
- public static int AXIS_GENERIC_12;
- public static int AXIS_GENERIC_13;
- public static int AXIS_GENERIC_14;
- public static int AXIS_GENERIC_15;
- public static int AXIS_GENERIC_16;
- public static int AXIS_GENERIC_2;
- public static int AXIS_GENERIC_3;
- public static int AXIS_GENERIC_4;
- public static int AXIS_GENERIC_5;
- public static int AXIS_GENERIC_6;
- public static int AXIS_GENERIC_7;
- public static int AXIS_GENERIC_8;
- public static int AXIS_GENERIC_9;
- public static int AXIS_HAT_X;
- public static int AXIS_HAT_Y;
- public static int AXIS_HSCROLL;
- public static int AXIS_LTRIGGER;
- public static int AXIS_ORIENTATION;
- public static int AXIS_PRESSURE;
- public static int AXIS_RELATIVE_X;
- public static int AXIS_RELATIVE_Y;
- public static int AXIS_RTRIGGER;
- public static int AXIS_RUDDER;
- public static int AXIS_RX;
- public static int AXIS_RY;
- public static int AXIS_RZ;
- public static int AXIS_SCROLL;
- public static int AXIS_SIZE;
- public static int AXIS_THROTTLE;
- public static int AXIS_TILT;
- public static int AXIS_TOOL_MAJOR;
- public static int AXIS_TOOL_MINOR;
- public static int AXIS_TOUCH_MAJOR;
- public static int AXIS_TOUCH_MINOR;
- public static int AXIS_VSCROLL;
- public static int AXIS_WHEEL;
- public static int AXIS_X;
- public static int AXIS_Y;
- public static int AXIS_Z;
- public static int BUTTON_BACK;
- public static int BUTTON_FORWARD;
- public static int BUTTON_PRIMARY;
- public static int BUTTON_SECONDARY;
- public static int BUTTON_STYLUS_PRIMARY;
- public static int BUTTON_STYLUS_SECONDARY;
- public static int BUTTON_TERTIARY;
- public static android.os.Parcelable$Creator CREATOR;
- public static int EDGE_BOTTOM;
- public static int EDGE_LEFT;
- public static int EDGE_RIGHT;
- public static int EDGE_TOP;
- public static int FLAG_HOVER_EXIT_PENDING;
- public static int FLAG_IS_GENERATED_GESTURE;
- public static int FLAG_TAINTED;
- public static int FLAG_TARGET_ACCESSIBILITY_FOCUS;
- public static int FLAG_WINDOW_IS_OBSCURED;
- public static int FLAG_WINDOW_IS_PARTIALLY_OBSCURED;
- public static int INVALID_POINTER_ID;
- public static int TOOL_TYPE_ERASER;
- public static int TOOL_TYPE_FINGER;
- public static int TOOL_TYPE_MOUSE;
- public static int TOOL_TYPE_STYLUS;
- public static int TOOL_TYPE_UNKNOWN;
-}
-
--keep class android.view.MotionEvent$PointerCoords {
- <init>();
- <init>(android.view.MotionEvent$PointerCoords);
-
- public void clear();
- public void copyFrom(android.view.MotionEvent$PointerCoords);
- public static android.view.MotionEvent$PointerCoords[] createArray(int);
- public float getAxisValue(int);
- public void setAxisValue(int, float);
-
-
- public float orientation;
- public float pressure;
- public float size;
- public float toolMajor;
- public float toolMinor;
- public float touchMajor;
- public float touchMinor;
- public float x;
- public float y;
-}
-
--keep class android.view.MotionEvent$PointerProperties {
- <init>();
- <init>(android.view.MotionEvent$PointerProperties);
-
- public void clear();
- public void copyFrom(android.view.MotionEvent$PointerProperties);
- public static android.view.MotionEvent$PointerProperties[] createArray(int);
- public boolean equals(java.lang.Object);
- public int hashCode();
-
-
- public int id;
- public int toolType;
-}
-
--keep class android.view.PointerIcon {
-
- public static android.view.PointerIcon create(android.graphics.Bitmap, float, float);
- public int describeContents();
- public boolean equals(java.lang.Object);
- public static android.view.PointerIcon getDefaultIcon(android.content.Context);
- public static android.view.PointerIcon getNullIcon();
- public static android.view.PointerIcon getSystemIcon(android.content.Context, int);
- public int getType();
- public static android.view.PointerIcon load(android.content.res.Resources, int);
- public android.view.PointerIcon load(android.content.Context);
- public static void setUseLargeIcons(boolean);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int TYPE_ALIAS;
- public static int TYPE_ALL_SCROLL;
- public static int TYPE_ARROW;
- public static int TYPE_CELL;
- public static int TYPE_CONTEXT_MENU;
- public static int TYPE_COPY;
- public static int TYPE_CROSSHAIR;
- public static int TYPE_CUSTOM;
- public static int TYPE_DEFAULT;
- public static int TYPE_GRAB;
- public static int TYPE_GRABBING;
- public static int TYPE_HAND;
- public static int TYPE_HELP;
- public static int TYPE_HORIZONTAL_DOUBLE_ARROW;
- public static int TYPE_NOT_SPECIFIED;
- public static int TYPE_NO_DROP;
- public static int TYPE_NULL;
- public static int TYPE_SPOT_ANCHOR;
- public static int TYPE_SPOT_HOVER;
- public static int TYPE_SPOT_TOUCH;
- public static int TYPE_TEXT;
- public static int TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW;
- public static int TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW;
- public static int TYPE_VERTICAL_DOUBLE_ARROW;
- public static int TYPE_VERTICAL_TEXT;
- public static int TYPE_WAIT;
- public static int TYPE_ZOOM_IN;
- public static int TYPE_ZOOM_OUT;
-}
-
--keep class android.view.RecordingCanvas {
- <init>(long);
-
- public void drawARGB(int, int, int, int);
- public void drawArc(float, float, float, float, float, float, boolean, android.graphics.Paint);
- public void drawArc(android.graphics.RectF, float, float, boolean, android.graphics.Paint);
- public void drawBitmap(android.graphics.Bitmap, float, float, android.graphics.Paint);
- public void drawBitmap(android.graphics.Bitmap, android.graphics.Matrix, android.graphics.Paint);
- public void drawBitmap(android.graphics.Bitmap, android.graphics.Rect, android.graphics.Rect, android.graphics.Paint);
- public void drawBitmap(android.graphics.Bitmap, android.graphics.Rect, android.graphics.RectF, android.graphics.Paint);
- public void drawBitmap(int[], int, int, float, float, int, int, boolean, android.graphics.Paint);
- public void drawBitmap(int[], int, int, int, int, int, int, boolean, android.graphics.Paint);
- public void drawBitmapMesh(android.graphics.Bitmap, int, int, float[], int, int[], int, android.graphics.Paint);
- public void drawCircle(float, float, float, android.graphics.Paint);
- public void drawColor(int);
- public void drawColor(int, android.graphics.PorterDuff$Mode);
- public void drawLine(float, float, float, float, android.graphics.Paint);
- public void drawLines(float[], int, int, android.graphics.Paint);
- public void drawLines(float[], android.graphics.Paint);
- public void drawOval(float, float, float, float, android.graphics.Paint);
- public void drawOval(android.graphics.RectF, android.graphics.Paint);
- public void drawPaint(android.graphics.Paint);
- public void drawPatch(android.graphics.NinePatch, android.graphics.Rect, android.graphics.Paint);
- public void drawPatch(android.graphics.NinePatch, android.graphics.RectF, android.graphics.Paint);
- public void drawPath(android.graphics.Path, android.graphics.Paint);
- public void drawPicture(android.graphics.Picture);
- public void drawPicture(android.graphics.Picture, android.graphics.Rect);
- public void drawPicture(android.graphics.Picture, android.graphics.RectF);
- public void drawPoint(float, float, android.graphics.Paint);
- public void drawPoints(float[], int, int, android.graphics.Paint);
- public void drawPoints(float[], android.graphics.Paint);
- public void drawPosText(char[], int, int, float[], android.graphics.Paint);
- public void drawPosText(java.lang.String, float[], android.graphics.Paint);
- public void drawRGB(int, int, int);
- public void drawRect(float, float, float, float, android.graphics.Paint);
- public void drawRect(android.graphics.Rect, android.graphics.Paint);
- public void drawRect(android.graphics.RectF, android.graphics.Paint);
- public void drawRoundRect(float, float, float, float, float, float, android.graphics.Paint);
- public void drawRoundRect(android.graphics.RectF, float, float, android.graphics.Paint);
- public void drawText(char[], int, int, float, float, android.graphics.Paint);
- public void drawText(java.lang.CharSequence, int, int, float, float, android.graphics.Paint);
- public void drawText(java.lang.String, float, float, android.graphics.Paint);
- public void drawText(java.lang.String, int, int, float, float, android.graphics.Paint);
- public void drawTextOnPath(char[], int, int, android.graphics.Path, float, float, android.graphics.Paint);
- public void drawTextOnPath(java.lang.String, android.graphics.Path, float, float, android.graphics.Paint);
- public void drawTextRun(char[], int, int, int, int, float, float, boolean, android.graphics.Paint);
- public void drawTextRun(java.lang.CharSequence, int, int, int, int, float, float, boolean, android.graphics.Paint);
- public void drawVertices(android.graphics.Canvas$VertexMode, int, float[], int, float[], int, int[], int, short[], int, int, android.graphics.Paint);
-
-
-}
-
--keep class android.view.RemoteAnimationAdapter {
- <init>(android.view.IRemoteAnimationRunner, long, long);
- <init>(android.os.Parcel);
-
- public int describeContents();
- public int getCallingPid();
- public long getDuration();
- public android.view.IRemoteAnimationRunner getRunner();
- public long getStatusBarTransitionDelay();
- public void setCallingPid(int);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.view.RemoteAnimationDefinition {
- <init>();
- <init>(android.os.Parcel);
-
- public void addRemoteAnimation(int, int, android.view.RemoteAnimationAdapter);
- public void addRemoteAnimation(int, android.view.RemoteAnimationAdapter);
- public int describeContents();
- public android.view.RemoteAnimationAdapter getAdapter(int, android.util.ArraySet);
- public boolean hasTransition(int, android.util.ArraySet);
- public void setCallingPid(int);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.view.RemoteAnimationTarget {
- <init>(int, int, android.view.SurfaceControl, boolean, android.graphics.Rect, android.graphics.Rect, int, android.graphics.Point, android.graphics.Rect, android.app.WindowConfiguration, boolean);
- <init>(android.os.Parcel);
-
- public int describeContents();
- public void dump(java.io.PrintWriter, java.lang.String);
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int MODE_CLOSING;
- public static int MODE_OPENING;
- public android.graphics.Rect clipRect;
- public android.graphics.Rect contentInsets;
- public boolean isNotInRecents;
- public boolean isTranslucent;
- public android.view.SurfaceControl leash;
- public int mode;
- public android.graphics.Point position;
- public int prefixOrderIndex;
- public android.graphics.Rect sourceContainerBounds;
- public int taskId;
- public android.app.WindowConfiguration windowConfiguration;
-}
-
--keep class android.view.RenderNode {
-
- public void addAnimator(android.view.RenderNodeAnimator);
- public static android.view.RenderNode adopt(long);
- public static android.view.RenderNode create(java.lang.String, android.view.View);
- public void destroy();
- public void discardDisplayList();
- public void end(android.view.DisplayListCanvas);
- public void endAllAnimators();
- public float getAlpha();
- public int getAmbientShadowColor();
- public float getCameraDistance();
- public boolean getClipToOutline();
- public int getDebugSize();
- public float getElevation();
- public void getInverseMatrix(android.graphics.Matrix);
- public void getMatrix(android.graphics.Matrix);
- public float getPivotX();
- public float getPivotY();
- public float getRotation();
- public float getRotationX();
- public float getRotationY();
- public float getScaleX();
- public float getScaleY();
- public int getSpotShadowColor();
- public float getTranslationX();
- public float getTranslationY();
- public float getTranslationZ();
- public boolean hasIdentityMatrix();
- public boolean hasOverlappingRendering();
- public boolean hasShadow();
- public boolean isAttached();
- public boolean isPivotExplicitlySet();
- public boolean isValid();
- public boolean offsetLeftAndRight(int);
- public boolean offsetTopAndBottom(int);
- public void output();
- public void registerVectorDrawableAnimator(android.graphics.drawable.AnimatedVectorDrawable$VectorDrawableAnimatorRT);
- public void requestPositionUpdates(android.view.SurfaceView);
- public boolean resetPivot();
- public boolean setAlpha(float);
- public boolean setAmbientShadowColor(int);
- public boolean setAnimationMatrix(android.graphics.Matrix);
- public boolean setBottom(int);
- public boolean setCameraDistance(float);
- public boolean setClipBounds(android.graphics.Rect);
- public boolean setClipToBounds(boolean);
- public boolean setClipToOutline(boolean);
- public boolean setElevation(float);
- public boolean setHasOverlappingRendering(boolean);
- public boolean setLayerPaint(android.graphics.Paint);
- public boolean setLayerType(int);
- public boolean setLeft(int);
- public boolean setLeftTopRightBottom(int, int, int, int);
- public boolean setOutline(android.graphics.Outline);
- public boolean setPivotX(float);
- public boolean setPivotY(float);
- public boolean setProjectBackwards(boolean);
- public boolean setProjectionReceiver(boolean);
- public boolean setRevealClip(boolean, float, float, float);
- public boolean setRight(int);
- public boolean setRotation(float);
- public boolean setRotationX(float);
- public boolean setRotationY(float);
- public boolean setScaleX(float);
- public boolean setScaleY(float);
- public boolean setSpotShadowColor(int);
- public boolean setStaticMatrix(android.graphics.Matrix);
- public boolean setTop(int);
- public boolean setTranslationX(float);
- public boolean setTranslationY(float);
- public boolean setTranslationZ(float);
- public android.view.DisplayListCanvas start(int, int);
-
-
-}
-
--keep class android.view.RenderNodeAnimator {
- <init>(int, float);
- <init>(android.graphics.CanvasProperty, float);
- <init>(android.graphics.CanvasProperty, int, float);
- <init>(int, int, float, float);
-
- public void cancel();
- public android.animation.Animator clone();
- public java.lang.Object clone();
- public void end();
- public long getDuration();
- public android.animation.TimeInterpolator getInterpolator();
- public long getStartDelay();
- public long getTotalDuration();
- public boolean isRunning();
- public boolean isStarted();
- public static int mapViewPropertyToRenderProperty(int);
- protected void onFinished();
- public void pause();
- public void resume();
- public void setAllowRunningAsynchronously(boolean);
- public android.view.RenderNodeAnimator setDuration(long);
- public android.animation.Animator setDuration(long);
- public void setInterpolator(android.animation.TimeInterpolator);
- public void setStartDelay(long);
- public void setStartValue(float);
- public void setTarget(android.view.View);
- public void setTarget(android.view.DisplayListCanvas);
- public void start();
-
-
- public static int ALPHA;
- public static int LAST_VALUE;
- public static int PAINT_ALPHA;
- public static int PAINT_STROKE_WIDTH;
- public static int ROTATION;
- public static int ROTATION_X;
- public static int ROTATION_Y;
- public static int SCALE_X;
- public static int SCALE_Y;
- public static int TRANSLATION_X;
- public static int TRANSLATION_Y;
- public static int TRANSLATION_Z;
- public static int X;
- public static int Y;
- public static int Z;
-}
-
--keep class android.view.SearchEvent {
- <init>(android.view.InputDevice);
-
- public android.view.InputDevice getInputDevice();
-
-
-}
-
--keep class android.view.SubMenu {
-
- public abstract void clearHeader();
- public abstract android.view.MenuItem getItem();
- public abstract android.view.SubMenu setHeaderIcon(int);
- public abstract android.view.SubMenu setHeaderIcon(android.graphics.drawable.Drawable);
- public abstract android.view.SubMenu setHeaderTitle(int);
- public abstract android.view.SubMenu setHeaderTitle(java.lang.CharSequence);
- public abstract android.view.SubMenu setHeaderView(android.view.View);
- public abstract android.view.SubMenu setIcon(int);
- public abstract android.view.SubMenu setIcon(android.graphics.drawable.Drawable);
-
-
-}
-
--keep class android.view.Surface {
- <init>();
- <init>(android.graphics.SurfaceTexture);
-
- public void allocateBuffers();
- public void attachAndQueueBuffer(android.graphics.GraphicBuffer);
- public void copyFrom(android.view.SurfaceControl);
- public void createFrom(android.view.SurfaceControl);
- public int describeContents();
- public void destroy();
- protected void finalize();
- public int getGenerationId();
- public long getNextFrameNumber();
- public void hwuiDestroy();
- public boolean isAutoRefreshEnabled();
- public boolean isConsumerRunningBehind();
- public boolean isSharedBufferModeEnabled();
- public boolean isSingleBuffered();
- public boolean isValid();
- public android.graphics.Canvas lockCanvas(android.graphics.Rect);
- public android.graphics.Canvas lockHardwareCanvas();
- public android.graphics.Canvas lockHardwareWideColorGamutCanvas();
- public void readFromParcel(android.os.Parcel);
- public void release();
- public static java.lang.String rotationToString(int);
- public void setAutoRefreshEnabled(boolean);
- public void setSharedBufferModeEnabled(boolean);
- public java.lang.String toString();
- public void transferFrom(android.view.Surface);
- public void unlockCanvas(android.graphics.Canvas);
- public void unlockCanvasAndPost(android.graphics.Canvas);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int ROTATION_0;
- public static int ROTATION_180;
- public static int ROTATION_270;
- public static int ROTATION_90;
- public static int SCALING_MODE_FREEZE;
- public static int SCALING_MODE_NO_SCALE_CROP;
- public static int SCALING_MODE_SCALE_CROP;
- public static int SCALING_MODE_SCALE_TO_WINDOW;
-}
-
--keep class android.view.Surface$OutOfResourcesException {
- <init>();
- <init>(java.lang.String);
-
-
-
-}
-
--keep class android.view.SurfaceControl {
- <init>(android.view.SurfaceControl);
-
- public static android.graphics.GraphicBuffer captureLayers(android.os.IBinder, android.graphics.Rect, float);
- public static boolean clearAnimationFrameStats();
- public boolean clearContentFrameStats();
- public static void closeTransaction();
- public static void closeTransactionSync();
- public static android.os.IBinder createDisplay(java.lang.String, boolean);
- public void deferTransactionUntil(android.os.IBinder, long);
- public void deferTransactionUntil(android.view.Surface, long);
- public int describeContents();
- public void destroy();
- public static void destroyDisplay(android.os.IBinder);
- public void detachChildren();
- public void disconnect();
- protected void finalize();
- public static int getActiveColorMode(android.os.IBinder);
- public static int getActiveConfig(android.os.IBinder);
- public static boolean getAnimationFrameStats(android.view.WindowAnimationFrameStats);
- public static android.os.IBinder getBuiltInDisplay(int);
- public boolean getContentFrameStats(android.view.WindowContentFrameStats);
- public static int[] getDisplayColorModes(android.os.IBinder);
- public static android.view.SurfaceControl$PhysicalDisplayInfo[] getDisplayConfigs(android.os.IBinder);
- public android.os.IBinder getHandle();
- public static android.view.Display$HdrCapabilities getHdrCapabilities(android.os.IBinder);
- public int getHeight();
- public int getWidth();
- public void hide();
- public static void mergeToGlobalTransaction(android.view.SurfaceControl$Transaction);
- public static void openTransaction();
- public void release();
- public void reparent(android.os.IBinder);
- public void reparentChildren(android.os.IBinder);
- public static void screenshot(android.os.IBinder, android.view.Surface, int, int, int, int, boolean);
- public static void screenshot(android.os.IBinder, android.view.Surface, int, int);
- public static void screenshot(android.os.IBinder, android.view.Surface);
- public static android.graphics.Bitmap screenshot(android.graphics.Rect, int, int, int, int, boolean, int);
- public static android.graphics.Bitmap screenshot(android.graphics.Rect, int, int, int);
- public static android.graphics.GraphicBuffer screenshotToBuffer(android.graphics.Rect, int, int, int, int, boolean, int);
- public static boolean setActiveColorMode(android.os.IBinder, int);
- public static boolean setActiveConfig(android.os.IBinder, int);
- public void setAlpha(float);
- public static void setAnimationTransaction();
- public void setColor(float[]);
- public static void setDisplayLayerStack(android.os.IBinder, int);
- public static void setDisplayPowerMode(android.os.IBinder, int);
- public static void setDisplayProjection(android.os.IBinder, int, android.graphics.Rect, android.graphics.Rect);
- public static void setDisplaySize(android.os.IBinder, int, int);
- public static void setDisplaySurface(android.os.IBinder, android.view.Surface);
- public void setFinalCrop(android.graphics.Rect);
- public void setGeometryAppliesWithResize();
- public void setLayer(int);
- public void setLayerStack(int);
- public void setMatrix(float, float, float, float);
- public void setMatrix(android.graphics.Matrix, float[]);
- public void setOpaque(boolean);
- public void setOverrideScalingMode(int);
- public void setPosition(float, float);
- public void setRelativeLayer(android.view.SurfaceControl, int);
- public void setSecure(boolean);
- public void setSize(int, int);
- public void setTransparentRegionHint(android.graphics.Region);
- public void setWindowCrop(android.graphics.Rect);
- public void show();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
- public static int BUILT_IN_DISPLAY_ID_HDMI;
- public static int BUILT_IN_DISPLAY_ID_MAIN;
- public static android.os.Parcelable$Creator CREATOR;
- public static int CURSOR_WINDOW;
- public static int FX_SURFACE_DIM;
- public static int FX_SURFACE_MASK;
- public static int FX_SURFACE_NORMAL;
- public static int HIDDEN;
- public static int NON_PREMULTIPLIED;
- public static int OPAQUE;
- public static int POWER_MODE_DOZE;
- public static int POWER_MODE_DOZE_SUSPEND;
- public static int POWER_MODE_NORMAL;
- public static int POWER_MODE_OFF;
- public static int POWER_MODE_ON_SUSPEND;
- public static int PROTECTED_APP;
- public static int SECURE;
- public static int WINDOW_TYPE_DONT_SCREENSHOT;
-}
-
--keep class android.view.SurfaceControl$PhysicalDisplayInfo {
- <init>();
- <init>(android.view.SurfaceControl$PhysicalDisplayInfo);
-
- public void copyFrom(android.view.SurfaceControl$PhysicalDisplayInfo);
- public boolean equals(java.lang.Object);
- public boolean equals(android.view.SurfaceControl$PhysicalDisplayInfo);
- public int hashCode();
- public java.lang.String toString();
-
-
- public long appVsyncOffsetNanos;
- public float density;
- public int height;
- public long presentationDeadlineNanos;
- public float refreshRate;
- public boolean secure;
- public int width;
- public float xDpi;
- public float yDpi;
-}
-
--keep class android.view.SurfaceControl$Transaction {
- <init>();
-
- public void apply();
- public void apply(boolean);
- public void close();
- public android.view.SurfaceControl$Transaction deferTransactionUntil(android.view.SurfaceControl, android.os.IBinder, long);
- public android.view.SurfaceControl$Transaction deferTransactionUntilSurface(android.view.SurfaceControl, android.view.Surface, long);
- public android.view.SurfaceControl$Transaction destroy(android.view.SurfaceControl);
- public android.view.SurfaceControl$Transaction detachChildren(android.view.SurfaceControl);
- public android.view.SurfaceControl$Transaction hide(android.view.SurfaceControl);
- public android.view.SurfaceControl$Transaction merge(android.view.SurfaceControl$Transaction);
- public android.view.SurfaceControl$Transaction reparent(android.view.SurfaceControl, android.os.IBinder);
- public android.view.SurfaceControl$Transaction reparentChildren(android.view.SurfaceControl, android.os.IBinder);
- public android.view.SurfaceControl$Transaction setAlpha(android.view.SurfaceControl, float);
- public android.view.SurfaceControl$Transaction setAnimationTransaction();
- public android.view.SurfaceControl$Transaction setColor(android.view.SurfaceControl, float[]);
- public android.view.SurfaceControl$Transaction setDisplayLayerStack(android.os.IBinder, int);
- public android.view.SurfaceControl$Transaction setDisplayProjection(android.os.IBinder, int, android.graphics.Rect, android.graphics.Rect);
- public android.view.SurfaceControl$Transaction setDisplaySize(android.os.IBinder, int, int);
- public android.view.SurfaceControl$Transaction setDisplaySurface(android.os.IBinder, android.view.Surface);
- public android.view.SurfaceControl$Transaction setEarlyWakeup();
- public android.view.SurfaceControl$Transaction setFinalCrop(android.view.SurfaceControl, android.graphics.Rect);
- public android.view.SurfaceControl$Transaction setGeometryAppliesWithResize(android.view.SurfaceControl);
- public android.view.SurfaceControl$Transaction setLayer(android.view.SurfaceControl, int);
- public android.view.SurfaceControl$Transaction setLayerStack(android.view.SurfaceControl, int);
- public android.view.SurfaceControl$Transaction setMatrix(android.view.SurfaceControl, float, float, float, float);
- public android.view.SurfaceControl$Transaction setMatrix(android.view.SurfaceControl, android.graphics.Matrix, float[]);
- public android.view.SurfaceControl$Transaction setOpaque(android.view.SurfaceControl, boolean);
- public android.view.SurfaceControl$Transaction setOverrideScalingMode(android.view.SurfaceControl, int);
- public android.view.SurfaceControl$Transaction setPosition(android.view.SurfaceControl, float, float);
- public android.view.SurfaceControl$Transaction setRelativeLayer(android.view.SurfaceControl, android.view.SurfaceControl, int);
- public android.view.SurfaceControl$Transaction setSecure(android.view.SurfaceControl, boolean);
- public android.view.SurfaceControl$Transaction setSize(android.view.SurfaceControl, int, int);
- public android.view.SurfaceControl$Transaction setTransparentRegionHint(android.view.SurfaceControl, android.graphics.Region);
- public android.view.SurfaceControl$Transaction setWindowCrop(android.view.SurfaceControl, android.graphics.Rect);
- public android.view.SurfaceControl$Transaction show(android.view.SurfaceControl);
-
-
- public static libcore.util.NativeAllocationRegistry sRegistry;
-}
-
--keep class android.view.SurfaceHolder {
-
- public abstract void addCallback(android.view.SurfaceHolder$Callback);
- public abstract android.view.Surface getSurface();
- public abstract android.graphics.Rect getSurfaceFrame();
- public abstract boolean isCreating();
- public abstract android.graphics.Canvas lockCanvas();
- public abstract android.graphics.Canvas lockCanvas(android.graphics.Rect);
- public android.graphics.Canvas lockHardwareCanvas();
- public abstract void removeCallback(android.view.SurfaceHolder$Callback);
- public abstract void setFixedSize(int, int);
- public abstract void setFormat(int);
- public abstract void setKeepScreenOn(boolean);
- public abstract void setSizeFromLayout();
- public abstract void setType(int);
- public abstract void unlockCanvasAndPost(android.graphics.Canvas);
-
-
- public static int SURFACE_TYPE_GPU;
- public static int SURFACE_TYPE_HARDWARE;
- public static int SURFACE_TYPE_NORMAL;
- public static int SURFACE_TYPE_PUSH_BUFFERS;
-}
-
--keep class android.view.SurfaceHolder$Callback {
-
- public abstract void surfaceChanged(android.view.SurfaceHolder, int, int, int);
- public abstract void surfaceCreated(android.view.SurfaceHolder);
- public abstract void surfaceDestroyed(android.view.SurfaceHolder);
-
-
-}
-
--keep class android.view.SurfaceHolder$Callback2 {
-
- public abstract void surfaceRedrawNeeded(android.view.SurfaceHolder);
- public void surfaceRedrawNeededAsync(android.view.SurfaceHolder, java.lang.Runnable);
-
-
-}
-
--keep class android.view.SurfaceView {
- <init>(android.content.Context);
- <init>(android.content.Context, android.util.AttributeSet);
- <init>(android.content.Context, android.util.AttributeSet, int);
- <init>(android.content.Context, android.util.AttributeSet, int, int);
-
- protected void applyChildSurfaceTransaction_renderWorker(android.view.SurfaceControl$Transaction, android.view.Surface, long);
- protected void dispatchDraw(android.graphics.Canvas);
- public void draw(android.graphics.Canvas);
- public boolean gatherTransparentRegion(android.graphics.Region);
- public android.view.SurfaceHolder getHolder();
- public boolean isFixedSize();
- protected void onAttachedToWindow();
- protected void onDetachedFromWindow();
- protected void onMeasure(int, int);
- protected void onWindowVisibilityChanged(int);
- protected boolean setFrame(int, int, int, int);
- public void setResizeBackgroundColor(int);
- public void setSecure(boolean);
- public void setVisibility(int);
- public void setZOrderMediaOverlay(boolean);
- public void setZOrderOnTop(boolean);
- public void surfacePositionLost_uiRtSync(long);
- protected void updateSurface();
- public void updateSurfacePosition_renderWorker(long, int, int, int, int);
- public void windowStopped(boolean);
-
-
-}
-
--keep class android.view.ThreadedRenderer {
-
- public void addRenderNode(android.view.RenderNode, boolean);
- public static int copySurfaceInto(android.view.Surface, android.graphics.Rect, android.graphics.Bitmap);
- public static android.view.ThreadedRenderer create(android.content.Context, boolean, java.lang.String);
- public static android.graphics.Bitmap createHardwareBitmap(android.view.RenderNode, int, int);
- public static void disable(boolean);
- public static void disableVsync();
- public void drawRenderNode(android.view.RenderNode);
- public static void enableForegroundTrimming();
- protected void finalize();
- public static boolean isAvailable();
- public void notifyFramePending();
- public static void overrideProperty(java.lang.String, java.lang.String);
- public void removeRenderNode(android.view.RenderNode);
- public void serializeDisplayListTree();
- public void setContentDrawBounds(int, int, int, int);
- public static void setContextPriority(int);
- public static void setDebuggingEnabled(boolean);
- public static void setFPSDivisor(int);
- public static void setHighContrastText(boolean);
- public static void setIsolatedProcess(boolean);
- public static void setupDiskCache(java.io.File);
- public static void trimMemory(int);
-
-
- public static java.lang.String DEBUG_DIRTY_REGIONS_PROPERTY;
- public static java.lang.String DEBUG_FPS_DIVISOR;
- public static java.lang.String DEBUG_OVERDRAW_PROPERTY;
- public static java.lang.String DEBUG_SHOW_LAYERS_UPDATES_PROPERTY;
- public static java.lang.String DEBUG_SHOW_NON_RECTANGULAR_CLIP_PROPERTY;
- public static int EGL_CONTEXT_PRIORITY_HIGH_IMG;
- public static int EGL_CONTEXT_PRIORITY_LOW_IMG;
- public static int EGL_CONTEXT_PRIORITY_MEDIUM_IMG;
- public static java.lang.String OVERDRAW_PROPERTY_SHOW;
- public static java.lang.String PROFILE_PROPERTY;
- public static java.lang.String PROFILE_PROPERTY_VISUALIZE_BARS;
- public static boolean sRendererDisabled;
- public static boolean sSystemRendererDisabled;
- public static boolean sTrimForeground;
-}
-
--keep class android.view.ThreadedRenderer$FrameDrawingCallback {
-
- public abstract void onFrameDraw(long);
-
-
-}
-
--keep class android.view.TouchDelegate {
- <init>(android.graphics.Rect, android.view.View);
-
- public boolean onTouchEvent(android.view.MotionEvent);
-
-
- public static int ABOVE;
- public static int BELOW;
- public static int TO_LEFT;
- public static int TO_RIGHT;
-}
-
--keep class android.view.View {
- <init>(android.content.Context);
- <init>(android.content.Context, android.util.AttributeSet);
- <init>(android.content.Context, android.util.AttributeSet, int);
- <init>(android.content.Context, android.util.AttributeSet, int, int);
-
- public void addChildrenForAccessibility(java.util.ArrayList);
- public void addExtraDataToAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo, java.lang.String, android.os.Bundle);
- public void addFocusables(java.util.ArrayList, int);
- public void addFocusables(java.util.ArrayList, int, int);
- public void addFrameMetricsListener(android.view.Window, android.view.Window$OnFrameMetricsAvailableListener, android.os.Handler);
- public void addKeyboardNavigationClusters(java.util.Collection, int);
- public void addOnAttachStateChangeListener(android.view.View$OnAttachStateChangeListener);
- public void addOnLayoutChangeListener(android.view.View$OnLayoutChangeListener);
- public void addOnUnhandledKeyEventListener(android.view.View$OnUnhandledKeyEventListener);
- public void addTouchables(java.util.ArrayList);
- public android.view.ViewPropertyAnimator animate();
- public void announceForAccessibility(java.lang.CharSequence);
- public void applyDrawableToTransparentRegion(android.graphics.drawable.Drawable, android.graphics.Region);
- public void autofill(android.view.autofill.AutofillValue);
- public void autofill(android.util.SparseArray);
- protected boolean awakenScrollBars();
- protected boolean awakenScrollBars(int);
- protected boolean awakenScrollBars(int, boolean);
- public void bringToFront();
- public void buildDrawingCache();
- public void buildDrawingCache(boolean);
- public void buildLayer();
- public boolean callOnClick();
- public boolean canHaveDisplayList();
- public boolean canNotifyAutofillEnterExitEvent();
- public boolean canResolveLayoutDirection();
- public boolean canResolveTextAlignment();
- public boolean canResolveTextDirection();
- public boolean canScrollHorizontally(int);
- public boolean canScrollVertically(int);
- public void cancelDragAndDrop();
- public void cancelLongPress();
- public void cancelPendingInputEvents();
- public void captureTransitioningViews(java.util.List);
- public boolean checkInputConnectionProxy(android.view.View);
- public void clearAccessibilityFocus();
- public void clearAnimation();
- public void clearFocus();
- public static int combineMeasuredStates(int, int);
- protected boolean computeFitSystemWindows(android.graphics.Rect, android.graphics.Rect);
- protected int computeHorizontalScrollExtent();
- protected int computeHorizontalScrollOffset();
- protected int computeHorizontalScrollRange();
- protected void computeOpaqueFlags();
- public void computeScroll();
- public android.view.WindowInsets computeSystemWindowInsets(android.view.WindowInsets, android.graphics.Rect);
- protected int computeVerticalScrollExtent();
- protected int computeVerticalScrollOffset();
- protected int computeVerticalScrollRange();
- public android.view.accessibility.AccessibilityNodeInfo createAccessibilityNodeInfo();
- public android.view.accessibility.AccessibilityNodeInfo createAccessibilityNodeInfoInternal();
- public void createContextMenu(android.view.ContextMenu);
- public android.graphics.Bitmap createSnapshot(android.view.ViewDebug$CanvasProvider, boolean);
- protected void damageInParent();
- public void debug();
- protected void debug(int);
- protected static java.lang.String debugIndent(int);
- public void destroyDrawingCache();
- protected void destroyHardwareResources();
- public boolean dispatchActivityResult(java.lang.String, int, int, android.content.Intent);
- public android.view.WindowInsets dispatchApplyWindowInsets(android.view.WindowInsets);
- public boolean dispatchCapturedPointerEvent(android.view.MotionEvent);
- public void dispatchConfigurationChanged(android.content.res.Configuration);
- public void dispatchDisplayHint(int);
- public boolean dispatchDragEvent(android.view.DragEvent);
- protected void dispatchDraw(android.graphics.Canvas);
- public void dispatchDrawableHotspotChanged(float, float);
- public void dispatchFinishTemporaryDetach();
- protected boolean dispatchGenericFocusedEvent(android.view.MotionEvent);
- public boolean dispatchGenericMotionEvent(android.view.MotionEvent);
- protected boolean dispatchGenericPointerEvent(android.view.MotionEvent);
- protected void dispatchGetDisplayList();
- protected boolean dispatchHoverEvent(android.view.MotionEvent);
- public boolean dispatchKeyEvent(android.view.KeyEvent);
- public boolean dispatchKeyEventPreIme(android.view.KeyEvent);
- public boolean dispatchKeyShortcutEvent(android.view.KeyEvent);
- public boolean dispatchNestedFling(float, float, boolean);
- public boolean dispatchNestedPreFling(float, float);
- public boolean dispatchNestedPrePerformAccessibilityAction(int, android.os.Bundle);
- public boolean dispatchNestedPreScroll(int, int, int[], int[]);
- public boolean dispatchNestedScroll(int, int, int, int, int[]);
- public void dispatchPointerCaptureChanged(boolean);
- public boolean dispatchPointerEvent(android.view.MotionEvent);
- public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
- public boolean dispatchPopulateAccessibilityEventInternal(android.view.accessibility.AccessibilityEvent);
- public void dispatchProvideAutofillStructure(android.view.ViewStructure, int);
- public void dispatchProvideStructure(android.view.ViewStructure);
- protected void dispatchRestoreInstanceState(android.util.SparseArray);
- protected void dispatchSaveInstanceState(android.util.SparseArray);
- protected void dispatchSetActivated(boolean);
- protected void dispatchSetPressed(boolean);
- protected void dispatchSetSelected(boolean);
- public void dispatchStartTemporaryDetach();
- public void dispatchSystemUiVisibilityChanged(int);
- public boolean dispatchTouchEvent(android.view.MotionEvent);
- public boolean dispatchTrackballEvent(android.view.MotionEvent);
- public boolean dispatchUnhandledMove(android.view.View, int);
- protected void dispatchVisibilityChanged(android.view.View, int);
- public void dispatchWindowFocusChanged(boolean);
- public void dispatchWindowSystemUiVisiblityChanged(int);
- public void dispatchWindowVisibilityChanged(int);
- public void draw(android.graphics.Canvas);
- public void drawableHotspotChanged(float, float);
- protected void drawableStateChanged();
- public void encode(android.view.ViewHierarchyEncoder);
- protected void encodeProperties(android.view.ViewHierarchyEncoder);
- public android.view.View findFocus();
- public void findNamedViews(java.util.Map);
- public android.view.View findViewByAccessibilityIdTraversal(int);
- public android.view.View findViewByAutofillIdTraversal(int);
- public android.view.View findViewById(int);
- public android.view.View findViewByPredicate(java.util.function.Predicate);
- public android.view.View findViewByPredicateInsideOut(android.view.View, java.util.function.Predicate);
- protected android.view.View findViewByPredicateTraversal(java.util.function.Predicate, android.view.View);
- protected android.view.View findViewTraversal(int);
- public android.view.View findViewWithTag(java.lang.Object);
- protected android.view.View findViewWithTagTraversal(java.lang.Object);
- public void findViewsWithText(java.util.ArrayList, java.lang.CharSequence, int);
- protected boolean fitSystemWindows(android.graphics.Rect);
- public boolean fitsSystemWindows();
- public android.view.View focusSearch(int);
- public void forceHasOverlappingRendering(boolean);
- public void forceLayout();
- public boolean gatherTransparentRegion(android.graphics.Region);
- public static int generateViewId();
- public java.lang.CharSequence getAccessibilityClassName();
- public android.view.View$AccessibilityDelegate getAccessibilityDelegate();
- public int getAccessibilityLiveRegion();
- public android.view.accessibility.AccessibilityNodeProvider getAccessibilityNodeProvider();
- public java.lang.CharSequence getAccessibilityPaneTitle();
- public int getAccessibilitySelectionEnd();
- public int getAccessibilitySelectionStart();
- public int getAccessibilityTraversalAfter();
- public int getAccessibilityTraversalBefore();
- public int getAccessibilityViewId();
- public int getAccessibilityWindowId();
- public float getAlpha();
- public android.view.animation.Animation getAnimation();
- public android.os.IBinder getApplicationWindowToken();
- public java.lang.String[] getAutofillHints();
- public android.view.autofill.AutofillId getAutofillId();
- public int getAutofillType();
- public android.view.autofill.AutofillValue getAutofillValue();
- public int getAutofillViewId();
- public android.graphics.drawable.Drawable getBackground();
- public android.content.res.ColorStateList getBackgroundTintList();
- public android.graphics.PorterDuff$Mode getBackgroundTintMode();
- public int getBaseline();
- public int getBottom();
- protected float getBottomFadingEdgeStrength();
- protected int getBottomPaddingOffset();
- public void getBoundsOnScreen(android.graphics.Rect);
- public void getBoundsOnScreen(android.graphics.Rect, boolean);
- public float getCameraDistance();
- public android.graphics.Rect getClipBounds();
- public boolean getClipBounds(android.graphics.Rect);
- public boolean getClipToOutline();
- public java.lang.CharSequence getContentDescription();
- public android.content.Context getContext();
- protected android.view.ContextMenu$ContextMenuInfo getContextMenuInfo();
- public boolean getDefaultFocusHighlightEnabled();
- public static int getDefaultSize(int, int);
- public android.view.Display getDisplay();
- public int[] getDrawableState();
- public android.graphics.Bitmap getDrawingCache();
- public android.graphics.Bitmap getDrawingCache(boolean);
- public int getDrawingCacheBackgroundColor();
- public int getDrawingCacheQuality();
- public void getDrawingRect(android.graphics.Rect);
- public long getDrawingTime();
- public float getElevation();
- protected int getFadeHeight(boolean);
- protected int getFadeTop(boolean);
- public boolean getFilterTouchesWhenObscured();
- public boolean getFitsSystemWindows();
- public int getFocusable();
- public java.util.ArrayList getFocusables(int);
- public void getFocusedRect(android.graphics.Rect);
- public android.graphics.drawable.Drawable getForeground();
- public int getForegroundGravity();
- public android.content.res.ColorStateList getForegroundTintList();
- public android.graphics.PorterDuff$Mode getForegroundTintMode();
- public boolean getGlobalVisibleRect(android.graphics.Rect, android.graphics.Point);
- public boolean getGlobalVisibleRect(android.graphics.Rect);
- public android.os.Handler getHandler();
- public boolean getHasOverlappingRendering();
- public int getHeight();
- public void getHitRect(android.graphics.Rect);
- public int getHorizontalFadingEdgeLength();
- protected float getHorizontalScrollFactor();
- protected int getHorizontalScrollbarHeight();
- public void getHotspotBounds(android.graphics.Rect);
- public int getId();
- public int getImportantForAccessibility();
- public int getImportantForAutofill();
- public android.graphics.Matrix getInverseMatrix();
- public java.lang.CharSequence getIterableTextForAccessibility();
- public android.view.AccessibilityIterators$TextSegmentIterator getIteratorForGranularity(int);
- public boolean getKeepScreenOn();
- public android.view.KeyEvent$DispatcherState getKeyDispatcherState();
- public int getLabelFor();
- public int getLayerType();
- public int getLayoutDirection();
- public android.view.ViewGroup$LayoutParams getLayoutParams();
- public int getLeft();
- protected float getLeftFadingEdgeStrength();
- protected int getLeftPaddingOffset();
- public boolean getLocalVisibleRect(android.graphics.Rect);
- public void getLocationInSurface(int[]);
- public void getLocationInWindow(int[]);
- public int[] getLocationOnScreen();
- public void getLocationOnScreen(int[]);
- public android.graphics.Matrix getMatrix();
- public int getMeasuredHeight();
- public int getMeasuredHeightAndState();
- public int getMeasuredState();
- public int getMeasuredWidth();
- public int getMeasuredWidthAndState();
- public int getMinimumHeight();
- public int getMinimumWidth();
- public int getNextClusterForwardId();
- public int getNextFocusDownId();
- public int getNextFocusForwardId();
- public int getNextFocusLeftId();
- public int getNextFocusRightId();
- public int getNextFocusUpId();
- public android.view.View$OnFocusChangeListener getOnFocusChangeListener();
- public android.graphics.Insets getOpticalInsets();
- public int getOutlineAmbientShadowColor();
- public android.view.ViewOutlineProvider getOutlineProvider();
- public int getOutlineSpotShadowColor();
- public void getOutsets(android.graphics.Rect);
- public int getOverScrollMode();
- public android.view.ViewOverlay getOverlay();
- public int getPaddingBottom();
- public int getPaddingEnd();
- public int getPaddingLeft();
- public int getPaddingRight();
- public int getPaddingStart();
- public int getPaddingTop();
- public android.view.ViewParent getParent();
- public android.view.ViewParent getParentForAccessibility();
- public float getPivotX();
- public float getPivotY();
- public android.view.PointerIcon getPointerIcon();
- public int getRawLayoutDirection();
- public int getRawTextAlignment();
- public int getRawTextDirection();
- public android.content.res.Resources getResources();
- public boolean getRevealOnFocusHint();
- public int getRight();
- protected float getRightFadingEdgeStrength();
- protected int getRightPaddingOffset();
- public android.view.View getRootView();
- public android.view.WindowInsets getRootWindowInsets();
- public float getRotation();
- public float getRotationX();
- public float getRotationY();
- public float getScaleX();
- public float getScaleY();
- public int getScrollBarDefaultDelayBeforeFade();
- public int getScrollBarFadeDuration();
- public int getScrollBarSize();
- public int getScrollBarStyle();
- public int getScrollIndicators();
- public int getScrollX();
- public int getScrollY();
- public int getSolidColor();
- public android.animation.StateListAnimator getStateListAnimator();
- protected int getSuggestedMinimumHeight();
- protected int getSuggestedMinimumWidth();
- public int getSystemUiVisibility();
- public java.lang.Object getTag();
- public java.lang.Object getTag(int);
- public int getTextAlignment();
- public int getTextDirection();
- public android.view.ThreadedRenderer getThreadedRenderer();
- public java.lang.CharSequence getTooltip();
- public java.lang.CharSequence getTooltipText();
- public android.view.View getTooltipView();
- public int getTop();
- protected float getTopFadingEdgeStrength();
- protected int getTopPaddingOffset();
- public android.view.TouchDelegate getTouchDelegate();
- public java.util.ArrayList getTouchables();
- public float getTransitionAlpha();
- public java.lang.String getTransitionName();
- public float getTranslationX();
- public float getTranslationY();
- public float getTranslationZ();
- public int getVerticalFadingEdgeLength();
- protected float getVerticalScrollFactor();
- public int getVerticalScrollbarPosition();
- public int getVerticalScrollbarWidth();
- public android.view.ViewRootImpl getViewRootImpl();
- public android.view.ViewTreeObserver getViewTreeObserver();
- public int getVisibility();
- public int getWidth();
- protected android.view.IWindow getWindow();
- protected int getWindowAttachCount();
- public void getWindowDisplayFrame(android.graphics.Rect);
- public android.view.WindowId getWindowId();
- public int getWindowSystemUiVisibility();
- public android.os.IBinder getWindowToken();
- public int getWindowVisibility();
- public void getWindowVisibleDisplayFrame(android.graphics.Rect);
- public float getX();
- public float getY();
- public float getZ();
- protected boolean handleScrollBarDragging(android.view.MotionEvent);
- public boolean hasExplicitFocusable();
- public boolean hasFocus();
- public boolean hasFocusable();
- protected boolean hasHoveredChild();
- public boolean hasNestedScrollingParent();
- public boolean hasOnClickListeners();
- protected boolean hasOpaqueScrollbars();
- public boolean hasOverlappingRendering();
- public boolean hasPointerCapture();
- public boolean hasShadow();
- public boolean hasTransientState();
- public boolean hasWindowFocus();
- public boolean includeForAccessibility();
- public static android.view.View inflate(android.content.Context, int, android.view.ViewGroup);
- protected void initializeFadingEdge(android.content.res.TypedArray);
- protected void initializeFadingEdgeInternal(android.content.res.TypedArray);
- protected void initializeScrollbars(android.content.res.TypedArray);
- protected void initializeScrollbarsInternal(android.content.res.TypedArray);
- protected void internalSetPadding(int, int, int, int);
- public void invalidate(android.graphics.Rect);
- public void invalidate(int, int, int, int);
- public void invalidate();
- public void invalidate(boolean);
- public void invalidateDrawable(android.graphics.drawable.Drawable);
- public void invalidateOutline();
- protected void invalidateParentCaches();
- protected void invalidateParentIfNeeded();
- protected void invalidateParentIfNeededAndWasQuickRejected();
- public boolean isAccessibilityFocused();
- public boolean isAccessibilityHeading();
- public boolean isAccessibilitySelectionExtendable();
- public boolean isActionableForAccessibility();
- public boolean isActivated();
- public boolean isAssistBlocked();
- public boolean isAttachedToWindow();
- public boolean isAutofilled();
- public boolean isClickable();
- public boolean isContextClickable();
- public static boolean isDefaultFocusHighlightEnabled();
- public boolean isDefaultFocusHighlightNeeded(android.graphics.drawable.Drawable, android.graphics.drawable.Drawable);
- public boolean isDirty();
- public boolean isDrawingCacheEnabled();
- public boolean isDuplicateParentStateEnabled();
- public boolean isEnabled();
- public boolean isFocusable();
- public boolean isFocusableInTouchMode();
- public boolean isFocused();
- public boolean isFocusedByDefault();
- public boolean isForegroundInsidePadding();
- public boolean isHapticFeedbackEnabled();
- public boolean isHardwareAccelerated();
- public boolean isHorizontalFadingEdgeEnabled();
- public boolean isHorizontalScrollBarEnabled();
- public boolean isHovered();
- public boolean isImportantForAccessibility();
- public boolean isImportantForAutofill();
- public boolean isInEditMode();
- public boolean isInLayout();
- public boolean isInScrollingContainer();
- public boolean isInTouchMode();
- public boolean isKeyboardNavigationCluster();
- public boolean isLaidOut();
- public boolean isLayoutDirectionInherited();
- public boolean isLayoutDirectionResolved();
- public static boolean isLayoutModeOptical(java.lang.Object);
- public boolean isLayoutRequested();
- public boolean isLayoutRtl();
- public boolean isLongClickable();
- public boolean isNestedScrollingEnabled();
- public boolean isOpaque();
- protected boolean isPaddingOffsetRequired();
- public boolean isPaddingRelative();
- public boolean isPivotSet();
- public boolean isPressed();
- public boolean isRootNamespace();
- public boolean isSaveEnabled();
- public boolean isSaveFromParentEnabled();
- public boolean isScreenReaderFocusable();
- public boolean isScrollContainer();
- public boolean isScrollbarFadingEnabled();
- public boolean isSelected();
- public boolean isShown();
- public boolean isSoundEffectsEnabled();
- public boolean isTemporarilyDetached();
- public boolean isTextAlignmentInherited();
- public boolean isTextAlignmentResolved();
- public boolean isTextDirectionInherited();
- public boolean isTextDirectionResolved();
- public boolean isVerticalFadingEdgeEnabled();
- public boolean isVerticalScrollBarEnabled();
- protected boolean isVerticalScrollBarHidden();
- public boolean isVisibleToUser();
- protected boolean isVisibleToUser(android.graphics.Rect);
- public boolean isVisibleToUserForAutofill(int);
- public void jumpDrawablesToCurrentState();
- public android.view.View keyboardNavigationClusterSearch(android.view.View, int);
- public void layout(int, int, int, int);
- public void makeOptionalFitsSystemWindows();
- public void mapRectFromViewToScreenCoords(android.graphics.RectF, boolean);
- public void measure(int, int);
- protected static int[] mergeDrawableStates(int[], int[]);
- public void notifyEnterOrExitForAutoFillIfNeeded(boolean);
- public void notifySubtreeAccessibilityStateChangedIfNeeded();
- public void notifyViewAccessibilityStateChangedIfNeeded(int);
- public void offsetLeftAndRight(int);
- public void offsetTopAndBottom(int);
- public void onActivityResult(int, int, android.content.Intent);
- protected void onAnimationEnd();
- protected void onAnimationStart();
- public android.view.WindowInsets onApplyWindowInsets(android.view.WindowInsets);
- protected void onAttachedToWindow();
- public void onCancelPendingInputEvents();
- public boolean onCapturedPointerEvent(android.view.MotionEvent);
- public boolean onCheckIsTextEditor();
- public void onCloseSystemDialogs(java.lang.String);
- protected void onConfigurationChanged(android.content.res.Configuration);
- protected void onCreateContextMenu(android.view.ContextMenu);
- protected int[] onCreateDrawableState(int);
- public android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo);
- protected void onDetachedFromWindow();
- protected void onDetachedFromWindowInternal();
- protected void onDisplayHint(int);
- public boolean onDragEvent(android.view.DragEvent);
- protected void onDraw(android.graphics.Canvas);
- public void onDrawForeground(android.graphics.Canvas);
- protected void onDrawHorizontalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
- protected void onDrawScrollBars(android.graphics.Canvas);
- protected void onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
- public boolean onFilterTouchEventForSecurity(android.view.MotionEvent);
- protected void onFinishInflate();
- public void onFinishTemporaryDetach();
- protected void onFocusChanged(boolean, int, android.graphics.Rect);
- protected void onFocusLost();
- public boolean onGenericMotionEvent(android.view.MotionEvent);
- public void onHoverChanged(boolean);
- public boolean onHoverEvent(android.view.MotionEvent);
- public void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
- public void onInitializeAccessibilityEventInternal(android.view.accessibility.AccessibilityEvent);
- public void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo);
- public void onInitializeAccessibilityNodeInfoInternal(android.view.accessibility.AccessibilityNodeInfo);
- public boolean onKeyDown(int, android.view.KeyEvent);
- public boolean onKeyLongPress(int, android.view.KeyEvent);
- public boolean onKeyMultiple(int, int, android.view.KeyEvent);
- public boolean onKeyPreIme(int, android.view.KeyEvent);
- public boolean onKeyShortcut(int, android.view.KeyEvent);
- public boolean onKeyUp(int, android.view.KeyEvent);
- protected void onLayout(boolean, int, int, int, int);
- protected void onMeasure(int, int);
- public void onMovedToDisplay(int, android.content.res.Configuration);
- protected void onOverScrolled(int, int, boolean, boolean);
- public void onPointerCaptureChange(boolean);
- public void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
- public void onPopulateAccessibilityEventInternal(android.view.accessibility.AccessibilityEvent);
- public void onProvideAutofillStructure(android.view.ViewStructure, int);
- public void onProvideAutofillVirtualStructure(android.view.ViewStructure, int);
- public void onProvideStructure(android.view.ViewStructure);
- public void onProvideVirtualStructure(android.view.ViewStructure);
- public void onResolveDrawables(int);
- public android.view.PointerIcon onResolvePointerIcon(android.view.MotionEvent, int);
- protected void onRestoreInstanceState(android.os.Parcelable);
- public void onRtlPropertiesChanged(int);
- protected android.os.Parcelable onSaveInstanceState();
- public void onScreenStateChanged(int);
- protected void onScrollChanged(int, int, int, int);
- protected boolean onSetAlpha(int);
- protected void onSizeChanged(int, int, int, int);
- public void onStartTemporaryDetach();
- public boolean onTouchEvent(android.view.MotionEvent);
- public boolean onTrackballEvent(android.view.MotionEvent);
- public void onVisibilityAggregated(boolean);
- protected void onVisibilityChanged(android.view.View, int);
- public void onWindowFocusChanged(boolean);
- public void onWindowSystemUiVisibilityChanged(int);
- protected void onWindowVisibilityChanged(int);
- public void outputDirtyFlags(java.lang.String, boolean, int);
- protected boolean overScrollBy(int, int, int, int, int, int, int, int, boolean);
- public boolean performAccessibilityAction(int, android.os.Bundle);
- public boolean performAccessibilityActionInternal(int, android.os.Bundle);
- protected boolean performButtonActionOnTouchDown(android.view.MotionEvent);
- public boolean performClick();
- public boolean performContextClick(float, float);
- public boolean performContextClick();
- public boolean performHapticFeedback(int);
- public boolean performHapticFeedback(int, int);
- public boolean performLongClick();
- public boolean performLongClick(float, float);
- public void playSoundEffect(int);
- public boolean pointInView(float, float, float);
- public boolean post(java.lang.Runnable);
- public boolean postDelayed(java.lang.Runnable, long);
- public void postInvalidate();
- public void postInvalidate(int, int, int, int);
- public void postInvalidateDelayed(long);
- public void postInvalidateDelayed(long, int, int, int, int);
- public void postInvalidateOnAnimation();
- public void postInvalidateOnAnimation(int, int, int, int);
- public void postOnAnimation(java.lang.Runnable);
- public void postOnAnimationDelayed(java.lang.Runnable, long);
- protected void recomputePadding();
- public void refreshDrawableState();
- public void releasePointerCapture();
- public boolean removeCallbacks(java.lang.Runnable);
- public void removeFrameMetricsListener(android.view.Window$OnFrameMetricsAvailableListener);
- public void removeOnAttachStateChangeListener(android.view.View$OnAttachStateChangeListener);
- public void removeOnLayoutChangeListener(android.view.View$OnLayoutChangeListener);
- public void removeOnUnhandledKeyEventListener(android.view.View$OnUnhandledKeyEventListener);
- public boolean requestAccessibilityFocus();
- public void requestApplyInsets();
- public void requestFitSystemWindows();
- public boolean requestFocus();
- public boolean requestFocus(int);
- public boolean requestFocus(int, android.graphics.Rect);
- public boolean requestFocusFromTouch();
- public void requestKeyboardShortcuts(java.util.List, int);
- public void requestLayout();
- public void requestPointerCapture();
- public boolean requestRectangleOnScreen(android.graphics.Rect);
- public boolean requestRectangleOnScreen(android.graphics.Rect, boolean);
- public void requestUnbufferedDispatch(android.view.MotionEvent);
- public android.view.View requireViewById(int);
- public void resetPaddingToInitialValues();
- public void resetPivot();
- protected void resetResolvedDrawables();
- public void resetResolvedLayoutDirection();
- public void resetResolvedPadding();
- public void resetResolvedTextAlignment();
- public void resetResolvedTextDirection();
- public void resetRtlProperties();
- protected void resolveDrawables();
- public boolean resolveLayoutDirection();
- public void resolveLayoutParams();
- public void resolvePadding();
- public boolean resolveRtlPropertiesIfNeeded();
- public static int resolveSize(int, int);
- public static int resolveSizeAndState(int, int, int);
- public boolean resolveTextAlignment();
- public boolean resolveTextDirection();
- public boolean restoreDefaultFocus();
- public boolean restoreFocusInCluster(int);
- public boolean restoreFocusNotInCluster();
- public void restoreHierarchyState(android.util.SparseArray);
- public void saveHierarchyState(android.util.SparseArray);
- public void scheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable, long);
- public void scrollBy(int, int);
- public void scrollTo(int, int);
- public void sendAccessibilityEvent(int);
- public void sendAccessibilityEventInternal(int);
- public void sendAccessibilityEventUnchecked(android.view.accessibility.AccessibilityEvent);
- public void sendAccessibilityEventUncheckedInternal(android.view.accessibility.AccessibilityEvent);
- public void setAccessibilityDelegate(android.view.View$AccessibilityDelegate);
- public void setAccessibilityHeading(boolean);
- public void setAccessibilityLiveRegion(int);
- public void setAccessibilityPaneTitle(java.lang.CharSequence);
- public void setAccessibilitySelection(int, int);
- public void setAccessibilityTraversalAfter(int);
- public void setAccessibilityTraversalBefore(int);
- public void setActivated(boolean);
- public void setAlpha(float);
- public void setAnimation(android.view.animation.Animation);
- public void setAnimationMatrix(android.graphics.Matrix);
- public void setAssistBlocked(boolean);
- public void setAutofillHints(java.lang.String[]);
- public void setAutofillId(android.view.autofill.AutofillId);
- public void setAutofilled(boolean);
- public void setBackground(android.graphics.drawable.Drawable);
- public void setBackgroundColor(int);
- public void setBackgroundDrawable(android.graphics.drawable.Drawable);
- public void setBackgroundResource(int);
- public void setBackgroundTintList(android.content.res.ColorStateList);
- public void setBackgroundTintMode(android.graphics.PorterDuff$Mode);
- public void setBottom(int);
- public void setCameraDistance(float);
- public void setClickable(boolean);
- public void setClipBounds(android.graphics.Rect);
- public void setClipToOutline(boolean);
- public void setContentDescription(java.lang.CharSequence);
- public void setContextClickable(boolean);
- public void setDefaultFocusHighlightEnabled(boolean);
- public void setDisabledSystemUiVisibility(int);
- public void setDrawingCacheBackgroundColor(int);
- public void setDrawingCacheEnabled(boolean);
- public void setDrawingCacheQuality(int);
- public void setDuplicateParentStateEnabled(boolean);
- public void setElevation(float);
- public void setEnabled(boolean);
- public void setFadingEdgeLength(int);
- public void setFilterTouchesWhenObscured(boolean);
- public void setFitsSystemWindows(boolean);
- public void setFocusable(boolean);
- public void setFocusable(int);
- public void setFocusableInTouchMode(boolean);
- public void setFocusedByDefault(boolean);
- public void setFocusedInCluster();
- public void setForeground(android.graphics.drawable.Drawable);
- public void setForegroundGravity(int);
- public void setForegroundTintList(android.content.res.ColorStateList);
- public void setForegroundTintMode(android.graphics.PorterDuff$Mode);
- protected boolean setFrame(int, int, int, int);
- public void setHapticFeedbackEnabled(boolean);
- public void setHasTransientState(boolean);
- public void setHorizontalFadingEdgeEnabled(boolean);
- public void setHorizontalScrollBarEnabled(boolean);
- public void setHovered(boolean);
- public void setId(int);
- public void setImportantForAccessibility(int);
- public void setImportantForAutofill(int);
- public void setIsRootNamespace(boolean);
- public void setKeepScreenOn(boolean);
- public void setKeyboardNavigationCluster(boolean);
- public void setLabelFor(int);
- public void setLayerPaint(android.graphics.Paint);
- public void setLayerType(int, android.graphics.Paint);
- public void setLayoutDirection(int);
- public void setLayoutParams(android.view.ViewGroup$LayoutParams);
- public void setLeft(int);
- public void setLeftTopRightBottom(int, int, int, int);
- public void setLongClickable(boolean);
- protected void setMeasuredDimension(int, int);
- public void setMinimumHeight(int);
- public void setMinimumWidth(int);
- public void setNestedScrollingEnabled(boolean);
- public void setNextClusterForwardId(int);
- public void setNextFocusDownId(int);
- public void setNextFocusForwardId(int);
- public void setNextFocusLeftId(int);
- public void setNextFocusRightId(int);
- public void setNextFocusUpId(int);
- public void setNotifyAutofillManagerOnClick(boolean);
- public void setOnApplyWindowInsetsListener(android.view.View$OnApplyWindowInsetsListener);
- public void setOnCapturedPointerListener(android.view.View$OnCapturedPointerListener);
- public void setOnClickListener(android.view.View$OnClickListener);
- public void setOnContextClickListener(android.view.View$OnContextClickListener);
- public void setOnCreateContextMenuListener(android.view.View$OnCreateContextMenuListener);
- public void setOnDragListener(android.view.View$OnDragListener);
- public void setOnFocusChangeListener(android.view.View$OnFocusChangeListener);
- public void setOnGenericMotionListener(android.view.View$OnGenericMotionListener);
- public void setOnHoverListener(android.view.View$OnHoverListener);
- public void setOnKeyListener(android.view.View$OnKeyListener);
- public void setOnLongClickListener(android.view.View$OnLongClickListener);
- public void setOnScrollChangeListener(android.view.View$OnScrollChangeListener);
- public void setOnSystemUiVisibilityChangeListener(android.view.View$OnSystemUiVisibilityChangeListener);
- public void setOnTouchListener(android.view.View$OnTouchListener);
- public void setOpticalInsets(android.graphics.Insets);
- public void setOutlineAmbientShadowColor(int);
- public void setOutlineProvider(android.view.ViewOutlineProvider);
- public void setOutlineSpotShadowColor(int);
- public void setOverScrollMode(int);
- public void setPadding(int, int, int, int);
- public void setPaddingRelative(int, int, int, int);
- public void setPivotX(float);
- public void setPivotY(float);
- public void setPointerIcon(android.view.PointerIcon);
- public void setPressed(boolean);
- public void setRevealClip(boolean, float, float, float);
- public void setRevealOnFocusHint(boolean);
- public void setRight(int);
- public void setRotation(float);
- public void setRotationX(float);
- public void setRotationY(float);
- public void setSaveEnabled(boolean);
- public void setSaveFromParentEnabled(boolean);
- public void setScaleX(float);
- public void setScaleY(float);
- public void setScreenReaderFocusable(boolean);
- public void setScrollBarDefaultDelayBeforeFade(int);
- public void setScrollBarFadeDuration(int);
- public void setScrollBarSize(int);
- public void setScrollBarStyle(int);
- public void setScrollContainer(boolean);
- public void setScrollIndicators(int);
- public void setScrollIndicators(int, int);
- public void setScrollX(int);
- public void setScrollY(int);
- public void setScrollbarFadingEnabled(boolean);
- public void setSelected(boolean);
- public void setSoundEffectsEnabled(boolean);
- public void setStateListAnimator(android.animation.StateListAnimator);
- public void setSystemUiVisibility(int);
- public void setTag(java.lang.Object);
- public void setTag(int, java.lang.Object);
- public void setTagInternal(int, java.lang.Object);
- public void setTextAlignment(int);
- public void setTextDirection(int);
- public void setTooltip(java.lang.CharSequence);
- public void setTooltipText(java.lang.CharSequence);
- public void setTop(int);
- public void setTouchDelegate(android.view.TouchDelegate);
- public void setTransitionAlpha(float);
- public void setTransitionName(java.lang.String);
- public void setTransitionVisibility(int);
- public void setTranslationX(float);
- public void setTranslationY(float);
- public void setTranslationZ(float);
- public void setVerticalFadingEdgeEnabled(boolean);
- public void setVerticalScrollBarEnabled(boolean);
- public void setVerticalScrollbarPosition(int);
- public void setVisibility(int);
- public void setWillNotCacheDrawing(boolean);
- public void setWillNotDraw(boolean);
- public void setX(float);
- public void setY(float);
- public void setZ(float);
- public boolean showContextMenu();
- public boolean showContextMenu(float, float);
- public android.view.ActionMode startActionMode(android.view.ActionMode$Callback);
- public android.view.ActionMode startActionMode(android.view.ActionMode$Callback, int);
- public void startActivityForResult(android.content.Intent, int);
- public void startAnimation(android.view.animation.Animation);
- public boolean startDrag(android.content.ClipData, android.view.View$DragShadowBuilder, java.lang.Object, int);
- public boolean startDragAndDrop(android.content.ClipData, android.view.View$DragShadowBuilder, java.lang.Object, int);
- public boolean startMovingTask(float, float);
- public boolean startNestedScroll(int);
- public void stopNestedScroll();
- public boolean toGlobalMotionEvent(android.view.MotionEvent);
- public boolean toLocalMotionEvent(android.view.MotionEvent);
- public java.lang.String toString();
- public void transformFromViewToWindowSpace(int[]);
- public void transformMatrixToGlobal(android.graphics.Matrix);
- public void transformMatrixToLocal(android.graphics.Matrix);
- public void unscheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable);
- public void unscheduleDrawable(android.graphics.drawable.Drawable);
- public android.view.RenderNode updateDisplayListIfDirty();
- public void updateDragShadow(android.view.View$DragShadowBuilder);
- protected boolean verifyDrawable(android.graphics.drawable.Drawable);
- public boolean willNotCacheDrawing();
- public boolean willNotDraw();
-
-
- public static int ACCESSIBILITY_CURSOR_POSITION_UNDEFINED;
- public static int ACCESSIBILITY_LIVE_REGION_ASSERTIVE;
- public static int ACCESSIBILITY_LIVE_REGION_NONE;
- public static int ACCESSIBILITY_LIVE_REGION_POLITE;
- public static android.util.Property ALPHA;
- public static int AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS;
- public static java.lang.String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE;
- public static java.lang.String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY;
- public static java.lang.String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH;
- public static java.lang.String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR;
- public static java.lang.String AUTOFILL_HINT_CREDIT_CARD_NUMBER;
- public static java.lang.String AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE;
- public static java.lang.String AUTOFILL_HINT_EMAIL_ADDRESS;
- public static java.lang.String AUTOFILL_HINT_NAME;
- public static java.lang.String AUTOFILL_HINT_PASSWORD;
- public static java.lang.String AUTOFILL_HINT_PHONE;
- public static java.lang.String AUTOFILL_HINT_POSTAL_ADDRESS;
- public static java.lang.String AUTOFILL_HINT_POSTAL_CODE;
- public static java.lang.String AUTOFILL_HINT_USERNAME;
- public static int AUTOFILL_TYPE_DATE;
- public static int AUTOFILL_TYPE_LIST;
- public static int AUTOFILL_TYPE_NONE;
- public static int AUTOFILL_TYPE_TEXT;
- public static int AUTOFILL_TYPE_TOGGLE;
- public static boolean DEBUG_DRAW;
- public static java.lang.String DEBUG_LAYOUT_PROPERTY;
- public static int DRAG_FLAG_GLOBAL;
- public static int DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION;
- public static int DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION;
- public static int DRAG_FLAG_GLOBAL_URI_READ;
- public static int DRAG_FLAG_GLOBAL_URI_WRITE;
- public static int DRAG_FLAG_OPAQUE;
- public static int DRAWING_CACHE_QUALITY_AUTO;
- public static int DRAWING_CACHE_QUALITY_HIGH;
- public static int DRAWING_CACHE_QUALITY_LOW;
- protected static int[] EMPTY_STATE_SET;
- protected static int[] ENABLED_FOCUSED_SELECTED_STATE_SET;
- protected static int[] ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
- protected static int[] ENABLED_FOCUSED_STATE_SET;
- protected static int[] ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET;
- protected static int[] ENABLED_SELECTED_STATE_SET;
- protected static int[] ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET;
- protected static int[] ENABLED_STATE_SET;
- protected static int[] ENABLED_WINDOW_FOCUSED_STATE_SET;
- public static int FIND_VIEWS_WITH_ACCESSIBILITY_NODE_PROVIDERS;
- public static int FIND_VIEWS_WITH_CONTENT_DESCRIPTION;
- public static int FIND_VIEWS_WITH_TEXT;
- public static int FOCUSABLE;
- public static int FOCUSABLES_ALL;
- public static int FOCUSABLES_TOUCH_MODE;
- public static int FOCUSABLE_AUTO;
- protected static int[] FOCUSED_SELECTED_STATE_SET;
- protected static int[] FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
- protected static int[] FOCUSED_STATE_SET;
- protected static int[] FOCUSED_WINDOW_FOCUSED_STATE_SET;
- public static int FOCUS_BACKWARD;
- public static int FOCUS_DOWN;
- public static int FOCUS_FORWARD;
- public static int FOCUS_LEFT;
- public static int FOCUS_RIGHT;
- public static int FOCUS_UP;
- public static int GONE;
- public static int HAPTIC_FEEDBACK_ENABLED;
- public static int IMPORTANT_FOR_ACCESSIBILITY_AUTO;
- public static int IMPORTANT_FOR_ACCESSIBILITY_NO;
- public static int IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS;
- public static int IMPORTANT_FOR_ACCESSIBILITY_YES;
- public static int IMPORTANT_FOR_AUTOFILL_AUTO;
- public static int IMPORTANT_FOR_AUTOFILL_NO;
- public static int IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS;
- public static int IMPORTANT_FOR_AUTOFILL_YES;
- public static int IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS;
- public static int INVISIBLE;
- public static int KEEP_SCREEN_ON;
- public static int LAST_APP_AUTOFILL_ID;
- public static int LAYER_TYPE_HARDWARE;
- public static int LAYER_TYPE_NONE;
- public static int LAYER_TYPE_SOFTWARE;
- public static int LAYOUT_DIRECTION_INHERIT;
- public static int LAYOUT_DIRECTION_LOCALE;
- public static int LAYOUT_DIRECTION_LTR;
- public static int LAYOUT_DIRECTION_RTL;
- public static int LAYOUT_DIRECTION_UNDEFINED;
- public static int MEASURED_HEIGHT_STATE_SHIFT;
- public static int MEASURED_SIZE_MASK;
- public static int MEASURED_STATE_MASK;
- public static int MEASURED_STATE_TOO_SMALL;
- public static int NAVIGATION_BAR_TRANSIENT;
- public static int NAVIGATION_BAR_TRANSLUCENT;
- public static int NAVIGATION_BAR_TRANSPARENT;
- public static int NAVIGATION_BAR_UNHIDE;
- public static int NOT_FOCUSABLE;
- public static int NO_ID;
- public static int OVER_SCROLL_ALWAYS;
- public static int OVER_SCROLL_IF_CONTENT_SCROLLS;
- public static int OVER_SCROLL_NEVER;
- protected static int[] PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET;
- protected static int[] PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
- protected static int[] PRESSED_ENABLED_FOCUSED_STATE_SET;
- protected static int[] PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET;
- protected static int[] PRESSED_ENABLED_SELECTED_STATE_SET;
- protected static int[] PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET;
- protected static int[] PRESSED_ENABLED_STATE_SET;
- protected static int[] PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET;
- protected static int[] PRESSED_FOCUSED_SELECTED_STATE_SET;
- protected static int[] PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
- protected static int[] PRESSED_FOCUSED_STATE_SET;
- protected static int[] PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET;
- protected static int[] PRESSED_SELECTED_STATE_SET;
- protected static int[] PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
- protected static int[] PRESSED_STATE_SET;
- protected static int[] PRESSED_WINDOW_FOCUSED_STATE_SET;
- public static int PUBLIC_STATUS_BAR_VISIBILITY_MASK;
- public static android.util.Property ROTATION;
- public static android.util.Property ROTATION_X;
- public static android.util.Property ROTATION_Y;
- public static android.util.Property SCALE_X;
- public static android.util.Property SCALE_Y;
- public static int SCREEN_STATE_OFF;
- public static int SCREEN_STATE_ON;
- public static int SCROLLBARS_INSIDE_INSET;
- public static int SCROLLBARS_INSIDE_OVERLAY;
- public static int SCROLLBARS_OUTSIDE_INSET;
- public static int SCROLLBARS_OUTSIDE_OVERLAY;
- public static int SCROLLBAR_POSITION_DEFAULT;
- public static int SCROLLBAR_POSITION_LEFT;
- public static int SCROLLBAR_POSITION_RIGHT;
- public static int SCROLL_AXIS_HORIZONTAL;
- public static int SCROLL_AXIS_NONE;
- public static int SCROLL_AXIS_VERTICAL;
- public static int SCROLL_INDICATOR_BOTTOM;
- public static int SCROLL_INDICATOR_END;
- public static int SCROLL_INDICATOR_LEFT;
- public static int SCROLL_INDICATOR_RIGHT;
- public static int SCROLL_INDICATOR_START;
- public static int SCROLL_INDICATOR_TOP;
- protected static int[] SELECTED_STATE_SET;
- protected static int[] SELECTED_WINDOW_FOCUSED_STATE_SET;
- public static int SOUND_EFFECTS_ENABLED;
- public static int STATUS_BAR_DISABLE_BACK;
- public static int STATUS_BAR_DISABLE_CLOCK;
- public static int STATUS_BAR_DISABLE_EXPAND;
- public static int STATUS_BAR_DISABLE_HOME;
- public static int STATUS_BAR_DISABLE_NOTIFICATION_ALERTS;
- public static int STATUS_BAR_DISABLE_NOTIFICATION_ICONS;
- public static int STATUS_BAR_DISABLE_NOTIFICATION_TICKER;
- public static int STATUS_BAR_DISABLE_RECENT;
- public static int STATUS_BAR_DISABLE_SEARCH;
- public static int STATUS_BAR_DISABLE_SYSTEM_INFO;
- public static int STATUS_BAR_HIDDEN;
- public static int STATUS_BAR_TRANSIENT;
- public static int STATUS_BAR_TRANSLUCENT;
- public static int STATUS_BAR_TRANSPARENT;
- public static int STATUS_BAR_UNHIDE;
- public static int STATUS_BAR_VISIBLE;
- public static int SYSTEM_UI_CLEARABLE_FLAGS;
- public static int SYSTEM_UI_FLAG_FULLSCREEN;
- public static int SYSTEM_UI_FLAG_HIDE_NAVIGATION;
- public static int SYSTEM_UI_FLAG_IMMERSIVE;
- public static int SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
- public static int SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;
- public static int SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
- public static int SYSTEM_UI_FLAG_LAYOUT_STABLE;
- public static int SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
- public static int SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
- public static int SYSTEM_UI_FLAG_LOW_PROFILE;
- public static int SYSTEM_UI_FLAG_VISIBLE;
- public static int SYSTEM_UI_LAYOUT_FLAGS;
- public static int SYSTEM_UI_TRANSPARENT;
- public static int TEXT_ALIGNMENT_CENTER;
- public static int TEXT_ALIGNMENT_GRAVITY;
- public static int TEXT_ALIGNMENT_INHERIT;
- public static int TEXT_ALIGNMENT_TEXT_END;
- public static int TEXT_ALIGNMENT_TEXT_START;
- public static int TEXT_ALIGNMENT_VIEW_END;
- public static int TEXT_ALIGNMENT_VIEW_START;
- public static int TEXT_DIRECTION_ANY_RTL;
- public static int TEXT_DIRECTION_FIRST_STRONG;
- public static int TEXT_DIRECTION_FIRST_STRONG_LTR;
- public static int TEXT_DIRECTION_FIRST_STRONG_RTL;
- public static int TEXT_DIRECTION_INHERIT;
- public static int TEXT_DIRECTION_LOCALE;
- public static int TEXT_DIRECTION_LTR;
- public static int TEXT_DIRECTION_RTL;
- public static android.util.Property TRANSLATION_X;
- public static android.util.Property TRANSLATION_Y;
- public static android.util.Property TRANSLATION_Z;
- protected static java.lang.String VIEW_LOG_TAG;
- public static int VISIBLE;
- protected static int[] WINDOW_FOCUSED_STATE_SET;
- public static android.util.Property X;
- public static android.util.Property Y;
- public static android.util.Property Z;
- public java.lang.String[] mAttributes;
- protected int mBottom;
- public boolean mCachingFailed;
- protected android.content.Context mContext;
- protected android.view.animation.Animation mCurrentAnimation;
- public static boolean mDebugViewAttributes;
- protected android.view.InputEventConsistencyVerifier mInputEventConsistencyVerifier;
- protected android.view.ViewGroup$LayoutParams mLayoutParams;
- protected int mLeft;
- protected int mPaddingBottom;
- protected int mPaddingLeft;
- protected int mPaddingRight;
- protected int mPaddingTop;
- protected android.view.ViewParent mParent;
- public int mPrivateFlags;
- protected int mRight;
- protected int mScrollX;
- protected int mScrollY;
- protected java.lang.Object mTag;
- protected int mTop;
- public android.view.View$TransformationInfo mTransformationInfo;
- protected int mUserPaddingBottom;
- protected int mUserPaddingLeft;
- protected int mUserPaddingRight;
- protected static boolean sPreserveMarginParamsInLayoutParamConversion;
-}
-
--keep class android.view.View$AccessibilityDelegate {
- <init>();
-
- public void addExtraDataToAccessibilityNodeInfo(android.view.View, android.view.accessibility.AccessibilityNodeInfo, java.lang.String, android.os.Bundle);
- public android.view.accessibility.AccessibilityNodeInfo createAccessibilityNodeInfo(android.view.View);
- public boolean dispatchPopulateAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
- public android.view.accessibility.AccessibilityNodeProvider getAccessibilityNodeProvider(android.view.View);
- public void onInitializeAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
- public void onInitializeAccessibilityNodeInfo(android.view.View, android.view.accessibility.AccessibilityNodeInfo);
- public void onPopulateAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
- public boolean onRequestSendAccessibilityEvent(android.view.ViewGroup, android.view.View, android.view.accessibility.AccessibilityEvent);
- public boolean performAccessibilityAction(android.view.View, int, android.os.Bundle);
- public void sendAccessibilityEvent(android.view.View, int);
- public void sendAccessibilityEventUnchecked(android.view.View, android.view.accessibility.AccessibilityEvent);
-
-
-}
-
--keep class android.view.View$AttachInfo {
-
-
-
- public android.view.Surface mDragSurface;
-}
-
--keep class android.view.View$AttachInfo$InvalidateInfo {
-
- public static android.view.View$AttachInfo$InvalidateInfo obtain();
- public void recycle();
-
-
-}
-
--keep class android.view.View$DragShadowBuilder {
- <init>(android.view.View);
- <init>();
-
- public android.view.View getView();
- public void onDrawShadow(android.graphics.Canvas);
- public void onProvideShadowMetrics(android.graphics.Point, android.graphics.Point);
-
-
-}
-
--keep class android.view.View$OnApplyWindowInsetsListener {
-
- public abstract android.view.WindowInsets onApplyWindowInsets(android.view.View, android.view.WindowInsets);
-
-
-}
-
--keep class android.view.View$OnAttachStateChangeListener {
-
- public abstract void onViewAttachedToWindow(android.view.View);
- public abstract void onViewDetachedFromWindow(android.view.View);
-
-
-}
-
--keep class android.view.View$OnCapturedPointerListener {
-
- public abstract boolean onCapturedPointer(android.view.View, android.view.MotionEvent);
-
-
-}
-
--keep class android.view.View$OnClickListener {
-
- public abstract void onClick(android.view.View);
-
-
-}
-
--keep class android.view.View$OnContextClickListener {
-
- public abstract boolean onContextClick(android.view.View);
-
-
-}
-
--keep class android.view.View$OnCreateContextMenuListener {
-
- public abstract void onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu$ContextMenuInfo);
-
-
-}
-
--keep class android.view.View$OnDragListener {
-
- public abstract boolean onDrag(android.view.View, android.view.DragEvent);
-
-
-}
-
--keep class android.view.View$OnFocusChangeListener {
-
- public abstract void onFocusChange(android.view.View, boolean);
-
-
-}
-
--keep class android.view.View$OnGenericMotionListener {
-
- public abstract boolean onGenericMotion(android.view.View, android.view.MotionEvent);
-
-
-}
-
--keep class android.view.View$OnHoverListener {
-
- public abstract boolean onHover(android.view.View, android.view.MotionEvent);
-
-
-}
-
--keep class android.view.View$OnKeyListener {
-
- public abstract boolean onKey(android.view.View, int, android.view.KeyEvent);
-
-
-}
-
--keep class android.view.View$OnLayoutChangeListener {
-
- public abstract void onLayoutChange(android.view.View, int, int, int, int, int, int, int, int);
-
-
-}
-
--keep class android.view.View$OnLongClickListener {
-
- public abstract boolean onLongClick(android.view.View);
-
-
-}
-
--keep class android.view.View$OnScrollChangeListener {
-
- public abstract void onScrollChange(android.view.View, int, int, int, int);
-
-
-}
-
--keep class android.view.View$OnSystemUiVisibilityChangeListener {
-
- public abstract void onSystemUiVisibilityChange(int);
-
-
-}
-
--keep class android.view.View$OnTouchListener {
-
- public abstract boolean onTouch(android.view.View, android.view.MotionEvent);
-
-
-}
-
--keep class android.view.View$OnUnhandledKeyEventListener {
-
- public abstract boolean onUnhandledKeyEvent(android.view.View, android.view.KeyEvent);
-
-
-}
-
--keep class android.view.View$TransformationInfo {
-
-
-
-}
-
--keep class android.view.ViewDebug {
- <init>();
-
- public static void capture(android.view.View, java.io.OutputStream, android.view.View);
- public static void captureLayers(android.view.View, java.io.DataOutputStream);
- public static void dump(android.view.View, boolean, boolean, java.io.OutputStream);
- public static void dumpCapturedView(java.lang.String, java.lang.Object);
- public static void dumpTheme(android.view.View, java.io.OutputStream);
- public static void dumpv2(android.view.View, java.io.ByteArrayOutputStream);
- public static android.view.View findView(android.view.View, java.lang.String);
- public static java.lang.String flagsToString(java.lang.Class, java.lang.String, int);
- public static long getViewInstanceCount();
- public static long getViewRootImplCount();
- public static java.lang.String intToString(java.lang.Class, java.lang.String, int);
- public static java.lang.Object invokeViewMethod(android.view.View, java.lang.reflect.Method, java.lang.Object[]);
- public static void outputDisplayList(android.view.View, android.view.View);
- public static void profileViewAndChildren(android.view.View, java.io.BufferedWriter);
- public static void setLayoutParameter(android.view.View, java.lang.String, int);
- public static void startHierarchyTracing(java.lang.String, android.view.View);
- public static void startRecyclerTracing(java.lang.String, android.view.View);
- public static void stopHierarchyTracing();
- public static void stopRecyclerTracing();
- public static void trace(android.view.View, android.view.ViewDebug$RecyclerTraceType, int[]);
- public static void trace(android.view.View, android.view.ViewDebug$HierarchyTraceType);
-
-
- public static boolean DEBUG_DRAG;
- public static boolean DEBUG_POSITIONING;
- public static boolean TRACE_HIERARCHY;
- public static boolean TRACE_RECYCLER;
-}
-
--keep class android.view.ViewDebug$CanvasProvider {
-
- public abstract android.graphics.Bitmap createBitmap();
- public abstract android.graphics.Canvas getCanvas(android.view.View, int, int);
-
-
-}
-
--keep class android.view.ViewDebug$HierarchyTraceType {
-
- public static android.view.ViewDebug$HierarchyTraceType valueOf(java.lang.String);
- public static android.view.ViewDebug$HierarchyTraceType[] values();
-
- public static android.view.ViewDebug$HierarchyTraceType BUILD_CACHE;
- public static android.view.ViewDebug$HierarchyTraceType DRAW;
- public static android.view.ViewDebug$HierarchyTraceType INVALIDATE;
- public static android.view.ViewDebug$HierarchyTraceType INVALIDATE_CHILD;
- public static android.view.ViewDebug$HierarchyTraceType INVALIDATE_CHILD_IN_PARENT;
- public static android.view.ViewDebug$HierarchyTraceType ON_LAYOUT;
- public static android.view.ViewDebug$HierarchyTraceType ON_MEASURE;
- public static android.view.ViewDebug$HierarchyTraceType REQUEST_LAYOUT;
-
-}
-
--keep class android.view.ViewDebug$RecyclerTraceType {
-
- public static android.view.ViewDebug$RecyclerTraceType valueOf(java.lang.String);
- public static android.view.ViewDebug$RecyclerTraceType[] values();
-
- public static android.view.ViewDebug$RecyclerTraceType BIND_VIEW;
- public static android.view.ViewDebug$RecyclerTraceType MOVE_FROM_ACTIVE_TO_SCRAP_HEAP;
- public static android.view.ViewDebug$RecyclerTraceType MOVE_TO_SCRAP_HEAP;
- public static android.view.ViewDebug$RecyclerTraceType NEW_VIEW;
- public static android.view.ViewDebug$RecyclerTraceType RECYCLE_FROM_ACTIVE_HEAP;
- public static android.view.ViewDebug$RecyclerTraceType RECYCLE_FROM_SCRAP_HEAP;
-
-}
-
--keep class android.view.ViewGroup {
- <init>(android.content.Context);
- <init>(android.content.Context, android.util.AttributeSet);
- <init>(android.content.Context, android.util.AttributeSet, int);
- <init>(android.content.Context, android.util.AttributeSet, int, int);
-
- public void addChildrenForAccessibility(java.util.ArrayList);
- public void addFocusables(java.util.ArrayList, int, int);
- public void addKeyboardNavigationClusters(java.util.Collection, int);
- public boolean addStatesFromChildren();
- public void addTouchables(java.util.ArrayList);
- public void addTransientView(android.view.View, int);
- public void addView(android.view.View);
- public void addView(android.view.View, int);
- public void addView(android.view.View, int, int);
- public void addView(android.view.View, android.view.ViewGroup$LayoutParams);
- public void addView(android.view.View, int, android.view.ViewGroup$LayoutParams);
- protected boolean addViewInLayout(android.view.View, int, android.view.ViewGroup$LayoutParams);
- protected boolean addViewInLayout(android.view.View, int, android.view.ViewGroup$LayoutParams, boolean);
- protected void attachLayoutAnimationParameters(android.view.View, android.view.ViewGroup$LayoutParams, int, int);
- protected void attachViewToParent(android.view.View, int, android.view.ViewGroup$LayoutParams);
- public void bringChildToFront(android.view.View);
- public java.util.ArrayList buildTouchDispatchChildList();
- protected boolean canAnimate();
- public void captureTransitioningViews(java.util.List);
- protected boolean checkLayoutParams(android.view.ViewGroup$LayoutParams);
- public void childDrawableStateChanged(android.view.View);
- public void childHasTransientStateChanged(android.view.View, boolean);
- protected void cleanupLayoutState(android.view.View);
- public void clearChildFocus(android.view.View);
- public void clearDisappearingChildren();
- public void clearFocus();
- public android.graphics.Bitmap createSnapshot(android.view.ViewDebug$CanvasProvider, boolean);
- protected void debug(int);
- protected void destroyHardwareResources();
- protected void detachAllViewsFromParent();
- protected void detachViewFromParent(android.view.View);
- protected void detachViewFromParent(int);
- protected void detachViewsFromParent(int, int);
- public boolean dispatchActivityResult(java.lang.String, int, int, android.content.Intent);
- public android.view.WindowInsets dispatchApplyWindowInsets(android.view.WindowInsets);
- public boolean dispatchCapturedPointerEvent(android.view.MotionEvent);
- public void dispatchConfigurationChanged(android.content.res.Configuration);
- public void dispatchDisplayHint(int);
- public boolean dispatchDragEvent(android.view.DragEvent);
- protected void dispatchDraw(android.graphics.Canvas);
- public void dispatchDrawableHotspotChanged(float, float);
- public void dispatchFinishTemporaryDetach();
- protected void dispatchFreezeSelfOnly(android.util.SparseArray);
- protected boolean dispatchGenericFocusedEvent(android.view.MotionEvent);
- protected boolean dispatchGenericPointerEvent(android.view.MotionEvent);
- protected void dispatchGetDisplayList();
- protected boolean dispatchHoverEvent(android.view.MotionEvent);
- public boolean dispatchKeyEvent(android.view.KeyEvent);
- public boolean dispatchKeyEventPreIme(android.view.KeyEvent);
- public boolean dispatchKeyShortcutEvent(android.view.KeyEvent);
- public void dispatchPointerCaptureChanged(boolean);
- public boolean dispatchPopulateAccessibilityEventInternal(android.view.accessibility.AccessibilityEvent);
- public void dispatchProvideAutofillStructure(android.view.ViewStructure, int);
- public void dispatchProvideStructure(android.view.ViewStructure);
- protected void dispatchRestoreInstanceState(android.util.SparseArray);
- protected void dispatchSaveInstanceState(android.util.SparseArray);
- public void dispatchSetActivated(boolean);
- protected void dispatchSetPressed(boolean);
- public void dispatchSetSelected(boolean);
- public void dispatchStartTemporaryDetach();
- public void dispatchSystemUiVisibilityChanged(int);
- protected void dispatchThawSelfOnly(android.util.SparseArray);
- public boolean dispatchTouchEvent(android.view.MotionEvent);
- public boolean dispatchTrackballEvent(android.view.MotionEvent);
- public boolean dispatchUnhandledMove(android.view.View, int);
- protected void dispatchVisibilityChanged(android.view.View, int);
- public void dispatchWindowFocusChanged(boolean);
- public void dispatchWindowSystemUiVisiblityChanged(int);
- public void dispatchWindowVisibilityChanged(int);
- protected boolean drawChild(android.graphics.Canvas, android.view.View, long);
- protected void drawableStateChanged();
- protected void encodeProperties(android.view.ViewHierarchyEncoder);
- public void endViewTransition(android.view.View);
- public android.view.View findFocus();
- public void findNamedViews(java.util.Map);
- public android.view.View findViewByAccessibilityIdTraversal(int);
- public android.view.View findViewByAutofillIdTraversal(int);
- protected android.view.View findViewByPredicateTraversal(java.util.function.Predicate, android.view.View);
- protected android.view.View findViewTraversal(int);
- protected android.view.View findViewWithTagTraversal(java.lang.Object);
- public void findViewsWithText(java.util.ArrayList, java.lang.CharSequence, int);
- public android.view.View focusSearch(android.view.View, int);
- public void focusableViewAvailable(android.view.View);
- public boolean gatherTransparentRegion(android.graphics.Region);
- protected android.view.ViewGroup$LayoutParams generateDefaultLayoutParams();
- public android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet);
- protected android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams);
- public java.lang.CharSequence getAccessibilityClassName();
- public android.view.View getChildAt(int);
- public int getChildCount();
- protected int getChildDrawingOrder(int, int);
- public static int getChildMeasureSpec(int, int, int);
- protected boolean getChildStaticTransformation(android.view.View, android.view.animation.Transformation);
- public boolean getChildVisibleRect(android.view.View, android.graphics.Rect, android.graphics.Point);
- public boolean getChildVisibleRect(android.view.View, android.graphics.Rect, android.graphics.Point, boolean);
- public boolean getClipChildren();
- public boolean getClipToPadding();
- public int getDescendantFocusability();
- public android.view.View getFocusedChild();
- public android.view.animation.LayoutAnimationController getLayoutAnimation();
- public android.view.animation.Animation$AnimationListener getLayoutAnimationListener();
- public int getLayoutMode();
- public android.animation.LayoutTransition getLayoutTransition();
- public int getNestedScrollAxes();
- public android.view.ViewGroupOverlay getOverlay();
- public android.view.ViewOverlay getOverlay();
- public int getPersistentDrawingCache();
- public boolean getTouchscreenBlocksFocus();
- public android.view.View getTransientView(int);
- public int getTransientViewCount();
- public int getTransientViewIndex(int);
- public boolean hasFocus();
- protected boolean hasHoveredChild();
- public boolean hasTransientState();
- public int indexOfChild(android.view.View);
- protected void internalSetPadding(int, int, int, int);
- public void invalidateChild(android.view.View, android.graphics.Rect);
- public android.view.ViewParent invalidateChildInParent(int[], android.graphics.Rect);
- public boolean isAlwaysDrawnWithCacheEnabled();
- public boolean isAnimationCacheEnabled();
- protected boolean isChildrenDrawingOrderEnabled();
- protected boolean isChildrenDrawnWithCacheEnabled();
- public boolean isLayoutSuppressed();
- public boolean isMotionEventSplittingEnabled();
- public boolean isShowingContextMenuWithCoords();
- protected boolean isTransformedTouchPointInView(float, float, android.view.View, android.graphics.PointF);
- public boolean isTransitionGroup();
- public void jumpDrawablesToCurrentState();
- public void layout(int, int, int, int);
- public void makeOptionalFitsSystemWindows();
- protected void measureChild(android.view.View, int, int);
- protected void measureChildWithMargins(android.view.View, int, int, int, int);
- protected void measureChildren(int, int);
- public void notifySubtreeAccessibilityStateChanged(android.view.View, android.view.View, int);
- public void notifySubtreeAccessibilityStateChangedIfNeeded();
- public void offsetChildrenTopAndBottom(int);
- public void offsetDescendantRectToMyCoords(android.view.View, android.graphics.Rect);
- public void offsetRectIntoDescendantCoords(android.view.View, android.graphics.Rect);
- protected void onAttachedToWindow();
- protected void onChildVisibilityChanged(android.view.View, int, int);
- protected int[] onCreateDrawableState(int);
- protected void onDebugDraw(android.graphics.Canvas);
- protected void onDebugDrawMargins(android.graphics.Canvas, android.graphics.Paint);
- public void onDescendantInvalidated(android.view.View, android.view.View);
- protected void onDetachedFromWindow();
- public void onInitializeAccessibilityNodeInfoInternal(android.view.accessibility.AccessibilityNodeInfo);
- public boolean onInterceptHoverEvent(android.view.MotionEvent);
- public boolean onInterceptTouchEvent(android.view.MotionEvent);
- protected abstract void onLayout(boolean, int, int, int, int);
- public boolean onNestedFling(android.view.View, float, float, boolean);
- public boolean onNestedPreFling(android.view.View, float, float);
- public boolean onNestedPrePerformAccessibilityAction(android.view.View, int, android.os.Bundle);
- public void onNestedPreScroll(android.view.View, int, int, int[]);
- public void onNestedScroll(android.view.View, int, int, int, int);
- public void onNestedScrollAccepted(android.view.View, android.view.View, int);
- protected boolean onRequestFocusInDescendants(int, android.graphics.Rect);
- public boolean onRequestSendAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
- public boolean onRequestSendAccessibilityEventInternal(android.view.View, android.view.accessibility.AccessibilityEvent);
- public android.view.PointerIcon onResolvePointerIcon(android.view.MotionEvent, int);
- protected void onSetLayoutParams(android.view.View, android.view.ViewGroup$LayoutParams);
- public boolean onStartNestedScroll(android.view.View, android.view.View, int);
- public void onStopNestedScroll(android.view.View);
- public void onViewAdded(android.view.View);
- public void onViewRemoved(android.view.View);
- public void recomputeViewAttributes(android.view.View);
- public void removeAllViews();
- public void removeAllViewsInLayout();
- protected void removeDetachedView(android.view.View, boolean);
- public void removeTransientView(android.view.View);
- public void removeView(android.view.View);
- public void removeViewAt(int);
- public void removeViewInLayout(android.view.View);
- public void removeViews(int, int);
- public void removeViewsInLayout(int, int);
- public void requestChildFocus(android.view.View, android.view.View);
- public boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
- public void requestDisallowInterceptTouchEvent(boolean);
- public boolean requestFocus(int, android.graphics.Rect);
- public boolean requestSendAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
- public void requestTransitionStart(android.animation.LayoutTransition);
- public void requestTransparentRegion(android.view.View);
- protected void resetResolvedDrawables();
- public void resetResolvedLayoutDirection();
- public void resetResolvedPadding();
- public void resetResolvedTextAlignment();
- public void resetResolvedTextDirection();
- protected void resolveDrawables();
- public boolean resolveLayoutDirection();
- public void resolveLayoutParams();
- public void resolvePadding();
- public boolean resolveRtlPropertiesIfNeeded();
- public boolean resolveTextAlignment();
- public boolean resolveTextDirection();
- public boolean restoreDefaultFocus();
- public boolean restoreFocusInCluster(int);
- public boolean restoreFocusNotInCluster();
- public void scheduleLayoutAnimation();
- public void setAddStatesFromChildren(boolean);
- public void setAlwaysDrawnWithCacheEnabled(boolean);
- public void setAnimationCacheEnabled(boolean);
- protected void setChildrenDrawingCacheEnabled(boolean);
- protected void setChildrenDrawingOrderEnabled(boolean);
- protected void setChildrenDrawnWithCacheEnabled(boolean);
- public void setClipChildren(boolean);
- public void setClipToPadding(boolean);
- public void setDescendantFocusability(int);
- public void setLayoutAnimation(android.view.animation.LayoutAnimationController);
- public void setLayoutAnimationListener(android.view.animation.Animation$AnimationListener);
- public void setLayoutMode(int);
- public void setLayoutTransition(android.animation.LayoutTransition);
- public void setMotionEventSplittingEnabled(boolean);
- public void setOnHierarchyChangeListener(android.view.ViewGroup$OnHierarchyChangeListener);
- public void setPersistentDrawingCache(int);
- protected void setStaticTransformationsEnabled(boolean);
- public void setTouchscreenBlocksFocus(boolean);
- public void setTransitionGroup(boolean);
- public boolean shouldDelayChildPressedState();
- public boolean showContextMenuForChild(android.view.View);
- public boolean showContextMenuForChild(android.view.View, float, float);
- public android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode$Callback);
- public android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode$Callback, int);
- public void startLayoutAnimation();
- public void startViewTransition(android.view.View);
- public void suppressLayout(boolean);
- public void transformPointToViewLocal(float[], android.view.View);
- public void updateViewLayout(android.view.View, android.view.ViewGroup$LayoutParams);
-
-
- protected static int CLIP_TO_PADDING_MASK;
- protected static int FLAG_DISALLOW_INTERCEPT;
- protected static int FLAG_SUPPORT_STATIC_TRANSFORMATIONS;
- protected static int FLAG_USE_CHILD_DRAWING_ORDER;
- public static int FOCUS_AFTER_DESCENDANTS;
- public static int FOCUS_BEFORE_DESCENDANTS;
- public static int FOCUS_BLOCK_DESCENDANTS;
- public static int LAYOUT_MODE_CLIP_BOUNDS;
- public static int LAYOUT_MODE_DEFAULT;
- public static int LAYOUT_MODE_OPTICAL_BOUNDS;
- public static int PERSISTENT_ALL_CACHES;
- public static int PERSISTENT_ANIMATION_CACHE;
- public static int PERSISTENT_NO_CACHE;
- public static int PERSISTENT_SCROLLING_CACHE;
- protected java.util.ArrayList mDisappearingChildren;
- protected int mGroupFlags;
- protected android.view.ViewGroup$OnHierarchyChangeListener mOnHierarchyChangeListener;
- protected int mPersistentDrawingCache;
-}
-
--keep class android.view.ViewGroup$LayoutParams {
- <init>(android.content.Context, android.util.AttributeSet);
- <init>(int, int);
- <init>(android.view.ViewGroup$LayoutParams);
-
- public java.lang.String debug(java.lang.String);
- protected void encodeProperties(android.view.ViewHierarchyEncoder);
- public void onDebugDraw(android.view.View, android.graphics.Canvas, android.graphics.Paint);
- public void resolveLayoutDirection(int);
- protected void setBaseAttributes(android.content.res.TypedArray, int, int);
- protected static java.lang.String sizeToString(int);
-
-
- public static int FILL_PARENT;
- public static int MATCH_PARENT;
- public static int WRAP_CONTENT;
- public int height;
- public android.view.animation.LayoutAnimationController$AnimationParameters layoutAnimationParameters;
- public int width;
-}
-
--keep class android.view.ViewGroup$MarginLayoutParams {
- <init>(android.content.Context, android.util.AttributeSet);
- <init>(int, int);
- <init>(android.view.ViewGroup$MarginLayoutParams);
- <init>(android.view.ViewGroup$LayoutParams);
-
- public void copyMarginsFrom(android.view.ViewGroup$MarginLayoutParams);
- protected void encodeProperties(android.view.ViewHierarchyEncoder);
- public int getLayoutDirection();
- public int getMarginEnd();
- public int getMarginStart();
- public boolean isLayoutRtl();
- public boolean isMarginRelative();
- public void onDebugDraw(android.view.View, android.graphics.Canvas, android.graphics.Paint);
- public void resolveLayoutDirection(int);
- public void setLayoutDirection(int);
- public void setMarginEnd(int);
- public void setMarginStart(int);
- public void setMargins(int, int, int, int);
- public void setMarginsRelative(int, int, int, int);
-
-
- public static int DEFAULT_MARGIN_RELATIVE;
- public int bottomMargin;
- public int leftMargin;
- public int rightMargin;
- public int topMargin;
-}
-
--keep class android.view.ViewGroup$OnHierarchyChangeListener {
-
- public abstract void onChildViewAdded(android.view.View, android.view.View);
- public abstract void onChildViewRemoved(android.view.View, android.view.View);
-
-
-}
-
--keep class android.view.ViewGroupOverlay {
-
- public void add(android.view.View);
- public void remove(android.view.View);
-
-
-}
-
--keep class android.view.ViewHierarchyEncoder {
- <init>(java.io.ByteArrayOutputStream);
-
- public void addProperty(java.lang.String, boolean);
- public void addProperty(java.lang.String, short);
- public void addProperty(java.lang.String, int);
- public void addProperty(java.lang.String, float);
- public void addProperty(java.lang.String, java.lang.String);
- public void addPropertyKey(java.lang.String);
- public void beginObject(java.lang.Object);
- public void endObject();
- public void endStream();
-
-
-}
-
--keep class android.view.ViewOutlineProvider {
- <init>();
-
- public abstract void getOutline(android.view.View, android.graphics.Outline);
-
-
- public static android.view.ViewOutlineProvider BACKGROUND;
- public static android.view.ViewOutlineProvider BOUNDS;
- public static android.view.ViewOutlineProvider PADDED_BOUNDS;
-}
-
--keep class android.view.ViewOverlay {
-
- public void add(android.graphics.drawable.Drawable);
- public void clear();
- public void remove(android.graphics.drawable.Drawable);
-
-
-}
-
--keep class android.view.ViewParent {
-
- public abstract void bringChildToFront(android.view.View);
- public abstract boolean canResolveLayoutDirection();
- public abstract boolean canResolveTextAlignment();
- public abstract boolean canResolveTextDirection();
- public abstract void childDrawableStateChanged(android.view.View);
- public abstract void childHasTransientStateChanged(android.view.View, boolean);
- public abstract void clearChildFocus(android.view.View);
- public abstract void createContextMenu(android.view.ContextMenu);
- public abstract android.view.View focusSearch(android.view.View, int);
- public abstract void focusableViewAvailable(android.view.View);
- public abstract boolean getChildVisibleRect(android.view.View, android.graphics.Rect, android.graphics.Point);
- public abstract int getLayoutDirection();
- public abstract android.view.ViewParent getParent();
- public abstract android.view.ViewParent getParentForAccessibility();
- public abstract int getTextAlignment();
- public abstract int getTextDirection();
- public abstract void invalidateChild(android.view.View, android.graphics.Rect);
- public abstract android.view.ViewParent invalidateChildInParent(int[], android.graphics.Rect);
- public abstract boolean isLayoutDirectionResolved();
- public abstract boolean isLayoutRequested();
- public abstract boolean isTextAlignmentResolved();
- public abstract boolean isTextDirectionResolved();
- public abstract android.view.View keyboardNavigationClusterSearch(android.view.View, int);
- public abstract void notifySubtreeAccessibilityStateChanged(android.view.View, android.view.View, int);
- public void onDescendantInvalidated(android.view.View, android.view.View);
- public abstract boolean onNestedFling(android.view.View, float, float, boolean);
- public abstract boolean onNestedPreFling(android.view.View, float, float);
- public abstract boolean onNestedPrePerformAccessibilityAction(android.view.View, int, android.os.Bundle);
- public abstract void onNestedPreScroll(android.view.View, int, int, int[]);
- public abstract void onNestedScroll(android.view.View, int, int, int, int);
- public abstract void onNestedScrollAccepted(android.view.View, android.view.View, int);
- public abstract boolean onStartNestedScroll(android.view.View, android.view.View, int);
- public abstract void onStopNestedScroll(android.view.View);
- public abstract void recomputeViewAttributes(android.view.View);
- public abstract void requestChildFocus(android.view.View, android.view.View);
- public abstract boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
- public abstract void requestDisallowInterceptTouchEvent(boolean);
- public abstract void requestFitSystemWindows();
- public abstract void requestLayout();
- public abstract boolean requestSendAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
- public abstract void requestTransparentRegion(android.view.View);
- public abstract boolean showContextMenuForChild(android.view.View);
- public abstract boolean showContextMenuForChild(android.view.View, float, float);
- public abstract android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode$Callback);
- public abstract android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode$Callback, int);
-
-
-}
-
--keep class android.view.ViewPropertyAnimator {
-
- public android.view.ViewPropertyAnimator alpha(float);
- public android.view.ViewPropertyAnimator alphaBy(float);
- public void cancel();
- public long getDuration();
- public android.animation.TimeInterpolator getInterpolator();
- public long getStartDelay();
- public android.view.ViewPropertyAnimator rotation(float);
- public android.view.ViewPropertyAnimator rotationBy(float);
- public android.view.ViewPropertyAnimator rotationX(float);
- public android.view.ViewPropertyAnimator rotationXBy(float);
- public android.view.ViewPropertyAnimator rotationY(float);
- public android.view.ViewPropertyAnimator rotationYBy(float);
- public android.view.ViewPropertyAnimator scaleX(float);
- public android.view.ViewPropertyAnimator scaleXBy(float);
- public android.view.ViewPropertyAnimator scaleY(float);
- public android.view.ViewPropertyAnimator scaleYBy(float);
- public android.view.ViewPropertyAnimator setDuration(long);
- public android.view.ViewPropertyAnimator setInterpolator(android.animation.TimeInterpolator);
- public android.view.ViewPropertyAnimator setListener(android.animation.Animator$AnimatorListener);
- public android.view.ViewPropertyAnimator setStartDelay(long);
- public android.view.ViewPropertyAnimator setUpdateListener(android.animation.ValueAnimator$AnimatorUpdateListener);
- public void start();
- public android.view.ViewPropertyAnimator translationX(float);
- public android.view.ViewPropertyAnimator translationXBy(float);
- public android.view.ViewPropertyAnimator translationY(float);
- public android.view.ViewPropertyAnimator translationYBy(float);
- public android.view.ViewPropertyAnimator translationZ(float);
- public android.view.ViewPropertyAnimator translationZBy(float);
- public android.view.ViewPropertyAnimator withEndAction(java.lang.Runnable);
- public android.view.ViewPropertyAnimator withLayer();
- public android.view.ViewPropertyAnimator withStartAction(java.lang.Runnable);
- public android.view.ViewPropertyAnimator x(float);
- public android.view.ViewPropertyAnimator xBy(float);
- public android.view.ViewPropertyAnimator y(float);
- public android.view.ViewPropertyAnimator yBy(float);
- public android.view.ViewPropertyAnimator z(float);
- public android.view.ViewPropertyAnimator zBy(float);
-
-
-}
-
--keep class android.view.ViewRootImpl {
- <init>(android.content.Context, android.view.Display);
-
- public static void addConfigCallback(android.view.ViewRootImpl$ConfigChangedCallback);
- public static void addFirstDrawHandler(java.lang.Runnable);
- public void addWindowCallbacks(android.view.WindowCallbacks);
- public void bringChildToFront(android.view.View);
- public boolean canResolveLayoutDirection();
- public boolean canResolveTextAlignment();
- public boolean canResolveTextDirection();
- public void cancelInvalidate(android.view.View);
- public void childDrawableStateChanged(android.view.View);
- public void childHasTransientStateChanged(android.view.View, boolean);
- public void clearChildFocus(android.view.View);
- public void createContextMenu(android.view.ContextMenu);
- public void debug();
- public void detachFunctor(long);
- public void dispatchAppVisibility(boolean);
- public void dispatchCheckFocus();
- public void dispatchCloseSystemDialogs(java.lang.String);
- public void dispatchDragEvent(android.view.DragEvent);
- public void dispatchGetNewSurface();
- public void dispatchInputEvent(android.view.InputEvent);
- public void dispatchInputEvent(android.view.InputEvent, android.view.InputEventReceiver);
- public void dispatchInvalidateDelayed(android.view.View, long);
- public void dispatchInvalidateOnAnimation(android.view.View);
- public void dispatchInvalidateRectDelayed(android.view.View$AttachInfo$InvalidateInfo, long);
- public void dispatchInvalidateRectOnAnimation(android.view.View$AttachInfo$InvalidateInfo);
- public void dispatchKeyFromAutofill(android.view.KeyEvent);
- public void dispatchKeyFromIme(android.view.KeyEvent);
- public void dispatchMoved(int, int);
- public void dispatchPointerCaptureChanged(boolean);
- public void dispatchRequestKeyboardShortcuts(com.android.internal.os.IResultReceiver, int);
- public void dispatchSystemUiVisibilityChanged(int, int, int, int);
- public void dispatchUnhandledInputEvent(android.view.InputEvent);
- public boolean dispatchUnhandledKeyEvent(android.view.KeyEvent);
- public void dispatchWindowShown();
- public void dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
- public void dumpGfxInfo(int[]);
- public android.view.View focusSearch(android.view.View, int);
- public void focusableViewAvailable(android.view.View);
- public android.view.View getAccessibilityFocusedHost();
- public android.view.accessibility.AccessibilityNodeInfo getAccessibilityFocusedVirtualView();
- public android.view.AccessibilityInteractionController getAccessibilityInteractionController();
- public boolean getChildVisibleRect(android.view.View, android.graphics.Rect, android.graphics.Point);
- public int getDisplayId();
- public int getHeight();
- public void getLastTouchPoint(android.graphics.Point);
- public int getLastTouchSource();
- public int getLayoutDirection();
- public android.view.ViewParent getParent();
- public android.view.ViewParent getParentForAccessibility();
- public int getTextAlignment();
- public int getTextDirection();
- public java.lang.CharSequence getTitle();
- public android.view.View getView();
- public int getWidth();
- public int getWindowFlags();
- public void handleDispatchSystemUiVisibilityChanged(android.view.ViewRootImpl$SystemUiVisibilityInfo);
- public void handleDispatchWindowShown();
- public void handleRequestKeyboardShortcuts(com.android.internal.os.IResultReceiver, int);
- public void invalidateChild(android.view.View, android.graphics.Rect);
- public android.view.ViewParent invalidateChildInParent(int[], android.graphics.Rect);
- public static void invokeFunctor(long, boolean);
- public boolean isLayoutDirectionResolved();
- public boolean isLayoutRequested();
- public boolean isTextAlignmentResolved();
- public boolean isTextDirectionResolved();
- public static boolean isViewDescendantOf(android.view.View, android.view.View);
- public android.view.View keyboardNavigationClusterSearch(android.view.View, int);
- public void loadSystemProperties();
- public void notifyChildRebuilt();
- public void notifySubtreeAccessibilityStateChanged(android.view.View, android.view.View, int);
- public void onDescendantInvalidated(android.view.View, android.view.View);
- public void onMovedToDisplay(int, android.content.res.Configuration);
- public boolean onNestedFling(android.view.View, float, float, boolean);
- public boolean onNestedPreFling(android.view.View, float, float);
- public boolean onNestedPrePerformAccessibilityAction(android.view.View, int, android.os.Bundle);
- public void onNestedPreScroll(android.view.View, int, int, int[]);
- public void onNestedScroll(android.view.View, int, int, int, int);
- public void onNestedScrollAccepted(android.view.View, android.view.View, int);
- public void onPostDraw(android.view.DisplayListCanvas);
- public void onPreDraw(android.view.DisplayListCanvas);
- public boolean onStartNestedScroll(android.view.View, android.view.View, int);
- public void onStopNestedScroll(android.view.View);
- public void onWindowTitleChanged();
- public boolean performHapticFeedback(int, boolean);
- public void playSoundEffect(int);
- public void profile();
- public void recomputeViewAttributes(android.view.View);
- public void registerAnimatingRenderNode(android.view.RenderNode);
- public void registerRtFrameCallback(android.view.ThreadedRenderer$FrameDrawingCallback);
- public void registerVectorDrawableAnimator(android.graphics.drawable.AnimatedVectorDrawable$VectorDrawableAnimatorRT);
- public void removeWindowCallbacks(android.view.WindowCallbacks);
- public void reportActivityRelaunched();
- public void reportDrawFinish();
- public void requestChildFocus(android.view.View, android.view.View);
- public boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
- public void requestDisallowInterceptTouchEvent(boolean);
- public void requestFitSystemWindows();
- public void requestInvalidateRootRenderNode();
- public void requestLayout();
- public boolean requestSendAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
- public void requestTransitionStart(android.animation.LayoutTransition);
- public void requestTransparentRegion(android.view.View);
- public void requestUpdateConfiguration(android.content.res.Configuration);
- public void setActivityConfigCallback(android.view.ViewRootImpl$ActivityConfigCallback);
- public void setDragFocus(android.view.View, android.view.DragEvent);
- public void setIsAmbientMode(boolean);
- public void setPausedForTransition(boolean);
- public void setReportNextDraw();
- public void setView(android.view.View, android.view.WindowManager$LayoutParams, android.view.View);
- public boolean showContextMenuForChild(android.view.View);
- public boolean showContextMenuForChild(android.view.View, float, float);
- public android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode$Callback);
- public android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode$Callback, int);
- public void synthesizeInputEvent(android.view.InputEvent);
- public void updateConfiguration(int);
- public void updatePointerIcon(float, float);
- public void windowFocusChanged(boolean, boolean);
-
-
- public static java.lang.String PROPERTY_EMULATOR_WIN_OUTSET_BOTTOM_PX;
- protected android.view.InputEventConsistencyVerifier mInputEventConsistencyVerifier;
- public boolean mIsAnimating;
- public android.view.Surface mSurface;
- public boolean mTraversalScheduled;
- public android.view.WindowManager$LayoutParams mWindowAttributes;
-}
-
--keep class android.view.ViewRootImpl$ActivityConfigCallback {
-
- public abstract void onConfigurationChanged(android.content.res.Configuration, int);
-
-
-}
-
--keep class android.view.ViewRootImpl$ConfigChangedCallback {
-
- public abstract void onConfigurationChanged(android.content.res.Configuration);
-
-
-}
-
--keep class android.view.ViewRootImpl$SystemUiVisibilityInfo {
-
-
-
-}
-
--keep class android.view.ViewStructure {
- <init>();
-
- public abstract int addChildCount(int);
- public abstract void asyncCommit();
- public abstract android.view.ViewStructure asyncNewChild(int);
- public abstract android.view.autofill.AutofillId getAutofillId();
- public abstract int getChildCount();
- public abstract android.os.Bundle getExtras();
- public abstract java.lang.CharSequence getHint();
- public abstract android.graphics.Rect getTempRect();
- public abstract java.lang.CharSequence getText();
- public abstract int getTextSelectionEnd();
- public abstract int getTextSelectionStart();
- public abstract boolean hasExtras();
- public abstract android.view.ViewStructure newChild(int);
- public abstract android.view.ViewStructure$HtmlInfo$Builder newHtmlInfoBuilder(java.lang.String);
- public abstract void setAccessibilityFocused(boolean);
- public abstract void setActivated(boolean);
- public abstract void setAlpha(float);
- public abstract void setAssistBlocked(boolean);
- public abstract void setAutofillHints(java.lang.String[]);
- public abstract void setAutofillId(android.view.autofill.AutofillId);
- public abstract void setAutofillId(android.view.autofill.AutofillId, int);
- public abstract void setAutofillOptions(java.lang.CharSequence[]);
- public abstract void setAutofillType(int);
- public abstract void setAutofillValue(android.view.autofill.AutofillValue);
- public abstract void setCheckable(boolean);
- public abstract void setChecked(boolean);
- public abstract void setChildCount(int);
- public abstract void setClassName(java.lang.String);
- public abstract void setClickable(boolean);
- public abstract void setContentDescription(java.lang.CharSequence);
- public abstract void setContextClickable(boolean);
- public abstract void setDataIsSensitive(boolean);
- public abstract void setDimens(int, int, int, int, int, int);
- public abstract void setElevation(float);
- public abstract void setEnabled(boolean);
- public abstract void setFocusable(boolean);
- public abstract void setFocused(boolean);
- public abstract void setHint(java.lang.CharSequence);
- public abstract void setHtmlInfo(android.view.ViewStructure$HtmlInfo);
- public abstract void setId(int, java.lang.String, java.lang.String, java.lang.String);
- public void setImportantForAutofill(int);
- public abstract void setInputType(int);
- public abstract void setLocaleList(android.os.LocaleList);
- public abstract void setLongClickable(boolean);
- public void setMaxTextEms(int);
- public void setMaxTextLength(int);
- public void setMinTextEms(int);
- public abstract void setOpaque(boolean);
- public abstract void setSelected(boolean);
- public abstract void setText(java.lang.CharSequence);
- public abstract void setText(java.lang.CharSequence, int, int);
- public void setTextIdEntry(java.lang.String);
- public abstract void setTextLines(int[], int[]);
- public abstract void setTextStyle(float, int, int, int);
- public abstract void setTransformation(android.graphics.Matrix);
- public abstract void setVisibility(int);
- public abstract void setWebDomain(java.lang.String);
-
-
-}
-
--keep class android.view.ViewStructure$HtmlInfo {
- <init>();
-
- public abstract java.util.List getAttributes();
- public abstract java.lang.String getTag();
-
-
-}
-
--keep class android.view.ViewStructure$HtmlInfo$Builder {
- <init>();
-
- public abstract android.view.ViewStructure$HtmlInfo$Builder addAttribute(java.lang.String, java.lang.String);
- public abstract android.view.ViewStructure$HtmlInfo build();
-
-
-}
-
--keep class android.view.ViewTreeObserver {
-
- public void addOnComputeInternalInsetsListener(android.view.ViewTreeObserver$OnComputeInternalInsetsListener);
- public void addOnDrawListener(android.view.ViewTreeObserver$OnDrawListener);
- public void addOnEnterAnimationCompleteListener(android.view.ViewTreeObserver$OnEnterAnimationCompleteListener);
- public void addOnGlobalFocusChangeListener(android.view.ViewTreeObserver$OnGlobalFocusChangeListener);
- public void addOnGlobalLayoutListener(android.view.ViewTreeObserver$OnGlobalLayoutListener);
- public void addOnPreDrawListener(android.view.ViewTreeObserver$OnPreDrawListener);
- public void addOnScrollChangedListener(android.view.ViewTreeObserver$OnScrollChangedListener);
- public void addOnTouchModeChangeListener(android.view.ViewTreeObserver$OnTouchModeChangeListener);
- public void addOnWindowAttachListener(android.view.ViewTreeObserver$OnWindowAttachListener);
- public void addOnWindowFocusChangeListener(android.view.ViewTreeObserver$OnWindowFocusChangeListener);
- public void addOnWindowShownListener(android.view.ViewTreeObserver$OnWindowShownListener);
- public void dispatchOnDraw();
- public void dispatchOnEnterAnimationComplete();
- public void dispatchOnGlobalLayout();
- public boolean dispatchOnPreDraw();
- public void dispatchOnWindowShown();
- public boolean isAlive();
- public void removeGlobalOnLayoutListener(android.view.ViewTreeObserver$OnGlobalLayoutListener);
- public void removeOnComputeInternalInsetsListener(android.view.ViewTreeObserver$OnComputeInternalInsetsListener);
- public void removeOnDrawListener(android.view.ViewTreeObserver$OnDrawListener);
- public void removeOnEnterAnimationCompleteListener(android.view.ViewTreeObserver$OnEnterAnimationCompleteListener);
- public void removeOnGlobalFocusChangeListener(android.view.ViewTreeObserver$OnGlobalFocusChangeListener);
- public void removeOnGlobalLayoutListener(android.view.ViewTreeObserver$OnGlobalLayoutListener);
- public void removeOnPreDrawListener(android.view.ViewTreeObserver$OnPreDrawListener);
- public void removeOnScrollChangedListener(android.view.ViewTreeObserver$OnScrollChangedListener);
- public void removeOnTouchModeChangeListener(android.view.ViewTreeObserver$OnTouchModeChangeListener);
- public void removeOnWindowAttachListener(android.view.ViewTreeObserver$OnWindowAttachListener);
- public void removeOnWindowFocusChangeListener(android.view.ViewTreeObserver$OnWindowFocusChangeListener);
- public void removeOnWindowShownListener(android.view.ViewTreeObserver$OnWindowShownListener);
-
-
-}
-
--keep class android.view.ViewTreeObserver$InternalInsetsInfo {
- <init>();
-
- public boolean equals(java.lang.Object);
- public int hashCode();
- public void setTouchableInsets(int);
-
-
- public static int TOUCHABLE_INSETS_CONTENT;
- public static int TOUCHABLE_INSETS_FRAME;
- public static int TOUCHABLE_INSETS_REGION;
- public static int TOUCHABLE_INSETS_VISIBLE;
- public android.graphics.Rect contentInsets;
- public android.graphics.Region touchableRegion;
- public android.graphics.Rect visibleInsets;
-}
-
--keep class android.view.ViewTreeObserver$OnComputeInternalInsetsListener {
-
- public abstract void onComputeInternalInsets(android.view.ViewTreeObserver$InternalInsetsInfo);
-
-
-}
-
--keep class android.view.ViewTreeObserver$OnDrawListener {
-
- public abstract void onDraw();
-
-
-}
-
--keep class android.view.ViewTreeObserver$OnEnterAnimationCompleteListener {
-
- public abstract void onEnterAnimationComplete();
-
-
-}
-
--keep class android.view.ViewTreeObserver$OnGlobalFocusChangeListener {
-
- public abstract void onGlobalFocusChanged(android.view.View, android.view.View);
-
-
-}
-
--keep class android.view.ViewTreeObserver$OnGlobalLayoutListener {
-
- public abstract void onGlobalLayout();
-
-
-}
-
--keep class android.view.ViewTreeObserver$OnPreDrawListener {
-
- public abstract boolean onPreDraw();
-
-
-}
-
--keep class android.view.ViewTreeObserver$OnScrollChangedListener {
-
- public abstract void onScrollChanged();
-
-
-}
-
--keep class android.view.ViewTreeObserver$OnTouchModeChangeListener {
-
- public abstract void onTouchModeChanged(boolean);
-
-
-}
-
--keep class android.view.ViewTreeObserver$OnWindowAttachListener {
-
- public abstract void onWindowAttached();
- public abstract void onWindowDetached();
-
-
-}
-
--keep class android.view.ViewTreeObserver$OnWindowFocusChangeListener {
-
- public abstract void onWindowFocusChanged(boolean);
-
-
-}
-
--keep class android.view.ViewTreeObserver$OnWindowShownListener {
-
- public abstract void onWindowShown();
-
-
-}
-
--keep class android.view.Window {
- <init>(android.content.Context);
-
- public abstract void addContentView(android.view.View, android.view.ViewGroup$LayoutParams);
- public void addFlags(int);
- public void addOnFrameMetricsAvailableListener(android.view.Window$OnFrameMetricsAvailableListener, android.os.Handler);
- public void addPrivateFlags(int);
- public abstract void alwaysReadCloseOnTouchAttr();
- public abstract void clearContentView();
- public void clearFlags(int);
- public abstract void closeAllPanels();
- public abstract void closePanel(int);
- public void destroy();
- public void dispatchOnWindowDismissed(boolean, boolean);
- public void dispatchOnWindowSwipeDismissed();
- protected void dispatchWindowAttributesChanged(android.view.WindowManager$LayoutParams);
- public android.view.View findViewById(int);
- public boolean getAllowEnterTransitionOverlap();
- public boolean getAllowReturnTransitionOverlap();
- public android.view.WindowManager$LayoutParams getAttributes();
- public android.view.Window$Callback getCallback();
- public int getColorMode();
- public android.view.Window getContainer();
- public android.transition.Scene getContentScene();
- public android.content.Context getContext();
- public abstract android.view.View getCurrentFocus();
- public abstract android.view.View getDecorView();
- public static int getDefaultFeatures(android.content.Context);
- public float getElevation();
- public android.transition.Transition getEnterTransition();
- public android.transition.Transition getExitTransition();
- protected int getFeatures();
- protected int getForcedWindowFlags();
- public abstract android.view.LayoutInflater getLayoutInflater();
- protected int getLocalFeatures();
- public android.media.session.MediaController getMediaController();
- public abstract int getNavigationBarColor();
- public int getNavigationBarDividerColor();
- public android.transition.Transition getReenterTransition();
- public android.transition.Transition getReturnTransition();
- public android.transition.Transition getSharedElementEnterTransition();
- public android.transition.Transition getSharedElementExitTransition();
- public android.transition.Transition getSharedElementReenterTransition();
- public android.transition.Transition getSharedElementReturnTransition();
- public boolean getSharedElementsUseOverlay();
- public abstract int getStatusBarColor();
- public long getTransitionBackgroundFadeDuration();
- public android.transition.TransitionManager getTransitionManager();
- public abstract int getVolumeControlStream();
- public android.view.Window$WindowControllerCallback getWindowControllerCallback();
- public android.view.WindowManager getWindowManager();
- public android.content.res.TypedArray getWindowStyle();
- public boolean hasChildren();
- public boolean hasFeature(int);
- protected boolean hasSoftInputMode();
- protected boolean haveDimAmount();
- public void injectInputEvent(android.view.InputEvent);
- public abstract void invalidatePanelMenu(int);
- public boolean isActive();
- public boolean isCloseOnSwipeEnabled();
- public boolean isDestroyed();
- public abstract boolean isFloating();
- public boolean isOverlayWithDecorCaptionEnabled();
- public abstract boolean isShortcutKey(int, android.view.KeyEvent);
- public boolean isWideColorGamut();
- public void makeActive();
- public void notifyRestrictedCaptionAreaCallback(int, int, int, int);
- protected abstract void onActive();
- public abstract void onConfigurationChanged(android.content.res.Configuration);
- public abstract void onMultiWindowModeChanged();
- public abstract void onPictureInPictureModeChanged(boolean);
- public abstract void openPanel(int, android.view.KeyEvent);
- public abstract android.view.View peekDecorView();
- public abstract boolean performContextMenuIdentifierAction(int, int);
- public abstract boolean performPanelIdentifierAction(int, int, int);
- public abstract boolean performPanelShortcut(int, int, android.view.KeyEvent, int);
- protected void removeFeature(int);
- public void removeOnFrameMetricsAvailableListener(android.view.Window$OnFrameMetricsAvailableListener);
- public abstract void reportActivityRelaunched();
- public boolean requestFeature(int);
- public android.view.View requireViewById(int);
- public abstract void restoreHierarchyState(android.os.Bundle);
- public abstract android.os.Bundle saveHierarchyState();
- public void setAllowEnterTransitionOverlap(boolean);
- public void setAllowReturnTransitionOverlap(boolean);
- public void setAttributes(android.view.WindowManager$LayoutParams);
- public abstract void setBackgroundDrawable(android.graphics.drawable.Drawable);
- public void setBackgroundDrawableResource(int);
- public void setCallback(android.view.Window$Callback);
- public abstract void setChildDrawable(int, android.graphics.drawable.Drawable);
- public abstract void setChildInt(int, int);
- public void setClipToOutline(boolean);
- public void setCloseOnSwipeEnabled(boolean);
- public void setCloseOnTouchOutside(boolean);
- public void setCloseOnTouchOutsideIfNotSet(boolean);
- public void setColorMode(int);
- public void setContainer(android.view.Window);
- public abstract void setContentView(int);
- public abstract void setContentView(android.view.View);
- public abstract void setContentView(android.view.View, android.view.ViewGroup$LayoutParams);
- public abstract void setDecorCaptionShade(int);
- public void setDefaultIcon(int);
- public void setDefaultLogo(int);
- protected void setDefaultWindowFormat(int);
- public void setDimAmount(float);
- public void setElevation(float);
- public void setEnterTransition(android.transition.Transition);
- public void setExitTransition(android.transition.Transition);
- public abstract void setFeatureDrawable(int, android.graphics.drawable.Drawable);
- public abstract void setFeatureDrawableAlpha(int, int);
- public abstract void setFeatureDrawableResource(int, int);
- public abstract void setFeatureDrawableUri(int, android.net.Uri);
- public abstract void setFeatureInt(int, int);
- public void setFlags(int, int);
- public void setFormat(int);
- public void setGravity(int);
- public void setIcon(int);
- public void setLayout(int, int);
- public void setLocalFocus(boolean, boolean);
- public void setLogo(int);
- public void setMediaController(android.media.session.MediaController);
- public abstract void setNavigationBarColor(int);
- public void setNavigationBarDividerColor(int);
- protected void setNeedsMenuKey(int);
- public void setOnWindowDismissedCallback(android.view.Window$OnWindowDismissedCallback);
- public void setOnWindowSwipeDismissedCallback(android.view.Window$OnWindowSwipeDismissedCallback);
- public void setOverlayWithDecorCaptionEnabled(boolean);
- public void setReenterTransition(android.transition.Transition);
- public abstract void setResizingCaptionDrawable(android.graphics.drawable.Drawable);
- public void setRestrictedCaptionAreaListener(android.view.Window$OnRestrictedCaptionAreaChangedListener);
- public void setReturnTransition(android.transition.Transition);
- public void setSharedElementEnterTransition(android.transition.Transition);
- public void setSharedElementExitTransition(android.transition.Transition);
- public void setSharedElementReenterTransition(android.transition.Transition);
- public void setSharedElementReturnTransition(android.transition.Transition);
- public void setSharedElementsUseOverlay(boolean);
- public void setSoftInputMode(int);
- public abstract void setStatusBarColor(int);
- public void setSustainedPerformanceMode(boolean);
- public void setTheme(int);
- public abstract void setTitle(java.lang.CharSequence);
- public abstract void setTitleColor(int);
- public void setTransitionBackgroundFadeDuration(long);
- public void setTransitionManager(android.transition.TransitionManager);
- public void setType(int);
- public void setUiOptions(int);
- public void setUiOptions(int, int);
- public abstract void setVolumeControlStream(int);
- public void setWindowAnimations(int);
- public void setWindowControllerCallback(android.view.Window$WindowControllerCallback);
- public void setWindowManager(android.view.WindowManager, android.os.IBinder, java.lang.String);
- public void setWindowManager(android.view.WindowManager, android.os.IBinder, java.lang.String, boolean);
- public boolean shouldCloseOnTouch(android.content.Context, android.view.MotionEvent);
- public abstract boolean superDispatchGenericMotionEvent(android.view.MotionEvent);
- public abstract boolean superDispatchKeyEvent(android.view.KeyEvent);
- public abstract boolean superDispatchKeyShortcutEvent(android.view.KeyEvent);
- public abstract boolean superDispatchTouchEvent(android.view.MotionEvent);
- public abstract boolean superDispatchTrackballEvent(android.view.MotionEvent);
- public abstract void takeInputQueue(android.view.InputQueue$Callback);
- public abstract void takeKeyEvents(boolean);
- public abstract void takeSurface(android.view.SurfaceHolder$Callback2);
- public abstract void togglePanel(int, android.view.KeyEvent);
-
-
- public static int DECOR_CAPTION_SHADE_AUTO;
- public static int DECOR_CAPTION_SHADE_DARK;
- public static int DECOR_CAPTION_SHADE_LIGHT;
- protected static int DEFAULT_FEATURES;
- public static int FEATURE_ACTION_BAR;
- public static int FEATURE_ACTION_BAR_OVERLAY;
- public static int FEATURE_ACTION_MODE_OVERLAY;
- public static int FEATURE_ACTIVITY_TRANSITIONS;
- public static int FEATURE_CONTENT_TRANSITIONS;
- public static int FEATURE_CONTEXT_MENU;
- public static int FEATURE_CUSTOM_TITLE;
- public static int FEATURE_INDETERMINATE_PROGRESS;
- public static int FEATURE_LEFT_ICON;
- public static int FEATURE_MAX;
- public static int FEATURE_NO_TITLE;
- public static int FEATURE_OPTIONS_PANEL;
- public static int FEATURE_PROGRESS;
- public static int FEATURE_RIGHT_ICON;
- public static int FEATURE_SWIPE_TO_DISMISS;
- public static int ID_ANDROID_CONTENT;
- public static java.lang.String NAVIGATION_BAR_BACKGROUND_TRANSITION_NAME;
- public static int PROGRESS_END;
- public static int PROGRESS_INDETERMINATE_OFF;
- public static int PROGRESS_INDETERMINATE_ON;
- public static int PROGRESS_SECONDARY_END;
- public static int PROGRESS_SECONDARY_START;
- public static int PROGRESS_START;
- public static int PROGRESS_VISIBILITY_OFF;
- public static int PROGRESS_VISIBILITY_ON;
- public static java.lang.String STATUS_BAR_BACKGROUND_TRANSITION_NAME;
-}
-
--keep class android.view.Window$Callback {
-
- public abstract boolean dispatchGenericMotionEvent(android.view.MotionEvent);
- public abstract boolean dispatchKeyEvent(android.view.KeyEvent);
- public abstract boolean dispatchKeyShortcutEvent(android.view.KeyEvent);
- public abstract boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
- public abstract boolean dispatchTouchEvent(android.view.MotionEvent);
- public abstract boolean dispatchTrackballEvent(android.view.MotionEvent);
- public abstract void onActionModeFinished(android.view.ActionMode);
- public abstract void onActionModeStarted(android.view.ActionMode);
- public abstract void onAttachedToWindow();
- public abstract void onContentChanged();
- public abstract boolean onCreatePanelMenu(int, android.view.Menu);
- public abstract android.view.View onCreatePanelView(int);
- public abstract void onDetachedFromWindow();
- public abstract boolean onMenuItemSelected(int, android.view.MenuItem);
- public abstract boolean onMenuOpened(int, android.view.Menu);
- public abstract void onPanelClosed(int, android.view.Menu);
- public void onPointerCaptureChanged(boolean);
- public abstract boolean onPreparePanel(int, android.view.View, android.view.Menu);
- public void onProvideKeyboardShortcuts(java.util.List, android.view.Menu, int);
- public abstract boolean onSearchRequested();
- public abstract boolean onSearchRequested(android.view.SearchEvent);
- public abstract void onWindowAttributesChanged(android.view.WindowManager$LayoutParams);
- public abstract void onWindowFocusChanged(boolean);
- public abstract android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode$Callback);
- public abstract android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode$Callback, int);
-
-
-}
-
--keep class android.view.Window$OnFrameMetricsAvailableListener {
-
- public abstract void onFrameMetricsAvailable(android.view.Window, android.view.FrameMetrics, int);
-
-
-}
-
--keep class android.view.Window$OnRestrictedCaptionAreaChangedListener {
-
- public abstract void onRestrictedCaptionAreaChanged(android.graphics.Rect);
-
-
-}
-
--keep class android.view.Window$OnWindowDismissedCallback {
-
- public abstract void onWindowDismissed(boolean, boolean);
-
-
-}
-
--keep class android.view.Window$OnWindowSwipeDismissedCallback {
-
- public abstract void onWindowSwipeDismissed();
-
-
-}
-
--keep class android.view.Window$WindowControllerCallback {
-
- public abstract void enterPictureInPictureModeIfPossible();
- public abstract void exitFreeformMode();
- public abstract boolean isTaskRoot();
-
-
-}
-
--keep class android.view.WindowAnimationFrameStats {
- <init>();
-
- public int describeContents();
- public void init(long, long[]);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.view.WindowCallbacks {
-
- public abstract boolean onContentDrawn(int, int, int, int);
- public abstract void onPostDraw(android.view.DisplayListCanvas);
- public abstract void onRequestDraw(boolean);
- public abstract void onWindowDragResizeEnd();
- public abstract void onWindowDragResizeStart(android.graphics.Rect, boolean, android.graphics.Rect, android.graphics.Rect, int);
- public abstract void onWindowSizeIsChanging(android.graphics.Rect, boolean, android.graphics.Rect, android.graphics.Rect);
-
-
- public static int RESIZE_MODE_DOCKED_DIVIDER;
- public static int RESIZE_MODE_FREEFORM;
- public static int RESIZE_MODE_INVALID;
-}
-
--keep class android.view.WindowContentFrameStats {
- <init>();
-
- public int describeContents();
- public long getFramePostedTimeNano(int);
- public long getFrameReadyTimeNano(int);
- public void init(long, long[], long[], long[]);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.view.WindowId {
- <init>(android.view.IWindowId);
- <init>(android.os.IBinder);
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public android.view.IWindowId getTarget();
- public int hashCode();
- public boolean isFocused();
- public void registerFocusObserver(android.view.WindowId$FocusObserver);
- public java.lang.String toString();
- public void unregisterFocusObserver(android.view.WindowId$FocusObserver);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.view.WindowId$FocusObserver {
- <init>();
-
- public abstract void onFocusGained(android.view.WindowId);
- public abstract void onFocusLost(android.view.WindowId);
-
-
-}
-
--keep class android.view.WindowInsets {
- <init>(android.graphics.Rect, android.graphics.Rect, android.graphics.Rect, boolean, boolean, android.view.DisplayCutout);
- <init>(android.view.WindowInsets);
- <init>(android.graphics.Rect);
-
- public android.view.WindowInsets consumeDisplayCutout();
- public android.view.WindowInsets consumeStableInsets();
- public android.view.WindowInsets consumeSystemWindowInsets();
- public android.view.WindowInsets consumeSystemWindowInsets(boolean, boolean, boolean, boolean);
- public android.view.WindowInsets consumeWindowDecorInsets();
- public android.view.WindowInsets consumeWindowDecorInsets(boolean, boolean, boolean, boolean);
- public boolean equals(java.lang.Object);
- public android.view.DisplayCutout getDisplayCutout();
- public int getStableInsetBottom();
- public int getStableInsetLeft();
- public int getStableInsetRight();
- public int getStableInsetTop();
- public int getSystemWindowInsetBottom();
- public int getSystemWindowInsetLeft();
- public int getSystemWindowInsetRight();
- public int getSystemWindowInsetTop();
- public android.graphics.Rect getSystemWindowInsets();
- public int getWindowDecorInsetBottom();
- public int getWindowDecorInsetLeft();
- public int getWindowDecorInsetRight();
- public int getWindowDecorInsetTop();
- public boolean hasInsets();
- public boolean hasStableInsets();
- public boolean hasSystemWindowInsets();
- public boolean hasWindowDecorInsets();
- public int hashCode();
- public android.view.WindowInsets inset(android.graphics.Rect);
- public android.view.WindowInsets inset(int, int, int, int);
- public boolean isConsumed();
- public boolean isRound();
- public android.view.WindowInsets replaceSystemWindowInsets(int, int, int, int);
- public android.view.WindowInsets replaceSystemWindowInsets(android.graphics.Rect);
- public android.view.WindowInsets replaceWindowDecorInsets(int, int, int, int);
- public boolean shouldAlwaysConsumeNavBar();
- public java.lang.String toString();
-
-
- public static android.view.WindowInsets CONSUMED;
-}
-
--keep class android.view.WindowManager {
-
- public abstract android.graphics.Region getCurrentImeTouchRegion();
- public abstract android.view.Display getDefaultDisplay();
- public abstract void removeViewImmediate(android.view.View);
- public abstract void requestAppKeyboardShortcuts(android.view.WindowManager$KeyboardShortcutsReceiver, int);
-
-
- public static int DOCKED_BOTTOM;
- public static int DOCKED_INVALID;
- public static int DOCKED_LEFT;
- public static int DOCKED_RIGHT;
- public static int DOCKED_TOP;
- public static java.lang.String INPUT_CONSUMER_NAVIGATION;
- public static java.lang.String INPUT_CONSUMER_PIP;
- public static java.lang.String INPUT_CONSUMER_RECENTS_ANIMATION;
- public static java.lang.String INPUT_CONSUMER_WALLPAPER;
- public static java.lang.String PARCEL_KEY_SHORTCUTS_ARRAY;
- public static int TAKE_SCREENSHOT_FULLSCREEN;
- public static int TAKE_SCREENSHOT_SELECTED_REGION;
- public static int TRANSIT_ACTIVITY_CLOSE;
- public static int TRANSIT_ACTIVITY_OPEN;
- public static int TRANSIT_ACTIVITY_RELAUNCH;
- public static int TRANSIT_CRASHING_ACTIVITY_CLOSE;
- public static int TRANSIT_DOCK_TASK_FROM_RECENTS;
- public static int TRANSIT_FLAG_KEYGUARD_GOING_AWAY_NO_ANIMATION;
- public static int TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_SHADE;
- public static int TRANSIT_FLAG_KEYGUARD_GOING_AWAY_WITH_WALLPAPER;
- public static int TRANSIT_KEYGUARD_GOING_AWAY;
- public static int TRANSIT_KEYGUARD_GOING_AWAY_ON_WALLPAPER;
- public static int TRANSIT_KEYGUARD_OCCLUDE;
- public static int TRANSIT_KEYGUARD_UNOCCLUDE;
- public static int TRANSIT_NONE;
- public static int TRANSIT_TASK_CLOSE;
- public static int TRANSIT_TASK_IN_PLACE;
- public static int TRANSIT_TASK_OPEN;
- public static int TRANSIT_TASK_OPEN_BEHIND;
- public static int TRANSIT_TASK_TO_BACK;
- public static int TRANSIT_TASK_TO_FRONT;
- public static int TRANSIT_TRANSLUCENT_ACTIVITY_CLOSE;
- public static int TRANSIT_TRANSLUCENT_ACTIVITY_OPEN;
- public static int TRANSIT_UNSET;
- public static int TRANSIT_WALLPAPER_CLOSE;
- public static int TRANSIT_WALLPAPER_INTRA_CLOSE;
- public static int TRANSIT_WALLPAPER_INTRA_OPEN;
- public static int TRANSIT_WALLPAPER_OPEN;
-}
-
--keep class android.view.WindowManager$KeyboardShortcutsReceiver {
-
- public abstract void onKeyboardShortcutsReceived(java.util.List);
-
-
-}
-
--keep class android.view.WindowManager$LayoutParams {
- <init>();
- <init>(int);
- <init>(int, int);
- <init>(int, int, int);
- <init>(int, int, int, int, int);
- <init>(int, int, int, int, int, int, int);
- <init>(android.os.Parcel);
-
- public int copyFrom(android.view.WindowManager$LayoutParams);
- public java.lang.String debug(java.lang.String);
- public int describeContents();
- public void dumpDimensions(java.lang.StringBuilder);
- protected void encodeProperties(android.view.ViewHierarchyEncoder);
- public int getColorMode();
- public java.lang.CharSequence getTitle();
- public long getUserActivityTimeout();
- public boolean isFullscreen();
- public static boolean isSystemAlertWindowType(int);
- public static boolean mayUseInputMethod(int);
- public void scale(float);
- public void setColorMode(int);
- public void setSurfaceInsets(android.view.View, boolean, boolean);
- public void setTitle(java.lang.CharSequence);
- public void setUserActivityTimeout(long);
- public java.lang.String toString();
- public java.lang.String toString(java.lang.String);
- public void writeToParcel(android.os.Parcel, int);
- public void writeToProto(android.util.proto.ProtoOutputStream, long);
-
-
- public static int ACCESSIBILITY_ANCHOR_CHANGED;
- public static int ACCESSIBILITY_TITLE_CHANGED;
- public static int ALPHA_CHANGED;
- public static int ANIMATION_CHANGED;
- public static float BRIGHTNESS_OVERRIDE_FULL;
- public static float BRIGHTNESS_OVERRIDE_NONE;
- public static float BRIGHTNESS_OVERRIDE_OFF;
- public static int BUTTON_BRIGHTNESS_CHANGED;
- public static int COLOR_MODE_CHANGED;
- public static android.os.Parcelable$Creator CREATOR;
- public static int DIM_AMOUNT_CHANGED;
- public static int EVERYTHING_CHANGED;
- public static int FIRST_APPLICATION_WINDOW;
- public static int FIRST_SUB_WINDOW;
- public static int FIRST_SYSTEM_WINDOW;
- public static int FLAGS_CHANGED;
- public static int FLAG_ALLOW_LOCK_WHILE_SCREEN_ON;
- public static int FLAG_ALT_FOCUSABLE_IM;
- public static int FLAG_BLUR_BEHIND;
- public static int FLAG_DIM_BEHIND;
- public static int FLAG_DISMISS_KEYGUARD;
- public static int FLAG_DITHER;
- public static int FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS;
- public static int FLAG_FORCE_NOT_FULLSCREEN;
- public static int FLAG_FULLSCREEN;
- public static int FLAG_HARDWARE_ACCELERATED;
- public static int FLAG_IGNORE_CHEEK_PRESSES;
- public static int FLAG_KEEP_SCREEN_ON;
- public static int FLAG_LAYOUT_ATTACHED_IN_DECOR;
- public static int FLAG_LAYOUT_INSET_DECOR;
- public static int FLAG_LAYOUT_IN_OVERSCAN;
- public static int FLAG_LAYOUT_IN_SCREEN;
- public static int FLAG_LAYOUT_NO_LIMITS;
- public static int FLAG_LOCAL_FOCUS_MODE;
- public static int FLAG_NOT_FOCUSABLE;
- public static int FLAG_NOT_TOUCHABLE;
- public static int FLAG_NOT_TOUCH_MODAL;
- public static int FLAG_SCALED;
- public static int FLAG_SECURE;
- public static int FLAG_SHOW_WALLPAPER;
- public static int FLAG_SHOW_WHEN_LOCKED;
- public static int FLAG_SLIPPERY;
- public static int FLAG_SPLIT_TOUCH;
- public static int FLAG_TOUCHABLE_WHEN_WAKING;
- public static int FLAG_TRANSLUCENT_NAVIGATION;
- public static int FLAG_TRANSLUCENT_STATUS;
- public static int FLAG_TURN_SCREEN_ON;
- public static int FLAG_WATCH_OUTSIDE_TOUCH;
- public static int FORMAT_CHANGED;
- public static int INPUT_FEATURES_CHANGED;
- public static int INPUT_FEATURE_DISABLE_POINTER_GESTURES;
- public static int INPUT_FEATURE_DISABLE_USER_ACTIVITY;
- public static int INPUT_FEATURE_NO_INPUT_CHANNEL;
- public static int INVALID_WINDOW_TYPE;
- public static int LAST_APPLICATION_WINDOW;
- public static int LAST_SUB_WINDOW;
- public static int LAST_SYSTEM_WINDOW;
- public static int LAYOUT_CHANGED;
- public static int LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
- public static int LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT;
- public static int LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER;
- public static int LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
- public static int MEMORY_TYPE_CHANGED;
- public static int MEMORY_TYPE_GPU;
- public static int MEMORY_TYPE_HARDWARE;
- public static int MEMORY_TYPE_NORMAL;
- public static int MEMORY_TYPE_PUSH_BUFFERS;
- public static int NEEDS_MENU_KEY_CHANGED;
- public static int NEEDS_MENU_SET_FALSE;
- public static int NEEDS_MENU_SET_TRUE;
- public static int NEEDS_MENU_UNSET;
- public static int PREFERRED_DISPLAY_MODE_ID;
- public static int PREFERRED_REFRESH_RATE_CHANGED;
- public static int PRIVATE_FLAGS_CHANGED;
- public static int PRIVATE_FLAG_ACQUIRES_SLEEP_TOKEN;
- public static int PRIVATE_FLAG_COMPATIBLE_WINDOW;
- public static int PRIVATE_FLAG_DISABLE_WALLPAPER_TOUCH_EVENTS;
- public static int PRIVATE_FLAG_FAKE_HARDWARE_ACCELERATED;
- public static int PRIVATE_FLAG_FORCE_DECOR_VIEW_VISIBILITY;
- public static int PRIVATE_FLAG_FORCE_DRAW_STATUS_BAR_BACKGROUND;
- public static int PRIVATE_FLAG_FORCE_HARDWARE_ACCELERATED;
- public static int PRIVATE_FLAG_FORCE_STATUS_BAR_VISIBLE_TRANSPARENT;
- public static int PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
- public static int PRIVATE_FLAG_INHERIT_TRANSLUCENT_DECOR;
- public static int PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY;
- public static int PRIVATE_FLAG_IS_SCREEN_DECOR;
- public static int PRIVATE_FLAG_KEYGUARD;
- public static int PRIVATE_FLAG_LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME;
- public static int PRIVATE_FLAG_NO_MOVE_ANIMATION;
- public static int PRIVATE_FLAG_PRESERVE_GEOMETRY;
- public static int PRIVATE_FLAG_SHOW_FOR_ALL_USERS;
- public static int PRIVATE_FLAG_SUSTAINED_PERFORMANCE_MODE;
- public static int PRIVATE_FLAG_SYSTEM_ERROR;
- public static int PRIVATE_FLAG_WANTS_OFFSET_NOTIFICATIONS;
- public static int PRIVATE_FLAG_WILL_NOT_REPLACE_ON_RELAUNCH;
- public static int ROTATION_ANIMATION_CHANGED;
- public static int ROTATION_ANIMATION_CROSSFADE;
- public static int ROTATION_ANIMATION_JUMPCUT;
- public static int ROTATION_ANIMATION_ROTATE;
- public static int ROTATION_ANIMATION_SEAMLESS;
- public static int ROTATION_ANIMATION_UNSPECIFIED;
- public static int SCREEN_BRIGHTNESS_CHANGED;
- public static int SCREEN_ORIENTATION_CHANGED;
- public static int SOFT_INPUT_ADJUST_NOTHING;
- public static int SOFT_INPUT_ADJUST_PAN;
- public static int SOFT_INPUT_ADJUST_RESIZE;
- public static int SOFT_INPUT_ADJUST_UNSPECIFIED;
- public static int SOFT_INPUT_IS_FORWARD_NAVIGATION;
- public static int SOFT_INPUT_MASK_ADJUST;
- public static int SOFT_INPUT_MASK_STATE;
- public static int SOFT_INPUT_MODE_CHANGED;
- public static int SOFT_INPUT_STATE_ALWAYS_HIDDEN;
- public static int SOFT_INPUT_STATE_ALWAYS_VISIBLE;
- public static int SOFT_INPUT_STATE_HIDDEN;
- public static int SOFT_INPUT_STATE_UNCHANGED;
- public static int SOFT_INPUT_STATE_UNSPECIFIED;
- public static int SOFT_INPUT_STATE_VISIBLE;
- public static int SURFACE_INSETS_CHANGED;
- public static int SYSTEM_UI_LISTENER_CHANGED;
- public static int SYSTEM_UI_VISIBILITY_CHANGED;
- public static int TITLE_CHANGED;
- public static int TRANSLUCENT_FLAGS_CHANGED;
- public static int TYPE_ACCESSIBILITY_OVERLAY;
- public static int TYPE_APPLICATION;
- public static int TYPE_APPLICATION_ABOVE_SUB_PANEL;
- public static int TYPE_APPLICATION_ATTACHED_DIALOG;
- public static int TYPE_APPLICATION_MEDIA;
- public static int TYPE_APPLICATION_MEDIA_OVERLAY;
- public static int TYPE_APPLICATION_OVERLAY;
- public static int TYPE_APPLICATION_PANEL;
- public static int TYPE_APPLICATION_STARTING;
- public static int TYPE_APPLICATION_SUB_PANEL;
- public static int TYPE_BASE_APPLICATION;
- public static int TYPE_BOOT_PROGRESS;
- public static int TYPE_CHANGED;
- public static int TYPE_DISPLAY_OVERLAY;
- public static int TYPE_DOCK_DIVIDER;
- public static int TYPE_DRAG;
- public static int TYPE_DRAWN_APPLICATION;
- public static int TYPE_DREAM;
- public static int TYPE_INPUT_CONSUMER;
- public static int TYPE_INPUT_METHOD;
- public static int TYPE_INPUT_METHOD_DIALOG;
- public static int TYPE_KEYGUARD;
- public static int TYPE_KEYGUARD_DIALOG;
- public static int TYPE_MAGNIFICATION_OVERLAY;
- public static int TYPE_NAVIGATION_BAR;
- public static int TYPE_NAVIGATION_BAR_PANEL;
- public static int TYPE_PHONE;
- public static int TYPE_POINTER;
- public static int TYPE_PRESENTATION;
- public static int TYPE_PRIORITY_PHONE;
- public static int TYPE_PRIVATE_PRESENTATION;
- public static int TYPE_QS_DIALOG;
- public static int TYPE_SCREENSHOT;
- public static int TYPE_SEARCH_BAR;
- public static int TYPE_SECURE_SYSTEM_OVERLAY;
- public static int TYPE_STATUS_BAR;
- public static int TYPE_STATUS_BAR_PANEL;
- public static int TYPE_STATUS_BAR_SUB_PANEL;
- public static int TYPE_SYSTEM_ALERT;
- public static int TYPE_SYSTEM_DIALOG;
- public static int TYPE_SYSTEM_ERROR;
- public static int TYPE_SYSTEM_OVERLAY;
- public static int TYPE_TOAST;
- public static int TYPE_VOICE_INTERACTION;
- public static int TYPE_VOICE_INTERACTION_STARTING;
- public static int TYPE_VOLUME_OVERLAY;
- public static int TYPE_WALLPAPER;
- public static int USER_ACTIVITY_TIMEOUT_CHANGED;
- public long accessibilityIdOfAnchor;
- public java.lang.CharSequence accessibilityTitle;
- public float alpha;
- public float buttonBrightness;
- public float dimAmount;
- public int flags;
- public int format;
- public int gravity;
- public boolean hasManualSurfaceInsets;
- public boolean hasSystemUiListeners;
- public long hideTimeoutMilliseconds;
- public float horizontalMargin;
- public float horizontalWeight;
- public int inputFeatures;
- public int layoutInDisplayCutoutMode;
- public int memoryType;
- public int needsMenuKey;
- public java.lang.String packageName;
- public int preferredDisplayModeId;
- public float preferredRefreshRate;
- public boolean preservePreviousSurfaceInsets;
- public int privateFlags;
- public int rotationAnimation;
- public float screenBrightness;
- public int screenOrientation;
- public int softInputMode;
- public int subtreeSystemUiVisibility;
- public android.graphics.Rect surfaceInsets;
- public int systemUiVisibility;
- public android.os.IBinder token;
- public int type;
- public long userActivityTimeout;
- public float verticalMargin;
- public float verticalWeight;
- public int windowAnimations;
- public int x;
- public int y;
-}
-
--keep class android.view.accessibility.AccessibilityEvent {
-
- public void appendRecord(android.view.accessibility.AccessibilityRecord);
- protected void clear();
- public int describeContents();
- public static java.lang.String eventTypeToString(int);
- public int getAction();
- public int getContentChangeTypes();
- public long getEventTime();
- public int getEventType();
- public int getMovementGranularity();
- public java.lang.CharSequence getPackageName();
- public android.view.accessibility.AccessibilityRecord getRecord(int);
- public int getRecordCount();
- public int getWindowChanges();
- public void initFromParcel(android.os.Parcel);
- public static android.view.accessibility.AccessibilityEvent obtain(int);
- public static android.view.accessibility.AccessibilityEvent obtain(android.view.accessibility.AccessibilityEvent);
- public static android.view.accessibility.AccessibilityEvent obtain();
- public static android.view.accessibility.AccessibilityEvent obtainWindowsChangedEvent(int, int);
- public void recycle();
- public void setAction(int);
- public void setContentChangeTypes(int);
- public void setEventTime(long);
- public void setEventType(int);
- public void setMovementGranularity(int);
- public void setPackageName(java.lang.CharSequence);
- public void setSealed(boolean);
- public void setWindowChanges(int);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static int CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION;
- public static int CONTENT_CHANGE_TYPE_PANE_APPEARED;
- public static int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED;
- public static int CONTENT_CHANGE_TYPE_PANE_TITLE;
- public static int CONTENT_CHANGE_TYPE_SUBTREE;
- public static int CONTENT_CHANGE_TYPE_TEXT;
- public static int CONTENT_CHANGE_TYPE_UNDEFINED;
- public static android.os.Parcelable$Creator CREATOR;
- public static boolean DEBUG_ORIGIN;
- public static int INVALID_POSITION;
- public static int MAX_TEXT_LENGTH;
- public static int TYPES_ALL_MASK;
- public static int TYPE_ANNOUNCEMENT;
- public static int TYPE_ASSIST_READING_CONTEXT;
- public static int TYPE_GESTURE_DETECTION_END;
- public static int TYPE_GESTURE_DETECTION_START;
- public static int TYPE_NOTIFICATION_STATE_CHANGED;
- public static int TYPE_TOUCH_EXPLORATION_GESTURE_END;
- public static int TYPE_TOUCH_EXPLORATION_GESTURE_START;
- public static int TYPE_TOUCH_INTERACTION_END;
- public static int TYPE_TOUCH_INTERACTION_START;
- public static int TYPE_VIEW_ACCESSIBILITY_FOCUSED;
- public static int TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED;
- public static int TYPE_VIEW_CLICKED;
- public static int TYPE_VIEW_CONTEXT_CLICKED;
- public static int TYPE_VIEW_FOCUSED;
- public static int TYPE_VIEW_HOVER_ENTER;
- public static int TYPE_VIEW_HOVER_EXIT;
- public static int TYPE_VIEW_LONG_CLICKED;
- public static int TYPE_VIEW_SCROLLED;
- public static int TYPE_VIEW_SELECTED;
- public static int TYPE_VIEW_TEXT_CHANGED;
- public static int TYPE_VIEW_TEXT_SELECTION_CHANGED;
- public static int TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY;
- public static int TYPE_WINDOWS_CHANGED;
- public static int TYPE_WINDOW_CONTENT_CHANGED;
- public static int TYPE_WINDOW_STATE_CHANGED;
- public static int WINDOWS_CHANGE_ACCESSIBILITY_FOCUSED;
- public static int WINDOWS_CHANGE_ACTIVE;
- public static int WINDOWS_CHANGE_ADDED;
- public static int WINDOWS_CHANGE_BOUNDS;
- public static int WINDOWS_CHANGE_CHILDREN;
- public static int WINDOWS_CHANGE_FOCUSED;
- public static int WINDOWS_CHANGE_LAYER;
- public static int WINDOWS_CHANGE_PARENT;
- public static int WINDOWS_CHANGE_PIP;
- public static int WINDOWS_CHANGE_REMOVED;
- public static int WINDOWS_CHANGE_TITLE;
- public java.lang.StackTraceElement[] originStackTrace;
-}
-
--keep class android.view.accessibility.AccessibilityNodeInfo {
-
- public void addAction(android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction);
- public void addAction(int);
- public void addChild(android.view.View);
- public void addChild(android.view.View, int);
- public void addChildUnchecked(android.view.View);
- public boolean canOpenPopup();
- public int describeContents();
- protected void enforceNotSealed();
- protected void enforceSealed();
- public boolean equals(java.lang.Object);
- public java.util.List findAccessibilityNodeInfosByText(java.lang.String);
- public java.util.List findAccessibilityNodeInfosByViewId(java.lang.String);
- public android.view.accessibility.AccessibilityNodeInfo findFocus(int);
- public android.view.accessibility.AccessibilityNodeInfo focusSearch(int);
- public static int getAccessibilityViewId(long);
- public java.util.List getActionList();
- public int getActions();
- public java.util.List getAvailableExtraData();
- public void getBoundsInParent(android.graphics.Rect);
- public void getBoundsInScreen(android.graphics.Rect);
- public android.graphics.Rect getBoundsInScreen();
- public android.view.accessibility.AccessibilityNodeInfo getChild(int);
- public int getChildCount();
- public long getChildId(int);
- public android.util.LongArray getChildNodeIds();
- public java.lang.CharSequence getClassName();
- public android.view.accessibility.AccessibilityNodeInfo$CollectionInfo getCollectionInfo();
- public android.view.accessibility.AccessibilityNodeInfo$CollectionItemInfo getCollectionItemInfo();
- public int getConnectionId();
- public java.lang.CharSequence getContentDescription();
- public int getDrawingOrder();
- public java.lang.CharSequence getError();
- public android.os.Bundle getExtras();
- public java.lang.CharSequence getHintText();
- public int getInputType();
- public android.view.accessibility.AccessibilityNodeInfo getLabelFor();
- public android.view.accessibility.AccessibilityNodeInfo getLabeledBy();
- public int getLiveRegion();
- public int getMaxTextLength();
- public int getMovementGranularities();
- public java.lang.CharSequence getOriginalText();
- public java.lang.CharSequence getPackageName();
- public java.lang.CharSequence getPaneTitle();
- public android.view.accessibility.AccessibilityNodeInfo getParent();
- public long getParentNodeId();
- public android.view.accessibility.AccessibilityNodeInfo$RangeInfo getRangeInfo();
- public long getSourceNodeId();
- public java.lang.CharSequence getText();
- public int getTextSelectionEnd();
- public int getTextSelectionStart();
- public java.lang.CharSequence getTooltipText();
- public android.view.accessibility.AccessibilityNodeInfo getTraversalAfter();
- public android.view.accessibility.AccessibilityNodeInfo getTraversalBefore();
- public java.lang.String getViewIdResourceName();
- public static int getVirtualDescendantId(long);
- public android.view.accessibility.AccessibilityWindowInfo getWindow();
- public int getWindowId();
- public boolean hasExtras();
- public int hashCode();
- public static java.lang.String idToString(long);
- public boolean isAccessibilityFocused();
- public boolean isCheckable();
- public boolean isChecked();
- public boolean isClickable();
- public boolean isContentInvalid();
- public boolean isContextClickable();
- public boolean isDismissable();
- public boolean isEditable();
- public boolean isEnabled();
- public boolean isFocusable();
- public boolean isFocused();
- public boolean isHeading();
- public boolean isImportantForAccessibility();
- public boolean isLongClickable();
- public boolean isMultiLine();
- public boolean isPassword();
- public boolean isScreenReaderFocusable();
- public boolean isScrollable();
- public boolean isSealed();
- public boolean isSelected();
- public boolean isShowingHintText();
- public boolean isVisibleToUser();
- public static long makeNodeId(int, int);
- public static android.view.accessibility.AccessibilityNodeInfo obtain(android.view.View);
- public static android.view.accessibility.AccessibilityNodeInfo obtain(android.view.View, int);
- public static android.view.accessibility.AccessibilityNodeInfo obtain();
- public static android.view.accessibility.AccessibilityNodeInfo obtain(android.view.accessibility.AccessibilityNodeInfo);
- public boolean performAction(int);
- public boolean performAction(int, android.os.Bundle);
- public void recycle();
- public boolean refresh(android.os.Bundle, boolean);
- public boolean refresh();
- public boolean refreshWithExtraData(java.lang.String, android.os.Bundle);
- public void removeAction(int);
- public boolean removeAction(android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction);
- public void removeAllActions();
- public boolean removeChild(android.view.View);
- public boolean removeChild(android.view.View, int);
- public void setAccessibilityFocused(boolean);
- public void setAvailableExtraData(java.util.List);
- public void setBoundsInParent(android.graphics.Rect);
- public void setBoundsInScreen(android.graphics.Rect);
- public void setCanOpenPopup(boolean);
- public void setCheckable(boolean);
- public void setChecked(boolean);
- public void setClassName(java.lang.CharSequence);
- public void setClickable(boolean);
- public void setCollectionInfo(android.view.accessibility.AccessibilityNodeInfo$CollectionInfo);
- public void setCollectionItemInfo(android.view.accessibility.AccessibilityNodeInfo$CollectionItemInfo);
- public void setConnectionId(int);
- public void setContentDescription(java.lang.CharSequence);
- public void setContentInvalid(boolean);
- public void setContextClickable(boolean);
- public void setDismissable(boolean);
- public void setDrawingOrder(int);
- public void setEditable(boolean);
- public void setEnabled(boolean);
- public void setError(java.lang.CharSequence);
- public void setFocusable(boolean);
- public void setFocused(boolean);
- public void setHeading(boolean);
- public void setHintText(java.lang.CharSequence);
- public void setImportantForAccessibility(boolean);
- public void setInputType(int);
- public void setLabelFor(android.view.View);
- public void setLabelFor(android.view.View, int);
- public void setLabeledBy(android.view.View);
- public void setLabeledBy(android.view.View, int);
- public void setLiveRegion(int);
- public void setLongClickable(boolean);
- public void setMaxTextLength(int);
- public void setMovementGranularities(int);
- public void setMultiLine(boolean);
- public static void setNumInstancesInUseCounter(java.util.concurrent.atomic.AtomicInteger);
- public void setPackageName(java.lang.CharSequence);
- public void setPaneTitle(java.lang.CharSequence);
- public void setParent(android.view.View);
- public void setParent(android.view.View, int);
- public void setPassword(boolean);
- public void setRangeInfo(android.view.accessibility.AccessibilityNodeInfo$RangeInfo);
- public void setScreenReaderFocusable(boolean);
- public void setScrollable(boolean);
- public void setSealed(boolean);
- public void setSelected(boolean);
- public void setShowingHintText(boolean);
- public void setSource(android.view.View);
- public void setSource(android.view.View, int);
- public void setSourceNodeId(long, int);
- public void setText(java.lang.CharSequence);
- public void setTextSelection(int, int);
- public void setTooltipText(java.lang.CharSequence);
- public void setTraversalAfter(android.view.View);
- public void setTraversalAfter(android.view.View, int);
- public void setTraversalBefore(android.view.View);
- public void setTraversalBefore(android.view.View, int);
- public void setViewIdResourceName(java.lang.String);
- public void setVisibleToUser(boolean);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
- public void writeToParcelNoRecycle(android.os.Parcel, int);
-
-
- public static int ACTION_ACCESSIBILITY_FOCUS;
- public static java.lang.String ACTION_ARGUMENT_ACCESSIBLE_CLICKABLE_SPAN;
- public static java.lang.String ACTION_ARGUMENT_COLUMN_INT;
- public static java.lang.String ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN;
- public static java.lang.String ACTION_ARGUMENT_HTML_ELEMENT_STRING;
- public static java.lang.String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT;
- public static java.lang.String ACTION_ARGUMENT_MOVE_WINDOW_X;
- public static java.lang.String ACTION_ARGUMENT_MOVE_WINDOW_Y;
- public static java.lang.String ACTION_ARGUMENT_PROGRESS_VALUE;
- public static java.lang.String ACTION_ARGUMENT_ROW_INT;
- public static java.lang.String ACTION_ARGUMENT_SELECTION_END_INT;
- public static java.lang.String ACTION_ARGUMENT_SELECTION_START_INT;
- public static java.lang.String ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE;
- public static int ACTION_CLEAR_ACCESSIBILITY_FOCUS;
- public static int ACTION_CLEAR_FOCUS;
- public static int ACTION_CLEAR_SELECTION;
- public static int ACTION_CLICK;
- public static int ACTION_COLLAPSE;
- public static int ACTION_COPY;
- public static int ACTION_CUT;
- public static int ACTION_DISMISS;
- public static int ACTION_EXPAND;
- public static int ACTION_FOCUS;
- public static int ACTION_LONG_CLICK;
- public static int ACTION_NEXT_AT_MOVEMENT_GRANULARITY;
- public static int ACTION_NEXT_HTML_ELEMENT;
- public static int ACTION_PASTE;
- public static int ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY;
- public static int ACTION_PREVIOUS_HTML_ELEMENT;
- public static int ACTION_SCROLL_BACKWARD;
- public static int ACTION_SCROLL_FORWARD;
- public static int ACTION_SELECT;
- public static int ACTION_SET_SELECTION;
- public static int ACTION_SET_TEXT;
- public static android.os.Parcelable$Creator CREATOR;
- public static java.lang.String EXTRA_DATA_REQUESTED_KEY;
- public static java.lang.String EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH;
- public static java.lang.String EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX;
- public static java.lang.String EXTRA_DATA_TEXT_CHARACTER_LOCATION_KEY;
- public static int FLAG_INCLUDE_NOT_IMPORTANT_VIEWS;
- public static int FLAG_PREFETCH_DESCENDANTS;
- public static int FLAG_PREFETCH_PREDECESSORS;
- public static int FLAG_PREFETCH_SIBLINGS;
- public static int FLAG_REPORT_VIEW_IDS;
- public static int FOCUS_ACCESSIBILITY;
- public static int FOCUS_INPUT;
- public static int LAST_LEGACY_STANDARD_ACTION;
- public static int MOVEMENT_GRANULARITY_CHARACTER;
- public static int MOVEMENT_GRANULARITY_LINE;
- public static int MOVEMENT_GRANULARITY_PAGE;
- public static int MOVEMENT_GRANULARITY_PARAGRAPH;
- public static int MOVEMENT_GRANULARITY_WORD;
- public static int ROOT_ITEM_ID;
- public static long ROOT_NODE_ID;
- public static int UNDEFINED_CONNECTION_ID;
- public static int UNDEFINED_ITEM_ID;
- public static long UNDEFINED_NODE_ID;
- public static int UNDEFINED_SELECTION_INDEX;
-}
-
--keep class android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction {
- <init>(int, java.lang.CharSequence);
-
- public boolean equals(java.lang.Object);
- public int getId();
- public java.lang.CharSequence getLabel();
- public int hashCode();
- public java.lang.String toString();
-
-
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_ACCESSIBILITY_FOCUS;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_CLEAR_ACCESSIBILITY_FOCUS;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_CLEAR_FOCUS;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_CLEAR_SELECTION;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_CLICK;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_COLLAPSE;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_CONTEXT_CLICK;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_COPY;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_CUT;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_DISMISS;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_EXPAND;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_FOCUS;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_HIDE_TOOLTIP;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_LONG_CLICK;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_MOVE_WINDOW;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_NEXT_AT_MOVEMENT_GRANULARITY;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_NEXT_HTML_ELEMENT;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_PASTE;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_PREVIOUS_HTML_ELEMENT;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_SCROLL_BACKWARD;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_SCROLL_DOWN;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_SCROLL_FORWARD;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_SCROLL_LEFT;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_SCROLL_RIGHT;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_SCROLL_TO_POSITION;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_SCROLL_UP;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_SELECT;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_SET_PROGRESS;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_SET_SELECTION;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_SET_TEXT;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_SHOW_ON_SCREEN;
- public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_SHOW_TOOLTIP;
- public long mSerializationFlag;
- public static android.util.ArraySet sStandardActions;
-}
-
--keep class android.view.accessibility.AccessibilityNodeInfo$CollectionInfo {
-
- public int getColumnCount();
- public int getRowCount();
- public int getSelectionMode();
- public boolean isHierarchical();
- public static android.view.accessibility.AccessibilityNodeInfo$CollectionInfo obtain(android.view.accessibility.AccessibilityNodeInfo$CollectionInfo);
- public static android.view.accessibility.AccessibilityNodeInfo$CollectionInfo obtain(int, int, boolean);
- public static android.view.accessibility.AccessibilityNodeInfo$CollectionInfo obtain(int, int, boolean, int);
-
-
- public static int SELECTION_MODE_MULTIPLE;
- public static int SELECTION_MODE_NONE;
- public static int SELECTION_MODE_SINGLE;
-}
-
--keep class android.view.accessibility.AccessibilityNodeInfo$CollectionItemInfo {
-
- public int getColumnIndex();
- public int getColumnSpan();
- public int getRowIndex();
- public int getRowSpan();
- public boolean isHeading();
- public boolean isSelected();
- public static android.view.accessibility.AccessibilityNodeInfo$CollectionItemInfo obtain(android.view.accessibility.AccessibilityNodeInfo$CollectionItemInfo);
- public static android.view.accessibility.AccessibilityNodeInfo$CollectionItemInfo obtain(int, int, int, int, boolean);
- public static android.view.accessibility.AccessibilityNodeInfo$CollectionItemInfo obtain(int, int, int, int, boolean, boolean);
-
-
-}
-
--keep class android.view.accessibility.AccessibilityNodeInfo$RangeInfo {
-
- public float getCurrent();
- public float getMax();
- public float getMin();
- public int getType();
- public static android.view.accessibility.AccessibilityNodeInfo$RangeInfo obtain(android.view.accessibility.AccessibilityNodeInfo$RangeInfo);
- public static android.view.accessibility.AccessibilityNodeInfo$RangeInfo obtain(int, float, float, float);
-
-
- public static int RANGE_TYPE_FLOAT;
- public static int RANGE_TYPE_INT;
- public static int RANGE_TYPE_PERCENT;
-}
-
--keep class android.view.accessibility.AccessibilityNodeProvider {
- <init>();
-
- public void addExtraDataToAccessibilityNodeInfo(int, android.view.accessibility.AccessibilityNodeInfo, java.lang.String, android.os.Bundle);
- public android.view.accessibility.AccessibilityNodeInfo createAccessibilityNodeInfo(int);
- public java.util.List findAccessibilityNodeInfosByText(java.lang.String, int);
- public android.view.accessibility.AccessibilityNodeInfo findFocus(int);
- public boolean performAction(int, int, android.os.Bundle);
-
-
- public static int HOST_VIEW_ID;
-}
-
--keep class android.view.accessibility.AccessibilityRecord {
-
- public int getAddedCount();
- public java.lang.CharSequence getBeforeText();
- public java.lang.CharSequence getClassName();
- public java.lang.CharSequence getContentDescription();
- public int getCurrentItemIndex();
- public int getFromIndex();
- public int getItemCount();
- public int getMaxScrollX();
- public int getMaxScrollY();
- public android.os.Parcelable getParcelableData();
- public int getRemovedCount();
- public int getScrollDeltaX();
- public int getScrollDeltaY();
- public int getScrollX();
- public int getScrollY();
- public android.view.accessibility.AccessibilityNodeInfo getSource();
- public long getSourceNodeId();
- public java.util.List getText();
- public int getToIndex();
- public int getWindowId();
- public boolean isChecked();
- public boolean isEnabled();
- public boolean isFullScreen();
- public boolean isImportantForAccessibility();
- public boolean isPassword();
- public boolean isScrollable();
- public static android.view.accessibility.AccessibilityRecord obtain(android.view.accessibility.AccessibilityRecord);
- public static android.view.accessibility.AccessibilityRecord obtain();
- public void recycle();
- public void setAddedCount(int);
- public void setBeforeText(java.lang.CharSequence);
- public void setChecked(boolean);
- public void setClassName(java.lang.CharSequence);
- public void setConnectionId(int);
- public void setContentDescription(java.lang.CharSequence);
- public void setCurrentItemIndex(int);
- public void setEnabled(boolean);
- public void setFromIndex(int);
- public void setFullScreen(boolean);
- public void setImportantForAccessibility(boolean);
- public void setItemCount(int);
- public void setMaxScrollX(int);
- public void setMaxScrollY(int);
- public void setParcelableData(android.os.Parcelable);
- public void setPassword(boolean);
- public void setRemovedCount(int);
- public void setScrollDeltaX(int);
- public void setScrollDeltaY(int);
- public void setScrollX(int);
- public void setScrollY(int);
- public void setScrollable(boolean);
- public void setSealed(boolean);
- public void setSource(android.view.View);
- public void setSource(android.view.View, int);
- public void setSourceNodeId(long);
- public void setToIndex(int);
- public void setWindowId(int);
- public java.lang.String toString();
-
-
- protected static boolean DEBUG_CONCISE_TOSTRING;
-}
-
--keep class android.view.accessibility.AccessibilityWindowInfo {
-
- public void addChild(int);
- public boolean changed(android.view.accessibility.AccessibilityWindowInfo);
- public int describeContents();
- public int differenceFrom(android.view.accessibility.AccessibilityWindowInfo);
- public boolean equals(java.lang.Object);
- public android.view.accessibility.AccessibilityNodeInfo getAnchor();
- public void getBoundsInScreen(android.graphics.Rect);
- public android.view.accessibility.AccessibilityWindowInfo getChild(int);
- public int getChildCount();
- public int getId();
- public int getLayer();
- public android.view.accessibility.AccessibilityWindowInfo getParent();
- public android.view.accessibility.AccessibilityNodeInfo getRoot();
- public java.lang.CharSequence getTitle();
- public int getType();
- public int hashCode();
- public boolean isAccessibilityFocused();
- public boolean isActive();
- public boolean isFocused();
- public boolean isInPictureInPictureMode();
- public static android.view.accessibility.AccessibilityWindowInfo obtain();
- public static android.view.accessibility.AccessibilityWindowInfo obtain(android.view.accessibility.AccessibilityWindowInfo);
- public void recycle();
- public void setAccessibilityFocused(boolean);
- public void setActive(boolean);
- public void setAnchorId(long);
- public void setBoundsInScreen(android.graphics.Rect);
- public void setConnectionId(int);
- public void setFocused(boolean);
- public void setId(int);
- public void setLayer(int);
- public static void setNumInstancesInUseCounter(java.util.concurrent.atomic.AtomicInteger);
- public void setParentId(int);
- public void setPictureInPicture(boolean);
- public void setTitle(java.lang.CharSequence);
- public void setType(int);
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static int ACTIVE_WINDOW_ID;
- public static int ANY_WINDOW_ID;
- public static android.os.Parcelable$Creator CREATOR;
- public static int PICTURE_IN_PICTURE_ACTION_REPLACER_WINDOW_ID;
- public static int TYPE_ACCESSIBILITY_OVERLAY;
- public static int TYPE_APPLICATION;
- public static int TYPE_INPUT_METHOD;
- public static int TYPE_SPLIT_SCREEN_DIVIDER;
- public static int TYPE_SYSTEM;
- public static int UNDEFINED_WINDOW_ID;
-}
-
--keep class android.view.accessibility.IAccessibilityInteractionConnectionCallback {
-
- public abstract void setFindAccessibilityNodeInfoResult(android.view.accessibility.AccessibilityNodeInfo, int);
- public abstract void setFindAccessibilityNodeInfosResult(java.util.List, int);
- public abstract void setPerformAccessibilityActionResult(boolean, int);
-
-
-}
-
--keep class android.view.animation.Animation {
- <init>();
- <init>(android.content.Context, android.util.AttributeSet);
-
- protected void applyTransformation(float, android.view.animation.Transformation);
- public void cancel();
- protected android.view.animation.Animation clone();
- protected java.lang.Object clone();
- public long computeDurationHint();
- public void detach();
- protected void ensureInterpolator();
- protected void finalize();
- public int getBackgroundColor();
- public boolean getDetachWallpaper();
- public long getDuration();
- public boolean getFillAfter();
- public boolean getFillBefore();
- public android.view.animation.Interpolator getInterpolator();
- public void getInvalidateRegion(int, int, int, int, android.graphics.RectF, android.view.animation.Transformation);
- public int getRepeatCount();
- public int getRepeatMode();
- protected float getScaleFactor();
- public boolean getShowWallpaper();
- public long getStartOffset();
- public long getStartTime();
- public boolean getTransformation(long, android.view.animation.Transformation);
- public boolean getTransformation(long, android.view.animation.Transformation, float);
- public int getZAdjustment();
- public boolean hasAlpha();
- public boolean hasEnded();
- public boolean hasStarted();
- public void initialize(int, int, int, int);
- public void initializeInvalidateRegion(int, int, int, int);
- public boolean isFillEnabled();
- public boolean isInitialized();
- public void reset();
- protected float resolveSize(int, float, int, int);
- public void restrictDuration(long);
- public void scaleCurrentDuration(float);
- public void setAnimationListener(android.view.animation.Animation$AnimationListener);
- public void setBackgroundColor(int);
- public void setDetachWallpaper(boolean);
- public void setDuration(long);
- public void setFillAfter(boolean);
- public void setFillBefore(boolean);
- public void setFillEnabled(boolean);
- public void setInterpolator(android.content.Context, int);
- public void setInterpolator(android.view.animation.Interpolator);
- public void setListenerHandler(android.os.Handler);
- public void setRepeatCount(int);
- public void setRepeatMode(int);
- public void setShowWallpaper(boolean);
- public void setStartOffset(long);
- public void setStartTime(long);
- public void setZAdjustment(int);
- public void start();
- public void startNow();
- public boolean willChangeBounds();
- public boolean willChangeTransformationMatrix();
-
-
- public static int ABSOLUTE;
- public static int INFINITE;
- public static int RELATIVE_TO_PARENT;
- public static int RELATIVE_TO_SELF;
- public static int RESTART;
- public static int REVERSE;
- public static int START_ON_FIRST_FRAME;
- public static int ZORDER_BOTTOM;
- public static int ZORDER_NORMAL;
- public static int ZORDER_TOP;
-}
-
--keep class android.view.animation.Animation$AnimationListener {
-
- public abstract void onAnimationEnd(android.view.animation.Animation);
- public abstract void onAnimationRepeat(android.view.animation.Animation);
- public abstract void onAnimationStart(android.view.animation.Animation);
-
-
-}
-
--keep class android.view.animation.Interpolator {
-
-
-
-}
-
--keep class android.view.animation.LayoutAnimationController {
- <init>(android.content.Context, android.util.AttributeSet);
- <init>(android.view.animation.Animation);
- <init>(android.view.animation.Animation, float);
-
- public android.view.animation.Animation getAnimation();
- public android.view.animation.Animation getAnimationForView(android.view.View);
- public float getDelay();
- protected long getDelayForView(android.view.View);
- public android.view.animation.Interpolator getInterpolator();
- public int getOrder();
- protected int getTransformedIndex(android.view.animation.LayoutAnimationController$AnimationParameters);
- public boolean isDone();
- public void setAnimation(android.content.Context, int);
- public void setAnimation(android.view.animation.Animation);
- public void setDelay(float);
- public void setInterpolator(android.content.Context, int);
- public void setInterpolator(android.view.animation.Interpolator);
- public void setOrder(int);
- public void start();
- public boolean willOverlap();
-
-
- public static int ORDER_NORMAL;
- public static int ORDER_RANDOM;
- public static int ORDER_REVERSE;
- protected android.view.animation.Animation mAnimation;
- protected android.view.animation.Interpolator mInterpolator;
- protected java.util.Random mRandomizer;
-}
-
--keep class android.view.animation.LayoutAnimationController$AnimationParameters {
- <init>();
-
-
-
- public int count;
- public int index;
-}
-
--keep class android.view.animation.Transformation {
- <init>();
-
- public void clear();
- public void compose(android.view.animation.Transformation);
- public float getAlpha();
- public android.graphics.Rect getClipRect();
- public android.graphics.Matrix getMatrix();
- public int getTransformationType();
- public boolean hasClipRect();
- public void postCompose(android.view.animation.Transformation);
- public void printShortString(java.io.PrintWriter);
- public void set(android.view.animation.Transformation);
- public void setAlpha(float);
- public void setClipRect(android.graphics.Rect);
- public void setClipRect(int, int, int, int);
- public void setTransformationType(int);
- public java.lang.String toShortString();
- public void toShortString(java.lang.StringBuilder);
- public java.lang.String toString();
-
-
- public static int TYPE_ALPHA;
- public static int TYPE_BOTH;
- public static int TYPE_IDENTITY;
- public static int TYPE_MATRIX;
- protected float mAlpha;
- protected android.graphics.Matrix mMatrix;
- protected int mTransformationType;
-}
-
--keep class android.view.autofill.AutofillId {
- <init>(int);
- <init>(android.view.autofill.AutofillId, int);
- <init>(int, int);
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public int getViewId();
- public int getVirtualChildId();
- public int hashCode();
- public boolean isVirtual();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.view.autofill.AutofillManager {
- <init>(android.content.Context, android.view.autofill.IAutoFillManager);
-
- public void cancel();
- public void commit();
- public void disableAutofillServices();
- public void disableOwnedAutofillServices();
- public void dump(java.lang.String, java.io.PrintWriter);
- public void enableCompatibilityMode();
- public android.content.ComponentName getAutofillServiceComponentName();
- public java.util.List getAvailableFieldClassificationAlgorithms();
- public static int getDatasetIdFromAuthenticationId(int);
- public java.lang.String getDefaultFieldClassificationAlgorithm();
- public android.service.autofill.FillEventHistory getFillEventHistory();
- public android.view.autofill.AutofillId getNextAutofillId();
- public static int getRequestIdFromAuthenticationId(int);
- public android.service.autofill.UserData getUserData();
- public java.lang.String getUserDataId();
- public boolean hasAutofillFeature();
- public boolean hasEnabledAutofillServices();
- public boolean isAutofillSupported();
- public boolean isAutofillUiShowing();
- public boolean isCompatibilityModeEnabledLocked();
- public boolean isEnabled();
- public boolean isFieldClassificationEnabled();
- public static int makeAuthenticationId(int, int);
- public void notifyValueChanged(android.view.View);
- public void notifyValueChanged(android.view.View, int, android.view.autofill.AutofillValue);
- public void notifyViewClicked(android.view.View);
- public void notifyViewClicked(android.view.View, int);
- public void notifyViewEntered(android.view.View);
- public void notifyViewEntered(android.view.View, int, android.graphics.Rect);
- public void notifyViewExited(android.view.View);
- public void notifyViewExited(android.view.View, int);
- public void notifyViewVisibilityChanged(android.view.View, boolean);
- public void notifyViewVisibilityChanged(android.view.View, int, boolean);
- public void onActivityFinishing();
- public void onAuthenticationResult(int, android.content.Intent, android.view.View);
- public void onCreate(android.os.Bundle);
- public void onInvisibleForAutofill();
- public void onPendingSaveUi(int, android.os.IBinder);
- public void onSaveInstanceState(android.os.Bundle);
- public void onVisibleForAutofill();
- public void registerCallback(android.view.autofill.AutofillManager$AutofillCallback);
- public void requestAutofill(android.view.View);
- public void requestAutofill(android.view.View, int, android.graphics.Rect);
- public void requestHideFillUi();
- public void setUserData(android.service.autofill.UserData);
- public void unregisterCallback(android.view.autofill.AutofillManager$AutofillCallback);
-
-
- public static int ACTION_START_SESSION;
- public static int ACTION_VALUE_CHANGED;
- public static int ACTION_VIEW_ENTERED;
- public static int ACTION_VIEW_EXITED;
- public static int AUTHENTICATION_ID_DATASET_ID_UNDEFINED;
- public static java.lang.String EXTRA_ASSIST_STRUCTURE;
- public static java.lang.String EXTRA_AUTHENTICATION_RESULT;
- public static java.lang.String EXTRA_CLIENT_STATE;
- public static java.lang.String EXTRA_RESTORE_SESSION_TOKEN;
- public static int FC_SERVICE_TIMEOUT;
- public static int FLAG_ADD_CLIENT_DEBUG;
- public static int FLAG_ADD_CLIENT_ENABLED;
- public static int FLAG_ADD_CLIENT_VERBOSE;
- public static int NO_SESSION;
- public static int PENDING_UI_OPERATION_CANCEL;
- public static int PENDING_UI_OPERATION_RESTORE;
- public static int SET_STATE_FLAG_DEBUG;
- public static int SET_STATE_FLAG_ENABLED;
- public static int SET_STATE_FLAG_RESET_CLIENT;
- public static int SET_STATE_FLAG_RESET_SESSION;
- public static int SET_STATE_FLAG_VERBOSE;
- public static int STATE_ACTIVE;
- public static int STATE_DISABLED_BY_SERVICE;
- public static int STATE_FINISHED;
- public static int STATE_SHOWING_SAVE_UI;
- public static int STATE_UNKNOWN;
- public static int STATE_UNKNOWN_COMPAT_MODE;
-}
-
--keep class android.view.autofill.AutofillManager$AutofillCallback {
- <init>();
-
- public void onAutofillEvent(android.view.View, int);
- public void onAutofillEvent(android.view.View, int, int);
-
-
- public static int EVENT_INPUT_HIDDEN;
- public static int EVENT_INPUT_SHOWN;
- public static int EVENT_INPUT_UNAVAILABLE;
-}
-
--keep class android.view.autofill.AutofillManager$AutofillClient {
-
- public abstract void autofillClientAuthenticate(int, android.content.IntentSender, android.content.Intent);
- public abstract void autofillClientDispatchUnhandledKey(android.view.View, android.view.KeyEvent);
- public abstract android.view.View autofillClientFindViewByAccessibilityIdTraversal(int, int);
- public abstract android.view.View autofillClientFindViewByAutofillIdTraversal(android.view.autofill.AutofillId);
- public abstract android.view.View[] autofillClientFindViewsByAutofillIdTraversal(android.view.autofill.AutofillId[]);
- public abstract android.os.IBinder autofillClientGetActivityToken();
- public abstract android.content.ComponentName autofillClientGetComponentName();
- public abstract android.view.autofill.AutofillId autofillClientGetNextAutofillId();
- public abstract boolean[] autofillClientGetViewVisibility(android.view.autofill.AutofillId[]);
- public abstract boolean autofillClientIsCompatibilityModeEnabled();
- public abstract boolean autofillClientIsFillUiShowing();
- public abstract boolean autofillClientIsVisibleForAutofill();
- public abstract boolean autofillClientRequestHideFillUi();
- public abstract boolean autofillClientRequestShowFillUi(android.view.View, int, int, android.graphics.Rect, android.view.autofill.IAutofillWindowPresenter);
- public abstract void autofillClientResetableStateAvailable();
- public abstract void autofillClientRunOnUiThread(java.lang.Runnable);
- public abstract boolean isDisablingEnterExitEventForAutofill();
-
-
-}
-
--keep class android.view.autofill.AutofillValue {
-
- public int describeContents();
- public boolean equals(java.lang.Object);
- public static android.view.autofill.AutofillValue forDate(long);
- public static android.view.autofill.AutofillValue forList(int);
- public static android.view.autofill.AutofillValue forText(java.lang.CharSequence);
- public static android.view.autofill.AutofillValue forToggle(boolean);
- public long getDateValue();
- public int getListValue();
- public java.lang.CharSequence getTextValue();
- public boolean getToggleValue();
- public int hashCode();
- public boolean isDate();
- public boolean isEmpty();
- public boolean isList();
- public boolean isText();
- public boolean isToggle();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.view.autofill.IAutoFillManager {
-
- public abstract int addClient(android.view.autofill.IAutoFillManagerClient, int);
- public abstract void cancelSession(int, int);
- public abstract void disableOwnedAutofillServices(int);
- public abstract void finishSession(int, int);
- public abstract android.content.ComponentName getAutofillServiceComponentName();
- public abstract java.lang.String[] getAvailableFieldClassificationAlgorithms();
- public abstract java.lang.String getDefaultFieldClassificationAlgorithm();
- public abstract android.service.autofill.FillEventHistory getFillEventHistory();
- public abstract android.service.autofill.UserData getUserData();
- public abstract java.lang.String getUserDataId();
- public abstract boolean isFieldClassificationEnabled();
- public abstract boolean isServiceEnabled(int, java.lang.String);
- public abstract boolean isServiceSupported(int);
- public abstract void onPendingSaveUi(int, android.os.IBinder);
- public abstract void removeClient(android.view.autofill.IAutoFillManagerClient, int);
- public abstract boolean restoreSession(int, android.os.IBinder, android.os.IBinder);
- public abstract void setAuthenticationResult(android.os.Bundle, int, int, int);
- public abstract void setAutofillFailure(int, java.util.List, int);
- public abstract void setHasCallback(int, int, boolean);
- public abstract void setUserData(android.service.autofill.UserData);
- public abstract int startSession(android.os.IBinder, android.os.IBinder, android.view.autofill.AutofillId, android.graphics.Rect, android.view.autofill.AutofillValue, int, boolean, int, android.content.ComponentName, boolean);
- public abstract int updateOrRestartSession(android.os.IBinder, android.os.IBinder, android.view.autofill.AutofillId, android.graphics.Rect, android.view.autofill.AutofillValue, int, boolean, int, android.content.ComponentName, int, int, boolean);
- public abstract void updateSession(int, android.view.autofill.AutofillId, android.graphics.Rect, android.view.autofill.AutofillValue, int, int, int);
-
-
-}
-
--keep class android.view.autofill.IAutoFillManagerClient {
-
- public abstract void authenticate(int, int, android.content.IntentSender, android.content.Intent);
- public abstract void autofill(int, java.util.List, java.util.List);
- public abstract void dispatchUnhandledKey(int, android.view.autofill.AutofillId, android.view.KeyEvent);
- public abstract void notifyNoFillUi(int, android.view.autofill.AutofillId, int);
- public abstract void requestHideFillUi(int, android.view.autofill.AutofillId);
- public abstract void requestShowFillUi(int, android.view.autofill.AutofillId, int, int, android.graphics.Rect, android.view.autofill.IAutofillWindowPresenter);
- public abstract void setSaveUiState(int, boolean);
- public abstract void setSessionFinished(int);
- public abstract void setState(int);
- public abstract void setTrackedViews(int, android.view.autofill.AutofillId[], boolean, boolean, android.view.autofill.AutofillId[], android.view.autofill.AutofillId);
- public abstract void startIntentSender(android.content.IntentSender, android.content.Intent);
-
-
-}
-
--keep class android.view.autofill.IAutofillWindowPresenter {
-
- public abstract void hide(android.graphics.Rect);
- public abstract void show(android.view.WindowManager$LayoutParams, android.graphics.Rect, boolean, int);
-
-
-}
-
--keep class android.view.inputmethod.CompletionInfo {
- <init>(long, int, java.lang.CharSequence);
- <init>(long, int, java.lang.CharSequence, java.lang.CharSequence);
-
- public int describeContents();
- public long getId();
- public java.lang.CharSequence getLabel();
- public int getPosition();
- public java.lang.CharSequence getText();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.view.inputmethod.CorrectionInfo {
- <init>(int, java.lang.CharSequence, java.lang.CharSequence);
-
- public int describeContents();
- public java.lang.CharSequence getNewText();
- public int getOffset();
- public java.lang.CharSequence getOldText();
- public java.lang.String toString();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.view.inputmethod.EditorInfo {
- <init>();
-
- public int describeContents();
- public void dump(android.util.Printer, java.lang.String);
- public void makeCompatible(int);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int IME_ACTION_DONE;
- public static int IME_ACTION_GO;
- public static int IME_ACTION_NEXT;
- public static int IME_ACTION_NONE;
- public static int IME_ACTION_PREVIOUS;
- public static int IME_ACTION_SEARCH;
- public static int IME_ACTION_SEND;
- public static int IME_ACTION_UNSPECIFIED;
- public static int IME_FLAG_FORCE_ASCII;
- public static int IME_FLAG_NAVIGATE_NEXT;
- public static int IME_FLAG_NAVIGATE_PREVIOUS;
- public static int IME_FLAG_NO_ACCESSORY_ACTION;
- public static int IME_FLAG_NO_ENTER_ACTION;
- public static int IME_FLAG_NO_EXTRACT_UI;
- public static int IME_FLAG_NO_FULLSCREEN;
- public static int IME_FLAG_NO_PERSONALIZED_LEARNING;
- public static int IME_MASK_ACTION;
- public static int IME_NULL;
- public int actionId;
- public java.lang.CharSequence actionLabel;
- public java.lang.String[] contentMimeTypes;
- public android.os.Bundle extras;
- public int fieldId;
- public java.lang.String fieldName;
- public android.os.LocaleList hintLocales;
- public java.lang.CharSequence hintText;
- public int imeOptions;
- public int initialCapsMode;
- public int initialSelEnd;
- public int initialSelStart;
- public int inputType;
- public java.lang.CharSequence label;
- public java.lang.String packageName;
- public java.lang.String privateImeOptions;
-}
-
--keep class android.view.inputmethod.ExtractedText {
- <init>();
-
- public int describeContents();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public static int FLAG_SELECTING;
- public static int FLAG_SINGLE_LINE;
- public int flags;
- public java.lang.CharSequence hint;
- public int partialEndOffset;
- public int partialStartOffset;
- public int selectionEnd;
- public int selectionStart;
- public int startOffset;
- public java.lang.CharSequence text;
-}
-
--keep class android.view.inputmethod.ExtractedTextRequest {
- <init>();
-
- public int describeContents();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public int flags;
- public int hintMaxChars;
- public int hintMaxLines;
- public int token;
-}
-
--keep class android.view.inputmethod.InputConnection {
-
- public abstract boolean beginBatchEdit();
- public abstract boolean clearMetaKeyStates(int);
- public abstract void closeConnection();
- public abstract boolean commitCompletion(android.view.inputmethod.CompletionInfo);
- public abstract boolean commitContent(android.view.inputmethod.InputContentInfo, int, android.os.Bundle);
- public abstract boolean commitCorrection(android.view.inputmethod.CorrectionInfo);
- public abstract boolean commitText(java.lang.CharSequence, int);
- public abstract boolean deleteSurroundingText(int, int);
- public abstract boolean deleteSurroundingTextInCodePoints(int, int);
- public abstract boolean endBatchEdit();
- public abstract boolean finishComposingText();
- public abstract int getCursorCapsMode(int);
- public abstract android.view.inputmethod.ExtractedText getExtractedText(android.view.inputmethod.ExtractedTextRequest, int);
- public abstract android.os.Handler getHandler();
- public abstract java.lang.CharSequence getSelectedText(int);
- public abstract java.lang.CharSequence getTextAfterCursor(int, int);
- public abstract java.lang.CharSequence getTextBeforeCursor(int, int);
- public abstract boolean performContextMenuAction(int);
- public abstract boolean performEditorAction(int);
- public abstract boolean performPrivateCommand(java.lang.String, android.os.Bundle);
- public abstract boolean reportFullscreenMode(boolean);
- public abstract boolean requestCursorUpdates(int);
- public abstract boolean sendKeyEvent(android.view.KeyEvent);
- public abstract boolean setComposingRegion(int, int);
- public abstract boolean setComposingText(java.lang.CharSequence, int);
- public abstract boolean setSelection(int, int);
-
-
- public static int CURSOR_UPDATE_IMMEDIATE;
- public static int CURSOR_UPDATE_MONITOR;
- public static int GET_EXTRACTED_TEXT_MONITOR;
- public static int GET_TEXT_WITH_STYLES;
- public static int INPUT_CONTENT_GRANT_READ_URI_PERMISSION;
-}
-
--keep class android.view.inputmethod.InputContentInfo {
- <init>(android.net.Uri, android.content.ClipDescription);
- <init>(android.net.Uri, android.content.ClipDescription, android.net.Uri);
-
- public int describeContents();
- public android.net.Uri getContentUri();
- public android.content.ClipDescription getDescription();
- public android.net.Uri getLinkUri();
- public void releasePermission();
- public void requestPermission();
- public boolean validate();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
-}
-
--keep class android.widget.ActionMenuPresenter {
- <init>(android.content.Context);
-
- public void bindItemView(com.android.internal.view.menu.MenuItemImpl, com.android.internal.view.menu.MenuView$ItemView);
- public boolean dismissPopupMenus();
- public boolean filterLeftoverView(android.view.ViewGroup, int);
- public boolean flagActionItems();
- public android.view.View getItemView(com.android.internal.view.menu.MenuItemImpl, android.view.View, android.view.ViewGroup);
- public com.android.internal.view.menu.MenuView getMenuView(android.view.ViewGroup);
- public android.graphics.drawable.Drawable getOverflowIcon();
- public boolean hideOverflowMenu();
- public boolean hideSubMenus();
- public void initForMenu(android.content.Context, com.android.internal.view.menu.MenuBuilder);
- public boolean isOverflowMenuShowPending();
- public boolean isOverflowMenuShowing();
- public boolean isOverflowReserved();
- public void onCloseMenu(com.android.internal.view.menu.MenuBuilder, boolean);
- public void onConfigurationChanged(android.content.res.Configuration);
- public void onRestoreInstanceState(android.os.Parcelable);
- public android.os.Parcelable onSaveInstanceState();
- public boolean onSubMenuSelected(com.android.internal.view.menu.SubMenuBuilder);
- public void onSubUiVisibilityChanged(boolean);
- public void setExpandedActionViewsExclusive(boolean);
- public void setItemLimit(int);
- public void setMenuView(android.widget.ActionMenuView);
- public void setOverflowIcon(android.graphics.drawable.Drawable);
- public void setReserveOverflow(boolean);
- public void setWidthLimit(int, boolean);
- public boolean shouldIncludeItem(int, com.android.internal.view.menu.MenuItemImpl);
- public boolean showOverflowMenu();
- public void updateMenuView(boolean);
-
-
-}
-
--keep class android.widget.ActionMenuView {
- <init>(android.content.Context);
- <init>(android.content.Context, android.util.AttributeSet);
-
- protected boolean checkLayoutParams(android.view.ViewGroup$LayoutParams);
- public void dismissPopupMenus();
- public boolean dispatchPopulateAccessibilityEventInternal(android.view.accessibility.AccessibilityEvent);
- protected android.widget.ActionMenuView$LayoutParams generateDefaultLayoutParams();
- protected android.widget.LinearLayout$LayoutParams generateDefaultLayoutParams();
- protected android.view.ViewGroup$LayoutParams generateDefaultLayoutParams();
- public android.widget.ActionMenuView$LayoutParams generateLayoutParams(android.util.AttributeSet);
- protected android.widget.ActionMenuView$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams);
- protected android.widget.LinearLayout$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams);
- public android.widget.LinearLayout$LayoutParams generateLayoutParams(android.util.AttributeSet);
- protected android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams);
- public android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet);
- public android.widget.ActionMenuView$LayoutParams generateOverflowButtonLayoutParams();
- public android.view.Menu getMenu();
- public android.graphics.drawable.Drawable getOverflowIcon();
- public int getPopupTheme();
- public int getWindowAnimations();
- protected boolean hasDividerBeforeChildAt(int);
- public boolean hideOverflowMenu();
- public void initialize(com.android.internal.view.menu.MenuBuilder);
- public boolean invokeItem(com.android.internal.view.menu.MenuItemImpl);
- public boolean isOverflowMenuShowPending();
- public boolean isOverflowMenuShowing();
- public boolean isOverflowReserved();
- public void onConfigurationChanged(android.content.res.Configuration);
- public void onDetachedFromWindow();
- protected void onLayout(boolean, int, int, int, int);
- protected void onMeasure(int, int);
- public com.android.internal.view.menu.MenuBuilder peekMenu();
- public void setExpandedActionViewsExclusive(boolean);
- public void setMenuCallbacks(com.android.internal.view.menu.MenuPresenter$Callback, com.android.internal.view.menu.MenuBuilder$Callback);
- public void setOnMenuItemClickListener(android.widget.ActionMenuView$OnMenuItemClickListener);
- public void setOverflowIcon(android.graphics.drawable.Drawable);
- public void setOverflowReserved(boolean);
- public void setPopupTheme(int);
- public void setPresenter(android.widget.ActionMenuPresenter);
- public boolean showOverflowMenu();
-
-
-}
-
--keep class android.widget.ActionMenuView$LayoutParams {
- <init>(android.content.Context, android.util.AttributeSet);
- <init>(android.view.ViewGroup$LayoutParams);
- <init>(android.widget.ActionMenuView$LayoutParams);
- <init>(int, int);
- <init>(int, int, boolean);
-
- protected void encodeProperties(android.view.ViewHierarchyEncoder);
-
-
- public int cellsUsed;
- public boolean expandable;
- public boolean expanded;
- public int extraPixels;
- public boolean isOverflowButton;
- public boolean preventEdgeOffset;
-}
-
--keep class android.widget.ActionMenuView$OnMenuItemClickListener {
-
- public abstract boolean onMenuItemClick(android.view.MenuItem);
-
-
-}
-
--keep class android.widget.Adapter {
-
- public java.lang.CharSequence[] getAutofillOptions();
- public abstract int getCount();
- public abstract java.lang.Object getItem(int);
- public abstract long getItemId(int);
- public abstract int getItemViewType(int);
- public abstract android.view.View getView(int, android.view.View, android.view.ViewGroup);
- public abstract int getViewTypeCount();
- public abstract boolean hasStableIds();
- public abstract boolean isEmpty();
- public abstract void registerDataSetObserver(android.database.DataSetObserver);
- public abstract void unregisterDataSetObserver(android.database.DataSetObserver);
-
-
- public static int IGNORE_ITEM_VIEW_TYPE;
- public static int NO_SELECTION;
-}
-
--keep class android.widget.AdapterView {
- <init>(android.content.Context);
- <init>(android.content.Context, android.util.AttributeSet);
- <init>(android.content.Context, android.util.AttributeSet, int);
- <init>(android.content.Context, android.util.AttributeSet, int, int);
-
- public void addView(android.view.View);
- public void addView(android.view.View, int);
- public void addView(android.view.View, android.view.ViewGroup$LayoutParams);
- public void addView(android.view.View, int, android.view.ViewGroup$LayoutParams);
- protected boolean canAnimate();
- public boolean dispatchPopulateAccessibilityEventInternal(android.view.accessibility.AccessibilityEvent);
- protected void dispatchRestoreInstanceState(android.util.SparseArray);
- protected void dispatchSaveInstanceState(android.util.SparseArray);
- protected void encodeProperties(android.view.ViewHierarchyEncoder);
- public java.lang.CharSequence getAccessibilityClassName();
- public abstract android.widget.Adapter getAdapter();
- public int getCount();
- public android.view.View getEmptyView();
- public int getFirstVisiblePosition();
- public java.lang.Object getItemAtPosition(int);
- public long getItemIdAtPosition(int);
- public int getLastVisiblePosition();
- public android.widget.AdapterView$OnItemClickListener getOnItemClickListener();
- public android.widget.AdapterView$OnItemLongClickListener getOnItemLongClickListener();
- public android.widget.AdapterView$OnItemSelectedListener getOnItemSelectedListener();
- public int getPositionForView(android.view.View);
- public java.lang.Object getSelectedItem();
- public long getSelectedItemId();
- public int getSelectedItemPosition();
- public abstract android.view.View getSelectedView();
- protected void onDetachedFromWindow();
- public void onInitializeAccessibilityEventInternal(android.view.accessibility.AccessibilityEvent);
- public void onInitializeAccessibilityNodeInfoInternal(android.view.accessibility.AccessibilityNodeInfo);
- protected void onLayout(boolean, int, int, int, int);
- public void onProvideAutofillStructure(android.view.ViewStructure, int);
- public boolean onRequestSendAccessibilityEventInternal(android.view.View, android.view.accessibility.AccessibilityEvent);
- public boolean performItemClick(android.view.View, int, long);
- public void removeAllViews();
- public void removeView(android.view.View);
- public void removeViewAt(int);
- public abstract void setAdapter(android.widget.Adapter);
- public void setEmptyView(android.view.View);
- public void setFocusable(int);
- public void setFocusableInTouchMode(boolean);
- public void setOnClickListener(android.view.View$OnClickListener);
- public void setOnItemClickListener(android.widget.AdapterView$OnItemClickListener);
- public void setOnItemLongClickListener(android.widget.AdapterView$OnItemLongClickListener);
- public void setOnItemSelectedListener(android.widget.AdapterView$OnItemSelectedListener);
- public abstract void setSelection(int);
-
-
- public static int INVALID_POSITION;
- public static long INVALID_ROW_ID;
- public static int ITEM_VIEW_TYPE_HEADER_OR_FOOTER;
- public static int ITEM_VIEW_TYPE_IGNORE;
-}
-
--keep class android.widget.AdapterView$OnItemClickListener {
-
- public abstract void onItemClick(android.widget.AdapterView, android.view.View, int, long);
-
-
-}
-
--keep class android.widget.AdapterView$OnItemLongClickListener {
-
- public abstract boolean onItemLongClick(android.widget.AdapterView, android.view.View, int, long);
-
-
-}
-
--keep class android.widget.AdapterView$OnItemSelectedListener {
-
- public abstract void onItemSelected(android.widget.AdapterView, android.view.View, int, long);
- public abstract void onNothingSelected(android.widget.AdapterView);
-
-
-}
-
--keep class android.widget.FrameLayout {
- <init>(android.content.Context);
- <init>(android.content.Context, android.util.AttributeSet);
- <init>(android.content.Context, android.util.AttributeSet, int);
- <init>(android.content.Context, android.util.AttributeSet, int, int);
-
- protected boolean checkLayoutParams(android.view.ViewGroup$LayoutParams);
- protected void encodeProperties(android.view.ViewHierarchyEncoder);
- protected android.widget.FrameLayout$LayoutParams generateDefaultLayoutParams();
- protected android.view.ViewGroup$LayoutParams generateDefaultLayoutParams();
- public android.widget.FrameLayout$LayoutParams generateLayoutParams(android.util.AttributeSet);
- protected android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams);
- public android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet);
- public java.lang.CharSequence getAccessibilityClassName();
- public boolean getConsiderGoneChildrenWhenMeasuring();
- public boolean getMeasureAllChildren();
- protected void onLayout(boolean, int, int, int, int);
- protected void onMeasure(int, int);
- public void setForegroundGravity(int);
- public void setMeasureAllChildren(boolean);
- public boolean shouldDelayChildPressedState();
-
-
-}
-
--keep class android.widget.FrameLayout$LayoutParams {
- <init>(android.content.Context, android.util.AttributeSet);
- <init>(int, int);
- <init>(int, int, int);
- <init>(android.view.ViewGroup$LayoutParams);
- <init>(android.view.ViewGroup$MarginLayoutParams);
- <init>(android.widget.FrameLayout$LayoutParams);
-
-
-
- public static int UNSPECIFIED_GRAVITY;
- public int gravity;
-}
-
--keep class android.widget.HorizontalScrollView {
- <init>(android.content.Context);
- <init>(android.content.Context, android.util.AttributeSet);
- <init>(android.content.Context, android.util.AttributeSet, int);
- <init>(android.content.Context, android.util.AttributeSet, int, int);
-
- public void addView(android.view.View);
- public void addView(android.view.View, int);
- public void addView(android.view.View, android.view.ViewGroup$LayoutParams);
- public void addView(android.view.View, int, android.view.ViewGroup$LayoutParams);
- public boolean arrowScroll(int);
- protected int computeHorizontalScrollOffset();
- protected int computeHorizontalScrollRange();
- public void computeScroll();
- protected int computeScrollDeltaToGetChildRectOnScreen(android.graphics.Rect);
- public boolean dispatchKeyEvent(android.view.KeyEvent);
- public void draw(android.graphics.Canvas);
- protected void encodeProperties(android.view.ViewHierarchyEncoder);
- public boolean executeKeyEvent(android.view.KeyEvent);
- public void fling(int);
- public boolean fullScroll(int);
- public java.lang.CharSequence getAccessibilityClassName();
- protected float getLeftFadingEdgeStrength();
- public int getMaxScrollAmount();
- protected float getRightFadingEdgeStrength();
- public boolean isFillViewport();
- public boolean isSmoothScrollingEnabled();
- protected void measureChild(android.view.View, int, int);
- protected void measureChildWithMargins(android.view.View, int, int, int, int);
- public boolean onGenericMotionEvent(android.view.MotionEvent);
- public void onInitializeAccessibilityEventInternal(android.view.accessibility.AccessibilityEvent);
- public void onInitializeAccessibilityNodeInfoInternal(android.view.accessibility.AccessibilityNodeInfo);
- public boolean onInterceptTouchEvent(android.view.MotionEvent);
- protected void onLayout(boolean, int, int, int, int);
- protected void onMeasure(int, int);
- protected void onOverScrolled(int, int, boolean, boolean);
- protected boolean onRequestFocusInDescendants(int, android.graphics.Rect);
- protected void onRestoreInstanceState(android.os.Parcelable);
- protected android.os.Parcelable onSaveInstanceState();
- protected void onSizeChanged(int, int, int, int);
- public boolean onTouchEvent(android.view.MotionEvent);
- public boolean pageScroll(int);
- public boolean performAccessibilityActionInternal(int, android.os.Bundle);
- public void requestChildFocus(android.view.View, android.view.View);
- public boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
- public void requestDisallowInterceptTouchEvent(boolean);
- public void requestLayout();
- public void scrollTo(int, int);
- public void setFillViewport(boolean);
- public void setOverScrollMode(int);
- public void setSmoothScrollingEnabled(boolean);
- public boolean shouldDelayChildPressedState();
- public void smoothScrollBy(int, int);
- public void smoothScrollTo(int, int);
-
-
-}
-
--keep class android.widget.LinearLayout {
- <init>(android.content.Context);
- <init>(android.content.Context, android.util.AttributeSet);
- <init>(android.content.Context, android.util.AttributeSet, int);
- <init>(android.content.Context, android.util.AttributeSet, int, int);
-
- protected boolean checkLayoutParams(android.view.ViewGroup$LayoutParams);
- protected void encodeProperties(android.view.ViewHierarchyEncoder);
- protected android.widget.LinearLayout$LayoutParams generateDefaultLayoutParams();
- protected android.view.ViewGroup$LayoutParams generateDefaultLayoutParams();
- public android.widget.LinearLayout$LayoutParams generateLayoutParams(android.util.AttributeSet);
- protected android.widget.LinearLayout$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams);
- protected android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams);
- public android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet);
- public java.lang.CharSequence getAccessibilityClassName();
- public int getBaseline();
- public int getBaselineAlignedChildIndex();
- public android.graphics.drawable.Drawable getDividerDrawable();
- public int getDividerPadding();
- public int getDividerWidth();
- public int getGravity();
- public int getOrientation();
- public int getShowDividers();
- public float getWeightSum();
- protected boolean hasDividerBeforeChildAt(int);
- public boolean isBaselineAligned();
- public boolean isMeasureWithLargestChildEnabled();
- protected void onDraw(android.graphics.Canvas);
- protected void onLayout(boolean, int, int, int, int);
- protected void onMeasure(int, int);
- public void onRtlPropertiesChanged(int);
- public void setBaselineAligned(boolean);
- public void setBaselineAlignedChildIndex(int);
- public void setDividerDrawable(android.graphics.drawable.Drawable);
- public void setDividerPadding(int);
- public void setGravity(int);
- public void setHorizontalGravity(int);
- public void setMeasureWithLargestChildEnabled(boolean);
- public void setOrientation(int);
- public void setShowDividers(int);
- public void setVerticalGravity(int);
- public void setWeightSum(float);
- public boolean shouldDelayChildPressedState();
-
-
- public static int HORIZONTAL;
- public static int SHOW_DIVIDER_BEGINNING;
- public static int SHOW_DIVIDER_END;
- public static int SHOW_DIVIDER_MIDDLE;
- public static int SHOW_DIVIDER_NONE;
- public static int VERTICAL;
-}
-
--keep class android.widget.LinearLayout$LayoutParams {
- <init>(android.content.Context, android.util.AttributeSet);
- <init>(int, int);
- <init>(int, int, float);
- <init>(android.view.ViewGroup$LayoutParams);
- <init>(android.view.ViewGroup$MarginLayoutParams);
- <init>(android.widget.LinearLayout$LayoutParams);
-
- public java.lang.String debug(java.lang.String);
- protected void encodeProperties(android.view.ViewHierarchyEncoder);
-
-
- public int gravity;
- public float weight;
-}
-
--keep class android.widget.RemoteViews {
- <init>(java.lang.String, int);
- <init>(java.lang.String, int, int);
- <init>(android.content.pm.ApplicationInfo, int);
- <init>(android.widget.RemoteViews, android.widget.RemoteViews);
- <init>(android.widget.RemoteViews);
- <init>(android.os.Parcel);
-
- public void addView(int, android.widget.RemoteViews);
- public void addView(int, android.widget.RemoteViews, int);
- public android.view.View apply(android.content.Context, android.view.ViewGroup);
- public android.view.View apply(android.content.Context, android.view.ViewGroup, android.widget.RemoteViews$OnClickHandler);
- public android.os.CancellationSignal applyAsync(android.content.Context, android.view.ViewGroup, java.util.concurrent.Executor, android.widget.RemoteViews$OnViewAppliedListener);
- public android.os.CancellationSignal applyAsync(android.content.Context, android.view.ViewGroup, java.util.concurrent.Executor, android.widget.RemoteViews$OnViewAppliedListener, android.widget.RemoteViews$OnClickHandler);
- public android.widget.RemoteViews clone();
- public java.lang.Object clone();
- public int describeContents();
- public int estimateMemoryUsage();
- public int getLayoutId();
- public java.lang.String getPackage();
- public int getSequenceNumber();
- public boolean hasSameAppInfo(android.content.pm.ApplicationInfo);
- public boolean isReapplyDisallowed();
- public void mergeRemoteViews(android.widget.RemoteViews);
- public boolean onLoadClass(java.lang.Class);
- public void overrideTextColors(int);
- public boolean prefersAsyncApply();
- public void reapply(android.content.Context, android.view.View);
- public void reapply(android.content.Context, android.view.View, android.widget.RemoteViews$OnClickHandler);
- public android.os.CancellationSignal reapplyAsync(android.content.Context, android.view.View, java.util.concurrent.Executor, android.widget.RemoteViews$OnViewAppliedListener);
- public android.os.CancellationSignal reapplyAsync(android.content.Context, android.view.View, java.util.concurrent.Executor, android.widget.RemoteViews$OnViewAppliedListener, android.widget.RemoteViews$OnClickHandler);
- public void reduceImageSizes(int, int);
- public void removeAllViews(int);
- public void removeAllViewsExceptId(int, int);
- public void setAccessibilityTraversalAfter(int, int);
- public void setAccessibilityTraversalBefore(int, int);
- public void setApplyTheme(int);
- public void setBitmap(int, java.lang.String, android.graphics.Bitmap);
- public void setBoolean(int, java.lang.String, boolean);
- public void setBundle(int, java.lang.String, android.os.Bundle);
- public void setByte(int, java.lang.String, byte);
- public void setChar(int, java.lang.String, char);
- public void setCharSequence(int, java.lang.String, java.lang.CharSequence);
- public void setChronometer(int, long, java.lang.String, boolean);
- public void setChronometerCountDown(int, boolean);
- public void setColorStateList(int, java.lang.String, android.content.res.ColorStateList);
- public void setContentDescription(int, java.lang.CharSequence);
- public void setDisplayedChild(int, int);
- public void setDouble(int, java.lang.String, double);
- public void setDrawableTint(int, boolean, int, android.graphics.PorterDuff$Mode);
- public void setEmptyView(int, int);
- public void setFloat(int, java.lang.String, float);
- public void setIcon(int, java.lang.String, android.graphics.drawable.Icon);
- public void setImageViewBitmap(int, android.graphics.Bitmap);
- public void setImageViewIcon(int, android.graphics.drawable.Icon);
- public void setImageViewResource(int, int);
- public void setImageViewUri(int, android.net.Uri);
- public void setInt(int, java.lang.String, int);
- public void setIntent(int, java.lang.String, android.content.Intent);
- public void setLabelFor(int, int);
- public void setLong(int, java.lang.String, long);
- public void setOnClickFillInIntent(int, android.content.Intent);
- public void setOnClickPendingIntent(int, android.app.PendingIntent);
- public void setPendingIntentTemplate(int, android.app.PendingIntent);
- public void setProgressBackgroundTintList(int, android.content.res.ColorStateList);
- public void setProgressBar(int, int, int, boolean);
- public void setProgressIndeterminateTintList(int, android.content.res.ColorStateList);
- public void setProgressTintList(int, android.content.res.ColorStateList);
- public void setReapplyDisallowed();
- public void setRelativeScrollPosition(int, int);
- public void setRemoteAdapter(int, int, android.content.Intent);
- public void setRemoteAdapter(int, android.content.Intent);
- public void setRemoteAdapter(int, java.util.ArrayList, int);
- public void setRemoteInputs(int, android.app.RemoteInput[]);
- public void setScrollPosition(int, int);
- public void setShort(int, java.lang.String, short);
- public void setString(int, java.lang.String, java.lang.String);
- public void setTextColor(int, int);
- public void setTextColor(int, android.content.res.ColorStateList);
- public void setTextViewCompoundDrawables(int, int, int, int, int);
- public void setTextViewCompoundDrawables(int, android.graphics.drawable.Icon, android.graphics.drawable.Icon, android.graphics.drawable.Icon, android.graphics.drawable.Icon);
- public void setTextViewCompoundDrawablesRelative(int, int, int, int, int);
- public void setTextViewCompoundDrawablesRelative(int, android.graphics.drawable.Icon, android.graphics.drawable.Icon, android.graphics.drawable.Icon, android.graphics.drawable.Icon);
- public void setTextViewText(int, java.lang.CharSequence);
- public void setTextViewTextSize(int, int, float);
- public void setUri(int, java.lang.String, android.net.Uri);
- public void setViewLayoutMarginBottomDimen(int, int);
- public void setViewLayoutMarginEnd(int, int);
- public void setViewLayoutMarginEndDimen(int, int);
- public void setViewLayoutWidth(int, int);
- public void setViewPadding(int, int, int, int, int);
- public void setViewVisibility(int, int);
- public void showNext(int);
- public void showPrevious(int);
- public void visitUris(java.util.function.Consumer);
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public android.content.pm.ApplicationInfo mApplication;
-}
-
--keep class android.widget.RemoteViews$OnClickHandler {
- <init>();
-
- public boolean onClickHandler(android.view.View, android.app.PendingIntent, android.content.Intent);
- public boolean onClickHandler(android.view.View, android.app.PendingIntent, android.content.Intent, int);
- public void setEnterAnimationId(int);
-
-
-}
-
--keep class android.widget.RemoteViews$OnViewAppliedListener {
-
- public abstract void onError(java.lang.Exception);
- public abstract void onViewApplied(android.view.View);
-
-
-}
-
--keep class android.widget.SpinnerAdapter {
-
- public abstract android.view.View getDropDownView(int, android.view.View, android.view.ViewGroup);
-
-
-}
-
--keep class android.widget.Toolbar {
- <init>(android.content.Context);
- <init>(android.content.Context, android.util.AttributeSet);
- <init>(android.content.Context, android.util.AttributeSet, int);
- <init>(android.content.Context, android.util.AttributeSet, int, int);
-
- public boolean canShowOverflowMenu();
- protected boolean checkLayoutParams(android.view.ViewGroup$LayoutParams);
- public void collapseActionView();
- public void dismissPopupMenus();
- protected android.widget.Toolbar$LayoutParams generateDefaultLayoutParams();
- protected android.view.ViewGroup$LayoutParams generateDefaultLayoutParams();
- public android.widget.Toolbar$LayoutParams generateLayoutParams(android.util.AttributeSet);
- protected android.widget.Toolbar$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams);
- protected android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams);
- public android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet);
- public int getContentInsetEnd();
- public int getContentInsetEndWithActions();
- public int getContentInsetLeft();
- public int getContentInsetRight();
- public int getContentInsetStart();
- public int getContentInsetStartWithNavigation();
- public int getCurrentContentInsetEnd();
- public int getCurrentContentInsetLeft();
- public int getCurrentContentInsetRight();
- public int getCurrentContentInsetStart();
- public android.graphics.drawable.Drawable getLogo();
- public java.lang.CharSequence getLogoDescription();
- public android.view.Menu getMenu();
- public java.lang.CharSequence getNavigationContentDescription();
- public android.graphics.drawable.Drawable getNavigationIcon();
- public android.view.View getNavigationView();
- public android.graphics.drawable.Drawable getOverflowIcon();
- public int getPopupTheme();
- public java.lang.CharSequence getSubtitle();
- public java.lang.CharSequence getTitle();
- public int getTitleMarginBottom();
- public int getTitleMarginEnd();
- public int getTitleMarginStart();
- public int getTitleMarginTop();
- public com.android.internal.widget.DecorToolbar getWrapper();
- public boolean hasExpandedActionView();
- public boolean hideOverflowMenu();
- public void inflateMenu(int);
- public boolean isOverflowMenuShowPending();
- public boolean isOverflowMenuShowing();
- public boolean isTitleTruncated();
- protected void onAttachedToWindow();
- protected void onDetachedFromWindow();
- protected void onLayout(boolean, int, int, int, int);
- protected void onMeasure(int, int);
- protected void onRestoreInstanceState(android.os.Parcelable);
- public void onRtlPropertiesChanged(int);
- protected android.os.Parcelable onSaveInstanceState();
- protected void onSetLayoutParams(android.view.View, android.view.ViewGroup$LayoutParams);
- public boolean onTouchEvent(android.view.MotionEvent);
- public void setCollapsible(boolean);
- public void setContentInsetEndWithActions(int);
- public void setContentInsetStartWithNavigation(int);
- public void setContentInsetsAbsolute(int, int);
- public void setContentInsetsRelative(int, int);
- public void setLogo(int);
- public void setLogo(android.graphics.drawable.Drawable);
- public void setLogoDescription(int);
- public void setLogoDescription(java.lang.CharSequence);
- public void setMenu(com.android.internal.view.menu.MenuBuilder, android.widget.ActionMenuPresenter);
- public void setMenuCallbacks(com.android.internal.view.menu.MenuPresenter$Callback, com.android.internal.view.menu.MenuBuilder$Callback);
- public void setNavigationContentDescription(int);
- public void setNavigationContentDescription(java.lang.CharSequence);
- public void setNavigationIcon(int);
- public void setNavigationIcon(android.graphics.drawable.Drawable);
- public void setNavigationOnClickListener(android.view.View$OnClickListener);
- public void setOnMenuItemClickListener(android.widget.Toolbar$OnMenuItemClickListener);
- public void setOverflowIcon(android.graphics.drawable.Drawable);
- public void setPopupTheme(int);
- public void setSubtitle(int);
- public void setSubtitle(java.lang.CharSequence);
- public void setSubtitleTextAppearance(android.content.Context, int);
- public void setSubtitleTextColor(int);
- public void setTitle(int);
- public void setTitle(java.lang.CharSequence);
- public void setTitleMargin(int, int, int, int);
- public void setTitleMarginBottom(int);
- public void setTitleMarginEnd(int);
- public void setTitleMarginStart(int);
- public void setTitleMarginTop(int);
- public void setTitleTextAppearance(android.content.Context, int);
- public void setTitleTextColor(int);
- public boolean showOverflowMenu();
-
-
-}
-
--keep class android.widget.Toolbar$LayoutParams {
- <init>(android.content.Context, android.util.AttributeSet);
- <init>(int, int);
- <init>(int, int, int);
- <init>(int);
- <init>(android.widget.Toolbar$LayoutParams);
- <init>(android.app.ActionBar$LayoutParams);
- <init>(android.view.ViewGroup$MarginLayoutParams);
- <init>(android.view.ViewGroup$LayoutParams);
-
-
-
-}
-
--keep class android.widget.Toolbar$OnMenuItemClickListener {
-
- public abstract boolean onMenuItemClick(android.view.MenuItem);
-
-
-}
-
--keep class com.android.internal.app.IAppOpsActiveCallback {
-
- public abstract void opActiveChanged(int, int, java.lang.String, boolean);
-
-
-}
-
--keep class com.android.internal.app.IAppOpsCallback {
-
- public abstract void opChanged(int, int, java.lang.String);
-
-
-}
-
--keep class com.android.internal.app.IAppOpsService {
-
- public abstract int checkAudioOperation(int, int, int, java.lang.String);
- public abstract int checkOperation(int, int, java.lang.String);
- public abstract int checkPackage(int, java.lang.String);
- public abstract void finishOperation(android.os.IBinder, int, int, java.lang.String);
- public abstract java.util.List getOpsForPackage(int, java.lang.String, int[]);
- public abstract java.util.List getPackagesForOps(int[]);
- public abstract android.os.IBinder getToken(android.os.IBinder);
- public abstract java.util.List getUidOps(int, int[]);
- public abstract boolean isOperationActive(int, int, java.lang.String);
- public abstract int noteOperation(int, int, java.lang.String);
- public abstract int noteProxyOperation(int, java.lang.String, int, java.lang.String);
- public abstract int permissionToOpCode(java.lang.String);
- public abstract void removeUser(int);
- public abstract void resetAllModes(int, java.lang.String);
- public abstract void setAudioRestriction(int, int, int, int, java.lang.String[]);
- public abstract void setMode(int, int, java.lang.String, int);
- public abstract void setUidMode(int, int, int);
- public abstract void setUserRestriction(int, boolean, android.os.IBinder, int, java.lang.String[]);
- public abstract void setUserRestrictions(android.os.Bundle, android.os.IBinder, int);
- public abstract int startOperation(android.os.IBinder, int, int, java.lang.String, boolean);
- public abstract void startWatchingActive(int[], com.android.internal.app.IAppOpsActiveCallback);
- public abstract void startWatchingMode(int, java.lang.String, com.android.internal.app.IAppOpsCallback);
- public abstract void startWatchingModeWithFlags(int, java.lang.String, int, com.android.internal.app.IAppOpsCallback);
- public abstract void stopWatchingActive(com.android.internal.app.IAppOpsActiveCallback);
- public abstract void stopWatchingMode(com.android.internal.app.IAppOpsCallback);
-
-
-}
-
--keep class com.android.internal.app.IVoiceInteractionSessionShowCallback {
-
- public abstract void onFailed();
- public abstract void onShown();
-
-
-}
-
--keep class com.android.internal.app.IVoiceInteractor {
-
- public abstract com.android.internal.app.IVoiceInteractorRequest startAbortVoice(java.lang.String, com.android.internal.app.IVoiceInteractorCallback, android.app.VoiceInteractor$Prompt, android.os.Bundle);
- public abstract com.android.internal.app.IVoiceInteractorRequest startCommand(java.lang.String, com.android.internal.app.IVoiceInteractorCallback, java.lang.String, android.os.Bundle);
- public abstract com.android.internal.app.IVoiceInteractorRequest startCompleteVoice(java.lang.String, com.android.internal.app.IVoiceInteractorCallback, android.app.VoiceInteractor$Prompt, android.os.Bundle);
- public abstract com.android.internal.app.IVoiceInteractorRequest startConfirmation(java.lang.String, com.android.internal.app.IVoiceInteractorCallback, android.app.VoiceInteractor$Prompt, android.os.Bundle);
- public abstract com.android.internal.app.IVoiceInteractorRequest startPickOption(java.lang.String, com.android.internal.app.IVoiceInteractorCallback, android.app.VoiceInteractor$Prompt, android.app.VoiceInteractor$PickOptionRequest$Option[], android.os.Bundle);
- public abstract boolean[] supportsCommands(java.lang.String, java.lang.String[]);
-
-
-}
-
--keep class com.android.internal.app.IVoiceInteractorCallback {
-
- public abstract void deliverAbortVoiceResult(com.android.internal.app.IVoiceInteractorRequest, android.os.Bundle);
- public abstract void deliverCancel(com.android.internal.app.IVoiceInteractorRequest);
- public abstract void deliverCommandResult(com.android.internal.app.IVoiceInteractorRequest, boolean, android.os.Bundle);
- public abstract void deliverCompleteVoiceResult(com.android.internal.app.IVoiceInteractorRequest, android.os.Bundle);
- public abstract void deliverConfirmationResult(com.android.internal.app.IVoiceInteractorRequest, boolean, android.os.Bundle);
- public abstract void deliverPickOptionResult(com.android.internal.app.IVoiceInteractorRequest, boolean, android.app.VoiceInteractor$PickOptionRequest$Option[], android.os.Bundle);
-
-
-}
-
--keep class com.android.internal.app.IVoiceInteractorRequest {
-
- public abstract void cancel();
-
-
-}
-
--keep class com.android.internal.content.ReferrerIntent {
- <init>(android.content.Intent, java.lang.String);
-
- public boolean equals(java.lang.Object);
- public int hashCode();
- public void writeToParcel(android.os.Parcel, int);
-
-
- public static android.os.Parcelable$Creator CREATOR;
- public java.lang.String mReferrer;
-}
-
--keep class com.android.internal.os.IResultReceiver {
-
- public abstract void send(int, android.os.Bundle);
-
-
-}
-
--keep class com.android.internal.policy.IKeyguardDismissCallback {
-
- public abstract void onDismissCancelled();
- public abstract void onDismissError();
- public abstract void onDismissSucceeded();
-
-
-}
-
--keep class com.android.internal.util.FunctionalUtils {
-
- public static java.lang.Runnable handleExceptions(com.android.internal.util.FunctionalUtils$ThrowingRunnable, java.util.function.Consumer);
- public static java.util.function.Consumer ignoreRemoteException(com.android.internal.util.FunctionalUtils$RemoteExceptionIgnoringConsumer);
- public static java.util.function.Consumer uncheckExceptions(com.android.internal.util.FunctionalUtils$ThrowingConsumer);
-
-
-}
-
--keep class com.android.internal.util.FunctionalUtils$RemoteExceptionIgnoringConsumer {
-
- public void accept(java.lang.Object);
- public abstract void acceptOrThrow(java.lang.Object);
-
-
-}
-
--keep class com.android.internal.util.FunctionalUtils$ThrowingConsumer {
-
- public void accept(java.lang.Object);
- public abstract void acceptOrThrow(java.lang.Object);
-
-
-}
-
--keep class com.android.internal.util.FunctionalUtils$ThrowingRunnable {
-
- public void run();
- public abstract void runOrThrow();
-
-
-}
-
--keep class com.android.internal.util.FunctionalUtils$ThrowingSupplier {
-
- public abstract java.lang.Object getOrThrow();
-
-
-}
-
--keep class com.android.internal.util.IndentingPrintWriter {
- <init>(java.io.Writer, java.lang.String);
- <init>(java.io.Writer, java.lang.String, int);
-
- public com.android.internal.util.IndentingPrintWriter decreaseIndent();
- public com.android.internal.util.IndentingPrintWriter increaseIndent();
- public com.android.internal.util.IndentingPrintWriter printHexPair(java.lang.String, int);
- public com.android.internal.util.IndentingPrintWriter printPair(java.lang.String, java.lang.Object);
- public com.android.internal.util.IndentingPrintWriter printPair(java.lang.String, java.lang.Object[]);
- public void println();
- public com.android.internal.util.IndentingPrintWriter setIndent(java.lang.String);
- public com.android.internal.util.IndentingPrintWriter setIndent(int);
- public void write(int);
- public void write(java.lang.String, int, int);
- public void write(char[], int, int);
-
-
-}
-
--keep class com.android.internal.view.IDragAndDropPermissions {
-
- public abstract void release();
- public abstract void take(android.os.IBinder);
- public abstract void takeTransient(android.os.IBinder);
-
-
-}
-
--keep class com.android.internal.view.menu.BaseMenuPresenter {
- <init>(android.content.Context, int, int);
-
- protected void addItemView(android.view.View, int);
- public abstract void bindItemView(com.android.internal.view.menu.MenuItemImpl, com.android.internal.view.menu.MenuView$ItemView);
- public boolean collapseItemActionView(com.android.internal.view.menu.MenuBuilder, com.android.internal.view.menu.MenuItemImpl);
- public com.android.internal.view.menu.MenuView$ItemView createItemView(android.view.ViewGroup);
- public boolean expandItemActionView(com.android.internal.view.menu.MenuBuilder, com.android.internal.view.menu.MenuItemImpl);
- protected boolean filterLeftoverView(android.view.ViewGroup, int);
- public boolean flagActionItems();
- public com.android.internal.view.menu.MenuPresenter$Callback getCallback();
- public int getId();
- public android.view.View getItemView(com.android.internal.view.menu.MenuItemImpl, android.view.View, android.view.ViewGroup);
- public com.android.internal.view.menu.MenuView getMenuView(android.view.ViewGroup);
- public void initForMenu(android.content.Context, com.android.internal.view.menu.MenuBuilder);
- public void onCloseMenu(com.android.internal.view.menu.MenuBuilder, boolean);
- public boolean onSubMenuSelected(com.android.internal.view.menu.SubMenuBuilder);
- public void setCallback(com.android.internal.view.menu.MenuPresenter$Callback);
- public void setId(int);
- public boolean shouldIncludeItem(int, com.android.internal.view.menu.MenuItemImpl);
- public void updateMenuView(boolean);
-
-
- protected android.content.Context mContext;
- protected android.view.LayoutInflater mInflater;
- protected com.android.internal.view.menu.MenuBuilder mMenu;
- protected com.android.internal.view.menu.MenuView mMenuView;
- protected android.content.Context mSystemContext;
- protected android.view.LayoutInflater mSystemInflater;
-}
-
--keep class com.android.internal.view.menu.MenuBuilder {
- <init>(android.content.Context);
-
- public android.view.MenuItem add(java.lang.CharSequence);
- public android.view.MenuItem add(int);
- public android.view.MenuItem add(int, int, int, java.lang.CharSequence);
- public android.view.MenuItem add(int, int, int, int);
- public int addIntentOptions(int, int, int, android.content.ComponentName, android.content.Intent[], android.content.Intent, int, android.view.MenuItem[]);
- public void addMenuPresenter(com.android.internal.view.menu.MenuPresenter);
- public void addMenuPresenter(com.android.internal.view.menu.MenuPresenter, android.content.Context);
- public android.view.SubMenu addSubMenu(java.lang.CharSequence);
- public android.view.SubMenu addSubMenu(int);
- public android.view.SubMenu addSubMenu(int, int, int, java.lang.CharSequence);
- public android.view.SubMenu addSubMenu(int, int, int, int);
- public void changeMenuMode();
- public void clear();
- public void clearAll();
- public void clearHeader();
- public void close(boolean);
- public void close();
- public boolean collapseItemActionView(com.android.internal.view.menu.MenuItemImpl);
- public boolean expandItemActionView(com.android.internal.view.menu.MenuItemImpl);
- public int findGroupIndex(int);
- public int findGroupIndex(int, int);
- public android.view.MenuItem findItem(int);
- public int findItemIndex(int);
- public void flagActionItems();
- public java.util.ArrayList getActionItems();
- protected java.lang.String getActionViewStatesKey();
- public android.content.Context getContext();
- public com.android.internal.view.menu.MenuItemImpl getExpandedItem();
- public android.graphics.drawable.Drawable getHeaderIcon();
- public java.lang.CharSequence getHeaderTitle();
- public android.view.View getHeaderView();
- public android.view.MenuItem getItem(int);
- public java.util.ArrayList getNonActionItems();
- public com.android.internal.view.menu.MenuBuilder getRootMenu();
- public java.util.ArrayList getVisibleItems();
- public boolean hasVisibleItems();
- public boolean isGroupDividerEnabled();
- public boolean isShortcutKey(int, android.view.KeyEvent);
- public boolean isShortcutsVisible();
- public void onItemsChanged(boolean);
- public boolean performIdentifierAction(int, int);
- public boolean performItemAction(android.view.MenuItem, int);
- public boolean performItemAction(android.view.MenuItem, com.android.internal.view.menu.MenuPresenter, int);
- public boolean performShortcut(int, android.view.KeyEvent, int);
- public void removeGroup(int);
- public void removeItem(int);
- public void removeItemAt(int);
- public void removeMenuPresenter(com.android.internal.view.menu.MenuPresenter);
- public void restoreActionViewStates(android.os.Bundle);
- public void restorePresenterStates(android.os.Bundle);
- public void saveActionViewStates(android.os.Bundle);
- public void savePresenterStates(android.os.Bundle);
- public void setCallback(com.android.internal.view.menu.MenuBuilder$Callback);
- public void setCurrentMenuInfo(android.view.ContextMenu$ContextMenuInfo);
- public com.android.internal.view.menu.MenuBuilder setDefaultShowAsAction(int);
- public void setGroupCheckable(int, boolean, boolean);
- public void setGroupDividerEnabled(boolean);
- public void setGroupEnabled(int, boolean);
- public void setGroupVisible(int, boolean);
- protected com.android.internal.view.menu.MenuBuilder setHeaderIconInt(android.graphics.drawable.Drawable);
- protected com.android.internal.view.menu.MenuBuilder setHeaderIconInt(int);
- protected com.android.internal.view.menu.MenuBuilder setHeaderTitleInt(java.lang.CharSequence);
- protected com.android.internal.view.menu.MenuBuilder setHeaderTitleInt(int);
- protected com.android.internal.view.menu.MenuBuilder setHeaderViewInt(android.view.View);
- public void setQwertyMode(boolean);
- public void setShortcutsVisible(boolean);
- public int size();
- public void startDispatchingItemsChanged();
- public void stopDispatchingItemsChanged();
-
-
-}
-
--keep class com.android.internal.view.menu.MenuBuilder$Callback {
-
- public abstract boolean onMenuItemSelected(com.android.internal.view.menu.MenuBuilder, android.view.MenuItem);
- public abstract void onMenuModeChange(com.android.internal.view.menu.MenuBuilder);
-
-
-}
-
--keep class com.android.internal.view.menu.MenuItemImpl {
-
- public void actionFormatChanged();
- public boolean collapseActionView();
- public boolean expandActionView();
- public android.view.ActionProvider getActionProvider();
- public android.view.View getActionView();
- public int getAlphabeticModifiers();
- public char getAlphabeticShortcut();
- public java.lang.CharSequence getContentDescription();
- public int getGroupId();
- public android.graphics.drawable.Drawable getIcon();
- public android.content.res.ColorStateList getIconTintList();
- public android.graphics.PorterDuff$Mode getIconTintMode();
- public android.content.Intent getIntent();
- public int getItemId();
- public android.view.ContextMenu$ContextMenuInfo getMenuInfo();
- public int getNumericModifiers();
- public char getNumericShortcut();
- public int getOrder();
- public int getOrdering();
- public android.view.SubMenu getSubMenu();
- public java.lang.CharSequence getTitle();
- public java.lang.CharSequence getTitleCondensed();
- public java.lang.CharSequence getTooltipText();
- public boolean hasCollapsibleActionView();
- public boolean hasSubMenu();
- public boolean invoke();
- public boolean isActionButton();
- public boolean isActionViewExpanded();
- public boolean isCheckable();
- public boolean isChecked();
- public boolean isEnabled();
- public boolean isExclusiveCheckable();
- public boolean isVisible();
- public boolean requestsActionButton();
- public boolean requiresActionButton();
- public boolean requiresOverflow();
- public android.view.MenuItem setActionProvider(android.view.ActionProvider);
- public android.view.MenuItem setActionView(android.view.View);
- public android.view.MenuItem setActionView(int);
- public void setActionViewExpanded(boolean);
- public android.view.MenuItem setAlphabeticShortcut(char);
- public android.view.MenuItem setAlphabeticShortcut(char, int);
- public android.view.MenuItem setCallback(java.lang.Runnable);
- public android.view.MenuItem setCheckable(boolean);
- public android.view.MenuItem setChecked(boolean);
- public android.view.MenuItem setContentDescription(java.lang.CharSequence);
- public android.view.MenuItem setEnabled(boolean);
- public void setExclusiveCheckable(boolean);
- public android.view.MenuItem setIcon(android.graphics.drawable.Drawable);
- public android.view.MenuItem setIcon(int);
- public android.view.MenuItem setIconTintList(android.content.res.ColorStateList);
- public android.view.MenuItem setIconTintMode(android.graphics.PorterDuff$Mode);
- public android.view.MenuItem setIntent(android.content.Intent);
- public void setIsActionButton(boolean);
- public android.view.MenuItem setNumericShortcut(char);
- public android.view.MenuItem setNumericShortcut(char, int);
- public android.view.MenuItem setOnActionExpandListener(android.view.MenuItem$OnActionExpandListener);
- public android.view.MenuItem setOnMenuItemClickListener(android.view.MenuItem$OnMenuItemClickListener);
- public android.view.MenuItem setShortcut(char, char);
- public android.view.MenuItem setShortcut(char, char, int, int);
- public void setShowAsAction(int);
- public android.view.MenuItem setShowAsActionFlags(int);
- public android.view.MenuItem setTitle(java.lang.CharSequence);
- public android.view.MenuItem setTitle(int);
- public android.view.MenuItem setTitleCondensed(java.lang.CharSequence);
- public android.view.MenuItem setTooltipText(java.lang.CharSequence);
- public android.view.MenuItem setVisible(boolean);
- public boolean shouldShowIcon();
- public boolean showsTextAsAction();
- public java.lang.String toString();
-
-
-}
-
--keep class com.android.internal.view.menu.MenuPresenter {
-
- public abstract boolean collapseItemActionView(com.android.internal.view.menu.MenuBuilder, com.android.internal.view.menu.MenuItemImpl);
- public abstract boolean expandItemActionView(com.android.internal.view.menu.MenuBuilder, com.android.internal.view.menu.MenuItemImpl);
- public abstract boolean flagActionItems();
- public abstract int getId();
- public abstract com.android.internal.view.menu.MenuView getMenuView(android.view.ViewGroup);
- public abstract void initForMenu(android.content.Context, com.android.internal.view.menu.MenuBuilder);
- public abstract void onCloseMenu(com.android.internal.view.menu.MenuBuilder, boolean);
- public abstract void onRestoreInstanceState(android.os.Parcelable);
- public abstract android.os.Parcelable onSaveInstanceState();
- public abstract boolean onSubMenuSelected(com.android.internal.view.menu.SubMenuBuilder);
- public abstract void setCallback(com.android.internal.view.menu.MenuPresenter$Callback);
- public abstract void updateMenuView(boolean);
-
-
-}
-
--keep class com.android.internal.view.menu.MenuPresenter$Callback {
-
- public abstract void onCloseMenu(com.android.internal.view.menu.MenuBuilder, boolean);
- public abstract boolean onOpenSubMenu(com.android.internal.view.menu.MenuBuilder);
-
-
-}
-
--keep class com.android.internal.view.menu.MenuView {
-
- public abstract int getWindowAnimations();
- public abstract void initialize(com.android.internal.view.menu.MenuBuilder);
-
-
-}
-
--keep class com.android.internal.view.menu.MenuView$ItemView {
-
- public abstract com.android.internal.view.menu.MenuItemImpl getItemData();
- public abstract void initialize(com.android.internal.view.menu.MenuItemImpl, int);
- public abstract boolean prefersCondensedTitle();
- public abstract void setCheckable(boolean);
- public abstract void setChecked(boolean);
- public abstract void setEnabled(boolean);
- public abstract void setIcon(android.graphics.drawable.Drawable);
- public abstract void setShortcut(boolean, char);
- public abstract void setTitle(java.lang.CharSequence);
- public abstract boolean showsIcon();
-
-
-}
-
--keep class com.android.internal.view.menu.SubMenuBuilder {
- <init>(android.content.Context, com.android.internal.view.menu.MenuBuilder, com.android.internal.view.menu.MenuItemImpl);
-
- public boolean collapseItemActionView(com.android.internal.view.menu.MenuItemImpl);
- public boolean expandItemActionView(com.android.internal.view.menu.MenuItemImpl);
- public java.lang.String getActionViewStatesKey();
- public android.view.MenuItem getItem();
- public android.view.Menu getParentMenu();
- public com.android.internal.view.menu.MenuBuilder getRootMenu();
- public boolean isGroupDividerEnabled();
- public boolean isQwertyMode();
- public boolean isShortcutsVisible();
- public void setCallback(com.android.internal.view.menu.MenuBuilder$Callback);
- public void setGroupDividerEnabled(boolean);
- public android.view.SubMenu setHeaderIcon(android.graphics.drawable.Drawable);
- public android.view.SubMenu setHeaderIcon(int);
- public android.view.SubMenu setHeaderTitle(java.lang.CharSequence);
- public android.view.SubMenu setHeaderTitle(int);
- public android.view.SubMenu setHeaderView(android.view.View);
- public android.view.SubMenu setIcon(android.graphics.drawable.Drawable);
- public android.view.SubMenu setIcon(int);
- public void setQwertyMode(boolean);
- public void setShortcutsVisible(boolean);
-
-
-}
-
--keep class com.android.internal.widget.DecorToolbar {
-
- public abstract void animateToVisibility(int);
- public abstract boolean canShowOverflowMenu();
- public abstract boolean canSplit();
- public abstract void collapseActionView();
- public abstract void dismissPopupMenus();
- public abstract android.content.Context getContext();
- public abstract android.view.View getCustomView();
- public abstract int getDisplayOptions();
- public abstract int getDropdownItemCount();
- public abstract int getDropdownSelectedPosition();
- public abstract int getHeight();
- public abstract android.view.Menu getMenu();
- public abstract int getNavigationMode();
- public abstract java.lang.CharSequence getSubtitle();
- public abstract java.lang.CharSequence getTitle();
- public abstract android.view.ViewGroup getViewGroup();
- public abstract int getVisibility();
- public abstract boolean hasEmbeddedTabs();
- public abstract boolean hasExpandedActionView();
- public abstract boolean hasIcon();
- public abstract boolean hasLogo();
- public abstract boolean hideOverflowMenu();
- public abstract void initIndeterminateProgress();
- public abstract void initProgress();
- public abstract boolean isOverflowMenuShowPending();
- public abstract boolean isOverflowMenuShowing();
- public abstract boolean isSplit();
- public abstract boolean isTitleTruncated();
- public abstract void restoreHierarchyState(android.util.SparseArray);
- public abstract void saveHierarchyState(android.util.SparseArray);
- public abstract void setBackgroundDrawable(android.graphics.drawable.Drawable);
- public abstract void setCollapsible(boolean);
- public abstract void setCustomView(android.view.View);
- public abstract void setDefaultNavigationContentDescription(int);
- public abstract void setDefaultNavigationIcon(android.graphics.drawable.Drawable);
- public abstract void setDisplayOptions(int);
- public abstract void setDropdownParams(android.widget.SpinnerAdapter, android.widget.AdapterView$OnItemSelectedListener);
- public abstract void setDropdownSelectedPosition(int);
- public abstract void setEmbeddedTabView(com.android.internal.widget.ScrollingTabContainerView);
- public abstract void setHomeButtonEnabled(boolean);
- public abstract void setIcon(int);
- public abstract void setIcon(android.graphics.drawable.Drawable);
- public abstract void setLogo(int);
- public abstract void setLogo(android.graphics.drawable.Drawable);
- public abstract void setMenu(android.view.Menu, com.android.internal.view.menu.MenuPresenter$Callback);
- public abstract void setMenuCallbacks(com.android.internal.view.menu.MenuPresenter$Callback, com.android.internal.view.menu.MenuBuilder$Callback);
- public abstract void setMenuPrepared();
- public abstract void setNavigationContentDescription(java.lang.CharSequence);
- public abstract void setNavigationContentDescription(int);
- public abstract void setNavigationIcon(android.graphics.drawable.Drawable);
- public abstract void setNavigationIcon(int);
- public abstract void setNavigationMode(int);
- public abstract void setSplitToolbar(boolean);
- public abstract void setSplitView(android.view.ViewGroup);
- public abstract void setSplitWhenNarrow(boolean);
- public abstract void setSubtitle(java.lang.CharSequence);
- public abstract void setTitle(java.lang.CharSequence);
- public abstract void setVisibility(int);
- public abstract void setWindowCallback(android.view.Window$Callback);
- public abstract void setWindowTitle(java.lang.CharSequence);
- public abstract android.animation.Animator setupAnimatorToVisibility(int, long);
- public abstract boolean showOverflowMenu();
-
-
-}
-
--keep class com.android.internal.widget.ScrollingTabContainerView {
- <init>(android.content.Context);
-
- public void addTab(android.app.ActionBar$Tab, boolean);
- public void addTab(android.app.ActionBar$Tab, int, boolean);
- public void animateToTab(int);
- public void animateToVisibility(int);
- public void onAttachedToWindow();
- protected void onConfigurationChanged(android.content.res.Configuration);
- public void onDetachedFromWindow();
- public void onItemClick(android.widget.AdapterView, android.view.View, int, long);
- public void onMeasure(int, int);
- public void removeAllTabs();
- public void removeTabAt(int);
- public void setAllowCollapse(boolean);
- public void setContentHeight(int);
- public void setTabSelected(int);
- public void updateTab(int);
-
-
- protected com.android.internal.widget.ScrollingTabContainerView$VisibilityAnimListener mVisAnimListener;
- protected android.animation.Animator mVisibilityAnim;
-}
-
--keep class com.android.internal.widget.ScrollingTabContainerView$VisibilityAnimListener {
- <init>();
-
- public void onAnimationCancel(android.animation.Animator);
- public void onAnimationEnd(android.animation.Animator);
- public void onAnimationRepeat(android.animation.Animator);
- public void onAnimationStart(android.animation.Animator);
- public com.android.internal.widget.ScrollingTabContainerView$VisibilityAnimListener withFinalVisibility(int);
-
-
-}
-
--keep class java.io.BufferedWriter {
- <init>(java.io.Writer);
- <init>(java.io.Writer, int);
-
- public void close();
- public void flush();
- public void newLine();
- public void write(int);
- public void write(char[], int, int);
- public void write(java.lang.String, int, int);
-
-
-}
-
--keep class java.io.ByteArrayOutputStream {
- <init>();
- <init>(int);
-
- public void close();
- public synchronized void reset();
- public synchronized int size();
- public synchronized byte[] toByteArray();
- public synchronized java.lang.String toString();
- public synchronized java.lang.String toString(java.lang.String);
- public synchronized java.lang.String toString(int);
- public synchronized void write(int);
- public synchronized void write(byte[], int, int);
- public synchronized void writeTo(java.io.OutputStream);
-
-
- protected byte[] buf;
- protected int count;
-}
-
--keep class java.io.DataOutputStream {
- <init>(java.io.OutputStream);
-
- public void flush();
- public int size();
- public synchronized void write(int);
- public synchronized void write(byte[], int, int);
- public void writeBoolean(boolean);
- public void writeByte(int);
- public void writeBytes(java.lang.String);
- public void writeChar(int);
- public void writeChars(java.lang.String);
- public void writeDouble(double);
- public void writeFloat(float);
- public void writeInt(int);
- public void writeLong(long);
- public void writeShort(int);
- public void writeUTF(java.lang.String);
-
-
- protected int written;
-}
-
--keep class java.io.File {
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.String);
- <init>(java.io.File, java.lang.String);
- <init>(java.net.URI);
-
- public boolean canExecute();
- public boolean canRead();
- public boolean canWrite();
- public int compareTo(java.io.File);
- public int compareTo(java.lang.Object);
- public boolean createNewFile();
- public static java.io.File createTempFile(java.lang.String, java.lang.String, java.io.File);
- public static java.io.File createTempFile(java.lang.String, java.lang.String);
- public boolean delete();
- public void deleteOnExit();
- public boolean equals(java.lang.Object);
- public boolean exists();
- public java.io.File getAbsoluteFile();
- public java.lang.String getAbsolutePath();
- public java.io.File getCanonicalFile();
- public java.lang.String getCanonicalPath();
- public long getFreeSpace();
- public java.lang.String getName();
- public java.lang.String getParent();
- public java.io.File getParentFile();
- public java.lang.String getPath();
- public long getTotalSpace();
- public long getUsableSpace();
- public int hashCode();
- public boolean isAbsolute();
- public boolean isDirectory();
- public boolean isFile();
- public boolean isHidden();
- public long lastModified();
- public long length();
- public java.lang.String[] list();
- public java.lang.String[] list(java.io.FilenameFilter);
- public java.io.File[] listFiles();
- public java.io.File[] listFiles(java.io.FilenameFilter);
- public java.io.File[] listFiles(java.io.FileFilter);
- public static java.io.File[] listRoots();
- public boolean mkdir();
- public boolean mkdirs();
- public boolean renameTo(java.io.File);
- public boolean setExecutable(boolean, boolean);
- public boolean setExecutable(boolean);
- public boolean setLastModified(long);
- public boolean setReadOnly();
- public boolean setReadable(boolean, boolean);
- public boolean setReadable(boolean);
- public boolean setWritable(boolean, boolean);
- public boolean setWritable(boolean);
- public java.nio.file.Path toPath();
- public java.lang.String toString();
- public java.net.URI toURI();
- public java.net.URL toURL();
-
-
- public static java.lang.String pathSeparator;
- public static char pathSeparatorChar;
- public static java.lang.String separator;
- public static char separatorChar;
-}
-
--keep class java.io.FileDescriptor {
- <init>();
-
- public int getInt$();
- public boolean isSocket$();
- public void setInt$(int);
- public void sync();
- public boolean valid();
-
-
- public static java.io.FileDescriptor err;
- public static java.io.FileDescriptor in;
- public static java.io.FileDescriptor out;
-}
-
--keep class java.io.FileFilter {
-
- public abstract boolean accept(java.io.File);
-
-
-}
-
--keep class java.io.FileInputStream {
- <init>(java.lang.String);
- <init>(java.io.File);
- <init>(java.io.FileDescriptor);
- <init>(java.io.FileDescriptor, boolean);
-
- public int available();
- public void close();
- protected void finalize();
- public java.nio.channels.FileChannel getChannel();
- public java.io.FileDescriptor getFD();
- public int read();
- public int read(byte[]);
- public int read(byte[], int, int);
- public long skip(long);
-
-
-}
-
--keep class java.io.FileNotFoundException {
- <init>();
- <init>(java.lang.String);
-
-
-
-}
-
--keep class java.io.FileOutputStream {
- <init>(java.lang.String);
- <init>(java.lang.String, boolean);
- <init>(java.io.File);
- <init>(java.io.File, boolean);
- <init>(java.io.FileDescriptor);
- <init>(java.io.FileDescriptor, boolean);
-
- public void close();
- protected void finalize();
- public java.nio.channels.FileChannel getChannel();
- public java.io.FileDescriptor getFD();
- public void write(int);
- public void write(byte[]);
- public void write(byte[], int, int);
-
-
-}
-
--keep class java.io.FilenameFilter {
-
- public abstract boolean accept(java.io.File, java.lang.String);
-
-
-}
-
--keep class java.io.FilterOutputStream {
- <init>(java.io.OutputStream);
-
- public void close();
- public void flush();
- public void write(int);
- public void write(byte[]);
- public void write(byte[], int, int);
-
-
- protected java.io.OutputStream out;
-}
-
--keep class java.io.IOException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
- <init>(java.lang.Throwable);
-
-
-
-}
-
--keep class java.io.InputStream {
- <init>();
-
- public int available();
- public void close();
- public synchronized void mark(int);
- public boolean markSupported();
- public abstract int read();
- public int read(byte[]);
- public int read(byte[], int, int);
- public synchronized void reset();
- public long skip(long);
-
-
-}
-
--keep class java.io.InvalidObjectException {
- <init>(java.lang.String);
-
-
-
-}
-
--keep class java.io.ObjectStreamException {
- <init>(java.lang.String);
- <init>();
-
-
-
-}
-
--keep class java.io.OutputStream {
- <init>();
-
- public void close();
- public void flush();
- public abstract void write(int);
- public void write(byte[]);
- public void write(byte[], int, int);
-
-
-}
-
--keep class java.io.PrintStream {
- <init>(java.io.OutputStream);
- <init>(java.io.OutputStream, boolean);
- <init>(java.io.OutputStream, boolean, java.lang.String);
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.String);
- <init>(java.io.File);
- <init>(java.io.File, java.lang.String);
-
- public java.io.PrintStream append(java.lang.CharSequence);
- public java.io.PrintStream append(java.lang.CharSequence, int, int);
- public java.io.PrintStream append(char);
- public java.lang.Appendable append(char);
- public java.lang.Appendable append(java.lang.CharSequence, int, int);
- public java.lang.Appendable append(java.lang.CharSequence);
- public boolean checkError();
- protected void clearError();
- public void close();
- public void flush();
- public java.io.PrintStream format(java.lang.String, java.lang.Object[]);
- public java.io.PrintStream format(java.util.Locale, java.lang.String, java.lang.Object[]);
- public void print(boolean);
- public void print(char);
- public void print(int);
- public void print(long);
- public void print(float);
- public void print(double);
- public void print(char[]);
- public void print(java.lang.String);
- public void print(java.lang.Object);
- public java.io.PrintStream printf(java.lang.String, java.lang.Object[]);
- public java.io.PrintStream printf(java.util.Locale, java.lang.String, java.lang.Object[]);
- public void println();
- public void println(boolean);
- public void println(char);
- public void println(int);
- public void println(long);
- public void println(float);
- public void println(double);
- public void println(char[]);
- public void println(java.lang.String);
- public void println(java.lang.Object);
- protected void setError();
- public void write(int);
- public void write(byte[], int, int);
-
-
-}
-
--keep class java.io.PrintWriter {
- <init>(java.io.Writer);
- <init>(java.io.Writer, boolean);
- <init>(java.io.OutputStream);
- <init>(java.io.OutputStream, boolean);
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.String);
- <init>(java.io.File);
- <init>(java.io.File, java.lang.String);
-
- public java.io.PrintWriter append(java.lang.CharSequence);
- public java.io.PrintWriter append(java.lang.CharSequence, int, int);
- public java.io.PrintWriter append(char);
- public java.io.Writer append(char);
- public java.io.Writer append(java.lang.CharSequence, int, int);
- public java.io.Writer append(java.lang.CharSequence);
- public java.lang.Appendable append(char);
- public java.lang.Appendable append(java.lang.CharSequence, int, int);
- public java.lang.Appendable append(java.lang.CharSequence);
- public boolean checkError();
- protected void clearError();
- public void close();
- public void flush();
- public java.io.PrintWriter format(java.lang.String, java.lang.Object[]);
- public java.io.PrintWriter format(java.util.Locale, java.lang.String, java.lang.Object[]);
- public void print(boolean);
- public void print(char);
- public void print(int);
- public void print(long);
- public void print(float);
- public void print(double);
- public void print(char[]);
- public void print(java.lang.String);
- public void print(java.lang.Object);
- public java.io.PrintWriter printf(java.lang.String, java.lang.Object[]);
- public java.io.PrintWriter printf(java.util.Locale, java.lang.String, java.lang.Object[]);
- public void println();
- public void println(boolean);
- public void println(char);
- public void println(int);
- public void println(long);
- public void println(float);
- public void println(double);
- public void println(char[]);
- public void println(java.lang.String);
- public void println(java.lang.Object);
- protected void setError();
- public void write(int);
- public void write(char[], int, int);
- public void write(char[]);
- public void write(java.lang.String, int, int);
- public void write(java.lang.String);
-
-
- protected java.io.Writer out;
-}
-
--keep class java.io.Reader {
- <init>();
- <init>(java.lang.Object);
-
- public abstract void close();
- public void mark(int);
- public boolean markSupported();
- public int read(java.nio.CharBuffer);
- public int read();
- public int read(char[]);
- public abstract int read(char[], int, int);
- public boolean ready();
- public void reset();
- public long skip(long);
-
-
- protected java.lang.Object lock;
-}
-
--keep class java.io.Serializable {
-
-
-
-}
-
--keep class java.io.SyncFailedException {
- <init>(java.lang.String);
-
-
-
-}
-
--keep class java.io.UnsupportedEncodingException {
- <init>();
- <init>(java.lang.String);
-
-
-
-}
-
--keep class java.io.Writer {
- <init>();
- <init>(java.lang.Object);
-
- public java.io.Writer append(java.lang.CharSequence);
- public java.io.Writer append(java.lang.CharSequence, int, int);
- public java.io.Writer append(char);
- public java.lang.Appendable append(char);
- public java.lang.Appendable append(java.lang.CharSequence, int, int);
- public java.lang.Appendable append(java.lang.CharSequence);
- public abstract void close();
- public abstract void flush();
- public void write(int);
- public void write(char[]);
- public abstract void write(char[], int, int);
- public void write(java.lang.String);
- public void write(java.lang.String, int, int);
-
-
- protected java.lang.Object lock;
-}
-
--keep class java.lang.AbstractStringBuilder {
-
- public java.lang.AbstractStringBuilder append(java.lang.Object);
- public java.lang.AbstractStringBuilder append(java.lang.String);
- public java.lang.AbstractStringBuilder append(java.lang.StringBuffer);
- public java.lang.AbstractStringBuilder append(java.lang.CharSequence);
- public java.lang.AbstractStringBuilder append(java.lang.CharSequence, int, int);
- public java.lang.AbstractStringBuilder append(char[]);
- public java.lang.AbstractStringBuilder append(char[], int, int);
- public java.lang.AbstractStringBuilder append(boolean);
- public java.lang.AbstractStringBuilder append(char);
- public java.lang.AbstractStringBuilder append(int);
- public java.lang.AbstractStringBuilder append(long);
- public java.lang.AbstractStringBuilder append(float);
- public java.lang.AbstractStringBuilder append(double);
- public java.lang.Appendable append(char);
- public java.lang.Appendable append(java.lang.CharSequence, int, int);
- public java.lang.Appendable append(java.lang.CharSequence);
- public java.lang.AbstractStringBuilder appendCodePoint(int);
- public int capacity();
- public char charAt(int);
- public int codePointAt(int);
- public int codePointBefore(int);
- public int codePointCount(int, int);
- public java.lang.AbstractStringBuilder delete(int, int);
- public java.lang.AbstractStringBuilder deleteCharAt(int);
- public void ensureCapacity(int);
- public void getChars(int, int, char[], int);
- public int indexOf(java.lang.String);
- public int indexOf(java.lang.String, int);
- public java.lang.AbstractStringBuilder insert(int, char[], int, int);
- public java.lang.AbstractStringBuilder insert(int, java.lang.Object);
- public java.lang.AbstractStringBuilder insert(int, java.lang.String);
- public java.lang.AbstractStringBuilder insert(int, char[]);
- public java.lang.AbstractStringBuilder insert(int, java.lang.CharSequence);
- public java.lang.AbstractStringBuilder insert(int, java.lang.CharSequence, int, int);
- public java.lang.AbstractStringBuilder insert(int, boolean);
- public java.lang.AbstractStringBuilder insert(int, char);
- public java.lang.AbstractStringBuilder insert(int, int);
- public java.lang.AbstractStringBuilder insert(int, long);
- public java.lang.AbstractStringBuilder insert(int, float);
- public java.lang.AbstractStringBuilder insert(int, double);
- public int lastIndexOf(java.lang.String);
- public int lastIndexOf(java.lang.String, int);
- public int length();
- public int offsetByCodePoints(int, int);
- public java.lang.AbstractStringBuilder replace(int, int, java.lang.String);
- public java.lang.AbstractStringBuilder reverse();
- public void setCharAt(int, char);
- public void setLength(int);
- public java.lang.CharSequence subSequence(int, int);
- public java.lang.String substring(int);
- public java.lang.String substring(int, int);
- public abstract java.lang.String toString();
- public void trimToSize();
-
-
-}
-
--keep class java.lang.Appendable {
-
- public abstract java.lang.Appendable append(java.lang.CharSequence);
- public abstract java.lang.Appendable append(java.lang.CharSequence, int, int);
- public abstract java.lang.Appendable append(char);
-
-
-}
-
--keep class java.lang.Boolean {
- <init>(boolean);
- <init>(java.lang.String);
-
- public boolean booleanValue();
- public static int compare(boolean, boolean);
- public int compareTo(java.lang.Boolean);
- public int compareTo(java.lang.Object);
- public boolean equals(java.lang.Object);
- public static boolean getBoolean(java.lang.String);
- public int hashCode();
- public static int hashCode(boolean);
- public static boolean logicalAnd(boolean, boolean);
- public static boolean logicalOr(boolean, boolean);
- public static boolean logicalXor(boolean, boolean);
- public static boolean parseBoolean(java.lang.String);
- public static java.lang.String toString(boolean);
- public java.lang.String toString();
- public static java.lang.Boolean valueOf(boolean);
- public static java.lang.Boolean valueOf(java.lang.String);
-
-
- public static java.lang.Boolean FALSE;
- public static java.lang.Boolean TRUE;
- public static java.lang.Class TYPE;
-}
-
--keep class java.lang.Byte {
- <init>(byte);
- <init>(java.lang.String);
-
- public byte byteValue();
- public static int compare(byte, byte);
- public int compareTo(java.lang.Byte);
- public int compareTo(java.lang.Object);
- public static java.lang.Byte decode(java.lang.String);
- public double doubleValue();
- public boolean equals(java.lang.Object);
- public float floatValue();
- public int hashCode();
- public static int hashCode(byte);
- public int intValue();
- public long longValue();
- public static byte parseByte(java.lang.String, int);
- public static byte parseByte(java.lang.String);
- public short shortValue();
- public static java.lang.String toHexString(byte, boolean);
- public static java.lang.String toString(byte);
- public java.lang.String toString();
- public static int toUnsignedInt(byte);
- public static long toUnsignedLong(byte);
- public static java.lang.Byte valueOf(byte);
- public static java.lang.Byte valueOf(java.lang.String, int);
- public static java.lang.Byte valueOf(java.lang.String);
-
-
- public static int BYTES;
- public static byte MAX_VALUE;
- public static byte MIN_VALUE;
- public static int SIZE;
- public static java.lang.Class TYPE;
-}
-
--keep class java.lang.CharSequence {
-
- public abstract char charAt(int);
- public java.util.stream.IntStream chars();
- public java.util.stream.IntStream codePoints();
- public abstract int length();
- public abstract java.lang.CharSequence subSequence(int, int);
- public abstract java.lang.String toString();
-
-
-}
-
--keep class java.lang.Character {
- <init>(char);
-
- public static int charCount(int);
- public char charValue();
- public static int codePointAt(java.lang.CharSequence, int);
- public static int codePointAt(char[], int);
- public static int codePointAt(char[], int, int);
- public static int codePointBefore(java.lang.CharSequence, int);
- public static int codePointBefore(char[], int);
- public static int codePointBefore(char[], int, int);
- public static int codePointCount(java.lang.CharSequence, int, int);
- public static int codePointCount(char[], int, int);
- public static int compare(char, char);
- public int compareTo(java.lang.Character);
- public int compareTo(java.lang.Object);
- public static int digit(char, int);
- public static int digit(int, int);
- public boolean equals(java.lang.Object);
- public static char forDigit(int, int);
- public static byte getDirectionality(char);
- public static byte getDirectionality(int);
- public static java.lang.String getName(int);
- public static int getNumericValue(char);
- public static int getNumericValue(int);
- public static int getType(char);
- public static int getType(int);
- public int hashCode();
- public static int hashCode(char);
- public static char highSurrogate(int);
- public static boolean isAlphabetic(int);
- public static boolean isBmpCodePoint(int);
- public static boolean isDefined(char);
- public static boolean isDefined(int);
- public static boolean isDigit(char);
- public static boolean isDigit(int);
- public static boolean isHighSurrogate(char);
- public static boolean isISOControl(char);
- public static boolean isISOControl(int);
- public static boolean isIdentifierIgnorable(char);
- public static boolean isIdentifierIgnorable(int);
- public static boolean isIdeographic(int);
- public static boolean isJavaIdentifierPart(char);
- public static boolean isJavaIdentifierPart(int);
- public static boolean isJavaIdentifierStart(char);
- public static boolean isJavaIdentifierStart(int);
- public static boolean isJavaLetter(char);
- public static boolean isJavaLetterOrDigit(char);
- public static boolean isLetter(char);
- public static boolean isLetter(int);
- public static boolean isLetterOrDigit(char);
- public static boolean isLetterOrDigit(int);
- public static boolean isLowSurrogate(char);
- public static boolean isLowerCase(char);
- public static boolean isLowerCase(int);
- public static boolean isMirrored(char);
- public static boolean isMirrored(int);
- public static boolean isSpace(char);
- public static boolean isSpaceChar(char);
- public static boolean isSpaceChar(int);
- public static boolean isSupplementaryCodePoint(int);
- public static boolean isSurrogate(char);
- public static boolean isSurrogatePair(char, char);
- public static boolean isTitleCase(char);
- public static boolean isTitleCase(int);
- public static boolean isUnicodeIdentifierPart(char);
- public static boolean isUnicodeIdentifierPart(int);
- public static boolean isUnicodeIdentifierStart(char);
- public static boolean isUnicodeIdentifierStart(int);
- public static boolean isUpperCase(char);
- public static boolean isUpperCase(int);
- public static boolean isValidCodePoint(int);
- public static boolean isWhitespace(char);
- public static boolean isWhitespace(int);
- public static char lowSurrogate(int);
- public static int offsetByCodePoints(java.lang.CharSequence, int, int);
- public static int offsetByCodePoints(char[], int, int, int, int);
- public static char reverseBytes(char);
- public static int toChars(int, char[], int);
- public static char[] toChars(int);
- public static int toCodePoint(char, char);
- public static char toLowerCase(char);
- public static int toLowerCase(int);
- public java.lang.String toString();
- public static java.lang.String toString(char);
- public static char toTitleCase(char);
- public static int toTitleCase(int);
- public static char toUpperCase(char);
- public static int toUpperCase(int);
- public static java.lang.Character valueOf(char);
-
-
- public static int BYTES;
- public static byte COMBINING_SPACING_MARK;
- public static byte CONNECTOR_PUNCTUATION;
- public static byte CONTROL;
- public static byte CURRENCY_SYMBOL;
- public static byte DASH_PUNCTUATION;
- public static byte DECIMAL_DIGIT_NUMBER;
- public static byte DIRECTIONALITY_ARABIC_NUMBER;
- public static byte DIRECTIONALITY_BOUNDARY_NEUTRAL;
- public static byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR;
- public static byte DIRECTIONALITY_EUROPEAN_NUMBER;
- public static byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR;
- public static byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR;
- public static byte DIRECTIONALITY_LEFT_TO_RIGHT;
- public static byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING;
- public static byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE;
- public static byte DIRECTIONALITY_NONSPACING_MARK;
- public static byte DIRECTIONALITY_OTHER_NEUTRALS;
- public static byte DIRECTIONALITY_PARAGRAPH_SEPARATOR;
- public static byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT;
- public static byte DIRECTIONALITY_RIGHT_TO_LEFT;
- public static byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC;
- public static byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING;
- public static byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE;
- public static byte DIRECTIONALITY_SEGMENT_SEPARATOR;
- public static byte DIRECTIONALITY_UNDEFINED;
- public static byte DIRECTIONALITY_WHITESPACE;
- public static byte ENCLOSING_MARK;
- public static byte END_PUNCTUATION;
- public static byte FINAL_QUOTE_PUNCTUATION;
- public static byte FORMAT;
- public static byte INITIAL_QUOTE_PUNCTUATION;
- public static byte LETTER_NUMBER;
- public static byte LINE_SEPARATOR;
- public static byte LOWERCASE_LETTER;
- public static byte MATH_SYMBOL;
- public static int MAX_CODE_POINT;
- public static char MAX_HIGH_SURROGATE;
- public static char MAX_LOW_SURROGATE;
- public static int MAX_RADIX;
- public static char MAX_SURROGATE;
- public static char MAX_VALUE;
- public static int MIN_CODE_POINT;
- public static char MIN_HIGH_SURROGATE;
- public static char MIN_LOW_SURROGATE;
- public static int MIN_RADIX;
- public static int MIN_SUPPLEMENTARY_CODE_POINT;
- public static char MIN_SURROGATE;
- public static char MIN_VALUE;
- public static byte MODIFIER_LETTER;
- public static byte MODIFIER_SYMBOL;
- public static byte NON_SPACING_MARK;
- public static byte OTHER_LETTER;
- public static byte OTHER_NUMBER;
- public static byte OTHER_PUNCTUATION;
- public static byte OTHER_SYMBOL;
- public static byte PARAGRAPH_SEPARATOR;
- public static byte PRIVATE_USE;
- public static int SIZE;
- public static byte SPACE_SEPARATOR;
- public static byte START_PUNCTUATION;
- public static byte SURROGATE;
- public static byte TITLECASE_LETTER;
- public static java.lang.Class TYPE;
- public static byte UNASSIGNED;
- public static byte UPPERCASE_LETTER;
-}
-
--keep class java.lang.Class {
-
- public java.lang.Class asSubclass(java.lang.Class);
- public java.lang.Object cast(java.lang.Object);
- public boolean desiredAssertionStatus();
- public static java.lang.Class forName(java.lang.String);
- public static java.lang.Class forName(java.lang.String, boolean, java.lang.ClassLoader);
- public int getAccessFlags();
- public java.lang.annotation.Annotation getAnnotation(java.lang.Class);
- public java.lang.annotation.Annotation[] getAnnotations();
- public java.lang.annotation.Annotation[] getAnnotationsByType(java.lang.Class);
- public java.lang.String getCanonicalName();
- public java.lang.ClassLoader getClassLoader();
- public java.lang.Class[] getClasses();
- public java.lang.Class getComponentType();
- public java.lang.reflect.Constructor getConstructor(java.lang.Class[]);
- public java.lang.reflect.Constructor[] getConstructors();
- public java.lang.annotation.Annotation getDeclaredAnnotation(java.lang.Class);
- public java.lang.annotation.Annotation[] getDeclaredAnnotations();
- public java.lang.Class[] getDeclaredClasses();
- public java.lang.reflect.Constructor getDeclaredConstructor(java.lang.Class[]);
- public java.lang.reflect.Constructor[] getDeclaredConstructors();
- public java.lang.reflect.Field getDeclaredField(java.lang.String);
- public java.lang.reflect.Field[] getDeclaredFields();
- public java.lang.reflect.Field[] getDeclaredFieldsUnchecked(boolean);
- public java.lang.reflect.Method getDeclaredMethod(java.lang.String, java.lang.Class[]);
- public java.lang.reflect.Method[] getDeclaredMethods();
- public java.lang.reflect.Method[] getDeclaredMethodsUnchecked(boolean);
- public java.lang.Class getDeclaringClass();
- public java.lang.Class getEnclosingClass();
- public java.lang.reflect.Constructor getEnclosingConstructor();
- public java.lang.reflect.Method getEnclosingMethod();
- public java.lang.Object[] getEnumConstants();
- public java.lang.Object[] getEnumConstantsShared();
- public java.lang.reflect.Field getField(java.lang.String);
- public java.lang.reflect.Field[] getFields();
- public java.lang.reflect.Type[] getGenericInterfaces();
- public java.lang.reflect.Type getGenericSuperclass();
- public java.lang.reflect.Method getInstanceMethod(java.lang.String, java.lang.Class[]);
- public java.lang.Class[] getInterfaces();
- public java.lang.reflect.Method getMethod(java.lang.String, java.lang.Class[]);
- public java.lang.reflect.Method[] getMethods();
- public int getModifiers();
- public java.lang.String getName();
- public java.lang.Package getPackage();
- public java.lang.String getPackageName$();
- public java.security.ProtectionDomain getProtectionDomain();
- public java.net.URL getResource(java.lang.String);
- public java.io.InputStream getResourceAsStream(java.lang.String);
- public java.lang.Object[] getSigners();
- public java.lang.String getSimpleName();
- public java.lang.Class getSuperclass();
- public java.lang.String getTypeName();
- public synchronized java.lang.reflect.TypeVariable[] getTypeParameters();
- public boolean isAnnotation();
- public boolean isAnnotationPresent(java.lang.Class);
- public boolean isAnonymousClass();
- public boolean isArray();
- public boolean isAssignableFrom(java.lang.Class);
- public boolean isEnum();
- public boolean isFinalizable();
- public boolean isInstance(java.lang.Object);
- public boolean isInterface();
- public boolean isLocalClass();
- public boolean isMemberClass();
- public boolean isPrimitive();
- public boolean isProxy();
- public boolean isSynthetic();
- public java.lang.Object newInstance();
- public java.lang.String toGenericString();
- public java.lang.String toString();
-
-
-}
-
--keep class java.lang.ClassFormatError {
- <init>();
- <init>(java.lang.String);
-
-
-
-}
-
--keep class java.lang.ClassLoader {
- <init>(java.lang.ClassLoader);
- <init>();
-
- public void clearAssertionStatus();
- protected java.lang.Class defineClass(byte[], int, int);
- protected java.lang.Class defineClass(java.lang.String, byte[], int, int);
- protected java.lang.Class defineClass(java.lang.String, byte[], int, int, java.security.ProtectionDomain);
- protected java.lang.Class defineClass(java.lang.String, java.nio.ByteBuffer, java.security.ProtectionDomain);
- protected java.lang.Package definePackage(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.net.URL);
- protected java.lang.Class findClass(java.lang.String);
- protected java.lang.String findLibrary(java.lang.String);
- protected java.lang.Class findLoadedClass(java.lang.String);
- protected java.net.URL findResource(java.lang.String);
- protected java.util.Enumeration findResources(java.lang.String);
- protected java.lang.Class findSystemClass(java.lang.String);
- protected java.lang.Package getPackage(java.lang.String);
- protected java.lang.Package[] getPackages();
- public java.lang.ClassLoader getParent();
- public java.net.URL getResource(java.lang.String);
- public java.io.InputStream getResourceAsStream(java.lang.String);
- public java.util.Enumeration getResources(java.lang.String);
- public static java.lang.ClassLoader getSystemClassLoader();
- public static java.net.URL getSystemResource(java.lang.String);
- public static java.io.InputStream getSystemResourceAsStream(java.lang.String);
- public static java.util.Enumeration getSystemResources(java.lang.String);
- public java.lang.Class loadClass(java.lang.String);
- protected java.lang.Class loadClass(java.lang.String, boolean);
- protected static boolean registerAsParallelCapable();
- protected void resolveClass(java.lang.Class);
- public void setClassAssertionStatus(java.lang.String, boolean);
- public void setDefaultAssertionStatus(boolean);
- public void setPackageAssertionStatus(java.lang.String, boolean);
- protected void setSigners(java.lang.Class, java.lang.Object[]);
-
-
- public java.util.Map proxyCache;
-}
-
--keep class java.lang.ClassNotFoundException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
-
- public java.lang.Throwable getCause();
- public java.lang.Throwable getException();
-
-
-}
-
--keep class java.lang.CloneNotSupportedException {
- <init>();
- <init>(java.lang.String);
-
-
-
-}
-
--keep class java.lang.Comparable {
-
- public abstract int compareTo(java.lang.Object);
-
-
-}
-
--keep class java.lang.Double {
- <init>(double);
- <init>(java.lang.String);
-
- public byte byteValue();
- public static int compare(double, double);
- public int compareTo(java.lang.Double);
- public int compareTo(java.lang.Object);
- public static long doubleToLongBits(double);
- public static long doubleToRawLongBits(double);
- public double doubleValue();
- public boolean equals(java.lang.Object);
- public float floatValue();
- public int hashCode();
- public static int hashCode(double);
- public int intValue();
- public static boolean isFinite(double);
- public static boolean isInfinite(double);
- public boolean isInfinite();
- public static boolean isNaN(double);
- public boolean isNaN();
- public static double longBitsToDouble(long);
- public long longValue();
- public static double max(double, double);
- public static double min(double, double);
- public static double parseDouble(java.lang.String);
- public short shortValue();
- public static double sum(double, double);
- public static java.lang.String toHexString(double);
- public static java.lang.String toString(double);
- public java.lang.String toString();
- public static java.lang.Double valueOf(java.lang.String);
- public static java.lang.Double valueOf(double);
-
-
- public static int BYTES;
- public static int MAX_EXPONENT;
- public static double MAX_VALUE;
- public static int MIN_EXPONENT;
- public static double MIN_NORMAL;
- public static double MIN_VALUE;
- public static double NEGATIVE_INFINITY;
- public static double NaN;
- public static double POSITIVE_INFINITY;
- public static int SIZE;
- public static java.lang.Class TYPE;
-}
-
--keep class java.lang.Enum {
- <init>(java.lang.String, int);
-
- protected java.lang.Object clone();
- public int compareTo(java.lang.Enum);
- public int compareTo(java.lang.Object);
- public boolean equals(java.lang.Object);
- protected void finalize();
- public java.lang.Class getDeclaringClass();
- public static java.lang.Enum[] getSharedConstants(java.lang.Class);
- public int hashCode();
- public java.lang.String name();
- public int ordinal();
- public java.lang.String toString();
- public static java.lang.Enum valueOf(java.lang.Class, java.lang.String);
-
-
-}
-
--keep class java.lang.Error {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
- <init>(java.lang.Throwable);
- <init>(java.lang.String, java.lang.Throwable, boolean, boolean);
-
-
-
-}
-
--keep class java.lang.Exception {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
- <init>(java.lang.Throwable);
- <init>(java.lang.String, java.lang.Throwable, boolean, boolean);
-
-
-
-}
-
--keep class java.lang.Float {
- <init>(float);
- <init>(double);
- <init>(java.lang.String);
-
- public byte byteValue();
- public static int compare(float, float);
- public int compareTo(java.lang.Float);
- public int compareTo(java.lang.Object);
- public double doubleValue();
- public boolean equals(java.lang.Object);
- public static int floatToIntBits(float);
- public static int floatToRawIntBits(float);
- public float floatValue();
- public int hashCode();
- public static int hashCode(float);
- public static float intBitsToFloat(int);
- public int intValue();
- public static boolean isFinite(float);
- public static boolean isInfinite(float);
- public boolean isInfinite();
- public static boolean isNaN(float);
- public boolean isNaN();
- public long longValue();
- public static float max(float, float);
- public static float min(float, float);
- public static float parseFloat(java.lang.String);
- public short shortValue();
- public static float sum(float, float);
- public static java.lang.String toHexString(float);
- public static java.lang.String toString(float);
- public java.lang.String toString();
- public static java.lang.Float valueOf(java.lang.String);
- public static java.lang.Float valueOf(float);
-
-
- public static int BYTES;
- public static int MAX_EXPONENT;
- public static float MAX_VALUE;
- public static int MIN_EXPONENT;
- public static float MIN_NORMAL;
- public static float MIN_VALUE;
- public static float NEGATIVE_INFINITY;
- public static float NaN;
- public static float POSITIVE_INFINITY;
- public static int SIZE;
- public static java.lang.Class TYPE;
-}
-
--keep class java.lang.IllegalAccessException {
- <init>();
- <init>(java.lang.String);
-
-
-
-}
-
--keep class java.lang.IllegalArgumentException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
- <init>(java.lang.Throwable);
-
-
-
-}
-
--keep class java.lang.IllegalStateException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
- <init>(java.lang.Throwable);
-
-
-
-}
-
--keep class java.lang.InstantiationException {
- <init>();
- <init>(java.lang.String);
-
-
-
-}
-
--keep class java.lang.Integer {
- <init>(int);
- <init>(java.lang.String);
-
- public static int bitCount(int);
- public byte byteValue();
- public static int compare(int, int);
- public int compareTo(java.lang.Integer);
- public int compareTo(java.lang.Object);
- public static int compareUnsigned(int, int);
- public static java.lang.Integer decode(java.lang.String);
- public static int divideUnsigned(int, int);
- public double doubleValue();
- public boolean equals(java.lang.Object);
- public float floatValue();
- public static java.lang.Integer getInteger(java.lang.String);
- public static java.lang.Integer getInteger(java.lang.String, int);
- public static java.lang.Integer getInteger(java.lang.String, java.lang.Integer);
- public int hashCode();
- public static int hashCode(int);
- public static int highestOneBit(int);
- public int intValue();
- public long longValue();
- public static int lowestOneBit(int);
- public static int max(int, int);
- public static int min(int, int);
- public static int numberOfLeadingZeros(int);
- public static int numberOfTrailingZeros(int);
- public static int parseInt(java.lang.String, int);
- public static int parseInt(java.lang.String);
- public static int parseUnsignedInt(java.lang.String, int);
- public static int parseUnsignedInt(java.lang.String);
- public static int remainderUnsigned(int, int);
- public static int reverse(int);
- public static int reverseBytes(int);
- public static int rotateLeft(int, int);
- public static int rotateRight(int, int);
- public short shortValue();
- public static int signum(int);
- public static int sum(int, int);
- public static java.lang.String toBinaryString(int);
- public static java.lang.String toHexString(int);
- public static java.lang.String toOctalString(int);
- public static java.lang.String toString(int, int);
- public static java.lang.String toString(int);
- public java.lang.String toString();
- public static long toUnsignedLong(int);
- public static java.lang.String toUnsignedString(int, int);
- public static java.lang.String toUnsignedString(int);
- public static java.lang.Integer valueOf(java.lang.String, int);
- public static java.lang.Integer valueOf(java.lang.String);
- public static java.lang.Integer valueOf(int);
-
-
- public static int BYTES;
- public static int MAX_VALUE;
- public static int MIN_VALUE;
- public static int SIZE;
- public static java.lang.Class TYPE;
-}
-
--keep class java.lang.InterruptedException {
- <init>();
- <init>(java.lang.String);
-
-
-
-}
-
--keep class java.lang.Iterable {
-
- public void forEach(java.util.function.Consumer);
- public abstract java.util.Iterator iterator();
- public java.util.Spliterator spliterator();
-
-
-}
-
--keep class java.lang.LinkageError {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
-
-
-
-}
-
--keep class java.lang.Long {
- <init>(long);
- <init>(java.lang.String);
-
- public static int bitCount(long);
- public byte byteValue();
- public static int compare(long, long);
- public int compareTo(java.lang.Long);
- public int compareTo(java.lang.Object);
- public static int compareUnsigned(long, long);
- public static java.lang.Long decode(java.lang.String);
- public static long divideUnsigned(long, long);
- public double doubleValue();
- public boolean equals(java.lang.Object);
- public float floatValue();
- public static java.lang.Long getLong(java.lang.String);
- public static java.lang.Long getLong(java.lang.String, long);
- public static java.lang.Long getLong(java.lang.String, java.lang.Long);
- public int hashCode();
- public static int hashCode(long);
- public static long highestOneBit(long);
- public int intValue();
- public long longValue();
- public static long lowestOneBit(long);
- public static long max(long, long);
- public static long min(long, long);
- public static int numberOfLeadingZeros(long);
- public static int numberOfTrailingZeros(long);
- public static long parseLong(java.lang.String, int);
- public static long parseLong(java.lang.String);
- public static long parseUnsignedLong(java.lang.String, int);
- public static long parseUnsignedLong(java.lang.String);
- public static long remainderUnsigned(long, long);
- public static long reverse(long);
- public static long reverseBytes(long);
- public static long rotateLeft(long, int);
- public static long rotateRight(long, int);
- public short shortValue();
- public static int signum(long);
- public static long sum(long, long);
- public static java.lang.String toBinaryString(long);
- public static java.lang.String toHexString(long);
- public static java.lang.String toOctalString(long);
- public static java.lang.String toString(long, int);
- public static java.lang.String toString(long);
- public java.lang.String toString();
- public static java.lang.String toUnsignedString(long, int);
- public static java.lang.String toUnsignedString(long);
- public static java.lang.Long valueOf(java.lang.String, int);
- public static java.lang.Long valueOf(java.lang.String);
- public static java.lang.Long valueOf(long);
-
-
- public static int BYTES;
- public static long MAX_VALUE;
- public static long MIN_VALUE;
- public static int SIZE;
- public static java.lang.Class TYPE;
-}
-
--keep class java.lang.NoSuchFieldException {
- <init>();
- <init>(java.lang.String);
-
-
-
-}
-
--keep class java.lang.NoSuchMethodException {
- <init>();
- <init>(java.lang.String);
-
-
-
-}
-
--keep class java.lang.Number {
- <init>();
-
- public byte byteValue();
- public abstract double doubleValue();
- public abstract float floatValue();
- public abstract int intValue();
- public abstract long longValue();
- public short shortValue();
-
-
-}
-
--keep class java.lang.NumberFormatException {
- <init>();
- <init>(java.lang.String);
-
-
-
-}
-
--keep class java.lang.Object {
- <init>();
-
- protected java.lang.Object clone();
- public boolean equals(java.lang.Object);
- protected void finalize();
- public java.lang.Class getClass();
- public int hashCode();
- public void notify();
- public void notifyAll();
- public java.lang.String toString();
- public void wait(long);
- public void wait(long, int);
- public void wait();
-
-
-}
-
--keep class java.lang.Package {
-
- public java.lang.annotation.Annotation getAnnotation(java.lang.Class);
- public java.lang.annotation.Annotation[] getAnnotations();
- public java.lang.annotation.Annotation[] getAnnotationsByType(java.lang.Class);
- public java.lang.annotation.Annotation getDeclaredAnnotation(java.lang.Class);
- public java.lang.annotation.Annotation[] getDeclaredAnnotations();
- public java.lang.annotation.Annotation[] getDeclaredAnnotationsByType(java.lang.Class);
- public java.lang.String getImplementationTitle();
- public java.lang.String getImplementationVendor();
- public java.lang.String getImplementationVersion();
- public java.lang.String getName();
- public static java.lang.Package getPackage(java.lang.String);
- public static java.lang.Package[] getPackages();
- public java.lang.String getSpecificationTitle();
- public java.lang.String getSpecificationVendor();
- public java.lang.String getSpecificationVersion();
- public int hashCode();
- public boolean isAnnotationPresent(java.lang.Class);
- public boolean isCompatibleWith(java.lang.String);
- public boolean isSealed();
- public boolean isSealed(java.net.URL);
- public java.lang.String toString();
-
-
-}
-
--keep class java.lang.ReflectiveOperationException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
- <init>(java.lang.Throwable);
-
-
-
-}
-
--keep class java.lang.Runnable {
-
- public abstract void run();
-
-
-}
-
--keep class java.lang.RuntimeException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
- <init>(java.lang.Throwable);
- <init>(java.lang.String, java.lang.Throwable, boolean, boolean);
-
-
-
-}
-
--keep class java.lang.SecurityException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
- <init>(java.lang.Throwable);
-
-
-
-}
-
--keep class java.lang.Short {
- <init>(short);
- <init>(java.lang.String);
-
- public byte byteValue();
- public static int compare(short, short);
- public int compareTo(java.lang.Short);
- public int compareTo(java.lang.Object);
- public static java.lang.Short decode(java.lang.String);
- public double doubleValue();
- public boolean equals(java.lang.Object);
- public float floatValue();
- public int hashCode();
- public static int hashCode(short);
- public int intValue();
- public long longValue();
- public static short parseShort(java.lang.String, int);
- public static short parseShort(java.lang.String);
- public static short reverseBytes(short);
- public short shortValue();
- public static java.lang.String toString(short);
- public java.lang.String toString();
- public static int toUnsignedInt(short);
- public static long toUnsignedLong(short);
- public static java.lang.Short valueOf(java.lang.String, int);
- public static java.lang.Short valueOf(java.lang.String);
- public static java.lang.Short valueOf(short);
-
-
- public static int BYTES;
- public static short MAX_VALUE;
- public static short MIN_VALUE;
- public static int SIZE;
- public static java.lang.Class TYPE;
-}
-
--keep class java.lang.StackTraceElement {
- <init>(java.lang.String, java.lang.String, java.lang.String, int);
-
- public boolean equals(java.lang.Object);
- public java.lang.String getClassName();
- public java.lang.String getFileName();
- public int getLineNumber();
- public java.lang.String getMethodName();
- public int hashCode();
- public boolean isNativeMethod();
- public java.lang.String toString();
-
-
-}
-
--keep class java.lang.String {
- <init>();
- <init>(java.lang.String);
- <init>(char[]);
- <init>(char[], int, int);
- <init>(int[], int, int);
- <init>(byte[], int, int, int);
- <init>(byte[], int);
- <init>(byte[], int, int, java.lang.String);
- <init>(byte[], int, int, java.nio.charset.Charset);
- <init>(byte[], java.lang.String);
- <init>(byte[], java.nio.charset.Charset);
- <init>(byte[], int, int);
- <init>(byte[]);
- <init>(java.lang.StringBuffer);
- <init>(java.lang.StringBuilder);
-
- public char charAt(int);
- public int codePointAt(int);
- public int codePointBefore(int);
- public int codePointCount(int, int);
- public int compareTo(java.lang.String);
- public int compareTo(java.lang.Object);
- public int compareToIgnoreCase(java.lang.String);
- public java.lang.String concat(java.lang.String);
- public boolean contains(java.lang.CharSequence);
- public boolean contentEquals(java.lang.StringBuffer);
- public boolean contentEquals(java.lang.CharSequence);
- public static java.lang.String copyValueOf(char[], int, int);
- public static java.lang.String copyValueOf(char[]);
- public boolean endsWith(java.lang.String);
- public boolean equals(java.lang.Object);
- public boolean equalsIgnoreCase(java.lang.String);
- public static java.lang.String format(java.lang.String, java.lang.Object[]);
- public static java.lang.String format(java.util.Locale, java.lang.String, java.lang.Object[]);
- public void getBytes(int, int, byte[], int);
- public byte[] getBytes(java.lang.String);
- public byte[] getBytes(java.nio.charset.Charset);
- public byte[] getBytes();
- public void getChars(int, int, char[], int);
- public int hashCode();
- public int indexOf(int);
- public int indexOf(int, int);
- public int indexOf(java.lang.String);
- public int indexOf(java.lang.String, int);
- public java.lang.String intern();
- public boolean isEmpty();
- public static java.lang.String join(java.lang.CharSequence, java.lang.CharSequence[]);
- public static java.lang.String join(java.lang.CharSequence, java.lang.Iterable);
- public int lastIndexOf(int);
- public int lastIndexOf(int, int);
- public int lastIndexOf(java.lang.String);
- public int lastIndexOf(java.lang.String, int);
- public int length();
- public boolean matches(java.lang.String);
- public int offsetByCodePoints(int, int);
- public boolean regionMatches(int, java.lang.String, int, int);
- public boolean regionMatches(boolean, int, java.lang.String, int, int);
- public java.lang.String replace(char, char);
- public java.lang.String replace(java.lang.CharSequence, java.lang.CharSequence);
- public java.lang.String replaceAll(java.lang.String, java.lang.String);
- public java.lang.String replaceFirst(java.lang.String, java.lang.String);
- public java.lang.String[] split(java.lang.String, int);
- public java.lang.String[] split(java.lang.String);
- public boolean startsWith(java.lang.String, int);
- public boolean startsWith(java.lang.String);
- public java.lang.CharSequence subSequence(int, int);
- public java.lang.String substring(int);
- public java.lang.String substring(int, int);
- public char[] toCharArray();
- public java.lang.String toLowerCase(java.util.Locale);
- public java.lang.String toLowerCase();
- public java.lang.String toString();
- public java.lang.String toUpperCase(java.util.Locale);
- public java.lang.String toUpperCase();
- public java.lang.String trim();
- public static java.lang.String valueOf(java.lang.Object);
- public static java.lang.String valueOf(char[]);
- public static java.lang.String valueOf(char[], int, int);
- public static java.lang.String valueOf(boolean);
- public static java.lang.String valueOf(char);
- public static java.lang.String valueOf(int);
- public static java.lang.String valueOf(long);
- public static java.lang.String valueOf(float);
- public static java.lang.String valueOf(double);
-
-
- public static java.util.Comparator CASE_INSENSITIVE_ORDER;
-}
-
--keep class java.lang.StringBuffer {
- <init>();
- <init>(int);
- <init>(java.lang.String);
- <init>(java.lang.CharSequence);
-
- public synchronized java.lang.StringBuffer append(java.lang.Object);
- public synchronized java.lang.StringBuffer append(java.lang.String);
- public synchronized java.lang.StringBuffer append(java.lang.StringBuffer);
- public synchronized java.lang.StringBuffer append(java.lang.CharSequence);
- public synchronized java.lang.StringBuffer append(java.lang.CharSequence, int, int);
- public synchronized java.lang.StringBuffer append(char[]);
- public synchronized java.lang.StringBuffer append(char[], int, int);
- public synchronized java.lang.StringBuffer append(boolean);
- public synchronized java.lang.StringBuffer append(char);
- public synchronized java.lang.StringBuffer append(int);
- public synchronized java.lang.StringBuffer append(long);
- public synchronized java.lang.StringBuffer append(float);
- public synchronized java.lang.StringBuffer append(double);
- public java.lang.AbstractStringBuilder append(double);
- public java.lang.AbstractStringBuilder append(float);
- public java.lang.AbstractStringBuilder append(long);
- public java.lang.AbstractStringBuilder append(int);
- public java.lang.AbstractStringBuilder append(char);
- public java.lang.AbstractStringBuilder append(boolean);
- public java.lang.AbstractStringBuilder append(char[], int, int);
- public java.lang.AbstractStringBuilder append(char[]);
- public java.lang.AbstractStringBuilder append(java.lang.CharSequence, int, int);
- public java.lang.AbstractStringBuilder append(java.lang.CharSequence);
- public java.lang.AbstractStringBuilder append(java.lang.StringBuffer);
- public java.lang.AbstractStringBuilder append(java.lang.String);
- public java.lang.AbstractStringBuilder append(java.lang.Object);
- public java.lang.Appendable append(char);
- public java.lang.Appendable append(java.lang.CharSequence, int, int);
- public java.lang.Appendable append(java.lang.CharSequence);
- public synchronized java.lang.StringBuffer appendCodePoint(int);
- public java.lang.AbstractStringBuilder appendCodePoint(int);
- public synchronized int capacity();
- public synchronized char charAt(int);
- public synchronized int codePointAt(int);
- public synchronized int codePointBefore(int);
- public synchronized int codePointCount(int, int);
- public synchronized java.lang.StringBuffer delete(int, int);
- public java.lang.AbstractStringBuilder delete(int, int);
- public synchronized java.lang.StringBuffer deleteCharAt(int);
- public java.lang.AbstractStringBuilder deleteCharAt(int);
- public synchronized void ensureCapacity(int);
- public synchronized void getChars(int, int, char[], int);
- public int indexOf(java.lang.String);
- public synchronized int indexOf(java.lang.String, int);
- public synchronized java.lang.StringBuffer insert(int, char[], int, int);
- public synchronized java.lang.StringBuffer insert(int, java.lang.Object);
- public synchronized java.lang.StringBuffer insert(int, java.lang.String);
- public synchronized java.lang.StringBuffer insert(int, char[]);
- public java.lang.StringBuffer insert(int, java.lang.CharSequence);
- public synchronized java.lang.StringBuffer insert(int, java.lang.CharSequence, int, int);
- public java.lang.StringBuffer insert(int, boolean);
- public synchronized java.lang.StringBuffer insert(int, char);
- public java.lang.StringBuffer insert(int, int);
- public java.lang.StringBuffer insert(int, long);
- public java.lang.StringBuffer insert(int, float);
- public java.lang.StringBuffer insert(int, double);
- public java.lang.AbstractStringBuilder insert(int, double);
- public java.lang.AbstractStringBuilder insert(int, float);
- public java.lang.AbstractStringBuilder insert(int, long);
- public java.lang.AbstractStringBuilder insert(int, int);
- public java.lang.AbstractStringBuilder insert(int, char);
- public java.lang.AbstractStringBuilder insert(int, boolean);
- public java.lang.AbstractStringBuilder insert(int, java.lang.CharSequence, int, int);
- public java.lang.AbstractStringBuilder insert(int, java.lang.CharSequence);
- public java.lang.AbstractStringBuilder insert(int, char[]);
- public java.lang.AbstractStringBuilder insert(int, java.lang.String);
- public java.lang.AbstractStringBuilder insert(int, java.lang.Object);
- public java.lang.AbstractStringBuilder insert(int, char[], int, int);
- public int lastIndexOf(java.lang.String);
- public synchronized int lastIndexOf(java.lang.String, int);
- public synchronized int length();
- public synchronized int offsetByCodePoints(int, int);
- public synchronized java.lang.StringBuffer replace(int, int, java.lang.String);
- public java.lang.AbstractStringBuilder replace(int, int, java.lang.String);
- public synchronized java.lang.StringBuffer reverse();
- public java.lang.AbstractStringBuilder reverse();
- public synchronized void setCharAt(int, char);
- public synchronized void setLength(int);
- public synchronized java.lang.CharSequence subSequence(int, int);
- public synchronized java.lang.String substring(int);
- public synchronized java.lang.String substring(int, int);
- public synchronized java.lang.String toString();
- public synchronized void trimToSize();
-
-
-}
-
--keep class java.lang.StringBuilder {
- <init>();
- <init>(int);
- <init>(java.lang.String);
- <init>(java.lang.CharSequence);
-
- public java.lang.StringBuilder append(java.lang.Object);
- public java.lang.StringBuilder append(java.lang.String);
- public java.lang.StringBuilder append(java.lang.StringBuffer);
- public java.lang.StringBuilder append(java.lang.CharSequence);
- public java.lang.StringBuilder append(java.lang.CharSequence, int, int);
- public java.lang.StringBuilder append(char[]);
- public java.lang.StringBuilder append(char[], int, int);
- public java.lang.StringBuilder append(boolean);
- public java.lang.StringBuilder append(char);
- public java.lang.StringBuilder append(int);
- public java.lang.StringBuilder append(long);
- public java.lang.StringBuilder append(float);
- public java.lang.StringBuilder append(double);
- public java.lang.AbstractStringBuilder append(double);
- public java.lang.AbstractStringBuilder append(float);
- public java.lang.AbstractStringBuilder append(long);
- public java.lang.AbstractStringBuilder append(int);
- public java.lang.AbstractStringBuilder append(char);
- public java.lang.AbstractStringBuilder append(boolean);
- public java.lang.AbstractStringBuilder append(char[], int, int);
- public java.lang.AbstractStringBuilder append(char[]);
- public java.lang.AbstractStringBuilder append(java.lang.CharSequence, int, int);
- public java.lang.AbstractStringBuilder append(java.lang.CharSequence);
- public java.lang.AbstractStringBuilder append(java.lang.StringBuffer);
- public java.lang.AbstractStringBuilder append(java.lang.String);
- public java.lang.AbstractStringBuilder append(java.lang.Object);
- public java.lang.Appendable append(char);
- public java.lang.Appendable append(java.lang.CharSequence, int, int);
- public java.lang.Appendable append(java.lang.CharSequence);
- public java.lang.StringBuilder appendCodePoint(int);
- public java.lang.AbstractStringBuilder appendCodePoint(int);
- public int capacity();
- public char charAt(int);
- public int codePointAt(int);
- public int codePointBefore(int);
- public int codePointCount(int, int);
- public java.lang.StringBuilder delete(int, int);
- public java.lang.AbstractStringBuilder delete(int, int);
- public java.lang.StringBuilder deleteCharAt(int);
- public java.lang.AbstractStringBuilder deleteCharAt(int);
- public void ensureCapacity(int);
- public void getChars(int, int, char[], int);
- public int indexOf(java.lang.String);
- public int indexOf(java.lang.String, int);
- public java.lang.StringBuilder insert(int, char[], int, int);
- public java.lang.StringBuilder insert(int, java.lang.Object);
- public java.lang.StringBuilder insert(int, java.lang.String);
- public java.lang.StringBuilder insert(int, char[]);
- public java.lang.StringBuilder insert(int, java.lang.CharSequence);
- public java.lang.StringBuilder insert(int, java.lang.CharSequence, int, int);
- public java.lang.StringBuilder insert(int, boolean);
- public java.lang.StringBuilder insert(int, char);
- public java.lang.StringBuilder insert(int, int);
- public java.lang.StringBuilder insert(int, long);
- public java.lang.StringBuilder insert(int, float);
- public java.lang.StringBuilder insert(int, double);
- public java.lang.AbstractStringBuilder insert(int, double);
- public java.lang.AbstractStringBuilder insert(int, float);
- public java.lang.AbstractStringBuilder insert(int, long);
- public java.lang.AbstractStringBuilder insert(int, int);
- public java.lang.AbstractStringBuilder insert(int, char);
- public java.lang.AbstractStringBuilder insert(int, boolean);
- public java.lang.AbstractStringBuilder insert(int, java.lang.CharSequence, int, int);
- public java.lang.AbstractStringBuilder insert(int, java.lang.CharSequence);
- public java.lang.AbstractStringBuilder insert(int, char[]);
- public java.lang.AbstractStringBuilder insert(int, java.lang.String);
- public java.lang.AbstractStringBuilder insert(int, java.lang.Object);
- public java.lang.AbstractStringBuilder insert(int, char[], int, int);
- public int lastIndexOf(java.lang.String);
- public int lastIndexOf(java.lang.String, int);
- public int length();
- public int offsetByCodePoints(int, int);
- public java.lang.StringBuilder replace(int, int, java.lang.String);
- public java.lang.AbstractStringBuilder replace(int, int, java.lang.String);
- public java.lang.StringBuilder reverse();
- public java.lang.AbstractStringBuilder reverse();
- public void setCharAt(int, char);
- public void setLength(int);
- public java.lang.CharSequence subSequence(int, int);
- public java.lang.String substring(int, int);
- public java.lang.String substring(int);
- public java.lang.String toString();
- public void trimToSize();
-
-
-}
-
--keep class java.lang.Thread {
- <init>();
- <init>(java.lang.Runnable);
- <init>(java.lang.ThreadGroup, java.lang.Runnable);
- <init>(java.lang.String);
- <init>(java.lang.ThreadGroup, java.lang.String);
- <init>(java.lang.Runnable, java.lang.String);
- <init>(java.lang.ThreadGroup, java.lang.Runnable, java.lang.String);
- <init>(java.lang.ThreadGroup, java.lang.Runnable, java.lang.String, long);
-
- public static int activeCount();
- public void blockedOn(sun.nio.ch.Interruptible);
- public void checkAccess();
- protected java.lang.Object clone();
- public int countStackFrames();
- public static java.lang.Thread currentThread();
- public void destroy();
- public void dispatchUncaughtException(java.lang.Throwable);
- public static void dumpStack();
- public static int enumerate(java.lang.Thread[]);
- public static java.util.Map getAllStackTraces();
- public java.lang.ClassLoader getContextClassLoader();
- public static java.lang.Thread$UncaughtExceptionHandler getDefaultUncaughtExceptionHandler();
- public long getId();
- public java.lang.String getName();
- public int getPriority();
- public java.lang.StackTraceElement[] getStackTrace();
- public java.lang.Thread$State getState();
- public java.lang.ThreadGroup getThreadGroup();
- public java.lang.Thread$UncaughtExceptionHandler getUncaughtExceptionHandler();
- public static java.lang.Thread$UncaughtExceptionHandler getUncaughtExceptionPreHandler();
- public static boolean holdsLock(java.lang.Object);
- public void interrupt();
- public static boolean interrupted();
- public boolean isAlive();
- public boolean isDaemon();
- public boolean isInterrupted();
- public void join(long);
- public void join(long, int);
- public void join();
- public void parkFor$(long);
- public void parkUntil$(long);
- public void resume();
- public void run();
- public void setContextClassLoader(java.lang.ClassLoader);
- public void setDaemon(boolean);
- public static void setDefaultUncaughtExceptionHandler(java.lang.Thread$UncaughtExceptionHandler);
- public void setName(java.lang.String);
- public void setPriority(int);
- public void setUncaughtExceptionHandler(java.lang.Thread$UncaughtExceptionHandler);
- public static void setUncaughtExceptionPreHandler(java.lang.Thread$UncaughtExceptionHandler);
- public static void sleep(long);
- public static void sleep(long, int);
- public synchronized void start();
- public void stop();
- public void stop(java.lang.Throwable);
- public void suspend();
- public java.lang.String toString();
- public void unpark$();
- public static void yield();
-
-
- public static int MAX_PRIORITY;
- public static int MIN_PRIORITY;
- public static int NORM_PRIORITY;
-}
-
--keep class java.lang.Thread$State {
-
- public static java.lang.Thread$State valueOf(java.lang.String);
- public static java.lang.Thread$State[] values();
-
- public static java.lang.Thread$State BLOCKED;
- public static java.lang.Thread$State NEW;
- public static java.lang.Thread$State RUNNABLE;
- public static java.lang.Thread$State TERMINATED;
- public static java.lang.Thread$State TIMED_WAITING;
- public static java.lang.Thread$State WAITING;
-
-}
-
--keep class java.lang.Thread$UncaughtExceptionHandler {
-
- public abstract void uncaughtException(java.lang.Thread, java.lang.Throwable);
-
-
-}
-
--keep class java.lang.ThreadGroup {
- <init>(java.lang.String);
- <init>(java.lang.ThreadGroup, java.lang.String);
-
- public int activeCount();
- public int activeGroupCount();
- public boolean allowThreadSuspension(boolean);
- public void checkAccess();
- public void destroy();
- public int enumerate(java.lang.Thread[]);
- public int enumerate(java.lang.Thread[], boolean);
- public int enumerate(java.lang.ThreadGroup[]);
- public int enumerate(java.lang.ThreadGroup[], boolean);
- public int getMaxPriority();
- public java.lang.String getName();
- public java.lang.ThreadGroup getParent();
- public void interrupt();
- public boolean isDaemon();
- public synchronized boolean isDestroyed();
- public void list();
- public boolean parentOf(java.lang.ThreadGroup);
- public void resume();
- public void setDaemon(boolean);
- public void setMaxPriority(int);
- public void stop();
- public void suspend();
- public java.lang.String toString();
- public void uncaughtException(java.lang.Thread, java.lang.Throwable);
-
-
-}
-
--keep class java.lang.ThreadLocal {
- <init>();
-
- public java.lang.Object get();
- protected java.lang.Object initialValue();
- public void remove();
- public void set(java.lang.Object);
- public static java.lang.ThreadLocal withInitial(java.util.function.Supplier);
-
-
-}
-
--keep class java.lang.Throwable {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
- <init>(java.lang.Throwable);
- <init>(java.lang.String, java.lang.Throwable, boolean, boolean);
-
- public synchronized void addSuppressed(java.lang.Throwable);
- public synchronized java.lang.Throwable fillInStackTrace();
- public synchronized java.lang.Throwable getCause();
- public java.lang.String getLocalizedMessage();
- public java.lang.String getMessage();
- public java.lang.StackTraceElement[] getStackTrace();
- public synchronized java.lang.Throwable[] getSuppressed();
- public synchronized java.lang.Throwable initCause(java.lang.Throwable);
- public void printStackTrace();
- public void printStackTrace(java.io.PrintStream);
- public void printStackTrace(java.io.PrintWriter);
- public void setStackTrace(java.lang.StackTraceElement[]);
- public java.lang.String toString();
-
-
-}
-
--keep class java.lang.annotation.Annotation {
-
- public abstract java.lang.Class annotationType();
- public abstract boolean equals(java.lang.Object);
- public abstract int hashCode();
- public abstract java.lang.String toString();
-
-
-}
-
--keep class java.lang.reflect.AccessibleObject {
- <init>();
-
- public java.lang.annotation.Annotation getAnnotation(java.lang.Class);
- public java.lang.annotation.Annotation[] getAnnotations();
- public java.lang.annotation.Annotation[] getAnnotationsByType(java.lang.Class);
- public java.lang.annotation.Annotation getDeclaredAnnotation(java.lang.Class);
- public java.lang.annotation.Annotation[] getDeclaredAnnotations();
- public java.lang.annotation.Annotation[] getDeclaredAnnotationsByType(java.lang.Class);
- public boolean isAccessible();
- public boolean isAnnotationPresent(java.lang.Class);
- public static void setAccessible(java.lang.reflect.AccessibleObject[], boolean);
- public void setAccessible(boolean);
-
-
-}
-
--keep class java.lang.reflect.Constructor {
-
- public boolean equals(java.lang.Object);
- public java.lang.annotation.Annotation getAnnotation(java.lang.Class);
- public java.lang.annotation.Annotation[] getDeclaredAnnotations();
- public java.lang.Class getDeclaringClass();
- public java.lang.Class[] getExceptionTypes();
- public java.lang.reflect.Type[] getGenericExceptionTypes();
- public java.lang.reflect.Type[] getGenericParameterTypes();
- public int getModifiers();
- public java.lang.String getName();
- public java.lang.annotation.Annotation[][] getParameterAnnotations();
- public int getParameterCount();
- public java.lang.Class[] getParameterTypes();
- public java.lang.reflect.TypeVariable[] getTypeParameters();
- public int hashCode();
- public boolean isSynthetic();
- public boolean isVarArgs();
- public java.lang.Object newInstance(java.lang.Object[]);
- public java.lang.reflect.Constructor serializationCopy(java.lang.Class, java.lang.Class);
- public java.lang.String toGenericString();
- public java.lang.String toString();
-
-
-}
-
--keep class java.lang.reflect.Executable {
-
- public int getAccessFlags();
- public java.lang.annotation.Annotation getAnnotation(java.lang.Class);
- public java.lang.annotation.Annotation[] getAnnotationsByType(java.lang.Class);
- public long getArtMethod();
- public java.lang.annotation.Annotation[] getDeclaredAnnotations();
- public abstract java.lang.Class getDeclaringClass();
- public abstract java.lang.Class[] getExceptionTypes();
- public java.lang.reflect.Type[] getGenericExceptionTypes();
- public java.lang.reflect.Type[] getGenericParameterTypes();
- public abstract int getModifiers();
- public abstract java.lang.String getName();
- public abstract java.lang.annotation.Annotation[][] getParameterAnnotations();
- public int getParameterCount();
- public abstract java.lang.Class[] getParameterTypes();
- public java.lang.reflect.Parameter[] getParameters();
- public abstract java.lang.reflect.TypeVariable[] getTypeParameters();
- public boolean isAnnotationPresent(java.lang.Class);
- public boolean isSynthetic();
- public boolean isVarArgs();
- public abstract java.lang.String toGenericString();
-
-
-}
-
--keep class java.lang.reflect.Field {
-
- public boolean equals(java.lang.Object);
- public java.lang.Object get(java.lang.Object);
- public java.lang.annotation.Annotation getAnnotation(java.lang.Class);
- public java.lang.annotation.Annotation[] getAnnotationsByType(java.lang.Class);
- public long getArtField();
- public boolean getBoolean(java.lang.Object);
- public byte getByte(java.lang.Object);
- public char getChar(java.lang.Object);
- public java.lang.annotation.Annotation[] getDeclaredAnnotations();
- public java.lang.Class getDeclaringClass();
- public int getDexFieldIndex();
- public double getDouble(java.lang.Object);
- public float getFloat(java.lang.Object);
- public java.lang.reflect.Type getGenericType();
- public int getInt(java.lang.Object);
- public long getLong(java.lang.Object);
- public int getModifiers();
- public java.lang.String getName();
- public int getOffset();
- public short getShort(java.lang.Object);
- public java.lang.Class getType();
- public int hashCode();
- public boolean isAnnotationPresent(java.lang.Class);
- public boolean isEnumConstant();
- public boolean isSynthetic();
- public void set(java.lang.Object, java.lang.Object);
- public void setBoolean(java.lang.Object, boolean);
- public void setByte(java.lang.Object, byte);
- public void setChar(java.lang.Object, char);
- public void setDouble(java.lang.Object, double);
- public void setFloat(java.lang.Object, float);
- public void setInt(java.lang.Object, int);
- public void setLong(java.lang.Object, long);
- public void setShort(java.lang.Object, short);
- public java.lang.String toGenericString();
- public java.lang.String toString();
-
-
-}
-
--keep class java.lang.reflect.GenericDeclaration {
-
- public abstract java.lang.reflect.TypeVariable[] getTypeParameters();
-
-
-}
-
--keep class java.lang.reflect.InvocationTargetException {
- <init>();
- <init>(java.lang.Throwable);
- <init>(java.lang.Throwable, java.lang.String);
-
- public java.lang.Throwable getCause();
- public java.lang.Throwable getTargetException();
-
-
-}
-
--keep class java.lang.reflect.Method {
-
- public boolean equals(java.lang.Object);
- public java.lang.annotation.Annotation getAnnotation(java.lang.Class);
- public java.lang.annotation.Annotation[] getDeclaredAnnotations();
- public java.lang.Class getDeclaringClass();
- public java.lang.Object getDefaultValue();
- public java.lang.Class[] getExceptionTypes();
- public java.lang.reflect.Type[] getGenericExceptionTypes();
- public java.lang.reflect.Type[] getGenericParameterTypes();
- public java.lang.reflect.Type getGenericReturnType();
- public int getModifiers();
- public java.lang.String getName();
- public java.lang.annotation.Annotation[][] getParameterAnnotations();
- public int getParameterCount();
- public java.lang.Class[] getParameterTypes();
- public java.lang.Class getReturnType();
- public java.lang.reflect.TypeVariable[] getTypeParameters();
- public int hashCode();
- public java.lang.Object invoke(java.lang.Object, java.lang.Object[]);
- public boolean isBridge();
- public boolean isDefault();
- public boolean isSynthetic();
- public boolean isVarArgs();
- public java.lang.String toGenericString();
- public java.lang.String toString();
-
-
- public static java.util.Comparator ORDER_BY_SIGNATURE;
-}
-
--keep class java.lang.reflect.Parameter {
-
- public boolean equals(java.lang.Object);
- public java.lang.annotation.Annotation getAnnotation(java.lang.Class);
- public java.lang.annotation.Annotation[] getAnnotations();
- public java.lang.annotation.Annotation[] getAnnotationsByType(java.lang.Class);
- public java.lang.annotation.Annotation getDeclaredAnnotation(java.lang.Class);
- public java.lang.annotation.Annotation[] getDeclaredAnnotations();
- public java.lang.annotation.Annotation[] getDeclaredAnnotationsByType(java.lang.Class);
- public java.lang.reflect.Executable getDeclaringExecutable();
- public int getModifiers();
- public java.lang.String getName();
- public java.lang.reflect.Type getParameterizedType();
- public java.lang.Class getType();
- public int hashCode();
- public boolean isImplicit();
- public boolean isNamePresent();
- public boolean isSynthetic();
- public boolean isVarArgs();
- public java.lang.String toString();
-
-
-}
-
--keep class java.lang.reflect.Type {
-
- public java.lang.String getTypeName();
-
-
-}
-
--keep class java.lang.reflect.TypeVariable {
-
- public abstract java.lang.reflect.Type[] getBounds();
- public abstract java.lang.reflect.GenericDeclaration getGenericDeclaration();
- public abstract java.lang.String getName();
-
-
-}
-
--keep class java.net.ContentHandler {
- <init>();
-
- public abstract java.lang.Object getContent(java.net.URLConnection);
- public java.lang.Object getContent(java.net.URLConnection, java.lang.Class[]);
-
-
-}
-
--keep class java.net.ContentHandlerFactory {
-
- public abstract java.net.ContentHandler createContentHandler(java.lang.String);
-
-
-}
-
--keep class java.net.DatagramPacket {
- <init>(byte[], int, int);
- <init>(byte[], int);
- <init>(byte[], int, int, java.net.InetAddress, int);
- <init>(byte[], int, int, java.net.SocketAddress);
- <init>(byte[], int, java.net.InetAddress, int);
- <init>(byte[], int, java.net.SocketAddress);
-
- public synchronized java.net.InetAddress getAddress();
- public synchronized byte[] getData();
- public synchronized int getLength();
- public synchronized int getOffset();
- public synchronized int getPort();
- public synchronized java.net.SocketAddress getSocketAddress();
- public synchronized void setAddress(java.net.InetAddress);
- public synchronized void setData(byte[], int, int);
- public synchronized void setData(byte[]);
- public synchronized void setLength(int);
- public synchronized void setPort(int);
- public void setReceivedLength(int);
- public synchronized void setSocketAddress(java.net.SocketAddress);
-
-
-}
-
--keep class java.net.DatagramSocket {
- <init>();
- <init>(java.net.DatagramSocketImpl);
- <init>(java.net.SocketAddress);
- <init>(int);
- <init>(int, java.net.InetAddress);
-
- public synchronized void bind(java.net.SocketAddress);
- public void close();
- public void connect(java.net.InetAddress, int);
- public void connect(java.net.SocketAddress);
- public void disconnect();
- public synchronized boolean getBroadcast();
- public java.nio.channels.DatagramChannel getChannel();
- public java.io.FileDescriptor getFileDescriptor$();
- public java.net.InetAddress getInetAddress();
- public java.net.InetAddress getLocalAddress();
- public int getLocalPort();
- public java.net.SocketAddress getLocalSocketAddress();
- public int getPort();
- public synchronized int getReceiveBufferSize();
- public java.net.SocketAddress getRemoteSocketAddress();
- public synchronized boolean getReuseAddress();
- public synchronized int getSendBufferSize();
- public synchronized int getSoTimeout();
- public synchronized int getTrafficClass();
- public boolean isBound();
- public boolean isClosed();
- public boolean isConnected();
- public synchronized void receive(java.net.DatagramPacket);
- public void send(java.net.DatagramPacket);
- public synchronized void setBroadcast(boolean);
- public static synchronized void setDatagramSocketImplFactory(java.net.DatagramSocketImplFactory);
- public synchronized void setReceiveBufferSize(int);
- public synchronized void setReuseAddress(boolean);
- public synchronized void setSendBufferSize(int);
- public synchronized void setSoTimeout(int);
- public synchronized void setTrafficClass(int);
-
-
-}
-
--keep class java.net.DatagramSocketImpl {
- <init>();
-
- protected abstract void bind(int, java.net.InetAddress);
- protected abstract void close();
- protected void connect(java.net.InetAddress, int);
- protected abstract void create();
- protected void disconnect();
- protected java.io.FileDescriptor getFileDescriptor();
- protected int getLocalPort();
- protected abstract byte getTTL();
- protected abstract int getTimeToLive();
- protected abstract void join(java.net.InetAddress);
- protected abstract void joinGroup(java.net.SocketAddress, java.net.NetworkInterface);
- protected abstract void leave(java.net.InetAddress);
- protected abstract void leaveGroup(java.net.SocketAddress, java.net.NetworkInterface);
- protected abstract int peek(java.net.InetAddress);
- protected abstract int peekData(java.net.DatagramPacket);
- protected abstract void receive(java.net.DatagramPacket);
- protected abstract void send(java.net.DatagramPacket);
- protected abstract void setTTL(byte);
- protected abstract void setTimeToLive(int);
-
-
- protected java.io.FileDescriptor fd;
- protected int localPort;
-}
-
--keep class java.net.DatagramSocketImplFactory {
-
- public abstract java.net.DatagramSocketImpl createDatagramSocketImpl();
-
-
-}
-
--keep class java.net.FileNameMap {
-
- public abstract java.lang.String getContentTypeFor(java.lang.String);
-
-
-}
-
--keep class java.net.InetAddress {
-
- public static void clearDnsCache();
- public boolean equals(java.lang.Object);
- public byte[] getAddress();
- public static java.net.InetAddress[] getAllByName(java.lang.String);
- public static java.net.InetAddress[] getAllByNameOnNet(java.lang.String, int);
- public static java.net.InetAddress getByAddress(java.lang.String, byte[]);
- public static java.net.InetAddress getByAddress(byte[]);
- public static java.net.InetAddress getByName(java.lang.String);
- public static java.net.InetAddress getByNameOnNet(java.lang.String, int);
- public java.lang.String getCanonicalHostName();
- public java.lang.String getHostAddress();
- public java.lang.String getHostName();
- public static java.net.InetAddress getLocalHost();
- public static java.net.InetAddress getLoopbackAddress();
- public int hashCode();
- public boolean isAnyLocalAddress();
- public boolean isLinkLocalAddress();
- public boolean isLoopbackAddress();
- public boolean isMCGlobal();
- public boolean isMCLinkLocal();
- public boolean isMCNodeLocal();
- public boolean isMCOrgLocal();
- public boolean isMCSiteLocal();
- public boolean isMulticastAddress();
- public static boolean isNumeric(java.lang.String);
- public boolean isReachable(int);
- public boolean isReachable(java.net.NetworkInterface, int, int);
- public boolean isReachableByICMP(int);
- public boolean isSiteLocalAddress();
- public static java.net.InetAddress parseNumericAddress(java.lang.String);
- public java.lang.String toString();
-
-
-}
-
--keep class java.net.InterfaceAddress {
-
- public boolean equals(java.lang.Object);
- public java.net.InetAddress getAddress();
- public java.net.InetAddress getBroadcast();
- public short getNetworkPrefixLength();
- public int hashCode();
- public java.lang.String toString();
-
-
-}
-
--keep class java.net.MalformedURLException {
- <init>();
- <init>(java.lang.String);
-
-
-
-}
-
--keep class java.net.NetworkInterface {
-
- public boolean equals(java.lang.Object);
- public static java.net.NetworkInterface getByIndex(int);
- public static java.net.NetworkInterface getByInetAddress(java.net.InetAddress);
- public static java.net.NetworkInterface getByName(java.lang.String);
- public java.lang.String getDisplayName();
- public byte[] getHardwareAddress();
- public int getIndex();
- public java.util.Enumeration getInetAddresses();
- public java.util.List getInterfaceAddresses();
- public int getMTU();
- public java.lang.String getName();
- public static java.util.Enumeration getNetworkInterfaces();
- public java.net.NetworkInterface getParent();
- public java.util.Enumeration getSubInterfaces();
- public int hashCode();
- public boolean isLoopback();
- public boolean isPointToPoint();
- public boolean isUp();
- public boolean isVirtual();
- public boolean supportsMulticast();
- public java.lang.String toString();
-
-
-}
-
--keep class java.net.ProtocolFamily {
-
- public abstract java.lang.String name();
-
-
-}
-
--keep class java.net.Proxy {
- <init>(java.net.Proxy$Type, java.net.SocketAddress);
-
- public java.net.SocketAddress address();
- public boolean equals(java.lang.Object);
- public int hashCode();
- public java.lang.String toString();
- public java.net.Proxy$Type type();
-
-
- public static java.net.Proxy NO_PROXY;
-}
-
--keep class java.net.Proxy$Type {
-
- public static java.net.Proxy$Type valueOf(java.lang.String);
- public static java.net.Proxy$Type[] values();
-
- public static java.net.Proxy$Type DIRECT;
- public static java.net.Proxy$Type HTTP;
- public static java.net.Proxy$Type SOCKS;
-
-}
-
--keep class java.net.ServerSocket {
- <init>();
- <init>(int);
- <init>(int, int);
- <init>(int, int, java.net.InetAddress);
-
- public java.net.Socket accept();
- public void bind(java.net.SocketAddress);
- public void bind(java.net.SocketAddress, int);
- public void close();
- public java.nio.channels.ServerSocketChannel getChannel();
- public java.io.FileDescriptor getFileDescriptor$();
- public java.net.SocketImpl getImpl();
- public java.net.InetAddress getInetAddress();
- public int getLocalPort();
- public java.net.SocketAddress getLocalSocketAddress();
- public synchronized int getReceiveBufferSize();
- public boolean getReuseAddress();
- public synchronized int getSoTimeout();
- protected void implAccept(java.net.Socket);
- public boolean isBound();
- public boolean isClosed();
- public void setPerformancePreferences(int, int, int);
- public synchronized void setReceiveBufferSize(int);
- public void setReuseAddress(boolean);
- public synchronized void setSoTimeout(int);
- public static synchronized void setSocketFactory(java.net.SocketImplFactory);
- public java.lang.String toString();
-
-
-}
-
--keep class java.net.Socket {
- <init>();
- <init>(java.net.Proxy);
- <init>(java.net.SocketImpl);
- <init>(java.lang.String, int);
- <init>(java.net.InetAddress, int);
- <init>(java.lang.String, int, java.net.InetAddress, int);
- <init>(java.net.InetAddress, int, java.net.InetAddress, int);
- <init>(java.lang.String, int, boolean);
- <init>(java.net.InetAddress, int, boolean);
-
- public void bind(java.net.SocketAddress);
- public synchronized void close();
- public void connect(java.net.SocketAddress);
- public void connect(java.net.SocketAddress, int);
- public java.nio.channels.SocketChannel getChannel();
- public java.io.FileDescriptor getFileDescriptor$();
- public java.net.InetAddress getInetAddress();
- public java.io.InputStream getInputStream();
- public boolean getKeepAlive();
- public java.net.InetAddress getLocalAddress();
- public int getLocalPort();
- public java.net.SocketAddress getLocalSocketAddress();
- public boolean getOOBInline();
- public java.io.OutputStream getOutputStream();
- public int getPort();
- public synchronized int getReceiveBufferSize();
- public java.net.SocketAddress getRemoteSocketAddress();
- public boolean getReuseAddress();
- public synchronized int getSendBufferSize();
- public int getSoLinger();
- public synchronized int getSoTimeout();
- public boolean getTcpNoDelay();
- public int getTrafficClass();
- public boolean isBound();
- public boolean isClosed();
- public boolean isConnected();
- public boolean isInputShutdown();
- public boolean isOutputShutdown();
- public void sendUrgentData(int);
- public void setKeepAlive(boolean);
- public void setOOBInline(boolean);
- public void setPerformancePreferences(int, int, int);
- public synchronized void setReceiveBufferSize(int);
- public void setReuseAddress(boolean);
- public synchronized void setSendBufferSize(int);
- public void setSoLinger(boolean, int);
- public synchronized void setSoTimeout(int);
- public static synchronized void setSocketImplFactory(java.net.SocketImplFactory);
- public void setTcpNoDelay(boolean);
- public void setTrafficClass(int);
- public void shutdownInput();
- public void shutdownOutput();
- public java.lang.String toString();
-
-
-}
-
--keep class java.net.SocketAddress {
- <init>();
-
-
-
-}
-
--keep class java.net.SocketException {
- <init>(java.lang.String);
- <init>();
- <init>(java.lang.Throwable);
- <init>(java.lang.String, java.lang.Throwable);
-
-
-
-}
-
--keep class java.net.SocketImpl {
- <init>();
-
- protected abstract void accept(java.net.SocketImpl);
- protected abstract int available();
- protected abstract void bind(java.net.InetAddress, int);
- protected abstract void close();
- protected abstract void connect(java.lang.String, int);
- protected abstract void connect(java.net.InetAddress, int);
- protected abstract void connect(java.net.SocketAddress, int);
- protected abstract void create(boolean);
- public java.io.FileDescriptor getFD$();
- protected java.io.FileDescriptor getFileDescriptor();
- protected java.net.InetAddress getInetAddress();
- protected abstract java.io.InputStream getInputStream();
- protected int getLocalPort();
- protected abstract java.io.OutputStream getOutputStream();
- protected int getPort();
- protected abstract void listen(int);
- protected abstract void sendUrgentData(int);
- protected void setPerformancePreferences(int, int, int);
- protected void shutdownInput();
- protected void shutdownOutput();
- protected boolean supportsUrgentData();
- public java.lang.String toString();
-
-
- protected java.net.InetAddress address;
- protected java.io.FileDescriptor fd;
- protected int localport;
- protected int port;
-}
-
--keep class java.net.SocketImplFactory {
-
- public abstract java.net.SocketImpl createSocketImpl();
-
-
-}
-
--keep class java.net.SocketOption {
-
- public abstract java.lang.String name();
- public abstract java.lang.Class type();
-
-
-}
-
--keep class java.net.URI {
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String);
- <init>(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
- <init>(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
- <init>(java.lang.String, java.lang.String, java.lang.String);
-
- public int compareTo(java.net.URI);
- public int compareTo(java.lang.Object);
- public static java.net.URI create(java.lang.String);
- public boolean equals(java.lang.Object);
- public java.lang.String getAuthority();
- public java.lang.String getFragment();
- public java.lang.String getHost();
- public java.lang.String getPath();
- public int getPort();
- public java.lang.String getQuery();
- public java.lang.String getRawAuthority();
- public java.lang.String getRawFragment();
- public java.lang.String getRawPath();
- public java.lang.String getRawQuery();
- public java.lang.String getRawSchemeSpecificPart();
- public java.lang.String getRawUserInfo();
- public java.lang.String getScheme();
- public java.lang.String getSchemeSpecificPart();
- public java.lang.String getUserInfo();
- public int hashCode();
- public boolean isAbsolute();
- public boolean isOpaque();
- public java.net.URI normalize();
- public java.net.URI parseServerAuthority();
- public java.net.URI relativize(java.net.URI);
- public java.net.URI resolve(java.net.URI);
- public java.net.URI resolve(java.lang.String);
- public java.lang.String toASCIIString();
- public java.lang.String toString();
- public java.net.URL toURL();
-
-
-}
-
--keep class java.net.URISyntaxException {
- <init>(java.lang.String, java.lang.String, int);
- <init>(java.lang.String, java.lang.String);
-
- public int getIndex();
- public java.lang.String getInput();
- public java.lang.String getMessage();
- public java.lang.String getReason();
-
-
-}
-
--keep class java.net.URL {
- <init>(java.lang.String, java.lang.String, int, java.lang.String);
- <init>(java.lang.String, java.lang.String, java.lang.String);
- <init>(java.lang.String, java.lang.String, int, java.lang.String, java.net.URLStreamHandler);
- <init>(java.lang.String);
- <init>(java.net.URL, java.lang.String);
- <init>(java.net.URL, java.lang.String, java.net.URLStreamHandler);
-
- public boolean equals(java.lang.Object);
- public java.lang.String getAuthority();
- public java.lang.Object getContent();
- public java.lang.Object getContent(java.lang.Class[]);
- public int getDefaultPort();
- public java.lang.String getFile();
- public java.lang.String getHost();
- public java.lang.String getPath();
- public int getPort();
- public java.lang.String getProtocol();
- public java.lang.String getQuery();
- public java.lang.String getRef();
- public java.lang.String getUserInfo();
- public synchronized int hashCode();
- public java.net.URLConnection openConnection();
- public java.net.URLConnection openConnection(java.net.Proxy);
- public java.io.InputStream openStream();
- public boolean sameFile(java.net.URL);
- public static void setURLStreamHandlerFactory(java.net.URLStreamHandlerFactory);
- public java.lang.String toExternalForm();
- public java.lang.String toString();
- public java.net.URI toURI();
-
-
-}
-
--keep class java.net.URLConnection {
- <init>(java.net.URL);
-
- public void addRequestProperty(java.lang.String, java.lang.String);
- public abstract void connect();
- public boolean getAllowUserInteraction();
- public int getConnectTimeout();
- public java.lang.Object getContent();
- public java.lang.Object getContent(java.lang.Class[]);
- public java.lang.String getContentEncoding();
- public int getContentLength();
- public long getContentLengthLong();
- public java.lang.String getContentType();
- public long getDate();
- public static boolean getDefaultAllowUserInteraction();
- public static java.lang.String getDefaultRequestProperty(java.lang.String);
- public boolean getDefaultUseCaches();
- public boolean getDoInput();
- public boolean getDoOutput();
- public long getExpiration();
- public static synchronized java.net.FileNameMap getFileNameMap();
- public java.lang.String getHeaderField(java.lang.String);
- public java.lang.String getHeaderField(int);
- public long getHeaderFieldDate(java.lang.String, long);
- public int getHeaderFieldInt(java.lang.String, int);
- public java.lang.String getHeaderFieldKey(int);
- public long getHeaderFieldLong(java.lang.String, long);
- public java.util.Map getHeaderFields();
- public long getIfModifiedSince();
- public java.io.InputStream getInputStream();
- public long getLastModified();
- public java.io.OutputStream getOutputStream();
- public java.security.Permission getPermission();
- public int getReadTimeout();
- public java.util.Map getRequestProperties();
- public java.lang.String getRequestProperty(java.lang.String);
- public java.net.URL getURL();
- public boolean getUseCaches();
- public static java.lang.String guessContentTypeFromName(java.lang.String);
- public static java.lang.String guessContentTypeFromStream(java.io.InputStream);
- public void setAllowUserInteraction(boolean);
- public void setConnectTimeout(int);
- public static synchronized void setContentHandlerFactory(java.net.ContentHandlerFactory);
- public static void setDefaultAllowUserInteraction(boolean);
- public static void setDefaultRequestProperty(java.lang.String, java.lang.String);
- public void setDefaultUseCaches(boolean);
- public void setDoInput(boolean);
- public void setDoOutput(boolean);
- public static void setFileNameMap(java.net.FileNameMap);
- public void setIfModifiedSince(long);
- public void setReadTimeout(int);
- public void setRequestProperty(java.lang.String, java.lang.String);
- public void setUseCaches(boolean);
- public java.lang.String toString();
-
-
- protected boolean allowUserInteraction;
- protected boolean connected;
- protected boolean doInput;
- protected boolean doOutput;
- protected long ifModifiedSince;
- protected java.net.URL url;
- protected boolean useCaches;
-}
-
--keep class java.net.URLStreamHandler {
- <init>();
-
- protected boolean equals(java.net.URL, java.net.URL);
- protected int getDefaultPort();
- protected synchronized java.net.InetAddress getHostAddress(java.net.URL);
- protected int hashCode(java.net.URL);
- protected boolean hostsEqual(java.net.URL, java.net.URL);
- protected abstract java.net.URLConnection openConnection(java.net.URL);
- protected java.net.URLConnection openConnection(java.net.URL, java.net.Proxy);
- protected void parseURL(java.net.URL, java.lang.String, int, int);
- protected boolean sameFile(java.net.URL, java.net.URL);
- protected void setURL(java.net.URL, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
- protected void setURL(java.net.URL, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String);
- protected java.lang.String toExternalForm(java.net.URL);
-
-
-}
-
--keep class java.net.URLStreamHandlerFactory {
-
- public abstract java.net.URLStreamHandler createURLStreamHandler(java.lang.String);
-
-
-}
-
--keep class java.net.UnknownHostException {
- <init>(java.lang.String);
- <init>();
-
-
-
-}
-
--keep class java.nio.Buffer {
-
- public abstract java.lang.Object array();
- public abstract int arrayOffset();
- public int capacity();
- public java.nio.Buffer clear();
- public java.nio.Buffer flip();
- public int getElementSizeShift();
- public abstract boolean hasArray();
- public boolean hasRemaining();
- public abstract boolean isDirect();
- public abstract boolean isReadOnly();
- public int limit();
- public java.nio.Buffer limit(int);
- public java.nio.Buffer mark();
- public int position();
- public java.nio.Buffer position(int);
- public int remaining();
- public java.nio.Buffer reset();
- public java.nio.Buffer rewind();
-
-
-}
-
--keep class java.nio.ByteBuffer {
-
- public static java.nio.ByteBuffer allocate(int);
- public static java.nio.ByteBuffer allocateDirect(int);
- public byte[] array();
- public java.lang.Object array();
- public int arrayOffset();
- public abstract java.nio.CharBuffer asCharBuffer();
- public abstract java.nio.DoubleBuffer asDoubleBuffer();
- public abstract java.nio.FloatBuffer asFloatBuffer();
- public abstract java.nio.IntBuffer asIntBuffer();
- public abstract java.nio.LongBuffer asLongBuffer();
- public abstract java.nio.ByteBuffer asReadOnlyBuffer();
- public abstract java.nio.ShortBuffer asShortBuffer();
- public abstract java.nio.ByteBuffer compact();
- public int compareTo(java.nio.ByteBuffer);
- public int compareTo(java.lang.Object);
- public abstract java.nio.ByteBuffer duplicate();
- public boolean equals(java.lang.Object);
- public abstract byte get();
- public abstract byte get(int);
- public java.nio.ByteBuffer get(byte[], int, int);
- public java.nio.ByteBuffer get(byte[]);
- public abstract char getChar();
- public abstract char getChar(int);
- public abstract double getDouble();
- public abstract double getDouble(int);
- public abstract float getFloat();
- public abstract float getFloat(int);
- public abstract int getInt();
- public abstract int getInt(int);
- public abstract long getLong();
- public abstract long getLong(int);
- public abstract short getShort();
- public abstract short getShort(int);
- public boolean hasArray();
- public int hashCode();
- public boolean isAccessible();
- public abstract boolean isDirect();
- public java.nio.ByteOrder order();
- public java.nio.ByteBuffer order(java.nio.ByteOrder);
- public abstract java.nio.ByteBuffer put(byte);
- public abstract java.nio.ByteBuffer put(int, byte);
- public java.nio.ByteBuffer put(java.nio.ByteBuffer);
- public java.nio.ByteBuffer put(byte[], int, int);
- public java.nio.ByteBuffer put(byte[]);
- public abstract java.nio.ByteBuffer putChar(char);
- public abstract java.nio.ByteBuffer putChar(int, char);
- public abstract java.nio.ByteBuffer putDouble(double);
- public abstract java.nio.ByteBuffer putDouble(int, double);
- public abstract java.nio.ByteBuffer putFloat(float);
- public abstract java.nio.ByteBuffer putFloat(int, float);
- public abstract java.nio.ByteBuffer putInt(int);
- public abstract java.nio.ByteBuffer putInt(int, int);
- public abstract java.nio.ByteBuffer putLong(long);
- public abstract java.nio.ByteBuffer putLong(int, long);
- public abstract java.nio.ByteBuffer putShort(short);
- public abstract java.nio.ByteBuffer putShort(int, short);
- public void setAccessible(boolean);
- public abstract java.nio.ByteBuffer slice();
- public java.lang.String toString();
- public static java.nio.ByteBuffer wrap(byte[], int, int);
- public static java.nio.ByteBuffer wrap(byte[]);
-
-
-}
-
--keep class java.nio.ByteOrder {
-
- public static java.nio.ByteOrder nativeOrder();
- public java.lang.String toString();
-
-
- public static java.nio.ByteOrder BIG_ENDIAN;
- public static java.nio.ByteOrder LITTLE_ENDIAN;
-}
-
--keep class java.nio.CharBuffer {
-
- public static java.nio.CharBuffer allocate(int);
- public java.nio.CharBuffer append(java.lang.CharSequence);
- public java.nio.CharBuffer append(java.lang.CharSequence, int, int);
- public java.nio.CharBuffer append(char);
- public java.lang.Appendable append(char);
- public java.lang.Appendable append(java.lang.CharSequence, int, int);
- public java.lang.Appendable append(java.lang.CharSequence);
- public char[] array();
- public java.lang.Object array();
- public int arrayOffset();
- public abstract java.nio.CharBuffer asReadOnlyBuffer();
- public char charAt(int);
- public java.util.stream.IntStream chars();
- public abstract java.nio.CharBuffer compact();
- public int compareTo(java.nio.CharBuffer);
- public int compareTo(java.lang.Object);
- public abstract java.nio.CharBuffer duplicate();
- public boolean equals(java.lang.Object);
- public abstract char get();
- public abstract char get(int);
- public java.nio.CharBuffer get(char[], int, int);
- public java.nio.CharBuffer get(char[]);
- public boolean hasArray();
- public int hashCode();
- public abstract boolean isDirect();
- public int length();
- public abstract java.nio.ByteOrder order();
- public abstract java.nio.CharBuffer put(char);
- public abstract java.nio.CharBuffer put(int, char);
- public java.nio.CharBuffer put(java.nio.CharBuffer);
- public java.nio.CharBuffer put(char[], int, int);
- public java.nio.CharBuffer put(char[]);
- public java.nio.CharBuffer put(java.lang.String, int, int);
- public java.nio.CharBuffer put(java.lang.String);
- public int read(java.nio.CharBuffer);
- public abstract java.nio.CharBuffer slice();
- public abstract java.nio.CharBuffer subSequence(int, int);
- public java.lang.CharSequence subSequence(int, int);
- public java.lang.String toString();
- public static java.nio.CharBuffer wrap(char[], int, int);
- public static java.nio.CharBuffer wrap(char[]);
- public static java.nio.CharBuffer wrap(java.lang.CharSequence, int, int);
- public static java.nio.CharBuffer wrap(java.lang.CharSequence);
-
-
-}
-
--keep class java.nio.DoubleBuffer {
-
- public static java.nio.DoubleBuffer allocate(int);
- public double[] array();
- public java.lang.Object array();
- public int arrayOffset();
- public abstract java.nio.DoubleBuffer asReadOnlyBuffer();
- public abstract java.nio.DoubleBuffer compact();
- public int compareTo(java.nio.DoubleBuffer);
- public int compareTo(java.lang.Object);
- public abstract java.nio.DoubleBuffer duplicate();
- public boolean equals(java.lang.Object);
- public abstract double get();
- public abstract double get(int);
- public java.nio.DoubleBuffer get(double[], int, int);
- public java.nio.DoubleBuffer get(double[]);
- public boolean hasArray();
- public int hashCode();
- public abstract boolean isDirect();
- public abstract java.nio.ByteOrder order();
- public abstract java.nio.DoubleBuffer put(double);
- public abstract java.nio.DoubleBuffer put(int, double);
- public java.nio.DoubleBuffer put(java.nio.DoubleBuffer);
- public java.nio.DoubleBuffer put(double[], int, int);
- public java.nio.DoubleBuffer put(double[]);
- public abstract java.nio.DoubleBuffer slice();
- public java.lang.String toString();
- public static java.nio.DoubleBuffer wrap(double[], int, int);
- public static java.nio.DoubleBuffer wrap(double[]);
-
-
-}
-
--keep class java.nio.FloatBuffer {
-
- public static java.nio.FloatBuffer allocate(int);
- public float[] array();
- public java.lang.Object array();
- public int arrayOffset();
- public abstract java.nio.FloatBuffer asReadOnlyBuffer();
- public abstract java.nio.FloatBuffer compact();
- public int compareTo(java.nio.FloatBuffer);
- public int compareTo(java.lang.Object);
- public abstract java.nio.FloatBuffer duplicate();
- public boolean equals(java.lang.Object);
- public abstract float get();
- public abstract float get(int);
- public java.nio.FloatBuffer get(float[], int, int);
- public java.nio.FloatBuffer get(float[]);
- public boolean hasArray();
- public int hashCode();
- public abstract boolean isDirect();
- public abstract java.nio.ByteOrder order();
- public abstract java.nio.FloatBuffer put(float);
- public abstract java.nio.FloatBuffer put(int, float);
- public java.nio.FloatBuffer put(java.nio.FloatBuffer);
- public java.nio.FloatBuffer put(float[], int, int);
- public java.nio.FloatBuffer put(float[]);
- public abstract java.nio.FloatBuffer slice();
- public java.lang.String toString();
- public static java.nio.FloatBuffer wrap(float[], int, int);
- public static java.nio.FloatBuffer wrap(float[]);
-
-
-}
-
--keep class java.nio.IntBuffer {
-
- public static java.nio.IntBuffer allocate(int);
- public int[] array();
- public java.lang.Object array();
- public int arrayOffset();
- public abstract java.nio.IntBuffer asReadOnlyBuffer();
- public abstract java.nio.IntBuffer compact();
- public int compareTo(java.nio.IntBuffer);
- public int compareTo(java.lang.Object);
- public abstract java.nio.IntBuffer duplicate();
- public boolean equals(java.lang.Object);
- public abstract int get();
- public abstract int get(int);
- public java.nio.IntBuffer get(int[], int, int);
- public java.nio.IntBuffer get(int[]);
- public boolean hasArray();
- public int hashCode();
- public abstract boolean isDirect();
- public abstract java.nio.ByteOrder order();
- public abstract java.nio.IntBuffer put(int);
- public abstract java.nio.IntBuffer put(int, int);
- public java.nio.IntBuffer put(java.nio.IntBuffer);
- public java.nio.IntBuffer put(int[], int, int);
- public java.nio.IntBuffer put(int[]);
- public abstract java.nio.IntBuffer slice();
- public java.lang.String toString();
- public static java.nio.IntBuffer wrap(int[], int, int);
- public static java.nio.IntBuffer wrap(int[]);
-
-
-}
-
--keep class java.nio.LongBuffer {
-
- public static java.nio.LongBuffer allocate(int);
- public long[] array();
- public java.lang.Object array();
- public int arrayOffset();
- public abstract java.nio.LongBuffer asReadOnlyBuffer();
- public abstract java.nio.LongBuffer compact();
- public int compareTo(java.nio.LongBuffer);
- public int compareTo(java.lang.Object);
- public abstract java.nio.LongBuffer duplicate();
- public boolean equals(java.lang.Object);
- public abstract long get();
- public abstract long get(int);
- public java.nio.LongBuffer get(long[], int, int);
- public java.nio.LongBuffer get(long[]);
- public boolean hasArray();
- public int hashCode();
- public abstract boolean isDirect();
- public abstract java.nio.ByteOrder order();
- public abstract java.nio.LongBuffer put(long);
- public abstract java.nio.LongBuffer put(int, long);
- public java.nio.LongBuffer put(java.nio.LongBuffer);
- public java.nio.LongBuffer put(long[], int, int);
- public java.nio.LongBuffer put(long[]);
- public abstract java.nio.LongBuffer slice();
- public java.lang.String toString();
- public static java.nio.LongBuffer wrap(long[], int, int);
- public static java.nio.LongBuffer wrap(long[]);
-
-
-}
-
--keep class java.nio.MappedByteBuffer {
-
- public java.nio.MappedByteBuffer force();
- public boolean isLoaded();
- public java.nio.MappedByteBuffer load();
-
-
-}
-
--keep class java.nio.ShortBuffer {
-
- public static java.nio.ShortBuffer allocate(int);
- public short[] array();
- public java.lang.Object array();
- public int arrayOffset();
- public abstract java.nio.ShortBuffer asReadOnlyBuffer();
- public abstract java.nio.ShortBuffer compact();
- public int compareTo(java.nio.ShortBuffer);
- public int compareTo(java.lang.Object);
- public abstract java.nio.ShortBuffer duplicate();
- public boolean equals(java.lang.Object);
- public abstract short get();
- public abstract short get(int);
- public java.nio.ShortBuffer get(short[], int, int);
- public java.nio.ShortBuffer get(short[]);
- public boolean hasArray();
- public int hashCode();
- public abstract boolean isDirect();
- public abstract java.nio.ByteOrder order();
- public abstract java.nio.ShortBuffer put(short);
- public abstract java.nio.ShortBuffer put(int, short);
- public java.nio.ShortBuffer put(java.nio.ShortBuffer);
- public java.nio.ShortBuffer put(short[], int, int);
- public java.nio.ShortBuffer put(short[]);
- public abstract java.nio.ShortBuffer slice();
- public java.lang.String toString();
- public static java.nio.ShortBuffer wrap(short[], int, int);
- public static java.nio.ShortBuffer wrap(short[]);
-
-
-}
-
--keep class java.nio.channels.AsynchronousCloseException {
- <init>();
-
-
-
-}
-
--keep class java.nio.channels.AsynchronousFileChannel {
- <init>();
-
- public abstract void force(boolean);
- public abstract void lock(long, long, boolean, java.lang.Object, java.nio.channels.CompletionHandler);
- public void lock(java.lang.Object, java.nio.channels.CompletionHandler);
- public abstract java.util.concurrent.Future lock(long, long, boolean);
- public java.util.concurrent.Future lock();
- public static java.nio.channels.AsynchronousFileChannel open(java.nio.file.Path, java.util.Set, java.util.concurrent.ExecutorService, java.nio.file.attribute.FileAttribute[]);
- public static java.nio.channels.AsynchronousFileChannel open(java.nio.file.Path, java.nio.file.OpenOption[]);
- public abstract void read(java.nio.ByteBuffer, long, java.lang.Object, java.nio.channels.CompletionHandler);
- public abstract java.util.concurrent.Future read(java.nio.ByteBuffer, long);
- public abstract long size();
- public abstract java.nio.channels.AsynchronousFileChannel truncate(long);
- public abstract java.nio.channels.FileLock tryLock(long, long, boolean);
- public java.nio.channels.FileLock tryLock();
- public abstract void write(java.nio.ByteBuffer, long, java.lang.Object, java.nio.channels.CompletionHandler);
- public abstract java.util.concurrent.Future write(java.nio.ByteBuffer, long);
-
-
-}
-
--keep class java.nio.channels.Channel {
-
- public abstract void close();
- public abstract boolean isOpen();
-
-
-}
-
--keep class java.nio.channels.ClosedChannelException {
- <init>();
-
-
-
-}
-
--keep class java.nio.channels.CompletionHandler {
-
- public abstract void completed(java.lang.Object, java.lang.Object);
- public abstract void failed(java.lang.Throwable, java.lang.Object);
-
-
-}
-
--keep class java.nio.channels.DatagramChannel {
- <init>(java.nio.channels.spi.SelectorProvider);
-
- public abstract java.nio.channels.DatagramChannel bind(java.net.SocketAddress);
- public java.nio.channels.NetworkChannel bind(java.net.SocketAddress);
- public abstract java.nio.channels.DatagramChannel connect(java.net.SocketAddress);
- public abstract java.nio.channels.DatagramChannel disconnect();
- public abstract java.net.SocketAddress getLocalAddress();
- public abstract java.net.SocketAddress getRemoteAddress();
- public abstract boolean isConnected();
- public static java.nio.channels.DatagramChannel open();
- public static java.nio.channels.DatagramChannel open(java.net.ProtocolFamily);
- public abstract int read(java.nio.ByteBuffer);
- public abstract long read(java.nio.ByteBuffer[], int, int);
- public long read(java.nio.ByteBuffer[]);
- public abstract java.net.SocketAddress receive(java.nio.ByteBuffer);
- public abstract int send(java.nio.ByteBuffer, java.net.SocketAddress);
- public abstract java.nio.channels.DatagramChannel setOption(java.net.SocketOption, java.lang.Object);
- public java.nio.channels.NetworkChannel setOption(java.net.SocketOption, java.lang.Object);
- public abstract java.net.DatagramSocket socket();
- public int validOps();
- public abstract int write(java.nio.ByteBuffer);
- public abstract long write(java.nio.ByteBuffer[], int, int);
- public long write(java.nio.ByteBuffer[]);
-
-
-}
-
--keep class java.nio.channels.FileChannel {
- <init>();
-
- public abstract void force(boolean);
- public abstract java.nio.channels.FileLock lock(long, long, boolean);
- public java.nio.channels.FileLock lock();
- public abstract java.nio.MappedByteBuffer map(java.nio.channels.FileChannel$MapMode, long, long);
- public static java.nio.channels.FileChannel open(java.nio.file.Path, java.util.Set, java.nio.file.attribute.FileAttribute[]);
- public static java.nio.channels.FileChannel open(java.nio.file.Path, java.nio.file.OpenOption[]);
- public abstract long position();
- public abstract java.nio.channels.FileChannel position(long);
- public java.nio.channels.SeekableByteChannel position(long);
- public abstract int read(java.nio.ByteBuffer);
- public abstract long read(java.nio.ByteBuffer[], int, int);
- public long read(java.nio.ByteBuffer[]);
- public abstract int read(java.nio.ByteBuffer, long);
- public abstract long size();
- public abstract long transferFrom(java.nio.channels.ReadableByteChannel, long, long);
- public abstract long transferTo(long, long, java.nio.channels.WritableByteChannel);
- public abstract java.nio.channels.FileChannel truncate(long);
- public java.nio.channels.SeekableByteChannel truncate(long);
- public abstract java.nio.channels.FileLock tryLock(long, long, boolean);
- public java.nio.channels.FileLock tryLock();
- public abstract int write(java.nio.ByteBuffer);
- public abstract long write(java.nio.ByteBuffer[], int, int);
- public long write(java.nio.ByteBuffer[]);
- public abstract int write(java.nio.ByteBuffer, long);
-
-
-}
-
--keep class java.nio.channels.FileChannel$MapMode {
-
- public java.lang.String toString();
-
-
- public static java.nio.channels.FileChannel$MapMode PRIVATE;
- public static java.nio.channels.FileChannel$MapMode READ_ONLY;
- public static java.nio.channels.FileChannel$MapMode READ_WRITE;
-}
-
--keep class java.nio.channels.FileLock {
- <init>(java.nio.channels.FileChannel, long, long, boolean);
- <init>(java.nio.channels.AsynchronousFileChannel, long, long, boolean);
-
- public java.nio.channels.Channel acquiredBy();
- public java.nio.channels.FileChannel channel();
- public void close();
- public boolean isShared();
- public abstract boolean isValid();
- public boolean overlaps(long, long);
- public long position();
- public abstract void release();
- public long size();
- public java.lang.String toString();
-
-
-}
-
--keep class java.nio.channels.NetworkChannel {
-
- public abstract java.nio.channels.NetworkChannel bind(java.net.SocketAddress);
- public abstract java.net.SocketAddress getLocalAddress();
- public abstract java.lang.Object getOption(java.net.SocketOption);
- public abstract java.nio.channels.NetworkChannel setOption(java.net.SocketOption, java.lang.Object);
- public abstract java.util.Set supportedOptions();
-
-
-}
-
--keep class java.nio.channels.Pipe {
- <init>();
-
- public static java.nio.channels.Pipe open();
- public abstract java.nio.channels.Pipe$SinkChannel sink();
- public abstract java.nio.channels.Pipe$SourceChannel source();
-
-
-}
-
--keep class java.nio.channels.Pipe$SinkChannel {
- <init>(java.nio.channels.spi.SelectorProvider);
-
- public int validOps();
-
-
-}
-
--keep class java.nio.channels.Pipe$SourceChannel {
- <init>(java.nio.channels.spi.SelectorProvider);
-
- public int validOps();
-
-
-}
-
--keep class java.nio.channels.ReadableByteChannel {
-
- public abstract int read(java.nio.ByteBuffer);
-
-
-}
-
--keep class java.nio.channels.SeekableByteChannel {
-
- public abstract long position();
- public abstract java.nio.channels.SeekableByteChannel position(long);
- public abstract int read(java.nio.ByteBuffer);
- public abstract long size();
- public abstract java.nio.channels.SeekableByteChannel truncate(long);
- public abstract int write(java.nio.ByteBuffer);
-
-
-}
-
--keep class java.nio.channels.SelectableChannel {
- <init>();
-
- public abstract java.lang.Object blockingLock();
- public abstract java.nio.channels.SelectableChannel configureBlocking(boolean);
- public abstract boolean isBlocking();
- public abstract boolean isRegistered();
- public abstract java.nio.channels.SelectionKey keyFor(java.nio.channels.Selector);
- public abstract java.nio.channels.spi.SelectorProvider provider();
- public abstract java.nio.channels.SelectionKey register(java.nio.channels.Selector, int, java.lang.Object);
- public java.nio.channels.SelectionKey register(java.nio.channels.Selector, int);
- public abstract int validOps();
-
-
-}
-
--keep class java.nio.channels.SelectionKey {
- <init>();
-
- public java.lang.Object attach(java.lang.Object);
- public java.lang.Object attachment();
- public abstract void cancel();
- public abstract java.nio.channels.SelectableChannel channel();
- public abstract int interestOps();
- public abstract java.nio.channels.SelectionKey interestOps(int);
- public boolean isAcceptable();
- public boolean isConnectable();
- public boolean isReadable();
- public abstract boolean isValid();
- public boolean isWritable();
- public abstract int readyOps();
- public abstract java.nio.channels.Selector selector();
-
-
- public static int OP_ACCEPT;
- public static int OP_CONNECT;
- public static int OP_READ;
- public static int OP_WRITE;
-}
-
--keep class java.nio.channels.Selector {
- <init>();
-
- public abstract void close();
- public abstract boolean isOpen();
- public abstract java.util.Set keys();
- public static java.nio.channels.Selector open();
- public abstract java.nio.channels.spi.SelectorProvider provider();
- public abstract int select(long);
- public abstract int select();
- public abstract int selectNow();
- public abstract java.util.Set selectedKeys();
- public abstract java.nio.channels.Selector wakeup();
-
-
-}
-
--keep class java.nio.channels.ServerSocketChannel {
- <init>(java.nio.channels.spi.SelectorProvider);
-
- public abstract java.nio.channels.SocketChannel accept();
- public java.nio.channels.ServerSocketChannel bind(java.net.SocketAddress);
- public abstract java.nio.channels.ServerSocketChannel bind(java.net.SocketAddress, int);
- public java.nio.channels.NetworkChannel bind(java.net.SocketAddress);
- public abstract java.net.SocketAddress getLocalAddress();
- public static java.nio.channels.ServerSocketChannel open();
- public abstract java.nio.channels.ServerSocketChannel setOption(java.net.SocketOption, java.lang.Object);
- public java.nio.channels.NetworkChannel setOption(java.net.SocketOption, java.lang.Object);
- public abstract java.net.ServerSocket socket();
- public int validOps();
-
-
-}
-
--keep class java.nio.channels.SocketChannel {
- <init>(java.nio.channels.spi.SelectorProvider);
-
- public abstract java.nio.channels.SocketChannel bind(java.net.SocketAddress);
- public java.nio.channels.NetworkChannel bind(java.net.SocketAddress);
- public abstract boolean connect(java.net.SocketAddress);
- public abstract boolean finishConnect();
- public abstract java.net.SocketAddress getLocalAddress();
- public abstract java.net.SocketAddress getRemoteAddress();
- public abstract boolean isConnected();
- public abstract boolean isConnectionPending();
- public static java.nio.channels.SocketChannel open();
- public static java.nio.channels.SocketChannel open(java.net.SocketAddress);
- public abstract int read(java.nio.ByteBuffer);
- public abstract long read(java.nio.ByteBuffer[], int, int);
- public long read(java.nio.ByteBuffer[]);
- public abstract java.nio.channels.SocketChannel setOption(java.net.SocketOption, java.lang.Object);
- public java.nio.channels.NetworkChannel setOption(java.net.SocketOption, java.lang.Object);
- public abstract java.nio.channels.SocketChannel shutdownInput();
- public abstract java.nio.channels.SocketChannel shutdownOutput();
- public abstract java.net.Socket socket();
- public int validOps();
- public abstract int write(java.nio.ByteBuffer);
- public abstract long write(java.nio.ByteBuffer[], int, int);
- public long write(java.nio.ByteBuffer[]);
-
-
-}
-
--keep class java.nio.channels.WritableByteChannel {
-
- public abstract int write(java.nio.ByteBuffer);
-
-
-}
-
--keep class java.nio.channels.spi.AbstractInterruptibleChannel {
- <init>();
-
- protected void begin();
- public void close();
- protected void end(boolean);
- protected abstract void implCloseChannel();
- public boolean isOpen();
-
-
-}
-
--keep class java.nio.channels.spi.AbstractSelectableChannel {
- <init>(java.nio.channels.spi.SelectorProvider);
-
- public java.lang.Object blockingLock();
- public java.nio.channels.SelectableChannel configureBlocking(boolean);
- protected void implCloseChannel();
- protected abstract void implCloseSelectableChannel();
- protected abstract void implConfigureBlocking(boolean);
- public boolean isBlocking();
- public boolean isRegistered();
- public java.nio.channels.SelectionKey keyFor(java.nio.channels.Selector);
- public java.nio.channels.spi.SelectorProvider provider();
- public java.nio.channels.SelectionKey register(java.nio.channels.Selector, int, java.lang.Object);
-
-
-}
-
--keep class java.nio.channels.spi.AbstractSelectionKey {
- <init>();
-
- public void cancel();
- public boolean isValid();
-
-
-}
-
--keep class java.nio.channels.spi.AbstractSelector {
- <init>(java.nio.channels.spi.SelectorProvider);
-
- protected void begin();
- protected java.util.Set cancelledKeys();
- public void close();
- protected void deregister(java.nio.channels.spi.AbstractSelectionKey);
- protected void end();
- protected abstract void implCloseSelector();
- public boolean isOpen();
- public java.nio.channels.spi.SelectorProvider provider();
- protected abstract java.nio.channels.SelectionKey register(java.nio.channels.spi.AbstractSelectableChannel, int, java.lang.Object);
-
-
-}
-
--keep class java.nio.channels.spi.SelectorProvider {
- <init>();
-
- public java.nio.channels.Channel inheritedChannel();
- public abstract java.nio.channels.DatagramChannel openDatagramChannel();
- public abstract java.nio.channels.DatagramChannel openDatagramChannel(java.net.ProtocolFamily);
- public abstract java.nio.channels.Pipe openPipe();
- public abstract java.nio.channels.spi.AbstractSelector openSelector();
- public abstract java.nio.channels.ServerSocketChannel openServerSocketChannel();
- public abstract java.nio.channels.SocketChannel openSocketChannel();
- public static java.nio.channels.spi.SelectorProvider provider();
-
-
-}
-
--keep class java.nio.charset.CharacterCodingException {
- <init>();
-
-
-
-}
-
--keep class java.nio.charset.Charset {
- <init>(java.lang.String, java.lang.String[]);
-
- public java.util.Set aliases();
- public static java.util.SortedMap availableCharsets();
- public boolean canEncode();
- public int compareTo(java.nio.charset.Charset);
- public int compareTo(java.lang.Object);
- public abstract boolean contains(java.nio.charset.Charset);
- public java.nio.CharBuffer decode(java.nio.ByteBuffer);
- public static java.nio.charset.Charset defaultCharset();
- public java.lang.String displayName();
- public java.lang.String displayName(java.util.Locale);
- public java.nio.ByteBuffer encode(java.nio.CharBuffer);
- public java.nio.ByteBuffer encode(java.lang.String);
- public boolean equals(java.lang.Object);
- public static java.nio.charset.Charset forName(java.lang.String);
- public static java.nio.charset.Charset forNameUEE(java.lang.String);
- public int hashCode();
- public boolean isRegistered();
- public static boolean isSupported(java.lang.String);
- public java.lang.String name();
- public abstract java.nio.charset.CharsetDecoder newDecoder();
- public abstract java.nio.charset.CharsetEncoder newEncoder();
- public java.lang.String toString();
-
-
-}
-
--keep class java.nio.charset.CharsetDecoder {
- <init>(java.nio.charset.Charset, float, float);
-
- public float averageCharsPerByte();
- public java.nio.charset.Charset charset();
- public java.nio.charset.CoderResult decode(java.nio.ByteBuffer, java.nio.CharBuffer, boolean);
- public java.nio.CharBuffer decode(java.nio.ByteBuffer);
- protected abstract java.nio.charset.CoderResult decodeLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
- public java.nio.charset.Charset detectedCharset();
- public java.nio.charset.CoderResult flush(java.nio.CharBuffer);
- protected java.nio.charset.CoderResult implFlush(java.nio.CharBuffer);
- protected void implOnMalformedInput(java.nio.charset.CodingErrorAction);
- protected void implOnUnmappableCharacter(java.nio.charset.CodingErrorAction);
- protected void implReplaceWith(java.lang.String);
- protected void implReset();
- public boolean isAutoDetecting();
- public boolean isCharsetDetected();
- public java.nio.charset.CodingErrorAction malformedInputAction();
- public float maxCharsPerByte();
- public java.nio.charset.CharsetDecoder onMalformedInput(java.nio.charset.CodingErrorAction);
- public java.nio.charset.CharsetDecoder onUnmappableCharacter(java.nio.charset.CodingErrorAction);
- public java.nio.charset.CharsetDecoder replaceWith(java.lang.String);
- public java.lang.String replacement();
- public java.nio.charset.CharsetDecoder reset();
- public java.nio.charset.CodingErrorAction unmappableCharacterAction();
-
-
-}
-
--keep class java.nio.charset.CharsetEncoder {
- <init>(java.nio.charset.Charset, float, float, byte[]);
- <init>(java.nio.charset.Charset, float, float);
-
- public float averageBytesPerChar();
- public boolean canEncode(char);
- public boolean canEncode(java.lang.CharSequence);
- public java.nio.charset.Charset charset();
- public java.nio.charset.CoderResult encode(java.nio.CharBuffer, java.nio.ByteBuffer, boolean);
- public java.nio.ByteBuffer encode(java.nio.CharBuffer);
- protected abstract java.nio.charset.CoderResult encodeLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
- public java.nio.charset.CoderResult flush(java.nio.ByteBuffer);
- protected java.nio.charset.CoderResult implFlush(java.nio.ByteBuffer);
- protected void implOnMalformedInput(java.nio.charset.CodingErrorAction);
- protected void implOnUnmappableCharacter(java.nio.charset.CodingErrorAction);
- protected void implReplaceWith(byte[]);
- protected void implReset();
- public boolean isLegalReplacement(byte[]);
- public java.nio.charset.CodingErrorAction malformedInputAction();
- public float maxBytesPerChar();
- public java.nio.charset.CharsetEncoder onMalformedInput(java.nio.charset.CodingErrorAction);
- public java.nio.charset.CharsetEncoder onUnmappableCharacter(java.nio.charset.CodingErrorAction);
- public java.nio.charset.CharsetEncoder replaceWith(byte[]);
- public byte[] replacement();
- public java.nio.charset.CharsetEncoder reset();
- public java.nio.charset.CodingErrorAction unmappableCharacterAction();
-
-
-}
-
--keep class java.nio.charset.CoderResult {
-
- public boolean isError();
- public boolean isMalformed();
- public boolean isOverflow();
- public boolean isUnderflow();
- public boolean isUnmappable();
- public int length();
- public static java.nio.charset.CoderResult malformedForLength(int);
- public void throwException();
- public java.lang.String toString();
- public static java.nio.charset.CoderResult unmappableForLength(int);
-
-
- public static java.nio.charset.CoderResult OVERFLOW;
- public static java.nio.charset.CoderResult UNDERFLOW;
-}
-
--keep class java.nio.charset.CodingErrorAction {
-
- public java.lang.String toString();
-
-
- public static java.nio.charset.CodingErrorAction IGNORE;
- public static java.nio.charset.CodingErrorAction REPLACE;
- public static java.nio.charset.CodingErrorAction REPORT;
-}
-
--keep class java.nio.file.AccessMode {
-
- public static java.nio.file.AccessMode valueOf(java.lang.String);
- public static java.nio.file.AccessMode[] values();
-
- public static java.nio.file.AccessMode EXECUTE;
- public static java.nio.file.AccessMode READ;
- public static java.nio.file.AccessMode WRITE;
-
-}
-
--keep class java.nio.file.CopyOption {
-
-
-
-}
-
--keep class java.nio.file.DirectoryStream {
-
- public abstract java.util.Iterator iterator();
-
-
-}
-
--keep class java.nio.file.DirectoryStream$Filter {
-
- public abstract boolean accept(java.lang.Object);
-
-
-}
-
--keep class java.nio.file.FileStore {
- <init>();
-
- public abstract java.lang.Object getAttribute(java.lang.String);
- public abstract java.nio.file.attribute.FileStoreAttributeView getFileStoreAttributeView(java.lang.Class);
- public abstract long getTotalSpace();
- public abstract long getUnallocatedSpace();
- public abstract long getUsableSpace();
- public abstract boolean isReadOnly();
- public abstract java.lang.String name();
- public abstract boolean supportsFileAttributeView(java.lang.Class);
- public abstract boolean supportsFileAttributeView(java.lang.String);
- public abstract java.lang.String type();
-
-
-}
-
--keep class java.nio.file.FileSystem {
- <init>();
-
- public abstract void close();
- public abstract java.lang.Iterable getFileStores();
- public abstract java.nio.file.Path getPath(java.lang.String, java.lang.String[]);
- public abstract java.nio.file.PathMatcher getPathMatcher(java.lang.String);
- public abstract java.lang.Iterable getRootDirectories();
- public abstract java.lang.String getSeparator();
- public abstract java.nio.file.attribute.UserPrincipalLookupService getUserPrincipalLookupService();
- public abstract boolean isOpen();
- public abstract boolean isReadOnly();
- public abstract java.nio.file.WatchService newWatchService();
- public abstract java.nio.file.spi.FileSystemProvider provider();
- public abstract java.util.Set supportedFileAttributeViews();
-
-
-}
-
--keep class java.nio.file.LinkOption {
-
- public static java.nio.file.LinkOption valueOf(java.lang.String);
- public static java.nio.file.LinkOption[] values();
-
- public static java.nio.file.LinkOption NOFOLLOW_LINKS;
-
-}
-
--keep class java.nio.file.OpenOption {
-
-
-
-}
-
--keep class java.nio.file.Path {
-
- public abstract int compareTo(java.nio.file.Path);
- public int compareTo(java.lang.Object);
- public abstract boolean endsWith(java.nio.file.Path);
- public abstract boolean endsWith(java.lang.String);
- public abstract boolean equals(java.lang.Object);
- public abstract java.nio.file.Path getFileName();
- public abstract java.nio.file.FileSystem getFileSystem();
- public abstract java.nio.file.Path getName(int);
- public abstract int getNameCount();
- public abstract java.nio.file.Path getParent();
- public abstract java.nio.file.Path getRoot();
- public abstract int hashCode();
- public abstract boolean isAbsolute();
- public abstract java.util.Iterator iterator();
- public abstract java.nio.file.Path normalize();
- public abstract java.nio.file.WatchKey register(java.nio.file.WatchService, java.nio.file.WatchEvent$Kind[], java.nio.file.WatchEvent$Modifier[]);
- public abstract java.nio.file.WatchKey register(java.nio.file.WatchService, java.nio.file.WatchEvent$Kind[]);
- public abstract java.nio.file.Path relativize(java.nio.file.Path);
- public abstract java.nio.file.Path resolve(java.nio.file.Path);
- public abstract java.nio.file.Path resolve(java.lang.String);
- public abstract java.nio.file.Path resolveSibling(java.nio.file.Path);
- public abstract java.nio.file.Path resolveSibling(java.lang.String);
- public abstract boolean startsWith(java.nio.file.Path);
- public abstract boolean startsWith(java.lang.String);
- public abstract java.nio.file.Path subpath(int, int);
- public abstract java.nio.file.Path toAbsolutePath();
- public abstract java.io.File toFile();
- public abstract java.nio.file.Path toRealPath(java.nio.file.LinkOption[]);
- public abstract java.lang.String toString();
- public abstract java.net.URI toUri();
-
-
-}
-
--keep class java.nio.file.PathMatcher {
-
- public abstract boolean matches(java.nio.file.Path);
-
-
-}
-
--keep class java.nio.file.WatchEvent {
-
- public abstract java.lang.Object context();
- public abstract int count();
- public abstract java.nio.file.WatchEvent$Kind kind();
-
-
-}
-
--keep class java.nio.file.WatchEvent$Kind {
-
- public abstract java.lang.String name();
- public abstract java.lang.Class type();
-
-
-}
-
--keep class java.nio.file.WatchEvent$Modifier {
-
- public abstract java.lang.String name();
-
-
-}
-
--keep class java.nio.file.WatchKey {
-
- public abstract void cancel();
- public abstract boolean isValid();
- public abstract java.util.List pollEvents();
- public abstract boolean reset();
- public abstract java.nio.file.Watchable watchable();
-
-
-}
-
--keep class java.nio.file.WatchService {
-
- public abstract void close();
- public abstract java.nio.file.WatchKey poll();
- public abstract java.nio.file.WatchKey poll(long, java.util.concurrent.TimeUnit);
- public abstract java.nio.file.WatchKey take();
-
-
-}
-
--keep class java.nio.file.Watchable {
-
- public abstract java.nio.file.WatchKey register(java.nio.file.WatchService, java.nio.file.WatchEvent$Kind[], java.nio.file.WatchEvent$Modifier[]);
- public abstract java.nio.file.WatchKey register(java.nio.file.WatchService, java.nio.file.WatchEvent$Kind[]);
-
-
-}
-
--keep class java.nio.file.attribute.BasicFileAttributes {
-
- public abstract java.nio.file.attribute.FileTime creationTime();
- public abstract java.lang.Object fileKey();
- public abstract boolean isDirectory();
- public abstract boolean isOther();
- public abstract boolean isRegularFile();
- public abstract boolean isSymbolicLink();
- public abstract java.nio.file.attribute.FileTime lastAccessTime();
- public abstract java.nio.file.attribute.FileTime lastModifiedTime();
- public abstract long size();
-
-
-}
-
--keep class java.nio.file.attribute.FileAttribute {
-
- public abstract java.lang.String name();
- public abstract java.lang.Object value();
-
-
-}
-
--keep class java.nio.file.attribute.FileAttributeView {
-
-
-
-}
-
--keep class java.nio.file.attribute.FileStoreAttributeView {
-
-
-
-}
-
--keep class java.nio.file.attribute.FileTime {
-
- public int compareTo(java.nio.file.attribute.FileTime);
- public int compareTo(java.lang.Object);
- public boolean equals(java.lang.Object);
- public static java.nio.file.attribute.FileTime from(long, java.util.concurrent.TimeUnit);
- public static java.nio.file.attribute.FileTime from(java.time.Instant);
- public static java.nio.file.attribute.FileTime fromMillis(long);
- public int hashCode();
- public long to(java.util.concurrent.TimeUnit);
- public java.time.Instant toInstant();
- public long toMillis();
- public java.lang.String toString();
-
-
-}
-
--keep class java.nio.file.attribute.GroupPrincipal {
-
-
-
-}
-
--keep class java.nio.file.attribute.UserPrincipal {
-
-
-
-}
-
--keep class java.nio.file.attribute.UserPrincipalLookupService {
- <init>();
-
- public abstract java.nio.file.attribute.GroupPrincipal lookupPrincipalByGroupName(java.lang.String);
- public abstract java.nio.file.attribute.UserPrincipal lookupPrincipalByName(java.lang.String);
-
-
-}
-
--keep class java.nio.file.spi.FileSystemProvider {
- <init>();
-
- public abstract void checkAccess(java.nio.file.Path, java.nio.file.AccessMode[]);
- public abstract void copy(java.nio.file.Path, java.nio.file.Path, java.nio.file.CopyOption[]);
- public abstract void createDirectory(java.nio.file.Path, java.nio.file.attribute.FileAttribute[]);
- public void createLink(java.nio.file.Path, java.nio.file.Path);
- public void createSymbolicLink(java.nio.file.Path, java.nio.file.Path, java.nio.file.attribute.FileAttribute[]);
- public abstract void delete(java.nio.file.Path);
- public boolean deleteIfExists(java.nio.file.Path);
- public abstract java.nio.file.attribute.FileAttributeView getFileAttributeView(java.nio.file.Path, java.lang.Class, java.nio.file.LinkOption[]);
- public abstract java.nio.file.FileStore getFileStore(java.nio.file.Path);
- public abstract java.nio.file.FileSystem getFileSystem(java.net.URI);
- public abstract java.nio.file.Path getPath(java.net.URI);
- public abstract java.lang.String getScheme();
- public static java.util.List installedProviders();
- public abstract boolean isHidden(java.nio.file.Path);
- public abstract boolean isSameFile(java.nio.file.Path, java.nio.file.Path);
- public abstract void move(java.nio.file.Path, java.nio.file.Path, java.nio.file.CopyOption[]);
- public java.nio.channels.AsynchronousFileChannel newAsynchronousFileChannel(java.nio.file.Path, java.util.Set, java.util.concurrent.ExecutorService, java.nio.file.attribute.FileAttribute[]);
- public abstract java.nio.channels.SeekableByteChannel newByteChannel(java.nio.file.Path, java.util.Set, java.nio.file.attribute.FileAttribute[]);
- public abstract java.nio.file.DirectoryStream newDirectoryStream(java.nio.file.Path, java.nio.file.DirectoryStream$Filter);
- public java.nio.channels.FileChannel newFileChannel(java.nio.file.Path, java.util.Set, java.nio.file.attribute.FileAttribute[]);
- public abstract java.nio.file.FileSystem newFileSystem(java.net.URI, java.util.Map);
- public java.nio.file.FileSystem newFileSystem(java.nio.file.Path, java.util.Map);
- public java.io.InputStream newInputStream(java.nio.file.Path, java.nio.file.OpenOption[]);
- public java.io.OutputStream newOutputStream(java.nio.file.Path, java.nio.file.OpenOption[]);
- public abstract java.nio.file.attribute.BasicFileAttributes readAttributes(java.nio.file.Path, java.lang.Class, java.nio.file.LinkOption[]);
- public abstract java.util.Map readAttributes(java.nio.file.Path, java.lang.String, java.nio.file.LinkOption[]);
- public java.nio.file.Path readSymbolicLink(java.nio.file.Path);
- public abstract void setAttribute(java.nio.file.Path, java.lang.String, java.lang.Object, java.nio.file.LinkOption[]);
-
-
-}
-
--keep class java.security.AccessControlContext {
- <init>(java.security.ProtectionDomain[]);
- <init>(java.security.AccessControlContext, java.security.DomainCombiner);
-
- public void checkPermission(java.security.Permission);
- public java.security.DomainCombiner getDomainCombiner();
-
-
-}
-
--keep class java.security.AccessControlException {
- <init>(java.lang.String);
- <init>(java.lang.String, java.security.Permission);
-
- public java.security.Permission getPermission();
-
-
-}
-
--keep class java.security.CodeSigner {
- <init>(java.security.cert.CertPath, java.security.Timestamp);
-
- public boolean equals(java.lang.Object);
- public java.security.cert.CertPath getSignerCertPath();
- public java.security.Timestamp getTimestamp();
- public int hashCode();
- public java.lang.String toString();
-
-
-}
-
--keep class java.security.CodeSource {
- <init>(java.net.URL, java.security.cert.Certificate[]);
- <init>(java.net.URL, java.security.CodeSigner[]);
-
- public java.security.cert.Certificate[] getCertificates();
- public java.security.CodeSigner[] getCodeSigners();
- public java.net.URL getLocation();
- public boolean implies(java.security.CodeSource);
-
-
-}
-
--keep class java.security.DomainCombiner {
-
- public abstract java.security.ProtectionDomain[] combine(java.security.ProtectionDomain[], java.security.ProtectionDomain[]);
-
-
-}
-
--keep class java.security.GeneralSecurityException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
- <init>(java.lang.Throwable);
-
-
-
-}
-
--keep class java.security.InvalidKeyException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
- <init>(java.lang.Throwable);
-
-
-
-}
-
--keep class java.security.KeyException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
- <init>(java.lang.Throwable);
-
-
-
-}
-
--keep class java.security.NoSuchAlgorithmException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
- <init>(java.lang.Throwable);
-
-
-
-}
-
--keep class java.security.NoSuchProviderException {
- <init>();
- <init>(java.lang.String);
-
-
-
-}
-
--keep class java.security.Permission {
- <init>(java.lang.String);
-
- public void checkGuard(java.lang.Object);
- public abstract java.lang.String getActions();
- public java.lang.String getName();
- public abstract boolean implies(java.security.Permission);
- public java.security.PermissionCollection newPermissionCollection();
-
-
-}
-
--keep class java.security.PermissionCollection {
- <init>();
-
- public abstract void add(java.security.Permission);
- public abstract java.util.Enumeration elements();
- public abstract boolean implies(java.security.Permission);
- public boolean isReadOnly();
- public void setReadOnly();
-
-
-}
-
--keep class java.security.Principal {
-
- public abstract boolean equals(java.lang.Object);
- public abstract java.lang.String getName();
- public abstract int hashCode();
- public boolean implies(javax.security.auth.Subject);
- public abstract java.lang.String toString();
-
-
-}
-
--keep class java.security.PrivilegedAction {
-
- public abstract java.lang.Object run();
-
-
-}
-
--keep class java.security.PrivilegedActionException {
- <init>(java.lang.Exception);
-
- public java.lang.Throwable getCause();
- public java.lang.Exception getException();
- public java.lang.String toString();
-
-
-}
-
--keep class java.security.PrivilegedExceptionAction {
-
- public abstract java.lang.Object run();
-
-
-}
-
--keep class java.security.ProtectionDomain {
- <init>(java.security.CodeSource, java.security.PermissionCollection);
- <init>(java.security.CodeSource, java.security.PermissionCollection, java.lang.ClassLoader, java.security.Principal[]);
-
- public java.lang.ClassLoader getClassLoader();
- public java.security.CodeSource getCodeSource();
- public java.security.PermissionCollection getPermissions();
- public java.security.Principal[] getPrincipals();
- public boolean implies(java.security.Permission);
-
-
-}
-
--keep class java.security.Provider {
- <init>(java.lang.String, double, java.lang.String);
-
- public synchronized void clear();
- public synchronized java.lang.Object compute(java.lang.Object, java.util.function.BiFunction);
- public synchronized java.lang.Object computeIfAbsent(java.lang.Object, java.util.function.Function);
- public synchronized java.lang.Object computeIfPresent(java.lang.Object, java.util.function.BiFunction);
- public java.util.Enumeration elements();
- public synchronized java.util.Set entrySet();
- public synchronized void forEach(java.util.function.BiConsumer);
- public java.lang.Object get(java.lang.Object);
- public java.lang.String getInfo();
- public java.lang.String getName();
- public synchronized java.lang.Object getOrDefault(java.lang.Object, java.lang.Object);
- public java.lang.String getProperty(java.lang.String);
- public synchronized java.security.Provider$Service getService(java.lang.String, java.lang.String);
- public synchronized java.util.Set getServices();
- public double getVersion();
- public boolean isRegistered();
- public java.util.Set keySet();
- public java.util.Enumeration keys();
- public synchronized void load(java.io.InputStream);
- public synchronized java.lang.Object merge(java.lang.Object, java.lang.Object, java.util.function.BiFunction);
- public synchronized java.lang.Object put(java.lang.Object, java.lang.Object);
- public synchronized void putAll(java.util.Map);
- public synchronized java.lang.Object putIfAbsent(java.lang.Object, java.lang.Object);
- protected synchronized void putService(java.security.Provider$Service);
- public synchronized java.lang.Object remove(java.lang.Object);
- public synchronized boolean remove(java.lang.Object, java.lang.Object);
- protected synchronized void removeService(java.security.Provider$Service);
- public synchronized boolean replace(java.lang.Object, java.lang.Object, java.lang.Object);
- public synchronized java.lang.Object replace(java.lang.Object, java.lang.Object);
- public synchronized void replaceAll(java.util.function.BiFunction);
- public void setRegistered();
- public void setUnregistered();
- public java.lang.String toString();
- public java.util.Collection values();
- public synchronized void warmUpServiceProvision();
-
-
-}
-
--keep class java.security.Provider$Service {
- <init>(java.security.Provider, java.lang.String, java.lang.String, java.lang.String, java.util.List, java.util.Map);
-
- public java.lang.String getAlgorithm();
- public java.lang.String getAttribute(java.lang.String);
- public java.lang.String getClassName();
- public java.security.Provider getProvider();
- public java.lang.String getType();
- public java.lang.Object newInstance(java.lang.Object);
- public boolean supportsParameter(java.lang.Object);
- public java.lang.String toString();
-
-
-}
-
--keep class java.security.PublicKey {
-
-
-
- public static long serialVersionUID;
-}
-
--keep class java.security.SignatureException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
- <init>(java.lang.Throwable);
-
-
-
-}
-
--keep class java.security.Timestamp {
- <init>(java.util.Date, java.security.cert.CertPath);
-
- public boolean equals(java.lang.Object);
- public java.security.cert.CertPath getSignerCertPath();
- public java.util.Date getTimestamp();
- public int hashCode();
- public java.lang.String toString();
-
-
-}
-
--keep class java.security.cert.CRL {
- <init>(java.lang.String);
-
- public java.lang.String getType();
- public abstract boolean isRevoked(java.security.cert.Certificate);
- public abstract java.lang.String toString();
-
-
-}
-
--keep class java.security.cert.CRLException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
- <init>(java.lang.Throwable);
-
-
-
-}
-
--keep class java.security.cert.CertPath {
- <init>(java.lang.String);
-
- public boolean equals(java.lang.Object);
- public abstract java.util.List getCertificates();
- public abstract byte[] getEncoded();
- public abstract byte[] getEncoded(java.lang.String);
- public abstract java.util.Iterator getEncodings();
- public java.lang.String getType();
- public int hashCode();
- public java.lang.String toString();
- protected java.lang.Object writeReplace();
-
-
-}
-
--keep class java.security.cert.Certificate {
- <init>(java.lang.String);
-
- public boolean equals(java.lang.Object);
- public abstract byte[] getEncoded();
- public abstract java.security.PublicKey getPublicKey();
- public java.lang.String getType();
- public int hashCode();
- public abstract java.lang.String toString();
- public abstract void verify(java.security.PublicKey);
- public abstract void verify(java.security.PublicKey, java.lang.String);
- public void verify(java.security.PublicKey, java.security.Provider);
- protected java.lang.Object writeReplace();
-
-
-}
-
--keep class java.security.cert.CertificateEncodingException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
- <init>(java.lang.Throwable);
-
-
-
-}
-
--keep class java.security.cert.CertificateException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
- <init>(java.lang.Throwable);
-
-
-
-}
-
--keep class java.security.cert.CertificateFactory {
- <init>(java.security.cert.CertificateFactorySpi, java.security.Provider, java.lang.String);
-
- public java.security.cert.CRL generateCRL(java.io.InputStream);
- public java.util.Collection generateCRLs(java.io.InputStream);
- public java.security.cert.CertPath generateCertPath(java.io.InputStream);
- public java.security.cert.CertPath generateCertPath(java.io.InputStream, java.lang.String);
- public java.security.cert.CertPath generateCertPath(java.util.List);
- public java.security.cert.Certificate generateCertificate(java.io.InputStream);
- public java.util.Collection generateCertificates(java.io.InputStream);
- public java.util.Iterator getCertPathEncodings();
- public static java.security.cert.CertificateFactory getInstance(java.lang.String);
- public static java.security.cert.CertificateFactory getInstance(java.lang.String, java.lang.String);
- public static java.security.cert.CertificateFactory getInstance(java.lang.String, java.security.Provider);
- public java.security.Provider getProvider();
- public java.lang.String getType();
-
-
-}
-
--keep class java.security.cert.CertificateFactorySpi {
- <init>();
-
- public abstract java.security.cert.CRL engineGenerateCRL(java.io.InputStream);
- public abstract java.util.Collection engineGenerateCRLs(java.io.InputStream);
- public java.security.cert.CertPath engineGenerateCertPath(java.io.InputStream);
- public java.security.cert.CertPath engineGenerateCertPath(java.io.InputStream, java.lang.String);
- public java.security.cert.CertPath engineGenerateCertPath(java.util.List);
- public abstract java.security.cert.Certificate engineGenerateCertificate(java.io.InputStream);
- public abstract java.util.Collection engineGenerateCertificates(java.io.InputStream);
- public java.util.Iterator engineGetCertPathEncodings();
-
-
-}
-
--keep class java.text.AttributedCharacterIterator {
-
- public abstract java.util.Set getAllAttributeKeys();
- public abstract java.lang.Object getAttribute(java.text.AttributedCharacterIterator$Attribute);
- public abstract java.util.Map getAttributes();
- public abstract int getRunLimit();
- public abstract int getRunLimit(java.text.AttributedCharacterIterator$Attribute);
- public abstract int getRunLimit(java.util.Set);
- public abstract int getRunStart();
- public abstract int getRunStart(java.text.AttributedCharacterIterator$Attribute);
- public abstract int getRunStart(java.util.Set);
-
-
-}
-
--keep class java.text.AttributedCharacterIterator$Attribute {
- <init>(java.lang.String);
-
- public boolean equals(java.lang.Object);
- protected java.lang.String getName();
- public int hashCode();
- protected java.lang.Object readResolve();
- public java.lang.String toString();
-
-
- public static java.text.AttributedCharacterIterator$Attribute INPUT_METHOD_SEGMENT;
- public static java.text.AttributedCharacterIterator$Attribute LANGUAGE;
- public static java.text.AttributedCharacterIterator$Attribute READING;
-}
-
--keep class java.text.FieldPosition {
- <init>(int);
- <init>(java.text.Format$Field);
- <init>(java.text.Format$Field, int);
-
- public boolean equals(java.lang.Object);
- public int getBeginIndex();
- public int getEndIndex();
- public int getField();
- public java.text.Format$Field getFieldAttribute();
- public int hashCode();
- public void setBeginIndex(int);
- public void setEndIndex(int);
- public java.lang.String toString();
-
-
-}
-
--keep class java.text.Format {
- <init>();
-
- public java.lang.Object clone();
- public java.lang.String format(java.lang.Object);
- public abstract java.lang.StringBuffer format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition);
- public java.text.AttributedCharacterIterator formatToCharacterIterator(java.lang.Object);
- public abstract java.lang.Object parseObject(java.lang.String, java.text.ParsePosition);
- public java.lang.Object parseObject(java.lang.String);
-
-
-}
-
--keep class java.text.Format$Field {
- <init>(java.lang.String);
-
-
-
-}
-
--keep class java.text.ParseException {
- <init>(java.lang.String, int);
-
- public int getErrorOffset();
-
-
-}
-
--keep class java.text.ParsePosition {
- <init>(int);
-
- public boolean equals(java.lang.Object);
- public int getErrorIndex();
- public int getIndex();
- public int hashCode();
- public void setErrorIndex(int);
- public void setIndex(int);
- public java.lang.String toString();
-
-
-}
-
--keep class java.time.Clock {
- <init>();
-
- public boolean equals(java.lang.Object);
- public static java.time.Clock fixed(java.time.Instant, java.time.ZoneId);
- public abstract java.time.ZoneId getZone();
- public int hashCode();
- public abstract java.time.Instant instant();
- public long millis();
- public static java.time.Clock offset(java.time.Clock, java.time.Duration);
- public static java.time.Clock system(java.time.ZoneId);
- public static java.time.Clock systemDefaultZone();
- public static java.time.Clock systemUTC();
- public static java.time.Clock tick(java.time.Clock, java.time.Duration);
- public static java.time.Clock tickMinutes(java.time.ZoneId);
- public static java.time.Clock tickSeconds(java.time.ZoneId);
- public abstract java.time.Clock withZone(java.time.ZoneId);
-
-
-}
-
--keep class java.time.DayOfWeek {
-
- public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
- public static java.time.DayOfWeek from(java.time.temporal.TemporalAccessor);
- public int get(java.time.temporal.TemporalField);
- public java.lang.String getDisplayName(java.time.format.TextStyle, java.util.Locale);
- public long getLong(java.time.temporal.TemporalField);
- public int getValue();
- public boolean isSupported(java.time.temporal.TemporalField);
- public java.time.DayOfWeek minus(long);
- public static java.time.DayOfWeek of(int);
- public java.time.DayOfWeek plus(long);
- public java.lang.Object query(java.time.temporal.TemporalQuery);
- public java.time.temporal.ValueRange range(java.time.temporal.TemporalField);
- public static java.time.DayOfWeek valueOf(java.lang.String);
- public static java.time.DayOfWeek[] values();
-
- public static java.time.DayOfWeek FRIDAY;
- public static java.time.DayOfWeek MONDAY;
- public static java.time.DayOfWeek SATURDAY;
- public static java.time.DayOfWeek SUNDAY;
- public static java.time.DayOfWeek THURSDAY;
- public static java.time.DayOfWeek TUESDAY;
- public static java.time.DayOfWeek WEDNESDAY;
-
-}
-
--keep class java.time.Duration {
-
- public java.time.Duration abs();
- public java.time.temporal.Temporal addTo(java.time.temporal.Temporal);
- public static java.time.Duration between(java.time.temporal.Temporal, java.time.temporal.Temporal);
- public int compareTo(java.time.Duration);
- public int compareTo(java.lang.Object);
- public java.time.Duration dividedBy(long);
- public boolean equals(java.lang.Object);
- public static java.time.Duration from(java.time.temporal.TemporalAmount);
- public long get(java.time.temporal.TemporalUnit);
- public int getNano();
- public long getSeconds();
- public java.util.List getUnits();
- public int hashCode();
- public boolean isNegative();
- public boolean isZero();
- public java.time.Duration minus(java.time.Duration);
- public java.time.Duration minus(long, java.time.temporal.TemporalUnit);
- public java.time.Duration minusDays(long);
- public java.time.Duration minusHours(long);
- public java.time.Duration minusMillis(long);
- public java.time.Duration minusMinutes(long);
- public java.time.Duration minusNanos(long);
- public java.time.Duration minusSeconds(long);
- public java.time.Duration multipliedBy(long);
- public java.time.Duration negated();
- public static java.time.Duration of(long, java.time.temporal.TemporalUnit);
- public static java.time.Duration ofDays(long);
- public static java.time.Duration ofHours(long);
- public static java.time.Duration ofMillis(long);
- public static java.time.Duration ofMinutes(long);
- public static java.time.Duration ofNanos(long);
- public static java.time.Duration ofSeconds(long);
- public static java.time.Duration ofSeconds(long, long);
- public static java.time.Duration parse(java.lang.CharSequence);
- public java.time.Duration plus(java.time.Duration);
- public java.time.Duration plus(long, java.time.temporal.TemporalUnit);
- public java.time.Duration plusDays(long);
- public java.time.Duration plusHours(long);
- public java.time.Duration plusMillis(long);
- public java.time.Duration plusMinutes(long);
- public java.time.Duration plusNanos(long);
- public java.time.Duration plusSeconds(long);
- public java.time.temporal.Temporal subtractFrom(java.time.temporal.Temporal);
- public long toDays();
- public long toHours();
- public long toMillis();
- public long toMinutes();
- public long toNanos();
- public java.lang.String toString();
- public java.time.Duration withNanos(int);
- public java.time.Duration withSeconds(long);
-
-
- public static java.time.Duration ZERO;
-}
-
--keep class java.time.Instant {
-
- public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
- public java.time.OffsetDateTime atOffset(java.time.ZoneOffset);
- public java.time.ZonedDateTime atZone(java.time.ZoneId);
- public int compareTo(java.time.Instant);
- public int compareTo(java.lang.Object);
- public boolean equals(java.lang.Object);
- public static java.time.Instant from(java.time.temporal.TemporalAccessor);
- public int get(java.time.temporal.TemporalField);
- public long getEpochSecond();
- public long getLong(java.time.temporal.TemporalField);
- public int getNano();
- public int hashCode();
- public boolean isAfter(java.time.Instant);
- public boolean isBefore(java.time.Instant);
- public boolean isSupported(java.time.temporal.TemporalField);
- public boolean isSupported(java.time.temporal.TemporalUnit);
- public java.time.Instant minus(java.time.temporal.TemporalAmount);
- public java.time.Instant minus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal minus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal minus(java.time.temporal.TemporalAmount);
- public java.time.Instant minusMillis(long);
- public java.time.Instant minusNanos(long);
- public java.time.Instant minusSeconds(long);
- public static java.time.Instant now();
- public static java.time.Instant now(java.time.Clock);
- public static java.time.Instant ofEpochMilli(long);
- public static java.time.Instant ofEpochSecond(long);
- public static java.time.Instant ofEpochSecond(long, long);
- public static java.time.Instant parse(java.lang.CharSequence);
- public java.time.Instant plus(java.time.temporal.TemporalAmount);
- public java.time.Instant plus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal plus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal plus(java.time.temporal.TemporalAmount);
- public java.time.Instant plusMillis(long);
- public java.time.Instant plusNanos(long);
- public java.time.Instant plusSeconds(long);
- public java.lang.Object query(java.time.temporal.TemporalQuery);
- public java.time.temporal.ValueRange range(java.time.temporal.TemporalField);
- public long toEpochMilli();
- public java.lang.String toString();
- public java.time.Instant truncatedTo(java.time.temporal.TemporalUnit);
- public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
- public java.time.Instant with(java.time.temporal.TemporalAdjuster);
- public java.time.Instant with(java.time.temporal.TemporalField, long);
- public java.time.temporal.Temporal with(java.time.temporal.TemporalField, long);
- public java.time.temporal.Temporal with(java.time.temporal.TemporalAdjuster);
-
-
- public static java.time.Instant EPOCH;
- public static java.time.Instant MAX;
- public static java.time.Instant MIN;
-}
-
--keep class java.time.LocalDate {
-
- public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
- public java.time.LocalDateTime atStartOfDay();
- public java.time.ZonedDateTime atStartOfDay(java.time.ZoneId);
- public java.time.LocalDateTime atTime(java.time.LocalTime);
- public java.time.LocalDateTime atTime(int, int);
- public java.time.LocalDateTime atTime(int, int, int);
- public java.time.LocalDateTime atTime(int, int, int, int);
- public java.time.OffsetDateTime atTime(java.time.OffsetTime);
- public java.time.chrono.ChronoLocalDateTime atTime(java.time.LocalTime);
- public int compareTo(java.time.chrono.ChronoLocalDate);
- public int compareTo(java.lang.Object);
- public boolean equals(java.lang.Object);
- public java.lang.String format(java.time.format.DateTimeFormatter);
- public static java.time.LocalDate from(java.time.temporal.TemporalAccessor);
- public int get(java.time.temporal.TemporalField);
- public java.time.chrono.IsoChronology getChronology();
- public java.time.chrono.Chronology getChronology();
- public int getDayOfMonth();
- public java.time.DayOfWeek getDayOfWeek();
- public int getDayOfYear();
- public java.time.chrono.Era getEra();
- public long getLong(java.time.temporal.TemporalField);
- public java.time.Month getMonth();
- public int getMonthValue();
- public int getYear();
- public int hashCode();
- public boolean isAfter(java.time.chrono.ChronoLocalDate);
- public boolean isBefore(java.time.chrono.ChronoLocalDate);
- public boolean isEqual(java.time.chrono.ChronoLocalDate);
- public boolean isLeapYear();
- public boolean isSupported(java.time.temporal.TemporalField);
- public boolean isSupported(java.time.temporal.TemporalUnit);
- public int lengthOfMonth();
- public int lengthOfYear();
- public java.time.LocalDate minus(java.time.temporal.TemporalAmount);
- public java.time.LocalDate minus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal minus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal minus(java.time.temporal.TemporalAmount);
- public java.time.chrono.ChronoLocalDate minus(long, java.time.temporal.TemporalUnit);
- public java.time.chrono.ChronoLocalDate minus(java.time.temporal.TemporalAmount);
- public java.time.LocalDate minusDays(long);
- public java.time.LocalDate minusMonths(long);
- public java.time.LocalDate minusWeeks(long);
- public java.time.LocalDate minusYears(long);
- public static java.time.LocalDate now();
- public static java.time.LocalDate now(java.time.ZoneId);
- public static java.time.LocalDate now(java.time.Clock);
- public static java.time.LocalDate of(int, java.time.Month, int);
- public static java.time.LocalDate of(int, int, int);
- public static java.time.LocalDate ofEpochDay(long);
- public static java.time.LocalDate ofYearDay(int, int);
- public static java.time.LocalDate parse(java.lang.CharSequence);
- public static java.time.LocalDate parse(java.lang.CharSequence, java.time.format.DateTimeFormatter);
- public java.time.LocalDate plus(java.time.temporal.TemporalAmount);
- public java.time.LocalDate plus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal plus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal plus(java.time.temporal.TemporalAmount);
- public java.time.chrono.ChronoLocalDate plus(long, java.time.temporal.TemporalUnit);
- public java.time.chrono.ChronoLocalDate plus(java.time.temporal.TemporalAmount);
- public java.time.LocalDate plusDays(long);
- public java.time.LocalDate plusMonths(long);
- public java.time.LocalDate plusWeeks(long);
- public java.time.LocalDate plusYears(long);
- public java.lang.Object query(java.time.temporal.TemporalQuery);
- public java.time.temporal.ValueRange range(java.time.temporal.TemporalField);
- public long toEpochDay();
- public java.lang.String toString();
- public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
- public java.time.Period until(java.time.chrono.ChronoLocalDate);
- public java.time.chrono.ChronoPeriod until(java.time.chrono.ChronoLocalDate);
- public java.time.LocalDate with(java.time.temporal.TemporalAdjuster);
- public java.time.LocalDate with(java.time.temporal.TemporalField, long);
- public java.time.temporal.Temporal with(java.time.temporal.TemporalField, long);
- public java.time.temporal.Temporal with(java.time.temporal.TemporalAdjuster);
- public java.time.chrono.ChronoLocalDate with(java.time.temporal.TemporalField, long);
- public java.time.chrono.ChronoLocalDate with(java.time.temporal.TemporalAdjuster);
- public java.time.LocalDate withDayOfMonth(int);
- public java.time.LocalDate withDayOfYear(int);
- public java.time.LocalDate withMonth(int);
- public java.time.LocalDate withYear(int);
-
-
- public static java.time.LocalDate MAX;
- public static java.time.LocalDate MIN;
-}
-
--keep class java.time.LocalDateTime {
-
- public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
- public java.time.OffsetDateTime atOffset(java.time.ZoneOffset);
- public java.time.ZonedDateTime atZone(java.time.ZoneId);
- public java.time.chrono.ChronoZonedDateTime atZone(java.time.ZoneId);
- public int compareTo(java.time.chrono.ChronoLocalDateTime);
- public int compareTo(java.lang.Object);
- public boolean equals(java.lang.Object);
- public java.lang.String format(java.time.format.DateTimeFormatter);
- public static java.time.LocalDateTime from(java.time.temporal.TemporalAccessor);
- public int get(java.time.temporal.TemporalField);
- public int getDayOfMonth();
- public java.time.DayOfWeek getDayOfWeek();
- public int getDayOfYear();
- public int getHour();
- public long getLong(java.time.temporal.TemporalField);
- public int getMinute();
- public java.time.Month getMonth();
- public int getMonthValue();
- public int getNano();
- public int getSecond();
- public int getYear();
- public int hashCode();
- public boolean isAfter(java.time.chrono.ChronoLocalDateTime);
- public boolean isBefore(java.time.chrono.ChronoLocalDateTime);
- public boolean isEqual(java.time.chrono.ChronoLocalDateTime);
- public boolean isSupported(java.time.temporal.TemporalField);
- public boolean isSupported(java.time.temporal.TemporalUnit);
- public java.time.LocalDateTime minus(java.time.temporal.TemporalAmount);
- public java.time.LocalDateTime minus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal minus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal minus(java.time.temporal.TemporalAmount);
- public java.time.chrono.ChronoLocalDateTime minus(long, java.time.temporal.TemporalUnit);
- public java.time.chrono.ChronoLocalDateTime minus(java.time.temporal.TemporalAmount);
- public java.time.LocalDateTime minusDays(long);
- public java.time.LocalDateTime minusHours(long);
- public java.time.LocalDateTime minusMinutes(long);
- public java.time.LocalDateTime minusMonths(long);
- public java.time.LocalDateTime minusNanos(long);
- public java.time.LocalDateTime minusSeconds(long);
- public java.time.LocalDateTime minusWeeks(long);
- public java.time.LocalDateTime minusYears(long);
- public static java.time.LocalDateTime now();
- public static java.time.LocalDateTime now(java.time.ZoneId);
- public static java.time.LocalDateTime now(java.time.Clock);
- public static java.time.LocalDateTime of(int, java.time.Month, int, int, int);
- public static java.time.LocalDateTime of(int, java.time.Month, int, int, int, int);
- public static java.time.LocalDateTime of(int, java.time.Month, int, int, int, int, int);
- public static java.time.LocalDateTime of(int, int, int, int, int);
- public static java.time.LocalDateTime of(int, int, int, int, int, int);
- public static java.time.LocalDateTime of(int, int, int, int, int, int, int);
- public static java.time.LocalDateTime of(java.time.LocalDate, java.time.LocalTime);
- public static java.time.LocalDateTime ofEpochSecond(long, int, java.time.ZoneOffset);
- public static java.time.LocalDateTime ofInstant(java.time.Instant, java.time.ZoneId);
- public static java.time.LocalDateTime parse(java.lang.CharSequence);
- public static java.time.LocalDateTime parse(java.lang.CharSequence, java.time.format.DateTimeFormatter);
- public java.time.LocalDateTime plus(java.time.temporal.TemporalAmount);
- public java.time.LocalDateTime plus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal plus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal plus(java.time.temporal.TemporalAmount);
- public java.time.chrono.ChronoLocalDateTime plus(long, java.time.temporal.TemporalUnit);
- public java.time.chrono.ChronoLocalDateTime plus(java.time.temporal.TemporalAmount);
- public java.time.LocalDateTime plusDays(long);
- public java.time.LocalDateTime plusHours(long);
- public java.time.LocalDateTime plusMinutes(long);
- public java.time.LocalDateTime plusMonths(long);
- public java.time.LocalDateTime plusNanos(long);
- public java.time.LocalDateTime plusSeconds(long);
- public java.time.LocalDateTime plusWeeks(long);
- public java.time.LocalDateTime plusYears(long);
- public java.lang.Object query(java.time.temporal.TemporalQuery);
- public java.time.temporal.ValueRange range(java.time.temporal.TemporalField);
- public java.time.LocalDate toLocalDate();
- public java.time.chrono.ChronoLocalDate toLocalDate();
- public java.time.LocalTime toLocalTime();
- public java.lang.String toString();
- public java.time.LocalDateTime truncatedTo(java.time.temporal.TemporalUnit);
- public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
- public java.time.LocalDateTime with(java.time.temporal.TemporalAdjuster);
- public java.time.LocalDateTime with(java.time.temporal.TemporalField, long);
- public java.time.temporal.Temporal with(java.time.temporal.TemporalField, long);
- public java.time.temporal.Temporal with(java.time.temporal.TemporalAdjuster);
- public java.time.chrono.ChronoLocalDateTime with(java.time.temporal.TemporalField, long);
- public java.time.chrono.ChronoLocalDateTime with(java.time.temporal.TemporalAdjuster);
- public java.time.LocalDateTime withDayOfMonth(int);
- public java.time.LocalDateTime withDayOfYear(int);
- public java.time.LocalDateTime withHour(int);
- public java.time.LocalDateTime withMinute(int);
- public java.time.LocalDateTime withMonth(int);
- public java.time.LocalDateTime withNano(int);
- public java.time.LocalDateTime withSecond(int);
- public java.time.LocalDateTime withYear(int);
-
-
- public static java.time.LocalDateTime MAX;
- public static java.time.LocalDateTime MIN;
-}
-
--keep class java.time.LocalTime {
-
- public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
- public java.time.LocalDateTime atDate(java.time.LocalDate);
- public java.time.OffsetTime atOffset(java.time.ZoneOffset);
- public int compareTo(java.time.LocalTime);
- public int compareTo(java.lang.Object);
- public boolean equals(java.lang.Object);
- public java.lang.String format(java.time.format.DateTimeFormatter);
- public static java.time.LocalTime from(java.time.temporal.TemporalAccessor);
- public int get(java.time.temporal.TemporalField);
- public int getHour();
- public long getLong(java.time.temporal.TemporalField);
- public int getMinute();
- public int getNano();
- public int getSecond();
- public int hashCode();
- public boolean isAfter(java.time.LocalTime);
- public boolean isBefore(java.time.LocalTime);
- public boolean isSupported(java.time.temporal.TemporalField);
- public boolean isSupported(java.time.temporal.TemporalUnit);
- public java.time.LocalTime minus(java.time.temporal.TemporalAmount);
- public java.time.LocalTime minus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal minus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal minus(java.time.temporal.TemporalAmount);
- public java.time.LocalTime minusHours(long);
- public java.time.LocalTime minusMinutes(long);
- public java.time.LocalTime minusNanos(long);
- public java.time.LocalTime minusSeconds(long);
- public static java.time.LocalTime now();
- public static java.time.LocalTime now(java.time.ZoneId);
- public static java.time.LocalTime now(java.time.Clock);
- public static java.time.LocalTime of(int, int);
- public static java.time.LocalTime of(int, int, int);
- public static java.time.LocalTime of(int, int, int, int);
- public static java.time.LocalTime ofNanoOfDay(long);
- public static java.time.LocalTime ofSecondOfDay(long);
- public static java.time.LocalTime parse(java.lang.CharSequence);
- public static java.time.LocalTime parse(java.lang.CharSequence, java.time.format.DateTimeFormatter);
- public java.time.LocalTime plus(java.time.temporal.TemporalAmount);
- public java.time.LocalTime plus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal plus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal plus(java.time.temporal.TemporalAmount);
- public java.time.LocalTime plusHours(long);
- public java.time.LocalTime plusMinutes(long);
- public java.time.LocalTime plusNanos(long);
- public java.time.LocalTime plusSeconds(long);
- public java.lang.Object query(java.time.temporal.TemporalQuery);
- public java.time.temporal.ValueRange range(java.time.temporal.TemporalField);
- public long toNanoOfDay();
- public int toSecondOfDay();
- public java.lang.String toString();
- public java.time.LocalTime truncatedTo(java.time.temporal.TemporalUnit);
- public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
- public java.time.LocalTime with(java.time.temporal.TemporalAdjuster);
- public java.time.LocalTime with(java.time.temporal.TemporalField, long);
- public java.time.temporal.Temporal with(java.time.temporal.TemporalField, long);
- public java.time.temporal.Temporal with(java.time.temporal.TemporalAdjuster);
- public java.time.LocalTime withHour(int);
- public java.time.LocalTime withMinute(int);
- public java.time.LocalTime withNano(int);
- public java.time.LocalTime withSecond(int);
-
-
- public static java.time.LocalTime MAX;
- public static java.time.LocalTime MIDNIGHT;
- public static java.time.LocalTime MIN;
- public static java.time.LocalTime NOON;
-}
-
--keep class java.time.Month {
-
- public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
- public int firstDayOfYear(boolean);
- public java.time.Month firstMonthOfQuarter();
- public static java.time.Month from(java.time.temporal.TemporalAccessor);
- public int get(java.time.temporal.TemporalField);
- public java.lang.String getDisplayName(java.time.format.TextStyle, java.util.Locale);
- public long getLong(java.time.temporal.TemporalField);
- public int getValue();
- public boolean isSupported(java.time.temporal.TemporalField);
- public int length(boolean);
- public int maxLength();
- public int minLength();
- public java.time.Month minus(long);
- public static java.time.Month of(int);
- public java.time.Month plus(long);
- public java.lang.Object query(java.time.temporal.TemporalQuery);
- public java.time.temporal.ValueRange range(java.time.temporal.TemporalField);
- public static java.time.Month valueOf(java.lang.String);
- public static java.time.Month[] values();
-
- public static java.time.Month APRIL;
- public static java.time.Month AUGUST;
- public static java.time.Month DECEMBER;
- public static java.time.Month FEBRUARY;
- public static java.time.Month JANUARY;
- public static java.time.Month JULY;
- public static java.time.Month JUNE;
- public static java.time.Month MARCH;
- public static java.time.Month MAY;
- public static java.time.Month NOVEMBER;
- public static java.time.Month OCTOBER;
- public static java.time.Month SEPTEMBER;
-
-}
-
--keep class java.time.OffsetDateTime {
-
- public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
- public java.time.ZonedDateTime atZoneSameInstant(java.time.ZoneId);
- public java.time.ZonedDateTime atZoneSimilarLocal(java.time.ZoneId);
- public int compareTo(java.time.OffsetDateTime);
- public int compareTo(java.lang.Object);
- public boolean equals(java.lang.Object);
- public java.lang.String format(java.time.format.DateTimeFormatter);
- public static java.time.OffsetDateTime from(java.time.temporal.TemporalAccessor);
- public int get(java.time.temporal.TemporalField);
- public int getDayOfMonth();
- public java.time.DayOfWeek getDayOfWeek();
- public int getDayOfYear();
- public int getHour();
- public long getLong(java.time.temporal.TemporalField);
- public int getMinute();
- public java.time.Month getMonth();
- public int getMonthValue();
- public int getNano();
- public java.time.ZoneOffset getOffset();
- public int getSecond();
- public int getYear();
- public int hashCode();
- public boolean isAfter(java.time.OffsetDateTime);
- public boolean isBefore(java.time.OffsetDateTime);
- public boolean isEqual(java.time.OffsetDateTime);
- public boolean isSupported(java.time.temporal.TemporalField);
- public boolean isSupported(java.time.temporal.TemporalUnit);
- public java.time.OffsetDateTime minus(java.time.temporal.TemporalAmount);
- public java.time.OffsetDateTime minus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal minus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal minus(java.time.temporal.TemporalAmount);
- public java.time.OffsetDateTime minusDays(long);
- public java.time.OffsetDateTime minusHours(long);
- public java.time.OffsetDateTime minusMinutes(long);
- public java.time.OffsetDateTime minusMonths(long);
- public java.time.OffsetDateTime minusNanos(long);
- public java.time.OffsetDateTime minusSeconds(long);
- public java.time.OffsetDateTime minusWeeks(long);
- public java.time.OffsetDateTime minusYears(long);
- public static java.time.OffsetDateTime now();
- public static java.time.OffsetDateTime now(java.time.ZoneId);
- public static java.time.OffsetDateTime now(java.time.Clock);
- public static java.time.OffsetDateTime of(java.time.LocalDate, java.time.LocalTime, java.time.ZoneOffset);
- public static java.time.OffsetDateTime of(java.time.LocalDateTime, java.time.ZoneOffset);
- public static java.time.OffsetDateTime of(int, int, int, int, int, int, int, java.time.ZoneOffset);
- public static java.time.OffsetDateTime ofInstant(java.time.Instant, java.time.ZoneId);
- public static java.time.OffsetDateTime parse(java.lang.CharSequence);
- public static java.time.OffsetDateTime parse(java.lang.CharSequence, java.time.format.DateTimeFormatter);
- public java.time.OffsetDateTime plus(java.time.temporal.TemporalAmount);
- public java.time.OffsetDateTime plus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal plus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal plus(java.time.temporal.TemporalAmount);
- public java.time.OffsetDateTime plusDays(long);
- public java.time.OffsetDateTime plusHours(long);
- public java.time.OffsetDateTime plusMinutes(long);
- public java.time.OffsetDateTime plusMonths(long);
- public java.time.OffsetDateTime plusNanos(long);
- public java.time.OffsetDateTime plusSeconds(long);
- public java.time.OffsetDateTime plusWeeks(long);
- public java.time.OffsetDateTime plusYears(long);
- public java.lang.Object query(java.time.temporal.TemporalQuery);
- public java.time.temporal.ValueRange range(java.time.temporal.TemporalField);
- public static java.util.Comparator timeLineOrder();
- public long toEpochSecond();
- public java.time.Instant toInstant();
- public java.time.LocalDate toLocalDate();
- public java.time.LocalDateTime toLocalDateTime();
- public java.time.LocalTime toLocalTime();
- public java.time.OffsetTime toOffsetTime();
- public java.lang.String toString();
- public java.time.ZonedDateTime toZonedDateTime();
- public java.time.OffsetDateTime truncatedTo(java.time.temporal.TemporalUnit);
- public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
- public java.time.OffsetDateTime with(java.time.temporal.TemporalAdjuster);
- public java.time.OffsetDateTime with(java.time.temporal.TemporalField, long);
- public java.time.temporal.Temporal with(java.time.temporal.TemporalField, long);
- public java.time.temporal.Temporal with(java.time.temporal.TemporalAdjuster);
- public java.time.OffsetDateTime withDayOfMonth(int);
- public java.time.OffsetDateTime withDayOfYear(int);
- public java.time.OffsetDateTime withHour(int);
- public java.time.OffsetDateTime withMinute(int);
- public java.time.OffsetDateTime withMonth(int);
- public java.time.OffsetDateTime withNano(int);
- public java.time.OffsetDateTime withOffsetSameInstant(java.time.ZoneOffset);
- public java.time.OffsetDateTime withOffsetSameLocal(java.time.ZoneOffset);
- public java.time.OffsetDateTime withSecond(int);
- public java.time.OffsetDateTime withYear(int);
-
-
- public static java.time.OffsetDateTime MAX;
- public static java.time.OffsetDateTime MIN;
-}
-
--keep class java.time.OffsetTime {
-
- public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
- public java.time.OffsetDateTime atDate(java.time.LocalDate);
- public int compareTo(java.time.OffsetTime);
- public int compareTo(java.lang.Object);
- public boolean equals(java.lang.Object);
- public java.lang.String format(java.time.format.DateTimeFormatter);
- public static java.time.OffsetTime from(java.time.temporal.TemporalAccessor);
- public int get(java.time.temporal.TemporalField);
- public int getHour();
- public long getLong(java.time.temporal.TemporalField);
- public int getMinute();
- public int getNano();
- public java.time.ZoneOffset getOffset();
- public int getSecond();
- public int hashCode();
- public boolean isAfter(java.time.OffsetTime);
- public boolean isBefore(java.time.OffsetTime);
- public boolean isEqual(java.time.OffsetTime);
- public boolean isSupported(java.time.temporal.TemporalField);
- public boolean isSupported(java.time.temporal.TemporalUnit);
- public java.time.OffsetTime minus(java.time.temporal.TemporalAmount);
- public java.time.OffsetTime minus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal minus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal minus(java.time.temporal.TemporalAmount);
- public java.time.OffsetTime minusHours(long);
- public java.time.OffsetTime minusMinutes(long);
- public java.time.OffsetTime minusNanos(long);
- public java.time.OffsetTime minusSeconds(long);
- public static java.time.OffsetTime now();
- public static java.time.OffsetTime now(java.time.ZoneId);
- public static java.time.OffsetTime now(java.time.Clock);
- public static java.time.OffsetTime of(java.time.LocalTime, java.time.ZoneOffset);
- public static java.time.OffsetTime of(int, int, int, int, java.time.ZoneOffset);
- public static java.time.OffsetTime ofInstant(java.time.Instant, java.time.ZoneId);
- public static java.time.OffsetTime parse(java.lang.CharSequence);
- public static java.time.OffsetTime parse(java.lang.CharSequence, java.time.format.DateTimeFormatter);
- public java.time.OffsetTime plus(java.time.temporal.TemporalAmount);
- public java.time.OffsetTime plus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal plus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal plus(java.time.temporal.TemporalAmount);
- public java.time.OffsetTime plusHours(long);
- public java.time.OffsetTime plusMinutes(long);
- public java.time.OffsetTime plusNanos(long);
- public java.time.OffsetTime plusSeconds(long);
- public java.lang.Object query(java.time.temporal.TemporalQuery);
- public java.time.temporal.ValueRange range(java.time.temporal.TemporalField);
- public java.time.LocalTime toLocalTime();
- public java.lang.String toString();
- public java.time.OffsetTime truncatedTo(java.time.temporal.TemporalUnit);
- public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
- public java.time.OffsetTime with(java.time.temporal.TemporalAdjuster);
- public java.time.OffsetTime with(java.time.temporal.TemporalField, long);
- public java.time.temporal.Temporal with(java.time.temporal.TemporalField, long);
- public java.time.temporal.Temporal with(java.time.temporal.TemporalAdjuster);
- public java.time.OffsetTime withHour(int);
- public java.time.OffsetTime withMinute(int);
- public java.time.OffsetTime withNano(int);
- public java.time.OffsetTime withOffsetSameInstant(java.time.ZoneOffset);
- public java.time.OffsetTime withOffsetSameLocal(java.time.ZoneOffset);
- public java.time.OffsetTime withSecond(int);
-
-
- public static java.time.OffsetTime MAX;
- public static java.time.OffsetTime MIN;
-}
-
--keep class java.time.Period {
-
- public java.time.temporal.Temporal addTo(java.time.temporal.Temporal);
- public static java.time.Period between(java.time.LocalDate, java.time.LocalDate);
- public boolean equals(java.lang.Object);
- public static java.time.Period from(java.time.temporal.TemporalAmount);
- public long get(java.time.temporal.TemporalUnit);
- public java.time.chrono.IsoChronology getChronology();
- public java.time.chrono.Chronology getChronology();
- public int getDays();
- public int getMonths();
- public java.util.List getUnits();
- public int getYears();
- public int hashCode();
- public boolean isNegative();
- public boolean isZero();
- public java.time.Period minus(java.time.temporal.TemporalAmount);
- public java.time.chrono.ChronoPeriod minus(java.time.temporal.TemporalAmount);
- public java.time.Period minusDays(long);
- public java.time.Period minusMonths(long);
- public java.time.Period minusYears(long);
- public java.time.Period multipliedBy(int);
- public java.time.chrono.ChronoPeriod multipliedBy(int);
- public java.time.Period negated();
- public java.time.chrono.ChronoPeriod negated();
- public java.time.Period normalized();
- public java.time.chrono.ChronoPeriod normalized();
- public static java.time.Period of(int, int, int);
- public static java.time.Period ofDays(int);
- public static java.time.Period ofMonths(int);
- public static java.time.Period ofWeeks(int);
- public static java.time.Period ofYears(int);
- public static java.time.Period parse(java.lang.CharSequence);
- public java.time.Period plus(java.time.temporal.TemporalAmount);
- public java.time.chrono.ChronoPeriod plus(java.time.temporal.TemporalAmount);
- public java.time.Period plusDays(long);
- public java.time.Period plusMonths(long);
- public java.time.Period plusYears(long);
- public java.time.temporal.Temporal subtractFrom(java.time.temporal.Temporal);
- public java.lang.String toString();
- public long toTotalMonths();
- public java.time.Period withDays(int);
- public java.time.Period withMonths(int);
- public java.time.Period withYears(int);
-
-
- public static java.time.Period ZERO;
-}
-
--keep class java.time.ZoneId {
-
- public boolean equals(java.lang.Object);
- public static java.time.ZoneId from(java.time.temporal.TemporalAccessor);
- public static java.util.Set getAvailableZoneIds();
- public java.lang.String getDisplayName(java.time.format.TextStyle, java.util.Locale);
- public abstract java.lang.String getId();
- public abstract java.time.zone.ZoneRules getRules();
- public int hashCode();
- public java.time.ZoneId normalized();
- public static java.time.ZoneId of(java.lang.String, java.util.Map);
- public static java.time.ZoneId of(java.lang.String);
- public static java.time.ZoneId ofOffset(java.lang.String, java.time.ZoneOffset);
- public static java.time.ZoneId systemDefault();
- public java.lang.String toString();
-
-
- public static java.util.Map SHORT_IDS;
-}
-
--keep class java.time.ZoneOffset {
-
- public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
- public int compareTo(java.time.ZoneOffset);
- public int compareTo(java.lang.Object);
- public boolean equals(java.lang.Object);
- public static java.time.ZoneOffset from(java.time.temporal.TemporalAccessor);
- public int get(java.time.temporal.TemporalField);
- public java.lang.String getId();
- public long getLong(java.time.temporal.TemporalField);
- public java.time.zone.ZoneRules getRules();
- public int getTotalSeconds();
- public int hashCode();
- public boolean isSupported(java.time.temporal.TemporalField);
- public static java.time.ZoneOffset of(java.lang.String);
- public static java.time.ZoneOffset ofHours(int);
- public static java.time.ZoneOffset ofHoursMinutes(int, int);
- public static java.time.ZoneOffset ofHoursMinutesSeconds(int, int, int);
- public static java.time.ZoneOffset ofTotalSeconds(int);
- public java.lang.Object query(java.time.temporal.TemporalQuery);
- public java.time.temporal.ValueRange range(java.time.temporal.TemporalField);
- public java.lang.String toString();
-
-
- public static java.time.ZoneOffset MAX;
- public static java.time.ZoneOffset MIN;
- public static java.time.ZoneOffset UTC;
-}
-
--keep class java.time.ZonedDateTime {
-
- public boolean equals(java.lang.Object);
- public java.lang.String format(java.time.format.DateTimeFormatter);
- public static java.time.ZonedDateTime from(java.time.temporal.TemporalAccessor);
- public int get(java.time.temporal.TemporalField);
- public int getDayOfMonth();
- public java.time.DayOfWeek getDayOfWeek();
- public int getDayOfYear();
- public int getHour();
- public long getLong(java.time.temporal.TemporalField);
- public int getMinute();
- public java.time.Month getMonth();
- public int getMonthValue();
- public int getNano();
- public java.time.ZoneOffset getOffset();
- public int getSecond();
- public int getYear();
- public java.time.ZoneId getZone();
- public int hashCode();
- public boolean isSupported(java.time.temporal.TemporalField);
- public boolean isSupported(java.time.temporal.TemporalUnit);
- public java.time.ZonedDateTime minus(java.time.temporal.TemporalAmount);
- public java.time.ZonedDateTime minus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal minus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal minus(java.time.temporal.TemporalAmount);
- public java.time.chrono.ChronoZonedDateTime minus(long, java.time.temporal.TemporalUnit);
- public java.time.chrono.ChronoZonedDateTime minus(java.time.temporal.TemporalAmount);
- public java.time.ZonedDateTime minusDays(long);
- public java.time.ZonedDateTime minusHours(long);
- public java.time.ZonedDateTime minusMinutes(long);
- public java.time.ZonedDateTime minusMonths(long);
- public java.time.ZonedDateTime minusNanos(long);
- public java.time.ZonedDateTime minusSeconds(long);
- public java.time.ZonedDateTime minusWeeks(long);
- public java.time.ZonedDateTime minusYears(long);
- public static java.time.ZonedDateTime now();
- public static java.time.ZonedDateTime now(java.time.ZoneId);
- public static java.time.ZonedDateTime now(java.time.Clock);
- public static java.time.ZonedDateTime of(java.time.LocalDate, java.time.LocalTime, java.time.ZoneId);
- public static java.time.ZonedDateTime of(java.time.LocalDateTime, java.time.ZoneId);
- public static java.time.ZonedDateTime of(int, int, int, int, int, int, int, java.time.ZoneId);
- public static java.time.ZonedDateTime ofInstant(java.time.Instant, java.time.ZoneId);
- public static java.time.ZonedDateTime ofInstant(java.time.LocalDateTime, java.time.ZoneOffset, java.time.ZoneId);
- public static java.time.ZonedDateTime ofLocal(java.time.LocalDateTime, java.time.ZoneId, java.time.ZoneOffset);
- public static java.time.ZonedDateTime ofStrict(java.time.LocalDateTime, java.time.ZoneOffset, java.time.ZoneId);
- public static java.time.ZonedDateTime parse(java.lang.CharSequence);
- public static java.time.ZonedDateTime parse(java.lang.CharSequence, java.time.format.DateTimeFormatter);
- public java.time.ZonedDateTime plus(java.time.temporal.TemporalAmount);
- public java.time.ZonedDateTime plus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal plus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal plus(java.time.temporal.TemporalAmount);
- public java.time.chrono.ChronoZonedDateTime plus(long, java.time.temporal.TemporalUnit);
- public java.time.chrono.ChronoZonedDateTime plus(java.time.temporal.TemporalAmount);
- public java.time.ZonedDateTime plusDays(long);
- public java.time.ZonedDateTime plusHours(long);
- public java.time.ZonedDateTime plusMinutes(long);
- public java.time.ZonedDateTime plusMonths(long);
- public java.time.ZonedDateTime plusNanos(long);
- public java.time.ZonedDateTime plusSeconds(long);
- public java.time.ZonedDateTime plusWeeks(long);
- public java.time.ZonedDateTime plusYears(long);
- public java.lang.Object query(java.time.temporal.TemporalQuery);
- public java.time.temporal.ValueRange range(java.time.temporal.TemporalField);
- public java.time.LocalDate toLocalDate();
- public java.time.chrono.ChronoLocalDate toLocalDate();
- public java.time.LocalDateTime toLocalDateTime();
- public java.time.chrono.ChronoLocalDateTime toLocalDateTime();
- public java.time.LocalTime toLocalTime();
- public java.time.OffsetDateTime toOffsetDateTime();
- public java.lang.String toString();
- public java.time.ZonedDateTime truncatedTo(java.time.temporal.TemporalUnit);
- public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
- public java.time.ZonedDateTime with(java.time.temporal.TemporalAdjuster);
- public java.time.ZonedDateTime with(java.time.temporal.TemporalField, long);
- public java.time.temporal.Temporal with(java.time.temporal.TemporalField, long);
- public java.time.temporal.Temporal with(java.time.temporal.TemporalAdjuster);
- public java.time.chrono.ChronoZonedDateTime with(java.time.temporal.TemporalField, long);
- public java.time.chrono.ChronoZonedDateTime with(java.time.temporal.TemporalAdjuster);
- public java.time.ZonedDateTime withDayOfMonth(int);
- public java.time.ZonedDateTime withDayOfYear(int);
- public java.time.ZonedDateTime withEarlierOffsetAtOverlap();
- public java.time.chrono.ChronoZonedDateTime withEarlierOffsetAtOverlap();
- public java.time.ZonedDateTime withFixedOffsetZone();
- public java.time.ZonedDateTime withHour(int);
- public java.time.ZonedDateTime withLaterOffsetAtOverlap();
- public java.time.chrono.ChronoZonedDateTime withLaterOffsetAtOverlap();
- public java.time.ZonedDateTime withMinute(int);
- public java.time.ZonedDateTime withMonth(int);
- public java.time.ZonedDateTime withNano(int);
- public java.time.ZonedDateTime withSecond(int);
- public java.time.ZonedDateTime withYear(int);
- public java.time.ZonedDateTime withZoneSameInstant(java.time.ZoneId);
- public java.time.chrono.ChronoZonedDateTime withZoneSameInstant(java.time.ZoneId);
- public java.time.ZonedDateTime withZoneSameLocal(java.time.ZoneId);
- public java.time.chrono.ChronoZonedDateTime withZoneSameLocal(java.time.ZoneId);
-
-
-}
-
--keep class java.time.chrono.AbstractChronology {
- <init>();
-
- public int compareTo(java.time.chrono.Chronology);
- public int compareTo(java.lang.Object);
- public boolean equals(java.lang.Object);
- public int hashCode();
- public java.time.chrono.ChronoLocalDate resolveDate(java.util.Map, java.time.format.ResolverStyle);
- public java.lang.String toString();
-
-
-}
-
--keep class java.time.chrono.ChronoLocalDate {
-
- public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
- public java.time.chrono.ChronoLocalDateTime atTime(java.time.LocalTime);
- public int compareTo(java.time.chrono.ChronoLocalDate);
- public int compareTo(java.lang.Object);
- public abstract boolean equals(java.lang.Object);
- public java.lang.String format(java.time.format.DateTimeFormatter);
- public static java.time.chrono.ChronoLocalDate from(java.time.temporal.TemporalAccessor);
- public abstract java.time.chrono.Chronology getChronology();
- public java.time.chrono.Era getEra();
- public abstract int hashCode();
- public boolean isAfter(java.time.chrono.ChronoLocalDate);
- public boolean isBefore(java.time.chrono.ChronoLocalDate);
- public boolean isEqual(java.time.chrono.ChronoLocalDate);
- public boolean isLeapYear();
- public boolean isSupported(java.time.temporal.TemporalField);
- public boolean isSupported(java.time.temporal.TemporalUnit);
- public abstract int lengthOfMonth();
- public int lengthOfYear();
- public java.time.chrono.ChronoLocalDate minus(java.time.temporal.TemporalAmount);
- public java.time.chrono.ChronoLocalDate minus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal minus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal minus(java.time.temporal.TemporalAmount);
- public java.time.chrono.ChronoLocalDate plus(java.time.temporal.TemporalAmount);
- public java.time.chrono.ChronoLocalDate plus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal plus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal plus(java.time.temporal.TemporalAmount);
- public java.lang.Object query(java.time.temporal.TemporalQuery);
- public static java.util.Comparator timeLineOrder();
- public long toEpochDay();
- public abstract java.lang.String toString();
- public abstract long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
- public abstract java.time.chrono.ChronoPeriod until(java.time.chrono.ChronoLocalDate);
- public java.time.chrono.ChronoLocalDate with(java.time.temporal.TemporalAdjuster);
- public java.time.chrono.ChronoLocalDate with(java.time.temporal.TemporalField, long);
- public java.time.temporal.Temporal with(java.time.temporal.TemporalField, long);
- public java.time.temporal.Temporal with(java.time.temporal.TemporalAdjuster);
-
-
-}
-
--keep class java.time.chrono.ChronoLocalDateTime {
-
- public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
- public abstract java.time.chrono.ChronoZonedDateTime atZone(java.time.ZoneId);
- public int compareTo(java.time.chrono.ChronoLocalDateTime);
- public int compareTo(java.lang.Object);
- public abstract boolean equals(java.lang.Object);
- public java.lang.String format(java.time.format.DateTimeFormatter);
- public static java.time.chrono.ChronoLocalDateTime from(java.time.temporal.TemporalAccessor);
- public java.time.chrono.Chronology getChronology();
- public abstract int hashCode();
- public boolean isAfter(java.time.chrono.ChronoLocalDateTime);
- public boolean isBefore(java.time.chrono.ChronoLocalDateTime);
- public boolean isEqual(java.time.chrono.ChronoLocalDateTime);
- public abstract boolean isSupported(java.time.temporal.TemporalField);
- public boolean isSupported(java.time.temporal.TemporalUnit);
- public java.time.chrono.ChronoLocalDateTime minus(java.time.temporal.TemporalAmount);
- public java.time.chrono.ChronoLocalDateTime minus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal minus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal minus(java.time.temporal.TemporalAmount);
- public java.time.chrono.ChronoLocalDateTime plus(java.time.temporal.TemporalAmount);
- public abstract java.time.chrono.ChronoLocalDateTime plus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal plus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal plus(java.time.temporal.TemporalAmount);
- public java.lang.Object query(java.time.temporal.TemporalQuery);
- public static java.util.Comparator timeLineOrder();
- public long toEpochSecond(java.time.ZoneOffset);
- public java.time.Instant toInstant(java.time.ZoneOffset);
- public abstract java.time.chrono.ChronoLocalDate toLocalDate();
- public abstract java.time.LocalTime toLocalTime();
- public abstract java.lang.String toString();
- public java.time.chrono.ChronoLocalDateTime with(java.time.temporal.TemporalAdjuster);
- public abstract java.time.chrono.ChronoLocalDateTime with(java.time.temporal.TemporalField, long);
- public java.time.temporal.Temporal with(java.time.temporal.TemporalField, long);
- public java.time.temporal.Temporal with(java.time.temporal.TemporalAdjuster);
-
-
-}
-
--keep class java.time.chrono.ChronoPeriod {
-
- public abstract java.time.temporal.Temporal addTo(java.time.temporal.Temporal);
- public static java.time.chrono.ChronoPeriod between(java.time.chrono.ChronoLocalDate, java.time.chrono.ChronoLocalDate);
- public abstract boolean equals(java.lang.Object);
- public abstract long get(java.time.temporal.TemporalUnit);
- public abstract java.time.chrono.Chronology getChronology();
- public abstract java.util.List getUnits();
- public abstract int hashCode();
- public boolean isNegative();
- public boolean isZero();
- public abstract java.time.chrono.ChronoPeriod minus(java.time.temporal.TemporalAmount);
- public abstract java.time.chrono.ChronoPeriod multipliedBy(int);
- public java.time.chrono.ChronoPeriod negated();
- public abstract java.time.chrono.ChronoPeriod normalized();
- public abstract java.time.chrono.ChronoPeriod plus(java.time.temporal.TemporalAmount);
- public abstract java.time.temporal.Temporal subtractFrom(java.time.temporal.Temporal);
- public abstract java.lang.String toString();
-
-
-}
-
--keep class java.time.chrono.ChronoZonedDateTime {
-
- public int compareTo(java.time.chrono.ChronoZonedDateTime);
- public int compareTo(java.lang.Object);
- public abstract boolean equals(java.lang.Object);
- public java.lang.String format(java.time.format.DateTimeFormatter);
- public static java.time.chrono.ChronoZonedDateTime from(java.time.temporal.TemporalAccessor);
- public int get(java.time.temporal.TemporalField);
- public java.time.chrono.Chronology getChronology();
- public long getLong(java.time.temporal.TemporalField);
- public abstract java.time.ZoneOffset getOffset();
- public abstract java.time.ZoneId getZone();
- public abstract int hashCode();
- public boolean isAfter(java.time.chrono.ChronoZonedDateTime);
- public boolean isBefore(java.time.chrono.ChronoZonedDateTime);
- public boolean isEqual(java.time.chrono.ChronoZonedDateTime);
- public abstract boolean isSupported(java.time.temporal.TemporalField);
- public boolean isSupported(java.time.temporal.TemporalUnit);
- public java.time.chrono.ChronoZonedDateTime minus(java.time.temporal.TemporalAmount);
- public java.time.chrono.ChronoZonedDateTime minus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal minus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal minus(java.time.temporal.TemporalAmount);
- public java.time.chrono.ChronoZonedDateTime plus(java.time.temporal.TemporalAmount);
- public abstract java.time.chrono.ChronoZonedDateTime plus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal plus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal plus(java.time.temporal.TemporalAmount);
- public java.lang.Object query(java.time.temporal.TemporalQuery);
- public java.time.temporal.ValueRange range(java.time.temporal.TemporalField);
- public static java.util.Comparator timeLineOrder();
- public long toEpochSecond();
- public java.time.Instant toInstant();
- public java.time.chrono.ChronoLocalDate toLocalDate();
- public abstract java.time.chrono.ChronoLocalDateTime toLocalDateTime();
- public java.time.LocalTime toLocalTime();
- public abstract java.lang.String toString();
- public java.time.chrono.ChronoZonedDateTime with(java.time.temporal.TemporalAdjuster);
- public abstract java.time.chrono.ChronoZonedDateTime with(java.time.temporal.TemporalField, long);
- public java.time.temporal.Temporal with(java.time.temporal.TemporalField, long);
- public java.time.temporal.Temporal with(java.time.temporal.TemporalAdjuster);
- public abstract java.time.chrono.ChronoZonedDateTime withEarlierOffsetAtOverlap();
- public abstract java.time.chrono.ChronoZonedDateTime withLaterOffsetAtOverlap();
- public abstract java.time.chrono.ChronoZonedDateTime withZoneSameInstant(java.time.ZoneId);
- public abstract java.time.chrono.ChronoZonedDateTime withZoneSameLocal(java.time.ZoneId);
-
-
-}
-
--keep class java.time.chrono.Chronology {
-
- public abstract int compareTo(java.time.chrono.Chronology);
- public int compareTo(java.lang.Object);
- public java.time.chrono.ChronoLocalDate date(java.time.chrono.Era, int, int, int);
- public abstract java.time.chrono.ChronoLocalDate date(int, int, int);
- public abstract java.time.chrono.ChronoLocalDate date(java.time.temporal.TemporalAccessor);
- public abstract java.time.chrono.ChronoLocalDate dateEpochDay(long);
- public java.time.chrono.ChronoLocalDate dateNow();
- public java.time.chrono.ChronoLocalDate dateNow(java.time.ZoneId);
- public java.time.chrono.ChronoLocalDate dateNow(java.time.Clock);
- public java.time.chrono.ChronoLocalDate dateYearDay(java.time.chrono.Era, int, int);
- public abstract java.time.chrono.ChronoLocalDate dateYearDay(int, int);
- public abstract boolean equals(java.lang.Object);
- public abstract java.time.chrono.Era eraOf(int);
- public abstract java.util.List eras();
- public static java.time.chrono.Chronology from(java.time.temporal.TemporalAccessor);
- public static java.util.Set getAvailableChronologies();
- public abstract java.lang.String getCalendarType();
- public java.lang.String getDisplayName(java.time.format.TextStyle, java.util.Locale);
- public abstract java.lang.String getId();
- public abstract int hashCode();
- public abstract boolean isLeapYear(long);
- public java.time.chrono.ChronoLocalDateTime localDateTime(java.time.temporal.TemporalAccessor);
- public static java.time.chrono.Chronology of(java.lang.String);
- public static java.time.chrono.Chronology ofLocale(java.util.Locale);
- public java.time.chrono.ChronoPeriod period(int, int, int);
- public abstract int prolepticYear(java.time.chrono.Era, int);
- public abstract java.time.temporal.ValueRange range(java.time.temporal.ChronoField);
- public abstract java.time.chrono.ChronoLocalDate resolveDate(java.util.Map, java.time.format.ResolverStyle);
- public abstract java.lang.String toString();
- public java.time.chrono.ChronoZonedDateTime zonedDateTime(java.time.temporal.TemporalAccessor);
- public java.time.chrono.ChronoZonedDateTime zonedDateTime(java.time.Instant, java.time.ZoneId);
-
-
-}
-
--keep class java.time.chrono.Era {
-
- public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
- public int get(java.time.temporal.TemporalField);
- public java.lang.String getDisplayName(java.time.format.TextStyle, java.util.Locale);
- public long getLong(java.time.temporal.TemporalField);
- public abstract int getValue();
- public boolean isSupported(java.time.temporal.TemporalField);
- public java.lang.Object query(java.time.temporal.TemporalQuery);
- public java.time.temporal.ValueRange range(java.time.temporal.TemporalField);
-
-
-}
-
--keep class java.time.chrono.IsoChronology {
-
- public java.time.LocalDate date(java.time.chrono.Era, int, int, int);
- public java.time.LocalDate date(int, int, int);
- public java.time.LocalDate date(java.time.temporal.TemporalAccessor);
- public java.time.chrono.ChronoLocalDate date(java.time.temporal.TemporalAccessor);
- public java.time.chrono.ChronoLocalDate date(int, int, int);
- public java.time.chrono.ChronoLocalDate date(java.time.chrono.Era, int, int, int);
- public java.time.LocalDate dateEpochDay(long);
- public java.time.chrono.ChronoLocalDate dateEpochDay(long);
- public java.time.LocalDate dateNow();
- public java.time.LocalDate dateNow(java.time.ZoneId);
- public java.time.LocalDate dateNow(java.time.Clock);
- public java.time.chrono.ChronoLocalDate dateNow(java.time.Clock);
- public java.time.chrono.ChronoLocalDate dateNow(java.time.ZoneId);
- public java.time.chrono.ChronoLocalDate dateNow();
- public java.time.LocalDate dateYearDay(java.time.chrono.Era, int, int);
- public java.time.LocalDate dateYearDay(int, int);
- public java.time.chrono.ChronoLocalDate dateYearDay(int, int);
- public java.time.chrono.ChronoLocalDate dateYearDay(java.time.chrono.Era, int, int);
- public java.time.chrono.IsoEra eraOf(int);
- public java.time.chrono.Era eraOf(int);
- public java.util.List eras();
- public java.lang.String getCalendarType();
- public java.lang.String getId();
- public boolean isLeapYear(long);
- public java.time.LocalDateTime localDateTime(java.time.temporal.TemporalAccessor);
- public java.time.chrono.ChronoLocalDateTime localDateTime(java.time.temporal.TemporalAccessor);
- public java.time.Period period(int, int, int);
- public java.time.chrono.ChronoPeriod period(int, int, int);
- public int prolepticYear(java.time.chrono.Era, int);
- public java.time.temporal.ValueRange range(java.time.temporal.ChronoField);
- public java.time.LocalDate resolveDate(java.util.Map, java.time.format.ResolverStyle);
- public java.time.chrono.ChronoLocalDate resolveDate(java.util.Map, java.time.format.ResolverStyle);
- public java.time.ZonedDateTime zonedDateTime(java.time.temporal.TemporalAccessor);
- public java.time.ZonedDateTime zonedDateTime(java.time.Instant, java.time.ZoneId);
- public java.time.chrono.ChronoZonedDateTime zonedDateTime(java.time.Instant, java.time.ZoneId);
- public java.time.chrono.ChronoZonedDateTime zonedDateTime(java.time.temporal.TemporalAccessor);
-
-
- public static java.time.chrono.IsoChronology INSTANCE;
-}
-
--keep class java.time.chrono.IsoEra {
-
- public int getValue();
- public static java.time.chrono.IsoEra of(int);
- public static java.time.chrono.IsoEra valueOf(java.lang.String);
- public static java.time.chrono.IsoEra[] values();
-
- public static java.time.chrono.IsoEra BCE;
- public static java.time.chrono.IsoEra CE;
-
-}
-
--keep class java.time.format.DateTimeFormatter {
-
- public java.lang.String format(java.time.temporal.TemporalAccessor);
- public void formatTo(java.time.temporal.TemporalAccessor, java.lang.Appendable);
- public java.time.chrono.Chronology getChronology();
- public java.time.format.DecimalStyle getDecimalStyle();
- public java.util.Locale getLocale();
- public java.util.Set getResolverFields();
- public java.time.format.ResolverStyle getResolverStyle();
- public java.time.ZoneId getZone();
- public static java.time.format.DateTimeFormatter ofLocalizedDate(java.time.format.FormatStyle);
- public static java.time.format.DateTimeFormatter ofLocalizedDateTime(java.time.format.FormatStyle);
- public static java.time.format.DateTimeFormatter ofLocalizedDateTime(java.time.format.FormatStyle, java.time.format.FormatStyle);
- public static java.time.format.DateTimeFormatter ofLocalizedTime(java.time.format.FormatStyle);
- public static java.time.format.DateTimeFormatter ofPattern(java.lang.String);
- public static java.time.format.DateTimeFormatter ofPattern(java.lang.String, java.util.Locale);
- public java.time.temporal.TemporalAccessor parse(java.lang.CharSequence);
- public java.time.temporal.TemporalAccessor parse(java.lang.CharSequence, java.text.ParsePosition);
- public java.lang.Object parse(java.lang.CharSequence, java.time.temporal.TemporalQuery);
- public java.time.temporal.TemporalAccessor parseBest(java.lang.CharSequence, java.time.temporal.TemporalQuery[]);
- public java.time.temporal.TemporalAccessor parseUnresolved(java.lang.CharSequence, java.text.ParsePosition);
- public static java.time.temporal.TemporalQuery parsedExcessDays();
- public static java.time.temporal.TemporalQuery parsedLeapSecond();
- public java.text.Format toFormat();
- public java.text.Format toFormat(java.time.temporal.TemporalQuery);
- public java.lang.String toString();
- public java.time.format.DateTimeFormatter withChronology(java.time.chrono.Chronology);
- public java.time.format.DateTimeFormatter withDecimalStyle(java.time.format.DecimalStyle);
- public java.time.format.DateTimeFormatter withLocale(java.util.Locale);
- public java.time.format.DateTimeFormatter withResolverFields(java.time.temporal.TemporalField[]);
- public java.time.format.DateTimeFormatter withResolverFields(java.util.Set);
- public java.time.format.DateTimeFormatter withResolverStyle(java.time.format.ResolverStyle);
- public java.time.format.DateTimeFormatter withZone(java.time.ZoneId);
-
-
- public static java.time.format.DateTimeFormatter BASIC_ISO_DATE;
- public static java.time.format.DateTimeFormatter ISO_DATE;
- public static java.time.format.DateTimeFormatter ISO_DATE_TIME;
- public static java.time.format.DateTimeFormatter ISO_INSTANT;
- public static java.time.format.DateTimeFormatter ISO_LOCAL_DATE;
- public static java.time.format.DateTimeFormatter ISO_LOCAL_DATE_TIME;
- public static java.time.format.DateTimeFormatter ISO_LOCAL_TIME;
- public static java.time.format.DateTimeFormatter ISO_OFFSET_DATE;
- public static java.time.format.DateTimeFormatter ISO_OFFSET_DATE_TIME;
- public static java.time.format.DateTimeFormatter ISO_OFFSET_TIME;
- public static java.time.format.DateTimeFormatter ISO_ORDINAL_DATE;
- public static java.time.format.DateTimeFormatter ISO_TIME;
- public static java.time.format.DateTimeFormatter ISO_WEEK_DATE;
- public static java.time.format.DateTimeFormatter ISO_ZONED_DATE_TIME;
- public static java.time.format.DateTimeFormatter RFC_1123_DATE_TIME;
-}
-
--keep class java.time.format.DecimalStyle {
-
- public boolean equals(java.lang.Object);
- public static java.util.Set getAvailableLocales();
- public char getDecimalSeparator();
- public char getNegativeSign();
- public char getPositiveSign();
- public char getZeroDigit();
- public int hashCode();
- public static java.time.format.DecimalStyle of(java.util.Locale);
- public static java.time.format.DecimalStyle ofDefaultLocale();
- public java.lang.String toString();
- public java.time.format.DecimalStyle withDecimalSeparator(char);
- public java.time.format.DecimalStyle withNegativeSign(char);
- public java.time.format.DecimalStyle withPositiveSign(char);
- public java.time.format.DecimalStyle withZeroDigit(char);
-
-
- public static java.time.format.DecimalStyle STANDARD;
-}
-
--keep class java.time.format.FormatStyle {
-
- public static java.time.format.FormatStyle valueOf(java.lang.String);
- public static java.time.format.FormatStyle[] values();
-
- public static java.time.format.FormatStyle FULL;
- public static java.time.format.FormatStyle LONG;
- public static java.time.format.FormatStyle MEDIUM;
- public static java.time.format.FormatStyle SHORT;
-
-}
-
--keep class java.time.format.ResolverStyle {
-
- public static java.time.format.ResolverStyle valueOf(java.lang.String);
- public static java.time.format.ResolverStyle[] values();
-
- public static java.time.format.ResolverStyle LENIENT;
- public static java.time.format.ResolverStyle SMART;
- public static java.time.format.ResolverStyle STRICT;
-
-}
-
--keep class java.time.format.TextStyle {
-
- public java.time.format.TextStyle asNormal();
- public java.time.format.TextStyle asStandalone();
- public boolean isStandalone();
- public static java.time.format.TextStyle valueOf(java.lang.String);
- public static java.time.format.TextStyle[] values();
-
- public static java.time.format.TextStyle FULL;
- public static java.time.format.TextStyle FULL_STANDALONE;
- public static java.time.format.TextStyle NARROW;
- public static java.time.format.TextStyle NARROW_STANDALONE;
- public static java.time.format.TextStyle SHORT;
- public static java.time.format.TextStyle SHORT_STANDALONE;
-
-}
-
--keep class java.time.temporal.ChronoField {
-
- public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal, long);
- public int checkValidIntValue(long);
- public long checkValidValue(long);
- public java.time.temporal.TemporalUnit getBaseUnit();
- public java.lang.String getDisplayName(java.util.Locale);
- public long getFrom(java.time.temporal.TemporalAccessor);
- public java.time.temporal.TemporalUnit getRangeUnit();
- public boolean isDateBased();
- public boolean isSupportedBy(java.time.temporal.TemporalAccessor);
- public boolean isTimeBased();
- public java.time.temporal.ValueRange range();
- public java.time.temporal.ValueRange rangeRefinedBy(java.time.temporal.TemporalAccessor);
- public java.lang.String toString();
- public static java.time.temporal.ChronoField valueOf(java.lang.String);
- public static java.time.temporal.ChronoField[] values();
-
- public static java.time.temporal.ChronoField ALIGNED_DAY_OF_WEEK_IN_MONTH;
- public static java.time.temporal.ChronoField ALIGNED_DAY_OF_WEEK_IN_YEAR;
- public static java.time.temporal.ChronoField ALIGNED_WEEK_OF_MONTH;
- public static java.time.temporal.ChronoField ALIGNED_WEEK_OF_YEAR;
- public static java.time.temporal.ChronoField AMPM_OF_DAY;
- public static java.time.temporal.ChronoField CLOCK_HOUR_OF_AMPM;
- public static java.time.temporal.ChronoField CLOCK_HOUR_OF_DAY;
- public static java.time.temporal.ChronoField DAY_OF_MONTH;
- public static java.time.temporal.ChronoField DAY_OF_WEEK;
- public static java.time.temporal.ChronoField DAY_OF_YEAR;
- public static java.time.temporal.ChronoField EPOCH_DAY;
- public static java.time.temporal.ChronoField ERA;
- public static java.time.temporal.ChronoField HOUR_OF_AMPM;
- public static java.time.temporal.ChronoField HOUR_OF_DAY;
- public static java.time.temporal.ChronoField INSTANT_SECONDS;
- public static java.time.temporal.ChronoField MICRO_OF_DAY;
- public static java.time.temporal.ChronoField MICRO_OF_SECOND;
- public static java.time.temporal.ChronoField MILLI_OF_DAY;
- public static java.time.temporal.ChronoField MILLI_OF_SECOND;
- public static java.time.temporal.ChronoField MINUTE_OF_DAY;
- public static java.time.temporal.ChronoField MINUTE_OF_HOUR;
- public static java.time.temporal.ChronoField MONTH_OF_YEAR;
- public static java.time.temporal.ChronoField NANO_OF_DAY;
- public static java.time.temporal.ChronoField NANO_OF_SECOND;
- public static java.time.temporal.ChronoField OFFSET_SECONDS;
- public static java.time.temporal.ChronoField PROLEPTIC_MONTH;
- public static java.time.temporal.ChronoField SECOND_OF_DAY;
- public static java.time.temporal.ChronoField SECOND_OF_MINUTE;
- public static java.time.temporal.ChronoField YEAR;
- public static java.time.temporal.ChronoField YEAR_OF_ERA;
-
-}
-
--keep class java.time.temporal.Temporal {
-
- public abstract boolean isSupported(java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal minus(java.time.temporal.TemporalAmount);
- public java.time.temporal.Temporal minus(long, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal plus(java.time.temporal.TemporalAmount);
- public abstract java.time.temporal.Temporal plus(long, java.time.temporal.TemporalUnit);
- public abstract long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
- public java.time.temporal.Temporal with(java.time.temporal.TemporalAdjuster);
- public abstract java.time.temporal.Temporal with(java.time.temporal.TemporalField, long);
-
-
-}
-
--keep class java.time.temporal.TemporalAccessor {
-
- public int get(java.time.temporal.TemporalField);
- public abstract long getLong(java.time.temporal.TemporalField);
- public abstract boolean isSupported(java.time.temporal.TemporalField);
- public java.lang.Object query(java.time.temporal.TemporalQuery);
- public java.time.temporal.ValueRange range(java.time.temporal.TemporalField);
-
-
-}
-
--keep class java.time.temporal.TemporalAdjuster {
-
- public abstract java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
-
-
-}
-
--keep class java.time.temporal.TemporalAmount {
-
- public abstract java.time.temporal.Temporal addTo(java.time.temporal.Temporal);
- public abstract long get(java.time.temporal.TemporalUnit);
- public abstract java.util.List getUnits();
- public abstract java.time.temporal.Temporal subtractFrom(java.time.temporal.Temporal);
-
-
-}
-
--keep class java.time.temporal.TemporalField {
-
- public abstract java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal, long);
- public abstract java.time.temporal.TemporalUnit getBaseUnit();
- public java.lang.String getDisplayName(java.util.Locale);
- public abstract long getFrom(java.time.temporal.TemporalAccessor);
- public abstract java.time.temporal.TemporalUnit getRangeUnit();
- public abstract boolean isDateBased();
- public abstract boolean isSupportedBy(java.time.temporal.TemporalAccessor);
- public abstract boolean isTimeBased();
- public abstract java.time.temporal.ValueRange range();
- public abstract java.time.temporal.ValueRange rangeRefinedBy(java.time.temporal.TemporalAccessor);
- public java.time.temporal.TemporalAccessor resolve(java.util.Map, java.time.temporal.TemporalAccessor, java.time.format.ResolverStyle);
- public abstract java.lang.String toString();
-
-
-}
-
--keep class java.time.temporal.TemporalQuery {
-
- public abstract java.lang.Object queryFrom(java.time.temporal.TemporalAccessor);
-
-
-}
-
--keep class java.time.temporal.TemporalUnit {
-
- public abstract java.time.temporal.Temporal addTo(java.time.temporal.Temporal, long);
- public abstract long between(java.time.temporal.Temporal, java.time.temporal.Temporal);
- public abstract java.time.Duration getDuration();
- public abstract boolean isDateBased();
- public abstract boolean isDurationEstimated();
- public boolean isSupportedBy(java.time.temporal.Temporal);
- public abstract boolean isTimeBased();
- public abstract java.lang.String toString();
-
-
-}
-
--keep class java.time.temporal.ValueRange {
-
- public int checkValidIntValue(long, java.time.temporal.TemporalField);
- public long checkValidValue(long, java.time.temporal.TemporalField);
- public boolean equals(java.lang.Object);
- public long getLargestMinimum();
- public long getMaximum();
- public long getMinimum();
- public long getSmallestMaximum();
- public int hashCode();
- public boolean isFixed();
- public boolean isIntValue();
- public boolean isValidIntValue(long);
- public boolean isValidValue(long);
- public static java.time.temporal.ValueRange of(long, long);
- public static java.time.temporal.ValueRange of(long, long, long);
- public static java.time.temporal.ValueRange of(long, long, long, long);
- public java.lang.String toString();
-
-
-}
-
--keep class java.time.zone.ZoneOffsetTransition {
-
- public int compareTo(java.time.zone.ZoneOffsetTransition);
- public int compareTo(java.lang.Object);
- public boolean equals(java.lang.Object);
- public java.time.LocalDateTime getDateTimeAfter();
- public java.time.LocalDateTime getDateTimeBefore();
- public java.time.Duration getDuration();
- public java.time.Instant getInstant();
- public java.time.ZoneOffset getOffsetAfter();
- public java.time.ZoneOffset getOffsetBefore();
- public int hashCode();
- public boolean isGap();
- public boolean isOverlap();
- public boolean isValidOffset(java.time.ZoneOffset);
- public static java.time.zone.ZoneOffsetTransition of(java.time.LocalDateTime, java.time.ZoneOffset, java.time.ZoneOffset);
- public long toEpochSecond();
- public java.lang.String toString();
-
-
-}
-
--keep class java.time.zone.ZoneOffsetTransitionRule {
-
- public java.time.zone.ZoneOffsetTransition createTransition(int);
- public boolean equals(java.lang.Object);
- public int getDayOfMonthIndicator();
- public java.time.DayOfWeek getDayOfWeek();
- public java.time.LocalTime getLocalTime();
- public java.time.Month getMonth();
- public java.time.ZoneOffset getOffsetAfter();
- public java.time.ZoneOffset getOffsetBefore();
- public java.time.ZoneOffset getStandardOffset();
- public java.time.zone.ZoneOffsetTransitionRule$TimeDefinition getTimeDefinition();
- public int hashCode();
- public boolean isMidnightEndOfDay();
- public static java.time.zone.ZoneOffsetTransitionRule of(java.time.Month, int, java.time.DayOfWeek, java.time.LocalTime, boolean, java.time.zone.ZoneOffsetTransitionRule$TimeDefinition, java.time.ZoneOffset, java.time.ZoneOffset, java.time.ZoneOffset);
- public java.lang.String toString();
-
-
-}
-
--keep class java.time.zone.ZoneOffsetTransitionRule$TimeDefinition {
-
- public java.time.LocalDateTime createDateTime(java.time.LocalDateTime, java.time.ZoneOffset, java.time.ZoneOffset);
- public static java.time.zone.ZoneOffsetTransitionRule$TimeDefinition valueOf(java.lang.String);
- public static java.time.zone.ZoneOffsetTransitionRule$TimeDefinition[] values();
-
- public static java.time.zone.ZoneOffsetTransitionRule$TimeDefinition STANDARD;
- public static java.time.zone.ZoneOffsetTransitionRule$TimeDefinition UTC;
- public static java.time.zone.ZoneOffsetTransitionRule$TimeDefinition WALL;
-
-}
-
--keep class java.time.zone.ZoneRules {
-
- public boolean equals(java.lang.Object);
- public java.time.Duration getDaylightSavings(java.time.Instant);
- public java.time.ZoneOffset getOffset(java.time.Instant);
- public java.time.ZoneOffset getOffset(java.time.LocalDateTime);
- public java.time.ZoneOffset getStandardOffset(java.time.Instant);
- public java.time.zone.ZoneOffsetTransition getTransition(java.time.LocalDateTime);
- public java.util.List getTransitionRules();
- public java.util.List getTransitions();
- public java.util.List getValidOffsets(java.time.LocalDateTime);
- public int hashCode();
- public boolean isDaylightSavings(java.time.Instant);
- public boolean isFixedOffset();
- public boolean isValidOffset(java.time.LocalDateTime, java.time.ZoneOffset);
- public java.time.zone.ZoneOffsetTransition nextTransition(java.time.Instant);
- public static java.time.zone.ZoneRules of(java.time.ZoneOffset, java.time.ZoneOffset, java.util.List, java.util.List, java.util.List);
- public static java.time.zone.ZoneRules of(java.time.ZoneOffset);
- public java.time.zone.ZoneOffsetTransition previousTransition(java.time.Instant);
- public java.lang.String toString();
-
-
-}
-
--keep class java.util.AbstractCollection {
- <init>();
-
- public boolean add(java.lang.Object);
- public boolean addAll(java.util.Collection);
- public void clear();
- public boolean contains(java.lang.Object);
- public boolean containsAll(java.util.Collection);
- public boolean isEmpty();
- public abstract java.util.Iterator iterator();
- public boolean remove(java.lang.Object);
- public boolean removeAll(java.util.Collection);
- public boolean retainAll(java.util.Collection);
- public abstract int size();
- public java.lang.Object[] toArray();
- public java.lang.Object[] toArray(java.lang.Object[]);
- public java.lang.String toString();
-
-
-}
-
--keep class java.util.AbstractList {
- <init>();
-
- public boolean add(java.lang.Object);
- public void add(int, java.lang.Object);
- public boolean addAll(int, java.util.Collection);
- public void clear();
- public boolean equals(java.lang.Object);
- public abstract java.lang.Object get(int);
- public int hashCode();
- public int indexOf(java.lang.Object);
- public java.util.Iterator iterator();
- public int lastIndexOf(java.lang.Object);
- public java.util.ListIterator listIterator();
- public java.util.ListIterator listIterator(int);
- public java.lang.Object remove(int);
- protected void removeRange(int, int);
- public java.lang.Object set(int, java.lang.Object);
- public java.util.List subList(int, int);
-
-
- protected transient int modCount;
-}
-
--keep class java.util.AbstractMap {
- <init>();
-
- public void clear();
- protected java.lang.Object clone();
- public boolean containsKey(java.lang.Object);
- public boolean containsValue(java.lang.Object);
- public abstract java.util.Set entrySet();
- public boolean equals(java.lang.Object);
- public java.lang.Object get(java.lang.Object);
- public int hashCode();
- public boolean isEmpty();
- public java.util.Set keySet();
- public java.lang.Object put(java.lang.Object, java.lang.Object);
- public void putAll(java.util.Map);
- public java.lang.Object remove(java.lang.Object);
- public int size();
- public java.lang.String toString();
- public java.util.Collection values();
-
-
-}
-
--keep class java.util.ArrayList {
- <init>(int);
- <init>();
- <init>(java.util.Collection);
-
- public boolean add(java.lang.Object);
- public void add(int, java.lang.Object);
- public boolean addAll(java.util.Collection);
- public boolean addAll(int, java.util.Collection);
- public void clear();
- public java.lang.Object clone();
- public boolean contains(java.lang.Object);
- public void ensureCapacity(int);
- public void forEach(java.util.function.Consumer);
- public java.lang.Object get(int);
- public int indexOf(java.lang.Object);
- public boolean isEmpty();
- public java.util.Iterator iterator();
- public int lastIndexOf(java.lang.Object);
- public java.util.ListIterator listIterator(int);
- public java.util.ListIterator listIterator();
- public java.lang.Object remove(int);
- public boolean remove(java.lang.Object);
- public boolean removeAll(java.util.Collection);
- public boolean removeIf(java.util.function.Predicate);
- protected void removeRange(int, int);
- public void replaceAll(java.util.function.UnaryOperator);
- public boolean retainAll(java.util.Collection);
- public java.lang.Object set(int, java.lang.Object);
- public int size();
- public void sort(java.util.Comparator);
- public java.util.Spliterator spliterator();
- public java.util.List subList(int, int);
- public java.lang.Object[] toArray();
- public java.lang.Object[] toArray(java.lang.Object[]);
- public void trimToSize();
-
-
-}
-
--keep class java.util.Collection {
-
- public abstract boolean add(java.lang.Object);
- public abstract boolean addAll(java.util.Collection);
- public abstract void clear();
- public abstract boolean contains(java.lang.Object);
- public abstract boolean containsAll(java.util.Collection);
- public abstract boolean equals(java.lang.Object);
- public abstract int hashCode();
- public abstract boolean isEmpty();
- public abstract java.util.Iterator iterator();
- public java.util.stream.Stream parallelStream();
- public abstract boolean remove(java.lang.Object);
- public abstract boolean removeAll(java.util.Collection);
- public boolean removeIf(java.util.function.Predicate);
- public abstract boolean retainAll(java.util.Collection);
- public abstract int size();
- public java.util.Spliterator spliterator();
- public java.util.stream.Stream stream();
- public abstract java.lang.Object[] toArray();
- public abstract java.lang.Object[] toArray(java.lang.Object[]);
-
-
-}
-
--keep class java.util.Comparator {
-
- public abstract int compare(java.lang.Object, java.lang.Object);
- public static java.util.Comparator comparing(java.util.function.Function, java.util.Comparator);
- public static java.util.Comparator comparing(java.util.function.Function);
- public static java.util.Comparator comparingDouble(java.util.function.ToDoubleFunction);
- public static java.util.Comparator comparingInt(java.util.function.ToIntFunction);
- public static java.util.Comparator comparingLong(java.util.function.ToLongFunction);
- public abstract boolean equals(java.lang.Object);
- public static java.util.Comparator naturalOrder();
- public static java.util.Comparator nullsFirst(java.util.Comparator);
- public static java.util.Comparator nullsLast(java.util.Comparator);
- public static java.util.Comparator reverseOrder();
- public java.util.Comparator reversed();
- public java.util.Comparator thenComparing(java.util.Comparator);
- public java.util.Comparator thenComparing(java.util.function.Function, java.util.Comparator);
- public java.util.Comparator thenComparing(java.util.function.Function);
- public java.util.Comparator thenComparingDouble(java.util.function.ToDoubleFunction);
- public java.util.Comparator thenComparingInt(java.util.function.ToIntFunction);
- public java.util.Comparator thenComparingLong(java.util.function.ToLongFunction);
-
-
-}
-
--keep class java.util.Date {
- <init>();
- <init>(long);
- <init>(int, int, int);
- <init>(int, int, int, int, int);
- <init>(int, int, int, int, int, int);
- <init>(java.lang.String);
-
- public static long UTC(int, int, int, int, int, int);
- public boolean after(java.util.Date);
- public boolean before(java.util.Date);
- public java.lang.Object clone();
- public int compareTo(java.util.Date);
- public int compareTo(java.lang.Object);
- public boolean equals(java.lang.Object);
- public static java.util.Date from(java.time.Instant);
- public int getDate();
- public int getDay();
- public int getHours();
- public int getMinutes();
- public int getMonth();
- public int getSeconds();
- public long getTime();
- public int getTimezoneOffset();
- public int getYear();
- public int hashCode();
- public static long parse(java.lang.String);
- public void setDate(int);
- public void setHours(int);
- public void setMinutes(int);
- public void setMonth(int);
- public void setSeconds(int);
- public void setTime(long);
- public void setYear(int);
- public java.lang.String toGMTString();
- public java.time.Instant toInstant();
- public java.lang.String toLocaleString();
- public java.lang.String toString();
-
-
-}
-
--keep class java.util.Dictionary {
- <init>();
-
- public abstract java.util.Enumeration elements();
- public abstract java.lang.Object get(java.lang.Object);
- public abstract boolean isEmpty();
- public abstract java.util.Enumeration keys();
- public abstract java.lang.Object put(java.lang.Object, java.lang.Object);
- public abstract java.lang.Object remove(java.lang.Object);
- public abstract int size();
-
-
-}
-
--keep class java.util.DoubleSummaryStatistics {
- <init>();
-
- public void accept(double);
- public void combine(java.util.DoubleSummaryStatistics);
- public double getAverage();
- public long getCount();
- public double getMax();
- public double getMin();
- public double getSum();
- public java.lang.String toString();
-
-
-}
-
--keep class java.util.Enumeration {
-
- public abstract boolean hasMoreElements();
- public abstract java.lang.Object nextElement();
-
-
-}
-
--keep class java.util.HashMap {
- <init>(int, float);
- <init>(int);
- <init>();
- <init>(java.util.Map);
-
- public void clear();
- public java.lang.Object clone();
- public java.lang.Object compute(java.lang.Object, java.util.function.BiFunction);
- public java.lang.Object computeIfAbsent(java.lang.Object, java.util.function.Function);
- public java.lang.Object computeIfPresent(java.lang.Object, java.util.function.BiFunction);
- public boolean containsKey(java.lang.Object);
- public boolean containsValue(java.lang.Object);
- public java.util.Set entrySet();
- public void forEach(java.util.function.BiConsumer);
- public java.lang.Object get(java.lang.Object);
- public java.lang.Object getOrDefault(java.lang.Object, java.lang.Object);
- public boolean isEmpty();
- public java.util.Set keySet();
- public java.lang.Object merge(java.lang.Object, java.lang.Object, java.util.function.BiFunction);
- public java.lang.Object put(java.lang.Object, java.lang.Object);
- public void putAll(java.util.Map);
- public java.lang.Object putIfAbsent(java.lang.Object, java.lang.Object);
- public java.lang.Object remove(java.lang.Object);
- public boolean remove(java.lang.Object, java.lang.Object);
- public boolean replace(java.lang.Object, java.lang.Object, java.lang.Object);
- public java.lang.Object replace(java.lang.Object, java.lang.Object);
- public void replaceAll(java.util.function.BiFunction);
- public int size();
- public java.util.Collection values();
-
-
-}
-
--keep class java.util.Hashtable {
- <init>(int, float);
- <init>(int);
- <init>();
- <init>(java.util.Map);
-
- public synchronized void clear();
- public synchronized java.lang.Object clone();
- public synchronized java.lang.Object compute(java.lang.Object, java.util.function.BiFunction);
- public synchronized java.lang.Object computeIfAbsent(java.lang.Object, java.util.function.Function);
- public synchronized java.lang.Object computeIfPresent(java.lang.Object, java.util.function.BiFunction);
- public synchronized boolean contains(java.lang.Object);
- public synchronized boolean containsKey(java.lang.Object);
- public boolean containsValue(java.lang.Object);
- public synchronized java.util.Enumeration elements();
- public java.util.Set entrySet();
- public synchronized boolean equals(java.lang.Object);
- public synchronized void forEach(java.util.function.BiConsumer);
- public synchronized java.lang.Object get(java.lang.Object);
- public synchronized java.lang.Object getOrDefault(java.lang.Object, java.lang.Object);
- public synchronized int hashCode();
- public synchronized boolean isEmpty();
- public java.util.Set keySet();
- public synchronized java.util.Enumeration keys();
- public synchronized java.lang.Object merge(java.lang.Object, java.lang.Object, java.util.function.BiFunction);
- public synchronized java.lang.Object put(java.lang.Object, java.lang.Object);
- public synchronized void putAll(java.util.Map);
- public synchronized java.lang.Object putIfAbsent(java.lang.Object, java.lang.Object);
- protected void rehash();
- public synchronized java.lang.Object remove(java.lang.Object);
- public synchronized boolean remove(java.lang.Object, java.lang.Object);
- public synchronized boolean replace(java.lang.Object, java.lang.Object, java.lang.Object);
- public synchronized java.lang.Object replace(java.lang.Object, java.lang.Object);
- public synchronized void replaceAll(java.util.function.BiFunction);
- public synchronized int size();
- public synchronized java.lang.String toString();
- public java.util.Collection values();
-
-
-}
-
--keep class java.util.IntSummaryStatistics {
- <init>();
-
- public void accept(int);
- public void combine(java.util.IntSummaryStatistics);
- public double getAverage();
- public long getCount();
- public int getMax();
- public int getMin();
- public long getSum();
- public java.lang.String toString();
-
-
-}
-
--keep class java.util.InvalidPropertiesFormatException {
- <init>(java.lang.Throwable);
- <init>(java.lang.String);
-
-
-
-}
-
--keep class java.util.Iterator {
-
- public void forEachRemaining(java.util.function.Consumer);
- public abstract boolean hasNext();
- public abstract java.lang.Object next();
- public void remove();
-
-
-}
-
--keep class java.util.List {
-
- public abstract boolean add(java.lang.Object);
- public abstract void add(int, java.lang.Object);
- public abstract boolean addAll(java.util.Collection);
- public abstract boolean addAll(int, java.util.Collection);
- public abstract void clear();
- public abstract boolean contains(java.lang.Object);
- public abstract boolean containsAll(java.util.Collection);
- public abstract boolean equals(java.lang.Object);
- public abstract java.lang.Object get(int);
- public abstract int hashCode();
- public abstract int indexOf(java.lang.Object);
- public abstract boolean isEmpty();
- public abstract java.util.Iterator iterator();
- public abstract int lastIndexOf(java.lang.Object);
- public abstract java.util.ListIterator listIterator();
- public abstract java.util.ListIterator listIterator(int);
- public abstract boolean remove(java.lang.Object);
- public abstract java.lang.Object remove(int);
- public abstract boolean removeAll(java.util.Collection);
- public void replaceAll(java.util.function.UnaryOperator);
- public abstract boolean retainAll(java.util.Collection);
- public abstract java.lang.Object set(int, java.lang.Object);
- public abstract int size();
- public void sort(java.util.Comparator);
- public java.util.Spliterator spliterator();
- public abstract java.util.List subList(int, int);
- public abstract java.lang.Object[] toArray();
- public abstract java.lang.Object[] toArray(java.lang.Object[]);
-
-
-}
-
--keep class java.util.ListIterator {
-
- public abstract void add(java.lang.Object);
- public abstract boolean hasNext();
- public abstract boolean hasPrevious();
- public abstract java.lang.Object next();
- public abstract int nextIndex();
- public abstract java.lang.Object previous();
- public abstract int previousIndex();
- public abstract void remove();
- public abstract void set(java.lang.Object);
-
-
-}
-
--keep class java.util.Locale {
- <init>(java.lang.String, java.lang.String, java.lang.String);
- <init>(java.lang.String, java.lang.String);
- <init>(java.lang.String);
-
- public static java.lang.String adjustLanguageCode(java.lang.String);
- public java.lang.Object clone();
- public boolean equals(java.lang.Object);
- public static java.util.List filter(java.util.List, java.util.Collection, java.util.Locale$FilteringMode);
- public static java.util.List filter(java.util.List, java.util.Collection);
- public static java.util.List filterTags(java.util.List, java.util.Collection, java.util.Locale$FilteringMode);
- public static java.util.List filterTags(java.util.List, java.util.Collection);
- public static java.util.Locale forLanguageTag(java.lang.String);
- public static java.util.Locale[] getAvailableLocales();
- public java.lang.String getCountry();
- public static java.util.Locale getDefault();
- public static java.util.Locale getDefault(java.util.Locale$Category);
- public java.lang.String getDisplayCountry();
- public java.lang.String getDisplayCountry(java.util.Locale);
- public java.lang.String getDisplayLanguage();
- public java.lang.String getDisplayLanguage(java.util.Locale);
- public java.lang.String getDisplayName();
- public java.lang.String getDisplayName(java.util.Locale);
- public java.lang.String getDisplayScript();
- public java.lang.String getDisplayScript(java.util.Locale);
- public java.lang.String getDisplayVariant();
- public java.lang.String getDisplayVariant(java.util.Locale);
- public java.lang.String getExtension(char);
- public java.util.Set getExtensionKeys();
- public java.lang.String getISO3Country();
- public java.lang.String getISO3Language();
- public static java.lang.String[] getISOCountries();
- public static java.lang.String[] getISOLanguages();
- public java.lang.String getLanguage();
- public java.lang.String getScript();
- public java.util.Set getUnicodeLocaleAttributes();
- public java.util.Set getUnicodeLocaleKeys();
- public java.lang.String getUnicodeLocaleType(java.lang.String);
- public java.lang.String getVariant();
- public boolean hasExtensions();
- public int hashCode();
- public static java.util.Locale initDefault();
- public static java.util.Locale lookup(java.util.List, java.util.Collection);
- public static java.lang.String lookupTag(java.util.List, java.util.Collection);
- public static synchronized void setDefault(java.util.Locale);
- public static synchronized void setDefault(java.util.Locale$Category, java.util.Locale);
- public java.util.Locale stripExtensions();
- public java.lang.String toLanguageTag();
- public java.lang.String toString();
-
-
- public static java.util.Locale CANADA;
- public static java.util.Locale CANADA_FRENCH;
- public static java.util.Locale CHINA;
- public static java.util.Locale CHINESE;
- public static java.util.Locale ENGLISH;
- public static java.util.Locale FRANCE;
- public static java.util.Locale FRENCH;
- public static java.util.Locale GERMAN;
- public static java.util.Locale GERMANY;
- public static java.util.Locale ITALIAN;
- public static java.util.Locale ITALY;
- public static java.util.Locale JAPAN;
- public static java.util.Locale JAPANESE;
- public static java.util.Locale KOREA;
- public static java.util.Locale KOREAN;
- public static java.util.Locale PRC;
- public static char PRIVATE_USE_EXTENSION;
- public static java.util.Locale ROOT;
- public static java.util.Locale SIMPLIFIED_CHINESE;
- public static java.util.Locale TAIWAN;
- public static java.util.Locale TRADITIONAL_CHINESE;
- public static java.util.Locale UK;
- public static char UNICODE_LOCALE_EXTENSION;
- public static java.util.Locale US;
-}
-
--keep class java.util.Locale$Category {
-
- public static java.util.Locale$Category valueOf(java.lang.String);
- public static java.util.Locale$Category[] values();
-
- public static java.util.Locale$Category DISPLAY;
- public static java.util.Locale$Category FORMAT;
-
-}
-
--keep class java.util.Locale$FilteringMode {
-
- public static java.util.Locale$FilteringMode valueOf(java.lang.String);
- public static java.util.Locale$FilteringMode[] values();
-
- public static java.util.Locale$FilteringMode AUTOSELECT_FILTERING;
- public static java.util.Locale$FilteringMode EXTENDED_FILTERING;
- public static java.util.Locale$FilteringMode IGNORE_EXTENDED_RANGES;
- public static java.util.Locale$FilteringMode MAP_EXTENDED_RANGES;
- public static java.util.Locale$FilteringMode REJECT_EXTENDED_RANGES;
-
-}
-
--keep class java.util.Locale$LanguageRange {
- <init>(java.lang.String);
- <init>(java.lang.String, double);
-
- public boolean equals(java.lang.Object);
- public java.lang.String getRange();
- public double getWeight();
- public int hashCode();
- public static java.util.List mapEquivalents(java.util.List, java.util.Map);
- public static java.util.List parse(java.lang.String);
- public static java.util.List parse(java.lang.String, java.util.Map);
-
-
- public static double MAX_WEIGHT;
- public static double MIN_WEIGHT;
-}
-
--keep class java.util.LongSummaryStatistics {
- <init>();
-
- public void accept(int);
- public void accept(long);
- public void combine(java.util.LongSummaryStatistics);
- public double getAverage();
- public long getCount();
- public long getMax();
- public long getMin();
- public long getSum();
- public java.lang.String toString();
-
-
-}
-
--keep class java.util.Map {
-
- public abstract void clear();
- public java.lang.Object compute(java.lang.Object, java.util.function.BiFunction);
- public java.lang.Object computeIfAbsent(java.lang.Object, java.util.function.Function);
- public java.lang.Object computeIfPresent(java.lang.Object, java.util.function.BiFunction);
- public abstract boolean containsKey(java.lang.Object);
- public abstract boolean containsValue(java.lang.Object);
- public abstract java.util.Set entrySet();
- public abstract boolean equals(java.lang.Object);
- public void forEach(java.util.function.BiConsumer);
- public abstract java.lang.Object get(java.lang.Object);
- public java.lang.Object getOrDefault(java.lang.Object, java.lang.Object);
- public abstract int hashCode();
- public abstract boolean isEmpty();
- public abstract java.util.Set keySet();
- public java.lang.Object merge(java.lang.Object, java.lang.Object, java.util.function.BiFunction);
- public abstract java.lang.Object put(java.lang.Object, java.lang.Object);
- public abstract void putAll(java.util.Map);
- public java.lang.Object putIfAbsent(java.lang.Object, java.lang.Object);
- public abstract java.lang.Object remove(java.lang.Object);
- public boolean remove(java.lang.Object, java.lang.Object);
- public boolean replace(java.lang.Object, java.lang.Object, java.lang.Object);
- public java.lang.Object replace(java.lang.Object, java.lang.Object);
- public void replaceAll(java.util.function.BiFunction);
- public abstract int size();
- public abstract java.util.Collection values();
-
-
-}
-
--keep class java.util.Map$Entry {
-
- public static java.util.Comparator comparingByKey();
- public static java.util.Comparator comparingByKey(java.util.Comparator);
- public static java.util.Comparator comparingByValue();
- public static java.util.Comparator comparingByValue(java.util.Comparator);
- public abstract boolean equals(java.lang.Object);
- public abstract java.lang.Object getKey();
- public abstract java.lang.Object getValue();
- public abstract int hashCode();
- public abstract java.lang.Object setValue(java.lang.Object);
-
-
-}
-
--keep class java.util.MissingResourceException {
- <init>(java.lang.String, java.lang.String, java.lang.String);
-
- public java.lang.String getClassName();
- public java.lang.String getKey();
-
-
-}
-
--keep class java.util.Optional {
-
- public static java.util.Optional empty();
- public boolean equals(java.lang.Object);
- public java.util.Optional filter(java.util.function.Predicate);
- public java.util.Optional flatMap(java.util.function.Function);
- public java.lang.Object get();
- public int hashCode();
- public void ifPresent(java.util.function.Consumer);
- public boolean isPresent();
- public java.util.Optional map(java.util.function.Function);
- public static java.util.Optional of(java.lang.Object);
- public static java.util.Optional ofNullable(java.lang.Object);
- public java.lang.Object orElse(java.lang.Object);
- public java.lang.Object orElseGet(java.util.function.Supplier);
- public java.lang.Object orElseThrow(java.util.function.Supplier);
- public java.lang.String toString();
-
-
-}
-
--keep class java.util.OptionalDouble {
-
- public static java.util.OptionalDouble empty();
- public boolean equals(java.lang.Object);
- public double getAsDouble();
- public int hashCode();
- public void ifPresent(java.util.function.DoubleConsumer);
- public boolean isPresent();
- public static java.util.OptionalDouble of(double);
- public double orElse(double);
- public double orElseGet(java.util.function.DoubleSupplier);
- public double orElseThrow(java.util.function.Supplier);
- public java.lang.String toString();
-
-
-}
-
--keep class java.util.OptionalInt {
-
- public static java.util.OptionalInt empty();
- public boolean equals(java.lang.Object);
- public int getAsInt();
- public int hashCode();
- public void ifPresent(java.util.function.IntConsumer);
- public boolean isPresent();
- public static java.util.OptionalInt of(int);
- public int orElse(int);
- public int orElseGet(java.util.function.IntSupplier);
- public int orElseThrow(java.util.function.Supplier);
- public java.lang.String toString();
-
-
-}
-
--keep class java.util.OptionalLong {
-
- public static java.util.OptionalLong empty();
- public boolean equals(java.lang.Object);
- public long getAsLong();
- public int hashCode();
- public void ifPresent(java.util.function.LongConsumer);
- public boolean isPresent();
- public static java.util.OptionalLong of(long);
- public long orElse(long);
- public long orElseGet(java.util.function.LongSupplier);
- public long orElseThrow(java.util.function.Supplier);
- public java.lang.String toString();
-
-
-}
-
--keep class java.util.PrimitiveIterator {
-
- public abstract void forEachRemaining(java.lang.Object);
-
-
-}
-
--keep class java.util.PrimitiveIterator$OfDouble {
-
- public void forEachRemaining(java.util.function.DoubleConsumer);
- public void forEachRemaining(java.util.function.Consumer);
- public void forEachRemaining(java.lang.Object);
- public java.lang.Double next();
- public java.lang.Object next();
- public abstract double nextDouble();
-
-
-}
-
--keep class java.util.PrimitiveIterator$OfInt {
-
- public void forEachRemaining(java.util.function.IntConsumer);
- public void forEachRemaining(java.util.function.Consumer);
- public void forEachRemaining(java.lang.Object);
- public java.lang.Integer next();
- public java.lang.Object next();
- public abstract int nextInt();
-
-
-}
-
--keep class java.util.PrimitiveIterator$OfLong {
-
- public void forEachRemaining(java.util.function.LongConsumer);
- public void forEachRemaining(java.util.function.Consumer);
- public void forEachRemaining(java.lang.Object);
- public java.lang.Long next();
- public java.lang.Object next();
- public abstract long nextLong();
-
-
-}
-
--keep class java.util.Properties {
- <init>();
- <init>(java.util.Properties);
-
- public java.lang.String getProperty(java.lang.String);
- public java.lang.String getProperty(java.lang.String, java.lang.String);
- public void list(java.io.PrintStream);
- public void list(java.io.PrintWriter);
- public synchronized void load(java.io.Reader);
- public synchronized void load(java.io.InputStream);
- public synchronized void loadFromXML(java.io.InputStream);
- public java.util.Enumeration propertyNames();
- public void save(java.io.OutputStream, java.lang.String);
- public synchronized java.lang.Object setProperty(java.lang.String, java.lang.String);
- public void store(java.io.Writer, java.lang.String);
- public void store(java.io.OutputStream, java.lang.String);
- public void storeToXML(java.io.OutputStream, java.lang.String);
- public void storeToXML(java.io.OutputStream, java.lang.String, java.lang.String);
- public java.util.Set stringPropertyNames();
-
-
- protected java.util.Properties defaults;
-}
-
--keep class java.util.Random {
- <init>();
- <init>(long);
-
- public java.util.stream.DoubleStream doubles(long);
- public java.util.stream.DoubleStream doubles();
- public java.util.stream.DoubleStream doubles(long, double, double);
- public java.util.stream.DoubleStream doubles(double, double);
- public java.util.stream.IntStream ints(long);
- public java.util.stream.IntStream ints();
- public java.util.stream.IntStream ints(long, int, int);
- public java.util.stream.IntStream ints(int, int);
- public java.util.stream.LongStream longs(long);
- public java.util.stream.LongStream longs();
- public java.util.stream.LongStream longs(long, long, long);
- public java.util.stream.LongStream longs(long, long);
- protected int next(int);
- public boolean nextBoolean();
- public void nextBytes(byte[]);
- public double nextDouble();
- public float nextFloat();
- public synchronized double nextGaussian();
- public int nextInt();
- public int nextInt(int);
- public long nextLong();
- public synchronized void setSeed(long);
-
-
-}
-
--keep class java.util.Set {
-
- public abstract boolean add(java.lang.Object);
- public abstract boolean addAll(java.util.Collection);
- public abstract void clear();
- public abstract boolean contains(java.lang.Object);
- public abstract boolean containsAll(java.util.Collection);
- public abstract boolean equals(java.lang.Object);
- public abstract int hashCode();
- public abstract boolean isEmpty();
- public abstract java.util.Iterator iterator();
- public abstract boolean remove(java.lang.Object);
- public abstract boolean removeAll(java.util.Collection);
- public abstract boolean retainAll(java.util.Collection);
- public abstract int size();
- public java.util.Spliterator spliterator();
- public abstract java.lang.Object[] toArray();
- public abstract java.lang.Object[] toArray(java.lang.Object[]);
-
-
-}
-
--keep class java.util.SortedMap {
-
- public abstract java.util.Comparator comparator();
- public abstract java.util.Set entrySet();
- public abstract java.lang.Object firstKey();
- public abstract java.util.SortedMap headMap(java.lang.Object);
- public abstract java.util.Set keySet();
- public abstract java.lang.Object lastKey();
- public abstract java.util.SortedMap subMap(java.lang.Object, java.lang.Object);
- public abstract java.util.SortedMap tailMap(java.lang.Object);
- public abstract java.util.Collection values();
-
-
-}
-
--keep class java.util.Spliterator {
-
- public abstract int characteristics();
- public abstract long estimateSize();
- public void forEachRemaining(java.util.function.Consumer);
- public java.util.Comparator getComparator();
- public long getExactSizeIfKnown();
- public boolean hasCharacteristics(int);
- public abstract boolean tryAdvance(java.util.function.Consumer);
- public abstract java.util.Spliterator trySplit();
-
-
- public static int CONCURRENT;
- public static int DISTINCT;
- public static int IMMUTABLE;
- public static int NONNULL;
- public static int ORDERED;
- public static int SIZED;
- public static int SORTED;
- public static int SUBSIZED;
-}
-
--keep class java.util.Spliterator$OfDouble {
-
- public void forEachRemaining(java.util.function.DoubleConsumer);
- public void forEachRemaining(java.util.function.Consumer);
- public void forEachRemaining(java.lang.Object);
- public abstract boolean tryAdvance(java.util.function.DoubleConsumer);
- public boolean tryAdvance(java.util.function.Consumer);
- public boolean tryAdvance(java.lang.Object);
- public abstract java.util.Spliterator$OfDouble trySplit();
- public java.util.Spliterator$OfPrimitive trySplit();
- public java.util.Spliterator trySplit();
-
-
-}
-
--keep class java.util.Spliterator$OfInt {
-
- public void forEachRemaining(java.util.function.IntConsumer);
- public void forEachRemaining(java.util.function.Consumer);
- public void forEachRemaining(java.lang.Object);
- public abstract boolean tryAdvance(java.util.function.IntConsumer);
- public boolean tryAdvance(java.util.function.Consumer);
- public boolean tryAdvance(java.lang.Object);
- public abstract java.util.Spliterator$OfInt trySplit();
- public java.util.Spliterator$OfPrimitive trySplit();
- public java.util.Spliterator trySplit();
-
-
-}
-
--keep class java.util.Spliterator$OfLong {
-
- public void forEachRemaining(java.util.function.LongConsumer);
- public void forEachRemaining(java.util.function.Consumer);
- public void forEachRemaining(java.lang.Object);
- public abstract boolean tryAdvance(java.util.function.LongConsumer);
- public boolean tryAdvance(java.util.function.Consumer);
- public boolean tryAdvance(java.lang.Object);
- public abstract java.util.Spliterator$OfLong trySplit();
- public java.util.Spliterator$OfPrimitive trySplit();
- public java.util.Spliterator trySplit();
-
-
-}
-
--keep class java.util.Spliterator$OfPrimitive {
-
- public void forEachRemaining(java.lang.Object);
- public abstract boolean tryAdvance(java.lang.Object);
- public abstract java.util.Spliterator$OfPrimitive trySplit();
- public java.util.Spliterator trySplit();
-
-
-}
-
--keep class java.util.UUID {
- <init>(long, long);
-
- public int clockSequence();
- public int compareTo(java.util.UUID);
- public int compareTo(java.lang.Object);
- public boolean equals(java.lang.Object);
- public static java.util.UUID fromString(java.lang.String);
- public long getLeastSignificantBits();
- public long getMostSignificantBits();
- public int hashCode();
- public static java.util.UUID nameUUIDFromBytes(byte[]);
- public long node();
- public static java.util.UUID randomUUID();
- public long timestamp();
- public java.lang.String toString();
- public int variant();
- public int version();
-
-
-}
-
--keep class java.util.concurrent.Callable {
-
- public abstract java.lang.Object call();
-
-
-}
-
--keep class java.util.concurrent.ExecutionException {
- <init>();
- <init>(java.lang.String);
- <init>(java.lang.String, java.lang.Throwable);
- <init>(java.lang.Throwable);
-
-
-
-}
-
--keep class java.util.concurrent.Executor {
-
- public abstract void execute(java.lang.Runnable);
-
-
-}
-
--keep class java.util.concurrent.ExecutorService {
-
- public abstract boolean awaitTermination(long, java.util.concurrent.TimeUnit);
- public abstract java.util.List invokeAll(java.util.Collection);
- public abstract java.util.List invokeAll(java.util.Collection, long, java.util.concurrent.TimeUnit);
- public abstract java.lang.Object invokeAny(java.util.Collection);
- public abstract java.lang.Object invokeAny(java.util.Collection, long, java.util.concurrent.TimeUnit);
- public abstract boolean isShutdown();
- public abstract boolean isTerminated();
- public abstract void shutdown();
- public abstract java.util.List shutdownNow();
- public abstract java.util.concurrent.Future submit(java.util.concurrent.Callable);
- public abstract java.util.concurrent.Future submit(java.lang.Runnable, java.lang.Object);
- public abstract java.util.concurrent.Future submit(java.lang.Runnable);
-
-
-}
-
--keep class java.util.concurrent.Future {
-
- public abstract boolean cancel(boolean);
- public abstract java.lang.Object get();
- public abstract java.lang.Object get(long, java.util.concurrent.TimeUnit);
- public abstract boolean isCancelled();
- public abstract boolean isDone();
-
-
-}
-
--keep class java.util.concurrent.TimeUnit {
-
- public long convert(long, java.util.concurrent.TimeUnit);
- public void sleep(long);
- public void timedJoin(java.lang.Thread, long);
- public void timedWait(java.lang.Object, long);
- public long toDays(long);
- public long toHours(long);
- public long toMicros(long);
- public long toMillis(long);
- public long toMinutes(long);
- public long toNanos(long);
- public long toSeconds(long);
- public static java.util.concurrent.TimeUnit valueOf(java.lang.String);
- public static java.util.concurrent.TimeUnit[] values();
-
- public static java.util.concurrent.TimeUnit DAYS;
- public static java.util.concurrent.TimeUnit HOURS;
- public static java.util.concurrent.TimeUnit MICROSECONDS;
- public static java.util.concurrent.TimeUnit MILLISECONDS;
- public static java.util.concurrent.TimeUnit MINUTES;
- public static java.util.concurrent.TimeUnit NANOSECONDS;
- public static java.util.concurrent.TimeUnit SECONDS;
-
-}
-
--keep class java.util.concurrent.TimeoutException {
- <init>();
- <init>(java.lang.String);
-
-
-
-}
-
--keep class java.util.concurrent.atomic.AtomicInteger {
- <init>(int);
- <init>();
-
- public int accumulateAndGet(int, java.util.function.IntBinaryOperator);
- public int addAndGet(int);
- public boolean compareAndSet(int, int);
- public int decrementAndGet();
- public double doubleValue();
- public float floatValue();
- public int get();
- public int getAndAccumulate(int, java.util.function.IntBinaryOperator);
- public int getAndAdd(int);
- public int getAndDecrement();
- public int getAndIncrement();
- public int getAndSet(int);
- public int getAndUpdate(java.util.function.IntUnaryOperator);
- public int incrementAndGet();
- public int intValue();
- public void lazySet(int);
- public long longValue();
- public void set(int);
- public java.lang.String toString();
- public int updateAndGet(java.util.function.IntUnaryOperator);
- public boolean weakCompareAndSet(int, int);
-
-
-}
-
--keep class java.util.function.BiConsumer {
-
- public abstract void accept(java.lang.Object, java.lang.Object);
- public java.util.function.BiConsumer andThen(java.util.function.BiConsumer);
-
-
-}
-
--keep class java.util.function.BiFunction {
-
- public java.util.function.BiFunction andThen(java.util.function.Function);
- public abstract java.lang.Object apply(java.lang.Object, java.lang.Object);
-
-
-}
-
--keep class java.util.function.BinaryOperator {
-
- public static java.util.function.BinaryOperator maxBy(java.util.Comparator);
- public static java.util.function.BinaryOperator minBy(java.util.Comparator);
-
-
-}
-
--keep class java.util.function.Consumer {
-
- public abstract void accept(java.lang.Object);
- public java.util.function.Consumer andThen(java.util.function.Consumer);
-
-
-}
-
--keep class java.util.function.DoubleBinaryOperator {
-
- public abstract double applyAsDouble(double, double);
-
-
-}
-
--keep class java.util.function.DoubleConsumer {
-
- public abstract void accept(double);
- public java.util.function.DoubleConsumer andThen(java.util.function.DoubleConsumer);
-
-
-}
-
--keep class java.util.function.DoubleFunction {
-
- public abstract java.lang.Object apply(double);
-
-
-}
-
--keep class java.util.function.DoublePredicate {
-
- public java.util.function.DoublePredicate and(java.util.function.DoublePredicate);
- public java.util.function.DoublePredicate negate();
- public java.util.function.DoublePredicate or(java.util.function.DoublePredicate);
- public abstract boolean test(double);
-
-
-}
-
--keep class java.util.function.DoubleSupplier {
-
- public abstract double getAsDouble();
-
-
-}
-
--keep class java.util.function.DoubleToIntFunction {
-
- public abstract int applyAsInt(double);
-
-
-}
-
--keep class java.util.function.DoubleToLongFunction {
-
- public abstract long applyAsLong(double);
-
-
-}
-
--keep class java.util.function.DoubleUnaryOperator {
-
- public java.util.function.DoubleUnaryOperator andThen(java.util.function.DoubleUnaryOperator);
- public abstract double applyAsDouble(double);
- public java.util.function.DoubleUnaryOperator compose(java.util.function.DoubleUnaryOperator);
- public static java.util.function.DoubleUnaryOperator identity();
-
-
-}
-
--keep class java.util.function.Function {
-
- public java.util.function.Function andThen(java.util.function.Function);
- public abstract java.lang.Object apply(java.lang.Object);
- public java.util.function.Function compose(java.util.function.Function);
- public static java.util.function.Function identity();
-
-
-}
-
--keep class java.util.function.IntBinaryOperator {
-
- public abstract int applyAsInt(int, int);
-
-
-}
-
--keep class java.util.function.IntConsumer {
-
- public abstract void accept(int);
- public java.util.function.IntConsumer andThen(java.util.function.IntConsumer);
-
-
-}
-
--keep class java.util.function.IntFunction {
-
- public abstract java.lang.Object apply(int);
-
-
-}
-
--keep class java.util.function.IntPredicate {
-
- public java.util.function.IntPredicate and(java.util.function.IntPredicate);
- public java.util.function.IntPredicate negate();
- public java.util.function.IntPredicate or(java.util.function.IntPredicate);
- public abstract boolean test(int);
-
-
-}
-
--keep class java.util.function.IntSupplier {
-
- public abstract int getAsInt();
-
-
-}
-
--keep class java.util.function.IntToDoubleFunction {
-
- public abstract double applyAsDouble(int);
-
-
-}
-
--keep class java.util.function.IntToLongFunction {
-
- public abstract long applyAsLong(int);
-
-
-}
-
--keep class java.util.function.IntUnaryOperator {
-
- public java.util.function.IntUnaryOperator andThen(java.util.function.IntUnaryOperator);
- public abstract int applyAsInt(int);
- public java.util.function.IntUnaryOperator compose(java.util.function.IntUnaryOperator);
- public static java.util.function.IntUnaryOperator identity();
-
-
-}
-
--keep class java.util.function.LongBinaryOperator {
-
- public abstract long applyAsLong(long, long);
-
-
-}
-
--keep class java.util.function.LongConsumer {
-
- public abstract void accept(long);
- public java.util.function.LongConsumer andThen(java.util.function.LongConsumer);
-
-
-}
-
--keep class java.util.function.LongFunction {
-
- public abstract java.lang.Object apply(long);
-
-
-}
-
--keep class java.util.function.LongPredicate {
-
- public java.util.function.LongPredicate and(java.util.function.LongPredicate);
- public java.util.function.LongPredicate negate();
- public java.util.function.LongPredicate or(java.util.function.LongPredicate);
- public abstract boolean test(long);
-
-
-}
-
--keep class java.util.function.LongSupplier {
-
- public abstract long getAsLong();
-
-
-}
-
--keep class java.util.function.LongToDoubleFunction {
-
- public abstract double applyAsDouble(long);
-
-
-}
-
--keep class java.util.function.LongToIntFunction {
-
- public abstract int applyAsInt(long);
-
-
-}
-
--keep class java.util.function.LongUnaryOperator {
-
- public java.util.function.LongUnaryOperator andThen(java.util.function.LongUnaryOperator);
- public abstract long applyAsLong(long);
- public java.util.function.LongUnaryOperator compose(java.util.function.LongUnaryOperator);
- public static java.util.function.LongUnaryOperator identity();
-
-
-}
-
--keep class java.util.function.ObjDoubleConsumer {
-
- public abstract void accept(java.lang.Object, double);
-
-
-}
-
--keep class java.util.function.ObjIntConsumer {
-
- public abstract void accept(java.lang.Object, int);
-
-
-}
-
--keep class java.util.function.ObjLongConsumer {
-
- public abstract void accept(java.lang.Object, long);
-
-
-}
-
--keep class java.util.function.Predicate {
-
- public java.util.function.Predicate and(java.util.function.Predicate);
- public static java.util.function.Predicate isEqual(java.lang.Object);
- public java.util.function.Predicate negate();
- public java.util.function.Predicate or(java.util.function.Predicate);
- public abstract boolean test(java.lang.Object);
-
-
-}
-
--keep class java.util.function.Supplier {
-
- public abstract java.lang.Object get();
-
-
-}
-
--keep class java.util.function.ToDoubleFunction {
-
- public abstract double applyAsDouble(java.lang.Object);
-
-
-}
-
--keep class java.util.function.ToIntFunction {
-
- public abstract int applyAsInt(java.lang.Object);
-
-
-}
-
--keep class java.util.function.ToLongFunction {
-
- public abstract long applyAsLong(java.lang.Object);
-
-
-}
-
--keep class java.util.function.UnaryOperator {
-
- public static java.util.function.UnaryOperator identity();
-
-
-}
-
--keep class java.util.stream.BaseStream {
-
- public abstract void close();
- public abstract boolean isParallel();
- public abstract java.util.Iterator iterator();
- public abstract java.util.stream.BaseStream onClose(java.lang.Runnable);
- public abstract java.util.stream.BaseStream parallel();
- public abstract java.util.stream.BaseStream sequential();
- public abstract java.util.Spliterator spliterator();
- public abstract java.util.stream.BaseStream unordered();
-
-
-}
-
--keep class java.util.stream.Collector {
-
- public abstract java.util.function.BiConsumer accumulator();
- public abstract java.util.Set characteristics();
- public abstract java.util.function.BinaryOperator combiner();
- public abstract java.util.function.Function finisher();
- public static java.util.stream.Collector of(java.util.function.Supplier, java.util.function.BiConsumer, java.util.function.BinaryOperator, java.util.stream.Collector$Characteristics[]);
- public static java.util.stream.Collector of(java.util.function.Supplier, java.util.function.BiConsumer, java.util.function.BinaryOperator, java.util.function.Function, java.util.stream.Collector$Characteristics[]);
- public abstract java.util.function.Supplier supplier();
-
-
-}
-
--keep class java.util.stream.Collector$Characteristics {
-
- public static java.util.stream.Collector$Characteristics valueOf(java.lang.String);
- public static java.util.stream.Collector$Characteristics[] values();
-
- public static java.util.stream.Collector$Characteristics CONCURRENT;
- public static java.util.stream.Collector$Characteristics IDENTITY_FINISH;
- public static java.util.stream.Collector$Characteristics UNORDERED;
-
-}
-
--keep class java.util.stream.DoubleStream {
-
- public abstract boolean allMatch(java.util.function.DoublePredicate);
- public abstract boolean anyMatch(java.util.function.DoublePredicate);
- public abstract java.util.OptionalDouble average();
- public abstract java.util.stream.Stream boxed();
- public static java.util.stream.DoubleStream$Builder builder();
- public abstract java.lang.Object collect(java.util.function.Supplier, java.util.function.ObjDoubleConsumer, java.util.function.BiConsumer);
- public static java.util.stream.DoubleStream concat(java.util.stream.DoubleStream, java.util.stream.DoubleStream);
- public abstract long count();
- public abstract java.util.stream.DoubleStream distinct();
- public static java.util.stream.DoubleStream empty();
- public abstract java.util.stream.DoubleStream filter(java.util.function.DoublePredicate);
- public abstract java.util.OptionalDouble findAny();
- public abstract java.util.OptionalDouble findFirst();
- public abstract java.util.stream.DoubleStream flatMap(java.util.function.DoubleFunction);
- public abstract void forEach(java.util.function.DoubleConsumer);
- public abstract void forEachOrdered(java.util.function.DoubleConsumer);
- public static java.util.stream.DoubleStream generate(java.util.function.DoubleSupplier);
- public static java.util.stream.DoubleStream iterate(double, java.util.function.DoubleUnaryOperator);
- public abstract java.util.PrimitiveIterator$OfDouble iterator();
- public java.util.Iterator iterator();
- public abstract java.util.stream.DoubleStream limit(long);
- public abstract java.util.stream.DoubleStream map(java.util.function.DoubleUnaryOperator);
- public abstract java.util.stream.IntStream mapToInt(java.util.function.DoubleToIntFunction);
- public abstract java.util.stream.LongStream mapToLong(java.util.function.DoubleToLongFunction);
- public abstract java.util.stream.Stream mapToObj(java.util.function.DoubleFunction);
- public abstract java.util.OptionalDouble max();
- public abstract java.util.OptionalDouble min();
- public abstract boolean noneMatch(java.util.function.DoublePredicate);
- public static java.util.stream.DoubleStream of(double);
- public static java.util.stream.DoubleStream of(double[]);
- public abstract java.util.stream.DoubleStream parallel();
- public java.util.stream.BaseStream parallel();
- public abstract java.util.stream.DoubleStream peek(java.util.function.DoubleConsumer);
- public abstract double reduce(double, java.util.function.DoubleBinaryOperator);
- public abstract java.util.OptionalDouble reduce(java.util.function.DoubleBinaryOperator);
- public abstract java.util.stream.DoubleStream sequential();
- public java.util.stream.BaseStream sequential();
- public abstract java.util.stream.DoubleStream skip(long);
- public abstract java.util.stream.DoubleStream sorted();
- public abstract java.util.Spliterator$OfDouble spliterator();
- public java.util.Spliterator spliterator();
- public abstract double sum();
- public abstract java.util.DoubleSummaryStatistics summaryStatistics();
- public abstract double[] toArray();
-
-
-}
-
--keep class java.util.stream.DoubleStream$Builder {
-
- public abstract void accept(double);
- public java.util.stream.DoubleStream$Builder add(double);
- public abstract java.util.stream.DoubleStream build();
-
-
-}
-
--keep class java.util.stream.IntStream {
-
- public abstract boolean allMatch(java.util.function.IntPredicate);
- public abstract boolean anyMatch(java.util.function.IntPredicate);
- public abstract java.util.stream.DoubleStream asDoubleStream();
- public abstract java.util.stream.LongStream asLongStream();
- public abstract java.util.OptionalDouble average();
- public abstract java.util.stream.Stream boxed();
- public static java.util.stream.IntStream$Builder builder();
- public abstract java.lang.Object collect(java.util.function.Supplier, java.util.function.ObjIntConsumer, java.util.function.BiConsumer);
- public static java.util.stream.IntStream concat(java.util.stream.IntStream, java.util.stream.IntStream);
- public abstract long count();
- public abstract java.util.stream.IntStream distinct();
- public static java.util.stream.IntStream empty();
- public abstract java.util.stream.IntStream filter(java.util.function.IntPredicate);
- public abstract java.util.OptionalInt findAny();
- public abstract java.util.OptionalInt findFirst();
- public abstract java.util.stream.IntStream flatMap(java.util.function.IntFunction);
- public abstract void forEach(java.util.function.IntConsumer);
- public abstract void forEachOrdered(java.util.function.IntConsumer);
- public static java.util.stream.IntStream generate(java.util.function.IntSupplier);
- public static java.util.stream.IntStream iterate(int, java.util.function.IntUnaryOperator);
- public abstract java.util.PrimitiveIterator$OfInt iterator();
- public java.util.Iterator iterator();
- public abstract java.util.stream.IntStream limit(long);
- public abstract java.util.stream.IntStream map(java.util.function.IntUnaryOperator);
- public abstract java.util.stream.DoubleStream mapToDouble(java.util.function.IntToDoubleFunction);
- public abstract java.util.stream.LongStream mapToLong(java.util.function.IntToLongFunction);
- public abstract java.util.stream.Stream mapToObj(java.util.function.IntFunction);
- public abstract java.util.OptionalInt max();
- public abstract java.util.OptionalInt min();
- public abstract boolean noneMatch(java.util.function.IntPredicate);
- public static java.util.stream.IntStream of(int);
- public static java.util.stream.IntStream of(int[]);
- public abstract java.util.stream.IntStream parallel();
- public java.util.stream.BaseStream parallel();
- public abstract java.util.stream.IntStream peek(java.util.function.IntConsumer);
- public static java.util.stream.IntStream range(int, int);
- public static java.util.stream.IntStream rangeClosed(int, int);
- public abstract int reduce(int, java.util.function.IntBinaryOperator);
- public abstract java.util.OptionalInt reduce(java.util.function.IntBinaryOperator);
- public abstract java.util.stream.IntStream sequential();
- public java.util.stream.BaseStream sequential();
- public abstract java.util.stream.IntStream skip(long);
- public abstract java.util.stream.IntStream sorted();
- public abstract java.util.Spliterator$OfInt spliterator();
- public java.util.Spliterator spliterator();
- public abstract int sum();
- public abstract java.util.IntSummaryStatistics summaryStatistics();
- public abstract int[] toArray();
-
-
-}
-
--keep class java.util.stream.IntStream$Builder {
-
- public abstract void accept(int);
- public java.util.stream.IntStream$Builder add(int);
- public abstract java.util.stream.IntStream build();
-
-
-}
-
--keep class java.util.stream.LongStream {
-
- public abstract boolean allMatch(java.util.function.LongPredicate);
- public abstract boolean anyMatch(java.util.function.LongPredicate);
- public abstract java.util.stream.DoubleStream asDoubleStream();
- public abstract java.util.OptionalDouble average();
- public abstract java.util.stream.Stream boxed();
- public static java.util.stream.LongStream$Builder builder();
- public abstract java.lang.Object collect(java.util.function.Supplier, java.util.function.ObjLongConsumer, java.util.function.BiConsumer);
- public static java.util.stream.LongStream concat(java.util.stream.LongStream, java.util.stream.LongStream);
- public abstract long count();
- public abstract java.util.stream.LongStream distinct();
- public static java.util.stream.LongStream empty();
- public abstract java.util.stream.LongStream filter(java.util.function.LongPredicate);
- public abstract java.util.OptionalLong findAny();
- public abstract java.util.OptionalLong findFirst();
- public abstract java.util.stream.LongStream flatMap(java.util.function.LongFunction);
- public abstract void forEach(java.util.function.LongConsumer);
- public abstract void forEachOrdered(java.util.function.LongConsumer);
- public static java.util.stream.LongStream generate(java.util.function.LongSupplier);
- public static java.util.stream.LongStream iterate(long, java.util.function.LongUnaryOperator);
- public abstract java.util.PrimitiveIterator$OfLong iterator();
- public java.util.Iterator iterator();
- public abstract java.util.stream.LongStream limit(long);
- public abstract java.util.stream.LongStream map(java.util.function.LongUnaryOperator);
- public abstract java.util.stream.DoubleStream mapToDouble(java.util.function.LongToDoubleFunction);
- public abstract java.util.stream.IntStream mapToInt(java.util.function.LongToIntFunction);
- public abstract java.util.stream.Stream mapToObj(java.util.function.LongFunction);
- public abstract java.util.OptionalLong max();
- public abstract java.util.OptionalLong min();
- public abstract boolean noneMatch(java.util.function.LongPredicate);
- public static java.util.stream.LongStream of(long);
- public static java.util.stream.LongStream of(long[]);
- public abstract java.util.stream.LongStream parallel();
- public java.util.stream.BaseStream parallel();
- public abstract java.util.stream.LongStream peek(java.util.function.LongConsumer);
- public static java.util.stream.LongStream range(long, long);
- public static java.util.stream.LongStream rangeClosed(long, long);
- public abstract long reduce(long, java.util.function.LongBinaryOperator);
- public abstract java.util.OptionalLong reduce(java.util.function.LongBinaryOperator);
- public abstract java.util.stream.LongStream sequential();
- public java.util.stream.BaseStream sequential();
- public abstract java.util.stream.LongStream skip(long);
- public abstract java.util.stream.LongStream sorted();
- public abstract java.util.Spliterator$OfLong spliterator();
- public java.util.Spliterator spliterator();
- public abstract long sum();
- public abstract java.util.LongSummaryStatistics summaryStatistics();
- public abstract long[] toArray();
-
-
-}
-
--keep class java.util.stream.LongStream$Builder {
-
- public abstract void accept(long);
- public java.util.stream.LongStream$Builder add(long);
- public abstract java.util.stream.LongStream build();
-
-
-}
-
--keep class java.util.stream.Stream {
-
- public abstract boolean allMatch(java.util.function.Predicate);
- public abstract boolean anyMatch(java.util.function.Predicate);
- public static java.util.stream.Stream$Builder builder();
- public abstract java.lang.Object collect(java.util.function.Supplier, java.util.function.BiConsumer, java.util.function.BiConsumer);
- public abstract java.lang.Object collect(java.util.stream.Collector);
- public static java.util.stream.Stream concat(java.util.stream.Stream, java.util.stream.Stream);
- public abstract long count();
- public abstract java.util.stream.Stream distinct();
- public static java.util.stream.Stream empty();
- public abstract java.util.stream.Stream filter(java.util.function.Predicate);
- public abstract java.util.Optional findAny();
- public abstract java.util.Optional findFirst();
- public abstract java.util.stream.Stream flatMap(java.util.function.Function);
- public abstract java.util.stream.DoubleStream flatMapToDouble(java.util.function.Function);
- public abstract java.util.stream.IntStream flatMapToInt(java.util.function.Function);
- public abstract java.util.stream.LongStream flatMapToLong(java.util.function.Function);
- public abstract void forEach(java.util.function.Consumer);
- public abstract void forEachOrdered(java.util.function.Consumer);
- public static java.util.stream.Stream generate(java.util.function.Supplier);
- public static java.util.stream.Stream iterate(java.lang.Object, java.util.function.UnaryOperator);
- public abstract java.util.stream.Stream limit(long);
- public abstract java.util.stream.Stream map(java.util.function.Function);
- public abstract java.util.stream.DoubleStream mapToDouble(java.util.function.ToDoubleFunction);
- public abstract java.util.stream.IntStream mapToInt(java.util.function.ToIntFunction);
- public abstract java.util.stream.LongStream mapToLong(java.util.function.ToLongFunction);
- public abstract java.util.Optional max(java.util.Comparator);
- public abstract java.util.Optional min(java.util.Comparator);
- public abstract boolean noneMatch(java.util.function.Predicate);
- public static java.util.stream.Stream of(java.lang.Object);
- public static java.util.stream.Stream of(java.lang.Object[]);
- public abstract java.util.stream.Stream peek(java.util.function.Consumer);
- public abstract java.lang.Object reduce(java.lang.Object, java.util.function.BinaryOperator);
- public abstract java.util.Optional reduce(java.util.function.BinaryOperator);
- public abstract java.lang.Object reduce(java.lang.Object, java.util.function.BiFunction, java.util.function.BinaryOperator);
- public abstract java.util.stream.Stream skip(long);
- public abstract java.util.stream.Stream sorted();
- public abstract java.util.stream.Stream sorted(java.util.Comparator);
- public abstract java.lang.Object[] toArray();
- public abstract java.lang.Object[] toArray(java.util.function.IntFunction);
-
-
-}
-
--keep class java.util.stream.Stream$Builder {
-
- public abstract void accept(java.lang.Object);
- public java.util.stream.Stream$Builder add(java.lang.Object);
- public abstract java.util.stream.Stream build();
-
-
-}
-
--keep class javax.microedition.khronos.opengles.GL {
-
-
-
-}
-
--keep class javax.security.auth.Subject {
- <init>();
- <init>(boolean, java.util.Set, java.util.Set, java.util.Set);
-
- public static java.lang.Object doAs(javax.security.auth.Subject, java.security.PrivilegedAction);
- public static java.lang.Object doAs(javax.security.auth.Subject, java.security.PrivilegedExceptionAction);
- public static java.lang.Object doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedAction, java.security.AccessControlContext);
- public static java.lang.Object doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedExceptionAction, java.security.AccessControlContext);
- public boolean equals(java.lang.Object);
- public java.util.Set getPrincipals();
- public java.util.Set getPrincipals(java.lang.Class);
- public java.util.Set getPrivateCredentials();
- public java.util.Set getPrivateCredentials(java.lang.Class);
- public java.util.Set getPublicCredentials();
- public java.util.Set getPublicCredentials(java.lang.Class);
- public static javax.security.auth.Subject getSubject(java.security.AccessControlContext);
- public int hashCode();
- public boolean isReadOnly();
- public void setReadOnly();
- public java.lang.String toString();
-
-
-}
-
--keep class libcore.util.NativeAllocationRegistry {
- <init>(java.lang.ClassLoader, long, long);
-
- public static void applyFreeFunction(long, long);
- public java.lang.Runnable registerNativeAllocation(java.lang.Object, long);
- public java.lang.Runnable registerNativeAllocation(java.lang.Object, libcore.util.NativeAllocationRegistry$Allocator);
-
-
-}
-
--keep class libcore.util.NativeAllocationRegistry$Allocator {
-
- public abstract long allocate();
-
-
-}
-
--keep class org.xmlpull.v1.XmlPullParser {
-
- public abstract void defineEntityReplacementText(java.lang.String, java.lang.String);
- public abstract int getAttributeCount();
- public abstract java.lang.String getAttributeName(int);
- public abstract java.lang.String getAttributeNamespace(int);
- public abstract java.lang.String getAttributePrefix(int);
- public abstract java.lang.String getAttributeType(int);
- public abstract java.lang.String getAttributeValue(int);
- public abstract java.lang.String getAttributeValue(java.lang.String, java.lang.String);
- public abstract int getColumnNumber();
- public abstract int getDepth();
- public abstract int getEventType();
- public abstract boolean getFeature(java.lang.String);
- public abstract java.lang.String getInputEncoding();
- public abstract int getLineNumber();
- public abstract java.lang.String getName();
- public abstract java.lang.String getNamespace(java.lang.String);
- public abstract java.lang.String getNamespace();
- public abstract int getNamespaceCount(int);
- public abstract java.lang.String getNamespacePrefix(int);
- public abstract java.lang.String getNamespaceUri(int);
- public abstract java.lang.String getPositionDescription();
- public abstract java.lang.String getPrefix();
- public abstract java.lang.Object getProperty(java.lang.String);
- public abstract java.lang.String getText();
- public abstract char[] getTextCharacters(int[]);
- public abstract boolean isAttributeDefault(int);
- public abstract boolean isEmptyElementTag();
- public abstract boolean isWhitespace();
- public abstract int next();
- public abstract int nextTag();
- public abstract java.lang.String nextText();
- public abstract int nextToken();
- public abstract void require(int, java.lang.String, java.lang.String);
- public abstract void setFeature(java.lang.String, boolean);
- public abstract void setInput(java.io.Reader);
- public abstract void setInput(java.io.InputStream, java.lang.String);
- public abstract void setProperty(java.lang.String, java.lang.Object);
-
-
- public static int CDSECT;
- public static int COMMENT;
- public static int DOCDECL;
- public static int END_DOCUMENT;
- public static int END_TAG;
- public static int ENTITY_REF;
- public static java.lang.String FEATURE_PROCESS_DOCDECL;
- public static java.lang.String FEATURE_PROCESS_NAMESPACES;
- public static java.lang.String FEATURE_REPORT_NAMESPACE_ATTRIBUTES;
- public static java.lang.String FEATURE_VALIDATION;
- public static int IGNORABLE_WHITESPACE;
- public static java.lang.String NO_NAMESPACE;
- public static int PROCESSING_INSTRUCTION;
- public static int START_DOCUMENT;
- public static int START_TAG;
- public static int TEXT;
- public static java.lang.String[] TYPES;
-}
-
--keep class org.xmlpull.v1.XmlPullParserException {
- <init>(java.lang.String);
- <init>(java.lang.String, org.xmlpull.v1.XmlPullParser, java.lang.Throwable);
-
- public int getColumnNumber();
- public java.lang.Throwable getDetail();
- public int getLineNumber();
- public void printStackTrace();
-
-
- protected int column;
- protected java.lang.Throwable detail;
- protected int row;
-}
-
--keep class org.xmlpull.v1.XmlSerializer {
-
- public abstract org.xmlpull.v1.XmlSerializer attribute(java.lang.String, java.lang.String, java.lang.String);
- public abstract void cdsect(java.lang.String);
- public abstract void comment(java.lang.String);
- public abstract void docdecl(java.lang.String);
- public abstract void endDocument();
- public abstract org.xmlpull.v1.XmlSerializer endTag(java.lang.String, java.lang.String);
- public abstract void entityRef(java.lang.String);
- public abstract void flush();
- public abstract int getDepth();
- public abstract boolean getFeature(java.lang.String);
- public abstract java.lang.String getName();
- public abstract java.lang.String getNamespace();
- public abstract java.lang.String getPrefix(java.lang.String, boolean);
- public abstract java.lang.Object getProperty(java.lang.String);
- public abstract void ignorableWhitespace(java.lang.String);
- public abstract void processingInstruction(java.lang.String);
- public abstract void setFeature(java.lang.String, boolean);
- public abstract void setOutput(java.io.OutputStream, java.lang.String);
- public abstract void setOutput(java.io.Writer);
- public abstract void setPrefix(java.lang.String, java.lang.String);
- public abstract void setProperty(java.lang.String, java.lang.Object);
- public abstract void startDocument(java.lang.String, java.lang.Boolean);
- public abstract org.xmlpull.v1.XmlSerializer startTag(java.lang.String, java.lang.String);
- public abstract org.xmlpull.v1.XmlSerializer text(java.lang.String);
- public abstract org.xmlpull.v1.XmlSerializer text(char[], int, int);
-
-
-}
-
--keep class sun.nio.ch.Interruptible {
-
- public abstract void interrupt(java.lang.Thread);
-
-
-}
-
diff --git a/car-support-lib/res/values/strings.xml b/car-support-lib/res/values/strings.xml
deleted file mode 100644
index ab697e1..0000000
--- a/car-support-lib/res/values/strings.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 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.
--->
-<resources>
- <string name="resource_warning">Please do not check in any ui resources here.</string>
-</resources>
diff --git a/car-support-lib/src/android/support/car/Car.java b/car-support-lib/src/android/support/car/Car.java
deleted file mode 100644
index c12b13c..0000000
--- a/car-support-lib/src/android/support/car/Car.java
+++ /dev/null
@@ -1,475 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car;
-
-import android.content.Context;
-import android.os.Handler;
-import android.os.Looper;
-import android.support.car.content.pm.CarPackageManager;
-import android.support.car.hardware.CarSensorManager;
-import android.support.car.media.CarAudioManager;
-import android.support.car.navigation.CarNavigationStatusManager;
-import android.util.Log;
-
-import androidx.annotation.IntDef;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Top-level car API that provides access to all car services and data available in the platform.
- * <p/>
- * Use one of the createCar methods to create a new instance of the Car api. The
- * {@link CarConnectionCallback} will respond with an {@link CarConnectionCallback#onConnected(Car)}
- * or {@link CarConnectionCallback#onDisconnected(Car)} message. Nothing can be done with the
- * car until onConnected is called. When the car disconnects then reconnects you may still use
- * the Car object but any manages retrieved from it should be considered invalid and will need to
- * be retried. Also, you must call {@link #disconnect} before an instance of Car goes out of scope
- * to avoid leaking resources.
- *
- * <p/>
- * Once connected, {@link #getCarManager(String)} or {@link #getCarManager(Class)} can be used to
- * retrieve a manager. This is patterned after how one would retrieve a service from
- * {@link Context#getSystemService(String)} or {@link Context#getSystemService(Class)}. Once
- * again if the car is disconnected you'll want to get new versions of these managers.
- */
-public class Car {
-
- private static final String TAG = "CAR.SUPPORT.LIB.CAR";
- /**
- * Service name for {@link CarSensorManager}, to be used in {@link #getCarManager(String)}.
- */
- public static final String SENSOR_SERVICE = "sensor";
-
- /**
- * Service name for {@link CarInfoManager}, to be used in {@link #getCarManager(String)}.
- */
- public static final String INFO_SERVICE = "info";
-
- /**
- * Service name for {@link CarAppFocusManager}.
- */
- public static final String APP_FOCUS_SERVICE = "app_focus";
-
- /**
- * Service name for {@link CarPackageManager}.
- * @hide
- */
- public static final String PACKAGE_SERVICE = "package";
-
- /**
- * Service name for {@link CarAudioManager}.
- */
- public static final String AUDIO_SERVICE = "audio";
- /**
- * Service name for {@link CarNavigationStatusManager}.
- * @hide
- */
- public static final String CAR_NAVIGATION_SERVICE = "car_navigation_service";
- /**
- * Service name for {@link CarNavigationStatusManager}.
- */
- public static final String NAVIGATION_STATUS_SERVICE = "car_navigation_service";
-
- // TODO(jthol) move into a more robust registry implementation
- private static final Map<Class, String> CLASS_TO_SERVICE_NAME;
- static{
- Map<Class, String> mapping = new HashMap<>();
- mapping.put(CarSensorManager.class, SENSOR_SERVICE);
- mapping.put(CarInfoManager.class, INFO_SERVICE);
- mapping.put(CarAppFocusManager.class, APP_FOCUS_SERVICE);
- mapping.put(CarPackageManager.class, PACKAGE_SERVICE);
- mapping.put(CarAudioManager.class, AUDIO_SERVICE);
- mapping.put(CarNavigationStatusManager.class, NAVIGATION_STATUS_SERVICE);
-
- CLASS_TO_SERVICE_NAME = Collections.unmodifiableMap(mapping);
- }
-
-
- /**
- * Type of car connection: car emulator, no physical connection.
- * @hide
- */
- public static final int CONNECTION_TYPE_EMULATOR = 0;
- /**
- * Type of car connection: connected to a car via USB.
- * @hide
- */
- public static final int CONNECTION_TYPE_USB = 1;
- /**
- * Type of car connection: connected to a car via Wi-Fi.
- * @hide
- */
- public static final int CONNECTION_TYPE_WIFI = 2;
- /**
- * Type of car connection: on-device car emulator, for development (such as Local Head Unit).
- * @hide
- */
- public static final int CONNECTION_TYPE_ON_DEVICE_EMULATOR = 3;
- /**
- * Type of car connection: car emulator, connected over ADB (such as Desktop Head Unit).
- * @hide
- */
- public static final int CONNECTION_TYPE_ADB_EMULATOR = 4;
- /**
- * Type of car connection: platform runs directly in car.
- * @hide
- */
- public static final int CONNECTION_TYPE_EMBEDDED = 5;
-
- /**
- * Unknown type (the support lib is likely out-of-date).
- * @hide
- */
- public static final int CONNECTION_TYPE_UNKNOWN = -1;
-
- private static final Set<Integer> CONNECTION_TYPES = new HashSet<>();
- static {
- CONNECTION_TYPES.add(CONNECTION_TYPE_ADB_EMULATOR);
- CONNECTION_TYPES.add(CONNECTION_TYPE_USB);
- CONNECTION_TYPES.add(CONNECTION_TYPE_WIFI);
- CONNECTION_TYPES.add(CONNECTION_TYPE_ON_DEVICE_EMULATOR);
- CONNECTION_TYPES.add(CONNECTION_TYPE_ADB_EMULATOR);
- CONNECTION_TYPES.add(CONNECTION_TYPE_EMBEDDED);
- }
-
- /** @hide */
- @IntDef({CONNECTION_TYPE_EMULATOR, CONNECTION_TYPE_USB, CONNECTION_TYPE_WIFI,
- CONNECTION_TYPE_ON_DEVICE_EMULATOR, CONNECTION_TYPE_ADB_EMULATOR,
- CONNECTION_TYPE_EMBEDDED, CONNECTION_TYPE_UNKNOWN})
- @Retention(RetentionPolicy.SOURCE)
- public @interface ConnectionType {
- }
-
- /**
- * Permission necessary to access car mileage information.
- * @hide
- */
- public static final String PERMISSION_MILEAGE = "android.car.permission.CAR_MILEAGE";
- /**
- * Permission necessary to access car's energy information.
- * @hide
- */
- public static final String PERMISSION_ENERGY = "android.car.permission.CAR_ENERGY";
- /**
- * Permission necessary to access car speed.
- * @hide
- */
- public static final String PERMISSION_SPEED = "android.car.permission.CAR_SPEED";
- /**
- * Permission necessary to access car dynamics state.
- * @hide
- */
- public static final String PERMISSION_VEHICLE_DYNAMICS_STATE =
- "android.car.permission.VEHICLE_DYNAMICS_STATE";
- /**
- * Permission necessary to access a car-specific communication channel.
- */
- public static final String PERMISSION_VENDOR_EXTENSION =
- "android.car.permission.CAR_VENDOR_EXTENSION";
- /**
- * Permission necessary to use {@link android.car.navigation.CarNavigationStatusManager}.
- */
- public static final String PERMISSION_CAR_NAVIGATION_MANAGER =
- "android.car.permission.PERMISSION_CAR_NAVIGATION_MANAGER";
-
-
- /**
- * PackageManager.FEATURE_AUTOMOTIVE from M. But redefine here to support L.
- */
- private static final String FEATURE_AUTOMOTIVE = "android.hardware.type.automotive";
-
- /**
- * {@link CarServiceLoader} implementation for projected mode. Available only when the
- * projected client library is linked.
- */
- private static final String PROJECTED_CAR_SERVICE_LOADER =
- "com.google.android.apps.auto.sdk.service.CarServiceLoaderGms";
- /**
- * Permission necessary to change car audio volume through {@link CarAudioManager}.
- * @hide
- */
- public static final String PERMISSION_CAR_CONTROL_AUDIO_VOLUME =
- "android.car.permission.CAR_CONTROL_AUDIO_VOLUME";
-
- private final Context mContext;
- private final Handler mEventHandler;
- private static final int STATE_DISCONNECTED = 0;
- private static final int STATE_CONNECTING = 1;
- private static final int STATE_CONNECTED = 2;
- // @GuardedBy("this")
- private int mConnectionState;
-
- private final CarServiceLoader.CarConnectionCallbackProxy mCarConnectionCallbackProxy =
- new CarServiceLoader.CarConnectionCallbackProxy() {
- @Override
- public void onConnected() {
- synchronized (Car.this) {
- mConnectionState = STATE_CONNECTED;
- }
- mCarConnectionCallback.onConnected(Car.this);
- }
-
- @Override
- public void onDisconnected() {
- synchronized (Car.this) {
- if (mConnectionState == STATE_DISCONNECTED) {
- return;
- }
- tearDownCarManagers();
- mConnectionState = STATE_DISCONNECTED;
- }
- mCarConnectionCallback.onDisconnected(Car.this);
- }
- };
-
- private final CarConnectionCallback mCarConnectionCallback;
- private final Object mCarManagerLock = new Object();
- //@GuardedBy("mCarManagerLock")
- private final HashMap<String, CarManagerBase> mServiceMap = new HashMap<>();
- private final CarServiceLoader mCarServiceLoader;
-
-
- /**
- * A factory method that creates a Car instance with the given {@code Looper}.
- *
- * @param context The current app context.
- * @param carConnectionCallback Receives information when the Car Service is started and
- * stopped.
- * @param handler The handler on which the callback should execute, or null to execute on the
- * service's main thread. Note the service connection listener is always on the main
- * thread regardless of the handler given.
- * @return Car instance if system is in car environment; returns {@code null} otherwise.
- */
- public static Car createCar(Context context,
- CarConnectionCallback carConnectionCallback, @Nullable Handler handler) {
- try {
- return new Car(context, carConnectionCallback, handler);
- } catch (IllegalArgumentException e) {
- // Expected when Car Service loader is not available.
- Log.w(TAG, "Car failed to be created", e);
- }
- return null;
- }
-
- /**
- * A factory method that creates Car instance using the main thread {@link Handler}.
- *
- * @see #createCar(Context, CarConnectionCallback, Handler)
- */
- public static Car createCar(Context context,
- CarConnectionCallback carConnectionCallback) {
- return createCar(context, carConnectionCallback, null);
- }
-
- private Car(Context context, CarConnectionCallback carConnectionCallback,
- @Nullable Handler handler) {
- mContext = context;
- mCarConnectionCallback = carConnectionCallback;
- if (handler == null) {
- Looper looper = Looper.getMainLooper();
- handler = new Handler(looper);
- }
- mEventHandler = handler;
-
- if (mContext.getPackageManager().hasSystemFeature(FEATURE_AUTOMOTIVE)) {
- mCarServiceLoader =
- new CarServiceLoaderEmbedded(context, mCarConnectionCallbackProxy,
- mEventHandler);
- } else {
- mCarServiceLoader = loadCarServiceLoader(PROJECTED_CAR_SERVICE_LOADER, context,
- mCarConnectionCallbackProxy, mEventHandler);
- }
- }
-
- private CarServiceLoader loadCarServiceLoader(String carServiceLoaderClassName, Context context,
- CarServiceLoader.CarConnectionCallbackProxy carConnectionCallbackProxy,
- Handler eventHandler) throws IllegalArgumentException {
- Class<? extends CarServiceLoader> carServiceLoaderClass = null;
- try {
- carServiceLoaderClass =
- Class.forName(carServiceLoaderClassName).asSubclass(CarServiceLoader.class);
- } catch (ClassNotFoundException e) {
- throw new IllegalArgumentException(
- "Cannot find CarServiceLoader implementation:" + carServiceLoaderClassName, e);
- }
- Constructor<? extends CarServiceLoader> ctor;
- try {
- ctor = carServiceLoaderClass.getDeclaredConstructor(Context.class,
- CarServiceLoader.CarConnectionCallbackProxy.class, Handler.class);
- } catch (NoSuchMethodException e) {
- throw new IllegalArgumentException("Cannot construct CarServiceLoader, no constructor: "
- + carServiceLoaderClassName, e);
- }
- try {
- return ctor.newInstance(context, carConnectionCallbackProxy, eventHandler);
- } catch (InstantiationException | IllegalAccessException | IllegalArgumentException
- | InvocationTargetException e) {
- throw new IllegalArgumentException(
- "Cannot construct CarServiceLoader, constructor failed for "
- + carServiceLoaderClass.getName(), e);
- }
- }
-
- /**
- * Car constructor when CarServiceLoader is already available.
- *
- * @param serviceLoader must be non-null and connected or {@link CarNotConnectedException} will
- * be thrown.
- * @hide
- */
- public Car(@NonNull CarServiceLoader serviceLoader) throws CarNotConnectedException {
- if (!serviceLoader.isConnected()) {
- throw new CarNotConnectedException();
- }
- mCarServiceLoader = serviceLoader;
- mEventHandler = serviceLoader.getEventHandler();
- mContext = serviceLoader.getContext();
-
- mConnectionState = STATE_CONNECTED;
- mCarConnectionCallback = null;
- }
-
- /**
- * Connect to Car Service. Can be called while disconnected.
- *
- * @throws IllegalStateException if the car is connected or still trying to connect
- * from previous calls.
- */
- public void connect() throws IllegalStateException {
- synchronized (this) {
- if (mConnectionState != STATE_DISCONNECTED) {
- throw new IllegalStateException("already connected or connecting");
- }
- mConnectionState = STATE_CONNECTING;
- mCarServiceLoader.connect();
- }
- }
-
- /**
- * Disconnect from Car Service. Can be called while disconnected. After disconnect is
- * called, all Car*Managers from this instance become invalid, and {@link
- * Car#getCarManager(String)} returns a different instance if connected again.
- */
- public void disconnect() {
- synchronized (this) {
- tearDownCarManagers();
- mConnectionState = STATE_DISCONNECTED;
- mCarServiceLoader.disconnect();
- }
- }
-
- /**
- * @return Returns {@code true} if this object is connected to the service; {@code false}
- * otherwise.
- */
- public boolean isConnected() {
- synchronized (this) {
- return mConnectionState == STATE_CONNECTED;
- }
- }
-
- /**
- * @return Returns {@code true} if this object is still connecting to the service.
- */
- public boolean isConnecting() {
- synchronized (this) {
- return mConnectionState == STATE_CONNECTING;
- }
- }
-
- /**
- * Get a car-specific manager. This is modeled after {@link Context#getSystemService(String)}.
- * The returned {@link Object} should be type cast to the desired manager. For example,
- * to get the sensor service, use the following:
- * <pre>{@code CarSensorManager sensorManager =
- * (CarSensorManager) car.getCarManager(Car.SENSOR_SERVICE);}</pre>
- *
- * @param serviceName Name of service to create, for example {@link #SENSOR_SERVICE}.
- * @return The requested service manager or null if the service is not available.
- */
- public Object getCarManager(String serviceName)
- throws CarNotConnectedException {
- Object manager = null;
- synchronized (mCarManagerLock) {
- manager = mServiceMap.get(serviceName);
- if (manager == null) {
- manager = mCarServiceLoader.getCarManager(serviceName);
- }
- // do not store if it is not CarManagerBase. This can happen when system version
- // is retrieved from this call.
- if (manager != null && manager instanceof CarManagerBase) {
- mServiceMap.put(serviceName, (CarManagerBase) manager);
- }
- }
- return manager;
- }
-
- /**
- * Get a car-specific manager. This is modeled after {@link Context#getSystemService(Class)}.
- * The returned service will be type cast to the desired manager. For example,
- * to get the sensor service, use the following:
- * <pre>{@code CarSensorManager sensorManager = car.getCarManager(CarSensorManager.class);
- * }</pre>
- *
- * @param serviceClass Class: The class of the desired service. For
- * example {@link CarSensorManager}.
- * @return The service or null if the class is not a supported car service.
- */
- public <T> T getCarManager(Class<T> serviceClass) throws CarNotConnectedException {
- // TODO(jthol) port to a more robust registry implementation
- String serviceName = CLASS_TO_SERVICE_NAME.get(serviceClass);
- return (serviceName == null) ? null : (T) getCarManager(serviceName);
- }
-
- /**
- * Return the type of currently connected car. This should only be used for testing scenarios
- *
- * @return One of {@link #CONNECTION_TYPE_USB}, {@link #CONNECTION_TYPE_WIFI},
- * {@link #CONNECTION_TYPE_EMBEDDED}, {@link #CONNECTION_TYPE_ON_DEVICE_EMULATOR},
- * {@link #CONNECTION_TYPE_ADB_EMULATOR},
- * {@link #CONNECTION_TYPE_UNKNOWN}.
- * @throws CarNotConnectedException if the connection to the car service has been lost.
- * @hide
- */
- @ConnectionType
- public int getCarConnectionType() throws CarNotConnectedException {
- int carConnectionType = mCarServiceLoader.getCarConnectionType();
- if (!CONNECTION_TYPES.contains(carConnectionType)){
- return CONNECTION_TYPE_UNKNOWN;
- }
- return carConnectionType;
- }
-
- private void tearDownCarManagers() {
- synchronized (mCarManagerLock) {
- for (CarManagerBase manager : mServiceMap.values()) {
- manager.onCarDisconnected();
- }
- mServiceMap.clear();
- }
- }
-}
diff --git a/car-support-lib/src/android/support/car/CarAppFocusManager.java b/car-support-lib/src/android/support/car/CarAppFocusManager.java
deleted file mode 100644
index 395ff61..0000000
--- a/car-support-lib/src/android/support/car/CarAppFocusManager.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car;
-
-import androidx.annotation.IntDef;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * Enables applications to set and listen for the current application focus (such as active
- * navigation). Typically, only one such application should be running at a time. When another
- * application gets ownership of a given APP_FOCUS_TYPE_*, the old app should stop using the
- * feature represented by the focus type.
- */
-public abstract class CarAppFocusManager implements CarManagerBase {
- /**
- * Receives notifications when app focus changes.
- */
- public interface OnAppFocusChangedListener {
- /**
- * Indicates the application focus has changed. The {@link CarAppFocusManager} instance
- * causing the change does not get this notification.
- * @param manager the {@link CarAppFocusManager} this listener is attached to. Useful if
- * the app wished to unregister the listener.
- * @param appType application type for which status changed
- * @param active returns {@code true} if active
- */
- void onAppFocusChanged(CarAppFocusManager manager, @AppFocusType int appType,
- boolean active);
- }
-
- /**
- * Receives notifications when the application focus ownership changes.
- */
- public interface OnAppFocusOwnershipCallback {
- /**
- * Lost ownership for the focus, which occurs when another app has set the focus.
- * The app losing focus should stop the action associated with the focus.
- * For example, a navigation app running active navigation should stop navigation
- * upon getting this for {@link CarAppFocusManager#APP_FOCUS_TYPE_NAVIGATION}.
- * @param manager the {@link CarAppFocusManager} this callback is attached to. Useful if
- * the app wishes to unregister the callback.
- * @param appType
- */
- void onAppFocusOwnershipLost(CarAppFocusManager manager, @AppFocusType int appType);
-
- /**
- * Granted ownership for the focus, which happens after app has requested the focus.
- * The app getting focus can start the action associated with the focus.
- * For example, navigation app can start navigation
- * upon getting this for {@link CarAppFocusManager#APP_FOCUS_TYPE_NAVIGATION}.
- * @param manager the {@link CarAppFocusManager} this callback is attached to. Useful if
- * the app wishes to unregister the callback.
- * @param appType
- */
- void onAppFocusOwnershipGranted(CarAppFocusManager manager, @AppFocusType int appType);
- }
-
- /**
- * Represents navigation focus.
- * <p/>
- * When a program loses navigation focus they should no longer send navigation data to the
- * instrument cluster via the
- * {@link android.support.car.navigation.CarNavigationStatusManager}. Furthermore they
- * should stop sending audio updates and any notifications regarding navigation.
- * Essentially, these apps should stop all navigation activities as this means another app is
- * navigating.
- */
- public static final int APP_FOCUS_TYPE_NAVIGATION = 1;
- /**
- * Represents voice command focus.
- * @hide
- */
- public static final int APP_FOCUS_TYPE_VOICE_COMMAND = 2;
- /**
- * Update this after adding a new app type.
- * @hide
- */
- public static final int APP_FOCUS_TYPE_MAX = 2;
-
- /** @hide */
- @IntDef({
- APP_FOCUS_TYPE_NAVIGATION,
- APP_FOCUS_TYPE_VOICE_COMMAND
- })
- @Retention(RetentionPolicy.SOURCE)
- public @interface AppFocusType {}
-
- /**
- * A failed focus change request.
- */
- public static final int APP_FOCUS_REQUEST_FAILED = 0;
- /**
- * A successful focus change request.
- */
- public static final int APP_FOCUS_REQUEST_SUCCEEDED = 1;
-
- /** @hide */
- @IntDef({
- APP_FOCUS_REQUEST_FAILED,
- APP_FOCUS_REQUEST_SUCCEEDED
- })
- @Retention(RetentionPolicy.SOURCE)
- public @interface AppFocusRequestResult {}
-
- /**
- * Register listener to monitor app focus changes.
- * Multiple listeners can be registered for a single focus and the same listener can be used
- * for multiple focuses.
- * @param listener Listener to register for focus events.
- * @param appType Application type to get notification for.
- * @throws CarNotConnectedException if the connection to the car service has been lost.
- */
- public abstract void addFocusListener(OnAppFocusChangedListener listener,
- @AppFocusType int appType) throws CarNotConnectedException;
-
- /**
- * Unregister listener for app type and stop listening to focus change events.
- * @param listener Listener to unregister from focus events.
- * @param appType Application type to get notification for.
- */
- public abstract void removeFocusListener(OnAppFocusChangedListener listener,
- @AppFocusType int appType);
-
- /**
- * Unregister listener for all app types and stop listening to focus change events.
- * @param listener Listener to unregister from focus events.
- */
- public abstract void removeFocusListener(OnAppFocusChangedListener listener);
-
- /**
- * Check if the current process owns the given focus.
- * @param appType Application type.
- * @param callback Callback that was used to request ownership.
- * @return Returns {@code true} if current callback owns focus for application type.
- * @throws CarNotConnectedException if the connection to the car service has been lost.
- */
- public abstract boolean isOwningFocus(@AppFocusType int appType,
- OnAppFocusOwnershipCallback callback) throws CarNotConnectedException;
-
- /**
- * Request application focus.
- * <p>
- * By requesting this, the app gains the focus for this appType
- * <p>
- * This call is asynchronous, focus may not be granted immediately.
- * {@link OnAppFocusOwnershipCallback#onAppFocusOwnershipGranted(CarAppFocusManager, int)} will
- * be sent to the app when focus is granted.
- * <p>
- * {@link OnAppFocusOwnershipCallback#onAppFocusOwnershipLost(CarAppFocusManager, int)}
- * will be sent to the app that currently holds focus.
- * The foreground app will have higher priority; other apps cannot
- * set the same focus while owner is in foreground.
- * <p>
- * The callback provided here is the identifier for the focus. Apps need to pass it into
- * other app focus methods such as {@link #isOwningFocus(int, OnAppFocusOwnershipCallback)}
- * or {@link #abandonAppFocus(OnAppFocusOwnershipCallback)}.
- *
- * @param appType Application type to request focus for.
- * @param ownershipCallback Ownership callback to request app focus for. Cannot be null.
- *
- * @return {@link #APP_FOCUS_REQUEST_FAILED} or {@link #APP_FOCUS_REQUEST_SUCCEEDED}
- * @throws SecurityException if owner cannot be changed.
- * @throws CarNotConnectedException if the connection to the car service has been lost.
- */
- public abstract int requestAppFocus(int appType,
- OnAppFocusOwnershipCallback ownershipCallback)
- throws SecurityException, CarNotConnectedException;
-
- /**
- * Abandon the given focus (mark it as inactive).
- * @param ownershipCallback Ownership callback to abandon app focus for. Cannot be null.
- * @param appType Application type to abandon focus for.
- */
- public abstract void abandonAppFocus(OnAppFocusOwnershipCallback ownershipCallback,
- @AppFocusType int appType);
-
- /**
- * Abandon all focuses (mark them as inactive).
- * @param ownershipCallback Ownership callback to abandon focus for. Cannot be null.
- */
- public abstract void abandonAppFocus(OnAppFocusOwnershipCallback ownershipCallback);
-}
diff --git a/car-support-lib/src/android/support/car/CarAppFocusManagerEmbedded.java b/car-support-lib/src/android/support/car/CarAppFocusManagerEmbedded.java
deleted file mode 100644
index e866f4b..0000000
--- a/car-support-lib/src/android/support/car/CarAppFocusManagerEmbedded.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Copyright (C) 2016 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.support.car;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Implementation of {@link CarAppFocusManager} for embedded.
- * @hide
- */
-public class CarAppFocusManagerEmbedded extends CarAppFocusManager {
-
- private final android.car.CarAppFocusManager mManager;
-
- private final Map<OnAppFocusChangedListener, OnAppFocusChangedListenerProxy>
- mChangeListeners = new HashMap<>();
- private final Map<OnAppFocusOwnershipCallback, OnAppFocusOwnershipCallbackProxy>
- mOwnershipCallbacks = new HashMap<>();
-
- /**
- * @hide
- */
- CarAppFocusManagerEmbedded(Object manager) {
- mManager = (android.car.CarAppFocusManager) manager;
- }
-
- @Override
- public void addFocusListener(OnAppFocusChangedListener listener, int appType)
- throws CarNotConnectedException {
- if (listener == null) {
- throw new IllegalArgumentException("null listener");
- }
- OnAppFocusChangedListenerProxy proxy;
- synchronized (this) {
- proxy = mChangeListeners.get(listener);
- if (proxy == null) {
- proxy = new OnAppFocusChangedListenerProxy(this, listener);
- mChangeListeners.put(listener, proxy);
- }
- }
- try {
- mManager.addFocusListener(proxy, appType);
- } catch (android.car.CarNotConnectedException e) {
- throw new CarNotConnectedException(e);
- }
- }
-
- @Override
- public void removeFocusListener(OnAppFocusChangedListener listener, int appType) {
- OnAppFocusChangedListenerProxy proxy;
- synchronized (this) {
- proxy = mChangeListeners.get(listener);
- if (proxy == null) {
- return;
- }
- }
- mManager.removeFocusListener(proxy, appType);
- }
-
- @Override
- public void removeFocusListener(OnAppFocusChangedListener listener) {
- OnAppFocusChangedListenerProxy proxy;
- synchronized (this) {
- proxy = mChangeListeners.remove(listener);
- if (proxy == null) {
- return;
- }
- }
- mManager.removeFocusListener(proxy);
- }
-
- @Override
- public boolean isOwningFocus(int appType, OnAppFocusOwnershipCallback listener)
- throws CarNotConnectedException {
- OnAppFocusOwnershipCallbackProxy proxy;
- synchronized (this) {
- proxy = mOwnershipCallbacks.get(listener);
- if (proxy == null) {
- return false;
- }
- }
- try {
- return mManager.isOwningFocus(proxy, appType);
- } catch (android.car.CarNotConnectedException e) {
- throw new CarNotConnectedException(e);
- }
- }
-
- @Override
- public int requestAppFocus(int appType, OnAppFocusOwnershipCallback ownershipCallback)
- throws IllegalStateException, SecurityException, CarNotConnectedException {
- if (ownershipCallback == null) {
- throw new IllegalArgumentException("null listener");
- }
- OnAppFocusOwnershipCallbackProxy proxy;
- synchronized (this) {
- proxy = mOwnershipCallbacks.get(ownershipCallback);
- if (proxy == null) {
- proxy = new OnAppFocusOwnershipCallbackProxy(this, ownershipCallback);
- mOwnershipCallbacks.put(ownershipCallback, proxy);
- }
- }
- try {
- return mManager.requestAppFocus(appType, proxy);
- } catch (android.car.CarNotConnectedException e) {
- throw new CarNotConnectedException(e);
- }
- }
-
- @Override
- public void abandonAppFocus(OnAppFocusOwnershipCallback ownershipCallback, int appType) {
- if (ownershipCallback == null) {
- throw new IllegalArgumentException("null listener");
- }
- OnAppFocusOwnershipCallbackProxy proxy;
- synchronized (this) {
- proxy = mOwnershipCallbacks.get(ownershipCallback);
- if (proxy == null) {
- return;
- }
- }
- mManager.abandonAppFocus(proxy, appType);
- }
-
- @Override
- public void abandonAppFocus(OnAppFocusOwnershipCallback ownershipCallback) {
- if (ownershipCallback == null) {
- throw new IllegalArgumentException("null listener");
- }
- OnAppFocusOwnershipCallbackProxy proxy;
- synchronized (this) {
- proxy = mOwnershipCallbacks.get(ownershipCallback);
- if (proxy == null) {
- return;
- }
- }
- mManager.abandonAppFocus(proxy);
- }
-
- @Override
- public void onCarDisconnected() {
- // nothing to do
- }
-
- private static class OnAppFocusChangedListenerProxy
- implements android.car.CarAppFocusManager.OnAppFocusChangedListener {
-
- private final OnAppFocusChangedListener mListener;
- private final CarAppFocusManager mManager;
-
- OnAppFocusChangedListenerProxy(CarAppFocusManager manager,
- OnAppFocusChangedListener listener) {
- mManager = manager;
- mListener = listener;
- }
-
- @Override
- public void onAppFocusChanged(int appType, boolean active) {
- mListener.onAppFocusChanged(mManager, appType, active);
- }
- }
-
- private static class OnAppFocusOwnershipCallbackProxy
- implements android.car.CarAppFocusManager.OnAppFocusOwnershipCallback {
-
- private final OnAppFocusOwnershipCallback mListener;
- private final CarAppFocusManager mManager;
-
-
- OnAppFocusOwnershipCallbackProxy(CarAppFocusManager manager,
- OnAppFocusOwnershipCallback listener) {
- mListener = listener;
- mManager = manager;
- }
-
- @Override
- public void onAppFocusOwnershipLost(int focusType) {
- mListener.onAppFocusOwnershipLost(mManager, focusType);
- }
-
- @Override
- public void onAppFocusOwnershipGranted(int focusType) {
- mListener.onAppFocusOwnershipGranted(mManager, focusType);
- }
- }
-}
diff --git a/car-support-lib/src/android/support/car/CarConnectionCallback.java b/car-support-lib/src/android/support/car/CarConnectionCallback.java
deleted file mode 100644
index f32f735..0000000
--- a/car-support-lib/src/android/support/car/CarConnectionCallback.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car;
-
-/**
- * Listener for monitoring car connection status.
- * Callbacks are called from the looper specified when constructing {@link Car}.
- */
-public abstract class CarConnectionCallback {
- /**
- * Called when the Car has been connected. Does not guarantee the car is still connected
- * while this callback is running, so {@link CarNotConnectedException}s may still be
- * thrown from {@link Car} method calls.
- * @param car the car with which this callback is registered.
- */
- public abstract void onConnected(Car car);
- /**
- * Called when the Car has been disconnected.
- * @param car the car with which this callback is registered.
- */
- public abstract void onDisconnected(Car car);
-}
diff --git a/car-support-lib/src/android/support/car/CarInfoManager.java b/car-support-lib/src/android/support/car/CarInfoManager.java
deleted file mode 100644
index 7a29339..0000000
--- a/car-support-lib/src/android/support/car/CarInfoManager.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car;
-
-import androidx.annotation.IntDef;
-import androidx.annotation.Nullable;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * Utility to retrieve various static information from car.
- */
-public abstract class CarInfoManager implements CarManagerBase {
-
- /** Location of the driver is unknown. */
- public static final int DRIVER_SIDE_UNKNOWN = 0;
- /** Location of the driver: left. */
- public static final int DRIVER_SIDE_LEFT = 1;
- /** Location of the driver: right. */
- public static final int DRIVER_SIDE_RIGHT = 2;
- /** Location of the driver: center. */
- public static final int DRIVER_SIDE_CENTER = 3;
-
- /** @hide */
- @IntDef({
- DRIVER_SIDE_UNKNOWN,
- DRIVER_SIDE_LEFT,
- DRIVER_SIDE_RIGHT,
- DRIVER_SIDE_CENTER
- })
- @Retention(RetentionPolicy.SOURCE)
- public @interface DriverSide {}
-
- /**
- * Return manufacturer of the car.
- * @return null if information is not available.
- */
- public abstract @Nullable String getManufacturer() throws CarNotConnectedException;
-
- /**
- * Return model name of the car. This information may not necessarily allow distinguishing
- * different car models as the same name may be used for different cars depending on
- * manufacturers.
- * @return null if information is not available.
- */
- public abstract @Nullable String getModel() throws CarNotConnectedException;
-
- /**
- * Return model year of the car in AC.
- * @return null if information is not available.
- */
- public abstract @Nullable String getModelYear() throws CarNotConnectedException;
-
- /**
- * Return unique identifier for the car. This is not VIN, and id is persistent until user
- * resets it.
- * @return null if information is not available.
- */
- public abstract @Nullable String getVehicleId() throws CarNotConnectedException;
-
- /**
- * Return manufacturer of the head unit.
- * @return null if information is not available.
- */
- public abstract @Nullable String getHeadunitManufacturer() throws CarNotConnectedException;
-
- /**
- * Return model of the headunit.
- * @return null if information is not available.
- */
- public abstract @Nullable String getHeadunitModel() throws CarNotConnectedException;
-
- /**
- * Return S/W build of the headunit.
- * @return null if information is not available.
- */
- public abstract @Nullable String getHeadunitSoftwareBuild() throws CarNotConnectedException;
-
- /**
- * Return S/W version of the headunit.
- * @return null if information is not available.
- */
- public abstract @Nullable String getHeadunitSoftwareVersion() throws CarNotConnectedException;
-
- /**
- * Return driver side of the car.
- * @return {@link #DRIVER_SIDE_UNKNOWN} if information is not available.
- */
- public abstract @DriverSide int getDriverPosition() throws CarNotConnectedException;
-
- /**
- * Return fuel capacity of the car in milliliters.
- * @return 0 if car doesn't run on fuel.
- */
- public abstract float getFuelCapacity() throws CarNotConnectedException;
-
- /**
- * Return array of fuel types available in the car, defined in
- * android.hardware.automotive.vehicle.V2_0.FuelType
- * @return empty array if no fuel types available.
- */
- public abstract int[] getFuelTypes() throws CarNotConnectedException;
-
- /**
- * Return battery capacity of the car in WH.
- * @return 0 if car doesn't run on battery.
- */
- public abstract float getEvBatteryCapacity() throws CarNotConnectedException;
-
- /**
- * Return array of EV connector types available in the car, defined in
- * android.hardware.automotive.vehicle.V2_0.EvConnectorType
- * @return empty array if no connector types available.
- */
- public abstract int[] getEvConnectorTypes() throws CarNotConnectedException;
-}
diff --git a/car-support-lib/src/android/support/car/CarInfoManagerEmbedded.java b/car-support-lib/src/android/support/car/CarInfoManagerEmbedded.java
deleted file mode 100644
index 0d41053..0000000
--- a/car-support-lib/src/android/support/car/CarInfoManagerEmbedded.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright (C) 2016 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.support.car;
-
-
-/** @hide */
-public class CarInfoManagerEmbedded extends CarInfoManager {
-
- private final android.car.CarInfoManager mManager;
-
- /** @hide */
- CarInfoManagerEmbedded(Object manager) {
- mManager = (android.car.CarInfoManager) manager;
- }
-
- @Override
- public String getManufacturer() throws CarNotConnectedException {
- try {
- return mManager.getManufacturer();
- } catch (android.car.CarNotConnectedException e) {
- throw new CarNotConnectedException(e);
- }
- }
-
- @Override
- public String getModel() throws CarNotConnectedException {
- try {
- return mManager.getModel();
- } catch (android.car.CarNotConnectedException e) {
- throw new CarNotConnectedException(e);
- }
- }
-
- @Override
- public String getModelYear() throws CarNotConnectedException {
- try {
- return mManager.getModelYear();
- } catch (android.car.CarNotConnectedException e) {
- throw new CarNotConnectedException(e);
- }
- }
-
- @Override
- public String getVehicleId() throws CarNotConnectedException {
- try {
- return mManager.getVehicleId();
- } catch (android.car.CarNotConnectedException e) {
- throw new CarNotConnectedException(e);
- }
- }
-
- @Override
- public String getHeadunitManufacturer() throws CarNotConnectedException {
- return null;
- }
-
- @Override
- public String getHeadunitModel() throws CarNotConnectedException {
- return null; // N/A
- }
-
- @Override
- public String getHeadunitSoftwareBuild() throws CarNotConnectedException {
- return null; // N/A
- }
-
- @Override
- public String getHeadunitSoftwareVersion() throws CarNotConnectedException {
- return null; // N/A
- }
-
- @Override
- public int getDriverPosition() throws CarNotConnectedException {
- return CarInfoManager.DRIVER_SIDE_UNKNOWN; // N/A
- }
-
- @Override
- public float getFuelCapacity() throws CarNotConnectedException {
- try {
- return mManager.getFuelCapacity();
- } catch (android.car.CarNotConnectedException e) {
- throw new CarNotConnectedException(e);
- }
- }
-
- @Override
- public int[] getFuelTypes() throws CarNotConnectedException {
- try {
- return mManager.getFuelTypes();
- } catch (android.car.CarNotConnectedException e) {
- throw new CarNotConnectedException(e);
- }
- }
-
- @Override
- public float getEvBatteryCapacity() throws CarNotConnectedException {
- try {
- return mManager.getEvBatteryCapacity();
- } catch (android.car.CarNotConnectedException e) {
- throw new CarNotConnectedException(e);
- }
- }
-
- @Override
- public int[] getEvConnectorTypes() throws CarNotConnectedException {
- try {
- return mManager.getEvConnectorTypes();
- } catch (android.car.CarNotConnectedException e) {
- throw new CarNotConnectedException(e);
- }
- }
-
- /** @hide */
- @Override
- public void onCarDisconnected() {
- //nothing to do
- }
-}
diff --git a/car-support-lib/src/android/support/car/CarLibLog.java b/car-support-lib/src/android/support/car/CarLibLog.java
deleted file mode 100644
index c470937..0000000
--- a/car-support-lib/src/android/support/car/CarLibLog.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car;
-
-/** @hide */
-public class CarLibLog {
- public static final String TAG_CAR = "CAR.L";
- public static final String TAG_SENSOR = TAG_CAR + ".SENSOR";
- public static final String TAG_NAV = TAG_CAR + ".NAV";
-}
diff --git a/car-support-lib/src/android/support/car/CarNotConnectedException.java b/car-support-lib/src/android/support/car/CarNotConnectedException.java
deleted file mode 100644
index aa0cfcd..0000000
--- a/car-support-lib/src/android/support/car/CarNotConnectedException.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car;
-
-
-/**
- * Exception thrown when an API that requires a car connection is called while disconnected from a
- * car. This may have happened because the car and phone have become disconnected, the system is
- * undergoing an upgrade, or some other event.
- */
-public class CarNotConnectedException extends Exception {
- private static final long serialVersionUID = -5629175439268813047L;
-
- public CarNotConnectedException() {
- }
-
- public CarNotConnectedException(String name) {
- super(name);
- }
-
- public CarNotConnectedException(String name, Throwable cause) {
- super(name, cause);
- }
-
- public CarNotConnectedException(Exception cause) {
- super(cause);
- }
-}
diff --git a/car-support-lib/src/android/support/car/CarServiceLoader.java b/car-support-lib/src/android/support/car/CarServiceLoader.java
deleted file mode 100644
index 8a334b7..0000000
--- a/car-support-lib/src/android/support/car/CarServiceLoader.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car;
-
-import android.content.Context;
-import android.os.Handler;
-
-/**
- * CarServiceLoader is the abstraction for loading different types of car service.
- * @hide
- */
-public abstract class CarServiceLoader {
-
- private final Context mContext;
- private final CarConnectionCallbackProxy mCallback;
- private final Handler mEventHandler;
-
- public CarServiceLoader(Context context, CarConnectionCallbackProxy callback, Handler handler) {
- mContext = context;
- mCallback = callback;
- mEventHandler = handler;
- }
-
- public abstract void connect() throws IllegalStateException;
- public abstract void disconnect();
- public abstract boolean isConnected();
-
- @Car.ConnectionType
- public abstract int getCarConnectionType() throws CarNotConnectedException;
-
- /**
- * Retrieves a manager object for a specified Car*Manager.
- * @param serviceName One of the android.car.Car#*_SERVICE constants.
- * @return An instance of the request manager. Null if the manager is not supported on the
- * current vehicle.
- * @throws CarNotConnectedException if the connection to the car service has been lost.
- */
- public abstract Object getCarManager(String serviceName) throws CarNotConnectedException;
-
- protected Context getContext() {
- return mContext;
- }
-
- protected CarConnectionCallbackProxy getConnectionCallback() {
- return mCallback;
- }
-
- protected Handler getEventHandler() {
- return mEventHandler;
- }
-
- /**
- * Wrapper for CarConnectionCallback which does not return a {@link android.support.car.Car}
- * object.
- */
- public abstract static class CarConnectionCallbackProxy {
-
- /**
- * Called when the Car has been connected. Does not guarantee the car is still connected
- * while this callback is running, so {@link CarNotConnectedException}s may still be
- * thrown from {@link Car} method calls.
- */
- public abstract void onConnected();
- /**
- * Called when the Car has been disconnected.
- */
- public abstract void onDisconnected();
- }
-}
diff --git a/car-support-lib/src/android/support/car/CarServiceLoaderEmbedded.java b/car-support-lib/src/android/support/car/CarServiceLoaderEmbedded.java
deleted file mode 100644
index cfd598a..0000000
--- a/car-support-lib/src/android/support/car/CarServiceLoaderEmbedded.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car;
-
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.ServiceConnection;
-import android.os.Handler;
-import android.os.IBinder;
-import android.support.car.content.pm.CarPackageManagerEmbedded;
-import android.support.car.media.CarAudioManagerEmbedded;
-import android.support.car.navigation.CarNavigationStatusManagerEmbedded;
-
-/**
- * Default CarServiceLoader for system with built-in car service (=embedded).
- * @hide
- */
-public class CarServiceLoaderEmbedded extends CarServiceLoader {
-
- private final ServiceConnection mServiceConnection = new ServiceConnection() {
-
- @Override
- public void onServiceConnected(ComponentName name, IBinder service) {
- getConnectionCallback().onConnected();
- }
-
- @Override
- public void onServiceDisconnected(ComponentName name) {
- getConnectionCallback().onDisconnected();
- }
- };
-
- private final android.car.Car mEmbeddedCar;
-
- /** @hide */
- CarServiceLoaderEmbedded(Context context, CarConnectionCallbackProxy carConnectionCallback,
- Handler handler) {
- super(context, carConnectionCallback, handler);
- mEmbeddedCar = android.car.Car.createCar(context, mServiceConnection, handler);
- }
-
- @Override
- public void connect() throws IllegalStateException {
- mEmbeddedCar.connect();
- }
-
- @Override
- public void disconnect() {
- mEmbeddedCar.disconnect();
- }
-
- @Override
- public boolean isConnected() {
- return mEmbeddedCar.isConnected();
- }
-
- @Override
- public int getCarConnectionType() throws CarNotConnectedException {
- @android.support.car.Car.ConnectionType
- int carConnectionType = mEmbeddedCar.getCarConnectionType();
- return carConnectionType;
- }
-
- @Override
- public Object getCarManager(String serviceName) throws CarNotConnectedException {
- Object manager;
- try {
- manager = mEmbeddedCar.getCarManager(serviceName);
- } catch (android.car.CarNotConnectedException e) {
- throw new CarNotConnectedException(e);
- }
-
- if (manager == null) {
- return null;
- }
- // For publicly available versions, return wrapper version.
- switch (serviceName) {
- case Car.AUDIO_SERVICE:
- return new CarAudioManagerEmbedded(manager);
- case Car.INFO_SERVICE:
- return new CarInfoManagerEmbedded(manager);
- case Car.APP_FOCUS_SERVICE:
- return new CarAppFocusManagerEmbedded(manager);
- case Car.PACKAGE_SERVICE:
- return new CarPackageManagerEmbedded(manager);
- case Car.CAR_NAVIGATION_SERVICE:
- return new CarNavigationStatusManagerEmbedded(manager);
- default:
- return manager;
- }
- }
-}
diff --git a/car-support-lib/src/android/support/car/annotation/ValueTypeDef.java b/car-support-lib/src/android/support/car/annotation/ValueTypeDef.java
deleted file mode 100644
index 6de4320..0000000
--- a/car-support-lib/src/android/support/car/annotation/ValueTypeDef.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Annotation for specifying a value type for a key/value pair.
- * Key definitions use this annotation to specify what kind of value is expected from the key.
- */
-@Target(ElementType.FIELD)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface ValueTypeDef {
- Class<?> type() default Object.class;
-}
diff --git a/car-support-lib/src/android/support/car/annotation/VersionDef.java b/car-support-lib/src/android/support/car/annotation/VersionDef.java
deleted file mode 100644
index d299a81..0000000
--- a/car-support-lib/src/android/support/car/annotation/VersionDef.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Annotation for specifying supported version of a member for a Parcelable.
- * Version defaults to 1 if @VersionDef is used without specifying a version.
- */
-@Target(ElementType.FIELD)
-@Retention(RetentionPolicy.SOURCE)
-public @interface VersionDef {
- int version() default 1;
-}
diff --git a/car-support-lib/src/android/support/car/content/pm/CarPackageManager.java b/car-support-lib/src/android/support/car/content/pm/CarPackageManager.java
deleted file mode 100644
index bd97de7..0000000
--- a/car-support-lib/src/android/support/car/content/pm/CarPackageManager.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car.content.pm;
-
-import android.support.car.CarManagerBase;
-import android.support.car.CarNotConnectedException;
-
-/**
- * Provides car specific API related to package management.
- * @hide
- */
-public abstract class CarPackageManager implements CarManagerBase {
-
- /**
- * Check if given activity is allowed while driving.
- */
- public abstract boolean isActivityAllowedWhileDriving(String packageName, String className)
- throws CarNotConnectedException;
-
- /**
- * Check if given service is allowed while driving.
- */
- public abstract boolean isServiceAllowedWhileDriving(String packageName, String className)
- throws CarNotConnectedException;
-}
diff --git a/car-support-lib/src/android/support/car/content/pm/CarPackageManagerEmbedded.java b/car-support-lib/src/android/support/car/content/pm/CarPackageManagerEmbedded.java
deleted file mode 100644
index e6f1b67..0000000
--- a/car-support-lib/src/android/support/car/content/pm/CarPackageManagerEmbedded.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car.content.pm;
-
-import android.support.car.CarNotConnectedException;
-
-/**
- * @hide
- */
-public class CarPackageManagerEmbedded extends CarPackageManager {
-
- private final android.car.content.pm.CarPackageManager mManager;
-
- public CarPackageManagerEmbedded(Object manager) {
- mManager = (android.car.content.pm.CarPackageManager) manager;
- }
-
- /** @hide */
- public android.car.content.pm.CarPackageManager getManager() {
- return mManager;
- }
-
- @Override
- public boolean isActivityAllowedWhileDriving(String packageName, String className)
- throws CarNotConnectedException {
- try {
- return mManager.isActivityDistractionOptimized(packageName, className);
- } catch (android.car.CarNotConnectedException e) {
- throw new CarNotConnectedException(e);
- }
- }
-
- @Override
- public boolean isServiceAllowedWhileDriving(String packageName, String className)
- throws CarNotConnectedException {
- try {
- return mManager.isServiceDistractionOptimized(packageName, className);
- } catch (android.car.CarNotConnectedException e) {
- throw new CarNotConnectedException(e);
- }
- }
-
- @Override
- public void onCarDisconnected() {
- // nothing to do
- }
-}
diff --git a/car-support-lib/src/android/support/car/hardware/CarSensorConfig.java b/car-support-lib/src/android/support/car/hardware/CarSensorConfig.java
deleted file mode 100644
index b39d205..0000000
--- a/car-support-lib/src/android/support/car/hardware/CarSensorConfig.java
+++ /dev/null
@@ -1,98 +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 android.support.car.hardware;
-
-import static androidx.annotation.RestrictTo.Scope.GROUP_ID;
-
-import android.os.Bundle;
-
-import androidx.annotation.RestrictTo;
-
-/**
- * A CarSensorConfig object corresponds to a single sensor type coming from the car.
- * @hide
- */
-public class CarSensorConfig {
- /** List of property specific mapped elements in bundle for WHEEL_TICK_DISTANCE sensor*/
- /** @hide */
- public final static String WHEEL_TICK_DISTANCE_SUPPORTED_WHEELS =
- "android.car.wheelTickDistanceSupportedWheels";
- /** @hide */
- public final static String WHEEL_TICK_DISTANCE_FRONT_LEFT_UM_PER_TICK =
- "android.car.wheelTickDistanceFrontLeftUmPerTick";
- /** @hide */
- public final static String WHEEL_TICK_DISTANCE_FRONT_RIGHT_UM_PER_TICK =
- "android.car.wheelTickDistanceFrontRightUmPerTick";
- /** @hide */
- public final static String WHEEL_TICK_DISTANCE_REAR_RIGHT_UM_PER_TICK =
- "android.car.wheelTickDistanceRearRightUmPerTick";
- /** @hide */
- public final static String WHEEL_TICK_DISTANCE_REAR_LEFT_UM_PER_TICK =
- "android.car.wheelTickDistanceRearLeftUmPerTick";
-
- /** Config data stored in Bundle */
- private final Bundle mConfig;
- private final int mType;
-
- private final static int RAW_BUNDLE_SIZE = 4;
- private final static int WHEEL_TICK_DISTANCE_BUNDLE_SIZE = 6;
-
- /**
- * Constructs a {@link CarSensorConfig}. Handled by CarSensorManager implementations.
- * App developers need not worry about constructing these objects.
- * @hide
- */
- @RestrictTo(GROUP_ID)
- public CarSensorConfig(int type, Bundle in) {
- mType = type;
- mConfig = in.deepCopy();
- }
-
- private void checkType(int type) {
- if (mType == type) {
- return;
- }
- throw new UnsupportedOperationException(String.format(
- "Invalid sensor type: expected %d, got %d", type, mType));
- }
-
- /** @hide */
- public int getInt(String key) {
- if (mConfig.containsKey(key)) {
- return mConfig.getInt(key);
- } else {
- throw new IllegalArgumentException("SensorType " + mType +
- " does not contain key: " + key);
- }
- }
-
- /** @hide */
- public int getType() {
- return mType;
- }
-
- /** @hide */
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append(getClass().getName() + "[");
- sb.append("mConfig: " + mConfig.toString());
- sb.append("mType: " + mType);
- sb.append("]");
- return sb.toString();
- }
-}
diff --git a/car-support-lib/src/android/support/car/hardware/CarSensorEvent.java b/car-support-lib/src/android/support/car/hardware/CarSensorEvent.java
deleted file mode 100644
index 7b1bf1a..0000000
--- a/car-support-lib/src/android/support/car/hardware/CarSensorEvent.java
+++ /dev/null
@@ -1,1207 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car.hardware;
-
-import static androidx.annotation.RestrictTo.Scope.GROUP_ID;
-
-import android.car.VehicleOilLevel;
-import android.location.GpsSatellite;
-import android.location.Location;
-import android.os.SystemClock;
-
-import androidx.annotation.RestrictTo;
-
-/**
- * A CarSensorEvent object corresponds to a single sensor event coming from the car. Sensor
- * data is stored in a sensor type-specific format in the object's float and byte arrays.
- * </p>
- * To aid in unmarshalling the object's data arrays, this class provides static nested classes and
- * conversion methods (such as {@link DrivingStatusData} and {@link #getDrivingStatusData}).
- * Additionally, calling a conversion method on a CarSensorEvent object with an inappropriate type
- * results in an {@code UnsupportedOperationException} being thrown.
- */
-public class CarSensorEvent {
-
-
- /**
- * Status for {@link CarSensorManager#SENSOR_TYPE_DRIVING_STATUS}: No restrictions.
- */
- public static final int DRIVE_STATUS_UNRESTRICTED = 0;
- /**
- * Status for {@link CarSensorManager#SENSOR_TYPE_DRIVING_STATUS}: No video playback allowed.
- * See {@link #getDrivingStatusData()}.
- */
- public static final int DRIVE_STATUS_NO_VIDEO = 0x1;
- /**
- * Status for {@link CarSensorManager#SENSOR_TYPE_DRIVING_STATUS}: No keyboard or rotary
- * controller input allowed. See {@link #getDrivingStatusData()}.
- */
- public static final int DRIVE_STATUS_NO_KEYBOARD_INPUT = 0x2;
- /**
- * Status for {@link CarSensorManager#SENSOR_TYPE_DRIVING_STATUS}: No voice input allowed.
- * See {@link #getDrivingStatusData()}.
- */
- public static final int DRIVE_STATUS_NO_VOICE_INPUT = 0x4;
- /**
- * Status for {@link CarSensorManager#SENSOR_TYPE_DRIVING_STATUS}: No setup/configuration
- * allowed. See {@link #getDrivingStatusData()}.
- */
- public static final int DRIVE_STATUS_NO_CONFIG = 0x8;
- /**
- * Status for {@link CarSensorManager#SENSOR_TYPE_DRIVING_STATUS}: Limit displayed message
- * length. See {@link #getDrivingStatusData()}.
- */
- public static final int DRIVE_STATUS_LIMIT_MESSAGE_LEN = 0x10;
- /**
- * Status for {@link CarSensorManager#SENSOR_TYPE_DRIVING_STATUS}: All driving restrictions
- * enabled. See {@link #getDrivingStatusData()}.
- */
- public static final int DRIVE_STATUS_FULLY_RESTRICTED = DRIVE_STATUS_NO_VIDEO |
- DRIVE_STATUS_NO_KEYBOARD_INPUT | DRIVE_STATUS_NO_VOICE_INPUT | DRIVE_STATUS_NO_CONFIG |
- DRIVE_STATUS_LIMIT_MESSAGE_LEN;
- /**
- * Indices for {@link CarSensorManager#SENSOR_TYPE_COMPASS} in floatValues.
- * Angles are in degrees. Can be NaN if not available. See {@link #getCompassData()}.
- */
- public static final int INDEX_COMPASS_BEARING = 0;
- /**
- * Indices for {@link CarSensorManager#SENSOR_TYPE_COMPASS} in floatValues.
- * Angles are in degrees. Can be NaN if not available. See {@link #getCompassData()}.
- */
- public static final int INDEX_COMPASS_PITCH = 1;
- /**
- * Indices for {@link CarSensorManager#SENSOR_TYPE_COMPASS} in floatValues.
- * Angles are in degrees. Can be NaN if not available. See {@link #getCompassData()}.
- */
- public static final int INDEX_COMPASS_ROLL = 2;
-
-
- /**
- * Index for {@link CarSensorManager#SENSOR_TYPE_WHEEL_TICK_DISTANCE} in longValues.
- */
- public static final int INDEX_WHEEL_DISTANCE_RESET_COUNT = 0;
- public static final int INDEX_WHEEL_DISTANCE_FRONT_LEFT = 1;
- public static final int INDEX_WHEEL_DISTANCE_FRONT_RIGHT = 2;
- public static final int INDEX_WHEEL_DISTANCE_REAR_RIGHT = 3;
- public static final int INDEX_WHEEL_DISTANCE_REAR_LEFT = 4;
-
- private static final long MILLI_IN_NANOS = 1000000L;
-
- /** Sensor type for this event, such as {@link CarSensorManager#SENSOR_TYPE_COMPASS}. */
- public final int sensorType;
-
- /**
- * When this data was acquired in car or received from car. It is the elapsed time of data
- * reception from the car in nanoseconds since system boot.
- */
- public final long timestamp;
- /**
- * Array holding float type of sensor data. If the sensor has single value, only floatValues[0]
- * should be used. */
- public final float[] floatValues;
- /** Array holding int type of sensor data. */
- public final int[] intValues;
- /** array holding long int type of sensor data */
- public final long[] longValues;
-
- private static final float[] EMPTY_FLOAT_ARRAY = {};
- private static final int[] EMPTY_INT_ARRAY = {};
- private static final long[] EMPTY_LONG_ARRAY = {};
-
- /**
- * Constructs a {@link CarSensorEvent} from integer values. Handled by
- * CarSensorManager implementations. App developers need not worry about constructing these
- * objects.
- * @hide
- */
- @RestrictTo(GROUP_ID)
- public CarSensorEvent(int sensorType, long timestamp, int floatValueSize, int intValueSize,
- int longValueSize) {
- this.sensorType = sensorType;
- this.timestamp = timestamp;
- floatValues = new float[floatValueSize];
- intValues = new int[intValueSize];
- longValues = new long[longValueSize];
- }
-
- /**
- * Constructor
- * @param sensorType one of the {@link CarSensorManager}'s SENSOR_TYPE_* constants
- * @param timestamp time since system start in nanoseconds
- * @param floatValues {@code null} will be converted to an empty array
- * @param intValues {@code null} will be converted to an empty array
- * @param longValues {@code null} will be converted to an empty array
- * @hide
- */
- @RestrictTo(GROUP_ID)
- public CarSensorEvent(int sensorType, long timestamp, float[] floatValues, int[] intValues,
- long[] longValues) {
- this.sensorType = sensorType;
- this.timestamp = timestamp;
- this.floatValues = (floatValues == null) ? EMPTY_FLOAT_ARRAY : floatValues;
- this.intValues = (intValues == null) ? EMPTY_INT_ARRAY : intValues;
- this.longValues = (longValues == null) ? EMPTY_LONG_ARRAY : longValues;
- }
-
- /**
- * Constructor
- * @param sensorType one of the {@link CarSensorManager}'s SENSOR_TYPE_* constants
- * @param timestamp time since system start in nanoseconds
- * @param floatValues {@code null} will be converted to an empty array
- * @param byteValues bytes will be converted into the intValues array. {@code null} will be
- * converted to an empty array.
- * @param longValues {@code null} will be converted to an empty array
- * @hide
- */
- @RestrictTo(GROUP_ID)
- public CarSensorEvent(int sensorType, long timestamp, float[] floatValues, byte[] byteValues,
- long[] longValues) {
- this.sensorType = sensorType;
- this.timestamp = timestamp;
- this.floatValues = (floatValues == null) ? EMPTY_FLOAT_ARRAY : floatValues;
- if (byteValues == null) {
- this.intValues = EMPTY_INT_ARRAY;
- } else {
- this.intValues = new int[byteValues.length];
- for (int i = 0; i < byteValues.length; i++) {
- this.intValues[i] = byteValues[i];
- }
- }
- this.longValues = (longValues == null) ? EMPTY_LONG_ARRAY : longValues;
- }
-
- private void checkType(int type) {
- if (sensorType == type) {
- return;
- }
- throw new UnsupportedOperationException(String.format(
- "Invalid sensor type: expected %d, got %d", type, sensorType));
- }
-
- /**
- * Holds data about the car's compass readings. See {@link #getCompassData()}.
- */
- public static class CompassData {
- /** The time in nanoseconds since system boot. */
- public final long timestamp;
- /** The bearing in degrees. If unsupported by the car, this value is NaN. */
- public final float bearing;
- /**
- * The pitch in degrees. Nose down is positive. If unsupported by the car, this value is
- * NaN.
- */
- public final float pitch;
- /**
- * The roll in degrees. Right door down is positive. If unsupported by the car, this value
- * is NaN.
- */
- public final float roll;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public CompassData(long timestamp, float bearing, float pitch, float roll) {
- this.timestamp = timestamp;
- this.bearing = bearing;
- this.pitch = pitch;
- this.roll = roll;
- }
- }
-
- /**
- * Convenience method for obtaining a {@link CompassData} object from a CarSensorEvent object
- * with type {@link CarSensorManager#SENSOR_TYPE_COMPASS}.
- *
- * @return A CompassData object corresponding to the data contained in the CarSensorEvent.
- */
- public CompassData getCompassData() {
- checkType(CarSensorManager.SENSOR_TYPE_COMPASS);
- return new CompassData(0, floatValues[INDEX_COMPASS_BEARING],
- floatValues[INDEX_COMPASS_PITCH], floatValues[INDEX_COMPASS_ROLL]);
- }
-
- /**
- * Indicates the state of the parking brake (engaged or not). See
- * {@link #getParkingBrakeData()}.
- */
- public static class ParkingBrakeData {
- /** The time in nanoseconds since system boot. */
- public final long timestamp;
- /** Returns {@code true} if the parking brake is engaged. */
- public final boolean isEngaged;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public ParkingBrakeData(long timestamp, boolean isEngaged) {
- this.timestamp = timestamp;
- this.isEngaged = isEngaged;
- }
- }
-
- /**
- * Convenience method for obtaining a {@link ParkingBrakeData} object from a CarSensorEvent
- * object with type {@link CarSensorManager#SENSOR_TYPE_PARKING_BRAKE}. See
- * {@link #getParkingBrakeData()}.
- *
- * @return A ParkingBreakData object corresponding to the data contained in the CarSensorEvent.
- */
- public ParkingBrakeData getParkingBrakeData() {
- checkType(CarSensorManager.SENSOR_TYPE_PARKING_BRAKE);
- return new ParkingBrakeData(timestamp, (intValues[0] == 1));
- }
-
- /**
- * Indicates if the system is in night mode (a state in which the screen is
- * darkened or displays a darker color palette). See {@link #getNightData()}.
- */
- public static class NightData {
- /** The time in nanoseconds since system boot. */
- public final long timestamp;
- /** Returns {@code true} if the system is in night mode. */
- public final boolean isNightMode;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public NightData(long timestamp, boolean isNightMode) {
- this.timestamp = timestamp;
- this.isNightMode = isNightMode;
- }
- }
-
- /**
- * Convenience method for obtaining a {@link NightData} object from a CarSensorEvent object
- * with type {@link CarSensorManager#SENSOR_TYPE_NIGHT}.
- *
- * @return A NightData object corresponding to the data contained in the CarSensorEvent.
- */
- public NightData getNightData() {
- checkType(CarSensorManager.SENSOR_TYPE_NIGHT);
- return new NightData(timestamp, (intValues[0] == 1));
- }
-
- /**
- * Indicates the restrictions in effect based on the status of the vehicle. See
- * {@link #getDrivingStatusData()}.
- */
- public static class DrivingStatusData {
- /**
- * The time in nanoseconds since system boot.
- */
- public final long timestamp;
- /**
- * A bitmask with the following field values: {@link #DRIVE_STATUS_NO_VIDEO},
- * {@link #DRIVE_STATUS_NO_KEYBOARD_INPUT}, {@link #DRIVE_STATUS_NO_VOICE_INPUT},
- * {@link #DRIVE_STATUS_NO_CONFIG}, {@link #DRIVE_STATUS_LIMIT_MESSAGE_LEN}. You may read
- * this or use the convenience methods.
- */
- public final int status;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public DrivingStatusData(long timestamp, int status) {
- this.timestamp = timestamp;
- this.status = status;
- }
-
- /**
- * @return Returns {@code true} if the keyboard is not allowed at this time.
- */
- public boolean isKeyboardRestricted() {
- return DRIVE_STATUS_NO_KEYBOARD_INPUT == (status & DRIVE_STATUS_NO_KEYBOARD_INPUT);
- }
-
- /**
- * @return Returns {@code true} if voice commands are not allowed at this time.
- */
- public boolean isVoiceRestricted() {
- return DRIVE_STATUS_NO_VOICE_INPUT == (status & DRIVE_STATUS_NO_VOICE_INPUT);
- }
-
- /**
- * @return Returns {@code true} if video is not allowed at this time.
- */
- public boolean isVideoRestricted() {
- return DRIVE_STATUS_NO_VIDEO == (status & DRIVE_STATUS_NO_VIDEO);
- }
-
- /**
- * @return Returns {@code true} if configuration should not be performed at this time.
- */
- public boolean isConfigurationRestricted() {
- return DRIVE_STATUS_NO_CONFIG == (status & DRIVE_STATUS_NO_CONFIG);
- }
-
- /**
- * @return Returns {@code true} if message length should be limited at this time.
- */
- public boolean isMessageLengthRestricted() {
- return DRIVE_STATUS_LIMIT_MESSAGE_LEN == (status & DRIVE_STATUS_LIMIT_MESSAGE_LEN);
- }
-
- /**
- * @return Returns {@code true} if all restrictions are in place at this time.
- */
- public boolean isFullyRestricted() {
- return DRIVE_STATUS_FULLY_RESTRICTED == (status & DRIVE_STATUS_FULLY_RESTRICTED);
- }
- }
-
- /**
- * Convenience method for obtaining a {@link DrivingStatusData} object from a CarSensorEvent
- * object with type {@link CarSensorManager#SENSOR_TYPE_DRIVING_STATUS}.
- *
- * @return A DrivingStatusData object corresponding to the data contained in the
- * CarSensorEvent.
- */
- public DrivingStatusData getDrivingStatusData() {
- checkType(CarSensorManager.SENSOR_TYPE_DRIVING_STATUS);
- return new DrivingStatusData(timestamp, intValues[0]);
- }
-
-
- /*things that are currently hidden*/
-
-
- /**
- * GEAR_* represents meaning of intValues[0] for {@link CarSensorManager#SENSOR_TYPE_GEAR}
- * sensor type.
- * GEAR_NEUTRAL means transmission gear is in neutral state, and the car may be moving.
- * @hide
- */
- public static final int GEAR_NEUTRAL = 0;
- /**
- * intValues[0] from 1 to 99 represents transmission gear number for moving forward.
- * GEAR_FIRST is for gear number 1.
- * @hide
- */
- public static final int GEAR_FIRST = 1;
- /** Gear number 2. @hide */
- public static final int GEAR_SECOND = 2;
- /** Gear number 3. @hide */
- public static final int GEAR_THIRD = 3;
- /** Gear number 4. @hide */
- public static final int GEAR_FOURTH = 4;
- /** Gear number 5. @hide */
- public static final int GEAR_FIFTH = 5;
- /** Gear number 6. @hide */
- public static final int GEAR_SIXTH = 6;
- /** Gear number 7. @hide */
- public static final int GEAR_SEVENTH = 7;
- /** Gear number 8. @hide */
- public static final int GEAR_EIGHTH = 8;
- /** Gear number 9. @hide */
- public static final int GEAR_NINTH = 9;
- /** Gear number 10. @hide */
- public static final int GEAR_TENTH = 10;
- /**
- * This is for transmission without specific gear number for moving forward like CVT. It tells
- * that car is in a transmission state to move it forward.
- * @hide
- */
- public static final int GEAR_DRIVE = 100;
- /** Gear in parking state @hide */
- public static final int GEAR_PARK = 101;
- /** Gear in reverse @hide */
- public static final int GEAR_REVERSE = 102;
-
- /**
- * Indices for {@link CarSensorManager#SENSOR_TYPE_GYROSCOPE} in floatValues.
- * Rotation speed is in rad/s. Any component can be NaN if it is not available.
- */
- /**@hide*/
- public static final int INDEX_GYROSCOPE_X = 0;
- /**@hide*/
- public static final int INDEX_GYROSCOPE_Y = 1;
- /**@hide*/
- public static final int INDEX_GYROSCOPE_Z = 2;
-
- /**
- * Indices for {@link CarSensorManager#SENSOR_TYPE_GPS_SATELLITE}.
- * Both byte values and float values are used.
- * Two first bytes encode number of satellites in-use/in-view (or 0xFF if unavailable).
- * Then optionally with INDEX_GPS_SATELLITE_ARRAY_BYTE_OFFSET offset and interval
- * INDEX_GPS_SATELLITE_ARRAY_BYTE_INTERVAL between elements are encoded boolean flags of
- * whether particular satellite from in-view participate in in-use subset.
- * Float values with INDEX_GPS_SATELLITE_ARRAY_FLOAT_OFFSET offset and interval
- * INDEX_GPS_SATELLITE_ARRAY_FLOAT_INTERVAL between elements can optionally contain
- * per-satellite values of signal strength and other values or NaN if unavailable.
- */
- /**@hide*/
- public static final int INDEX_GPS_SATELLITE_NUMBER_IN_USE = 0;
- /**@hide*/
- public static final int INDEX_GPS_SATELLITE_NUMBER_IN_VIEW = 1;
- /**@hide*/
- public static final int INDEX_GPS_SATELLITE_ARRAY_INT_OFFSET = 2;
- /**@hide*/
- public static final int INDEX_GPS_SATELLITE_ARRAY_INT_INTERVAL = 1;
- /**@hide*/
- public static final int INDEX_GPS_SATELLITE_ARRAY_FLOAT_OFFSET = 0;
- /**@hide*/
- public static final int INDEX_GPS_SATELLITE_ARRAY_FLOAT_INTERVAL = 4;
- /**@hide*/
- public static final int INDEX_GPS_SATELLITE_PRN_OFFSET = 0;
- /**@hide*/
- public static final int INDEX_GPS_SATELLITE_SNR_OFFSET = 1;
- /**@hide*/
- public static final int INDEX_GPS_SATELLITE_AZIMUTH_OFFSET = 2;
- /**@hide*/
- public static final int INDEX_GPS_SATELLITE_ELEVATION_OFFSET = 3;
-
-
- /**
- * Index for {@link CarSensorManager#SENSOR_TYPE_LOCATION} in floatValues.
- * Each bit intValues[0] represents whether the corresponding data is present.
- */
- /**@hide*/
- public static final int INDEX_LOCATION_LATITUDE = 0;
- /**@hide*/
- public static final int INDEX_LOCATION_LONGITUDE = 1;
- /**@hide*/
- public static final int INDEX_LOCATION_ACCURACY = 2;
- /**@hide*/
- public static final int INDEX_LOCATION_ALTITUDE = 3;
- /**@hide*/
- public static final int INDEX_LOCATION_SPEED = 4;
- /**@hide*/
- public static final int INDEX_LOCATION_BEARING = 5;
- /**@hide*/
- public static final int INDEX_LOCATION_MAX = INDEX_LOCATION_BEARING;
- /**@hide*/
- public static final int INDEX_LOCATION_LATITUDE_INTS = 1;
- /**@hide*/
- public static final int INDEX_LOCATION_LONGITUDE_INTS = 2;
-
-
- /**
- * Index for {@link CarSensorManager#SENSOR_TYPE_ENVIRONMENT} in floatValues.
- * Temperature in Celsius degrees.
- * @hide
- */
- public static final int INDEX_ENVIRONMENT_TEMPERATURE = 0;
- /**
- * Index for {@link CarSensorManager#SENSOR_TYPE_ENVIRONMENT} in floatValues.
- * Pressure in kPa.
- * @hide
- */
- public static final int INDEX_ENVIRONMENT_PRESSURE = 1;
-
-
- /**
- * Indices for {@link CarSensorManager#SENSOR_TYPE_ACCELEROMETER} in floatValues.
- * Acceleration (gravity) is in m/s^2. Any component can be NaN if it is not available.
- */
- /**@hide*/
- public static final int INDEX_ACCELEROMETER_X = 0;
- /**@hide*/
- public static final int INDEX_ACCELEROMETER_Y = 1;
- /**@hide*/
- public static final int INDEX_ACCELEROMETER_Z = 2;
-
- /** @hide */
- public static class EnvironmentData {
- /** The time in nanoseconds since system boot. */
- public final long timestamp;
- /** If unsupported by the car, this value is NaN. */
- public final float temperature;
- /** If unsupported by the car, this value is NaN. */
- public final float pressure;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public EnvironmentData(long timestamp, float temperature, float pressure) {
- this.timestamp = timestamp;
- this.temperature = temperature;
- this.pressure = pressure;
- }
- }
-
- /**
- * Convenience method for obtaining an {@link EnvironmentData} object from a CarSensorEvent
- * object with type {@link CarSensorManager#SENSOR_TYPE_ENVIRONMENT}.
- *
- * @return an EnvironmentData object corresponding to the data contained in the CarSensorEvent.
- * @hide
- */
- public EnvironmentData getEnvironmentData() {
- checkType(CarSensorManager.SENSOR_TYPE_ENVIRONMENT);
-
- float temperature = floatValues[INDEX_ENVIRONMENT_TEMPERATURE];
- float pressure = floatValues[INDEX_ENVIRONMENT_PRESSURE];
- return new EnvironmentData(timestamp, temperature, pressure);
- }
-
- /** @hide */
- public static class GearData {
- /** The time in nanoseconds since system boot. */
- public final long timestamp;
- public final int gear;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public GearData(long timestamp, int gear) {
- this.timestamp = timestamp;
- this.gear = gear;
- }
- }
-
- /**
- * Convenience method for obtaining a {@link GearData} object from a CarSensorEvent
- * object with type {@link CarSensorManager#SENSOR_TYPE_GEAR}.
- *
- * @return a GearData object corresponding to the data contained in the CarSensorEvent.
- * @hide
- */
- public GearData getGearData() {
- checkType(CarSensorManager.SENSOR_TYPE_GEAR);
- return new GearData(timestamp, intValues[0]);
- }
-
- /** @hide */
- public static class FuelLevelData {
- /** The time in nanoseconds since system boot. */
- public final long timestamp;
- /** Fuel level in milliliters. If unsupported by the car, this value is -1. */
- public final float level;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public FuelLevelData(long timestamp, float level) {
- this.timestamp = timestamp;
- this.level = level;
- }
- }
-
- /**
- * Convenience method for obtaining a {@link FuelLevelData} object from a CarSensorEvent object
- * with type {@link CarSensorManager#SENSOR_TYPE_FUEL_LEVEL}.
- *
- * @return A FuelLevel object corresponding to the data contained in the CarSensorEvent.
- * @hide
- */
- public FuelLevelData getFuelLevelData() {
- checkType(CarSensorManager.SENSOR_TYPE_FUEL_LEVEL);
- float level = -1.0f;
- if (floatValues != null) {
- if (floatValues[0] >= 0) {
- level = floatValues[0];
- }
- }
- return new FuelLevelData(timestamp, level);
- }
-
- /** @hide */
- public static class OdometerData {
- /** The time in nanoseconds since system boot. */
- public final long timestamp;
- public final float kms;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public OdometerData(long timestamp, float kms) {
- this.timestamp = timestamp;
- this.kms = kms;
- }
- }
-
- /**
- * Convenience method for obtaining an {@link OdometerData} object from a CarSensorEvent
- * object with type {@link CarSensorManager#SENSOR_TYPE_ODOMETER}.
- *
- * @return an OdometerData object corresponding to the data contained in the CarSensorEvent.
- * @hide
- */
- public OdometerData getOdometerData() {
- checkType(CarSensorManager.SENSOR_TYPE_ODOMETER);
- return new OdometerData(timestamp, floatValues[0]);
- }
-
- /** @hide */
- public static class RpmData {
- /** The time in nanoseconds since system boot. */
- public final long timestamp;
- public final float rpm;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public RpmData(long timestamp, float rpm) {
- this.timestamp = timestamp;
- this.rpm = rpm;
- }
- }
-
- /**
- * Convenience method for obtaining a {@link RpmData} object from a CarSensorEvent object with
- * type {@link CarSensorManager#SENSOR_TYPE_RPM}.
- *
- * @return An RpmData object corresponding to the data contained in the CarSensorEvent.
- * @hide
- */
- public RpmData getRpmData() {
- checkType(CarSensorManager.SENSOR_TYPE_RPM);
- return new RpmData(timestamp, floatValues[0]);
- }
-
- /** @hide */
- public static class CarSpeedData {
- /** The time in nanoseconds since system boot. */
- public final long timestamp;
- public final float carSpeed;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public CarSpeedData(long timestamp, float carSpeed) {
- this.timestamp = timestamp;
- this.carSpeed = carSpeed;
- }
- }
-
- /**
- * Convenience method for obtaining a {@link CarSpeedData} object from a CarSensorEvent
- * object with type {@link CarSensorManager#SENSOR_TYPE_CAR_SPEED}.
- *
- * @return a CarSpeedData object corresponding to the data contained in the CarSensorEvent.
- * @hide
- */
- public CarSpeedData getCarSpeedData() {
- checkType(CarSensorManager.SENSOR_TYPE_CAR_SPEED);
- return new CarSpeedData(timestamp, floatValues[0]);
- }
-
- /**
- * Convenience method for obtaining a {@link Location} object from a CarSensorEvent
- * object with type {@link CarSensorManager#SENSOR_TYPE_LOCATION}.
- *
- * @param location an optional output parameter which, if non-null, will be used by this method
- * instead of a newly created object.
- * @return a Location object corresponding to the data contained in the CarSensorEvent.
- * @hide
- */
- public Location getLocation(Location location) {
- checkType(CarSensorManager.SENSOR_TYPE_LOCATION);
- if (location == null) {
- location = new Location("Car-GPS");
- }
- // intValues[0]: bit flags for the presence of other values following.
- int presense = intValues[0];
- if ((presense & (0x1 << INDEX_LOCATION_LATITUDE)) != 0) {
- int latE7 = intValues[INDEX_LOCATION_LATITUDE_INTS];
- location.setLatitude(latE7 * 1e-7);
- }
- if ((presense & (0x1 << INDEX_LOCATION_LONGITUDE)) != 0) {
- int longE7 = intValues[INDEX_LOCATION_LONGITUDE_INTS];
- location.setLongitude(longE7 * 1e-7);
- }
- if ((presense & (0x1 << INDEX_LOCATION_ACCURACY)) != 0) {
- location.setAccuracy(floatValues[INDEX_LOCATION_ACCURACY]);
- }
- if ((presense & (0x1 << INDEX_LOCATION_ALTITUDE)) != 0) {
- location.setAltitude(floatValues[INDEX_LOCATION_ALTITUDE]);
- }
- if ((presense & (0x1 << INDEX_LOCATION_SPEED)) != 0) {
- location.setSpeed(floatValues[INDEX_LOCATION_SPEED]);
- }
- if ((presense & (0x1 << INDEX_LOCATION_BEARING)) != 0) {
- location.setBearing(floatValues[INDEX_LOCATION_BEARING]);
- }
- location.setElapsedRealtimeNanos(timestamp);
- // There is a risk of scheduler delaying 2nd elapsedRealtimeNs value.
- // But will not try to fix it assuming that is acceptable as UTC time's accuracy is not
- // guaranteed in Location data.
- long currentTimeMs = System.currentTimeMillis();
- long elapsedRealtimeNs = SystemClock.elapsedRealtimeNanos();
- location.setTime(
- currentTimeMs - (elapsedRealtimeNs - timestamp) / MILLI_IN_NANOS);
- return location;
- }
-
- /** @hide */
- public static class AccelerometerData {
- /** The time in nanoseconds since system boot. */
- public final long timestamp;
- /** If unsupported by the car, this value is NaN. */
- public final float x;
- /** If unsupported by the car, this value is NaN. */
- public final float y;
- /** If unsupported by the car, this value is NaN. */
- public final float z;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public AccelerometerData(long timestamp, float x, float y, float z) {
- this.timestamp = timestamp;
- this.x = x;
- this.y = y;
- this.z = z;
- }
- }
-
- /**
- * Convenience method for obtaining an {@link AccelerometerData} object from a CarSensorEvent
- * object with type {@link CarSensorManager#SENSOR_TYPE_ACCELEROMETER}.
- *
- * @return An AccelerometerData object corresponding to the data contained in the
- * CarSensorEvent.
- * @hide
- */
- public AccelerometerData getAccelerometerData() {
- checkType(CarSensorManager.SENSOR_TYPE_ACCELEROMETER);
- float x = floatValues[INDEX_ACCELEROMETER_X];
- float y = floatValues[INDEX_ACCELEROMETER_Y];
- float z = floatValues[INDEX_ACCELEROMETER_Z];
- return new AccelerometerData(timestamp, x, y, z);
- }
-
- /** @hide */
- public static class GyroscopeData {
- /** The time in nanoseconds since system boot. */
- public final long timestamp;
- /** If unsupported by the car, this value is NaN. */
- public final float x;
- /** If unsupported by the car, this value is NaN. */
- public final float y;
- /** If unsupported by the car, this value is NaN. */
- public final float z;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public GyroscopeData(long timestamp, float x, float y, float z) {
- this.timestamp = timestamp;
- this.x = x;
- this.y = y;
- this.z = z;
- }
- }
-
- /**
- * Convenience method for obtaining a {@link GyroscopeData} object from a CarSensorEvent object
- * with type {@link CarSensorManager#SENSOR_TYPE_GYROSCOPE}.
- *
- * @return A GyroscopeData object corresponding to the data contained in the CarSensorEvent.
- * @hide
- */
- public GyroscopeData getGyroscopeData() {
- checkType(CarSensorManager.SENSOR_TYPE_GYROSCOPE);
- float x = floatValues[INDEX_GYROSCOPE_X];
- float y = floatValues[INDEX_GYROSCOPE_Y];
- float z = floatValues[INDEX_GYROSCOPE_Z];
- return new GyroscopeData(timestamp, x, y, z);
- }
-
- // android.location.GpsSatellite doesn't have a public constructor, so that can't be used.
- /**
- * Class that contains GPS satellite status. For more info on meaning of these fields refer
- * to the documentation to the {@link GpsSatellite} class.
- * @hide
- */
- public static class GpsSatelliteData {
- /** The time in nanoseconds since system boot. */
- public final long timestamp;
- /**
- * Number of satellites used in GPS fix or -1 of unavailable.
- */
- public final int numberInUse;
- /**
- * Number of satellites in view or -1 of unavailable.
- */
- public final int numberInView;
- /**
- * Per-satellite flag if this satellite was used for GPS fix.
- * Can be null if per-satellite data is unavailable.
- */
- public final boolean[] usedInFix;
- /**
- * Per-satellite pseudo-random id.
- * Can be null if per-satellite data is unavailable.
- */
- public final int[] prn;
- /**
- * Per-satellite signal to noise ratio.
- * Can be null if per-satellite data is unavailable.
- */
- public final float[] snr;
- /**
- * Per-satellite azimuth.
- * Can be null if per-satellite data is unavailable.
- */
- public final float[] azimuth;
- /**
- * Per-satellite elevation.
- * Can be null if per-satellite data is unavailable.
- */
- public final float[] elevation;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public GpsSatelliteData(long timestamp, int numberInUse, int numberInView,
- boolean[] usedInFix, int[] prn, float[] snr, float[] azimuth, float[] elevation) {
- this.timestamp = timestamp;
- this.numberInUse = numberInUse;
- this.numberInView = numberInView;
- this.usedInFix = usedInFix;
- this.prn = prn;
- this.snr = snr;
- this.azimuth = azimuth;
- this.elevation = elevation;
- }
- }
-
- private final int intOffset = CarSensorEvent.INDEX_GPS_SATELLITE_ARRAY_INT_OFFSET;
- private final int intInterval = CarSensorEvent.INDEX_GPS_SATELLITE_ARRAY_INT_INTERVAL;
- private final int floatOffset = CarSensorEvent.INDEX_GPS_SATELLITE_ARRAY_FLOAT_OFFSET;
- private final int floatInterval = CarSensorEvent.INDEX_GPS_SATELLITE_ARRAY_FLOAT_INTERVAL;
-
- /**
- * Convenience method for obtaining a {@link GpsSatelliteData} object from a CarSensorEvent
- * object with type {@link CarSensorManager#SENSOR_TYPE_GPS_SATELLITE} with optional
- * per-satellite info.
- *
- * @param withPerSatellite whether to include per-satellite data.
- * @return a GpsSatelliteData object corresponding to the data contained in the CarSensorEvent.
- * @hide
- */
- public GpsSatelliteData getGpsSatelliteData(boolean withPerSatellite) {
- checkType(CarSensorManager.SENSOR_TYPE_GPS_SATELLITE);
-
- //init all vars
- int numberInUse = intValues[CarSensorEvent.INDEX_GPS_SATELLITE_NUMBER_IN_USE];
- int numberInView = intValues[CarSensorEvent.INDEX_GPS_SATELLITE_NUMBER_IN_VIEW];
- boolean[] usedInFix = null;
- int[] prn = null;
- float[] snr = null;
- float[] azimuth = null;
- float[] elevation = null;
-
- if (withPerSatellite && numberInView >= 0) {
- final int numberOfSats = (floatValues.length - floatOffset) / floatInterval;
- usedInFix = new boolean[numberOfSats];
- prn = new int[numberOfSats];
- snr = new float[numberOfSats];
- azimuth = new float[numberOfSats];
- elevation = new float[numberOfSats];
-
- for (int i = 0; i < numberOfSats; ++i) {
- int iInt = intOffset + intInterval * i;
- int iFloat = floatOffset + floatInterval * i;
- usedInFix[i] = intValues[iInt] != 0;
- prn[i] = Math.round(
- floatValues[iFloat + CarSensorEvent.INDEX_GPS_SATELLITE_PRN_OFFSET]);
- snr[i] =
- floatValues[iFloat + CarSensorEvent.INDEX_GPS_SATELLITE_SNR_OFFSET];
- azimuth[i] = floatValues[iFloat
- + CarSensorEvent.INDEX_GPS_SATELLITE_AZIMUTH_OFFSET];
- elevation[i] = floatValues[iFloat
- + CarSensorEvent.INDEX_GPS_SATELLITE_ELEVATION_OFFSET];
- }
- }
- return new GpsSatelliteData(timestamp, numberInUse, numberInView, usedInFix, prn, snr,
- azimuth, elevation);
- }
-
- /** @hide */
- public static class CarWheelTickDistanceData {
- public final long timestamp;
- public final long sensorResetCount;
- public final long frontLeftWheelDistanceMm;
- public final long frontRightWheelDistanceMm;
- public final long rearRightWheelDistanceMm;
- public final long rearLeftWheelDistanceMm;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public CarWheelTickDistanceData(long timestamp, long sensorResetCount,
- long frontLeftWheelDistanceMm, long frontRightWheelDistanceMm,
- long rearRightWheelDistanceMm, long rearLeftWheelDistanceMm) {
- this.timestamp = timestamp;
- this.sensorResetCount = sensorResetCount;
- this.frontLeftWheelDistanceMm = frontLeftWheelDistanceMm;
- this.frontRightWheelDistanceMm = frontRightWheelDistanceMm;
- this.rearRightWheelDistanceMm = rearRightWheelDistanceMm;
- this.rearLeftWheelDistanceMm = rearLeftWheelDistanceMm;
- }
- }
-
- /**
- * Convenience method for obtaining a {@link CarWheelTickDistanceData} object from a
- * CarSensorEvent object with type {@link CarSensorManager#SENSOR_TYPE_WHEEL_TICK_DISTANCE}.
- *
- * @return CarWheelTickDistanceData object corresponding to data contained in the CarSensorEvent
- * @hide
- */
- public CarWheelTickDistanceData getCarWheelTickDistanceData() {
- checkType(CarSensorManager.SENSOR_TYPE_WHEEL_TICK_DISTANCE);
- long sensorResetCount = longValues[INDEX_WHEEL_DISTANCE_RESET_COUNT];
- long frontLeftWheelDistanceMm = longValues[INDEX_WHEEL_DISTANCE_FRONT_LEFT];
- long frontRightWheelDistanceMm = longValues[INDEX_WHEEL_DISTANCE_FRONT_RIGHT];
- long rearRightWheelDistanceMm = longValues[INDEX_WHEEL_DISTANCE_REAR_RIGHT];
- long rearLeftWheelDistanceMm = longValues[INDEX_WHEEL_DISTANCE_REAR_LEFT];
- return new CarWheelTickDistanceData(timestamp, sensorResetCount, frontLeftWheelDistanceMm,
- frontRightWheelDistanceMm, rearRightWheelDistanceMm, rearLeftWheelDistanceMm);
- }
-
- /** @hide */
- public static class CarAbsActiveData {
- public final long timestamp;
- public final boolean absIsActive;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public CarAbsActiveData(long timestamp, boolean absIsActive) {
- this.timestamp = timestamp;
- this.absIsActive = absIsActive;
- };
- }
-
- /**
- * Convenience method for obtaining a {@link CarAbsActiveData} object from a CarSensorEvent
- * object with type {@link CarSensorManager#SENSOR_TYPE_ABS_ACTIVE}.
- *
- * @return a CarAbsActiveData object corresponding to data contained in the CarSensorEvent.
- * @hide
- */
- public CarAbsActiveData getCarAbsActiveData() {
- checkType(CarSensorManager.SENSOR_TYPE_ABS_ACTIVE);
- boolean absIsActive = intValues[0] == 1;
- return new CarAbsActiveData(timestamp, absIsActive);
- }
-
- /** @hide */
- public static class CarTractionControlActiveData {
- public final long timestamp;
- public final boolean tractionControlIsActive;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public CarTractionControlActiveData(long timestamp, boolean tractionControlIsActive) {
- this.timestamp = timestamp;
- this.tractionControlIsActive = tractionControlIsActive;
- };
- }
-
- /**
- * Convenience method for obtaining a {@link CarTractionControlActiveData} object from a
- * CarSensorEvent object with type {@link CarSensorManager#SENSOR_TYPE_TRACTION_CONTROL_ACTIVE}.
- *
- * @return a CarTractionControlActiveData object corresponding to data contained in the
- * CarSensorEvent.
- * @hide
- */
- public CarTractionControlActiveData getCarTractionControlActiveData() {
- checkType(CarSensorManager.SENSOR_TYPE_TRACTION_CONTROL_ACTIVE);
- boolean tractionControlIsActive = intValues[0] == 1;
- return new CarTractionControlActiveData(timestamp, tractionControlIsActive);
- }
-
- /** @hide */
- public static class CarFuelDoorOpenData {
- public final long timestamp;
- public final boolean fuelDoorIsOpen;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public CarFuelDoorOpenData(long timestamp, boolean fuelDoorIsOpen) {
- this.timestamp = timestamp;
- this.fuelDoorIsOpen = fuelDoorIsOpen;
- };
- }
-
- /**
- * Convenience method for obtaining a {@link CarFuelDoorOpenData} object from a
- * CarSensorEvent object with type {@link CarSensorManager#SENSOR_TYPE_FUEL_DOOR_OPEN}.
- *
- * @return a CarFuelDoorOpenData object corresponding to data contained in the
- * CarSensorEvent.
- * @hide
- */
- public CarFuelDoorOpenData getCarFuelDoorOpenData() {
- checkType(CarSensorManager.SENSOR_TYPE_FUEL_DOOR_OPEN);
- boolean fuelDoorIsOpen = intValues[0] == 1;
- return new CarFuelDoorOpenData(timestamp, fuelDoorIsOpen);
- }
-
- /** @hide */
- public static class CarEvBatteryLevelData {
- public final long timestamp;
- public final float evBatteryLevel;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public CarEvBatteryLevelData(long timestamp, float evBatteryLevel) {
- this.timestamp = timestamp;
- this.evBatteryLevel = evBatteryLevel;
- };
- }
-
- /**
- * Convenience method for obtaining a {@link CarEvBatteryLevelData} object from a
- * CarSensorEvent object with type {@link CarSensorManager#SENSOR_TYPE_EV_BATTERY_LEVEL}.
- *
- * @return a CarEvBatteryLevelData object corresponding to data contained in the
- * CarSensorEvent.
- * @hide
- */
- public CarEvBatteryLevelData getCarEvBatteryLevelData() {
- checkType(CarSensorManager.SENSOR_TYPE_EV_BATTERY_LEVEL);
- float evBatteryLevel = -1.0f;
- if (floatValues != null) {
- if (floatValues[0] >= 0) {
- evBatteryLevel = floatValues[0];
- }
- }
- return new CarEvBatteryLevelData(timestamp, evBatteryLevel);
- }
-
- /** @hide */
- public static class CarEvChargePortOpenData {
- public final long timestamp;
- public final boolean evChargePortIsOpen;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public CarEvChargePortOpenData(long timestamp, boolean evChargePortIsOpen) {
- this.timestamp = timestamp;
- this.evChargePortIsOpen = evChargePortIsOpen;
- };
- }
-
- /**
- * Convenience method for obtaining a {@link CarEvChargePortOpenData} object from a
- * CarSensorEvent object with type {@link CarSensorManager#SENSOR_TYPE_EV_CHARGE_PORT_OPEN}.
- *
- * @return a CarEvChargePortOpenData object corresponding to data contained in the
- * CarSensorEvent.
- * @hide
- */
- public CarEvChargePortOpenData getCarEvChargePortOpenData() {
- checkType(CarSensorManager.SENSOR_TYPE_EV_CHARGE_PORT_OPEN);
- boolean evChargePortIsOpen = intValues[0] == 1;
- return new CarEvChargePortOpenData(timestamp, evChargePortIsOpen);
- }
-
- /** @hide */
- public static class CarEvChargePortConnectedData {
- public final long timestamp;
- public final boolean evChargePortIsConnected;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public CarEvChargePortConnectedData(long timestamp, boolean evChargePortIsConnected) {
- this.timestamp = timestamp;
- this.evChargePortIsConnected = evChargePortIsConnected;
- };
- }
-
- /**
- * Convenience method for obtaining a {@link CarEvChargePortConnectedData} object from a
- * CarSensorEvent object with type {@link CarSensorManager#SENSOR_TYPE_EV_CHARGE_PORT_CONNECTED}.
- *
- * @return a CarEvChargePortConnectedData object corresponding to data contained in the
- * CarSensorEvent.
- * @hide
- */
- public CarEvChargePortConnectedData getCarEvChargePortConnectedData() {
- checkType(CarSensorManager.SENSOR_TYPE_EV_CHARGE_PORT_CONNECTED);
- boolean evChargePortIsConnected = intValues[0] == 1;
- return new CarEvChargePortConnectedData(timestamp, evChargePortIsConnected);
- }
-
- /** @hide */
- public static class CarEvBatteryChargeRateData {
- public final long timestamp;
- public final float evChargeRate;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public CarEvBatteryChargeRateData(long timestamp, float evChargeRate) {
- this.timestamp = timestamp;
- this.evChargeRate = evChargeRate;
- };
- }
-
- /**
- * Convenience method for obtaining a {@link CarEvBatteryChargeRateData} object from a
- * CarSensorEvent object with type {@link CarSensorManager#SENSOR_TYPE_EV_BATTERY_CHARGE_RATE}.
- *
- * @return a CarEvBatteryChargeRateData object corresponding to data contained in the
- * CarSensorEvent.
- * @hide
- */
- public CarEvBatteryChargeRateData getCarEvBatteryChargeRateData() {
- checkType(CarSensorManager.SENSOR_TYPE_EV_BATTERY_CHARGE_RATE);
- float evChargeRate = 0;
- if (floatValues != null) {
- evChargeRate = floatValues[0];
- }
- return new CarEvBatteryChargeRateData(timestamp, evChargeRate);
- }
-
- /** @hide */
- public static class CarEngineOilLevelData {
- public final long timestamp;
- public final int engineOilLevel;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public CarEngineOilLevelData(long timestamp, int engineOilLevel) {
- this.timestamp = timestamp;
- this.engineOilLevel = engineOilLevel;
- };
- }
-
- /**
- * Convenience method for obtaining a {@link CarEngineOilLevelData} object from a
- * CarSensorEvent object with type {@link CarSensorManager#SENSOR_TYPE_ENGINE_OIL_LEVEL}.
- *
- * @return a CarEngineOilLevelData object corresponding to data contained in the
- * CarSensorEvent.
- * @hide
- */
- public CarEngineOilLevelData getCarEngineOilLevelData() {
- checkType(CarSensorManager.SENSOR_TYPE_ENGINE_OIL_LEVEL);
- int engineOilLevel = VehicleOilLevel.ERROR;
- if (intValues != null) {
- engineOilLevel = intValues[0];
- }
- return new CarEngineOilLevelData(timestamp, engineOilLevel);
- }
-
- /** @hide */
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append(getClass().getName() + "[");
- sb.append("type:" + Integer.toHexString(sensorType));
- if (floatValues != null && floatValues.length > 0) {
- sb.append(" float values:");
- for (float v: floatValues) {
- sb.append(" " + v);
- }
- }
- if (intValues != null && intValues.length > 0) {
- sb.append(" int values:");
- for (int v: intValues) {
- sb.append(" " + v);
- }
- }
- if (longValues != null && longValues.length > 0) {
- sb.append(" long values:");
- for (long v: longValues) {
- sb.append(" " + v);
- }
- }
- sb.append("]");
- return sb.toString();
- }
-}
diff --git a/car-support-lib/src/android/support/car/hardware/CarSensorManager.java b/car-support-lib/src/android/support/car/hardware/CarSensorManager.java
deleted file mode 100644
index 29d6f40..0000000
--- a/car-support-lib/src/android/support/car/hardware/CarSensorManager.java
+++ /dev/null
@@ -1,328 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car.hardware;
-
-import android.Manifest;
-import android.support.car.Car;
-import android.support.car.CarManagerBase;
-import android.support.car.CarNotConnectedException;
-
-import androidx.annotation.IntDef;
-import androidx.annotation.RequiresPermission;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * Enables applications to monitor car sensor data. Applications register listeners to this
- * manager to subscribe to individual sensor streams using the SENSOR_TYPE_* constants as the
- * keys. Data points are returned as {@link CarSensorEvent} objects that have translations for
- * many built-in data types. For vendor extension streams, interpret data based on
- * vendor-provided documentation.
- */
-public abstract class CarSensorManager implements CarManagerBase {
- /**
- * Represent the direction of the car as an angle in degrees measured clockwise with 0 degree
- * pointing North. Sensor data in {@link CarSensorEvent} is a float (floatValues[0]).
- */
- public static final int SENSOR_TYPE_COMPASS = 1;
- /**
- * Represent vehicle speed in meters per second (m/s). Sensor data in
- * {@link CarSensorEvent} is a float >= 0. Requires {@link Car#PERMISSION_SPEED} permission.
- * @hide
- */
- public static final int SENSOR_TYPE_CAR_SPEED = 2;
- /**
- * Represent the engine RPM of the car. Sensor data in {@link CarSensorEvent} is a float.
- * @hide
- */
- public static final int SENSOR_TYPE_RPM = 3;
- /**
- * Represent the total travel distance of the car in kilometers. Sensor data is a float.
- * Requires {@link Car#PERMISSION_MILEAGE} permission.
- * @hide
- */
- public static final int SENSOR_TYPE_ODOMETER = 4;
- /**
- * Represent the fuel level of the car. In {@link CarSensorEvent}, represents fuel level in
- * milliliters. Requires {@link Car#PERMISSION_ENERGY} permission.
- * @hide
- */
- public static final int SENSOR_TYPE_FUEL_LEVEL = 5;
- /**
- * Represent the current status of parking brake. Sensor data in {@link CarSensorEvent} is in
- * intValues[0]. A value of 1 indicates the parking brake is engaged; a value of 0 indicates
- * the parking brake is not engaged.
- * For this sensor, rate in {@link #addListener(OnSensorChangedListener, int, int)} is
- * ignored and all changes are notified.
- */
- public static final int SENSOR_TYPE_PARKING_BRAKE = 6;
- /**
- * Represent the current position of transmission gear. Sensor data in {@link
- * CarSensorEvent} is in intValues[0]. For the meaning of the value, check {@link
- * CarSensorEvent#GEAR_NEUTRAL} and other GEAR_*.
- * @hide
- */
- public static final int SENSOR_TYPE_GEAR = 7;
-
- /** @hide */
- public static final int SENSOR_TYPE_RESERVED8 = 8;
-
- /**
- * Represent the current status of the day/night sensor. Sensor data is in intValues[0].
- */
- public static final int SENSOR_TYPE_NIGHT = 9;
- /**
- * Represent the location. Sensor data is floatValues.
- * @hide
- */
- public static final int SENSOR_TYPE_LOCATION = 10;
- /**
- * Represent the current driving status of car. Different user interactions should be used
- * depending on the current driving status. Driving status is in intValues[0].
- */
- public static final int SENSOR_TYPE_DRIVING_STATUS = 11;
- /**
- * Environment (such as temperature and pressure).
- * @hide
- */
- public static final int SENSOR_TYPE_ENVIRONMENT = 12;
- /** @hide */
- public static final int SENSOR_TYPE_RESERVED13 = 13;
- /** @hide */
- public static final int SENSOR_TYPE_ACCELEROMETER = 14;
- /** @hide */
- public static final int SENSOR_TYPE_RESERVED15 = 15;
- /** @hide */
- public static final int SENSOR_TYPE_RESERVED16 = 16;
- /** @hide */
- public static final int SENSOR_TYPE_GPS_SATELLITE = 17;
- /** @hide */
- public static final int SENSOR_TYPE_GYROSCOPE = 18;
- /** @hide */
- public static final int SENSOR_TYPE_RESERVED19 = 19;
- /** @hide */
- public static final int SENSOR_TYPE_RESERVED20 = 20;
- /** @hide */
- public static final int SENSOR_TYPE_RESERVED21 = 21;
- /** @hide */
- public static final int SENSOR_TYPE_RESERVED22 = 22;
- /**
- * Represents wheel distance in millimeters. Some cars may not have individual sensors on each
- * wheel. If a value is not available, -1 will be reported. The wheel distance accumulates
- * over time.
- * Requires {@link Car#PERMISSION_MILEAGE} permission.
- */
- public static final int SENSOR_TYPE_WHEEL_TICK_DISTANCE = 23;
- /**
- * Set to true when ABS is active. This sensor is event driven.
- * Requires {@link Car#PERMISSION_VEHICLE_DYNAMICS_STATE} permission.
- */
- public static final int SENSOR_TYPE_ABS_ACTIVE = 24;
- /**
- * Set to true when traction control is active. This sensor is event driven.
- * Requires {@link Car#PERMISSION_VEHICLE_DYNAMICS_STATE} permission.
- */
- public static final int SENSOR_TYPE_TRACTION_CONTROL_ACTIVE = 25;
- /** @hide */
- public static final int SENSOR_TYPE_RESERVED26 = 26;
- /**
- * Set to true if the fuel door is open.
- */
- public static final int SENSOR_TYPE_FUEL_DOOR_OPEN = 27;
-
- /**
- * Indicates battery level of the car.
- * In {@link CarSensorEvent}, represents battery level in WH.
- * This requires {@link Car#PERMISSION_ENERGY} permission.
- */
- public static final int SENSOR_TYPE_EV_BATTERY_LEVEL = 28;
- /**
- * Set to true if EV charging port is open.
- */
- public static final int SENSOR_TYPE_EV_CHARGE_PORT_OPEN = 29;
- /**
- * Set to true if EV charging port is connected.
- */
- public static final int SENSOR_TYPE_EV_CHARGE_PORT_CONNECTED = 30;
- /**
- * Indicates the instantaneous battery charging rate in mW.
- * This requires {@link Car#PERMISSION_ENERGY} permission.
- */
- public static final int SENSOR_TYPE_EV_BATTERY_CHARGE_RATE = 31;
- /**
- * Oil level sensor.
- * @hide
- */
- public static final int SENSOR_TYPE_ENGINE_OIL_LEVEL = 32;
-
- /**
- * Sensors defined in this range [{@link #SENSOR_TYPE_VENDOR_EXTENSION_START},
- * {@link #SENSOR_TYPE_VENDOR_EXTENSION_END}] are for vendors and should be used only
- * by the system app to access sensors not defined as standard types.
- * Sensors supported in this range can vary depending on car models/manufacturers.
- * Third-party apps should not use sensors in this range as they are not compatible across
- * all cars; third-party apps that attempt to access a sensor in this range trigger a
- * security exception (as access is restricted to system apps).
- *
- * @hide
- */
- public static final int SENSOR_TYPE_VENDOR_EXTENSION_START = 0x60000000;
- /** @hide */
- public static final int SENSOR_TYPE_VENDOR_EXTENSION_END = 0x6fffffff;
-
- /** @hide */
- @IntDef({
- SENSOR_TYPE_COMPASS,
- SENSOR_TYPE_CAR_SPEED,
- SENSOR_TYPE_RPM,
- SENSOR_TYPE_ODOMETER,
- SENSOR_TYPE_FUEL_LEVEL,
- SENSOR_TYPE_PARKING_BRAKE,
- SENSOR_TYPE_GEAR,
- SENSOR_TYPE_NIGHT,
- SENSOR_TYPE_LOCATION,
- SENSOR_TYPE_DRIVING_STATUS,
- SENSOR_TYPE_ENVIRONMENT,
- SENSOR_TYPE_ACCELEROMETER,
- SENSOR_TYPE_GPS_SATELLITE,
- SENSOR_TYPE_GYROSCOPE,
- SENSOR_TYPE_WHEEL_TICK_DISTANCE,
- SENSOR_TYPE_ABS_ACTIVE,
- SENSOR_TYPE_TRACTION_CONTROL_ACTIVE,
- SENSOR_TYPE_FUEL_DOOR_OPEN,
- SENSOR_TYPE_EV_BATTERY_LEVEL,
- SENSOR_TYPE_EV_CHARGE_PORT_OPEN,
- SENSOR_TYPE_EV_CHARGE_PORT_CONNECTED,
- SENSOR_TYPE_EV_BATTERY_CHARGE_RATE,
- SENSOR_TYPE_ENGINE_OIL_LEVEL,
- })
- @Retention(RetentionPolicy.SOURCE)
- public @interface SensorType {}
-
- /** Read sensor at the default normal rate set for each sensors. This is default rate. */
- public static final int SENSOR_RATE_NORMAL = 1;
- /**@hide*/
- public static final int SENSOR_RATE_UI = 5;
- /**@hide*/
- public static final int SENSOR_RATE_FAST = 10;
- /** Read sensor at the maximum rate. Actual rate will be different depending on the sensor. */
- public static final int SENSOR_RATE_FASTEST = 100;
-
- /** @hide */
- @IntDef({
- SENSOR_RATE_NORMAL,
- SENSOR_RATE_UI,
- SENSOR_RATE_FAST,
- SENSOR_RATE_FASTEST
- })
- @Retention(RetentionPolicy.SOURCE)
- public @interface SensorRate {}
-
- /**
- * Listener for car sensor data change.
- * Callbacks are called in the Looper context.
- */
- public interface OnSensorChangedListener {
- /**
- * Called when there is new sensor data from car.
- * @param manager The manager the listener is attached to. Useful if the app wished to
- * unregister.
- * @param event Incoming sensor event for the given sensor type.
- */
- void onSensorChanged(final CarSensorManager manager, final CarSensorEvent event);
- }
-
- /**
- * Get the list of CarSensors available in the connected car.
- * @return Array of all sensor types supported.
- * @throws CarNotConnectedException if the connection to the car service has been lost.
- */
- public abstract int[] getSupportedSensors() throws CarNotConnectedException;
-
- /**
- * Indicate support for a given sensor.
- * @param sensorType
- * @return Returns {@code true} if the sensor is supported.
- * @throws CarNotConnectedException if the connection to the car service has been lost.
- */
- public abstract boolean isSensorSupported(@SensorType int sensorType)
- throws CarNotConnectedException;
-
- /**
- * Register {@link OnSensorChangedListener} to get repeated sensor updates. Can register
- * multiple listeners for a single sensor or use the same listener for different
- * sensors. If the same listener is registered again for the same sensor, it is ignored or
- * updated (depending on the rate).
- * <p>
- * The {@link OnSensorChangedListener} is the identifier for the request and the same
- * instance must be passed into {@link #removeListener(OnSensorChangedListener)}.
- * <p>
- *
- * @param sensorType Sensor type to subscribe.
- * @param rate How fast sensor events are delivered. Should be one of
- * {@link #SENSOR_RATE_FASTEST} or {@link #SENSOR_RATE_NORMAL}. Rate may not be
- * respected, especially when the same sensor is registered with a different listener
- * and with different rates.
- * @return Returns {@code true} if the sensor was successfully enabled.
- * @throws CarNotConnectedException if the connection to the car service has been lost.
- * @throws IllegalArgumentException if wrong argument (such as wrong rate).
- * @throws SecurityException if missing the appropriate permission.
- */
- @RequiresPermission(anyOf={Manifest.permission.ACCESS_FINE_LOCATION, Car.PERMISSION_SPEED,
- Car.PERMISSION_MILEAGE, Car.PERMISSION_ENERGY, Car.PERMISSION_VEHICLE_DYNAMICS_STATE},
- conditional=true)
- public abstract boolean addListener(OnSensorChangedListener listener,
- @SensorType int sensorType, @SensorRate int rate)
- throws CarNotConnectedException, IllegalArgumentException;
-
- /**
- * Stop getting sensor updates for the given listener. If there are multiple registrations for
- * this listener, all listening is stopped.
- * @param listener The listener to remove.
- */
- public abstract void removeListener(OnSensorChangedListener listener);
-
- /**
- * Stop getting sensor updates for the given listener and sensor. If the same listener is used
- * for other sensors, those subscriptions are not affected.
- * @param listener The listener to remove.
- * @param sensorType The type to stop receiving notifications for.
- */
- public abstract void removeListener(OnSensorChangedListener listener,
- @SensorType int sensorType);
-
- /**
- * Get the most recent CarSensorEvent for the given type.
- * @param type A sensor to request.
- * @return null if no sensor update since connection to the car.
- * @throws CarNotConnectedException if the connection to the car service has been lost.
- */
- public abstract CarSensorEvent getLatestSensorEvent(@SensorType int type)
- throws CarNotConnectedException;
-
- /**
- * Get the config data for the given type.
- * @param sensor type to request
- * @return CarSensorConfig object
- * @throws CarNotConnectedException if the connection to the car service has been lost.
- * @hide
- */
- public abstract CarSensorConfig getSensorConfig(@SensorType int type)
- throws CarNotConnectedException;
-
-}
diff --git a/car-support-lib/src/android/support/car/hardware/CarSensorManagerEmbedded.java b/car-support-lib/src/android/support/car/hardware/CarSensorManagerEmbedded.java
deleted file mode 100644
index a8d8d28..0000000
--- a/car-support-lib/src/android/support/car/hardware/CarSensorManagerEmbedded.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * Copyright (C) 2016 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.support.car.hardware;
-
-import static androidx.annotation.RestrictTo.Scope.GROUP_ID;
-
-import android.content.Context;
-import android.support.car.CarNotConnectedException;
-
-import androidx.annotation.RestrictTo;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.Set;
-
-/**
- * @hide
- */
-@RestrictTo(GROUP_ID)
-public class CarSensorManagerEmbedded extends CarSensorManager {
- private static final String TAG = "CarSensorsProxy";
-
- private final android.car.hardware.CarSensorManager mManager;
- private final CarSensorsProxy mCarSensorsProxy;
- private final LinkedList<OnSensorChangedListenerProxy> mListeners = new LinkedList<>();
-
- public CarSensorManagerEmbedded(Object manager, Context context) {
- mManager = (android.car.hardware.CarSensorManager) manager;
- mCarSensorsProxy = new CarSensorsProxy(this, context);
- }
-
- @Override
- public int[] getSupportedSensors() throws CarNotConnectedException {
- try {
- Set<Integer> sensorsSet = new HashSet<Integer>();
- for (Integer sensor : mManager.getSupportedSensors()) {
- sensorsSet.add(sensor);
- }
- for (Integer proxySensor : mCarSensorsProxy.getSupportedSensors()) {
- sensorsSet.add(proxySensor);
- }
- return toIntArray(sensorsSet);
- } catch (android.car.CarNotConnectedException e) {
- throw new CarNotConnectedException(e);
- }
- }
-
- private static int[] toIntArray(Collection<Integer> collection) {
- int len = collection.size();
- int[] arr = new int[len];
- int arrIndex = 0;
- for (Integer item : collection) {
- arr[arrIndex] = item;
- arrIndex++;
- }
- return arr;
- }
-
- @Override
- public boolean isSensorSupported(int sensorType) throws CarNotConnectedException {
- try {
- return mManager.isSensorSupported(sensorType)
- || mCarSensorsProxy.isSensorSupported(sensorType);
- } catch (android.car.CarNotConnectedException e) {
- throw new CarNotConnectedException(e);
- }
- }
-
- private boolean isSensorProxied(int sensorType) throws CarNotConnectedException {
- try {
- return !mManager.isSensorSupported(sensorType)
- && mCarSensorsProxy.isSensorSupported(sensorType);
- } catch (android.car.CarNotConnectedException e) {
- throw new CarNotConnectedException(e);
- }
- }
-
- @Override
- public boolean addListener(OnSensorChangedListener listener, int sensorType,
- int rate) throws CarNotConnectedException, IllegalArgumentException {
- if (isSensorProxied(sensorType)) {
- return mCarSensorsProxy.registerSensorListener(listener, sensorType, rate);
- }
- OnSensorChangedListenerProxy proxy = null;
- synchronized (this) {
- proxy = findListenerLocked(listener);
- if (proxy == null) {
- proxy = new OnSensorChangedListenerProxy(listener, sensorType, this);
- mListeners.add(proxy);
- } else {
- proxy.sensors.add(sensorType);
- }
- }
- try {
- return mManager.registerListener(proxy, sensorType, rate);
- } catch (android.car.CarNotConnectedException e) {
- throw new CarNotConnectedException(e);
- }
- }
-
- @Override
- public void removeListener(OnSensorChangedListener listener) {
- mCarSensorsProxy.unregisterSensorListener(listener);
- OnSensorChangedListenerProxy proxy = null;
- synchronized (this) {
- proxy = findListenerLocked(listener);
- if (proxy == null) {
- return;
- }
- mListeners.remove(proxy);
- }
- mManager.unregisterListener(proxy);
- }
-
- @Override
- public void removeListener(OnSensorChangedListener listener, int sensorType) {
- mCarSensorsProxy.unregisterSensorListener(listener, sensorType);
- OnSensorChangedListenerProxy proxy = null;
- synchronized (this) {
- proxy = findListenerLocked(listener);
- if (proxy == null) {
- return;
- }
- proxy.sensors.remove(sensorType);
- if (proxy.sensors.isEmpty()) {
- mListeners.remove(proxy);
- }
- }
- mManager.unregisterListener(proxy, sensorType);
- }
-
- @Override
- public CarSensorEvent getLatestSensorEvent(int type) throws CarNotConnectedException {
- if (isSensorProxied(type)) {
- return mCarSensorsProxy.getLatestSensorEvent(type);
- }
- try {
- return convert(mManager.getLatestSensorEvent(type));
- } catch (android.car.CarNotConnectedException e) {
- throw new CarNotConnectedException(e);
- }
- }
-
- @Override
- public CarSensorConfig getSensorConfig(@SensorType int type)
- throws CarNotConnectedException {
- try {
- return convert(mManager.getSensorConfig(type));
- } catch (android.car.CarNotConnectedException e) {
- throw new CarNotConnectedException(e);
- }
- }
-
- @Override
- public void onCarDisconnected() {
- //nothing to do
- }
-
- private OnSensorChangedListenerProxy findListenerLocked(OnSensorChangedListener listener) {
- for (OnSensorChangedListenerProxy proxy : mListeners) {
- if (proxy.listener == listener) {
- return proxy;
- }
- }
- return null;
- }
-
- private static CarSensorEvent convert(android.car.hardware.CarSensorEvent event) {
- if (event == null) {
- return null;
- }
- return new CarSensorEvent(event.sensorType, event.timestamp, event.floatValues,
- event.intValues, event.longValues);
- }
-
- private static CarSensorConfig convert(android.car.hardware.CarSensorConfig cfg) {
- if (cfg == null) {
- return null;
- }
- return new CarSensorConfig(cfg.getType(), cfg.getBundle());
- }
-
- private static class OnSensorChangedListenerProxy
- implements android.car.hardware.CarSensorManager.OnSensorChangedListener {
-
- public final OnSensorChangedListener listener;
- public final Set<Integer> sensors = new HashSet<>();
- public final CarSensorManager manager;
-
- OnSensorChangedListenerProxy(OnSensorChangedListener listener, int sensor,
- CarSensorManager manager) {
- this.listener = listener;
- this.sensors.add(sensor);
- this.manager = manager;
- }
-
- @Override
- public void onSensorChanged(android.car.hardware.CarSensorEvent event) {
- CarSensorEvent newEvent = convert(event);
- listener.onSensorChanged(manager, newEvent);
- }
- }
-}
diff --git a/car-support-lib/src/android/support/car/hardware/CarSensorsProxy.java b/car-support-lib/src/android/support/car/hardware/CarSensorsProxy.java
deleted file mode 100644
index 69feb84..0000000
--- a/car-support-lib/src/android/support/car/hardware/CarSensorsProxy.java
+++ /dev/null
@@ -1,498 +0,0 @@
-/*
- * Copyright (C) 2016 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.support.car.hardware;
-
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.hardware.Sensor;
-import android.hardware.SensorEvent;
-import android.hardware.SensorEventListener;
-import android.hardware.SensorManager;
-import android.location.GpsSatellite;
-import android.location.GpsStatus;
-import android.location.Location;
-import android.location.LocationListener;
-import android.location.LocationManager;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-import android.util.Log;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * CarSensorsProxy adds car sensors implementation for sensors that are not provided by vehicle HAL.
- * @hide
- */
-class CarSensorsProxy {
- private static final String TAG = "CarSensorsProxy";
- private static final int MSG_SENSORT_EVENT = 1;
-
- // @GuardedBy("this")
- private final Map<Integer, Set<CarSensorManager.OnSensorChangedListener>> mListenersMultiMap;
- private final LocationManager mLocationManager;
- private final SensorManager mSensorManager;
- private final Sensor mAccelerometerSensor;
- private final Sensor mMagneticFieldSensor;
- private final Sensor mGyroscopeSensor;
- private final int[] mSupportedSensors;
-
- // returned with the onSensorChanged messages.
- private final CarSensorManager mCarSensorManager;
-
- // @GuardedBy("this")
- private Location mLastLocation;
- // @GuardedBy("this")
- private GpsStatus mLastGpsStatus;
- // @GuardedBy("this")
- private float[] mLastAccelerometerData = new float[3];
- // @GuardedBy("this")
- private float[] mLastMagneticFieldData = new float[3];
- // @GuardedBy("this")
- private float[] mLastGyroscopeData = new float[3];
- // @GuardedBy("this")
- private float[] mR = new float[16];
- // @GuardedBy("this")
- private float[] mI = new float[16];
- // @GuardedBy("this")
- private float[] mOrientation = new float[3];
- // @GuardedBy("this")
- private long mLastLocationTime;
- // @GuardedBy("this")
- private long mLastGpsStatusTime;
- // @GuardedBy("this")
- private long mLastAccelerometerDataTime;
- // @GuardedBy("this")
- private long mLastMagneticFieldDataTime;
- // @GuardedBy("this")
- private long mLastGyroscopeDataTime;
-
- private final GpsStatus.Listener mGpsStatusListener = new GpsStatus.Listener() {
- @Override
- public void onGpsStatusChanged(int event) {
- if (event == GpsStatus.GPS_EVENT_SATELLITE_STATUS) {
- synchronized (CarSensorsProxy.this) {
- mLastGpsStatus = mLocationManager.getGpsStatus(mLastGpsStatus);
- mLastGpsStatusTime = System.nanoTime();
- }
- pushSensorChanges(CarSensorManager.SENSOR_TYPE_GPS_SATELLITE);
- }
- }
- };
-
- private final LocationListener mLocationListener = new LocationListener() {
- @Override
- public void onLocationChanged(Location location) {
- synchronized (CarSensorsProxy.this) {
- mLastLocation = location;
- mLastLocationTime = System.nanoTime();
- }
- pushSensorChanges(CarSensorManager.SENSOR_TYPE_LOCATION);
- }
-
- @Override
- public void onProviderEnabled(String provider) {
- }
-
- @Override
- public void onProviderDisabled(String provider) {
- }
-
- @Override
- public void onStatusChanged(String provider, int status, Bundle extras) {
- }
- };
-
- private final SensorEventListener mSensorListener = new SensorEventListener() {
- @Override
- public void onSensorChanged(SensorEvent event) {
- int type = event.sensor.getType();
- synchronized (CarSensorsProxy.this) {
- switch (type) {
- case Sensor.TYPE_GYROSCOPE:
- System.arraycopy((Object) event.values, 0, (Object) mLastGyroscopeData, 0, 3);
- mLastGyroscopeDataTime = System.nanoTime();
- pushSensorChanges(CarSensorManager.SENSOR_TYPE_GYROSCOPE);
- break;
- case Sensor.TYPE_MAGNETIC_FIELD:
- System.arraycopy((Object) event.values, 0, (Object) mLastMagneticFieldData, 0, 3);
- mLastMagneticFieldDataTime = System.nanoTime();
- pushSensorChanges(CarSensorManager.SENSOR_TYPE_COMPASS);
- break;
- case Sensor.TYPE_ACCELEROMETER:
- System.arraycopy((Object) event.values, 0, (Object) mLastAccelerometerData, 0, 3);
- mLastAccelerometerDataTime = System.nanoTime();
- pushSensorChanges(CarSensorManager.SENSOR_TYPE_ACCELEROMETER);
- pushSensorChanges(CarSensorManager.SENSOR_TYPE_COMPASS);
- break;
- default:
- Log.w(TAG, "Unexpected sensor event type: " + type);
- // Should never happen.
- return;
- }
- }
- }
-
- @Override
- public void onAccuracyChanged(Sensor sensor, int accuracy) {}
- };
-
- private final Handler mHandler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- switch (msg.what) {
- case MSG_SENSORT_EVENT:
- int sensorType = msg.arg1;
- Collection<CarSensorManager.OnSensorChangedListener> listenersCollection;
- synchronized (CarSensorsProxy.this) {
- listenersCollection = mListenersMultiMap.get(sensorType);
- }
- CarSensorEvent event = (CarSensorEvent) msg.obj;
- if (event != null) {
- for (CarSensorManager.OnSensorChangedListener listener :
- listenersCollection) {
- listener.onSensorChanged(mCarSensorManager, event);
- }
- }
- break;
- default:
- Log.w(TAG, "Unexpected msg dispatched. msg: " + msg);
- super.handleMessage(msg);
- }
- }
- };
-
- CarSensorsProxy(CarSensorManager carSensorManager, Context context) {
- mLocationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
- mSensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
- mAccelerometerSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
- mMagneticFieldSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
- mGyroscopeSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);
- mListenersMultiMap = new HashMap<Integer, Set<CarSensorManager.OnSensorChangedListener>>();
- mSupportedSensors = initSupportedSensors(context);
- mCarSensorManager = carSensorManager;
- }
-
- private int[] initSupportedSensors(Context context) {
- Set<Integer> features = new HashSet<>();
- PackageManager packageManager = context.getPackageManager();
- if (packageManager.hasSystemFeature(PackageManager.FEATURE_SENSOR_COMPASS)
- && packageManager.hasSystemFeature(PackageManager.FEATURE_SENSOR_ACCELEROMETER)) {
- features.add(CarSensorManager.SENSOR_TYPE_COMPASS);
- }
- if (packageManager.hasSystemFeature(PackageManager.FEATURE_SENSOR_ACCELEROMETER)) {
- features.add(CarSensorManager.SENSOR_TYPE_ACCELEROMETER);
- }
- if (packageManager.hasSystemFeature(PackageManager.FEATURE_SENSOR_GYROSCOPE)) {
- features.add(CarSensorManager.SENSOR_TYPE_GYROSCOPE);
- }
- if (packageManager.hasSystemFeature(PackageManager.FEATURE_LOCATION)) {
- features.add(CarSensorManager.SENSOR_TYPE_LOCATION);
- features.add(CarSensorManager.SENSOR_TYPE_GPS_SATELLITE);
- }
- return toIntArray(features);
- }
-
- private static int[] toIntArray(Collection<Integer> collection) {
- int len = collection.size();
- int[] arr = new int[len];
- int arrIndex = 0;
- for (Integer item : collection) {
- arr[arrIndex] = item;
- arrIndex++;
- }
- return arr;
- }
-
-
- public boolean isSensorSupported(int sensorType) {
- for (int sensor : mSupportedSensors) {
- if (sensor == sensorType) {
- return true;
- }
- }
- return false;
- }
-
- public int[] getSupportedSensors() {
- return mSupportedSensors;
- }
-
- public boolean registerSensorListener(CarSensorManager.OnSensorChangedListener listener,
- int sensorType, int rate) {
- // current implementation ignores rate.
- boolean sensorSetChanged = false;
- synchronized (this) {
- if (mListenersMultiMap.get(sensorType) == null) {
- mListenersMultiMap.put(sensorType,
- new HashSet<CarSensorManager.OnSensorChangedListener>());
- sensorSetChanged = true;
- }
- mListenersMultiMap.get(sensorType).add(listener);
- }
-
- pushSensorChanges(sensorType);
-
- if (sensorSetChanged) {
- updateSensorListeners();
- }
- return true;
- }
-
- public void unregisterSensorListener(CarSensorManager.OnSensorChangedListener listener,
- int sensorType) {
- if (listener == null) {
- return;
- }
- boolean sensorSetChanged = false;
- synchronized (this) {
- Set<CarSensorManager.OnSensorChangedListener> sensorTypeListeneres =
- mListenersMultiMap.get(sensorType);
- if (sensorTypeListeneres != null) {
- sensorTypeListeneres.remove(listener);
- if (sensorTypeListeneres.isEmpty()) {
- mListenersMultiMap.remove(sensorType);
- sensorSetChanged = true;
- }
- }
- }
- if (sensorSetChanged) {
- updateSensorListeners();
- };
- }
-
- public void unregisterSensorListener(CarSensorManager.OnSensorChangedListener listener) {
- if (listener == null) {
- return;
- }
- Set<Integer> sensorsToRemove = new HashSet<>();
- synchronized (this) {
- for (Map.Entry<Integer, Set<CarSensorManager.OnSensorChangedListener>> entry :
- mListenersMultiMap.entrySet()) {
- if (entry.getValue().contains(listener)) {
- entry.getValue().remove(listener);
- }
- if (entry.getValue().isEmpty()) {
- sensorsToRemove.add(entry.getKey());
- }
- }
- }
- if (!sensorsToRemove.isEmpty()) {
- for (Integer s : sensorsToRemove) {
- mListenersMultiMap.remove(s);
- }
- updateSensorListeners();
- };
- }
-
- public CarSensorEvent getLatestSensorEvent(int type) {
- return getSensorEvent(type);
- }
-
- private void pushSensorChanges(int sensorType) {
- CarSensorEvent event = getSensorEvent(sensorType);
- if (event == null) {
- return;
- }
- Message msg = mHandler.obtainMessage(MSG_SENSORT_EVENT, sensorType, 0, event);
- mHandler.sendMessage(msg);
- }
-
- private CarSensorEvent getSensorEvent(int sensorType) {
- CarSensorEvent event = null;
- synchronized (this) {
- switch (sensorType) {
- case CarSensorManager.SENSOR_TYPE_COMPASS:
- if (mLastMagneticFieldDataTime != 0 && mLastAccelerometerDataTime != 0) {
- event = new CarSensorEvent(sensorType, Math.max(mLastMagneticFieldDataTime,
- mLastAccelerometerDataTime), 3, 0, 0);
- SensorManager.getRotationMatrix(mR, mI, mLastAccelerometerData,
- mLastMagneticFieldData);
- SensorManager.getOrientation(mR, mOrientation);
- event.floatValues[CarSensorEvent.INDEX_COMPASS_BEARING] =
- (float) Math.toDegrees(mOrientation[0]);
- event.floatValues[CarSensorEvent.INDEX_COMPASS_PITCH] =
- (float) Math.toDegrees(mOrientation[1]);
- event.floatValues[CarSensorEvent.INDEX_COMPASS_ROLL] =
- (float) Math.toDegrees(mOrientation[2]);
- }
- break;
- case CarSensorManager.SENSOR_TYPE_LOCATION:
- if (mLastLocationTime != 0) {
- event = new CarSensorEvent(sensorType, mLastLocationTime, 6, 3, 0);
- populateLocationCarSensorEvent(event, mLastLocation);
- }
- break;
- case CarSensorManager.SENSOR_TYPE_ACCELEROMETER:
- if (mLastAccelerometerDataTime != 0) {
- event = new CarSensorEvent(sensorType, mLastAccelerometerDataTime, 3, 0, 0);
- event.floatValues[CarSensorEvent.INDEX_ACCELEROMETER_X] =
- mLastAccelerometerData[0];
- event.floatValues[CarSensorEvent.INDEX_ACCELEROMETER_Y] =
- mLastAccelerometerData[1];
- event.floatValues[CarSensorEvent.INDEX_ACCELEROMETER_Z] =
- mLastAccelerometerData[2];
- }
- break;
- case CarSensorManager.SENSOR_TYPE_GPS_SATELLITE:
- if (mLastGpsStatusTime != 0) {
- event = createGpsStatusCarSensorEvent(mLastGpsStatus);
- }
- break;
- case CarSensorManager.SENSOR_TYPE_GYROSCOPE:
- if (mLastGyroscopeDataTime != 0) {
- event = new CarSensorEvent(sensorType, mLastGyroscopeDataTime, 3, 0, 0);
- event.floatValues[CarSensorEvent.INDEX_GYROSCOPE_X] = mLastGyroscopeData[0];
- event.floatValues[CarSensorEvent.INDEX_GYROSCOPE_Y] = mLastGyroscopeData[1];
- event.floatValues[CarSensorEvent.INDEX_GYROSCOPE_Z] = mLastGyroscopeData[2];
- }
- break;
- default:
- // Should not happen.
- Log.w(TAG, "[getSensorEvent]: Unsupported sensor type:" + sensorType);
- return null;
- }
- }
- return event;
- }
-
- private void populateLocationCarSensorEvent(CarSensorEvent event, Location location) {
- if (location == null) {
- return;
- }
- int present = 0;
- present |= (0x1 << CarSensorEvent.INDEX_LOCATION_LONGITUDE);
- event.intValues[CarSensorEvent.INDEX_LOCATION_LONGITUDE_INTS] =
- (int) (location.getLongitude() * 1E7);
-
- present |= (0x1 << CarSensorEvent.INDEX_LOCATION_LATITUDE);
- event.intValues[CarSensorEvent.INDEX_LOCATION_LATITUDE_INTS] =
- (int) (location.getLatitude() * 1E7);
-
- if (location.hasAccuracy()) {
- present |= (0x1 << CarSensorEvent.INDEX_LOCATION_ACCURACY);
- event.floatValues[CarSensorEvent.INDEX_LOCATION_ACCURACY] = location.getAccuracy();
- }
-
- if (location.hasAltitude()) {
- present |= (0x1 << CarSensorEvent.INDEX_LOCATION_ALTITUDE);
- event.floatValues[CarSensorEvent.INDEX_LOCATION_ALTITUDE] =
- (float) location.getAltitude();
- }
-
- if (location.hasSpeed()) {
- present |= (0x1 << CarSensorEvent.INDEX_LOCATION_SPEED);
- event.floatValues[CarSensorEvent.INDEX_LOCATION_SPEED] = location.getSpeed();
- }
-
- if (location.hasBearing()) {
- present |= (0x1 << CarSensorEvent.INDEX_LOCATION_BEARING);
- event.floatValues[CarSensorEvent.INDEX_LOCATION_BEARING] = location.getBearing();
- }
-
- event.intValues[0] = present;
- }
-
- private CarSensorEvent createGpsStatusCarSensorEvent(GpsStatus gpsStatus) {
- CarSensorEvent event = null;
-
- if (gpsStatus == null) {
- return event;
- }
-
- int numberInView = 0;
- int numberInUse = 0;
- for (GpsSatellite satellite : gpsStatus.getSatellites()) {
- ++numberInView;
- if (satellite.usedInFix()) {
- ++numberInUse;
- }
- }
- int floatValuesSize = CarSensorEvent.INDEX_GPS_SATELLITE_ARRAY_FLOAT_INTERVAL * numberInView
- + CarSensorEvent.INDEX_GPS_SATELLITE_ARRAY_FLOAT_OFFSET;
- int intValuesSize = CarSensorEvent.INDEX_GPS_SATELLITE_ARRAY_INT_INTERVAL * numberInView
- + CarSensorEvent.INDEX_GPS_SATELLITE_ARRAY_INT_OFFSET;
- event = new CarSensorEvent(CarSensorManager.SENSOR_TYPE_GPS_SATELLITE, mLastGpsStatusTime,
- floatValuesSize, intValuesSize, 0);
- event.intValues[CarSensorEvent.INDEX_GPS_SATELLITE_NUMBER_IN_USE] = numberInUse;
- event.intValues[CarSensorEvent.INDEX_GPS_SATELLITE_NUMBER_IN_VIEW] = numberInView;
- int i = 0;
- for (GpsSatellite satellite : gpsStatus.getSatellites()) {
- int iInt = CarSensorEvent.INDEX_GPS_SATELLITE_ARRAY_INT_OFFSET
- + CarSensorEvent.INDEX_GPS_SATELLITE_ARRAY_INT_INTERVAL * i;
- int iFloat = CarSensorEvent.INDEX_GPS_SATELLITE_ARRAY_FLOAT_OFFSET
- + CarSensorEvent.INDEX_GPS_SATELLITE_ARRAY_FLOAT_INTERVAL * i;
- event.floatValues[iFloat + CarSensorEvent.INDEX_GPS_SATELLITE_PRN_OFFSET] =
- satellite.getPrn();
- event.floatValues[iFloat + CarSensorEvent.INDEX_GPS_SATELLITE_SNR_OFFSET] =
- satellite.getSnr();
- event.floatValues[iFloat + CarSensorEvent.INDEX_GPS_SATELLITE_AZIMUTH_OFFSET] =
- satellite.getAzimuth();
- event.floatValues[iFloat + CarSensorEvent.INDEX_GPS_SATELLITE_ELEVATION_OFFSET] =
- satellite.getElevation();
- event.intValues[iInt] = satellite.usedInFix() ? 1 : 0;
- i++;
- }
- return event;
- }
-
- private void updateSensorListeners() {
- Set<Integer> activeSensors;
- synchronized (this) {
- activeSensors = mListenersMultiMap.keySet();
- }
-
- if (activeSensors.contains(CarSensorManager.SENSOR_TYPE_LOCATION)
- && mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
- mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,
- mLocationListener);
- } else {
- mLocationManager.removeUpdates(mLocationListener);
- }
-
- if (activeSensors.contains(CarSensorManager.SENSOR_TYPE_GPS_SATELLITE)) {
- mLocationManager.addGpsStatusListener(mGpsStatusListener);
- } else {
- mLocationManager.removeGpsStatusListener(mGpsStatusListener);
- }
-
- if (activeSensors.contains(CarSensorManager.SENSOR_TYPE_ACCELEROMETER)
- || activeSensors.contains(CarSensorManager.SENSOR_TYPE_COMPASS)) {
- mSensorManager.registerListener(mSensorListener, mAccelerometerSensor,
- SensorManager.SENSOR_DELAY_FASTEST);
- } else {
- mSensorManager.unregisterListener(mSensorListener, mAccelerometerSensor);
- }
-
- if (activeSensors.contains(CarSensorManager.SENSOR_TYPE_COMPASS)) {
- mSensorManager.registerListener(mSensorListener, mMagneticFieldSensor,
- SensorManager.SENSOR_DELAY_FASTEST);
- } else {
- mSensorManager.unregisterListener(mSensorListener, mMagneticFieldSensor);
- }
-
- if (activeSensors.contains(CarSensorManager.SENSOR_TYPE_GYROSCOPE)) {
- mSensorManager.registerListener(mSensorListener, mGyroscopeSensor,
- SensorManager.SENSOR_DELAY_FASTEST);
- } else {
- mSensorManager.unregisterListener(mSensorListener, mGyroscopeSensor);
- }
- }
-}
diff --git a/car-support-lib/src/android/support/car/input/CarEditable.java b/car-support-lib/src/android/support/car/input/CarEditable.java
deleted file mode 100644
index dfa7571..0000000
--- a/car-support-lib/src/android/support/car/input/CarEditable.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car.input;
-
-import android.view.inputmethod.EditorInfo;
-import android.view.inputmethod.InputConnection;
-
-/**
- * Views that implement this interface are editable by the Car IME system.
- * @hide
- */
-public interface CarEditable {
- InputConnection onCreateInputConnection(EditorInfo outAttrs);
- void setCarEditableListener(CarEditableListener listener);
- void setInputEnabled(boolean enabled);
-}
diff --git a/car-support-lib/src/android/support/car/input/CarEditableListener.java b/car-support-lib/src/android/support/car/input/CarEditableListener.java
deleted file mode 100644
index bca02cb..0000000
--- a/car-support-lib/src/android/support/car/input/CarEditableListener.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car.input;
-
-/**
- * Callbacks from the {@link CarEditable} to the Car IME. These methods should be called on
- * the main thread.
- * @hide
- */
-public interface CarEditableListener {
- /**
- * Callback to indicate that the selection has changed on the current {@link CarEditable}. Note
- * that selection changes include cursor movements.
- * @param oldSelStart the old selection starting index
- * @param oldSelEnd the old selection ending index
- * @param newSelStart the new selection starting index
- * @param newSelEnd the new selection ending index
- */
- void onUpdateSelection(int oldSelStart, int oldSelEnd, int newSelStart, int newSelEnd);
-}
\ No newline at end of file
diff --git a/car-support-lib/src/android/support/car/input/CarInputManager.java b/car-support-lib/src/android/support/car/input/CarInputManager.java
deleted file mode 100644
index 0704a54..0000000
--- a/car-support-lib/src/android/support/car/input/CarInputManager.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car.input;
-
-import android.widget.EditText;
-
-/**
- * Manages use of the in-car IME. All methods should only be called on the main thread.
- * Instances should be obtained by calling
- * {@link android.support.car.app.CarActivity#getInputManager()}.
- * @hide
- */
-public abstract class CarInputManager {
- /**
- * Starts input on the requested {@link android.widget.EditText}, showing the IME.
- * If IME input is already occurring for another view, this call stops input on the previous
- * view and starts input on the new view.
- *
- * This method must only be called from the UI thread. Calling this method from a stopped
- * activity is an illegal operation.
- */
- abstract public void startInput(EditText view);
-
- /**
- * Stops input, hiding the IME. This method fails silently if the calling application didn't
- * request input and isn't the active IME.
- *
- * This function must only be called from the UI thread.
- */
- abstract public void stopInput();
-
- /**
- * Returns {@code true} while the InputManager is valid. The InputManager is valid as long as
- * the {@link android.support.car.app.CarActivity} from which it was obtained has
- * been created and not destroyed.
- */
- abstract public boolean isValid();
-
- /**
- * Returns {@code true} if this InputManager is valid and the IME is active.
- */
- abstract public boolean isInputActive();
-
- /**
- * Returns {@code true} if IME is active on the given {@link android.widget.EditText}.
- */
- abstract public boolean isCurrentCarEditable(EditText view);
-
-}
diff --git a/car-support-lib/src/android/support/car/input/CarRestrictedEditText.java b/car-support-lib/src/android/support/car/input/CarRestrictedEditText.java
deleted file mode 100644
index a19dff1..0000000
--- a/car-support-lib/src/android/support/car/input/CarRestrictedEditText.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car.input;
-
-import android.content.Context;
-import android.text.InputType;
-import android.util.AttributeSet;
-import android.view.ActionMode;
-import android.view.KeyEvent;
-import android.view.inputmethod.EditorInfo;
-import android.view.inputmethod.InputConnection;
-import android.view.inputmethod.InputConnectionWrapper;
-import android.widget.EditText;
-import android.widget.TextView;
-
-/**
- * A special EditText for use in-car. This EditText:
- * <ul>
- * <li>Disables selection</li>
- * <li>Disables Cut/Copy/Paste</li>
- * <li>Force-disables suggestions</li>
- * </ul>
- * @hide
- */
-public class CarRestrictedEditText extends EditText implements CarEditable {
-
- private static final boolean SELECTION_CLAMPING_ENABLED = false;
-
- private int mLastSelEnd = 0;
- private int mLastSelStart = 0;
- private boolean mCursorClamped;
-
- private CarEditableListener mCarEditableListener;
- private KeyListener mListener;
-
- public interface KeyListener {
- void onKeyDown(int keyCode);
- void onKeyUp(int keyCode);
- void onCommitText(String input);
- void onCloseKeyboard();
- void onDelete();
- }
-
- public CarRestrictedEditText(Context context, AttributeSet attrs) {
- super(context, attrs);
- setInputType(getInputType() | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
- setTextIsSelectable(false);
- setSelection(getText().length());
- mCursorClamped = true;
- setOnEditorActionListener(new OnEditorActionListener() {
- @Override
- public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
- if (mListener != null && actionId == EditorInfo.IME_ACTION_DONE) {
- mListener.onCloseKeyboard();
- }
- // Return false because we don't want to hijack the default behavior.
- return false;
- }
- });
- }
-
- public void setKeyListener(KeyListener listener) {
- mListener = listener;
- }
-
- @SuppressWarnings("unused")
- @Override
- protected void onSelectionChanged(int selStart, int selEnd) {
- if (mCursorClamped && SELECTION_CLAMPING_ENABLED) {
- setSelection(mLastSelStart, mLastSelEnd);
- return;
- }
- if (mCarEditableListener != null) {
- mCarEditableListener.onUpdateSelection(mLastSelStart, mLastSelEnd, selStart, selEnd);
- }
- mLastSelStart = selStart;
- mLastSelEnd = selEnd;
- }
-
- @Override
- public ActionMode startActionMode(ActionMode.Callback callback) {
- return null;
- }
-
- @Override
- public void setCarEditableListener(CarEditableListener listener) {
- mCarEditableListener = listener;
- }
-
- @Override
- public void setInputEnabled(boolean enabled) {
- mCursorClamped = !enabled;
- }
-
- @Override
- public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
- InputConnection inputConnection = super.onCreateInputConnection(outAttrs);
- return new InputConnectionWrapper(inputConnection, false) {
- @Override
- public boolean sendKeyEvent(android.view.KeyEvent event) {
- if (mListener != null) {
- if (event.getAction() == KeyEvent.ACTION_DOWN) {
- mListener.onKeyDown(event.getKeyCode());
- } else if (event.getAction() == KeyEvent.ACTION_UP) {
- mListener.onKeyUp(event.getKeyCode());
-
- // InputMethodService#sendKeyChar doesn't call
- // InputConnection#commitText for digit chars.
- // TODO: fix projected IME to be in coherence with system IME.
- char unicodeChar = (char) event.getUnicodeChar();
- if (Character.isDigit(unicodeChar)) {
- commitText(String.valueOf(unicodeChar), 1);
- }
- }
- return true;
- } else {
- return super.sendKeyEvent(event);
- }
- }
-
- @Override
- public boolean commitText(java.lang.CharSequence charSequence, int i) {
- if (mListener != null) {
- mListener.onCommitText(charSequence.toString());
- return true;
- }
- return super.commitText(charSequence, i);
- }
-
- @Override
- public boolean deleteSurroundingText(int i, int i1) {
- if (mListener != null) {
- mListener.onDelete();
- return true;
- }
- return super.deleteSurroundingText(i, i1);
- }
- };
- }
-}
diff --git a/car-support-lib/src/android/support/car/media/CarAudioManager.java b/car-support-lib/src/android/support/car/media/CarAudioManager.java
deleted file mode 100644
index e3b783a..0000000
--- a/car-support-lib/src/android/support/car/media/CarAudioManager.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car.media;
-
-import android.Manifest;
-import android.media.AudioFormat;
-import android.media.AudioManager;
-import android.support.car.CarManagerBase;
-import android.support.car.CarNotConnectedException;
-
-import androidx.annotation.RequiresPermission;
-
-/**
- * APIs for handling car-specific audio use cases. Provides a set of CAR_AUDIO_USAGE_* constants
- * that can be used to route audio by use case to the car. Important beyond the normal
- * {@link AudioManager} class methods because it handles multi channel audio. Includes use cases
- * such as routing call audio only to the driver and not through all speakers.
- */
-public abstract class CarAudioManager implements CarManagerBase {
-
- /**
- * Get {@link AudioFormat} for audio record.
- * @return {@link AudioFormat} for audio record.
- */
- public abstract AudioFormat getAudioRecordAudioFormat() throws CarNotConnectedException;
-
- public abstract boolean isAudioRecordSupported() throws CarNotConnectedException;
-
- /**
- * Get minimum buffer size for {@link CarAudioRecord}.
- *
- * @return Buffer size in bytes.
- */
- public abstract int getAudioRecordMinBufferSize()
- throws CarNotConnectedException;
-
- /**
- * Get maximum buffer size for {@link CarAudioRecord}.
- *
- * @return Buffer size in bytes.
- */
- public abstract int getAudioRecordMaxBufferSize()
- throws CarNotConnectedException;
-
- /**
- * Create a {@link CarAudioRecord} for the current {@link CarAudioManager}. There can be
- * multiple instances of {@link CarAudioRecord}. Requires {@link
- * android.Manifest.permission#RECORD_AUDIO} permission.
- *
- * @param bufferSize Should be a multiple of minimum buffer size acquired from {@link
- * #getAudioRecordMinBufferSize()}. Cannot exceed {@link #getAudioRecordMaxBufferSize()}.
- *
- * @return {@link CarAudioRecord} instance for the given stream.
- * @throws IllegalArgumentException if passed parameter (such as bufferSize) is wrong.
- * @throws SecurityException if client does not have
- * {@link android.Manifest.permission#RECORD_AUDIO} permission.
- */
- @RequiresPermission(Manifest.permission.RECORD_AUDIO)
- public abstract CarAudioRecord createCarAudioRecord(int bufferSize)
- throws SecurityException, CarNotConnectedException;
-}
diff --git a/car-support-lib/src/android/support/car/media/CarAudioManagerEmbedded.java b/car-support-lib/src/android/support/car/media/CarAudioManagerEmbedded.java
deleted file mode 100644
index 518058a..0000000
--- a/car-support-lib/src/android/support/car/media/CarAudioManagerEmbedded.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car.media;
-
-import static androidx.annotation.RestrictTo.Scope.GROUP_ID;
-
-import android.media.AudioFormat;
-import android.media.AudioRecord;
-import android.support.car.CarNotConnectedException;
-
-import androidx.annotation.RestrictTo;
-
-/**
- * @hide
- */
-@RestrictTo(GROUP_ID)
-public class CarAudioManagerEmbedded extends CarAudioManager {
-
- private static final int MAX_BUFFER_SIZE_BYTE = 512 * 1024;
- private static final int SAMPLING_RATE = 16000;
- private static final AudioFormat AUDIO_RECORD_FORMAT = new AudioFormat.Builder()
- .setEncoding(AudioFormat.ENCODING_PCM_16BIT)
- .setChannelMask(AudioFormat.CHANNEL_IN_MONO)
- .setSampleRate(SAMPLING_RATE)
- .build();
-
- private final android.car.media.CarAudioManager mManager;
-
- public CarAudioManagerEmbedded(Object manager) {
- mManager = (android.car.media.CarAudioManager) manager;
- }
-
- @Override
- public boolean isAudioRecordSupported() throws CarNotConnectedException {
- //always true in embedded
- return true;
- }
-
- @Override
- public AudioFormat getAudioRecordAudioFormat() throws CarNotConnectedException {
- return AUDIO_RECORD_FORMAT;
- }
-
- @Override
- public int getAudioRecordMinBufferSize() throws CarNotConnectedException {
- return AudioRecord.getMinBufferSize(SAMPLING_RATE, AUDIO_RECORD_FORMAT.getChannelMask(),
- AUDIO_RECORD_FORMAT.getEncoding());
- }
-
- @Override
- public int getAudioRecordMaxBufferSize() throws CarNotConnectedException {
- return Math.max(getAudioRecordMinBufferSize(), MAX_BUFFER_SIZE_BYTE);
- }
-
- @Override
- public CarAudioRecord createCarAudioRecord(int bufferSize)
- throws CarNotConnectedException, SecurityException {
- if (bufferSize < getAudioRecordMinBufferSize() ||
- bufferSize > getAudioRecordMaxBufferSize()) {
- throw new IllegalArgumentException("Bad bufferSize value");
- }
- return new CarAudioRecordEmbedded(AUDIO_RECORD_FORMAT, bufferSize);
- }
-
- @Override
- public void onCarDisconnected() {
- //nothing to do
- }
-}
diff --git a/car-support-lib/src/android/support/car/media/CarAudioRecord.java b/car-support-lib/src/android/support/car/media/CarAudioRecord.java
deleted file mode 100644
index c3f09ca..0000000
--- a/car-support-lib/src/android/support/car/media/CarAudioRecord.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (C) 2016 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.support.car.media;
-
-import android.media.AudioRecord;
-import android.support.car.CarNotConnectedException;
-
-/**
- * Enables applications to use the microphone.
- */
-public abstract class CarAudioRecord {
- /**
- * Get the buffer size specified in {@link CarAudioManager#createCarAudioRecord(int)}.
- * @return Buffer size in bytes.
- */
- public abstract int getBufferSize() throws CarNotConnectedException;
-
- /**
- * Start audio recording.
- */
- public abstract void startRecording() throws CarNotConnectedException;
-
- /**
- * Stop audio recording. Calling stop multiple times is a safe operation.
- */
- public abstract void stop();
-
- /**
- * Release native resource allocated for this instance. {@link CarAudioRecord} can no longer
- * be used after release is called.
- */
- public abstract void release();
-
- /** See {@link AudioRecord#getRecordingState() }. */
- public abstract int getRecordingState() throws CarNotConnectedException;
-
- /** See {@link AudioRecord#getState() }. */
- public abstract int getState() throws CarNotConnectedException;
-
- /** See {@link AudioRecord#getAudioSessionId() }. */
- public abstract int getAudioSessionId() throws CarNotConnectedException;
-
- /**
- * Read recorded audio. Be sure to start audio recording with {@link #startRecording()}
- * before this.
- * @param audioData
- * @param offsetInBytes
- * @param sizeInBytes
- * @return Number of bytes read. Returns {@link android.media.AudioRecord#ERROR} on error.
- * @throws IllegalStateException if audio recording was not started.
- */
- public abstract int read(byte[] audioData, int offsetInBytes, int sizeInBytes)
- throws IllegalStateException, CarNotConnectedException;
-}
diff --git a/car-support-lib/src/android/support/car/media/CarAudioRecordEmbedded.java b/car-support-lib/src/android/support/car/media/CarAudioRecordEmbedded.java
deleted file mode 100644
index 7a614cc..0000000
--- a/car-support-lib/src/android/support/car/media/CarAudioRecordEmbedded.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2016 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.support.car.media;
-
-import static androidx.annotation.RestrictTo.Scope.GROUP_ID;
-
-import android.media.AudioFormat;
-import android.media.AudioRecord;
-import android.support.car.CarNotConnectedException;
-
-import androidx.annotation.RestrictTo;
-
-/**
- * CarAudioRecordEmbedded allows apps to use microphone.
- * @hide
- */
-@RestrictTo(GROUP_ID)
-public class CarAudioRecordEmbedded extends CarAudioRecord {
-
- private final AudioFormat mFormat;
- private final int mBufferSize;
- private final AudioRecord mAudioRecord;
-
-
- CarAudioRecordEmbedded(AudioFormat format, int bufferSize) {
- mFormat = format;
- mBufferSize = bufferSize;
- mAudioRecord = new AudioRecord.Builder()
- .setAudioFormat(mFormat)
- .setBufferSizeInBytes(mBufferSize)
- .build();
- }
-
- @Override
- public int getBufferSize() throws CarNotConnectedException {
- return mBufferSize;
- }
-
- @Override
- public void startRecording() throws CarNotConnectedException {
- mAudioRecord.startRecording();
- }
-
- @Override
- public void stop() {
- mAudioRecord.stop();
- }
-
- @Override
- public void release() {
- mAudioRecord.release();
- }
-
- @Override
- public int getRecordingState() throws CarNotConnectedException {
- return mAudioRecord.getRecordingState();
- }
-
- @Override
- public int getState() throws CarNotConnectedException {
- return mAudioRecord.getState();
- }
-
- @Override
- public int getAudioSessionId() throws CarNotConnectedException {
- return mAudioRecord.getAudioSessionId();
- }
-
- @Override
- public int read(byte[] audioData, int offsetInBytes, int sizeInBytes)
- throws CarNotConnectedException, IllegalStateException {
- return mAudioRecord.read(audioData, offsetInBytes, sizeInBytes);
- }
-}
diff --git a/car-support-lib/src/android/support/car/navigation/CarNavigationInstrumentCluster.java b/car-support-lib/src/android/support/car/navigation/CarNavigationInstrumentCluster.java
deleted file mode 100644
index 9f70ef0..0000000
--- a/car-support-lib/src/android/support/car/navigation/CarNavigationInstrumentCluster.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Copyright (C) 2016 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.support.car.navigation;
-
-import static androidx.annotation.RestrictTo.Scope.GROUP_ID;
-
-import android.os.Bundle;
-
-import androidx.annotation.IntDef;
-import androidx.annotation.Nullable;
-import androidx.annotation.RestrictTo;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * Holds options related to navigation for the car's instrument cluster.
- */
-public class CarNavigationInstrumentCluster {
-
- /** Navigation Next Turn messages contain an image, as well as an enum. */
- public static final int CLUSTER_TYPE_CUSTOM_IMAGES_SUPPORTED = 1;
- /** Navigation Next Turn messages contain only an enum. */
- public static final int CLUSTER_TYPE_IMAGE_CODES_ONLY = 2;
-
- /** @hide */
- @Retention(RetentionPolicy.SOURCE)
- @IntDef({
- CLUSTER_TYPE_CUSTOM_IMAGES_SUPPORTED,
- CLUSTER_TYPE_IMAGE_CODES_ONLY
- })
- public @interface ClusterType {}
-
- private int mMinIntervalMillis;
-
- @ClusterType
- private final int mType;
-
- private final int mImageWidth;
-
- private final int mImageHeight;
-
- private final int mImageColorDepthBits;
-
- private final Bundle mExtra;
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public static CarNavigationInstrumentCluster createCluster(int minIntervalMillis) {
- return new CarNavigationInstrumentCluster(minIntervalMillis, CLUSTER_TYPE_IMAGE_CODES_ONLY,
- 0, 0, 0);
- }
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public static CarNavigationInstrumentCluster createCustomImageCluster(int minIntervalMs,
- int imageWidth, int imageHeight, int imageColorDepthBits) {
- return new CarNavigationInstrumentCluster(minIntervalMs,
- CLUSTER_TYPE_CUSTOM_IMAGES_SUPPORTED,
- imageWidth, imageHeight, imageColorDepthBits);
- }
-
- /** Minimum time between instrument cluster updates in milliseconds.*/
- public int getMinIntervalMillis() {
- return mMinIntervalMillis;
- }
-
- /**
- * Type of instrument cluster, can be {@link #CLUSTER_TYPE_CUSTOM_IMAGES_SUPPORTED} or
- * {@link #CLUSTER_TYPE_IMAGE_CODES_ONLY}.
- */
- @ClusterType
- public int getType() {
- return mType;
- }
-
- /**
- * If instrument cluster is image, width of instrument cluster in pixels.
- * @return the width of the image in pixels, 0 otherwise.
- */
- public int getImageWidth() {
- return mImageWidth;
- }
-
- /**
- * If instrument cluster is image, height of instrument cluster in pixels.
- * @return the width of the image in pixels, 0 otherwise.
- */
- public int getImageHeight() {
- return mImageHeight;
- }
-
- /**
- * Contains extra information about instrument cluster.
- * @hide
- */
- public Bundle getExtra() { return mExtra; }
-
- /**
- * @return If instrument cluster is image, number of bits of colour depth it supports (8, 16,
- * or 32), 0 otherwise.
- */
- public int getImageColorDepthBits() {
- return mImageColorDepthBits;
- }
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- public CarNavigationInstrumentCluster(CarNavigationInstrumentCluster that) {
- this(that.mMinIntervalMillis,
- that.mType,
- that.mImageWidth,
- that.mImageHeight,
- that.mImageColorDepthBits);
- }
-
- /**
- * Whether cluster support custom images or not. If not generally the cluster will provide
- * its own images.
- * @return True if supported, false otherwise.
- */
- public boolean supportsCustomImages() {
- return mType == CLUSTER_TYPE_CUSTOM_IMAGES_SUPPORTED;
- }
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- CarNavigationInstrumentCluster(
- int minIntervalMillis,
- @ClusterType int type,
- int imageWidth,
- int imageHeight,
- int imageColorDepthBits) {
- this(minIntervalMillis, type, imageWidth, imageHeight, imageColorDepthBits, null);
- }
-
- /** @hide */
- @RestrictTo(GROUP_ID)
- CarNavigationInstrumentCluster(
- int minIntervalMillis,
- @ClusterType int type,
- int imageWidth,
- int imageHeight,
- int imageColorDepthBits,
- @Nullable Bundle extra) {
- mMinIntervalMillis = minIntervalMillis;
- mType = type;
- mImageWidth = imageWidth;
- mImageHeight = imageHeight;
- mImageColorDepthBits = imageColorDepthBits;
- mExtra = extra == null ? new Bundle() : new Bundle(extra);
- }
-
-
- /** Converts to string for debug purpose. */
- @Override
- public String toString() {
- return CarNavigationInstrumentCluster.class.getSimpleName() + "{ " +
- "minIntervalMillis: " + mMinIntervalMillis + ", " +
- "type: " + mType + ", " +
- "imageWidth: " + mImageWidth + ", " +
- "imageHeight: " + mImageHeight + ", " +
- "imageColourDepthBits: " + mImageColorDepthBits + ", " +
- "extra: " + mExtra + " }";
- }
-}
diff --git a/car-support-lib/src/android/support/car/navigation/CarNavigationStatusManager.java b/car-support-lib/src/android/support/car/navigation/CarNavigationStatusManager.java
deleted file mode 100644
index 3583827..0000000
--- a/car-support-lib/src/android/support/car/navigation/CarNavigationStatusManager.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*
- * Copyright (C) 2016 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.support.car.navigation;
-
-import android.annotation.IntDef;
-import android.graphics.Bitmap;
-import android.os.Bundle;
-import android.support.car.CarManagerBase;
-import android.support.car.CarNotConnectedException;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * APIs for providing navigation status to the instrument cluster. For cars that have a navigation
- * display built into the instrument cluster, a navigation application should also provide
- * turn-by-turn information to the cluster through this manager.
- * <p/>
- * Navigation applications should first call
- * {@link android.support.car.CarAppFocusManager#requestAppFocus(int,
- * android.support.car.CarAppFocusManager.OnAppFocusOwnershipCallback)} and request
- * {@link android.support.car.CarAppFocusManager#APP_FOCUS_TYPE_NAVIGATION}.
- * <p/>
- * After navigation focus is granted, applications should call {@code
- * sendNavigationStatus(STATUS_ACTIVE);} to initialize the cluster and let it know the app will be
- * sending turn events. Then, for each turn of the turn-by-turn guidance, the app calls {@link
- * #sendNavigationTurnEvent(int, CharSequence, int, int, int)}; this sends image data to the cluster
- * (and is why that data is not sent in subsequent turn distance events). To update the distance
- * and time to the next turn, the app should make periodic calls to {@link
- * #sendNavigationTurnDistanceEvent(int, int, int, int)}.
- * <p/>
- * Calling {@code sendNavigationStatus(STATUS_INACTIVE);} when the route is completed allows the
- * car to use the cluster panel for other data (such as media, weather, etc.) and is what a well
- * behaved app is expected to do.
- */
-public abstract class CarNavigationStatusManager implements CarManagerBase {
-
- /**
- * Listener for navigation related events. Callbacks are called in the Looper context.
- */
- public interface CarNavigationCallback {
- /**
- * Instrument Cluster started in navigation mode.
- * @param manager The manager the callback is attached to. Useful if the app wishes to
- * unregister.
- * @param instrumentCluster An object describing the configuration and state of the car's
- * navigation instrument cluster.
- */
- void onInstrumentClusterStarted(CarNavigationStatusManager manager,
- CarNavigationInstrumentCluster instrumentCluster);
-
- /**
- * Instrument cluster ended.
- * @param manager The manager the callback is attached to. Useful if the app wished to
- * unregister.
- */
- void onInstrumentClusterStopped(CarNavigationStatusManager manager);
- }
-
- /* Navigation statuses */
- /** @hide */
- public static final int STATUS_UNAVAILABLE = 0;
- /** @hide */
- public static final int STATUS_ACTIVE = 1;
- /** @hide */
- public static final int STATUS_INACTIVE = 2;
-
- /** @hide */
- @IntDef({
- STATUS_UNAVAILABLE,
- STATUS_ACTIVE,
- STATUS_INACTIVE
- })
- @Retention(RetentionPolicy.SOURCE)
- public @interface Status {}
-
- /* Turn Types */
- /** @hide */
- public static final int TURN_UNKNOWN = 0;
- /** @hide */
- public static final int TURN_DEPART = 1;
- /** @hide */
- public static final int TURN_NAME_CHANGE = 2;
- /** @hide */
- public static final int TURN_SLIGHT_TURN = 3;
- /** @hide */
- public static final int TURN_TURN = 4;
- /** @hide */
- public static final int TURN_SHARP_TURN = 5;
- /** @hide */
- public static final int TURN_U_TURN = 6;
- /** @hide */
- public static final int TURN_ON_RAMP = 7;
- /** @hide */
- public static final int TURN_OFF_RAMP = 8;
- /** @hide */
- public static final int TURN_FORK = 9;
- /** @hide */
- public static final int TURN_MERGE = 10;
- /** @hide */
- public static final int TURN_ROUNDABOUT_ENTER = 11;
- /** @hide */
- public static final int TURN_ROUNDABOUT_EXIT = 12;
- /** @hide */
- public static final int TURN_ROUNDABOUT_ENTER_AND_EXIT = 13;
- /** @hide */
- public static final int TURN_STRAIGHT = 14;
- /** @hide */
- public static final int TURN_FERRY_BOAT = 16;
- /** @hide */
- public static final int TURN_FERRY_TRAIN = 17;
- /** @hide */
- public static final int TURN_DESTINATION = 19;
-
- /** @hide */
- @IntDef({
- TURN_UNKNOWN,
- TURN_DEPART,
- TURN_NAME_CHANGE,
- TURN_SLIGHT_TURN,
- TURN_TURN,
- TURN_SHARP_TURN,
- TURN_U_TURN,
- TURN_ON_RAMP,
- TURN_OFF_RAMP,
- TURN_FORK,
- TURN_MERGE,
- TURN_ROUNDABOUT_ENTER,
- TURN_ROUNDABOUT_EXIT,
- TURN_ROUNDABOUT_ENTER_AND_EXIT,
- TURN_STRAIGHT,
- TURN_FERRY_BOAT,
- TURN_FERRY_TRAIN,
- TURN_DESTINATION
- })
- @Retention(RetentionPolicy.SOURCE)
- public @interface TurnEvent {}
-
- /** @hide */
- public static final int TURN_SIDE_LEFT = 1;
- /** @hide */
- public static final int TURN_SIDE_RIGHT = 2;
- /** @hide */
- public static final int TURN_SIDE_UNSPECIFIED = 3;
-
- /** @hide */
- @IntDef({
- TURN_SIDE_LEFT,
- TURN_SIDE_RIGHT,
- TURN_SIDE_UNSPECIFIED
- })
- public @interface TurnSide {}
-
- /** @hide */
- public static final int DISTANCE_METERS = 1;
- /** @hide */
- public static final int DISTANCE_KILOMETERS = 2;
- /** @hide */
- public static final int DISTANCE_MILES = 3;
- /** @hide */
- public static final int DISTANCE_FEET = 4;
- /** @hide */
- public static final int DISTANCE_YARDS = 5;
-
- /** @hide */
- @IntDef({
- DISTANCE_METERS,
- DISTANCE_KILOMETERS,
- DISTANCE_MILES,
- DISTANCE_FEET,
- DISTANCE_YARDS
- })
- public @interface DistanceUnit {}
-
- /**
- * Event type that holds information about next maneuver.
- * @hide
- */
- public static final int EVENT_TYPE_NEXT_MANEUVER_INFO = 1;
- /**
- * Event type that holds information regarding distance/time to the next maneuver.
- * @hide
- */
- public static final int EVENT_TYPE_NEXT_MANEUVER_COUNTDOWN = 2;
- /**
- * All custom (vendor-specific) event types should be equal or greater than this constant.
- * @hide
- */
- public static final int EVENT_TYPE_VENDOR_FIRST = 1024;
-
- /**
- * Inform the instrument cluster if navigation is active or not.
- * @param status New instrument cluster navigation status, one of the STATUS_* constants in
- * this class.
- * @throws CarNotConnectedException if the connection to the car service has been lost.
- *
- * @deprecated Use {@link #sendEvent(int, Bundle)} instead.
- * @hide
- */
- @Deprecated
- public abstract void sendNavigationStatus(@Status int status) throws CarNotConnectedException;
-
- /**
- * Send a Navigation Next Step event to the car.
- * <p/>
- * Roundabout Example: In a roundabout with four, evenly spaced exits, the
- * first exit is turnNumber=1, turnAngle=90; the second exit is turnNumber=2,
- * turnAngle=180; the third exit is turnNumber=3, turnAngle=270. turnNumber and turnAngle are
- * counted in the direction of travel around the roundabout (clockwise for roads where the car
- * drives on the left side of the road, such as Australia; counter-clockwise for roads
- * where the car drives on the right side of the road, such as the USA).
- *
- * @param turnEvent Turn event type ({@link #TURN_TURN}, {@link #TURN_U_TURN}, {@link
- * #TURN_ROUNDABOUT_ENTER_AND_EXIT}, etc).
- * @param eventName Name of the turn event like road name to turn. For example "Charleston road"
- * in "Turn right to Charleston road"
- * @param turnAngle Turn angle in degrees between the roundabout entry and exit (0..359). Used
- * only for event type {@link #TURN_ROUNDABOUT_ENTER_AND_EXIT}. -1 if unused.
- * @param turnNumber Turn number, counting from the roundabout entry to the exit. Used only
- * for event type {@link #TURN_ROUNDABOUT_ENTER_AND_EXIT}. -1 if unused.
- * @param turnSide Turn side ({@link #TURN_SIDE_LEFT}, {@link #TURN_SIDE_RIGHT} or {@link
- * #TURN_SIDE_UNSPECIFIED}).
- * @throws CarNotConnectedException if the connection to the car service has been lost.
- *
- * @deprecated Use {@link #sendEvent(int, Bundle)} instead.
- * @hide
- */
- @Deprecated
- public abstract void sendNavigationTurnEvent(@TurnEvent int turnEvent, CharSequence eventName,
- int turnAngle, int turnNumber, @TurnSide int turnSide) throws CarNotConnectedException;
-
- /**
- * Same as the public version ({@link #sendNavigationTurnEvent(int, CharSequence, int, int,
- * Bitmap, int)}) except a custom image can be sent to the cluster. See documentation for that
- * method.
- *
- * @param image image to be shown in the instrument cluster. Null if instrument cluster type is
- * {@link CarNavigationInstrumentCluster.ClusterType#CLUSTER_TYPE_IMAGE_CODES_ONLY}, or if
- * the image parameters are malformed (length or width non-positive, or illegal
- * imageColorDepthBits) in the initial NavigationStatusService call.
- *
- * @hide only first party applications may send a custom image to the cluster.
- * @deprecated Use {@link #sendEvent(int, Bundle)} instead.
- */
- @Deprecated
- public abstract void sendNavigationTurnEvent(@TurnEvent int turnEvent, CharSequence eventName,
- int turnAngle, int turnNumber, Bitmap image, @TurnSide int turnSide)
- throws CarNotConnectedException;
-
- /**
- * Send a Navigation Next Step Distance event to the car.
- *
- * @param distanceMeters Distance to next event in meters.
- * @param timeSeconds Time to next event in seconds.
- * @param displayDistanceMillis Distance to the next event formatted as it will be displayed by
- * the calling app, in milli-units. For example, 1.25 should be supplied as 1250.
- * @param displayDistanceUnit Unit type to use on of the DISTANCE_* types defined in this
- * file.
- * @returns {@code true} if successful.
- * @throws CarNotConnectedException if the connection to the car service has been lost.
- *
- * @deprecated Use {@link #sendEvent(int, Bundle)} instead.
- * @hide
- */
- @Deprecated
- public abstract void sendNavigationTurnDistanceEvent(int distanceMeters, int timeSeconds,
- int displayDistanceMillis, int displayDistanceUnit) throws CarNotConnectedException;
-
- /**
- * Sends events from navigation app to instrument cluster.
- *
- * @param eventType event type, the value could be either
- * {@link #EVENT_TYPE_NEXT_MANEUVER_INFO}, {@link #EVENT_TYPE_NEXT_MANEUVER_COUNTDOWN}, or
- * vendor-specific code.
- *
- * @param bundle object that holds data about the event
- * @throws CarNotConnectedException if the connection to the car service has been lost.
- */
- public abstract void sendEvent(int eventType, Bundle bundle)
- throws CarNotConnectedException;
-
- /**
- * @param callback {@link CarNavigationCallback} to be registered, replacing any existing
- * listeners.
- * @throws CarNotConnectedException if the connection to the car service has been lost.
- */
- public abstract void addListener(CarNavigationCallback callback)
- throws CarNotConnectedException;
-
- /**
- * Unregister the {@link CarNavigationCallback} associated with this instance.
- */
- public abstract void removeListener();
-}
diff --git a/car-support-lib/src/android/support/car/navigation/CarNavigationStatusManagerEmbedded.java b/car-support-lib/src/android/support/car/navigation/CarNavigationStatusManagerEmbedded.java
deleted file mode 100644
index 4ab5ec6..0000000
--- a/car-support-lib/src/android/support/car/navigation/CarNavigationStatusManagerEmbedded.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (C) 2016 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.support.car.navigation;
-
-import android.graphics.Bitmap;
-import android.os.Bundle;
-import android.support.car.CarNotConnectedException;
-
-/**
- * @hide
- */
-public class CarNavigationStatusManagerEmbedded extends CarNavigationStatusManager {
-
- private final android.car.navigation.CarNavigationStatusManager mManager;
-
- public CarNavigationStatusManagerEmbedded(Object manager) {
- mManager = (android.car.navigation.CarNavigationStatusManager) manager;
- }
-
- /**
- * @param status new instrument cluster navigation status.
- * @throws CarNotConnectedException if the connection to the car service has been lost.
- */
- @Override
- public void sendNavigationStatus(int status) throws CarNotConnectedException {
- // Not implemented in embedded.
- }
-
- @Override
- public void sendNavigationTurnEvent(int event, CharSequence eventName, int turnAngle,
- int turnNumber, int turnSide) throws CarNotConnectedException {
- // Not implemented in embedded.
- }
-
- @Override
- public void sendNavigationTurnEvent(int event, CharSequence eventName, int turnAngle,
- int turnNumber, Bitmap image, int turnSide) throws CarNotConnectedException {
- // Not implemented in embedded.
- }
-
- @Override
- public void sendNavigationTurnDistanceEvent(int distanceMeters, int timeSeconds,
- int displayDistanceMillis, int displayDistanceUnit) throws CarNotConnectedException {
- // Not implemented in embedded.
- }
-
- @Override
- public void sendEvent(int eventType, Bundle bundle) throws CarNotConnectedException {
- try {
- mManager.sendEvent(eventType, bundle);
- } catch (android.car.CarNotConnectedException e) {
- throw new CarNotConnectedException(e);
- }
- }
-
- @Override
- public void onCarDisconnected() {
- //nothing to do
- }
-
- /**
- * In this implementation we just immediately call {@code listener#onInstrumentClusterStarted}
- * as we expect instrument cluster to be working all the time.
- *
- * @throws CarNotConnectedException if the connection to the car service has been lost.
- */
- @Override
- public void addListener(CarNavigationCallback callback)
- throws CarNotConnectedException {
-
- try {
- callback.onInstrumentClusterStarted(this, convert(mManager.getInstrumentClusterInfo()));
- } catch (android.car.CarNotConnectedException e) {
- throw new CarNotConnectedException(e);
- }
- }
-
- @Override
- public void removeListener() {
- // Nothing to do.
- }
-
- private static CarNavigationInstrumentCluster convert(
- android.car.navigation.CarNavigationInstrumentCluster ic) {
- if (ic == null) {
- return null;
- }
- return new CarNavigationInstrumentCluster(ic.getMinIntervalMillis(), ic.getType(),
- ic.getImageWidth(), ic.getImageHeight(), ic.getImageColorDepthBits(),
- ic.getExtra());
- }
-}
diff --git a/car-usb-handler/res/layout/usb_host.xml b/car-usb-handler/res/layout/usb_host.xml
index fbcc608..7a13c4f 100644
--- a/car-usb-handler/res/layout/usb_host.xml
+++ b/car-usb-handler/res/layout/usb_host.xml
@@ -28,7 +28,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
- android:text="@+string/usb_resolving_handlers"
+ android:text="@string/usb_resolving_handlers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" />
diff --git a/car-usb-handler/src/android/car/usb/handler/BootUsbScanner.java b/car-usb-handler/src/android/car/usb/handler/BootUsbScanner.java
index 5255f16..18dabdc 100644
--- a/car-usb-handler/src/android/car/usb/handler/BootUsbScanner.java
+++ b/car-usb-handler/src/android/car/usb/handler/BootUsbScanner.java
@@ -20,11 +20,13 @@
} else {
UsbDeviceConnection connection = UsbUtil.openConnection(manager, device);
try {
- if (AoapInterface.isSupported(connection)) {
+ if (connection != null && AoapInterface.isSupported(connection)) {
handle(context, device);
}
} finally {
- connection.close();
+ if (connection != null) {
+ connection.close();
+ }
}
}
}
diff --git a/car-usb-handler/src/android/car/usb/handler/UsbDeviceHandlerResolver.java b/car-usb-handler/src/android/car/usb/handler/UsbDeviceHandlerResolver.java
index c0eebbe..51c2838 100644
--- a/car-usb-handler/src/android/car/usb/handler/UsbDeviceHandlerResolver.java
+++ b/car-usb-handler/src/android/car/usb/handler/UsbDeviceHandlerResolver.java
@@ -15,6 +15,7 @@
*/
package android.car.usb.handler;
+import android.annotation.Nullable;
import android.car.IUsbAoapSupportCheckService;
import android.content.ComponentName;
import android.content.Context;
@@ -37,13 +38,16 @@
import android.os.RemoteException;
import android.util.Log;
import android.util.Pair;
+
import com.android.internal.util.XmlUtils;
+
+import org.xmlpull.v1.XmlPullParser;
+
import java.io.IOException;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
-import org.xmlpull.v1.XmlPullParser;
/** Resolves supported handlers for USB device. */
public final class UsbDeviceHandlerResolver {
@@ -70,7 +74,7 @@
private class DeviceContext {
public final UsbDevice usbDevice;
- public final UsbDeviceConnection connection;
+ @Nullable public final UsbDeviceConnection connection;
public final UsbDeviceSettings settings;
public final List<UsbDeviceSettings> activeDeviceSettings;
public final Queue<Pair<ResolveInfo, DeviceFilter>> mActiveDeviceOptions =
@@ -484,7 +488,8 @@
}
DeviceContext deviceContext =
new DeviceContext(device, UsbDeviceSettings.constructSettings(device), settings);
- if (AoapInterface.isSupported(deviceContext.connection)) {
+ if (deviceContext.connection != null
+ && AoapInterface.isSupported(deviceContext.connection)) {
deviceContext.mActiveDeviceOptions.addAll(getDeviceMatches(device, intent, true));
queryNextAoapHandler(deviceContext);
} else {
@@ -516,6 +521,10 @@
private void requestAoapSwitch(UsbDevice device, DeviceFilter filter) {
UsbDeviceConnection connection = UsbUtil.openConnection(mUsbManager, device);
+ if (connection == null) {
+ Log.e(TAG, "Failed to connect to usb device.");
+ return;
+ }
try {
UsbUtil.sendAoapAccessoryStart(
connection,
diff --git a/car-usb-handler/src/android/car/usb/handler/UsbUtil.java b/car-usb-handler/src/android/car/usb/handler/UsbUtil.java
index 939fe3f..823c660 100644
--- a/car-usb-handler/src/android/car/usb/handler/UsbUtil.java
+++ b/car-usb-handler/src/android/car/usb/handler/UsbUtil.java
@@ -15,10 +15,12 @@
*/
package android.car.usb.handler;
+import android.annotation.Nullable;
import android.hardware.usb.UsbDevice;
import android.hardware.usb.UsbDeviceConnection;
import android.hardware.usb.UsbManager;
import android.text.TextUtils;
+
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
@@ -30,7 +32,7 @@
class UsbUtil {
public static List<UsbDevice> findAllPossibleAndroidDevices(UsbManager usbManager) {
HashMap<String, UsbDevice> devices = usbManager.getDeviceList();
- ArrayList<UsbDevice> androidDevices = new ArrayList<>(devices.size());
+ ArrayList<UsbDevice> androidDevices = new ArrayList<>(devices.size());
for (UsbDevice device : devices.values()) {
UsbDeviceConnection connection = openConnection(usbManager, device);
if (AoapInterface.isSupported(connection)) {
@@ -41,11 +43,12 @@
return androidDevices;
}
+ @Nullable
public static UsbDeviceConnection openConnection(UsbManager manager, UsbDevice device) {
- manager.grantPermission(device);
- return manager.openDevice(device);
+ manager.grantPermission(device);
+ return manager.openDevice(device);
}
-
+
public static void sendAoapAccessoryStart(UsbDeviceConnection connection, String manufacturer,
String model, String description, String version, String uri, String serial)
throws IOException {
diff --git a/car_product/build/car.mk b/car_product/build/car.mk
index 0250813..7c08389 100644
--- a/car_product/build/car.mk
+++ b/car_product/build/car.mk
@@ -23,7 +23,6 @@
Bluetooth \
OneTimeInitializer \
Provision \
- SystemUI \
SystemUpdater
PRODUCT_PACKAGES += \
@@ -42,6 +41,7 @@
android.car.cluster.loggingrenderer \
DirectRenderingClusterSample \
com.android.car.powertestservice \
+ GarageModeTestApp \
# SEPolicy for test apps / services
BOARD_SEPOLICY_DIRS += packages/services/Car/car_product/sepolicy/test
@@ -91,10 +91,12 @@
CarRadioApp \
OverviewApp \
CarLauncher \
+ CarSystemUI \
CarLensPickerApp \
LocalMediaPlayer \
CarMediaApp \
CarMessengerApp \
+ CarNotification \
CarHvacApp \
CarMapsPlaceholder \
CarLatinIME \
diff --git a/car_product/build/car_base.mk b/car_product/build/car_base.mk
index 6788a49..244e2e8 100644
--- a/car_product/build/car_base.mk
+++ b/car_product/build/car_base.mk
@@ -53,6 +53,7 @@
libwebrtc_audio_preprocessing \
wifi-service \
A2dpSinkService \
+ PackageInstaller
# EVS resources
PRODUCT_PACKAGES += android.automotive.evs.manager@1.0
diff --git a/car_product/overlay/frameworks/base/core/res/res/color/car_borderless_button_text_color.xml b/car_product/overlay/frameworks/base/core/res/res/color/car_borderless_button_text_color.xml
new file mode 100644
index 0000000..01fc20b
--- /dev/null
+++ b/car_product/overlay/frameworks/base/core/res/res/color/car_borderless_button_text_color.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<!-- Default text colors for car buttons when enabled/disabled. -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:color="@color/car_grey_700" android:state_enabled="false"/>
+ <item android:color="?android:attr/colorButtonNormal"/>
+</selector>
diff --git a/car_product/overlay/frameworks/base/core/res/res/color/car_button_text_color.xml b/car_product/overlay/frameworks/base/core/res/res/color/car_button_text_color.xml
new file mode 100644
index 0000000..7add316
--- /dev/null
+++ b/car_product/overlay/frameworks/base/core/res/res/color/car_button_text_color.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<!-- Default text colors for car buttons when enabled/disabled. -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:color="@color/car_grey_700" android:state_enabled="false"/>
+ <item android:color="@color/car_action1"/>
+</selector>
diff --git a/car_product/overlay/frameworks/base/core/res/res/drawable/car_button_background.xml b/car_product/overlay/frameworks/base/core/res/res/drawable/car_button_background.xml
new file mode 100644
index 0000000..ccc4e22
--- /dev/null
+++ b/car_product/overlay/frameworks/base/core/res/res/drawable/car_button_background.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<!-- Default background styles for car buttons when enabled/disabled. -->
+<ripple
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="?attr/colorControlHighlight">
+ <item>
+ <selector>
+ <item android:state_enabled="false">
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/car_button_radius"/>
+ <solid android:color="@color/car_grey_300"/>
+ </shape>
+ </item>
+ <item>
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/car_button_radius"/>
+ <solid android:color="?android:attr/colorButtonNormal"/>
+ </shape>
+ </item>
+ </selector>
+ </item>
+</ripple>
diff --git a/car_product/overlay/frameworks/base/core/res/res/drawable/car_seekbar_thumb.xml b/car_product/overlay/frameworks/base/core/res/res/drawable/car_seekbar_thumb.xml
new file mode 100644
index 0000000..3729a3b
--- /dev/null
+++ b/car_product/overlay/frameworks/base/core/res/res/drawable/car_seekbar_thumb.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<shape
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="oval">
+ <solid android:color="@color/car_accent" />
+ <size
+ android:width="@dimen/car_seekbar_thumb_size"
+ android:height="@dimen/car_seekbar_thumb_size" />
+</shape>
diff --git a/car_product/overlay/frameworks/base/core/res/res/drawable/car_seekbar_thumb_dark.xml b/car_product/overlay/frameworks/base/core/res/res/drawable/car_seekbar_thumb_dark.xml
new file mode 100644
index 0000000..a469ada
--- /dev/null
+++ b/car_product/overlay/frameworks/base/core/res/res/drawable/car_seekbar_thumb_dark.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<shape
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="oval">
+ <solid android:color="@color/car_accent_dark" />
+ <size
+ android:width="@dimen/car_seekbar_thumb_size"
+ android:height="@dimen/car_seekbar_thumb_size" />
+</shape>
diff --git a/car_product/overlay/frameworks/base/core/res/res/drawable/car_seekbar_thumb_light.xml b/car_product/overlay/frameworks/base/core/res/res/drawable/car_seekbar_thumb_light.xml
new file mode 100644
index 0000000..0509858
--- /dev/null
+++ b/car_product/overlay/frameworks/base/core/res/res/drawable/car_seekbar_thumb_light.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<shape
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="oval">
+ <solid android:color="@color/car_accent_light" />
+ <size
+ android:width="@dimen/car_seekbar_thumb_size"
+ android:height="@dimen/car_seekbar_thumb_size" />
+</shape>
diff --git a/car_product/overlay/frameworks/base/core/res/res/drawable/car_seekbar_track.xml b/car_product/overlay/frameworks/base/core/res/res/drawable/car_seekbar_track.xml
new file mode 100644
index 0000000..fd112b0
--- /dev/null
+++ b/car_product/overlay/frameworks/base/core/res/res/drawable/car_seekbar_track.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:id="@android:id/background">
+ <shape android:shape="line">
+ <stroke
+ android:width="@dimen/car_seekbar_height"
+ android:color="@color/car_seekbar_track_background" />
+ </shape>
+ </item>
+ <item android:id="@android:id/secondaryProgress">
+ <clip>
+ <shape android:shape="line">
+ <stroke
+ android:width="@dimen/car_seekbar_height"
+ android:color="@color/car_seekbar_track_secondary_progress" />
+ </shape>
+ </clip>
+ </item>
+ <item android:id="@android:id/progress">
+ <clip>
+ <shape android:shape="line">
+ <stroke
+ android:width="@dimen/car_seekbar_height"
+ android:color="@color/car_accent" />
+ </shape>
+ </clip>
+ </item>
+</layer-list>
diff --git a/car_product/overlay/frameworks/base/core/res/res/drawable/car_seekbar_track_dark.xml b/car_product/overlay/frameworks/base/core/res/res/drawable/car_seekbar_track_dark.xml
new file mode 100644
index 0000000..b7fa379
--- /dev/null
+++ b/car_product/overlay/frameworks/base/core/res/res/drawable/car_seekbar_track_dark.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<!-- Drawable of seekbar track. Uses dark color for track. -->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:id="@android:id/background">
+ <shape android:shape="line">
+ <stroke
+ android:width="@dimen/car_seekbar_height"
+ android:color="@color/car_seekbar_track_background_dark" />
+ </shape>
+ </item>
+ <item android:id="@android:id/secondaryProgress">
+ <clip>
+ <shape android:shape="line">
+ <stroke
+ android:width="@dimen/car_seekbar_height"
+ android:color="@color/car_seekbar_track_secondary_progress" />
+ </shape>
+ </clip>
+ </item>
+ <item android:id="@android:id/progress">
+ <clip>
+ <shape android:shape="line">
+ <stroke
+ android:width="@dimen/car_seekbar_height"
+ android:color="@color/car_accent_light" />
+ </shape>
+ </clip>
+ </item>
+</layer-list>
diff --git a/car_product/overlay/frameworks/base/core/res/res/drawable/car_seekbar_track_light.xml b/car_product/overlay/frameworks/base/core/res/res/drawable/car_seekbar_track_light.xml
new file mode 100644
index 0000000..a9df2b6
--- /dev/null
+++ b/car_product/overlay/frameworks/base/core/res/res/drawable/car_seekbar_track_light.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<!-- Drawable of seekbar track. Uses light color for track. -->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:id="@android:id/background">
+ <shape android:shape="line">
+ <stroke
+ android:width="@dimen/car_seekbar_height"
+ android:color="@color/car_seekbar_track_background_light" />
+ </shape>
+ </item>
+ <item android:id="@android:id/secondaryProgress">
+ <clip>
+ <shape android:shape="line">
+ <stroke
+ android:width="@dimen/car_seekbar_height"
+ android:color="@color/car_seekbar_track_secondary_progress" />
+ </shape>
+ </clip>
+ </item>
+ <item android:id="@android:id/progress">
+ <clip>
+ <shape android:shape="line">
+ <stroke
+ android:width="@dimen/car_seekbar_height"
+ android:color="@color/car_accent_dark" />
+ </shape>
+ </clip>
+ </item>
+</layer-list>
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/values-sw720dp/dimens.xml b/car_product/overlay/frameworks/base/core/res/res/drawable/toast_frame.xml
similarity index 69%
rename from car_product/overlay/frameworks/base/packages/SystemUI/res/values-sw720dp/dimens.xml
rename to car_product/overlay/frameworks/base/core/res/res/drawable/toast_frame.xml
index 3ab2968..fd542f5 100644
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/values-sw720dp/dimens.xml
+++ b/car_product/overlay/frameworks/base/core/res/res/drawable/toast_frame.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
-/*
-** Copyright 2016, The Android Open Source Project
+/* Copyright 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.
@@ -16,7 +15,9 @@
** limitations under the License.
*/
-->
-<resources>
- <!-- gap on either side of status bar notification icons -->
- <dimen name="status_bar_icon_padding">8dp</dimen>
-</resources>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <solid android:color="@*android:color/car_toast_background"/>
+ <corners android:radius="22dp" />
+</shape>
+
diff --git a/car_product/overlay/frameworks/base/core/res/res/layout/alert_dialog_button_bar_material.xml b/car_product/overlay/frameworks/base/core/res/res/layout/alert_dialog_button_bar_material.xml
index 7203849..f929d10 100644
--- a/car_product/overlay/frameworks/base/core/res/res/layout/alert_dialog_button_bar_material.xml
+++ b/car_product/overlay/frameworks/base/core/res/res/layout/alert_dialog_button_bar_material.xml
@@ -26,9 +26,9 @@
<com.android.internal.widget.ButtonBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginStart="@dimen/car_keyline_1"
- android:layout_marginEnd="@dimen/car_keyline_1"
- android:layout_marginTop="@dimen/car_padding_2"
+ android:paddingStart="@dimen/car_keyline_1"
+ android:paddingEnd="@dimen/car_keyline_1"
+ android:paddingTop="@dimen/car_padding_2"
android:layoutDirection="locale"
android:orientation="horizontal"
android:gravity="center_vertical">
diff --git a/car_product/overlay/frameworks/base/core/res/res/layout/alert_dialog_title_material.xml b/car_product/overlay/frameworks/base/core/res/res/layout/alert_dialog_title_material.xml
index 0071d5c..3a9da1f 100644
--- a/car_product/overlay/frameworks/base/core/res/res/layout/alert_dialog_title_material.xml
+++ b/car_product/overlay/frameworks/base/core/res/res/layout/alert_dialog_title_material.xml
@@ -51,7 +51,7 @@
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/car_keyline_1"
android:layout_marginEnd="@dimen/car_keyline_1"
- style="@style/CarTitle"/>
+ style="?attr/windowTitleStyle" />
</RelativeLayout>
<Space
diff --git a/car_product/overlay/frameworks/base/core/res/res/layout/transient_notification.xml b/car_product/overlay/frameworks/base/core/res/res/layout/transient_notification.xml
new file mode 100644
index 0000000..aff87b2
--- /dev/null
+++ b/car_product/overlay/frameworks/base/core/res/res/layout/transient_notification.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+** Copyright 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.
+*/
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:background="?android:attr/toastFrameBackground">
+
+ <TextView
+ android:id="@android:id/message"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:layout_marginHorizontal="24dp"
+ android:layout_marginVertical="15dp"
+ android:layout_gravity="center_horizontal"
+ android:textAppearance="@style/TextAppearance.Toast"
+ android:textColor="?android:attr/textColorPrimary"
+ />
+
+</LinearLayout>
+
+
diff --git a/car_product/overlay/frameworks/base/core/res/res/values-night/colors.xml b/car_product/overlay/frameworks/base/core/res/res/values-night/colors.xml
deleted file mode 100644
index 9865fe7..0000000
--- a/car_product/overlay/frameworks/base/core/res/res/values-night/colors.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 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.
-*/
--->
-<resources>
- <!-- The background color for the container of notification actions. -->
- <color name="notification_action_list">#ff11181d</color> <!-- Dark Blue Grey 800 -->
-
- <!-- The primary text color if the text is on top of a dark background. -->
- <color name="notification_primary_text_color_light">#fff5f5f5</color> <!-- Grey 100 -->
-
- <!-- The primary text color if the text is on top of a light background. -->
- <color name="notification_primary_text_color_dark">#ff212121</color> <!-- Grey 900 -->
-
- <!-- The secondary text color if the text is on top of a dark background. -->
- <color name="notification_secondary_text_color_light">#ffe0e0e0</color> <!-- Grey 300 -->
-
- <!-- The background color of a notification card. -->
- <color name="notification_material_background_color">#ff172026</color> <!-- Dark Blue Grey 700 -->
-
- <!-- The secondary text color if the text is on top of a dark background. -->
- <color name="notification_secondary_text_color_dark">#ff6B6B6B</color> <!-- Grey 650 -->
-</resources>
diff --git a/car_product/overlay/frameworks/base/core/res/res/values-sw900dp/dimens.xml b/car_product/overlay/frameworks/base/core/res/res/values-sw900dp/dimens.xml
deleted file mode 100644
index d1af884..0000000
--- a/car_product/overlay/frameworks/base/core/res/res/values-sw900dp/dimens.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- * 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.
-*/
--->
-<resources>
-
- <!-- Height of the bottom navigation / system bar. -->
- <dimen name="navigation_bar_height">112dp</dimen>
-
- <!-- Height of the bottom navigation bar in landscape; often
- the same as @dimen/navigation_bar_height -->
- <dimen name="navigation_bar_height_landscape">112dp</dimen>
-
-</resources>
diff --git a/car_product/overlay/frameworks/base/core/res/res/values-w1920dp/dimens.xml b/car_product/overlay/frameworks/base/core/res/res/values-w1920dp/dimens.xml
index dcb92dc..389f162 100644
--- a/car_product/overlay/frameworks/base/core/res/res/values-w1920dp/dimens.xml
+++ b/car_product/overlay/frameworks/base/core/res/res/values-w1920dp/dimens.xml
@@ -15,6 +15,5 @@
-->
<resources>
- <dimen name="status_bar_height">56dp</dimen>
<dimen name="car_keyline_4">184dp</dimen>
</resources>
diff --git a/car_product/overlay/frameworks/base/core/res/res/values-w690dp/dimens.xml b/car_product/overlay/frameworks/base/core/res/res/values-w690dp/dimens.xml
index ce66163..4757cd2 100644
--- a/car_product/overlay/frameworks/base/core/res/res/values-w690dp/dimens.xml
+++ b/car_product/overlay/frameworks/base/core/res/res/values-w690dp/dimens.xml
@@ -18,4 +18,5 @@
<dimen name="car_keyline_2">96dp</dimen>
<dimen name="car_keyline_3">112dp</dimen>
<dimen name="car_keyline_4">148dp</dimen>
+ <dimen name="car_margin">112dp</dimen>
</resources>
diff --git a/car_product/overlay/frameworks/base/core/res/res/values/colors.xml b/car_product/overlay/frameworks/base/core/res/res/values/colors.xml
index 37dc0bf..82398bb 100644
--- a/car_product/overlay/frameworks/base/core/res/res/values/colors.xml
+++ b/car_product/overlay/frameworks/base/core/res/res/values/colors.xml
@@ -17,171 +17,27 @@
*/
-->
<resources>
+
<!-- The background color for the container of notification actions. -->
- <color name="notification_action_list">#ffeeeeee</color> <!-- Grey 200 -->
+ <color name="notification_action_list">@color/car_colorSecondary</color>
<!-- The primary text color if the text is on top of a light background. -->
- <color name="notification_primary_text_color_light">#ff212121</color> <!-- Grey 900 -->
+ <color name="notification_primary_text_color_light">@color/car_body1</color>
<!-- The primary text color if the text is on top of a dark background. -->
- <color name="notification_primary_text_color_dark">#fff5f5f5</color> <!-- Grey 100 -->
+ <color name="notification_primary_text_color_dark">@color/car_body1</color>
+
+ <!-- The secondary text color if the text is on top of a light background. -->
+ <color name="notification_secondary_text_color_light">@color/car_body2</color>
<!-- The secondary text color if the text is on top of a dark background. -->
- <color name="notification_secondary_text_color_light">#ff6B6B6B</color> <!-- Grey 650 -->
-
- <!-- The secondary text color if the text is on top of a dark background. -->
- <color name="notification_secondary_text_color_dark">#ffe0e0e0</color> <!-- Grey 300 -->
+ <color name="notification_secondary_text_color_dark">@color/car_body2</color>
<!-- The background color of a notification card. -->
- <color name="notification_material_background_color">#fffafafa</color> <!-- Grey 50 -->
+ <color name="notification_material_background_color">@color/car_colorPrimary</color>
<!-- The default color for text in a notification. This color is also the default color for
icons. -->
- <color name="notification_default_color">@color/notification_primary_text_color_light</color>
+ <color name="notification_default_color">@color/car_accent</color>
- <!-- Keep in sync with //frameworks/support/car/res/values/colors.xml -->
- <color name="car_grey_50">#fffafafa</color>
- <color name="car_grey_100">#fff5f5f5</color>
- <color name="car_grey_200">#ffeeeeee</color>
- <color name="car_grey_300">#ffe0e0e0</color>
- <color name="car_grey_400">#ffbdbdbd</color>
- <color name="car_grey_500">#ff9e9e9e</color>
- <color name="car_grey_600">#ff757575</color>
- <color name="car_grey_650">#ff6B6B6B</color>
- <color name="car_grey_700">#ff616161</color>
- <color name="car_grey_800">#ff424242</color>
- <color name="car_grey_900">#ff212121</color>
- <color name="car_grey_1000">#cc000000</color>
- <color name="car_white_1000">#1effffff</color>
- <color name="car_blue_grey_800">#ff37474F</color>
- <color name="car_blue_grey_900">#ff263238</color>
- <color name="car_dark_blue_grey_600">#ff1d272d</color>
- <color name="car_dark_blue_grey_700">#ff172026</color>
- <color name="car_dark_blue_grey_800">#ff11181d</color>
- <color name="car_dark_blue_grey_900">#ff0c1013</color>
- <color name="car_dark_blue_grey_1000">#ff090c0f</color>
- <color name="car_light_blue_300">#ff4fc3f7</color>
- <color name="car_light_blue_500">#ff03A9F4</color>
- <color name="car_light_blue_600">#ff039be5</color>
- <color name="car_light_blue_700">#ff0288d1</color>
- <color name="car_light_blue_800">#ff0277bd</color>
- <color name="car_light_blue_900">#ff01579b</color>
- <color name="car_blue_300">#ff91a7ff</color>
- <color name="car_blue_500">#ff5677fc</color>
- <color name="car_green_500">#ff0f9d58</color>
- <color name="car_green_700">#ff0b8043</color>
- <color name="car_yellow_500">#fff4b400</color>
- <color name="car_yellow_800">#ffee8100</color>
- <color name="car_red_400">#ffe06055</color>
- <color name="car_red_500">#ffdb4437</color>
- <color name="car_red_500a">#ffd50000</color>
- <color name="car_red_700">#ffc53929</color>
- <color name="car_teal_200">#ff80cbc4</color>
- <color name="car_teal_700">#ff00796b</color>
- <color name="car_indigo_800">#ff283593</color>
-
- <!-- Various colors for text sizes. "Light" and "dark" here refer to the lighter or darker
- shades. -->
- <color name="car_title_light">@color/car_grey_100</color>
- <color name="car_title_dark">@color/car_grey_900</color>
- <color name="car_title">@color/car_title_dark</color>
-
- <color name="car_title2_light">@color/car_grey_100</color>
- <color name="car_title2_dark">@color/car_grey_900</color>
- <color name="car_title2">@color/car_title2_dark</color>
-
- <color name="car_headline1_light">@color/car_grey_100</color>
- <color name="car_headline1_dark">@color/car_grey_800</color>
- <color name="car_headline1">@color/car_headline1_dark</color>
-
- <color name="car_headline2_light">@color/car_grey_100</color>
- <color name="car_headline2_dark">@color/car_grey_900</color>
- <color name="car_headline2">@color/car_headline2_dark</color>
-
- <color name="car_headline3_light">@android:color/white</color>
- <color name="car_headline3_dark">@color/car_grey_900</color>
- <color name="car_headline3">@color/car_headline3_dark</color>
-
- <color name="car_headline4_light">@android:color/white</color>
- <color name="car_headline4_dark">@android:color/black</color>
- <color name="car_headline4">@color/car_headline4_dark</color>
-
- <color name="car_body1_light">@color/car_grey_100</color>
- <color name="car_body1_dark">@color/car_grey_900</color>
- <color name="car_body1">@color/car_body1_dark</color>
-
- <color name="car_body2_light">@color/car_grey_300</color>
- <color name="car_body2_dark">@color/car_grey_650</color>
- <color name="car_body2">@color/car_body2_dark</color>
-
- <color name="car_body3_light">@android:color/white</color>
- <color name="car_body3_dark">@android:color/black</color>
- <color name="car_body3">@color/car_body3_dark</color>
-
- <color name="car_body4_light">@android:color/white</color>
- <color name="car_body4_dark">@android:color/black</color>
- <color name="car_body4">@color/car_body4_dark</color>
-
- <color name="car_action1_light">@color/car_grey_900</color>
- <color name="car_action1_dark">@color/car_grey_50</color>
- <color name="car_action1">@color/car_action1_dark</color>
-
- <!-- The tinting colors to create a light- and dark-colored icon respectively. -->
- <color name="car_tint_light">@color/car_grey_50</color>
- <color name="car_tint_dark">@color/car_grey_900</color>
-
- <!-- The tinting color for an icon. This icon is assumed to be on a light background. -->
- <color name="car_tint">@color/car_tint_dark</color>
-
- <!-- An inverted tinting from car_tint. -->
- <color name="car_tint_inverse">@color/car_tint_light</color>
-
- <!-- The color of the divider. The color here is a lighter shade. -->
- <color name="car_list_divider_light">#1fffffff</color>
-
- <!-- The color of the divider. The color here is a darker shade. -->
- <color name="car_list_divider_dark">#1f000000</color>
-
- <!-- The color of the dividers in the list. This color is assumed to be on a light colored
- view. -->
- <color name="car_list_divider">@color/car_list_divider_dark</color>
-
- <!-- A light and dark colored card. -->
- <color name="car_card_light">@color/car_grey_50</color>
- <color name="car_card_dark">@color/car_dark_blue_grey_700</color>
-
- <!-- The default color of a card in car UI. -->
- <color name="car_card">@color/car_card_light</color>
-
- <!-- The ripple colors. The "dark" and "light" designation here refers to the color of the
- ripple itself. -->
- <color name="car_card_ripple_background_dark">#8F000000</color>
- <color name="car_card_ripple_background_light">#27ffffff</color>
-
- <!-- The ripple color for a light colored card. -->
- <color name="car_card_ripple_background">@color/car_card_ripple_background_dark</color>
-
- <!-- The ripple color for a dark-colored card. This color is the opposite of
- car_card_ripple_background. -->
- <color name="car_card_ripple_background_inverse">@color/car_card_ripple_background_light</color>
-
- <!-- The top margin before the start of content in an application. -->
- <dimen name="app_header_height">96dp</dimen>
-
- <!-- The lighter and darker color for the scrollbar thumb. -->
- <color name="car_scrollbar_thumb_light">#99ffffff</color>
- <color name="car_scrollbar_thumb_dark">#7f0b0f12</color>
-
- <!-- The color of the scroll bar indicator in the PagedListView. This color is assumed to be on
- a light-colored background. -->
- <color name="car_scrollbar_thumb">@color/car_scrollbar_thumb_dark</color>
-
- <!-- The inverted color of the scroll bar indicator. This color is always the opposite of
- car_scrollbar_thumb. -->
- <color name="car_scrollbar_thumb_inverse">@color/car_scrollbar_thumb_light</color>
-
- <!-- Misc colors -->
- <color name="car_highlight_light">@color/car_teal_700</color>
- <color name="car_highlight_dark">@color/car_teal_200</color>
- <color name="car_highlight">@color/car_highlight_light</color>
</resources>
diff --git a/car_product/overlay/frameworks/base/core/res/res/values/colors_device_defaults.xml b/car_product/overlay/frameworks/base/core/res/res/values/colors_device_defaults.xml
new file mode 100644
index 0000000..110be4f
--- /dev/null
+++ b/car_product/overlay/frameworks/base/core/res/res/values/colors_device_defaults.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 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.
+*/
+-->
+<resources>
+ <color name="primary_device_default_dark">@color/car_colorPrimary</color>
+ <color name="primary_device_default_light">@color/car_colorPrimary</color>
+
+ <color name="primary_device_default_settings">@color/car_colorPrimary</color>
+ <color name="primary_device_default_settings_light">@color/car_colorPrimary</color>
+
+ <color name="primary_dark_device_default_dark">@color/car_colorSecondary</color>
+ <color name="primary_dark_device_default_light">@color/car_colorSecondary</color>
+
+ <color name="primary_dark_device_default_settings">@color/car_colorSecondary</color>
+ <color name="primary_dark_device_default_settings_light">@color/car_colorSecondary</color>
+
+ <color name="secondary_device_default_settings">@color/car_colorSecondary</color>
+ <color name="secondary_device_default_settings_light">@color/car_colorSecondary</color>
+
+ <color name="tertiary_device_default_settings">@color/car_grey_772</color>
+ <color name="quaternary_device_default_settings">@color/car_grey_746</color>
+
+ <color name="accent_device_default_light">@color/car_accent</color>
+ <color name="accent_device_default_dark">@color/car_accent</color>
+
+ <color name="background_device_default_dark">@color/car_background</color>
+ <color name="background_device_default_light">@color/car_background</color>
+
+ <color name="background_floating_device_default_dark">@color/car_colorSecondary</color>
+ <color name="background_floating_device_default_light">@color/car_colorSecondary</color>
+
+ <color name="error_color_device_default_dark">@color/car_red_a700</color>
+ <color name="error_color_device_default_light">@color/car_red_a700</color>
+</resources>
\ No newline at end of file
diff --git a/car_product/overlay/frameworks/base/core/res/res/values/config.xml b/car_product/overlay/frameworks/base/core/res/res/values/config.xml
index 52fcf2b..9a8681a 100644
--- a/car_product/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/car_product/overlay/frameworks/base/core/res/res/values/config.xml
@@ -77,4 +77,6 @@
<!-- Corner radius of system dialogs -->
<dimen name="config_dialogCornerRadius">16dp</dimen>
+
+ <string name="config_headlineFontFamilyMedium">sans-serif-medium</string>
</resources>
diff --git a/car_product/overlay/frameworks/base/core/res/res/values/dimens.xml b/car_product/overlay/frameworks/base/core/res/res/values/dimens.xml
index 2adc535..f343e93 100644
--- a/car_product/overlay/frameworks/base/core/res/res/values/dimens.xml
+++ b/car_product/overlay/frameworks/base/core/res/res/values/dimens.xml
@@ -17,12 +17,13 @@
*/
-->
<resources>
- <dimen name="status_bar_height">36dp</dimen>
-
- <!-- Both of these are used in separate positions so make sure that they remain the same. -->
- <dimen name="navigation_bar_height_car_mode">112dp</dimen>
- <dimen name="navigation_bar_height_landscape">112dp</dimen>
- <dimen name="status_bar_icon_size">40dp</dimen>
+ <dimen name="status_bar_height">96dp</dimen>
+ <dimen name="status_bar_height_landscape">96dp</dimen>
+ <dimen name="status_bar_height_portrait">96dp</dimen>
+ <dimen name="car_qs_header_system_icons_area_height">96dp</dimen>
+ <dimen name="navigation_bar_height">128dp</dimen>
+ <dimen name="navigation_bar_height_landscape">128dp</dimen>
+ <dimen name="status_bar_icon_size">36dp</dimen>
<!-- The height of the header of a notification. -->
<dimen name="notification_header_height">58dp</dimen>
@@ -108,37 +109,6 @@
<!-- The top margin before the notification progress bar. -->
<dimen name="notification_progress_margin_top">16dp</dimen>
- <!-- Text size for car -->
- <dimen name="car_title2_size">40sp</dimen>
- <dimen name="car_body1_size">40sp</dimen>
- <dimen name="car_body2_size">32sp</dimen>
- <dimen name="car_action1_size">32sp</dimen>
-
- <!-- Common icon size for car app -->
- <dimen name="car_icon_size">56dp</dimen>
-
- <dimen name="car_card_header_height">96dp</dimen>
- <dimen name="car_card_action_bar_height">96dp</dimen>
-
- <!-- Paddings -->
- <dimen name="car_padding_1">4dp</dimen>
- <dimen name="car_padding_2">10dp</dimen>
- <dimen name="car_padding_3">16dp</dimen>
- <dimen name="car_padding_4">28dp</dimen>
- <dimen name="car_padding_5">32dp</dimen>
-
- <!-- Radius -->
- <dimen name="car_radius_1">4dp</dimen>
- <dimen name="car_radius_2">8dp</dimen>
- <dimen name="car_radius_3">16dp</dimen>
- <dimen name="car_radius_5">100dp</dimen>
-
- <!-- Keylines for content. -->
- <dimen name="car_keyline_1">48dp</dimen>
- <dimen name="car_keyline_2">108dp</dimen>
- <dimen name="car_keyline_3">152dp</dimen>
- <dimen name="car_keyline_4">182dp</dimen>
-
<!-- Make the dots in lock pattern thicker in Car -->
<dimen name="lock_pattern_dot_size">20dp</dimen>
</resources>
diff --git a/car_product/overlay/frameworks/base/core/res/res/values/styles.xml b/car_product/overlay/frameworks/base/core/res/res/values/styles.xml
index f654f3d..99b7015 100644
--- a/car_product/overlay/frameworks/base/core/res/res/values/styles.xml
+++ b/car_product/overlay/frameworks/base/core/res/res/values/styles.xml
@@ -75,48 +75,5 @@
<item name="paddingBottom">@dimen/media_notification_actions_padding_bottom</item>
<item name="gravity">center</item>
</style>
-
- <!-- Car text -->
- <style name="CarBody2">
- <item name="android:textStyle">normal</item>
- <item name="android:textSize">@dimen/car_body2_size</item>
- <item name="android:textColor">@color/car_body2</item>
- </style>
-
- <style name="CarBody2.Dark">
- <item name="android:textColor">@color/car_body2_dark</item>
- </style>
- <style name="CarBody2.Light">
- <item name="android:textColor">@color/car_body2_light</item>
- </style>
-
- <style name="CarAction1">
- <item name="android:textStyle">bold</item>
- <item name="android:textSize">@dimen/car_action1_size</item>
- <item name="android:textColor">@color/car_highlight</item>
- </style>
-
- <style name="CarAction1.Dark">
- <item name="android:textColor">@color/car_highlight_dark</item>
- </style>
- <style name="CarAction1.Light">
- <item name="android:textColor">@color/car_highlight_light</item>
- </style>
-
- <!-- The styling for title text. The color of this text changes based on day/night mode. -->
- <style name="CarTitle" >
- <item name="android:textStyle">bold</item>
- <item name="android:textSize">@dimen/car_title2_size</item>
- <item name="android:textColor">@color/car_title</item>
- </style>
- <!-- Title text that is permanently a dark color. -->
- <style name="CarTitle.Dark" >
- <item name="android:textColor">@color/car_title_dark</item>
- </style>
-
- <!-- Title text that is permanently a light color. -->
- <style name="CarTitle.Light" >
- <item name="android:textColor">@color/car_title_light</item>
- </style>
</resources>
diff --git a/car_product/overlay/frameworks/base/core/res/res/values/styles_device_default.xml b/car_product/overlay/frameworks/base/core/res/res/values/styles_device_default.xml
new file mode 100644
index 0000000..0c949df
--- /dev/null
+++ b/car_product/overlay/frameworks/base/core/res/res/values/styles_device_default.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<!--
+ This is an override of frameworks/base/core/res/res/values/styles_device_default.xml
+ It is how the device default is changed to match the desired look for a car theme.
+-->
+<resources>
+
+ <style name="TextAppearance.DeviceDefault.Widget.Button.Borderless.Colored"
+ parent="TextAppearance.DeviceDefault.Widget.Button">
+ <item name="textColor">@color/car_borderless_button_text_color</item>
+ </style>
+
+ <style name="DialogWindowTitle.DeviceDefault" parent="DialogWindowTitle.Material">
+ <item name="textAppearance">@style/TextAppearance.DeviceDefault.DialogWindowTitle</item>
+ </style>
+ <style name="TextAppearance.DeviceDefault.DialogWindowTitle" parent="TextAppearance.Material.DialogWindowTitle">
+ <item name="fontFamily">@string/config_headlineFontFamilyMedium</item>
+ <item name="textStyle">normal</item>
+ <item name="textSize">@dimen/car_body2_size</item>
+ <item name="textColor">@color/car_body2</item>
+ </style>
+ <style name="TextAppearance.Material.DialogWindowTitle" parent="TextAppearance.Material.Title" />
+ <style name="TextAppearance.Material.Title">
+ <item name="textSize">@dimen/text_size_title_material</item>
+ <item name="fontFamily">@string/font_family_title_material</item>
+ <item name="textColor">?attr/textColorPrimary</item>
+ </style>
+
+ <style name="TextAppearance.DeviceDefault.Widget.Button" parent="TextAppearance.Material.Widget.Button">
+ <item name="fontFamily">@string/config_headlineFontFamilyMedium</item>
+ <item name="textAllCaps">@bool/config_buttonTextAllCaps</item>
+ <item name="textSize">@dimen/car_action1_size</item>
+ <item name="textColor">@color/car_button_text_color</item>
+ </style>
+
+ <style name="Widget.DeviceDefault.Button" parent="Widget.Material.Button">
+ <item name="background">@drawable/car_button_background</item>
+ <item name="layout_height">@dimen/car_button_height</item>
+ <item name="minWidth">@dimen/car_button_min_width</item>
+ <item name="paddingStart">@dimen/car_button_horizontal_padding</item>
+ <item name="paddingEnd">@dimen/car_button_horizontal_padding</item>
+ </style>
+
+ <style name="Widget.DeviceDefault.ProgressBar.Horizontal" parent="Widget.Material.ProgressBar.Horizontal">
+ <item name="minHeight">@dimen/car_progress_bar_height</item>
+ <item name="maxHeight">@dimen/car_progress_bar_height</item>
+ </style>
+
+ <style name="Widget.DeviceDefault.SeekBar" parent="Widget.Material.SeekBar">
+ <item name="progressDrawable">@drawable/car_seekbar_track</item>
+ <item name="thumb">@drawable/car_seekbar_thumb</item>
+ </style>
+
+ <!--TextAppearance used for edit text -->
+ <style name="TextAppearance.DeviceDefault.Medium.Inverse" parent="TextAppearance.Material.Medium.Inverse">
+ <item name="textStyle">normal</item>
+ <item name="textSize">@dimen/car_body1_size</item>
+ </style>
+</resources>
diff --git a/car_product/overlay/frameworks/base/core/res/res/values/themes_device_defaults.xml b/car_product/overlay/frameworks/base/core/res/res/values/themes_device_defaults.xml
new file mode 100644
index 0000000..c5e6e5c
--- /dev/null
+++ b/car_product/overlay/frameworks/base/core/res/res/values/themes_device_defaults.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<!--
+ This is an override of frameworks/base/core/res/res/values/themes_device_default.xml
+ It is how the device default is changed to match the desired look for a car theme.
+-->
+<resources>
+ <style name="Theme.DeviceDefault" parent="Theme.DeviceDefaultBase">
+ <item name="background">@null</item>
+ <item name="borderlessButtonStyle">@style/Widget.DeviceDefault.Button.Borderless.Colored</item>
+ <item name="buttonBarButtonStyle">@style/Widget.DeviceDefault.Button.ButtonBar.AlertDialog</item>
+ <item name="buttonStyle">@style/Widget.DeviceDefault.Button</item>
+ <item name="colorAccent">@color/accent_device_default_light</item>
+ <item name="colorBackground">@color/background_device_default_light</item>
+ <item name="colorBackgroundFloating">@color/background_floating_device_default_light</item>
+ <item name="colorButtonNormal">@color/car_highlight</item>
+ <item name="colorControlHighlight">@color/car_card_ripple_background</item>
+ <item name="colorControlNormal">@color/car_body2</item>
+ <item name="colorPrimary">@color/car_grey_928</item>
+ <item name="colorPrimaryDark">@color/car_grey_958</item>
+ <item name="editTextColor">@color/car_body1</item>
+ <item name="textColorHint">@color/car_body2</item>
+ <item name="textColorPrimary">@color/car_body1</item>
+ <item name="textColorSecondary">@color/car_body2</item>
+ <item name="toastFrameBackground">@drawable/toast_frame</item>
+ </style>
+ <style name="Theme.DeviceDefault.Dialog" parent="Theme.Material.Dialog" >
+ <item name="borderlessButtonStyle">@style/Widget.DeviceDefault.Button.Borderless.Colored</item>
+ <item name="buttonBarButtonStyle">@style/Widget.DeviceDefault.Button.ButtonBar.AlertDialog</item>
+ <item name="buttonStyle">@style/Widget.DeviceDefault.Button</item>
+ <item name="colorAccent">@color/accent_device_default_light</item>
+ <item name="colorBackground">@color/background_device_default_light</item>
+ <item name="colorBackgroundFloating">@color/background_floating_device_default_light</item>
+ <item name="colorButtonNormal">@color/car_highlight</item>
+ <item name="colorControlHighlight">@color/car_card_ripple_background</item>
+ <item name="colorControlNormal">@color/car_body2</item>
+ <item name="colorPrimary">@color/car_grey_928</item>
+ <item name="colorPrimaryDark">@color/car_grey_958</item>
+ <item name="editTextColor">@color/car_body1</item>
+ <item name="textColorHint">@color/car_body2</item>
+ <item name="textColorPrimary">@color/car_body1</item>
+ <item name="textColorSecondary">@color/car_body2</item>
+ <item name="toastFrameBackground">@drawable/toast_frame</item>
+ </style>
+ <style name="Theme.DeviceDefault.Dialog.NoActionBar">
+ <item name="windowActionBar">false</item>
+ <item name="windowNoTitle">true</item>
+ </style>
+ <style name="Theme.DeviceDefault.Dialog.Alert" parent="Theme.Material.Dialog.Alert">
+ <item name="borderlessButtonStyle">@style/Widget.DeviceDefault.Button.Borderless.Colored</item>
+ <item name="buttonBarButtonStyle">@style/Widget.DeviceDefault.Button.ButtonBar.AlertDialog</item>
+ <item name="buttonStyle">@style/Widget.DeviceDefault.Button</item>
+ <item name="colorAccent">@color/accent_device_default_light</item>
+ <item name="colorBackground">@color/background_device_default_light</item>
+ <item name="colorBackgroundFloating">@color/background_floating_device_default_light</item>
+ <item name="colorButtonNormal">@color/car_highlight</item>
+ <item name="colorControlHighlight">@color/car_card_ripple_background</item>
+ <item name="colorControlNormal">@color/car_body2</item>
+ <item name="colorPrimary">@color/car_grey_928</item>
+ <item name="colorPrimaryDark">@color/car_grey_958</item>
+ <item name="editTextColor">@color/car_body1</item>
+ <item name="textColorHint">@color/car_body2</item>
+ <item name="textColorPrimary">@color/car_body1</item>
+ <item name="textColorSecondary">@color/car_body2</item>
+ <item name="toastFrameBackground">@drawable/toast_frame</item>
+ </style>
+ <!-- The light theme is defined to be the same as the default since currently there is only one
+ defined theme palette -->
+ <style name="Theme.DeviceDefault.Light"/>
+ <style name="Theme.DeviceDefault.Light.Dialog" parent="Theme.DeviceDefault.Dialog"/>
+ <style name="Theme.DeviceDefault.Light.Dialog.Alert" parent="Theme.DeviceDefault.Dialog.Alert"/>
+ <style name="Theme.DeviceDefault.Light.Dialog.NoActionBar" parent="Theme.DeviceDefault.Dialog.NoActionBar"/>
+
+ <style name="Theme.DeviceDefault.Light.NoActionBar">
+ <item name="windowActionBar">false</item>
+ <item name="windowNoTitle">true</item>
+ </style>
+ <style name="Theme.DeviceDefault.NoActionBar">
+ <item name="windowActionBar">false</item>
+ <item name="windowNoTitle">true</item>
+ </style>
+ <style name="Theme.DeviceDefault.Settings"/>
+ <style name="Theme.DeviceDefault.Settings.NoActionBar" parent="Theme.DeviceDefault.NoActionBar"/>
+</resources>
\ No newline at end of file
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_apps.xml b/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_apps.xml
deleted file mode 100644
index f5fbe6d..0000000
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_apps.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<!--
- 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.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="56dp"
- android:height="56dp"
- android:viewportWidth="48"
- android:viewportHeight="48">
-
- <path
- android:fillColor="#FFFFFF"
- android:pathData="M8 16h8V8H8v8zm12 24h8v-8h-8v8zM8 40h8v-8H8v8zm0-12h8v-8H8v8zm12 0h8v-8h-8v8zM32
-8v8h8V8h-8zm-12 8h8V8h-8v8zm12 12h8v-8h-8v8zm0 12h8v-8h-8v8z" />
- <path
- android:pathData="M0 0h48v48H0z" />
-</vector>
\ No newline at end of file
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_car.xml b/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_car.xml
deleted file mode 100644
index ba52f1f..0000000
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_car.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<!--
- Copyright (C) 2016 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.
--->
-<vector android:height="56dp" android:viewportHeight="24.0"
- android:viewportWidth="24.0" android:width="56dp" xmlns:android="http://schemas.android.com/apk/res/android">
- <path android:fillColor="#FFFFFFFF"
- android:pathData="M7.289,7.507C7.166,7.242 7.282,7.126 7.546,7.249L12.688,10.138C13.325,10.442 13.77,11.087 13.77,11.841C13.77,12.884 12.923,13.73 11.88,13.73C11.126,13.73 10.481,13.286 10.178,12.648L7.289,7.507Z"
- android:strokeColor="#00000000" android:strokeWidth="1"/>
- <path android:fillColor="#FFFFFFFF"
- android:pathData="M19.068,4.928C15.534,1.392 10.027,1.061 6.114,3.922L7.544,5.353C10.655,3.263 14.905,3.525 17.653,6.276C20.778,9.402 20.779,14.862 17.653,17.531L6.337,17.531C3.562,14.862 3.256,10.517 5.411,7.397L3.982,6.001C1.06,9.922 1.366,15.506 4.922,19.065C8.829,22.974 15.163,22.981 19.071,19.069C22.98,15.159 22.974,8.837 19.068,4.928L19.068,4.928Z"
- android:strokeColor="#00000000" android:strokeWidth="1"/>
-</vector>
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_hvac.xml b/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_hvac.xml
deleted file mode 100644
index bdc44b3..0000000
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_hvac.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<!--
- 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.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="37dp"
- android:height="31dp"
- android:viewportWidth="37"
- android:viewportHeight="31">
-
- <group
- android:translateX="-4.000000"
- android:translateY="-6.000000">
- <group
- android:translateX="5.000000"
- android:translateY="5.000000">
- <path
- android:fillType="evenOdd"
- android:strokeColor="#FAFAFA"
- android:strokeWidth="3.5"
- android:pathData="M0.320769938,6.07518051 C6.46754647,1.46509811 12.4222362,1.46509811
-18.1848392,6.07518051 C23.9474422,10.6852629 29.3258717,10.4931761
-34.3201276,5.49892021" />
- <path
- android:fillType="evenOdd"
- android:strokeColor="#FAFAFA"
- android:strokeWidth="3.5"
- android:pathData="M0.320769938,17.0751805 C6.46754647,12.4650981 12.4222362,12.4650981
-18.1848392,17.0751805 C23.9474422,21.6852629 29.3258717,21.4931761
-34.3201276,16.4989202" />
- <path
- android:fillType="evenOdd"
- android:strokeColor="#FAFAFA"
- android:strokeWidth="3.5"
- android:pathData="M0.320769938,28.0751805 C6.46754647,23.4650981 12.4222362,23.4650981
-18.1848392,28.0751805 C23.9474422,32.6852629 29.3258717,32.4931761
-34.3201276,27.4989202" />
- </group>
- </group>
-</vector>
\ No newline at end of file
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_music.xml b/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_music.xml
deleted file mode 100644
index 5ad7537..0000000
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_music.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<!--
- Copyright (C) 2016 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.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="56dp"
- android:height="56dp"
- android:viewportWidth="48"
- android:viewportHeight="48">
-
- <path
- android:fillAlpha=".1"
- android:strokeAlpha=".1"
- android:pathData="M0 0h48v48H0z" />
- <path
- android:fillColor="#FFFFFFFF"
- android:pathData="M24 2C14.06 2 6 10.06 6 20v14c0 3.31 2.69 6 6 6h6V24h-8v-4c0-7.73 6.27-14
-14-14s14 6.27 14 14v4h-8v16h6c3.31 0 6-2.69 6-6V20c0-9.94-8.06-18-18-18z" />
-</vector>
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_navigation.xml b/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_navigation.xml
deleted file mode 100644
index 980c4d8..0000000
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_navigation.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<!--
- Copyright (C) 2016 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.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="56dp"
- android:height="56dp"
- android:viewportWidth="48"
- android:viewportHeight="48">
- <path
- android:fillColor="#FFFFFFFF"
- android:pathData="M43.41 22.59l-18-18c-.78-.78-2.05-.78-2.82 0l-18 18c-.78 .78 -.78 2.05 0 2.83l18
-17.99v.01c.78 .78 2.05 .78 2.83 0l18-18c.78-.79 .78 -2.05-.01-2.83zM28
-29v-5h-8v6h-4v-8c0-1.11 .89 -2 2-2h10v-5l7 7-7 7z" />
- <path
- android:pathData="M0 0h48v48H0z" />
-</vector>
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_notification.xml b/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_notification.xml
deleted file mode 100644
index 61d937b..0000000
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_notification.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<!--
- 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.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="56dp"
- android:height="56dp"
- android:viewportWidth="48"
- android:viewportHeight="48">
-
- <path
- android:fillColor="#FFFFFF"
- android:pathData="M24 44c2.21 0 4-1.79 4-4h-8c0 2.21 1.79 4 4
-4zm12-12V22c0-6.15-3.27-11.28-9-12.64V8c0-1.66-1.34-3-3-3s-3 1.34-3 3v1.36c-5.73
-1.36-9 6.49-9 12.64v10l-4 4v2h32v-2l-4-4zm-4 2H16V22c0-4.97 3.03-9 8-9s8 4.03 8
-9v12z" />
-</vector>
\ No newline at end of file
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_overview.xml b/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_overview.xml
deleted file mode 100644
index 4651dcb..0000000
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_overview.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<!--
- Copyright (C) 2016 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.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="56dp"
- android:height="56dp"
- android:viewportWidth="48"
- android:viewportHeight="48">
-
- <path
- android:pathData="M0 0h48v48H0z" />
- <path
- android:fillColor="#FFFFFFFF"
- android:pathData="M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm0 36c-8.82
-0-16-7.18-16-16S15.18 8 24 8s16 7.18 16 16-7.18 16-16 16z" />
-</vector>
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_phone.xml b/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_phone.xml
deleted file mode 100644
index 87bfdf7..0000000
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_phone.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<!--
- Copyright (C) 2016 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.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="56dp"
- android:height="56dp"
- android:viewportWidth="48"
- android:viewportHeight="48">
-
- <path
- android:pathData="M0 0h48v48H0z" />
- <path
- android:fillColor="#FFFFFFFF"
- android:pathData="M13.25 21.59c2.88 5.66 7.51 10.29 13.18 13.17l4.4-4.41c.55-.55 1.34-.71
-2.03-.49C35.1 30.6 37.51 31 40 31c1.11 0 2 .89 2 2v7c0 1.11-.89 2-2 2C21.22 42 6
-26.78 6 8c0-1.11 .9 -2 2-2h7c1.11 0 2 .89 2 2 0 2.49 .4 4.9 1.14 7.14 .22 .69
-.06 1.48-.49 2.03l-4.4 4.42z" />
-</vector>
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_seekbar_track.xml b/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_seekbar_track.xml
deleted file mode 100644
index 2b42d9d..0000000
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_seekbar_track.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- ~ 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
- -->
-
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
- <!-- Use android provided id, as seekbar is expecting that -->
- <item android:id="@android:id/background">
- <shape android:shape="line">
- <corners
- android:radius="3dp"/>
- <stroke
- android:width="3dp"
- android:color="@color/car_grey_300" />
- </shape>
- </item>
- <item android:id="@android:id/progress">
- <clip>
- <shape android:shape="line">
- <stroke
- android:width="6dp"
- android:color="@color/car_teal_700" />
- </shape>
- </clip>
- </item>
-</layer-list>
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/notification_material_bg.xml b/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/notification_material_bg.xml
deleted file mode 100644
index 039833b..0000000
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/notification_material_bg.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (C) 2016 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.
--->
-<ripple xmlns:android="http://schemas.android.com/apk/res/android"
- android:color="@color/notification_ripple_untinted_color">
- <item>
- <shape xmlns:android="http://schemas.android.com/apk/res/android">
- <solid android:color="@color/notification_material_background_color" />
- <corners
- android:radius="@dimen/notification_shadow_radius"/>
- </shape>
- </item>
-</ripple>
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/notification_material_bg_dim.xml b/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/notification_material_bg_dim.xml
deleted file mode 100644
index 90c793f..0000000
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/notification_material_bg_dim.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 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.
--->
-<ripple xmlns:android="http://schemas.android.com/apk/res/android"
- android:color="@color/notification_ripple_untinted_color">
- <item>
- <shape xmlns:android="http://schemas.android.com/apk/res/android">
- <solid android:color="@color/notification_material_background_color" />
- <corners
- android:radius="@dimen/notification_shadow_radius"/>
- </shape>
- </item>
-</ripple>
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/layout/car_navigation_bar.xml b/car_product/overlay/frameworks/base/packages/SystemUI/res/layout/car_navigation_bar.xml
deleted file mode 100644
index a4902cd..0000000
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/layout/car_navigation_bar.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-**
-** Copyright 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.
-*/
--->
-
-<com.android.systemui.statusbar.car.CarNavigationBarView
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:systemui="http://schemas.android.com/apk/res-auto"
- android:layout_height="match_parent"
- android:layout_width="match_parent"
- android:background="@drawable/system_bar_background">
-
- <LinearLayout
- android:layout_height="match_parent"
- android:layout_width="wrap_content"
- android:paddingStart="@dimen/car_keyline_1"
- android:paddingEnd="@dimen/car_keyline_1"
- android:orientation="horizontal"
- android:id="@+id/nav_buttons"
- android:gravity="center"
- android:layout_weight="1"
- android:animateLayoutChanges="true">
-
- <com.android.systemui.statusbar.car.CarNavigationButton
- android:id="@+id/home"
- style="@style/NavigationBarButton"
- systemui:intent="intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.HOME;launchFlags=0x14000000;end"
- android:src="@drawable/car_ic_overview"
- android:background="?android:attr/selectableItemBackground"
- />
-
- <com.android.systemui.statusbar.car.CarFacetButton
- android:id="@+id/maps_nav"
- style="@style/NavigationBarButton"
- systemui:icon="@drawable/car_ic_navigation"
- systemui:intent="intent:#Intent;component=com.android.car.mapsplaceholder/.MapsPlaceholderActivity;launchFlags=0x24000000;end"
- systemui:componentNames="com.android.car.mapsplaceholder/.MapsPlaceholderActivity"
- />
-
- <com.android.systemui.statusbar.car.CarFacetButton
- android:id="@+id/music_nav"
- style="@style/NavigationBarButton"
- systemui:icon="@drawable/car_ic_music"
- systemui:intent="intent:#Intent;component=com.android.car.media/.MediaActivity;launchFlags=0x14000000;end"
- systemui:packages="com.android.car.media"
- />
-
- <com.android.systemui.statusbar.car.CarFacetButton
- android:id="@+id/phone_nav"
- style="@style/NavigationBarButton"
- systemui:icon="@drawable/car_ic_phone"
- systemui:intent="intent:#Intent;component=com.android.car.dialer/.TelecomActivity;launchFlags=0x14000000;end"
- systemui:componentNames="com.android.car.dialer/.TelecomActivity"
- />
-
- <com.android.systemui.statusbar.car.CarFacetButton
- android:id="@+id/grid_nav"
- style="@style/NavigationBarButton"
- systemui:icon="@drawable/car_ic_apps"
- systemui:intent="intent:#Intent;component=com.android.car.carlauncher/.AppGridActivity;launchFlags=0x24000000;end"
- systemui:componentNames="com.android.car.carlauncher/.AppGridActivity"
- />
-
- <Space
- android:layout_height="match_parent"
- android:layout_width="0dp"
- android:layout_weight="1"/>
-
- <com.android.systemui.statusbar.car.CarNavigationButton
- android:id="@+id/hvac"
- style="@style/NavigationBarButton"
- systemui:intent="intent:#Intent;action=android.car.intent.action.TOGGLE_HVAC_CONTROLS;end"
- systemui:broadcast="true"
- android:src="@drawable/car_ic_hvac"
- android:background="?android:attr/selectableItemBackground"
- />
-
- <com.android.keyguard.AlphaOptimizedImageButton
- android:id="@+id/notifications"
- style="@style/NavigationBarButton"
- android:src="@drawable/car_ic_notification"
- android:background="?android:attr/selectableItemBackground"
- />
-
- <FrameLayout
- android:id="@+id/clock_container"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:layout_centerInParent="true"
- >
- <com.android.systemui.statusbar.car.CarNavigationButton
- android:id="@+id/qs"
- android:layout_height="match_parent"
- android:layout_width="match_parent"
- android:background="@null"
- systemui:intent="intent:#Intent;component=com.android.car.settings/.common.CarSettingActivity;launchFlags=0x14008000;end"
- />
- <com.android.systemui.statusbar.policy.Clock
- android:id="@+id/clock"
- android:textAppearance="@style/TextAppearance.StatusBar.Clock"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:singleLine="true"
- android:paddingStart="@dimen/status_bar_clock_starting_padding"
- android:paddingEnd="@dimen/status_bar_clock_end_padding"
- android:gravity="center_vertical"
- />
- </FrameLayout>
- </LinearLayout>
-
- <LinearLayout
- android:layout_height="match_parent"
- android:layout_width="wrap_content"
- android:gravity="center"
- android:paddingStart="@dimen/car_keyline_1"
- android:paddingEnd="@dimen/car_keyline_1"
- android:id="@+id/lock_screen_nav_buttons"
- android:layout_weight="1"
- android:visibility="gone">
-
- <Space
- android:layout_height="match_parent"
- android:layout_width="0dp"
- android:layout_weight="1"/>
-
- <com.android.systemui.statusbar.car.CarNavigationButton
- android:id="@+id/hvac_lockscreen"
- style="@style/NavigationBarButton"
- systemui:intent="intent:#Intent;action=android.car.intent.action.TOGGLE_HVAC_CONTROLS;end"
- systemui:broadcast="true"
- android:src="@drawable/car_ic_hvac"
- android:background="?android:attr/selectableItemBackground"
- />
-
- <Space
- style="@style/NavigationBarButton"/>
-
- <com.android.systemui.statusbar.policy.Clock
- android:id="@+id/clock_lockscreen"
- android:textAppearance="@style/TextAppearance.StatusBar.Clock"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:singleLine="true"
- android:paddingStart="@dimen/status_bar_clock_starting_padding"
- android:paddingEnd="@dimen/status_bar_clock_end_padding"
- android:gravity="center_vertical"
- />
- </LinearLayout>
-
-</com.android.systemui.statusbar.car.CarNavigationBarView>
-
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/layout/status_bar.xml b/car_product/overlay/frameworks/base/packages/SystemUI/res/layout/status_bar.xml
deleted file mode 100644
index b99bfe8..0000000
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/layout/status_bar.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-**
-** Copyright 2006, 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.
-*/
--->
-
-<com.android.systemui.statusbar.phone.PhoneStatusBarView
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui"
- android:id="@+id/status_bar"
- android:layout_width="match_parent"
- android:layout_height="@dimen/status_bar_height"
- android:background="@drawable/system_bar_background"
- android:orientation="vertical"
- android:focusable="false"
- android:descendantFocusability="afterDescendants"
- >
-
- <ImageView
- android:id="@+id/notification_lights_out"
- android:layout_width="@dimen/status_bar_icon_size"
- android:layout_height="match_parent"
- android:paddingStart="6dip"
- android:paddingBottom="2dip"
- android:src="@drawable/ic_sysbar_lights_out_dot_small"
- android:scaleType="center"
- android:visibility="gone"
- />
-
- <LinearLayout android:id="@+id/status_bar_contents"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingStart="6dp"
- android:paddingEnd="8dp"
- android:orientation="horizontal"
- >
-
- <include layout="@layout/heads_up_status_bar_layout" />
-
- <!-- The alpha of this area is controlled from both PhoneStatusBarTransitions and
- PhoneStatusBar (DISABLE_NOTIFICATION_ICONS). -->
- <com.android.systemui.statusbar.AlphaOptimizedFrameLayout
- android:id="@+id/notification_icon_area"
- android:layout_width="0dip"
- android:layout_height="match_parent"
- android:layout_weight="1"
- android:orientation="horizontal"
- android:visibility="gone" />
-
- <com.android.keyguard.AlphaOptimizedLinearLayout android:id="@+id/system_icon_area"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="horizontal"
- >
-
- <include layout="@layout/system_icons" />
-
- <!-- Sort of a crude hack but we can't do much here without refactoring
- system ui code. -->
- <Space
- android:layout_width="0dp"
- android:layout_height="match_parent"
- android:layout_weight="1" />
-
- <com.android.systemui.statusbar.policy.Clock
- android:id="@+id/clock"
- android:textAppearance="@style/TextAppearance.StatusBar.Clock"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:singleLine="true"
- android:paddingStart="@dimen/status_bar_clock_starting_padding"
- android:paddingEnd="@dimen/status_bar_clock_end_padding"
- android:gravity="center_vertical|end"
- />
- </com.android.keyguard.AlphaOptimizedLinearLayout>
- </LinearLayout>
-
-</com.android.systemui.statusbar.phone.PhoneStatusBarView>
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/values-night/colors.xml b/car_product/overlay/frameworks/base/packages/SystemUI/res/values-night/colors.xml
deleted file mode 100644
index 26479a5..0000000
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/values-night/colors.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2016, 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.
-*/
--->
-<resources>
- <color name="status_bar_background_color">#ff000000</color>
- <color name="system_bar_background_opaque">#ff0c1013</color>
-
- <!-- The color of the ripples on the untinted notifications -->
- <color name="notification_ripple_untinted_color">@color/ripple_material_dark</color>
-</resources>
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/values/arrays_car.xml b/car_product/overlay/frameworks/base/packages/SystemUI/res/values/arrays_car.xml
deleted file mode 100644
index 1fa0b3b..0000000
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/values/arrays_car.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-**
-** Copyright 2016, 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.
-*/
--->
-
-<resources>
- <!-- There needs to be correspondence per index between these arrays, which means that if there
- isn't a longpress action associated with a shortcut item, put in an empty item to make
- sure everything lines up.
- -->
- <array name="car_facet_icons">
- <item>@drawable/car_ic_navigation</item>
- <item>@drawable/car_ic_phone</item>
- <item>@drawable/car_ic_overview</item>
- <item>@drawable/car_ic_music</item>
- <item>@drawable/car_ic_car</item>
- </array>
- <array name="car_facet_intent_uris">
- <!-- Launch the lenspicker for all the facets. The lens picker will trampoline into the last run app or display a list of valid apps -->
- <item>intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x14000000;package=com.android.support.car.lenspicker;end</item>
- <item>intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x14000000;package=com.android.support.car.lenspicker;end</item>
- <item>intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.HOME;launchFlags=0x14000000;S.system_command=toggle_notifications;end</item>
- <item>intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x14000000;package=com.android.support.car.lenspicker;end</item>
- <item>intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x14000000;package=com.android.support.car.lenspicker;end</item>
- </array>
- <array name="car_facet_longpress_intent_uris">
- <item></item>
- <item></item>
- <item></item>
- <item></item>
- <!-- Long pressing the overflow triggers a bug report -->
- <item>intent:#Intent;component=com.google.android.car.bugreport/.BugReportActivity;end</item>
- </array>
- <array name="car_facet_category_filters">
- <item>android.intent.category.APP_MAPS</item>
- <item>android.intent.category.APP_MESSAGING</item>
- <item></item>
- <item>android.intent.category.APP_MUSIC</item>
- <item></item>
- </array>
- <array name="car_facet_package_filters">
- <item>com.android.car.mapsplaceholder</item>
- <item>com.android.car.dialer</item>
- <item>com.android.car.overview</item>
- <item></item>
- <item>com.android.car.hvac;com.android.settings;com.android.car.settings;com.android.vending;com.google.android.car.bugreport;com.google.android.car.kitchensink;com.android.car.systemupdater;org.chromium.webview_shell;com.android.contacts;org.codeaurora.bluetooth.bttestapp;com.google.android.projection.sink;com.google.android.googlequicksearchbox</item>
- </array>
-</resources>
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/values/colors.xml b/car_product/overlay/frameworks/base/packages/SystemUI/res/values/colors.xml
deleted file mode 100644
index 30c0c58..0000000
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/values/colors.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 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.
-*/
--->
-<resources>
- <!-- System ui can't depend on car libs so redefine. -->
- <color name="car_grey_50">#fffafafa</color>
-
- <color name="docked_divider_background">@color/car_grey_50</color>
- <color name="system_bar_background_opaque">#ff172026</color>
-
- <color name="status_bar_background_color">#33000000</color>
- <drawable name="system_bar_background">@color/status_bar_background_color</drawable>
-
- <!-- The scrim color for the background of the notifications shade. -->
- <color name="scrim_behind_color">#172026</color>
-
- <!-- The color of the dividing line between grouped notifications. -->
- <color name="notification_divider_color">@*android:color/notification_action_list</color>
-
- <!-- The color of the ripples on the untinted notifications -->
- <color name="notification_ripple_untinted_color">@color/ripple_material_light</color>
-
- <color name="car_teal_700">#ff00796b</color>
- <color name="car_grey_300">#ffe0e0e0</color>
- <color name="car_grey_900">#ff212121</color>
-
- <color name="keyguard_button_text_color">@android:color/black</color>
-</resources>
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/values/config.xml b/car_product/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
index e48a06a..d8d8516 100644
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
+++ b/car_product/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
@@ -19,9 +19,6 @@
<!-- Resource overrides for car system ui. -->
<resources>
- <string name="config_statusBarComponent" translatable="false">com.android.systemui.statusbar.car.CarStatusBar</string>
- <string name="config_systemUIFactoryComponent" translatable="false">com.android.systemui.car.CarSystemUIFactory</string>
- <bool name="config_enableFullscreenUserSwitcher">true</bool>
<!-- Notifications on the car should not show the gear icon. Swiping should only dismiss the
cards. -->
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/values/config_car.xml b/car_product/overlay/frameworks/base/packages/SystemUI/res/values/config_car.xml
deleted file mode 100644
index 9c8dcb1..0000000
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/values/config_car.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2016, 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.
-*/
--->
-
-<resources>
- <!-- These next two work together, if you enable this first one you need to provide an intent
- uri that will be launched into the docked window. -->
- <bool name="config_enablePersistentDockedActivity">false</bool>
- <string name="config_persistentDockedActivityIntentUri" translatable="false"></string>
-</resources>
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml b/car_product/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
index 37a6238..b57fcb9 100644
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
+++ b/car_product/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
@@ -21,56 +21,6 @@
scrim has no transparency. -->
<item name="scrim_behind_alpha" format="float" type="dimen">1.0</item>
- <!-- The amount by which to scale up the status bar icons. -->
- <item name="status_bar_icon_scale_factor" format="float" type="dimen">2.3</item>
-
- <!-- The font size for the clock in the status bar. -->
- <dimen name="status_bar_clock_size">24sp</dimen>
-
- <!-- The starting padding for the clock in the status bar. -->
- <dimen name="status_bar_clock_starting_padding">12dp</dimen>
-
- <!-- The end padding for the clock in the status bar. -->
- <dimen name="status_bar_clock_end_padding">@dimen/status_bar_clock_starting_padding</dimen>
-
- <!-- size at which Notification icons will be drawn in the status bar -->
- <dimen name="status_bar_icon_drawing_size">32dp</dimen>
-
- <!-- Starting margin before the signal cluster -->
- <dimen name="signal_cluster_margin_start">8dp</dimen>
-
- <!-- Padding between signal cluster and battery icon -->
- <dimen name="signal_cluster_battery_padding">@dimen/status_bar_clock_starting_padding</dimen>
-
- <!-- Spacing after the wifi signals that is present if there are any icons following it. -->
- <dimen name="status_bar_wifi_signal_spacer_width">@dimen/status_bar_clock_starting_padding</dimen>
-
- <!-- Spacing before the airplane mode icon if there are any icons preceding it. -->
- <dimen name="status_bar_airplane_spacer_width">@dimen/status_bar_clock_starting_padding</dimen>
-
- <!-- Padding at the end of the view that displays the mobile signal icons. This value should
- be double the signal_cluster_margin_start. -->
- <dimen name="mobile_signal_group_end_padding">16dp</dimen>
-
- <!-- Padding between the mobile data type and the strength indicator. -->
- <dimen name="mobile_data_icon_start_padding">@dimen/mobile_signal_group_end_padding</dimen>
-
- <!-- gap on either side of status bar notification icons -->
- <dimen name="status_bar_icon_padding">8dp</dimen>
-
- <!-- Standard image button size for volume dialog buttons -->
- <dimen name="volume_button_size">84dp</dimen>
-
- <!-- The maximum width allowed for the volume dialog. For auto, we allow this to span a good
- deal of the screen. This value accounts for the side margins. -->
- <dimen name="volume_dialog_panel_width">1920dp</dimen>
-
- <dimen name="car_navigation_button_width">56dp</dimen>
- <dimen name="car_navigation_button_holder_width">96dp</dimen>
-
- <dimen name="navigation_bar_padding_top">0dp</dimen>
- <dimen name="navigation_bar_padding_side">264dp</dimen>
-
<!-- Largest size an avatar might need to be drawn in the user picker, status bar, or
quick settings header -->
<dimen name="max_avatar_size">128dp</dimen>
@@ -141,18 +91,4 @@
etc. in the car setting.-->
<dimen name="qs_footer_height">74dp</dimen>
- <dimen name="volume_dialog_side_margin">@dimen/side_margin</dimen>
-
- <dimen name="volume_dialog_elevation">6dp</dimen>
-
- <dimen name="volume_dialog_row_margin_end">@dimen/car_keyline_3</dimen>
-
- <dimen name="volume_dialog_row_padding_end">0dp</dimen>
-
- <dimen name="line_item_height">128dp</dimen>
- <dimen name="volume_icon_size">96dp</dimen>
- <dimen name="side_margin">148dp</dimen>
- <dimen name="car_keyline_1">24dp</dimen>
- <dimen name="car_keyline_2">96dp</dimen>
- <dimen name="car_keyline_3">128dp</dimen>
</resources>
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/values/styles.xml b/car_product/overlay/frameworks/base/packages/SystemUI/res/values/styles.xml
deleted file mode 100644
index 68fc641..0000000
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/values/styles.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2016, 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.
-*/
--->
-<resources xmlns:android="http://schemas.android.com/apk/res/android">
-
- <!-- The style for the volume icons in the volume dialog. This style makes the icon scale to
- fit its container since auto wants the icon to be larger. The padding is added to make it
- so the icon does not press along the edges of the dialog. -->
- <style name="VolumeButtons" parent="@android:style/Widget.Material.Button.Borderless">
- <item name="android:background">@drawable/btn_borderless_rect</item>
- <item name="android:scaleType">fitCenter</item>
- <item name="android:padding">22dp</item>
- </style>
-
- <style name="NavigationBarButton">
- <item name="android:layout_height">56dp</item>
- <item name="android:layout_width">76dp</item>
- <item name="android:paddingStart">@dimen/car_padding_1</item>
- <item name="android:paddingEnd">@dimen/car_padding_1</item>
- </style>
-
-</resources>
diff --git a/car_product/overlay/packages/apps/PackageInstaller/res/drawable/background_round_corners.xml b/car_product/overlay/packages/apps/PackageInstaller/res/drawable/background_round_corners.xml
index 03d7418..1b71555 100644
--- a/car_product/overlay/packages/apps/PackageInstaller/res/drawable/background_round_corners.xml
+++ b/car_product/overlay/packages/apps/PackageInstaller/res/drawable/background_round_corners.xml
@@ -15,6 +15,6 @@
limitations under the License.
-->
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
- <solid android:color="@color/car_card" />
- <corners android:radius="@dimen/car_radius_3" />
+ <solid android:color="?android:attr/colorBackgroundFloating" />
+ <corners android:radius="@*android:dimen/car_radius_3" />
</shape>
diff --git a/car_product/overlay/packages/apps/PackageInstaller/res/drawable/dialog_button_background.xml b/car_product/overlay/packages/apps/PackageInstaller/res/drawable/dialog_button_background.xml
index 17df216..c4c91c5 100644
--- a/car_product/overlay/packages/apps/PackageInstaller/res/drawable/dialog_button_background.xml
+++ b/car_product/overlay/packages/apps/PackageInstaller/res/drawable/dialog_button_background.xml
@@ -15,8 +15,8 @@
~ limitations under the License.
-->
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
- android:color="@color/car_card_ripple_background">
+ android:color="@*android:color/car_card_ripple_background">
<item android:id="@android:id/mask">
- <color android:color="@color/car_white_1000" />
+ <color android:color="@*android:color/car_white_1000" />
</item>
</ripple>
diff --git a/car_product/overlay/packages/apps/PackageInstaller/res/drawable/ic_check_box.xml b/car_product/overlay/packages/apps/PackageInstaller/res/drawable/ic_check_box.xml
new file mode 100644
index 0000000..e985f39
--- /dev/null
+++ b/car_product/overlay/packages/apps/PackageInstaller/res/drawable/ic_check_box.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ 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
+ -->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+ <item android:drawable="@drawable/ic_check_box_unchecked"
+ android:state_checked="false"/>
+ <item android:drawable="@drawable/ic_check_box_checked"
+ android:state_checked="true"/>
+ <item android:drawable="@drawable/ic_check_box_unchecked"/>
+</selector>
diff --git a/car_product/overlay/packages/apps/PackageInstaller/res/drawable/ic_check_box_checked.xml b/car_product/overlay/packages/apps/PackageInstaller/res/drawable/ic_check_box_checked.xml
new file mode 100644
index 0000000..9a6717a
--- /dev/null
+++ b/car_product/overlay/packages/apps/PackageInstaller/res/drawable/ic_check_box_checked.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ 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
+ -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="@*android:dimen/car_icon_size"
+ android:height="@*android:dimen/car_icon_size"
+ android:tint="@*android:color/car_teal_700"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
+ <path
+ android:pathData="M19,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.11,0 2,-0.9 2,-2L21,5c0,-1.1 -0.89,-2 -2,-2zM10,17l-5,-5 1.41,-1.41L10,14.17l7.59,-7.59L19,8l-9,9z"
+ android:fillColor="#000000"/>
+</vector>
diff --git a/car_product/overlay/packages/apps/PackageInstaller/res/drawable/ic_check_box_unchecked.xml b/car_product/overlay/packages/apps/PackageInstaller/res/drawable/ic_check_box_unchecked.xml
new file mode 100644
index 0000000..522935c
--- /dev/null
+++ b/car_product/overlay/packages/apps/PackageInstaller/res/drawable/ic_check_box_unchecked.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ 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
+ -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="@*android:dimen/car_icon_size"
+ android:height="@*android:dimen/car_icon_size"
+ android:tint="@*android:color/car_tint"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
+ <path
+ android:pathData="M19,5v14H5V5h14m0,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2V5c0,-1.1 -0.9,-2 -2,-2z"
+ android:fillColor="#000000"/>
+</vector>
diff --git a/car_product/overlay/packages/apps/PackageInstaller/res/layout/grant_permissions.xml b/car_product/overlay/packages/apps/PackageInstaller/res/layout/grant_permissions.xml
index 08e5fd8..436099f 100644
--- a/car_product/overlay/packages/apps/PackageInstaller/res/layout/grant_permissions.xml
+++ b/car_product/overlay/packages/apps/PackageInstaller/res/layout/grant_permissions.xml
@@ -33,10 +33,10 @@
android:id="@+id/desc_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/car_padding_4"
- android:layout_marginStart="@dimen/car_keyline_1"
- android:layout_marginBottom="@dimen/car_padding_2"
- android:layout_marginEnd="@dimen/car_keyline_1">
+ android:layout_marginTop="@*android:dimen/car_padding_4"
+ android:layout_marginStart="@*android:dimen/car_keyline_1"
+ android:layout_marginBottom="@*android:dimen/car_padding_2"
+ android:layout_marginEnd="@*android:dimen/car_keyline_1">
<include
layout="@layout/permission_description" />
@@ -50,15 +50,15 @@
<CheckBox
android:id="@+id/do_not_ask_checkbox"
android:layout_width="wrap_content"
- android:layout_height="@dimen/car_single_line_list_item_height"
- android:layout_marginStart="@dimen/car_keyline_1"
- android:layout_marginEnd="@dimen/car_keyline_1"
+ android:layout_height="@*android:dimen/car_single_line_list_item_height"
+ android:layout_marginStart="@*android:dimen/car_keyline_1"
+ android:layout_marginEnd="@*android:dimen/car_keyline_1"
android:gravity="center_vertical"
- android:paddingLeft="@dimen/car_keyline_1_keyline_3_diff"
+ android:paddingLeft="@*android:dimen/car_keyline_1_keyline_3_diff"
android:button="@drawable/ic_check_box"
android:text="@string/never_ask_again"
android:textColor="?android:attr/textColorSecondary"
- android:textSize="@dimen/car_action1_size"
+ android:textSize="@*android:dimen/car_body3_size"
android:visibility="gone">
</CheckBox>
@@ -66,7 +66,7 @@
android:id="@+id/button_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/car_padding_2"
+ android:layout_marginTop="@*android:dimen/car_padding_2"
android:layoutDirection="locale"
android:gravity="center_vertical"
android:orientation="horizontal">
@@ -74,27 +74,17 @@
<Button
android:id="@+id/permission_deny_button"
android:layout_width="wrap_content"
- android:layout_height="@dimen/car_dialog_action_bar_height"
- android:background="@drawable/dialog_button_background"
- android:paddingStart="@dimen/car_keyline_1"
- android:paddingEnd="@dimen/car_padding_4"
+ android:layout_height="wrap_content"
android:text="@string/grant_dialog_button_deny"
- android:textColor="@color/car_highlight"
- android:textSize="@dimen/car_action1_size"
- android:textStyle="bold">
+ style="?android:attr/buttonBarButtonStyle">
</Button>
<Button
android:id="@+id/permission_allow_button"
android:layout_width="wrap_content"
- android:layout_height="@dimen/car_dialog_action_bar_height"
- android:background="@drawable/dialog_button_background"
- android:paddingStart="@dimen/car_padding_4"
- android:paddingEnd="@dimen/car_padding_4"
+ android:layout_height="@*android:dimen/car_dialog_action_bar_height"
android:text="@string/grant_dialog_button_allow"
- android:textColor="@color/car_highlight"
- android:textSize="@dimen/car_action1_size"
- android:textStyle="bold">
+ style="?android:attr/buttonBarButtonStyle">
</Button>
<Space
@@ -109,9 +99,9 @@
android:id="@+id/current_page_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:paddingEnd="@dimen/car_keyline_1"
+ android:paddingEnd="@*android:dimen/car_keyline_1"
android:maxLines="1"
- android:textAppearance="@style/TextAppearance.Car.Body2"
+ android:textAppearance="@*android:style/CarBody2"
android:visibility="invisible">
</TextView>
diff --git a/car_product/overlay/packages/apps/PackageInstaller/res/layout/permission_description.xml b/car_product/overlay/packages/apps/PackageInstaller/res/layout/permission_description.xml
index cdbaf56..f1255ea 100644
--- a/car_product/overlay/packages/apps/PackageInstaller/res/layout/permission_description.xml
+++ b/car_product/overlay/packages/apps/PackageInstaller/res/layout/permission_description.xml
@@ -35,7 +35,7 @@
android:id="@+id/permission_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:textSize="@dimen/car_body2_size"
- android:textColor="@color/car_body2"/>
+ android:textAppearance="@*android:style/CarBody1"
+ />
</LinearLayout>
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_seekbar_thumb.xml b/car_product/overlay/packages/apps/PackageInstaller/res/values/themes.xml
similarity index 62%
rename from car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_seekbar_thumb.xml
rename to car_product/overlay/packages/apps/PackageInstaller/res/values/themes.xml
index a29ddc8..08e67a8 100644
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/car_ic_seekbar_thumb.xml
+++ b/car_product/overlay/packages/apps/PackageInstaller/res/values/themes.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- ~ Copyright (C) 2017 The Android Open Source Project
+ ~ 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.
@@ -15,14 +15,8 @@
~ limitations under the License
-->
-<shape
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="oval">
- <solid android:color="@color/car_teal_700" />
- <size
- android:width="30dp"
- android:height="30dp" />
- <stroke
- android:width="1dp"
- android:color="@color/car_teal_700" />
-</shape>
+<resources>
+ <style name="Settings"
+ parent="@*android:style/Theme.DeviceDefault.Settings.NoActionBar">
+ </style>
+</resources>
diff --git a/service/Android.mk b/service/Android.mk
index e961fbb..00a699d 100644
--- a/service/Android.mk
+++ b/service/Android.mk
@@ -40,7 +40,9 @@
LOCAL_PROGUARD_ENABLED := disabled
LOCAL_JAVA_LIBRARIES += android.car
+
LOCAL_STATIC_JAVA_LIBRARIES += \
+ android.car.user \
android.hidl.base-V1.0-java \
android.hardware.automotive.audiocontrol-V1.0-java \
android.hardware.automotive.vehicle-V2.0-java \
@@ -68,7 +70,9 @@
LOCAL_JAVA_LIBRARIES += android.car \
car-frameworks-service
+
LOCAL_STATIC_JAVA_LIBRARIES += \
+ android.car.user \
android.hidl.base-V1.0-java \
android.hardware.automotive.audiocontrol-V1.0-java \
android.hardware.automotive.vehicle-V2.0-java \
diff --git a/service/AndroidManifest.xml b/service/AndroidManifest.xml
index 24c9cd7..4a16579 100644
--- a/service/AndroidManifest.xml
+++ b/service/AndroidManifest.xml
@@ -129,6 +129,11 @@
android:label="@string/car_permission_label_control_car_exterior_lights"
android:description="@string/car_permission_desc_control_car_exterior_lights" />
<permission
+ android:name="android.car.permission.CAR_POWER"
+ android:protectionLevel="system|signature"
+ android:label="@string/car_permission_label_car_power"
+ android:description="@string/car_permission_desc_car_power" />
+ <permission
android:name="android.car.permission.CAR_POWERTRAIN"
android:protectionLevel="normal"
android:label="@string/car_permission_label_car_powertrain"
diff --git a/service/res/values/config.xml b/service/res/values/config.xml
index 214cf02..8d436e0 100644
--- a/service/res/values/config.xml
+++ b/service/res/values/config.xml
@@ -34,7 +34,7 @@
<string name="inputService">android.car.input.service/.DefaultInputService</string>
- <string name="instrumentClusterRendererService">android.car.cluster.sample/.SampleClusterServiceImpl</string>
+ <string name="instrumentClusterRendererService">android.car.cluster.loggingrenderer/.LoggingClusterRenderingService</string>
<!-- Whether to enable Activity blocking for safety. When Activity blocking is enabled,
only whitelisted safe Activities will be allowed while car is not parked. -->
diff --git a/service/res/values/strings.xml b/service/res/values/strings.xml
index 1947e43..2de39f1 100644
--- a/service/res/values/strings.xml
+++ b/service/res/values/strings.xml
@@ -13,7 +13,7 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+<resources>
<string name="app_title">Car service</string>
<!-- For permissions -->
@@ -103,8 +103,8 @@
<string name="car_can_bus_failure_desc">CAN bus does not respond. Unplug and plug back headunit
box and restart the car</string>
- <!-- Blocking activity: Message to show to user when a feature of current application is not allowed. [CHAR LIMIT=60] -->
- <string name="activity_blocked_string">This <xliff:g id="app_name" example="Google Maps">%1$s</xliff:g> feature can\'t be used while driving.</string>
+ <!-- Blocking activity: Message to show to user when an activity is not allowed during driving. [CHAR LIMIT=120] -->
+ <string name="activity_blocked_string">For your safety, this activity isn’t available while you’re driving</string>
<!-- Blocking activity: Button text that restarts the current blocked application. [CHAR LIMIT=10] -->
<string name="exit_button">OK</string>
@@ -202,4 +202,9 @@
<string name="car_permission_label_car_powertrain">Car Powertrain</string>
<!-- Permission text: apps read information of car's powertrain [CHAR LIMIT=NONE] -->
<string name="car_permission_desc_car_powertrain">Access car powertrain information</string>
+
+ <!-- Permission text: apps read information of car's power state [CHAR LIMIT=NONE] -->
+ <string name="car_permission_label_car_power">Car Power</string>
+ <!-- Permission text: apps read information of car's power state [CHAR LIMIT=NONE] -->
+ <string name="car_permission_desc_car_power">Access car power state</string>
</resources>
diff --git a/service/src/com/android/car/CarInputService.java b/service/src/com/android/car/CarInputService.java
index 2b97221..c95674e 100644
--- a/service/src/com/android/car/CarInputService.java
+++ b/service/src/com/android/car/CarInputService.java
@@ -16,7 +16,7 @@
package com.android.car;
import static android.hardware.input.InputManager.INJECT_INPUT_EVENT_MODE_ASYNC;
-import static android.service.voice.VoiceInteractionSession.SHOW_SOURCE_ASSIST_GESTURE;
+import static android.service.voice.VoiceInteractionSession.SHOW_SOURCE_PUSH_TO_TALK;
import android.app.ActivityManager;
import android.car.input.CarInputHandlingService;
@@ -355,7 +355,7 @@
args.putBoolean(EXTRA_CAR_PUSH_TO_TALK, true);
mAssistUtils.showSessionForActiveService(args,
- SHOW_SOURCE_ASSIST_GESTURE, mShowCallback, null /*activityToken*/);
+ SHOW_SOURCE_PUSH_TO_TALK, mShowCallback, null /*activityToken*/);
}
private void handleInstrumentClusterKey(KeyEvent event) {
diff --git a/service/src/com/android/car/CarLocationService.java b/service/src/com/android/car/CarLocationService.java
index a7aaf03..e0a55c9 100644
--- a/service/src/com/android/car/CarLocationService.java
+++ b/service/src/com/android/car/CarLocationService.java
@@ -16,20 +16,27 @@
package com.android.car;
+import android.car.Car;
+import android.car.CarNotConnectedException;
import android.car.hardware.CarPropertyValue;
+import android.car.hardware.power.CarPowerManager;
+import android.car.hardware.power.CarPowerManager.CarPowerStateListener;
import android.car.hardware.property.CarPropertyEvent;
import android.car.hardware.property.ICarPropertyEventListener;
-import android.car.user.CarUserManagerHelper;
+import android.car.userlib.CarUserManagerHelper;
import android.content.BroadcastReceiver;
+import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
+import android.content.ServiceConnection;
import android.hardware.automotive.vehicle.V2_0.VehicleIgnitionState;
import android.hardware.automotive.vehicle.V2_0.VehicleProperty;
import android.location.Location;
import android.location.LocationManager;
import android.os.Handler;
import android.os.HandlerThread;
+import android.os.IBinder;
import android.os.RemoteException;
import android.os.SystemClock;
import android.os.UserHandle;
@@ -48,13 +55,14 @@
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.List;
+import java.util.concurrent.CompletableFuture;
/**
* This service stores the last known location from {@link LocationManager} when a car is parked
* and restores the location when the car is powered on.
*/
-public class CarLocationService extends BroadcastReceiver implements CarServiceBase,
- CarPowerManagementService.PowerEventProcessingHandler {
+public class CarLocationService extends BroadcastReceiver implements
+ CarServiceBase, CarPowerStateListener {
private static final String TAG = "CarLocationService";
private static final String FILENAME = "location_cache.json";
private static final boolean DBG = false;
@@ -69,22 +77,57 @@
private final Object mLock = new Object();
private final Context mContext;
- private final CarPowerManagementService mCarPowerManagementService;
private final CarPropertyService mCarPropertyService;
private final CarPropertyEventListener mCarPropertyEventListener;
private final CarUserManagerHelper mCarUserManagerHelper;
+ private final Car mCar;
+ private final ServiceConnection mCarServiceConnection = new ServiceConnection() {
+ @Override
+ public void onServiceConnected(ComponentName name, IBinder service) {
+ try {
+ mCarPowerManager = (CarPowerManager) mCar.getCarManager(Car.POWER_SERVICE);
+ mCarPowerManager.setListener(CarLocationService.this);
+ } catch (CarNotConnectedException e) {
+ Log.e(TAG, "Failed to get CarPowerManager instance", e);
+ }
+ }
+
+ @Override
+ public void onServiceDisconnected(ComponentName name) {
+ if (mCarPowerManager != null) {
+ mCarPowerManager.clearListener();
+ }
+ }
+ };
+
private int mTaskCount = 0;
private HandlerThread mHandlerThread;
private Handler mHandler;
+ private CarPowerManager mCarPowerManager;
- public CarLocationService(Context context, CarPowerManagementService carPowerManagementService,
- CarPropertyService carPropertyService, CarUserManagerHelper carUserManagerHelper) {
+ public CarLocationService(
+ Context context,
+ CarPropertyService carPropertyService,
+ CarUserManagerHelper carUserManagerHelper) {
+ this(context, carPropertyService, carUserManagerHelper, null);
+ }
+
+ public CarLocationService(
+ Context context,
+ CarPropertyService carPropertyService,
+ CarUserManagerHelper carUserManagerHelper,
+ Car car) {
logd("constructed");
mContext = context;
- mCarPowerManagementService = carPowerManagementService;
mCarPropertyService = carPropertyService;
mCarPropertyEventListener = new CarPropertyEventListener();
mCarUserManagerHelper = carUserManagerHelper;
+ if (car != null) {
+ mCar = car;
+ } else {
+ mCar = Car.createCar(context, mCarServiceConnection);
+ mCar.connect();
+ }
}
@Override
@@ -96,16 +139,15 @@
filter.addAction(LocationManager.MODE_CHANGED_ACTION);
filter.addAction(LocationManager.GPS_ENABLED_CHANGE_ACTION);
mContext.registerReceiver(this, filter);
- mCarPropertyService.registerListener(VehicleProperty.IGNITION_STATE, 0,
- mCarPropertyEventListener);
- mCarPowerManagementService.registerPowerEventProcessingHandler(this);
+ mCarPropertyService.registerListener(
+ VehicleProperty.IGNITION_STATE, 0, mCarPropertyEventListener);
}
@Override
public void release() {
logd("release");
- mCarPropertyService.unregisterListener(VehicleProperty.IGNITION_STATE,
- mCarPropertyEventListener);
+ mCarPropertyService.unregisterListener(
+ VehicleProperty.IGNITION_STATE, mCarPropertyEventListener);
mContext.unregisterReceiver(this);
}
@@ -118,19 +160,28 @@
}
@Override
- public long onPrepareShutdown(boolean shuttingDown) {
- logd("onPrepareShutdown " + shuttingDown);
- asyncOperation(() -> storeLocation());
- return 100;
- }
-
- @Override
- public void onPowerOn(boolean displayOn) {
- }
-
- @Override
- public int getWakeupTime() {
- return 0;
+ public void onStateChanged(int state, CompletableFuture<Void> future) {
+ switch (state) {
+ case CarPowerStateListener.SHUTDOWN_ENTER:
+ case CarPowerStateListener.SUSPEND_ENTER:
+ logd("onStateChanged: " + state);
+ asyncOperation(() -> {
+ storeLocation();
+ // Notify the CarPowerManager that it may proceed to shutdown or suspend.
+ if (future != null) {
+ future.complete(null);
+ }
+ });
+ break;
+ case CarPowerStateListener.SHUTDOWN_CANCELLED:
+ case CarPowerStateListener.SUSPEND_EXIT:
+ // This service does not need to do any work for these events but should still
+ // notify the CarPowerManager that it may proceed.
+ if (future != null) {
+ future.complete(null);
+ }
+ break;
+ }
}
@Override
diff --git a/service/src/com/android/car/CarPowerManagementService.java b/service/src/com/android/car/CarPowerManagementService.java
index 57ccf62..1514056 100644
--- a/service/src/com/android/car/CarPowerManagementService.java
+++ b/service/src/com/android/car/CarPowerManagementService.java
@@ -42,73 +42,18 @@
import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.CopyOnWriteArrayList;
-public class CarPowerManagementService extends ICarPower.Stub implements CarServiceBase,
- PowerHalService.PowerEventListener {
-
- /**
- * Listener for other services to monitor power events.
- */
- public interface PowerServiceEventListener {
- /**
- * Shutdown is happening
- */
- void onShutdown();
-
- /**
- * Entering deep sleep.
- */
- void onSleepEntry();
-
- /**
- * Got out of deep sleep.
- */
- void onSleepExit();
- }
-
- /**
- * Interface for components requiring processing time before shutting-down or
- * entering sleep, and wake-up after shut-down.
- */
- public interface PowerEventProcessingHandler {
- /**
- * Called before shutdown or sleep entry to allow running some processing. This call
- * should only queue such task in different thread and should return quickly.
- * Blocking inside this call can trigger watchdog timer which can terminate the
- * whole system.
- * @param shuttingDown whether system is shutting down or not (= sleep entry).
- * @return time necessary to run processing in ms. should return 0 if there is no
- * processing necessary.
- */
- long onPrepareShutdown(boolean shuttingDown);
-
- /**
- * Called when power state is changed to ON state. Display can be either on or off.
- * @param displayOn
- */
- void onPowerOn(boolean displayOn);
-
- /**
- * Returns wake up time after system is fully shutdown. Power controller will power on
- * the system after this time. This power on is meant for regular maintenance kind of
- * operation.
- * @return 0 of wake up is not necessary.
- */
- int getWakeupTime();
- }
-
+/**
+ * Power Management service class for cars. Controls the power states and interacts with other
+ * parts of the system to ensure its own state.
+ */
+public class CarPowerManagementService extends ICarPower.Stub implements
+ CarServiceBase, PowerHalService.PowerEventListener {
private final Context mContext;
private final PowerHalService mHal;
private final SystemInterface mSystemInterface;
-
- private final CopyOnWriteArrayList<PowerServiceEventListener> mListeners =
- new CopyOnWriteArrayList<>();
- private final CopyOnWriteArrayList<PowerEventProcessingHandlerWrapper>
- mPowerEventProcessingHandlers = new CopyOnWriteArrayList<>();
private final PowerManagerCallbackList mPowerManagerListeners = new PowerManagerCallbackList();
private final Map<IBinder, Integer> mPowerManagerListenerTokens = new ConcurrentHashMap<>();
- private int mTokenValue = 1;
@GuardedBy("this")
private PowerState mCurrentState;
@@ -126,9 +71,11 @@
private PowerHandler mHandler;
private int mBootReason;
private boolean mShutdownOnNextSuspend = false;
+ private int mNextWakeupSec;
+ private int mTokenValue = 1;
// TODO: Make this OEM configurable.
- private final static int APP_EXTEND_MAX_MS = 10000;
+ private static final int APP_EXTEND_MAX_MS = 86400000; // 1 day
private final static int SHUTDOWN_POLLING_INTERVAL_MS = 2000;
private final static int SHUTDOWN_EXTEND_MAX_MS = 5000;
@@ -144,8 +91,8 @@
}
}
- public CarPowerManagementService(Context context, PowerHalService powerHal,
- SystemInterface systemInterface) {
+ public CarPowerManagementService(
+ Context context, PowerHalService powerHal, SystemInterface systemInterface) {
mContext = context;
mHal = powerHal;
mSystemInterface = systemInterface;
@@ -206,55 +153,19 @@
Log.e(CarLog.TAG_POWER, "Timeout while joining for handler thread to join.");
}
mSystemInterface.stopDisplayStateMonitoring();
- mListeners.clear();
- mPowerEventProcessingHandlers.clear();
mPowerManagerListeners.kill();
mPowerManagerListenerTokens.clear();
mSystemInterface.releaseAllWakeLocks();
}
/**
- * Register listener to monitor power event. There is no unregister counter-part and the list
- * will be cleared when the service is released.
- * @param listener
+ * Notifies earlier completion of power event processing. If some user modules need pre-shutdown
+ * processing time, they will get up to #APP_EXTEND_MAX_MS to complete their tasks. Modules
+ * are expected to finish earlier than that, and this call can be called in such case to trigger
+ * shutdown without waiting further.
*/
- public synchronized void registerPowerEventListener(PowerServiceEventListener listener) {
- mListeners.add(listener);
- }
-
- /**
- * Register PowerEventPreprocessingHandler to run pre-processing before shutdown or
- * sleep entry. There is no unregister counter-part and the list
- * will be cleared when the service is released.
- * @param handler
- */
- public synchronized void registerPowerEventProcessingHandler(
- PowerEventProcessingHandler handler) {
- mPowerEventProcessingHandlers.add(new PowerEventProcessingHandlerWrapper(handler));
- // onPowerOn will not be called if power on notification is already done inside the
- // handler thread. So request it once again here. Wrapper will have its own
- // gatekeeping to prevent calling onPowerOn twice.
- mHandler.handlePowerOn();
- }
-
- /**
- * Notifies earlier completion of power event processing. PowerEventProcessingHandler quotes
- * time necessary from onPrePowerEvent() call, but actual processing can finish earlier than
- * that, and this call can be called in such case to trigger shutdown without waiting further.
- *
- * @param handler PowerEventProcessingHandler that was already registered with
- * {@link #registerPowerEventListener(PowerServiceEventListener)} call. If it was not
- * registered before, this call will be ignored.
- */
- public void notifyPowerEventProcessingCompletion(PowerEventProcessingHandler handler) {
+ public void notifyPowerEventProcessingCompletion() {
long processingTime = 0;
- for (PowerEventProcessingHandlerWrapper wrapper : mPowerEventProcessingHandlers) {
- if (wrapper.handler == handler) {
- wrapper.markProcessingDone();
- } else if (!wrapper.isProcessingDone()) {
- processingTime = Math.max(processingTime, wrapper.getProcessingTime());
- }
- }
synchronized (mPowerManagerListenerTokens) {
if (!mPowerManagerListenerTokens.isEmpty()) {
processingTime += APP_EXTEND_MAX_MS;
@@ -293,10 +204,6 @@
writer.print("mCurrentState:" + mCurrentState);
writer.print(",mProcessingStartTime:" + mProcessingStartTime);
writer.println(",mLastSleepEntryTime:" + mLastSleepEntryTime);
- writer.println("**PowerEventProcessingHandlers");
- for (PowerEventProcessingHandlerWrapper wrapper : mPowerEventProcessingHandlers) {
- writer.println(wrapper.toString());
- }
}
@Override
@@ -336,11 +243,9 @@
switch (state.mState) {
case PowerHalService.STATE_ON_DISP_OFF:
handleDisplayOff(state);
- notifyPowerOn(false);
break;
case PowerHalService.STATE_ON_FULL:
handleFullOn(state);
- notifyPowerOn(true);
break;
case PowerHalService.STATE_SHUTDOWN_PREPARE:
handleShutdownPrepare(state);
@@ -358,27 +263,6 @@
mSystemInterface.setDisplayState(true);
}
- @VisibleForTesting
- protected void notifyPowerOn(boolean displayOn) {
- for (PowerEventProcessingHandlerWrapper wrapper : mPowerEventProcessingHandlers) {
- wrapper.callOnPowerOn(displayOn);
- }
- }
-
- @VisibleForTesting
- protected long notifyPrepareShutdown(boolean shuttingDown) {
- long processingTimeMs = 0;
- for (PowerEventProcessingHandlerWrapper wrapper : mPowerEventProcessingHandlers) {
- long handlerProcessingTime = wrapper.handler.onPrepareShutdown(shuttingDown);
- if (handlerProcessingTime > processingTimeMs) {
- processingTimeMs = handlerProcessingTime;
- }
- }
- // Add time for powerManager events
- processingTimeMs += sendPowerManagerEvent(shuttingDown);
- return processingTimeMs;
- }
-
private void handleShutdownPrepare(PowerState newState) {
setCurrentState(newState);
mSystemInterface.setDisplayState(false);;
@@ -410,28 +294,18 @@
}
private void doHandlePreprocessing(boolean shuttingDown) {
- long processingTimeMs = 0;
- for (PowerEventProcessingHandlerWrapper wrapper : mPowerEventProcessingHandlers) {
- long handlerProcessingTime = wrapper.handler.onPrepareShutdown(shuttingDown);
- if (handlerProcessingTime > 0) {
- wrapper.setProcessingTimeAndResetProcessingDone(handlerProcessingTime);
- }
- if (handlerProcessingTime > processingTimeMs) {
- processingTimeMs = handlerProcessingTime;
- }
- }
- // Add time for powerManager events
- processingTimeMs += sendPowerManagerEvent(shuttingDown);
+ // Set time for powerManager events
+ long processingTimeMs = sendPowerManagerEvent(shuttingDown);
if (processingTimeMs > 0) {
int pollingCount = (int)(processingTimeMs / SHUTDOWN_POLLING_INTERVAL_MS) + 1;
- Log.i(CarLog.TAG_POWER, "processing before shutdown expected for :" + processingTimeMs +
- " ms, adding polling:" + pollingCount);
+ Log.i(CarLog.TAG_POWER, "processing before shutdown expected for: "
+ + processingTimeMs + " ms, adding polling:" + pollingCount);
synchronized (this) {
mProcessingStartTime = SystemClock.elapsedRealtime();
releaseTimerLocked();
mTimer = new Timer();
- mTimer.scheduleAtFixedRate(new ShutdownProcessingTimerTask(shuttingDown,
- pollingCount),
+ mTimer.scheduleAtFixedRate(
+ new ShutdownProcessingTimerTask(shuttingDown, pollingCount),
0 /*delay*/,
SHUTDOWN_POLLING_INTERVAL_MS);
}
@@ -464,7 +338,8 @@
}
mPowerManagerListeners.finishBroadcast();
if (!mPowerManagerListenerTokens.isEmpty()) {
- Log.i(CarLog.TAG_POWER, "mPowerMangerListenerTokens not empty, add APP_EXTEND_MAX_MS");
+ Log.i(CarLog.TAG_POWER,
+ "mPowerManagerListenerTokens not empty, add APP_EXTEND_MAX_MS");
processingTimeMs += APP_EXTEND_MAX_MS;
}
}
@@ -480,23 +355,19 @@
handler = mHandler;
}
handler.cancelProcessingComplete();
- for (PowerServiceEventListener listener : mListeners) {
- listener.onSleepEntry();
- }
- int wakeupTimeSec = getWakeupTime();
mHal.sendSleepEntry();
synchronized (this) {
mLastSleepEntryTime = SystemClock.elapsedRealtime();
}
- if (mSystemInterface.enterDeepSleep(wakeupTimeSec) == false) {
+ if (!mSystemInterface.enterDeepSleep(mNextWakeupSec)) {
// System did not suspend. Need to shutdown
// TODO: Shutdown gracefully
Log.e(CarLog.TAG_POWER, "Sleep did not succeed. Need to shutdown");
}
+ // When we wake up, we reset the next wake up time and if no one will set it
+ // System will suspend / shutdown forever.
+ mNextWakeupSec = 0;
mHal.sendSleepExit();
- for (PowerServiceEventListener listener : mListeners) {
- listener.onSleepExit();
- }
// Notify applications
int i = mPowerManagerListeners.beginBroadcast();
while (i-- > 0) {
@@ -531,10 +402,6 @@
displayOn = true;
}
}
- for (PowerEventProcessingHandlerWrapper wrapper : mPowerEventProcessingHandlers) {
- // wrapper will not send it forward if it is already called.
- wrapper.callOnPowerOn(displayOn);
- }
}
private boolean needPowerStateChange(PowerState newState) {
@@ -548,28 +415,10 @@
private void doHandleShutdown() {
// now shutdown
- for (PowerServiceEventListener listener : mListeners) {
- listener.onShutdown();
- }
- int wakeupTimeSec = 0;
- if (mHal.isTimedWakeupAllowed()) {
- wakeupTimeSec = getWakeupTime();
- }
- mHal.sendShutdownStart(wakeupTimeSec);
+ mHal.sendShutdownStart(mHal.isTimedWakeupAllowed() ? mNextWakeupSec : 0);
mSystemInterface.shutdown();
}
- private int getWakeupTime() {
- int wakeupTimeSec = 0;
- for (PowerEventProcessingHandlerWrapper wrapper : mPowerEventProcessingHandlers) {
- int t = wrapper.handler.getWakeupTime();
- if (t > wakeupTimeSec) {
- wakeupTimeSec = t;
- }
- }
- return wakeupTimeSec;
- }
-
private void doHandleProcessingComplete(boolean shutdownWhenCompleted) {
synchronized (this) {
releaseTimerLocked();
@@ -676,6 +525,20 @@
}
}
+ @Override
+ public synchronized void scheduleNextWakeupTime(int seconds) {
+ if (seconds < 0) {
+ Log.w(CarLog.TAG_POWER, "Next wake up can not be in negative time. Ignoring!");
+ return;
+ }
+ if (mNextWakeupSec == 0 || mNextWakeupSec > seconds) {
+ mNextWakeupSec = seconds;
+ } else {
+ Log.d(CarLog.TAG_POWER, "Tried to schedule next wake up, but already had shorter "
+ + " scheduled time");
+ }
+ }
+
private void finishedLocked(IBinder binder, int token) {
int currentToken = mPowerManagerListenerTokens.get(binder);
if (currentToken == token) {
@@ -683,8 +546,9 @@
if (mPowerManagerListenerTokens.isEmpty() &&
(mCurrentState.mState == PowerHalService.STATE_SHUTDOWN_PREPARE)) {
// All apps are ready to shutdown/suspend.
- Log.i(CarLog.TAG_POWER, "Apps are finished, call notifyPowerEventProcessingCompletion");
- notifyPowerEventProcessingCompletion(null);
+ Log.i(CarLog.TAG_POWER,
+ "Apps are finished, call notifyPowerEventProcessingCompletion");
+ notifyPowerEventProcessingCompletion();
}
}
}
@@ -792,54 +656,4 @@
}
}
}
-
- private static class PowerEventProcessingHandlerWrapper {
- public final PowerEventProcessingHandler handler;
- private long mProcessingTime = 0;
- private boolean mProcessingDone = true;
- private boolean mPowerOnSent = false;
- private int mLastDisplayState = -1;
-
- public PowerEventProcessingHandlerWrapper(PowerEventProcessingHandler handler) {
- this.handler = handler;
- }
-
- public synchronized void setProcessingTimeAndResetProcessingDone(long processingTime) {
- mProcessingTime = processingTime;
- mProcessingDone = false;
- }
-
- public synchronized long getProcessingTime() {
- return mProcessingTime;
- }
-
- public synchronized void markProcessingDone() {
- mProcessingDone = true;
- }
-
- public synchronized boolean isProcessingDone() {
- return mProcessingDone;
- }
-
- public void callOnPowerOn(boolean displayOn) {
- int newDisplayState = displayOn ? 1 : 0;
- boolean shouldCall = false;
- synchronized (this) {
- if (!mPowerOnSent || (mLastDisplayState != newDisplayState)) {
- shouldCall = true;
- mPowerOnSent = true;
- mLastDisplayState = newDisplayState;
- }
- }
- if (shouldCall) {
- handler.onPowerOn(displayOn);
- }
- }
-
- @Override
- public String toString() {
- return "PowerEventProcessingHandlerWrapper [handler=" + handler + ", mProcessingTime="
- + mProcessingTime + ", mProcessingDone=" + mProcessingDone + "]";
- }
- }
}
diff --git a/service/src/com/android/car/DeviceIdleControllerWrapper.java b/service/src/com/android/car/DeviceIdleControllerWrapper.java
deleted file mode 100644
index 0ed1b78..0000000
--- a/service/src/com/android/car/DeviceIdleControllerWrapper.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (C) 2016 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.car;
-
-import android.os.Handler;
-import android.os.Message;
-import android.util.Log;
-
-import com.android.internal.annotations.GuardedBy;
-import com.android.internal.annotations.VisibleForTesting;
-
-import java.lang.ref.WeakReference;
-
-/**
-* An wrapper class that can be backed by a real DeviceIdleController or a mocked one.
-*/
-public abstract class DeviceIdleControllerWrapper {
- private static final String TAG = "Garage_DeviceIdleWrapper";
-
- private static final int MSG_REPORT_ACTIVE = 1;
-
- @VisibleForTesting
- protected WeakReference<DeviceMaintenanceActivityListener> mListener;
-
- public interface DeviceMaintenanceActivityListener {
- public void onMaintenanceActivityChanged(boolean active);
- }
- private final Object mLock = new Object();
- @GuardedBy("mLock")
- private boolean mActive;
-
- private Handler mHandler = new IdleControllerHandler();
-
- private class IdleControllerHandler extends Handler {
- @Override
- public void handleMessage(Message msg) {
- switch (msg.what) {
- case MSG_REPORT_ACTIVE:
- boolean active = msg.arg1 == 1;
- if (mListener.get() != null) {
- mListener.get().onMaintenanceActivityChanged(active);
- }
- break;
- }
- }
- }
-
- public boolean startTracking(DeviceMaintenanceActivityListener listener) {
- synchronized (mLock) {
- mListener = new WeakReference<DeviceMaintenanceActivityListener>(listener);
- mActive = startLocked();
- return mActive;
- }
- }
-
- protected abstract boolean startLocked();
-
- public abstract void stopTracking();
-
- @VisibleForTesting
- protected void reportActiveLocked(final boolean active) {
- // post to a handler instead of calling the callback directly to avoid potential deadlock.
- mHandler.sendMessage(mHandler.obtainMessage(MSG_REPORT_ACTIVE, active ? 1 : 0, 0));
- }
-
- @VisibleForTesting
- protected void setMaintenanceActivity(final boolean active) {
- synchronized (mLock) {
- if (mActive == active) {
- return;
- }
- mActive = active;
-
- if (mListener.get() == null) {
- // do cleanup if the listener has gone and did not call release.
- stopTracking();
- return;
- }
- reportActiveLocked(active);
- }
- }
-}
diff --git a/service/src/com/android/car/ICarImpl.java b/service/src/com/android/car/ICarImpl.java
index 67c50a7..b63b338 100644
--- a/service/src/com/android/car/ICarImpl.java
+++ b/service/src/com/android/car/ICarImpl.java
@@ -21,7 +21,7 @@
import android.car.Car;
import android.car.ICar;
import android.car.cluster.renderer.IInstrumentClusterNavigation;
-import android.car.user.CarUserManagerHelper;
+import android.car.userlib.CarUserManagerHelper;
import android.content.Context;
import android.content.pm.PackageManager;
import android.hardware.automotive.vehicle.V2_0.IVehicle;
@@ -122,14 +122,14 @@
mSystemActivityMonitoringService);
mCarInputService = new CarInputService(serviceContext, mHal.getInputHal());
mCarProjectionService = new CarProjectionService(serviceContext, mCarInputService);
- mGarageModeService = new GarageModeService(mContext, mCarPowerManagementService);
+ mGarageModeService = new GarageModeService(mContext);
mAppFocusService = new AppFocusService(serviceContext, mSystemActivityMonitoringService);
mCarAudioService = new CarAudioService(serviceContext);
mCarNightService = new CarNightService(serviceContext, mCarPropertyService);
mInstrumentClusterService = new InstrumentClusterService(serviceContext,
mAppFocusService, mCarInputService);
- mSystemStateControllerService = new SystemStateControllerService(serviceContext,
- mCarPowerManagementService, mCarAudioService, this);
+ mSystemStateControllerService = new SystemStateControllerService(
+ serviceContext, mCarAudioService, this);
mPerUserCarServiceHelper = new PerUserCarServiceHelper(serviceContext);
mCarBluetoothService = new CarBluetoothService(serviceContext, mCarPropertyService,
mPerUserCarServiceHelper, mCarUXRestrictionsService);
@@ -141,8 +141,8 @@
mCarConfigurationService =
new CarConfigurationService(serviceContext, new JsonReaderImpl());
mUserManagerHelper = new CarUserManagerHelper(serviceContext);
- mCarLocationService = new CarLocationService(mContext, mCarPowerManagementService,
- mCarPropertyService, mUserManagerHelper);
+ mCarLocationService = new CarLocationService(
+ mContext, mCarPropertyService, mUserManagerHelper);
// Be careful with order. Service depending on other service should be inited later.
List<CarServiceBase> allServices = new ArrayList<>();
@@ -167,12 +167,9 @@
allServices.add(mCarConfigurationService);
allServices.add(mVmsSubscriberService);
allServices.add(mVmsPublisherService);
-
if (mUserManagerHelper.isHeadlessSystemUser()) {
- mCarUserService = new CarUserService(serviceContext, mUserManagerHelper);
- allServices.add(mCarUserService);
+ allServices.add(new CarUserService(serviceContext, mUserManagerHelper));
}
-
allServices.add(mCarLocationService);
mAllServices = allServices.toArray(new CarServiceBase[allServices.size()]);
}
@@ -563,10 +560,10 @@
private void forceGarageMode(String arg, PrintWriter writer) {
switch (arg) {
case PARAM_ON_MODE:
- mGarageModeService.onPrepareShutdown(false);
+ mGarageModeService.forceStartGarageMode();
break;
case PARAM_OFF_MODE:
- mGarageModeService.onSleepEntry();
+ mGarageModeService.stopAndResetGarageMode();
break;
case PARAM_QUERY_MODE:
// Nothing to do. Always query at the end anyway.
@@ -576,7 +573,7 @@
+ PARAM_OFF_MODE + "|" + PARAM_QUERY_MODE);
return;
}
- writer.println("Garage mode: " + mGarageModeService.isInGarageMode());
+ writer.println("Garage mode: " + mGarageModeService.isGarageModeActive());
}
/**
diff --git a/service/src/com/android/car/SystemStateControllerService.java b/service/src/com/android/car/SystemStateControllerService.java
index 53d74a3..e0b1161 100644
--- a/service/src/com/android/car/SystemStateControllerService.java
+++ b/service/src/com/android/car/SystemStateControllerService.java
@@ -18,23 +18,15 @@
import android.content.Context;
import android.content.res.Resources;
-import com.android.car.CarPowerManagementService.PowerEventProcessingHandler;
-import com.android.car.CarPowerManagementService.PowerServiceEventListener;
-
import java.io.PrintWriter;
-public class SystemStateControllerService implements CarServiceBase,
- PowerServiceEventListener, PowerEventProcessingHandler {
-
- private final CarPowerManagementService mCarPowerManagementService;
+public class SystemStateControllerService implements CarServiceBase {
private final CarAudioService mCarAudioService;
private final ICarImpl mICarImpl;
private final boolean mLockWhenMuting;
- public SystemStateControllerService(Context context,
- CarPowerManagementService carPowerManagementService,
- CarAudioService carAudioService, ICarImpl carImpl) {
- mCarPowerManagementService = carPowerManagementService;
+ public SystemStateControllerService(
+ Context context, CarAudioService carAudioService, ICarImpl carImpl) {
mCarAudioService = carAudioService;
mICarImpl = carImpl;
Resources res = context.getResources();
@@ -42,40 +34,7 @@
}
@Override
- public long onPrepareShutdown(boolean shuttingDown) {
- //TODO add state saving here for things to restore on power on. bug: 32096079
- return 0;
- }
-
- @Override
- public void onPowerOn(boolean displayOn) {
- // TODO may consider mute / unmute the system based on displayOn
- }
-
- @Override
- public int getWakeupTime() {
- return 0;
- }
-
- @Override
- public void onShutdown() {
- // TODO bug: 32096079
- }
-
- @Override
- public void onSleepEntry() {
- // TODO bug: 32096079
- }
-
- @Override
- public void onSleepExit() {
- // TODO bug: 32096079
- }
-
- @Override
public void init() {
- mCarPowerManagementService.registerPowerEventListener(this);
- mCarPowerManagementService.registerPowerEventProcessingHandler(this);
}
@Override
diff --git a/service/src/com/android/car/VmsPublisherService.java b/service/src/com/android/car/VmsPublisherService.java
index a240e17..84eb8ce 100644
--- a/service/src/com/android/car/VmsPublisherService.java
+++ b/service/src/com/android/car/VmsPublisherService.java
@@ -105,6 +105,8 @@
mContext.registerReceiver(mBootCompleteReceiver,
new IntentFilter(Intent.ACTION_LOCKED_BOOT_COMPLETED));
}
+ // Signal to publishers that the PublisherService is ready.
+ mHal.signalPublisherServiceIsReady();
}
private void bindToAllPublishers() {
@@ -308,9 +310,8 @@
}
private boolean isTestEnvironment() {
- // If the context is derived from other package it means we're running under
- // environment.
- return !TextUtils.equals(mContext.getBasePackageName(), mContext.getPackageName());
+ // If the context has "test" in it.
+ return mContext.getBasePackageName().contains("test");
}
class PublisherConnection implements ServiceConnection {
diff --git a/service/src/com/android/car/VmsRouting.java b/service/src/com/android/car/VmsRouting.java
index fa29a27..92549cc 100644
--- a/service/src/com/android/car/VmsRouting.java
+++ b/service/src/com/android/car/VmsRouting.java
@@ -24,10 +24,8 @@
import com.android.internal.annotations.GuardedBy;
-import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
@@ -410,4 +408,4 @@
return new VmsSubscriptionState(mSequenceNumber, layers, layersFromPublishers);
}
}
-}
\ No newline at end of file
+}
diff --git a/service/src/com/android/car/VmsSubscriberService.java b/service/src/com/android/car/VmsSubscriberService.java
index c4c507e..213757c 100644
--- a/service/src/com/android/car/VmsSubscriberService.java
+++ b/service/src/com/android/car/VmsSubscriberService.java
@@ -124,18 +124,20 @@
public void add(IVmsSubscriberClient subscriber) {
ICarImpl.assertVmsSubscriberPermission(mContext);
if (subscriber == null) {
- Log.e(TAG, "register: subscriber is null.");
+ Log.e(TAG, "Trying to add a null subscriber.");
throw new IllegalArgumentException("subscriber cannot be null.");
}
- if (DBG) {
- Log.d(TAG, "register: " + subscriber);
- }
IBinder subscriberBinder = subscriber.asBinder();
synchronized (mListenerManagerLock) {
if (mSubscriberMap.containsKey(subscriberBinder)) {
- // Already registered, nothing to do.
+ if (DBG) {
+ Log.d(TAG, "Subscriber already registered: " + subscriber);
+ }
return;
}
+ if (DBG) {
+ Log.d(TAG, "Registering subscriber: " + subscriber);
+ }
ListenerDeathRecipient deathRecipient =
new ListenerDeathRecipient(subscriberBinder);
try {
@@ -203,6 +205,9 @@
@Override
public void init() {
mHal.addSubscriberListener(this);
+
+ // Signal to subscribers that the SubscriberService is ready.
+ mHal.signalSubscriberServiceIsReady();
}
@Override
diff --git a/service/src/com/android/car/garagemode/Controller.java b/service/src/com/android/car/garagemode/Controller.java
new file mode 100644
index 0000000..e9b2888
--- /dev/null
+++ b/service/src/com/android/car/garagemode/Controller.java
@@ -0,0 +1,204 @@
+/*
+ * 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 com.android.car.garagemode;
+
+import android.app.job.JobScheduler;
+import android.car.Car;
+import android.car.CarNotConnectedException;
+import android.car.hardware.power.CarPowerManager;
+import android.car.hardware.power.CarPowerManager.CarPowerStateListener;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.ServiceConnection;
+import android.os.Handler;
+import android.os.IBinder;
+import android.os.Looper;
+
+import com.android.internal.annotations.VisibleForTesting;
+
+import java.util.concurrent.CompletableFuture;
+
+/**
+ * Main controller for GarageMode. It controls all the flows of GarageMode and defines the logic.
+ */
+public class Controller implements CarPowerStateListener {
+ private static final Logger LOG = new Logger("Controller");
+
+ @VisibleForTesting final WakeupPolicy mWakeupPolicy;
+ private final GarageMode mGarageMode;
+ private final Handler mHandler;
+ private final Context mContext;
+ private final Car mCar;
+ private final ServiceConnection mCarServiceConnection = new ServiceConnection() {
+ @Override
+ public void onServiceConnected(ComponentName name, IBinder service) {
+ LOG.i("Car is now connected, getting CarPowerManager service");
+ try {
+ mCarPowerManager = (CarPowerManager) mCar.getCarManager(Car.POWER_SERVICE);
+ mCarPowerManager.setListener(Controller.this);
+ } catch (CarNotConnectedException e) {
+ LOG.e("Failed to get CarPowerManager instance", e);
+ }
+ }
+
+ @Override
+ public void onServiceDisconnected(ComponentName name) {
+ LOG.i("Car is now disconnected!");
+ if (mCarPowerManager != null) {
+ mCarPowerManager.clearListener();
+ }
+ }
+ };
+
+ private CarPowerManager mCarPowerManager;
+
+ public Controller(Context context, Looper looper) {
+ this(context, looper, null, null, null, null);
+ }
+
+ public Controller(
+ Context context,
+ Looper looper,
+ WakeupPolicy wakeupPolicy,
+ Handler handler,
+ GarageMode garageMode,
+ Car car) {
+ mContext = context;
+ mHandler = (handler == null ? new Handler(looper) : handler);
+ mWakeupPolicy =
+ (wakeupPolicy == null ? WakeupPolicy.initFromResources(context) : wakeupPolicy);
+ mGarageMode = (garageMode == null ? new GarageMode(this) : garageMode);
+ if (car == null) {
+ LOG.i("Creating a connection to car service to get CarPowerManager");
+ mCar = Car.createCar(context, mCarServiceConnection);
+ mCar.connect();
+ } else {
+ mCar = car;
+ }
+ }
+
+ @Override
+ public void onStateChanged(int state, CompletableFuture<Void> future) {
+ switch (state) {
+ case CarPowerStateListener.SHUTDOWN_CANCELLED:
+ LOG.d("CPM state changed to SHUTDOWN_CANCELLED");
+ handleShutdownCancelled();
+ break;
+ case CarPowerStateListener.SHUTDOWN_ENTER:
+ LOG.d("CPM state changed to SHUTDOWN_ENTER");
+ handleShutdownEnter(future);
+ break;
+ case CarPowerStateListener.SUSPEND_ENTER:
+ LOG.d("CPM state changed to SUSPEND_ENTER");
+ handleSuspendEnter(future);
+ break;
+ case CarPowerStateListener.SUSPEND_EXIT:
+ LOG.d("CPM state changed to SUSPEND_EXIT");
+ handleSuspendExit();
+ break;
+ default:
+ }
+ }
+
+ /**
+ * @return boolean whether any jobs are currently in running that GarageMode cares about
+ */
+ boolean isGarageModeActive() {
+ return mGarageMode.isGarageModeActive();
+ }
+
+ /**
+ * Wrapper method to send a broadcast
+ *
+ * @param i intent that contains broadcast data
+ */
+ void sendBroadcast(Intent i) {
+ LOG.d("Sending broadcast with action: " + i.getAction());
+ mContext.sendBroadcast(i);
+ }
+
+ /**
+ * @return JobSchedulerService instance
+ */
+ JobScheduler getJobSchedulerService() {
+ return (JobScheduler) mContext.getSystemService(Context.JOB_SCHEDULER_SERVICE);
+ }
+
+ /**
+ * @return Handler instance used by controller
+ */
+ Handler getHandler() {
+ return mHandler;
+ }
+
+ /**
+ * Initiates GarageMode flow which will set the system idleness to true and will start
+ * monitoring jobs which has idleness constraint enabled.
+ */
+ void initiateGarageMode(CompletableFuture<Void> future) {
+ mWakeupPolicy.incrementCounter();
+ mGarageMode.enterGarageMode(future);
+ }
+
+ /**
+ * Resets GarageMode.
+ */
+ void resetGarageMode() {
+ mGarageMode.cancel();
+ mWakeupPolicy.resetCounter();
+ }
+
+ @VisibleForTesting
+ void finishGarageMode() {
+ mGarageMode.finish();
+ }
+
+ @VisibleForTesting
+ void setCarPowerManager(CarPowerManager cpm) {
+ mCarPowerManager = cpm;
+ }
+
+ void scheduleNextWakeup() {
+ if (mWakeupPolicy.getNextWakeUpInterval() <= 0) {
+ // Either there is no policy or nothing left to schedule
+ return;
+ }
+ int seconds = mWakeupPolicy.getNextWakeUpInterval();
+ try {
+ mCarPowerManager.scheduleNextWakeupTime(seconds);
+ } catch (CarNotConnectedException e) {
+ LOG.e("Car is not connected.", e);
+ }
+ }
+
+ private void handleSuspendExit() {
+ resetGarageMode();
+ }
+
+ private void handleSuspendEnter(CompletableFuture<Void> future) {
+ initiateGarageMode(future);
+ }
+
+ private void handleShutdownEnter(CompletableFuture<Void> future) {
+ initiateGarageMode(future);
+ }
+
+ private void handleShutdownCancelled() {
+ resetGarageMode();
+ }
+}
\ No newline at end of file
diff --git a/service/src/com/android/car/garagemode/GarageMode.java b/service/src/com/android/car/garagemode/GarageMode.java
new file mode 100644
index 0000000..914190d
--- /dev/null
+++ b/service/src/com/android/car/garagemode/GarageMode.java
@@ -0,0 +1,164 @@
+/*
+ * 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 com.android.car.garagemode;
+
+import android.app.job.JobInfo;
+import android.app.job.JobScheduler;
+import android.app.job.JobSnapshot;
+import android.content.Intent;
+import android.os.Handler;
+
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+
+/**
+ * Class that interacts with JobScheduler, controls system idleness and monitor jobs which are
+ * in GarageMode interest
+ */
+
+class GarageMode {
+ private static final Logger LOG = new Logger("GarageMode");
+
+ /**
+ * When changing this field value, please update
+ * {@link com.android.server.job.controllers.idle.CarIdlenessTracker} as well.
+ */
+ public static final String ACTION_GARAGE_MODE_ON =
+ "com.android.server.jobscheduler.GARAGE_MODE_ON";
+
+ /**
+ * When changing this field value, please update
+ * {@link com.android.server.job.controllers.idle.CarIdlenessTracker} as well.
+ */
+ public static final String ACTION_GARAGE_MODE_OFF =
+ "com.android.server.jobscheduler.GARAGE_MODE_OFF";
+
+ static final long JOB_SNAPSHOT_INITIAL_UPDATE_MS = 10000; // 10 seconds
+ static final long JOB_SNAPSHOT_UPDATE_FREQUENCY_MS = 1000; // 1 second
+
+ private final Controller mController;
+
+ private boolean mGarageModeActive;
+ private JobScheduler mJobScheduler;
+ private Handler mHandler;
+ private Runnable mRunnable;
+ private CompletableFuture<Void> mFuture;
+
+ GarageMode(Controller controller) {
+ mGarageModeActive = false;
+ mController = controller;
+ mJobScheduler = controller.getJobSchedulerService();
+ mHandler = controller.getHandler();
+
+ mRunnable = () -> {
+ if (areAnyIdleJobsRunning()) {
+ LOG.d("Some jobs are still running. Need to wait more ...");
+ mHandler.postDelayed(mRunnable, JOB_SNAPSHOT_UPDATE_FREQUENCY_MS);
+ } else {
+ LOG.d("No jobs are currently running.");
+ finish();
+ }
+ };
+ }
+
+ boolean isGarageModeActive() {
+ return mGarageModeActive;
+ }
+
+ void enterGarageMode(CompletableFuture<Void> future) {
+ LOG.d("Entering GarageMode");
+ synchronized (this) {
+ mGarageModeActive = true;
+ }
+ updateFuture(future);
+ broadcastSignalToJobSchedulerTo(true);
+ startMonitoringThread();
+ }
+
+ synchronized void cancel() {
+ if (mFuture != null && !mFuture.isDone()) {
+ mFuture.cancel(true);
+ }
+ mFuture = null;
+ }
+
+ synchronized void finish() {
+ mController.scheduleNextWakeup();
+ synchronized (this) {
+ if (mFuture != null && !mFuture.isDone()) {
+ mFuture.complete(null);
+ }
+ mFuture = null;
+ }
+ }
+
+ private void cleanupGarageMode() {
+ LOG.d("Cleaning up GarageMode");
+ synchronized (this) {
+ mGarageModeActive = false;
+ }
+ broadcastSignalToJobSchedulerTo(false);
+ stopMonitoringThread();
+ }
+
+ private void updateFuture(CompletableFuture<Void> future) {
+ synchronized (this) {
+ mFuture = future;
+ }
+ if (mFuture != null) {
+ mFuture.whenComplete((result, exception) -> {
+ if (exception != null) {
+ LOG.e("Seems like GarageMode got canceled, cleaning up", exception);
+ } else {
+ LOG.d("Seems like GarageMode is completed, cleaning up");
+ }
+ cleanupGarageMode();
+ });
+ }
+ }
+
+ private void broadcastSignalToJobSchedulerTo(boolean enableGarageMode) {
+ Intent i = new Intent();
+ if (enableGarageMode) {
+ i.setAction(ACTION_GARAGE_MODE_ON);
+ } else {
+ i.setAction(ACTION_GARAGE_MODE_OFF);
+ }
+ i.setFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY | Intent.FLAG_RECEIVER_NO_ABORT);
+ mController.sendBroadcast(i);
+ }
+
+ private synchronized void startMonitoringThread() {
+ mHandler.postDelayed(mRunnable, JOB_SNAPSHOT_INITIAL_UPDATE_MS);
+ }
+
+ private synchronized void stopMonitoringThread() {
+ mHandler.removeCallbacks(mRunnable);
+ }
+
+ private boolean areAnyIdleJobsRunning() {
+ List<JobInfo> startedJobs = mJobScheduler.getStartedJobs();
+ for (JobSnapshot snap : mJobScheduler.getAllJobSnapshots()) {
+ if (startedJobs.contains(snap.getJobInfo())) {
+ if (snap.getJobInfo().isRequireDeviceIdle()) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+}
diff --git a/service/src/com/android/car/garagemode/GarageModePolicy.java b/service/src/com/android/car/garagemode/GarageModePolicy.java
deleted file mode 100644
index be7b713..0000000
--- a/service/src/com/android/car/garagemode/GarageModePolicy.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * 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 com.android.car.garagemode;
-
-import android.content.Context;
-import android.util.Log;
-
-import com.android.car.R;
-
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Default garage mode policy.
- *
- * The first wake up time is set to be 1am the next day. And it keeps waking up every day for a
- * week. After that, wake up every 7 days for a month, and wake up every 30 days thereafter.
- */
-public class GarageModePolicy {
- private static final String TAG = "GarageModePolicy";
- private static final Map<Character, Integer> TIME_UNITS_LOOKUP;
- static {
- TIME_UNITS_LOOKUP = new HashMap<>();
- TIME_UNITS_LOOKUP.put('m', 60);
- TIME_UNITS_LOOKUP.put('h', 3600);
- TIME_UNITS_LOOKUP.put('d', 86400);
- }
-
- private LinkedList<WakeupInterval> mWakeupIntervals;
-
- public GarageModePolicy(String[] policy) {
- mWakeupIntervals = parsePolicy(policy);
- }
-
- /**
- * Initializes GarageModePolicy from config_garageModeCadence resource array.
- * @param context to access resources
- * @return GarageModePolicy instance, created from values in resources
- */
- public static GarageModePolicy initFromResources(Context context) {
- return new GarageModePolicy(
- context.getResources().getStringArray(R.array.config_garageModeCadence));
- }
-
- /**
- * Returns the interval in milliseconds, which defines next wake up time.
- * @param index amount of times system woken up
- * @return the interval in milliseconds
- */
- public int getNextWakeUpInterval(int index) {
- if (mWakeupIntervals.size() == 0) {
- Log.e(TAG, "No wake up policy configuration was loaded.");
- return 0;
- }
-
- for (WakeupInterval wakeupTime : mWakeupIntervals) {
- if (index < wakeupTime.getNumAttempts()) {
- return wakeupTime.getWakeupInterval();
- }
- index -= wakeupTime.getNumAttempts();
- }
- Log.w(TAG, "No more garage mode wake ups scheduled; been sleeping too long.");
- return 0;
- }
-
- /**
- * Get list of {@link com.android.car.garagemode.WakeupInterval}s in this policy
- * @return list as List\<WakeupInterval\>
- */
- public List<WakeupInterval> getWakeupIntervals() {
- return mWakeupIntervals;
- }
-
- private LinkedList<WakeupInterval> parsePolicy(String[] policy) {
- LinkedList<WakeupInterval> intervals = new LinkedList<>();
- if (policy == null || policy.length == 0) {
- Log.e(TAG, "Trying to parse empty policies!");
- return intervals;
- }
-
- for (String rule : policy) {
- WakeupInterval interval = parseRule(rule);
- if (interval == null) {
- Log.e(TAG, "Invalid Policy! This rule has bad format: " + rule);
- return new LinkedList<>();
- }
- intervals.add(interval);
- }
- return intervals;
- }
-
- private WakeupInterval parseRule(String rule) {
- String[] str = rule.split(",");
-
- if (str.length != 2) {
- Log.e(TAG, "Policy has bad format: " + rule);
- return null;
- }
-
- String intervalStr = str[0];
- String timesStr = str[1];
-
- if (intervalStr.isEmpty() || timesStr.isEmpty()) {
- Log.e(TAG, "One of the values is empty. Please check format: " + rule);
- return null;
- }
-
- char unit = intervalStr.charAt(intervalStr.length() - 1);
-
- // Removing last letter extension from string
- intervalStr = intervalStr.substring(0, intervalStr.length() - 1);
-
- int interval, times;
- try {
- interval = Integer.parseInt(intervalStr);
- times = Integer.parseInt(timesStr);
- } catch (NumberFormatException ex) {
- Log.d(TAG, "Invalid input Rule for interval " + rule);
- return null;
- }
-
- if (!TIME_UNITS_LOOKUP.containsKey(unit)) {
- Log.e(TAG, "Time units map does not contain extension " + unit);
- return null;
- }
-
- if (interval <= 0) {
- Log.e(TAG, "Wake up policy time must be > 0!" + interval);
- return null;
- }
-
- if (times <= 0) {
- Log.e(TAG, "Wake up attempts in policy must be > 0!" + times);
- return null;
- }
-
- interval *= TIME_UNITS_LOOKUP.get(unit);
-
- return new WakeupInterval(interval, times);
- }
-}
diff --git a/service/src/com/android/car/garagemode/GarageModeService.java b/service/src/com/android/car/garagemode/GarageModeService.java
index c9c34dd..4899938 100644
--- a/service/src/com/android/car/garagemode/GarageModeService.java
+++ b/service/src/com/android/car/garagemode/GarageModeService.java
@@ -16,335 +16,76 @@
package com.android.car.garagemode;
-import static android.car.settings.GarageModeSettingsObserver.GARAGE_MODE_ENABLED_URI;
-import static android.car.settings.GarageModeSettingsObserver.GARAGE_MODE_MAINTENANCE_WINDOW_URI;
-import static android.car.settings.GarageModeSettingsObserver.GARAGE_MODE_WAKE_UP_TIME_URI;
-
-import android.car.settings.CarSettings;
-import android.car.settings.GarageModeSettingsObserver;
import android.content.Context;
-import android.content.SharedPreferences;
-import android.net.Uri;
-import android.os.Handler;
-import android.os.IDeviceIdleController;
-import android.os.IMaintenanceActivityListener;
import android.os.Looper;
-import android.os.Message;
-import android.os.RemoteException;
-import android.os.ServiceManager;
-import android.preference.PreferenceManager;
-import android.provider.Settings;
-import android.util.Log;
-import com.android.car.CarPowerManagementService;
import com.android.car.CarServiceBase;
-import com.android.car.DeviceIdleControllerWrapper;
-import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import java.io.PrintWriter;
/**
- * Controls car garage mode.
- *
- * Car garage mode is a time window for the car to do maintenance work when the car is not in use.
- * The {@link com.android.car.garagemode.GarageModeService} interacts with
- * {@link com.android.car.CarPowerManagementService} to start and end garage mode.
- * A {@link com.android.car.garagemode.GarageModePolicy} defines when the garage mode should
- * start and how long it should last.
+ * Main service container for car Garage Mode.
+ * Garage Mode enables idle time in cars.
*/
-public class GarageModeService implements CarServiceBase,
- CarPowerManagementService.PowerEventProcessingHandler,
- CarPowerManagementService.PowerServiceEventListener,
- DeviceIdleControllerWrapper.DeviceMaintenanceActivityListener {
- private static final String TAG = "GarageModeService";
+public class GarageModeService implements CarServiceBase {
+ private static final Logger LOG = new Logger("Service");
- private static final int MSG_EXIT_GARAGE_MODE_EARLY = 0;
- private static final int MSG_WRITE_TO_PREF = 1;
+ private final Context mContext;
+ private final Controller mController;
- private static final String KEY_GARAGE_MODE_INDEX = "garage_mode_index";
-
- // wait for 10 seconds to allow maintenance activities to start (e.g., connecting to wifi).
- protected static final int MAINTENANCE_ACTIVITY_START_GRACE_PERIOD = 10 * 1000;
-
- private final CarPowerManagementService mPowerManagementService;
- protected final Context mContext;
-
- @VisibleForTesting
- @GuardedBy("this")
- protected boolean mInGarageMode;
- @VisibleForTesting
- @GuardedBy("this")
- protected boolean mMaintenanceActive;
- @VisibleForTesting
- @GuardedBy("this")
- protected int mGarageModeIndex;
-
- @GuardedBy("this")
- @VisibleForTesting
- protected int mMaintenanceWindow;
- @GuardedBy("this")
- private GarageModePolicy mPolicy;
- @GuardedBy("this")
- private boolean mGarageModeEnabled;
-
-
- private SharedPreferences mSharedPreferences;
- private final GarageModeSettingsObserver mContentObserver;
-
- private DeviceIdleControllerWrapper mDeviceIdleController;
- private final GarageModeHandler mHandler;
-
- private class GarageModeHandler extends Handler {
- GarageModeHandler(Looper looper) {
- super(looper);
- }
-
- @Override
- public void handleMessage(Message msg) {
- switch (msg.what) {
- case MSG_EXIT_GARAGE_MODE_EARLY:
- mPowerManagementService.notifyPowerEventProcessingCompletion(
- GarageModeService.this);
- break;
- case MSG_WRITE_TO_PREF:
- writeToPref(msg.arg1);
- break;
- }
- }
- }
-
- public GarageModeService(Context context, CarPowerManagementService powerManagementService) {
- this(context, powerManagementService, null, Looper.myLooper());
+ public GarageModeService(Context context) {
+ this(context, null);
}
@VisibleForTesting
- protected GarageModeService(Context context, CarPowerManagementService powerManagementService,
- DeviceIdleControllerWrapper deviceIdleController, Looper looper) {
+ protected GarageModeService(Context context, Controller controller) {
mContext = context;
- mPowerManagementService = powerManagementService;
- mHandler = new GarageModeHandler(looper);
- if (deviceIdleController == null) {
- mDeviceIdleController = new DefaultDeviceIdleController();
- } else {
- mDeviceIdleController = deviceIdleController;
- }
- mContentObserver = new GarageModeSettingsObserver(mContext, mHandler) {
- @Override
- public void onChange(boolean selfChange, Uri uri) {
- onSettingsChangedInternal(uri);
- }
- };
+ mController = (controller != null ? controller
+ : new Controller(context, Looper.myLooper()));
}
+ /**
+ * Initializes GarageMode
+ */
@Override
public void init() {
- init(
- GarageModePolicy.initFromResources(mContext),
- PreferenceManager.getDefaultSharedPreferences(
- mContext.createDeviceProtectedStorageContext()));
}
- @VisibleForTesting
- void init(GarageModePolicy policy, SharedPreferences prefs) {
- Log.d(TAG, "initializing GarageMode");
- mSharedPreferences = prefs;
- mPolicy = policy;
- final int index = mSharedPreferences.getInt(KEY_GARAGE_MODE_INDEX, 0);
- synchronized (this) {
- mMaintenanceActive = mDeviceIdleController.startTracking(this);
- mGarageModeIndex = index;
- readFromSettingsLocked(
- CarSettings.Global.KEY_GARAGE_MODE_MAINTENANCE_WINDOW,
- CarSettings.Global.KEY_GARAGE_MODE_ENABLED,
- CarSettings.Global.KEY_GARAGE_MODE_WAKE_UP_TIME);
- }
- mContentObserver.register();
- mPowerManagementService.registerPowerEventProcessingHandler(this);
- }
-
- public boolean isInGarageMode() {
- return mInGarageMode;
- }
-
+ /**
+ * Cleans up GarageMode processes
+ */
@Override
public void release() {
- Log.d(TAG, "releasing GarageModeService");
- mDeviceIdleController.stopTracking();
- mContentObserver.unregister();
}
+ /**
+ * Dumps useful information about GarageMode
+ * @param writer
+ */
@Override
public void dump(PrintWriter writer) {
- writer.println("mGarageModeIndex: " + mGarageModeIndex);
- writer.println("inGarageMode? " + mInGarageMode);
- writer.println("GarageModeEnabled " + mGarageModeEnabled);
- writer.println("GarageModeTimeWindow " + mMaintenanceWindow + " ms");
+ writer.println("GarageModeInProgress " + mController.isGarageModeActive());
}
- @Override
- public long onPrepareShutdown(boolean shuttingDown) {
- // this is the beginning of each garage mode.
- synchronized (this) {
- Log.d(TAG, "onPrepareShutdown is triggered. System is shutting down=" + shuttingDown);
- mInGarageMode = true;
- mGarageModeIndex++;
- mHandler.removeMessages(MSG_EXIT_GARAGE_MODE_EARLY);
- if (!mMaintenanceActive) {
- mHandler.sendMessageDelayed(
- mHandler.obtainMessage(MSG_EXIT_GARAGE_MODE_EARLY),
- MAINTENANCE_ACTIVITY_START_GRACE_PERIOD);
- }
- // We always reserve the maintenance window first. If later, we found no
- // maintenance work active, we will exit garage mode early after
- // MAINTENANCE_ACTIVITY_START_GRACE_PERIOD
- return mMaintenanceWindow;
- }
+ /**
+ * @return whether GarageMode is in progress. Used by {@link com.android.car.ICarImpl}.
+ */
+ public boolean isGarageModeActive() {
+ return mController.isGarageModeActive();
}
- @Override
- public void onPowerOn(boolean displayOn) {
- synchronized (this) {
- Log.d(TAG, "onPowerOn: " + displayOn);
- if (displayOn) {
- // the car is use now. reset the garage mode counter.
- mGarageModeIndex = 0;
- }
- }
+ /**
+ * Forces GarageMode to start. Used by {@link com.android.car.ICarImpl}.
+ */
+ public void forceStartGarageMode() {
+ mController.initiateGarageMode(null);
}
- @Override
- public int getWakeupTime() {
- synchronized (this) {
- if (!mGarageModeEnabled) {
- return 0;
- }
- return mPolicy.getNextWakeUpInterval(mGarageModeIndex);
- }
- }
-
- @Override
- public void onSleepExit() {
- // ignored
- }
-
- @Override
- public void onSleepEntry() {
- synchronized (this) {
- mInGarageMode = false;
- }
- }
-
- @Override
- public void onShutdown() {
- synchronized (this) {
- mHandler.sendMessage(
- mHandler.obtainMessage(MSG_WRITE_TO_PREF, mGarageModeIndex, 0));
- }
- }
-
- private void writeToPref(int index) {
- SharedPreferences.Editor editor = mSharedPreferences.edit();
- editor.putInt(KEY_GARAGE_MODE_INDEX, index);
- editor.commit();
- }
-
- @Override
- public void onMaintenanceActivityChanged(boolean active) {
- boolean shouldReportCompletion = false;
- synchronized (this) {
- Log.d(TAG, "onMaintenanceActivityChanged: " + active);
- mMaintenanceActive = active;
- if (!mInGarageMode) {
- return;
- }
-
- if (!active) {
- shouldReportCompletion = true;
- mInGarageMode = false;
- } else {
- // we are in garage mode, and maintenance work has just begun.
- mHandler.removeMessages(MSG_EXIT_GARAGE_MODE_EARLY);
- }
- }
- if (shouldReportCompletion) {
- // we are in garage mode, and maintenance work has finished.
- mPowerManagementService.notifyPowerEventProcessingCompletion(this);
- }
- }
-
-
- private static class DefaultDeviceIdleController extends DeviceIdleControllerWrapper {
- private IDeviceIdleController mDeviceIdleController;
- private MaintenanceActivityListener mMaintenanceActivityListener =
- new MaintenanceActivityListener();
-
- @Override
- public boolean startLocked() {
- mDeviceIdleController = IDeviceIdleController.Stub.asInterface(
- ServiceManager.getService(Context.DEVICE_IDLE_CONTROLLER));
- boolean active = false;
- try {
- active = mDeviceIdleController
- .registerMaintenanceActivityListener(mMaintenanceActivityListener);
- } catch (RemoteException e) {
- Log.e(TAG, "Unable to register listener with DeviceIdleController", e);
- }
- return active;
- }
-
- @Override
- public void stopTracking() {
- try {
- if (mDeviceIdleController != null) {
- mDeviceIdleController.unregisterMaintenanceActivityListener(
- mMaintenanceActivityListener);
- }
- } catch (RemoteException e) {
- Log.e(TAG, "Fail to unregister listener.", e);
- }
- }
-
- private final class MaintenanceActivityListener extends IMaintenanceActivityListener.Stub {
- @Override
- public void onMaintenanceActivityChanged(final boolean active) {
- DefaultDeviceIdleController.this.setMaintenanceActivity(active);
- }
- }
- }
-
- @GuardedBy("this")
- private void readFromSettingsLocked(String... keys) {
- for (String key : keys) {
- switch (key) {
- case CarSettings.Global.KEY_GARAGE_MODE_ENABLED:
- mGarageModeEnabled =
- Settings.Global.getInt(mContext.getContentResolver(), key, 1) == 1;
- break;
- case CarSettings.Global.KEY_GARAGE_MODE_MAINTENANCE_WINDOW:
- mMaintenanceWindow = Settings.Global.getInt(
- mContext.getContentResolver(), key,
- CarSettings.DEFAULT_GARAGE_MODE_MAINTENANCE_WINDOW);
- break;
- default:
- Log.e(TAG, "Unknown setting key " + key);
- }
- }
- }
-
- private void onSettingsChangedInternal(Uri uri) {
- synchronized (this) {
- Log.d(TAG, "Content Observer onChange: " + uri);
- if (uri.equals(GARAGE_MODE_ENABLED_URI)) {
- readFromSettingsLocked(CarSettings.Global.KEY_GARAGE_MODE_ENABLED);
- } else if (uri.equals(GARAGE_MODE_WAKE_UP_TIME_URI)) {
- readFromSettingsLocked(CarSettings.Global.KEY_GARAGE_MODE_WAKE_UP_TIME);
- } else if (uri.equals(GARAGE_MODE_MAINTENANCE_WINDOW_URI)) {
- readFromSettingsLocked(CarSettings.Global.KEY_GARAGE_MODE_MAINTENANCE_WINDOW);
- }
- Log.d(TAG, String.format(
- "onSettingsChanged %s. enabled: %s, windowSize: %d",
- uri, mGarageModeEnabled, mMaintenanceWindow));
- }
+ /**
+ * Stops and resets the GarageMode. Used by {@link com.android.car.ICarImpl}.
+ */
+ public void stopAndResetGarageMode() {
+ mController.resetGarageMode();
}
}
diff --git a/service/src/com/android/car/garagemode/Logger.java b/service/src/com/android/car/garagemode/Logger.java
new file mode 100644
index 0000000..220ee74
--- /dev/null
+++ b/service/src/com/android/car/garagemode/Logger.java
@@ -0,0 +1,88 @@
+/*
+ * 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 com.android.car.garagemode;
+
+import android.util.Log;
+
+class Logger {
+ private final String mTag;
+ private final String mPrefix;
+
+ Logger(String prefix) {
+ mTag = "GarageMode";
+ mPrefix = prefix;
+ }
+
+ /** Passing message further to Log.v() */
+ public void v(String msg) {
+ Log.v(mTag, buildMessage(msg));
+ }
+
+ /** Passing message further to Log.v() */
+ public void v(String msg, Exception ex) {
+ Log.v(mTag, buildMessage(msg), ex);
+ }
+
+ /** Passing message further to Log.i() */
+ public void i(String msg) {
+ Log.i(mTag, buildMessage(msg));
+ }
+
+ /** Passing message further to Log.i() */
+ public void i(String msg, Exception ex) {
+ Log.i(mTag, buildMessage(msg), ex);
+ }
+
+ /** Passing message further to Log.d() */
+ public void d(String msg) {
+ Log.d(mTag, buildMessage(msg));
+ }
+
+ /** Passing message further to Log.d() */
+ public void d(String msg, Exception ex) {
+ Log.d(mTag, buildMessage(msg), ex);
+ }
+
+ /** Passing message further to Log.w() */
+ public void w(String msg, Exception ex) {
+ Log.w(mTag, buildMessage(msg), ex);
+ }
+
+ /** Passing message further to Log.w() */
+ public void w(String msg) {
+ Log.w(mTag, buildMessage(msg));
+ }
+
+ /** Passing message further to Log.e() */
+ public void e(String msg) {
+ Log.e(mTag, buildMessage(msg));
+ }
+
+ /** Passing message further to Log.e() */
+ public void e(String msg, Exception ex) {
+ Log.e(mTag, buildMessage(msg), ex);
+ }
+
+ /** Passing message further to Log.e() */
+ public void e(String msg, Throwable ex) {
+ Log.e(mTag, buildMessage(msg), ex);
+ }
+
+ private String buildMessage(String msg) {
+ return String.format("[%s]: %s", mPrefix, msg);
+ }
+}
diff --git a/service/src/com/android/car/garagemode/WakeupInterval.java b/service/src/com/android/car/garagemode/WakeupInterval.java
deleted file mode 100644
index 659af9e..0000000
--- a/service/src/com/android/car/garagemode/WakeupInterval.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2015 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.car.garagemode;
-
-/**
- * Defines wake up interval which then will be used by
- * {@link com.android.car.garagemode.GarageModeService} to determine when to schedule next wake up
- * from {@link com.android.car.CarPowerManagementService}
- */
-class WakeupInterval {
- private int mWakeupInterval;
- private int mNumAttempts;
-
- WakeupInterval(int wakeupTime, int numAttempts) {
- mWakeupInterval = wakeupTime;
- mNumAttempts = numAttempts;
- }
-
- /**
- * Returns interval between now and next weke up.
- * @return interval in seconds
- */
- public int getWakeupInterval() {
- return mWakeupInterval;
- }
-
- /**
- * Returns amount of attempts to wake up with mWakeupInterval
- * @return amount of attempts
- */
- public int getNumAttempts() {
- return mNumAttempts;
- }
-}
diff --git a/service/src/com/android/car/garagemode/WakeupPolicy.java b/service/src/com/android/car/garagemode/WakeupPolicy.java
new file mode 100644
index 0000000..b049554
--- /dev/null
+++ b/service/src/com/android/car/garagemode/WakeupPolicy.java
@@ -0,0 +1,194 @@
+/*
+ * 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 com.android.car.garagemode;
+
+import android.content.Context;
+
+import com.android.car.R;
+import com.android.internal.annotations.VisibleForTesting;
+
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.Map;
+
+/**
+ * Default garage mode policy.
+ *
+ * The first wake up time is set to be 1am the next day. And it keeps waking up every day for a
+ * week. After that, wake up every 7 days for a month, and wake up every 30 days thereafter.
+ */
+class WakeupPolicy {
+ private static final Logger LOG = new Logger("WakeupPolicy");
+ private static final Map<Character, Integer> TIME_UNITS_LOOKUP_SEC;
+ static {
+ TIME_UNITS_LOOKUP_SEC = new HashMap<>();
+ TIME_UNITS_LOOKUP_SEC.put('m', 60);
+ TIME_UNITS_LOOKUP_SEC.put('h', 3600);
+ TIME_UNITS_LOOKUP_SEC.put('d', 86400);
+ }
+ private LinkedList<WakeupInterval> mWakeupIntervals;
+ @VisibleForTesting protected int mIndex;
+
+ WakeupPolicy(String[] policy) {
+ mWakeupIntervals = parsePolicy(policy);
+ mIndex = 0;
+ }
+
+ /**
+ * Initializes Policy from config_garageModeCadence resource array.
+ * @param context to access resources
+ * @return Policy instance, created from values in resources
+ */
+ public static WakeupPolicy initFromResources(Context context) {
+ LOG.d("Initiating WakupPolicy from resources ...");
+ return new WakeupPolicy(
+ context.getResources().getStringArray(R.array.config_garageModeCadence));
+ }
+
+ /**
+ * Returns the interval in seconds, which defines next wake up time.
+ * @return the interval in seconds
+ */
+ public int getNextWakeUpInterval() {
+ if (mWakeupIntervals.size() == 0) {
+ LOG.e("No wake up policy configuration was loaded.");
+ return 0;
+ }
+
+ int index = mIndex;
+ for (WakeupInterval wakeupTime : mWakeupIntervals) {
+ if (index <= wakeupTime.getNumAttempts()) {
+ return wakeupTime.getWakeupInterval();
+ }
+ index -= wakeupTime.getNumAttempts();
+ }
+ LOG.w("No more garage mode wake ups scheduled; been sleeping too long.");
+ return 0;
+ }
+
+ protected int getWakupIntervalsAmount() {
+ return mWakeupIntervals.size();
+ }
+
+ private LinkedList<WakeupInterval> parsePolicy(String[] policy) {
+ LinkedList<WakeupInterval> intervals = new LinkedList<>();
+ if (policy == null || policy.length == 0) {
+ LOG.e("Trying to parse empty policies!");
+ return intervals;
+ }
+
+ for (String rule : policy) {
+ WakeupInterval interval = parseRule(rule);
+ if (interval == null) {
+ LOG.e("Invalid Policy! This rule has bad format: " + rule);
+ return new LinkedList<>();
+ }
+ intervals.add(interval);
+ }
+ return intervals;
+ }
+
+ private WakeupInterval parseRule(String rule) {
+ String[] str = rule.split(",");
+
+ if (str.length != 2) {
+ LOG.e("Policy has bad format: " + rule);
+ return null;
+ }
+
+ String intervalStr = str[0];
+ String timesStr = str[1];
+
+ if (intervalStr.isEmpty() || timesStr.isEmpty()) {
+ LOG.e("One of the values is empty. Please check format: " + rule);
+ return null;
+ }
+
+ char unit = intervalStr.charAt(intervalStr.length() - 1);
+
+ // Removing last letter extension from string
+ intervalStr = intervalStr.substring(0, intervalStr.length() - 1);
+
+ int interval, times;
+ try {
+ interval = Integer.parseInt(intervalStr);
+ times = Integer.parseInt(timesStr);
+ } catch (NumberFormatException ex) {
+ LOG.d("Invalid input Rule for interval " + rule);
+ return null;
+ }
+
+ if (!TIME_UNITS_LOOKUP_SEC.containsKey(unit)) {
+ LOG.e("Time units map does not contain extension " + unit);
+ return null;
+ }
+
+ if (interval <= 0) {
+ LOG.e("Wake up policy time must be > 0!" + interval);
+ return null;
+ }
+
+ if (times <= 0) {
+ LOG.e("Wake up attempts in policy must be > 0!" + times);
+ return null;
+ }
+
+ interval *= TIME_UNITS_LOOKUP_SEC.get(unit);
+
+ return new WakeupInterval(interval, times);
+ }
+
+ public void incrementCounter() {
+ mIndex++;
+ }
+
+ public void resetCounter() {
+ mIndex = 0;
+ }
+
+ /**
+ * Defines wake up interval which then will be used by
+ * {@link com.android.car.garagemode.GarageModeService} to schedule next wake up time in
+ * {@link android.car.hardware.power.CarPowerManager}
+ */
+ private class WakeupInterval {
+ private int mWakeupInterval;
+ private int mNumAttempts;
+
+ WakeupInterval(int wakeupTime, int numAttempts) {
+ mWakeupInterval = wakeupTime;
+ mNumAttempts = numAttempts;
+ }
+
+ /**
+ * Returns interval between now and next wakeup.
+ * @return interval in seconds
+ */
+ public int getWakeupInterval() {
+ return mWakeupInterval;
+ }
+
+ /**
+ * Returns amount of attempts to wake up with mWakeupInterval
+ * @return amount of attempts
+ */
+ public int getNumAttempts() {
+ return mNumAttempts;
+ }
+ }
+
+}
diff --git a/service/src/com/android/car/hal/PropertyHalServiceIds.java b/service/src/com/android/car/hal/PropertyHalServiceIds.java
index 6c5533d..e8d00ee 100644
--- a/service/src/com/android/car/hal/PropertyHalServiceIds.java
+++ b/service/src/com/android/car/hal/PropertyHalServiceIds.java
@@ -258,6 +258,9 @@
mProps.put(VehicleProperty.PERF_VEHICLE_SPEED, new Pair<>(
Car.PERMISSION_SPEED,
Car.PERMISSION_SPEED));
+ mProps.put(VehicleProperty.PERF_VEHICLE_SPEED_DISPLAY, new Pair<>(
+ Car.PERMISSION_SPEED,
+ Car.PERMISSION_SPEED));
mProps.put(VehicleProperty.ENGINE_COOLANT_TEMP, new Pair<>(
Car.PERMISSION_CAR_ENGINE_DETAILED,
Car.PERMISSION_CAR_ENGINE_DETAILED));
@@ -319,8 +322,8 @@
Car.PERMISSION_EXTERIOR_LIGHTS,
Car.PERMISSION_EXTERIOR_LIGHTS));
mProps.put(VehicleProperty.IGNITION_STATE, new Pair<>(
- Car.PERMISSION_CAR_POWER,
- Car.PERMISSION_CAR_POWER));
+ Car.PERMISSION_POWERTRAIN,
+ Car.PERMISSION_POWERTRAIN));
mProps.put(VehicleProperty.ABS_ACTIVE, new Pair<>(
Car.PERMISSION_CAR_DYNAMICS_STATE,
Car.PERMISSION_CAR_DYNAMICS_STATE));
diff --git a/service/src/com/android/car/hal/VmsHalService.java b/service/src/com/android/car/hal/VmsHalService.java
index fd84e2b..ef33b31 100644
--- a/service/src/com/android/car/hal/VmsHalService.java
+++ b/service/src/com/android/car/hal/VmsHalService.java
@@ -117,10 +117,26 @@
protected VmsHalService(VehicleHal vehicleHal) {
mVehicleHal = vehicleHal;
if (DBG) {
- Log.d(TAG, "started VmsHalService!");
+ Log.d(TAG, "Started VmsHalService!");
}
}
+ /**
+ * VMS subscribers should wait for a layers availability message which indicates
+ * the subscriber service is ready to handle subscription requests.
+ */
+ public void signalSubscriberServiceIsReady() {
+ notifyOfAvailabilityChange();
+ }
+
+ /**
+ * VMS publishers should wait for a subscription state message which indicates
+ * the publisher service is ready to handle offerings and publishing.
+ */
+ public void signalPublisherServiceIsReady() {
+ notifyOfSubscriptionChange();
+ }
+
public void addPublisherListener(VmsHalPublisherListener listener) {
mPublisherListeners.add(listener);
}
@@ -151,7 +167,7 @@
}
if (firstSubscriptionForLayer) {
notifyHalPublishers(layer, true);
- notifyClientPublishers();
+ notifyOfSubscriptionChange();
}
}
@@ -173,7 +189,7 @@
}
if (!layerHasSubscribers) {
notifyHalPublishers(layer, false);
- notifyClientPublishers();
+ notifyOfSubscriptionChange();
}
}
@@ -201,7 +217,7 @@
}
if (firstSubscriptionForLayer) {
notifyHalPublishers(layer, true);
- notifyClientPublishers();
+ notifyOfSubscriptionChange();
}
}
@@ -223,7 +239,7 @@
}
if (!layerHasSubscribers) {
notifyHalPublishers(layer, false);
- notifyClientPublishers();
+ notifyOfSubscriptionChange();
}
}
@@ -293,7 +309,7 @@
}
if (firstSubscriptionForLayer) {
notifyHalPublishers(layer, true);
- notifyClientPublishers();
+ notifyOfSubscriptionChange();
}
}
@@ -309,7 +325,7 @@
}
if (firstSubscriptionForLayer) {
notifyHalPublishers(layer, publisherId, true);
- notifyClientPublishers();
+ notifyOfSubscriptionChange();
}
}
@@ -329,7 +345,7 @@
}
if (!layerHasSubscribers) {
notifyHalPublishers(layer, false);
- notifyClientPublishers();
+ notifyOfSubscriptionChange();
}
}
@@ -350,7 +366,7 @@
}
if (!layerHasSubscribers) {
notifyHalPublishers(layer, publisherId, false);
- notifyClientPublishers();
+ notifyOfSubscriptionChange();
}
}
@@ -390,7 +406,11 @@
setSubscriptionToPublisherRequest(layer, publisherId, hasSubscribers);
}
- private void notifyClientPublishers() {
+ private void notifyOfSubscriptionChange() {
+ if (DBG) {
+ Log.d(TAG, "Notifying publishers on subscriptions");
+ }
+
// Notify the App publishers
for (VmsHalPublisherListener listener : mPublisherListeners) {
// Besides the list of layers, also a timestamp is provided to the clients.
@@ -405,7 +425,16 @@
*
* @param availableLayers the layers which publishers claim they made publish.
*/
- private void notifyOfAvailabilityChange(VmsAvailableLayers availableLayers) {
+ private void notifyOfAvailabilityChange() {
+ if (DBG) {
+ Log.d(TAG, "Notifying subscribers on layers availability");
+ }
+
+ VmsAvailableLayers availableLayers;
+ synchronized (mLock) {
+ availableLayers = mAvailableLayers.getAvailableLayers();
+ }
+
// notify the HAL
notifyAvailabilityChangeToHal(availableLayers);
@@ -417,18 +446,22 @@
@Override
public void init() {
- if (DBG) {
- Log.d(TAG, "init()");
- }
if (mIsSupported) {
mVehicleHal.subscribeProperty(this, HAL_PROPERTY_ID);
+ if (DBG) {
+ Log.d(TAG, "Initializing VmsHalService VHAL property");
+ }
+ } else {
+ if (DBG) {
+ Log.d(TAG, "VmsHalService VHAL property not supported");
+ }
}
}
@Override
public void release() {
if (DBG) {
- Log.d(TAG, "release()");
+ Log.d(TAG, "Releasing VmsHalService");
}
if (mIsSupported) {
mVehicleHal.unsubscribeProperty(this, HAL_PROPERTY_ID);
@@ -727,16 +760,13 @@
}
private void updateOffering(IBinder publisherToken, VmsLayersOffering offering) {
- VmsAvailableLayers availableLayers;
synchronized (mLock) {
mOfferings.put(publisherToken, offering);
// Update layers availability.
mAvailableLayers.setPublishersOffering(mOfferings.values());
-
- availableLayers = mAvailableLayers.getAvailableLayers();
}
- notifyOfAvailabilityChange(availableLayers);
+ notifyOfAvailabilityChange();
}
@Override
@@ -789,12 +819,15 @@
return setPropertyValue(vehiclePropertyValue);
}
- public boolean setPropertyValue(VehiclePropValue vehiclePropertyValue) {
- try {
- mVehicleHal.set(vehiclePropertyValue);
- return true;
- } catch (PropertyTimeoutException e) {
- Log.e(CarLog.TAG_PROPERTY, "set, property not ready 0x" + toHexString(HAL_PROPERTY_ID));
+ private boolean setPropertyValue(VehiclePropValue vehiclePropertyValue) {
+ if (mIsSupported) {
+ try {
+ mVehicleHal.set(vehiclePropertyValue);
+ return true;
+ } catch (PropertyTimeoutException e) {
+ Log.e(CarLog.TAG_PROPERTY,
+ "set, property not ready 0x" + toHexString(HAL_PROPERTY_ID));
+ }
}
return false;
}
diff --git a/service/src/com/android/car/pm/ActivityBlockingActivity.java b/service/src/com/android/car/pm/ActivityBlockingActivity.java
index 3e55405..b39910e 100644
--- a/service/src/com/android/car/pm/ActivityBlockingActivity.java
+++ b/service/src/com/android/car/pm/ActivityBlockingActivity.java
@@ -24,11 +24,8 @@
import android.content.ComponentName;
import android.content.Intent;
import android.content.ServiceConnection;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
import android.os.Bundle;
import android.os.IBinder;
-import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.Button;
@@ -107,8 +104,7 @@
// blockedActivity is expected to be always passed in as the topmost activity of task.
String blockedActivity = getIntent().getStringExtra(INTENT_KEY_BLOCKED_ACTIVITY);
- mBlockedTitle.setText(getString(R.string.activity_blocked_string,
- findHumanReadableLabel(blockedActivity)));
+ mBlockedTitle.setText(getString(R.string.activity_blocked_string));
if (Log.isLoggable(CarLog.TAG_AM, Log.DEBUG)) {
Log.d(CarLog.TAG_AM, "Blocking activity " + blockedActivity);
}
@@ -153,35 +149,6 @@
}
}
- /**
- * Returns a human-readable string for {@code flattenComponentName}.
- *
- * <p>It first attempts to return the application label for this activity. If that fails,
- * it will return the last part in the activity name.
- */
- private String findHumanReadableLabel(String flattenComponentName) {
- ComponentName componentName = ComponentName.unflattenFromString(flattenComponentName);
- String label = null;
- // Attempt to find application label.
- try {
- ApplicationInfo applicationInfo = getPackageManager().getApplicationInfo(
- componentName.getPackageName(), 0);
- CharSequence appLabel = getPackageManager().getApplicationLabel(applicationInfo);
- if (appLabel != null) {
- label = appLabel.toString();
- }
- } catch (PackageManager.NameNotFoundException e) {
- if (Log.isLoggable(CarLog.TAG_AM, Log.INFO)) {
- Log.i(CarLog.TAG_AM, "Could not find package for component name "
- + componentName.toString());
- }
- }
- if (TextUtils.isEmpty(label)) {
- label = componentName.getClass().getSimpleName();
- }
- return label;
- }
-
private void handleFinish() {
if (!mCar.isConnected()) {
mExitRequested = true;
diff --git a/service/src/com/android/car/systeminterface/DisplayInterface.java b/service/src/com/android/car/systeminterface/DisplayInterface.java
index 8dc7bd4..116fee1 100644
--- a/service/src/com/android/car/systeminterface/DisplayInterface.java
+++ b/service/src/com/android/car/systeminterface/DisplayInterface.java
@@ -20,6 +20,7 @@
import static com.android.settingslib.display.BrightnessUtils.convertGammaToLinear;
import static com.android.settingslib.display.BrightnessUtils.convertLinearToGamma;
+import android.app.ActivityManager;
import android.content.ContentResolver;
import android.content.Context;
import android.database.ContentObserver;
@@ -29,6 +30,7 @@
import android.os.Looper;
import android.os.PowerManager;
import android.os.SystemClock;
+import android.os.UserHandle;
import android.provider.Settings.SettingNotFoundException;
import android.provider.Settings.System;
import android.util.Log;
@@ -50,6 +52,7 @@
void stopDisplayStateMonitoring();
class DefaultImpl implements DisplayInterface {
+ private final ActivityManager mActivityManager;
private final ContentResolver mContentResolver;
private final Context mContext;
private final DisplayManager mDisplayManager;
@@ -59,22 +62,31 @@
private final WakeLockInterface mWakeLockInterface;
private CarPowerManagementService mService;
private boolean mDisplayStateSet;
+ private boolean mSuppressOnChange;
+ private boolean mSuppressSetBrightness;
private ContentObserver mBrightnessObserver =
new ContentObserver(new Handler(Looper.getMainLooper())) {
@Override
public void onChange(boolean selfChange) {
- int linear = GAMMA_SPACE_MAX;
-
+ if (mSuppressOnChange) {
+ // This is in response to a VHAL setDisplayBrightness
+ mSuppressOnChange = false;
+ return;
+ }
+ int gamma = GAMMA_SPACE_MAX;
try {
- linear = System.getInt(mContentResolver, System.SCREEN_BRIGHTNESS);
+ int linear = System.getIntForUser(mContentResolver,
+ System.SCREEN_BRIGHTNESS,
+ mActivityManager.getCurrentUser());
+ gamma = convertLinearToGamma(linear, mMinimumBacklight,
+ mMaximumBacklight);
} catch (SettingNotFoundException e) {
Log.e(CarLog.TAG_POWER, "Could not get SCREEN_BRIGHTNESS: " + e);
}
- int gamma = convertLinearToGamma(linear, mMinimumBacklight,
- mMaximumBacklight);
int percentBright = (gamma * 100 + ((GAMMA_SPACE_MAX + 1) / 2))
/ GAMMA_SPACE_MAX;
+ mSuppressSetBrightness = true;
mService.sendDisplayBrightness(percentBright);
}
};
@@ -99,6 +111,7 @@
};
DefaultImpl(Context context, WakeLockInterface wakeLockInterface) {
+ mActivityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
mContext = context;
mContentResolver = mContext.getContentResolver();
mDisplayManager = (DisplayManager) context.getSystemService(Context.DISPLAY_SERVICE);
@@ -127,9 +140,16 @@
@Override
public void setDisplayBrightness(int percentBright) {
+ if (mSuppressSetBrightness) {
+ // In response to an onChange() callback to VHAL
+ mSuppressSetBrightness = false;
+ return;
+ }
int gamma = (percentBright * GAMMA_SPACE_MAX + 50) / 100;
int linear = convertGammaToLinear(gamma, mMinimumBacklight, mMaximumBacklight);
- System.putInt(mContentResolver, System.SCREEN_BRIGHTNESS, linear);
+ mSuppressOnChange = true;
+ System.putIntForUser(mContentResolver, System.SCREEN_BRIGHTNESS, linear,
+ mActivityManager.getCurrentUser());
}
@Override
@@ -139,7 +159,9 @@
mDisplayStateSet = isMainDisplayOn();
}
mContentResolver.registerContentObserver(System.getUriFor(System.SCREEN_BRIGHTNESS),
- false, mBrightnessObserver);
+ false,
+ mBrightnessObserver,
+ UserHandle.USER_ALL);
mDisplayManager.registerDisplayListener(mDisplayListener, service.getHandler());
}
diff --git a/service/src/com/android/car/user/CarUserService.java b/service/src/com/android/car/user/CarUserService.java
index 82e981f..eebb9d1 100644
--- a/service/src/com/android/car/user/CarUserService.java
+++ b/service/src/com/android/car/user/CarUserService.java
@@ -17,19 +17,17 @@
package com.android.car.user;
import android.annotation.Nullable;
-import android.car.user.CarUserManagerHelper;
+import android.car.userlib.CarUserManagerHelper;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
-import android.content.pm.UserInfo;
import android.location.LocationManager;
import android.os.UserHandle;
import android.os.UserManager;
import android.util.Log;
import com.android.car.CarServiceBase;
-import com.android.internal.annotations.VisibleForTesting;
import java.io.PrintWriter;
@@ -42,9 +40,6 @@
* <ol/>
*/
public class CarUserService extends BroadcastReceiver implements CarServiceBase {
- // Place holder for user name of the first user created.
- @VisibleForTesting
- static final String OWNER_NAME = "Driver";
private static final String TAG = "CarUserService";
private final Context mContext;
private final CarUserManagerHelper mCarUserManagerHelper;
@@ -94,13 +89,6 @@
if (mCarUserManagerHelper.getAllUsers().size() == 0) {
setSystemUserRestrictions();
mCarUserManagerHelper.initDefaultGuestRestrictions();
- // On very first boot, create an admin user and switch to that user.
- UserInfo admin = mCarUserManagerHelper.createNewAdminUser(OWNER_NAME);
- mCarUserManagerHelper.switchToUser(admin);
- mCarUserManagerHelper.setLastActiveUser(
- admin.id, /* skipGlobalSettings= */ false);
- } else {
- mCarUserManagerHelper.switchToUserId(mCarUserManagerHelper.getInitialUser());
}
} else if (Intent.ACTION_USER_SWITCHED.equals(intent.getAction())) {
// Update last active user if the switched-to user is a persistent, non-system user.
diff --git a/tests/CarDiagnosticVerifier/AndroidManifest.xml b/tests/CarDiagnosticVerifier/AndroidManifest.xml
deleted file mode 100644
index 6fa5d3c..0000000
--- a/tests/CarDiagnosticVerifier/AndroidManifest.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 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.
--->
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.google.android.car.diagnosticverifier">
-
- <uses-permission android:name="android.car.permission.CAR_DIAGNOSTICS" />
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
-
- <application android:label="Car Diagnostic Verification">
- <uses-library android:name="android.test.runner" />
-
- <activity android:name=".MainActivity">
- <intent-filter>
- <action android:name="android.intent.action.MAIN"/>
- <category android:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
- </activity>
- </application>
-</manifest>
diff --git a/tests/CarDiagnosticVerifier/res/layout/result_message_item.xml b/tests/CarDiagnosticVerifier/res/layout/result_message_item.xml
deleted file mode 100644
index 5c742b6..0000000
--- a/tests/CarDiagnosticVerifier/res/layout/result_message_item.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 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.
--->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
-
- <TextView
- android:id="@+id/result_message"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:padding="16dp"/>
-
-</LinearLayout>
\ No newline at end of file
diff --git a/tests/CarDiagnosticVerifier/res/layout/verifier_activity.xml b/tests/CarDiagnosticVerifier/res/layout/verifier_activity.xml
deleted file mode 100644
index 5aa2a6b..0000000
--- a/tests/CarDiagnosticVerifier/res/layout/verifier_activity.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 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.
--->
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingLeft="16dp"
- android:paddingRight="16dp" >
-
- <TextView
- android:id="@+id/status_bar"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content" />
-
- <androidx.recyclerview.widget.RecyclerView
- android:id="@+id/verification_results"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_below="@id/status_bar"
- android:layout_marginTop="16dp" />
-
-</RelativeLayout>
diff --git a/tests/CarDiagnosticVerifier/src/com/google/android/car/diagnosticverifier/DiagnosticJsonConverter.java b/tests/CarDiagnosticVerifier/src/com/google/android/car/diagnosticverifier/DiagnosticJsonConverter.java
deleted file mode 100644
index 85d4fc8..0000000
--- a/tests/CarDiagnosticVerifier/src/com/google/android/car/diagnosticverifier/DiagnosticJsonConverter.java
+++ /dev/null
@@ -1,85 +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.google.android.car.diagnosticverifier;
-
-import android.car.diagnostic.CarDiagnosticEvent;
-import android.util.JsonReader;
-
-import com.android.car.vehiclehal.DiagnosticJson;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * This class provides method to convert JSON into car diagnostic event object.
- */
-public class DiagnosticJsonConverter {
-
- public static List<CarDiagnosticEvent> readFromJson(InputStream in) throws IOException {
- JsonReader reader = new JsonReader(new InputStreamReader(in, "UTF-8"));
-
- try {
- return readEventsArray(reader);
- } finally {
- reader.close();
- }
- }
-
- private static List<CarDiagnosticEvent> readEventsArray(JsonReader reader) throws IOException {
- List<CarDiagnosticEvent> events = new ArrayList<>();
-
- reader.beginArray();
- while (reader.hasNext()) {
- events.add(readEventAndCanonicalize(reader));
- }
- reader.endArray();
- return events;
- }
-
- public static CarDiagnosticEvent readEventAndCanonicalize(InputStream in) throws IOException {
- JsonReader reader = new JsonReader(new InputStreamReader(in, "UTF-8"));
- return readEventAndCanonicalize(reader);
- }
-
- /**
- * This method convert JSON to a car diagnostic event object.
- * Note: it will always set timestamp to 0 and set dtc to null if it is empty string.
- */
- private static CarDiagnosticEvent readEventAndCanonicalize(JsonReader reader)
- throws IOException {
- DiagnosticJson diagnosticJson = DiagnosticJson.build(reader);
- //Build event
- CarDiagnosticEvent.Builder builder = "freeze".equals(diagnosticJson.type) ?
- CarDiagnosticEvent.Builder.newFreezeFrameBuilder() :
- CarDiagnosticEvent.Builder.newLiveFrameBuilder();
- //Always skip timestamp because it is not useful for test
- builder.atTimestamp(0);
- for (int i = 0; i < diagnosticJson.intValues.size(); i++) {
- builder.withIntValue(diagnosticJson.intValues.keyAt(i),
- diagnosticJson.intValues.valueAt(i));
- }
- for (int i = 0; i < diagnosticJson.floatValues.size(); i++) {
- builder.withFloatValue(diagnosticJson.floatValues.keyAt(i),
- diagnosticJson.floatValues.valueAt(i));
- }
- //Always set dtc to null if it is empty string
- builder.withDtc("".equals(diagnosticJson.dtc) ? null : diagnosticJson.dtc);
-
- return builder.build();
- }
-}
diff --git a/tests/CarDiagnosticVerifier/src/com/google/android/car/diagnosticverifier/DiagnosticVerifier.java b/tests/CarDiagnosticVerifier/src/com/google/android/car/diagnosticverifier/DiagnosticVerifier.java
deleted file mode 100644
index 1b6e447..0000000
--- a/tests/CarDiagnosticVerifier/src/com/google/android/car/diagnosticverifier/DiagnosticVerifier.java
+++ /dev/null
@@ -1,244 +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.google.android.car.diagnosticverifier;
-
-import android.car.diagnostic.CarDiagnosticEvent;
-import android.util.JsonWriter;
-import android.util.Log;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * DiagVerifier implements verification logic for car diagnostic events.
- *
- * The main idea for the verification is similar to a "diff" command on two files, whereas here
- * is a diff on two event lists. The available diff operations are: "add", "delete", "modify"
- *
- * For example, think about doing a diff on two sequences:
- *
- * Truth: A B C D E
- * Received: A C D E F
- *
- * The goal is to find the minimal number of diff operations applied on Truth list in order to
- * become Received list. It is the same problem to find edit distance between two sequences and keep
- * track of the corresponding edit operations. This verifier applies dynamic programming algorithm
- * to find the minimal set of diff operations. And the result would be:
- *
- * Truth: A - C D E +
- * Received: A C D E F
- *
- * It means in order to become Received list, "B" will be missing and an extra "F" will be added
- * at the end of list.
- */
-public class DiagnosticVerifier {
-
- private static final String TAG = "DiagnosticVerifier";
- /**
- * Below are 4 diff operations when comparing two event lists
- */
- private static final int DELETE = 0;
- private static final int ADD = 1;
- private static final int MODIFY = 2;
- private static final int KEEP = 3;
-
- /**
- * A list of truth diagnostic events for comparison.
- */
- private final List<CarDiagnosticEvent> mTruthEventList = new ArrayList<>();
- /**
- * A list of received diagnostic events from car service.
- */
- private final List<CarDiagnosticEvent> mReceivedEventList = new ArrayList<>();
-
- /**
- * Definition of the verification result
- */
- static class VerificationResult {
- public final String testCase;
- public final boolean success;
- public final String errorMessage;
-
- private VerificationResult(String testCase, boolean success, String errorMessage) {
- this.testCase = testCase;
- this.success = success;
- this.errorMessage = errorMessage;
- }
-
- public static VerificationResult fromMessage(String testCase, String message) {
- return new VerificationResult(testCase, message.length() == 0, message);
- }
-
- public void writeToJson(JsonWriter jsonWriter) throws IOException {
- jsonWriter.beginObject();
-
- jsonWriter.name("testCase");
- jsonWriter.value(this.testCase);
-
- jsonWriter.name("success");
- jsonWriter.value(this.success);
-
- jsonWriter.name("errorMessage");
- jsonWriter.value(this.errorMessage);
-
- jsonWriter.endObject();
- }
- }
-
- public DiagnosticVerifier(List<CarDiagnosticEvent> truthEvents) {
- if (truthEvents != null) {
- for (CarDiagnosticEvent event : truthEvents) {
- CarDiagnosticEvent canonicalEvent = canonicalize(event);
- mTruthEventList.add(canonicalEvent);
- }
- }
- }
-
- public void receiveEvent(CarDiagnosticEvent event) {
- CarDiagnosticEvent newEvent = canonicalize(event);
- mReceivedEventList.add(newEvent);
- }
-
- public List<VerificationResult> verify() {
- List<Integer> diff = calculateDiffOperations();
- StringBuilder missingEventMsgBuilder = new StringBuilder();
- StringBuilder extraEventMsgBuilder = new StringBuilder();
- StringBuilder mismatchEventMsgBuilder = new StringBuilder();
- for (int i = 0, j = 0, k = diff.size() - 1; k >= 0; k--) {
- if (diff.get(k) == DELETE) {
- missingEventMsgBuilder.append(String.format(
- "Missing event at position %d: %s\n", i, mTruthEventList.get(i)));
- i++;
- } else if (diff.get(k) == ADD) {
- extraEventMsgBuilder.append(String.format(
- "Extra event at position %d: %s\n", i, mReceivedEventList.get(j)));
- j++;
- } else if (diff.get(k) == MODIFY) {
- mismatchEventMsgBuilder.append(String.format(
- "Mismatched event pair at position %d:\n" +
- "True event -- %s\nWrong event -- %s\n",
- i, mTruthEventList.get(i), mReceivedEventList.get(j)));
- i++;
- j++;
- } else {
- i++;
- j++;
- }
- }
- List<VerificationResult> results = new ArrayList<>();
- results.add(VerificationResult.fromMessage(
- "test_mismatched_event", mismatchEventMsgBuilder.toString()));
- results.add(VerificationResult.fromMessage(
- "test_missing_event", missingEventMsgBuilder.toString()));
- results.add(VerificationResult.fromMessage(
- "test_extra_event", extraEventMsgBuilder.toString()));
- return results;
- }
-
- /**
- * The function applies a dynamic programming algorithm to find the minimal set of diff
- * operations that applied on truth event list in order to become received event list
- */
- private List<Integer> calculateDiffOperations() {
- final int n = mTruthEventList.size();
- final int m = mReceivedEventList.size();
-
- int[][] diffTable = new int[n + 1][m + 1];
- int[][] costTable = new int[n + 1][m + 1];
-
- for (int i = 1; i <= n; i++) {
- costTable[i][0] = i;
- diffTable[i][0] = DELETE;
- }
-
- for (int i = 1; i <= m; i++) {
- costTable[0][i] = i;
- diffTable[0][i] = ADD;
- }
-
- for (int i = 1; i <= n; i++) {
- for (int j = 1; j <= m; j++) {
- int deleteCost = costTable[i - 1][j] + 1;
- int addCost = costTable[i][j - 1] + 1;
- int modifyCost = costTable[i - 1][j - 1];
-
- CarDiagnosticEvent trueEvent = mTruthEventList.get(i - 1);
- CarDiagnosticEvent receivedEvent = mReceivedEventList.get(j - 1);
-
- //TODO: Use a more meaningful comparison. Instead of strict object level equality,
- //can check logical equality and allow an acceptable difference.
- boolean isEqual = trueEvent.equals(receivedEvent);
- modifyCost += isEqual ? 0 : 1;
-
- int minCost = modifyCost;
- int move = isEqual ? KEEP : MODIFY;
- if (minCost > addCost) {
- minCost = addCost;
- move = ADD;
- }
- if (minCost > deleteCost) {
- minCost = deleteCost;
- move = DELETE;
- }
-
- costTable[i][j] = minCost;
- diffTable[i][j] = move;
- }
- }
- List<Integer> diff = new ArrayList<>();
-
- for (int i = n, j = m; i > 0 || j > 0; ) {
- diff.add(diffTable[i][j]);
- if (diffTable[i][j] == DELETE) {
- i--;
- } else if (diffTable[i][j] == ADD) {
- j--;
- } else {
- i--;
- j--;
- }
- }
- return diff;
- }
-
- /**
- * The function will canonicalize a given event by using JSON converter which will reset event
- * timestamp to 0 and set DTC field with empty string to null. Doing JSON conversion is because
- * CarDiagnosticEvent does not provide direct accessor for intValues and floatValues.
- */
- private CarDiagnosticEvent canonicalize(CarDiagnosticEvent event) {
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- JsonWriter writer = new JsonWriter(new OutputStreamWriter(out));
- CarDiagnosticEvent newEvent = event;
- try {
- event.writeToJson(writer);
- writer.flush();
- writer.close();
- byte[] rawJson = out.toByteArray();
- ByteArrayInputStream in = new ByteArrayInputStream(rawJson);
- newEvent = DiagnosticJsonConverter.readEventAndCanonicalize(in);
- in.close();
- out.close();
- } catch (IOException e) {
- Log.w(TAG, "Failed to clear timestamp ");
- }
- return newEvent;
- }
-}
diff --git a/tests/CarDiagnosticVerifier/src/com/google/android/car/diagnosticverifier/MainActivity.java b/tests/CarDiagnosticVerifier/src/com/google/android/car/diagnosticverifier/MainActivity.java
deleted file mode 100644
index 6814ad0..0000000
--- a/tests/CarDiagnosticVerifier/src/com/google/android/car/diagnosticverifier/MainActivity.java
+++ /dev/null
@@ -1,267 +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.google.android.car.diagnosticverifier;
-
-import android.app.Activity;
-import android.car.Car;
-import android.car.CarNotConnectedException;
-import android.car.diagnostic.CarDiagnosticEvent;
-import android.car.diagnostic.CarDiagnosticManager;
-import android.car.hardware.CarSensorManager;
-import android.content.BroadcastReceiver;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.content.ServiceConnection;
-import android.os.Bundle;
-import android.os.Environment;
-import android.os.IBinder;
-import android.util.JsonWriter;
-import android.util.Log;
-import android.widget.TextView;
-
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.google.android.car.diagnosticverifier.DiagnosticVerifier.VerificationResult;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * The test app that does the verification of car diagnostic event data. It first reads the
- * truth (golden) event data from a JSON file upon starting. Then a broadcast intent such as:
- *
- * am broadcast -a com.google.android.car.diagnosticverifier.action.START_LISTEN
- *
- * will activate the car diagnostics listener. The test app will receive events from diagnostic API.
- * Once it receives all the events, a broadcast intent with "stop" action such as:
- *
- * am broadcast -a com.google.android.car.diagnosticverifier.action.STOP_LISTEN
- *
- * will deactivate the listener and start the verification process (see {@link DiagnosticVerifier}).
- *
- * Verification result will be output to a JSON file on device.
- */
-public class MainActivity extends Activity {
- public static final String TAG = "DiagnosticVerifier";
-
- public static final String ACTION_START_LISTEN =
- "com.google.android.car.diagnosticverifier.action.START_LISTEN";
- public static final String ACTION_STOP_LISTEN =
- "com.google.android.car.diagnosticverifier.action.STOP_LISTEN";
-
- private static final String DEFAULT_JSON_PATH = "/data/local/tmp/diag.json";
-
- private static final String JSON_PATH_KEY = "jsonPath";
- private static final String JSON_RESULT = "verification_result.json";
-
- private Car mCar;
- private CarDiagnosticManager mCarDiagnosticManager;
- private DiagnosticListener mDiagnosticListener;
- private BroadcastReceiver mBroadcastReceiver;
- private DiagnosticVerifier mVerifier;
- private TextView mStatusBar;
- private RecyclerView mRecyclerView;
- private VerificationResultAdapter mResultAdapter;
- private boolean mListening = false;
-
- private final ServiceConnection mCarConnectionListener =
- new ServiceConnection() {
- @Override
- public void onServiceConnected(ComponentName name, IBinder iBinder) {
- Log.d(TAG, "Connected to " + name.flattenToString());
- try {
- mCarDiagnosticManager =
- (CarDiagnosticManager) mCar.getCarManager(Car.DIAGNOSTIC_SERVICE);
- } catch (CarNotConnectedException e) {
- Log.e(TAG, "Failed to get a connection", e);
- }
- }
-
- @Override
- public void onServiceDisconnected(ComponentName name) {
- Log.d(TAG, "Disconnected from " + name.flattenToString());
-
- mCar = null;
- mCarDiagnosticManager = null;
- }
- };
-
- class DiagnosticListener implements CarDiagnosticManager.OnDiagnosticEventListener {
-
- @Override
- public void onDiagnosticEvent(CarDiagnosticEvent carDiagnosticEvent) {
- Log.v(TAG, "Received Car Diagnostic Event: " + carDiagnosticEvent.toString());
- mVerifier.receiveEvent(carDiagnosticEvent);
- }
- }
-
- class VerifierMsgReceiver extends BroadcastReceiver {
-
- @Override
- public void onReceive(Context context, Intent intent) {
- String action = intent.getAction();
- Log.d(TAG, "Received intent with action: " + action);
- if (ACTION_START_LISTEN.equals(action)) {
- try {
- startListen();
- } catch (CarNotConnectedException e) {
- Log.e(TAG, "Failed to listen for car diagnostic event", e);
- }
- } else if (ACTION_STOP_LISTEN.equals(action)) {
- stopListen();
- verify();
- }
- }
- }
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.verifier_activity);
-
- mStatusBar = (TextView) findViewById(R.id.status_bar);
-
- //Setting up RecyclerView to show verification result messages
- mRecyclerView = (RecyclerView) findViewById(R.id.verification_results);
- LinearLayoutManager layoutManager =
- new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
- mRecyclerView.setLayoutManager(layoutManager);
- mResultAdapter = new VerificationResultAdapter();
- mRecyclerView.setAdapter(mResultAdapter);
-
- //Connect to car service
- mCar = Car.createCar(this, mCarConnectionListener);
- mCar.connect();
-
- //Initialize broadcast intent receiver
- mBroadcastReceiver = new VerifierMsgReceiver();
- IntentFilter filter = new IntentFilter(ACTION_START_LISTEN);
- filter.addAction(ACTION_STOP_LISTEN);
- this.registerReceiver(mBroadcastReceiver, filter);
-
- //Read golden diagnostics JSON file
- String jsonPath = this.getIntent().getStringExtra(JSON_PATH_KEY);
- if (jsonPath == null || jsonPath.isEmpty()) {
- jsonPath = DEFAULT_JSON_PATH;
- }
- List<CarDiagnosticEvent> events;
- try {
- events = DiagnosticJsonConverter.readFromJson(new FileInputStream(jsonPath));
- } catch (IOException e) {
- throw new RuntimeException("Failed to read diagnostic JSON file", e);
- }
- Log.d(TAG, String.format("Read %d events from JSON file %s.", events.size(), jsonPath));
-
- mVerifier = new DiagnosticVerifier(events);
- }
-
- @Override
- protected void onDestroy() {
- if (mCar != null) {
- mCar.disconnect();
- }
- mVerifier = null;
- this.unregisterReceiver(mBroadcastReceiver);
- }
-
- private void startListen() throws CarNotConnectedException {
- if (mListening) {
- return;
- }
- if (mDiagnosticListener == null) {
- mDiagnosticListener = new DiagnosticListener();
- }
- Log.i(TAG, "Start listening for car diagnostics events");
- mCarDiagnosticManager.registerListener(
- mDiagnosticListener,
- CarDiagnosticManager.FRAME_TYPE_LIVE,
- CarSensorManager.SENSOR_RATE_NORMAL);
- mCarDiagnosticManager.registerListener(
- mDiagnosticListener,
- CarDiagnosticManager.FRAME_TYPE_FREEZE,
- CarSensorManager.SENSOR_RATE_NORMAL);
-
- mListening = true;
- mStatusBar.setText(R.string.status_receiving);
- }
-
- private void stopListen() {
- Log.i(TAG, "Stop listening for car diagnostics events");
- mCarDiagnosticManager.unregisterListener(mDiagnosticListener);
- mListening = false;
- }
-
- private boolean isExternalStorageWritable() {
- String state = Environment.getExternalStorageState();
- return Environment.MEDIA_MOUNTED.equals(state);
- }
-
- private File getResultJsonFile() throws IOException {
- if (!isExternalStorageWritable()) {
- throw new IOException("External storage is not writable. Cannot save content");
- }
-
- File resultJson = new File(Environment.getExternalStoragePublicDirectory(
- Environment.DIRECTORY_DOCUMENTS), JSON_RESULT);
- if (!resultJson.getParentFile().mkdirs()) {
- Log.w(TAG, "Parent directory may already exist");
- }
- return resultJson;
- }
-
- private void verify() {
- Log.d(TAG, "Start verifying car diagnostics events");
- mStatusBar.setText(R.string.status_verifying);
- List<VerificationResult> results = mVerifier.verify();
- mStatusBar.setText(R.string.status_done);
-
- if (results.isEmpty()) {
- Log.d(TAG, "Verification result is empty.");
- return;
- }
-
- List<String> resultMessages = new ArrayList<>();
- try {
- File resultJson = getResultJsonFile();
- JsonWriter writer = new JsonWriter(
- new OutputStreamWriter(new FileOutputStream(resultJson)));
-
- writer.beginArray();
- for (VerificationResult result : results) {
- resultMessages.add("Test case: " + result.testCase);
- resultMessages.add("Result: " + result.success);
- resultMessages.add(result.errorMessage);
- result.writeToJson(writer);
- }
- writer.endArray();
- writer.flush();
- writer.close();
- Log.i(TAG, "Verification result: " + resultJson.getAbsolutePath());
- } catch (IOException e) {
- Log.e(TAG, "Failed to save verification result.", e);
- }
- mResultAdapter.setResultMessages(resultMessages);
- }
-}
-
diff --git a/tests/CarDiagnosticVerifier/src/com/google/android/car/diagnosticverifier/VerificationResultAdapter.java b/tests/CarDiagnosticVerifier/src/com/google/android/car/diagnosticverifier/VerificationResultAdapter.java
deleted file mode 100644
index 36e584d..0000000
--- a/tests/CarDiagnosticVerifier/src/com/google/android/car/diagnosticverifier/VerificationResultAdapter.java
+++ /dev/null
@@ -1,75 +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.google.android.car.diagnosticverifier;
-
-import android.content.Context;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import androidx.recyclerview.widget.RecyclerView;
-
-import java.util.List;
-
-/**
- * A recycler view adapter for verification result messages
- */
-public class VerificationResultAdapter extends
- RecyclerView.Adapter<VerificationResultAdapter.VerificationResultViewHolder> {
-
- private List<String> mResultMessages;
-
- @Override
- public VerificationResultViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
- Context context = viewGroup.getContext();
- int messageItemLayoutId = R.layout.result_message_item;
- LayoutInflater inflater = LayoutInflater.from(context);
- boolean shouldAttachToParentImmediately = false;
-
- View view = inflater.inflate(
- messageItemLayoutId, viewGroup, shouldAttachToParentImmediately);
- return new VerificationResultViewHolder(view);
- }
-
- @Override
- public void onBindViewHolder(VerificationResultViewHolder verificationResultViewHolder, int i) {
- String resultMessage = mResultMessages.get(i);
- verificationResultViewHolder.mResultMessageTextView.setText(resultMessage);
- }
-
- @Override
- public int getItemCount() {
- if (mResultMessages == null) {
- return 0;
- }
- return mResultMessages.size();
- }
-
- public void setResultMessages(List<String> resultMessages) {
- mResultMessages = resultMessages;
- notifyDataSetChanged();
- }
-
- public class VerificationResultViewHolder extends RecyclerView.ViewHolder {
- public final TextView mResultMessageTextView;
-
- public VerificationResultViewHolder(View view) {
- super(view);
- mResultMessageTextView = (TextView) view.findViewById(R.id.result_message);
- }
- }
-}
diff --git a/tests/DirectRenderingClusterSample/Android.mk b/tests/DirectRenderingClusterSample/Android.mk
index f3469fb..62918d5 100644
--- a/tests/DirectRenderingClusterSample/Android.mk
+++ b/tests/DirectRenderingClusterSample/Android.mk
@@ -35,6 +35,8 @@
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_JAVA_LIBRARIES += android.car
-LOCAL_STATIC_ANDROID_LIBRARIES += androidx.legacy_legacy-support-v4
+LOCAL_STATIC_ANDROID_LIBRARIES += \
+ androidx.legacy_legacy-support-v4 \
+ androidx.car_car-cluster
include $(BUILD_PACKAGE)
diff --git a/tests/DirectRenderingClusterSample/src/android/car/cluster/sample/SampleClusterServiceImpl.java b/tests/DirectRenderingClusterSample/src/android/car/cluster/sample/SampleClusterServiceImpl.java
index 1fa028e..223e28f 100644
--- a/tests/DirectRenderingClusterSample/src/android/car/cluster/sample/SampleClusterServiceImpl.java
+++ b/tests/DirectRenderingClusterSample/src/android/car/cluster/sample/SampleClusterServiceImpl.java
@@ -38,6 +38,8 @@
import android.view.InputDevice;
import android.view.KeyEvent;
+import androidx.car.cluster.navigation.NavigationState;
+
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.Arrays;
@@ -52,6 +54,8 @@
private Listener mListener;
private final Binder mLocalBinder = new LocalBinder();
static final String LOCAL_BINDING_ACTION = "local";
+ private static final String NAV_STATE_BUNDLE_KEY = "navstate";
+ private static final int NAV_STATE_EVENT_ID = 1;
private ClusterDisplayProvider mDisplayProvider;
@@ -132,11 +136,17 @@
@Override
public void onEvent(int eventType, Bundle bundle) {
StringBuilder bundleSummary = new StringBuilder();
- for (String key : bundle.keySet()) {
- bundleSummary.append(key);
- bundleSummary.append("=");
- bundleSummary.append(bundle.get(key));
- bundleSummary.append(" ");
+ if (eventType == NAV_STATE_EVENT_ID && bundle.containsKey(NAV_STATE_BUNDLE_KEY)) {
+ NavigationState navState = NavigationState
+ .fromParcelable(bundle.getParcelable("navstate"));
+ bundleSummary.append(navState.toString());
+ } else {
+ for (String key : bundle.keySet()) {
+ bundleSummary.append(key);
+ bundleSummary.append("=");
+ bundleSummary.append(bundle.get(key));
+ bundleSummary.append(" ");
+ }
}
Log.i(TAG, "onEvent(" + eventType + ", " + bundleSummary + ")");
}
diff --git a/tests/EmbeddedKitchenSinkApp/Android.mk b/tests/EmbeddedKitchenSinkApp/Android.mk
index 71adf6b..8239f3c 100644
--- a/tests/EmbeddedKitchenSinkApp/Android.mk
+++ b/tests/EmbeddedKitchenSinkApp/Android.mk
@@ -50,7 +50,7 @@
vehicle-hal-support-lib \
com.android.car.keventreader-client
-include packages/services/Car/car-support-lib/car-support.mk
+LOCAL_JAVA_LIBRARIES += android.car
include $(BUILD_PACKAGE)
diff --git a/tests/EmbeddedKitchenSinkApp/AndroidManifest.xml b/tests/EmbeddedKitchenSinkApp/AndroidManifest.xml
index 6e8e80f..c400bd8 100644
--- a/tests/EmbeddedKitchenSinkApp/AndroidManifest.xml
+++ b/tests/EmbeddedKitchenSinkApp/AndroidManifest.xml
@@ -65,10 +65,6 @@
android:name="android.car.application"
android:resource="@xml/automotive_app_desc" />
- <service android:name=".job.DishService"
- android:permission="android.permission.BIND_JOB_SERVICE">
- </service>
-
<activity android:name=".setting.CarServiceSettingsActivity"
android:label="@string/car_settings">
<intent-filter>
diff --git a/tests/EmbeddedKitchenSinkApp/res/layout/job_scheduler.xml b/tests/EmbeddedKitchenSinkApp/res/layout/job_scheduler.xml
deleted file mode 100644
index 3456263..0000000
--- a/tests/EmbeddedKitchenSinkApp/res/layout/job_scheduler.xml
+++ /dev/null
@@ -1,119 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2015 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.
--->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="horizontal"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
-
- <LinearLayout
- android:layout_width="0dp"
- android:layout_height="match_parent"
- android:layout_weight="1"
- android:orientation="vertical">
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content">
- <Button
- android:id="@+id/refresh_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/refresh_button" />
- <Button
- android:id="@+id/cancel_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/cancel_button" />
- </LinearLayout>
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/job_info"
- android:textColor="@android:color/holo_red_dark" />
- <TextView
- android:id="@+id/current_jobs"
- android:layout_width="100dp"
- android:layout_height="wrap_content" />
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="0dp"
- android:layout_height="match_parent"
- android:layout_weight="1"
- android:orientation="vertical">
- <Button
- android:id="@+id/schedule_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/schedule_button"/>
- <CheckBox
- android:id="@+id/require_idle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/require_idle"/>
- <CheckBox
- android:id="@+id/require_charging"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/require_charging"/>
- <CheckBox
- android:id="@+id/require_persisted"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/require_persisted"/>
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/require_network"/>
- <RadioGroup
- android:id="@+id/network_group"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content">
-
- <RadioButton android:id="@+id/network_any"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/network_any"/>
-
- <RadioButton android:id="@+id/network_none"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/network_none"/>
-
- <RadioButton android:id="@+id/network_unmetered"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/network_unmetered"/>
- </RadioGroup>
-
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content">
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/dish_num"/>
-
- <android.support.car.input.CarRestrictedEditText
- android:id="@+id/dish_num"
- android:layout_width="100dp"
- android:layout_height="40dp"
- android:inputType="number"
- android:text="@string/default_dish_num" />
- </LinearLayout>
-
- </LinearLayout>
-
-</LinearLayout>
\ No newline at end of file
diff --git a/tests/EmbeddedKitchenSinkApp/res/layout/sensors.xml b/tests/EmbeddedKitchenSinkApp/res/layout/sensors.xml
index 6ee854a..4d8c246 100644
--- a/tests/EmbeddedKitchenSinkApp/res/layout/sensors.xml
+++ b/tests/EmbeddedKitchenSinkApp/res/layout/sensors.xml
@@ -17,20 +17,46 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
- <!-- dummy one for top area -->
+ <!-- Top area -->
<LinearLayout
android:layout_width="match_parent"
- android:layout_height="50dp"
- android:orientation="vertical"
- android:layout_weight="1" />
+ android:layout_height="110dp"
+ android:orientation="vertical">
+ <TextView
+ android:id="@string/location_title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/location_title" />
+ <TextView
+ android:id="@+id/location_info"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+ <TextView
+ android:id="@+id/accel_info"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+ <TextView
+ android:id="@+id/gyro_info"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+ <TextView
+ android:id="@+id/mag_info"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+ </LinearLayout>
+ <!-- Bottom area -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:layout_weight="1" >
+ android:orientation="vertical">
<TextView
- android:id="@+id/sensor_info"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
+ android:id="@+id/sensor_title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/sensor_title" />
+ <TextView
+ android:id="@+id/sensor_info"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
diff --git a/tests/EmbeddedKitchenSinkApp/res/layout/usb_host.xml b/tests/EmbeddedKitchenSinkApp/res/layout/usb_host.xml
index fbcc608..7a13c4f 100644
--- a/tests/EmbeddedKitchenSinkApp/res/layout/usb_host.xml
+++ b/tests/EmbeddedKitchenSinkApp/res/layout/usb_host.xml
@@ -28,7 +28,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
- android:text="@+string/usb_resolving_handlers"
+ android:text="@string/usb_resolving_handlers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" />
diff --git a/tests/EmbeddedKitchenSinkApp/res/layout/vhal_listitem.xml b/tests/EmbeddedKitchenSinkApp/res/layout/vhal_listitem.xml
new file mode 100644
index 0000000..7057660
--- /dev/null
+++ b/tests/EmbeddedKitchenSinkApp/res/layout/vhal_listitem.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="horizontal">
+ <TextView
+ android:id="@+id/textString"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="7"/>
+ <Button
+ android:id="@+id/infoButton"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="2"
+ android:text="config"/>
+ <Button
+ android:id="@+id/valueButton"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="3"
+ android:text="value"/>
+</LinearLayout>
diff --git a/tests/EmbeddedKitchenSinkApp/res/values/strings.xml b/tests/EmbeddedKitchenSinkApp/res/values/strings.xml
index 452fec8..c50d230 100644
--- a/tests/EmbeddedKitchenSinkApp/res/values/strings.xml
+++ b/tests/EmbeddedKitchenSinkApp/res/values/strings.xml
@@ -117,22 +117,6 @@
<string name="mock_audio_on">Audio Mocking On</string>
<string name="mock_audio_off">Audio Mocking Off</string>
- <!-- job scheduler -->
- <string name="schedule_button">Schedule a New Job</string>
- <string name="refresh_button">Refresh pending jobs</string>
- <string name="cancel_button">Cancel All Jobs</string>
- <string name="job_info">Current Pending Jobs</string>
- <string name="require_charging">Require Charging</string>
- <string name="require_persisted">Persisted</string>
- <string name="require_periodic">Periodic</string>
- <string name="require_network">Network Type</string>
- <string name="require_idle">Device Idle</string>
- <string name="dish_num">Number of Plates</string>
- <string name="default_dish_num">50</string>
- <string name="network_any">ANY</string>
- <string name="network_none">NONE</string>
- <string name="network_unmetered">UNMETERED</string>
-
<!-- keyboard test fragment -->
<string name="keyboard_test_title">Keyboard Test</string>
<string name="on_search">OnSearch:</string>
@@ -209,6 +193,8 @@
<string name="radio_na">N/A</string>
<!-- sensors test -->
+ <string name="location_title">Location/Orientation:</string>
+ <string name="sensor_title">Car Sensor Data:</string>
<string name="sensor_na">N/A</string>
<string name="sensor_environment">Environment[%1$s]: temperature=%2$s</string>
@@ -219,12 +205,6 @@
<string name="sensor_rpm">RPM[%1$s]: rpm=%2$s</string>
<string name="sensor_speed">Speed[%1$s]: speed=%2$s</string>
<string name="sensor_ignition_status">Ignition status[%1$s]: status=%2$s</string>
- <string name="sensor_compass">Compass[%1$s]: bear=%2$s, pitch=%3$s, roll=%4$s</string>
- <string name="sensor_accelerometer">Accelerometer[%1$s]: x=%2$s, y=%3$s, z=%4$s</string>
- <string name="sensor_gyroscope">Gyroscope[%1$s]: x=%2$s, y=%3$s, z=%4$s</string>
- <string name="sensor_location">Location[%1$s]: lat=%2$s, lon=%3$s, accuracy=%4$s, altitude=%5$s, speed=%6$s, bearing=%7$s</string>
- <string name="sensor_gps">GPS Satellites[%1$s]: inView: %2$s, inUse: %3$s. %4$s</string>
- <string name="sensor_single_gps_satellite">(%1$s): usedInFix: %2$s, prn: %3$s, snr: %4$s, azimuth: %5$s, elevation: %6$s</string>
<string name="sensor_wheel_ticks">Wheel Distance[%1$s]: reset=%2$s, FL=%3$s, FR=%4$s, RL=%5$s, RR=%6$s</string>
<string name="sensor_wheel_ticks_cfg">Wheel Distance Config: Wheels=%1$s, FL=%2$s, FR=%3$s, RL=%4$s, RR=%5$s</string>
<string name="sensor_abs_is_active">ABS[%1$s]: isActive=%2$s</string>
@@ -237,6 +217,7 @@
<string name="sensor_ev_charge_port_is_open">EV Charge Port Is Open[%1$s]: %2$s</string>
<string name="sensor_ev_charge_port_is_connected">EV Charge Port Is Connected[%1$s]: %2$s</string>
<string name="sensor_ev_charge_rate">EV Charge Rate[%1$s]: %2$s</string>
+ <string name="sensor_oil_level">Oil Level[%1$s]: %2$s</string>
<string name="volume_test">Volume Test</string>
<string name="volume_up_logical">Vol +</string>
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/CarEmulator.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/CarEmulator.java
index ecb734d..ca2d6b3 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/CarEmulator.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/CarEmulator.java
@@ -17,6 +17,8 @@
package com.google.android.car.kitchensink;
+import com.google.android.collect.Lists;
+
import android.car.Car;
import android.content.Context;
import android.hardware.automotive.vehicle.V2_0.VehicleHwKeyInputAction;
@@ -24,6 +26,7 @@
import android.hardware.automotive.vehicle.V2_0.VehicleProperty;
import android.hardware.automotive.vehicle.V2_0.VehiclePropertyAccess;
import android.os.SystemClock;
+import android.util.SparseIntArray;
import com.android.car.ICarImpl;
import com.android.car.systeminterface.SystemInterface;
@@ -32,6 +35,10 @@
import com.android.car.vehiclehal.test.MockedVehicleHal.VehicleHalPropertyHandler;
import com.android.car.vehiclehal.test.VehiclePropConfigBuilder;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
public class CarEmulator {
private final Car mCar;
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/KitchenSinkActivity.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/KitchenSinkActivity.java
index 9453bf7..3b8b435 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/KitchenSinkActivity.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/KitchenSinkActivity.java
@@ -16,20 +16,21 @@
package com.google.android.car.kitchensink;
-
+import android.car.Car;
+import android.car.CarAppFocusManager;
+import android.car.CarNotConnectedException;
import android.car.hardware.CarSensorManager;
import android.car.hardware.hvac.CarHvacManager;
import android.car.hardware.power.CarPowerManager;
import android.car.hardware.property.CarPropertyManager;
+import android.content.ComponentName;
import android.content.Intent;
+import android.content.ServiceConnection;
import android.content.pm.PackageManager;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
-import android.support.car.Car;
-import android.support.car.CarAppFocusManager;
-import android.support.car.CarConnectionCallback;
-import android.support.car.CarNotConnectedException;
+import android.os.IBinder;
import android.util.Log;
import androidx.car.drawer.CarDrawerActivity;
@@ -50,7 +51,6 @@
import com.google.android.car.kitchensink.displayinfo.DisplayInfoFragment;
import com.google.android.car.kitchensink.hvac.HvacTestFragment;
import com.google.android.car.kitchensink.input.InputTestFragment;
-import com.google.android.car.kitchensink.job.JobSchedulerFragment;
import com.google.android.car.kitchensink.notification.NotificationFragment;
import com.google.android.car.kitchensink.orientation.OrientationTestFragment;
import com.google.android.car.kitchensink.power.PowerTestFragment;
@@ -154,7 +154,6 @@
add("hvac", HvacTestFragment.class);
add("inst cluster", InstrumentClusterFragment.class);
add("input test", InputTestFragment.class);
- add("job scheduler", JobSchedulerFragment.class);
add("notification", NotificationFragment.class);
add("orientation test", OrientationTestFragment.class);
add("power test", PowerTestFragment.class);
@@ -201,11 +200,6 @@
return mPropertyManager;
}
- @Override
- protected CarDrawerAdapter getRootAdapter() {
- return new DrawerAdapter();
- }
-
public CarSensorManager getSensorManager() {
return mSensorManager;
}
@@ -215,6 +209,7 @@
super.onCreate(savedInstanceState);
setToolbarElevation(0f);
setMainContent(R.layout.kitchen_content);
+ getDrawerController().setRootAdapter(new DrawerAdapter());
// Connection to Car Service does not work for non-automotive yet.
if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE)) {
initCarApi();
@@ -227,7 +222,7 @@
mCarApi.disconnect();
mCarApi = null;
}
- mCarApi = Car.createCar(this, mCarConnectionCallback);
+ mCarApi = Car.createCar(this, mServiceConnection);
mCarApi.connect();
}
@@ -276,10 +271,9 @@
.commit();
}
- private final CarConnectionCallback mCarConnectionCallback =
- new CarConnectionCallback() {
+ private final ServiceConnection mServiceConnection = new ServiceConnection() {
@Override
- public void onConnected(Car car) {
+ public void onServiceConnected(ComponentName name, IBinder service) {
Log.d(TAG, "Connected to Car Service");
synchronized (mPropertyManagerReady) {
try {
@@ -301,7 +295,7 @@
}
@Override
- public void onDisconnected(Car car) {
+ public void onServiceDisconnected(ComponentName name) {
Log.d(TAG, "Disconnect from Car Service");
}
};
@@ -324,11 +318,11 @@
@Override
protected void populateViewHolder(DrawerItemViewHolder holder, int position) {
- holder.getTitle().setText(mMenuEntries.get(position).getText());
+ holder.getTitleView().setText(mMenuEntries.get(position).getText());
+ holder.itemView.setOnClickListener(v -> onItemClick(holder.getAdapterPosition()));
}
- @Override
- public void onItemClick(int position) {
+ private void onItemClick(int position) {
if ((position < 0) || (position >= mMenuEntries.size())) {
Log.wtf(TAG, "Unknown menu item: " + position);
return;
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/audio/AudioPlayer.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/audio/AudioPlayer.java
index 50a5e9e..74345aa 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/audio/AudioPlayer.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/audio/AudioPlayer.java
@@ -23,6 +23,8 @@
import android.media.MediaPlayer;
import android.util.Log;
+import com.google.android.car.kitchensink.R;
+
import java.io.IOException;
import java.util.concurrent.atomic.AtomicBoolean;
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/cluster/FakeClusterNavigationActivity.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/cluster/FakeClusterNavigationActivity.java
index 964d812..d50f053 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/cluster/FakeClusterNavigationActivity.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/cluster/FakeClusterNavigationActivity.java
@@ -17,13 +17,15 @@
package com.google.android.car.kitchensink.cluster;
import android.app.Activity;
+import android.car.Car;
+import android.car.CarNotConnectedException;
import android.car.cluster.CarInstrumentClusterManager;
import android.car.cluster.ClusterActivityState;
+import android.content.ComponentName;
+import android.content.ServiceConnection;
import android.graphics.Rect;
import android.os.Bundle;
-import android.support.car.Car;
-import android.support.car.CarConnectionCallback;
-import android.support.car.CarNotConnectedException;
+import android.os.IBinder;
import android.util.Log;
import android.widget.ImageView;
import android.widget.RelativeLayout;
@@ -50,16 +52,15 @@
setContentView(R.layout.fake_cluster_navigation_activity);
mUnobscuredArea = findViewById(R.id.unobscuredArea);
- mCarApi = Car.createCar(this /* context */, new CarConnectionCallback() {
-
+ mCarApi = Car.createCar(this /* context */, new ServiceConnection() {
@Override
- public void onConnected(Car car) {
- onCarConnected(car);
+ public void onServiceConnected(ComponentName name, IBinder service) {
+ onCarConnected(mCarApi);
}
@Override
- public void onDisconnected(Car car) {
- onCarDisconnected(car);
+ public void onServiceDisconnected(ComponentName name) {
+ onCarDisconnected(mCarApi);
}
});
Log.i(TAG, "Connecting to car api...");
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/cluster/InstrumentClusterFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/cluster/InstrumentClusterFragment.java
index 8e4483e..4f5fc5b 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/cluster/InstrumentClusterFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/cluster/InstrumentClusterFragment.java
@@ -16,15 +16,17 @@
package com.google.android.car.kitchensink.cluster;
import android.app.AlertDialog;
+import android.car.Car;
+import android.car.CarAppFocusManager;
+import android.car.CarNotConnectedException;
import android.car.cluster.CarInstrumentClusterManager;
+import android.car.navigation.CarNavigationStatusManager;
+import android.content.ComponentName;
import android.content.Intent;
+import android.content.ServiceConnection;
import android.content.pm.PackageManager;
import android.os.Bundle;
-import android.support.car.Car;
-import android.support.car.CarAppFocusManager;
-import android.support.car.CarConnectionCallback;
-import android.support.car.CarNotConnectedException;
-import android.support.car.navigation.CarNavigationStatusManager;
+import android.os.IBinder;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -48,23 +50,25 @@
private CarAppFocusManager mCarAppFocusManager;
private Car mCarApi;
- private final CarConnectionCallback mCarConnectionCallback = new CarConnectionCallback() {
+ private final ServiceConnection mServiceConnection = new ServiceConnection() {
@Override
- public void onConnected(Car car) {
+ public void onServiceConnected(ComponentName name, IBinder service) {
Log.d(TAG, "Connected to Car Service");
try {
mCarNavigationStatusManager =
- mCarApi.getCarManager(CarNavigationStatusManager.class);
- mCarAppFocusManager = mCarApi.getCarManager(CarAppFocusManager.class);
+ (CarNavigationStatusManager) mCarApi.getCarManager(
+ Car.CAR_NAVIGATION_SERVICE);
+ mCarAppFocusManager =
+ (CarAppFocusManager) mCarApi.getCarManager(Car.APP_FOCUS_SERVICE);
} catch (CarNotConnectedException e) {
Log.e(TAG, "Car is not connected!", e);
}
}
@Override
- public void onDisconnected(Car car) {
- Log.d(TAG, "Disconnect from Car Service");
- }
+ public void onServiceDisconnected(ComponentName name) {
+ Log.d(TAG, "Disconnect from Car Service");
+ }
};
private void initCarApi() {
@@ -73,7 +77,7 @@
mCarApi = null;
}
- mCarApi = Car.createCar(getContext(), mCarConnectionCallback);
+ mCarApi = Car.createCar(getContext(), mServiceConnection);
mCarApi.connect();
}
@@ -138,8 +142,7 @@
mCarAppFocusManager
.addFocusListener(new CarAppFocusManager.OnAppFocusChangedListener() {
@Override
- public void onAppFocusChanged(CarAppFocusManager manager, int appType,
- boolean active) {
+ public void onAppFocusChanged(int appType, boolean active) {
Log.d(TAG, "onAppFocusChanged, appType: " + appType + " active: "
+ active);
}
@@ -151,7 +154,7 @@
CarAppFocusManager.OnAppFocusOwnershipCallback
focusCallback = new CarAppFocusManager.OnAppFocusOwnershipCallback() {
@Override
- public void onAppFocusOwnershipLost(CarAppFocusManager manager, int focus) {
+ public void onAppFocusOwnershipLost(int focus) {
Log.w(TAG, "onAppFocusOwnershipLost, focus: " + focus);
new AlertDialog.Builder(getContext())
.setTitle(getContext().getApplicationInfo().name)
@@ -160,7 +163,7 @@
}
@Override
- public void onAppFocusOwnershipGranted(CarAppFocusManager manager, int focus) {
+ public void onAppFocusOwnershipGranted(int focus) {
Log.w(TAG, "onAppFocusOwnershipGranted, focus: " + focus);
}
@@ -174,7 +177,7 @@
try {
boolean ownsFocus = mCarAppFocusManager.isOwningFocus(
- CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, focusCallback);
+ focusCallback, CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION);
Log.d(TAG, "Owns APP_FOCUS_TYPE_NAVIGATION: " + ownsFocus);
if (!ownsFocus) {
throw new RuntimeException("Focus was not acquired.");
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/diagnostic/DiagnosticTestFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/diagnostic/DiagnosticTestFragment.java
index 5569848..7f9b4e1 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/diagnostic/DiagnosticTestFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/diagnostic/DiagnosticTestFragment.java
@@ -18,12 +18,13 @@
import android.annotation.Nullable;
import android.car.Car;
+import android.car.CarNotConnectedException;
import android.car.diagnostic.CarDiagnosticEvent;
import android.car.diagnostic.CarDiagnosticManager;
import android.car.diagnostic.CarDiagnosticManager.OnDiagnosticEventListener;
+import android.car.hardware.CarSensorManager;
import android.graphics.Color;
import android.os.Bundle;
-import android.support.car.hardware.CarSensorManager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -108,7 +109,7 @@
CarDiagnosticManager.FRAME_TYPE_FREEZE,
CarSensorManager.SENSOR_RATE_NORMAL);
}
- } catch (android.car.CarNotConnectedException|android.support.car.CarNotConnectedException e) {
+ } catch (CarNotConnectedException e) {
Log.e(TAG, "Car not connected or not supported", e);
}
}
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/input/InputTestFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/input/InputTestFragment.java
index 34ea1cf..5128816 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/input/InputTestFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/input/InputTestFragment.java
@@ -30,6 +30,7 @@
import android.hardware.automotive.vehicle.V2_0.VehicleArea;
import android.hardware.automotive.vehicle.V2_0.VehicleDisplay;
import android.hardware.automotive.vehicle.V2_0.VehiclePropValue;
+import android.hardware.automotive.vehicle.V2_0.VehicleProperty;
import android.hardware.automotive.vehicle.V2_0.VehiclePropertyGroup;
import android.hardware.automotive.vehicle.V2_0.VehiclePropertyStatus;
import android.hardware.automotive.vehicle.V2_0.VehiclePropertyType;
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/job/JobSchedulerFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/job/JobSchedulerFragment.java
deleted file mode 100644
index b82818f..0000000
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/job/JobSchedulerFragment.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Copyright (C) 2015 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.google.android.car.kitchensink.job;
-
-import android.app.job.JobInfo;
-import android.app.job.JobScheduler;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.os.Bundle;
-import android.os.PersistableBundle;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.Button;
-import android.widget.CheckBox;
-import android.widget.EditText;
-import android.widget.RadioGroup;
-import android.widget.TextView;
-import android.widget.Toast;
-
-import androidx.annotation.Nullable;
-import androidx.fragment.app.Fragment;
-
-import com.google.android.car.kitchensink.R;
-
-import java.util.List;
-
-public class JobSchedulerFragment extends Fragment {
- private static final String TAG = "JobSchedulerFragment";
- private static final String PREFS_NEXT_JOB_ID = "next_job_id";
-
- private Button mScheduleButton;
- private Button mRefreshButton;
- private Button mCancelButton;
- private CheckBox mRequireCharging;
- private CheckBox mRequireIdle;
- private CheckBox mRequirePersisted;
- private RadioGroup mNetworkGroup;
- private EditText mDishNum;
- private TextView mJobInfo;
- private JobScheduler mJobScheduler;
-
- @Nullable
- @Override
- public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
- @Nullable Bundle savedInstanceState) {
- View v = inflater.inflate(R.layout.job_scheduler, container, false);
- mScheduleButton = (Button) v.findViewById(R.id.schedule_button);
- mScheduleButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- scheduleJob();
- }
- });
- mRefreshButton = (Button) v.findViewById(R.id.refresh_button);
- mRefreshButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- refreshCurrentJobs();
- }
- });
-
- mNetworkGroup = (RadioGroup) v.findViewById(R.id.network_group);
- mDishNum = (EditText) v.findViewById(R.id.dish_num);
- mRequireCharging = (CheckBox) v.findViewById(R.id.require_charging);
- mRequireIdle = (CheckBox) v.findViewById(R.id.require_idle);
- mRequirePersisted = (CheckBox) v.findViewById(R.id.require_persisted);
- mJobScheduler = (JobScheduler) getContext()
- .getSystemService(Context.JOB_SCHEDULER_SERVICE);
-
- mJobInfo = (TextView) v.findViewById(R.id.current_jobs);
-
- mCancelButton = (Button) v.findViewById(R.id.cancel_button);
- mCancelButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- mJobScheduler.cancelAll();
- refreshCurrentJobs();
- }
- });
- return v;
- }
-
- @Override
- public void onResume() {
- super.onResume();
- refreshCurrentJobs();
- }
-
- private void refreshCurrentJobs() {
- StringBuilder sb = new StringBuilder();
- List<JobInfo> jobs = mJobScheduler.getAllPendingJobs();
- for (JobInfo job : jobs) {
- sb.append("JobId: ");
- sb.append(job.getId());
- sb.append("\nDishCount: ");
- sb.append(job.getExtras().getInt(DishService.EXTRA_DISH_COUNT, 0));
- sb.append("\n");
- }
- mJobInfo.setText(sb.toString());
- }
-
- private void scheduleJob() {
- ComponentName jobComponentName = new ComponentName(getContext(), DishService.class);
- SharedPreferences prefs = getContext()
- .getSharedPreferences(PREFS_NEXT_JOB_ID, Context.MODE_PRIVATE);
- int jobId = prefs.getInt(PREFS_NEXT_JOB_ID, 0);
- PersistableBundle bundle = new PersistableBundle();
- int count = 50;
- try {
- count = Integer.valueOf(mDishNum.getText().toString());
- } catch (NumberFormatException e) {
- Log.e(TAG, "NOT A NUMBER!!!");
- }
-
- int selected = mNetworkGroup.getCheckedRadioButtonId();
- int networkType = JobInfo.NETWORK_TYPE_ANY;
- switch (selected) {
- case R.id.network_none:
- networkType = JobInfo.NETWORK_TYPE_NONE;
- break;
- case R.id.network_unmetered:
- networkType = JobInfo.NETWORK_TYPE_UNMETERED;
- break;
- case R.id.network_any:
- networkType = JobInfo.NETWORK_TYPE_ANY;
- break;
- }
- bundle.putInt(DishService.EXTRA_DISH_COUNT, count);
- JobInfo jobInfo = new JobInfo.Builder(jobId, jobComponentName)
- .setRequiresCharging(mRequireCharging.isChecked())
- .setRequiresDeviceIdle(mRequireIdle.isChecked())
- // TODO: figure out why we crash here even we hold
- // the RECEIVE_BOOT_COMPLETE permission
- //.setPersisted(mRequirePersisted.isChecked())
- .setExtras(bundle)
- .setRequiredNetworkType(networkType)
- .build();
-
-
- mJobScheduler.schedule(jobInfo);
- Toast.makeText(getContext(), "Scheduled: " + jobInfo, Toast.LENGTH_LONG ).show();
-
- Log.d(TAG, "Scheduled a job: " + jobInfo);
- SharedPreferences.Editor editor = prefs.edit();
- editor.putInt(PREFS_NEXT_JOB_ID, jobId + 1);
- editor.commit();
-
- refreshCurrentJobs();
- }
-}
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/power/PowerTestFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/power/PowerTestFragment.java
index d24148d..f0183a0 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/power/PowerTestFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/power/PowerTestFragment.java
@@ -35,36 +35,26 @@
import com.google.android.car.kitchensink.KitchenSinkActivity;
import com.google.android.car.kitchensink.R;
-import java.util.concurrent.Executor;
-
public class PowerTestFragment extends Fragment {
private final boolean DBG = false;
private final String TAG = "PowerTestFragment";
private CarPowerManager mCarPowerManager;
private TextView mTvBootReason;
- private Executor mExecutor;
-
- private class ThreadPerTaskExecutor implements Executor {
- public void execute(Runnable r) {
- new Thread(r).start();
- }
- }
private final CarPowerManager.CarPowerStateListener mPowerListener =
- new CarPowerManager.CarPowerStateListener () {
- @Override
- public void onStateChanged(int state) {
- Log.i(TAG, "onStateChanged() state = " + state);
+ (state, future) -> {
+ if (future != null) {
+ future.complete(null);
}
+ Log.i(TAG, "onStateChanged() state = " + state);
};
@Override
public void onCreate(Bundle savedInstanceState) {
final Runnable r = () -> {
mCarPowerManager = ((KitchenSinkActivity) getActivity()).getPowerManager();
- mExecutor = new ThreadPerTaskExecutor();
try {
- mCarPowerManager.setListener(mPowerListener, mExecutor);
+ mCarPowerManager.setListener(mPowerListener);
} catch (CarNotConnectedException e) {
Log.e(TAG, "Car is not connected!");
} catch (IllegalStateException e) {
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/property/PropertyTestFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/property/PropertyTestFragment.java
index 83bbfa9..d4b5a02 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/property/PropertyTestFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/property/PropertyTestFragment.java
@@ -76,9 +76,6 @@
@Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.property, container, false);
- mActivity = (KitchenSinkActivity) getHost();
- mMgr = mActivity.getPropertyManager();
-
// Get resource IDs
mAreaId = view.findViewById(R.id.sAreaId);
mEventLog = view.findViewById(R.id.tvEventLog);
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/sensor/LocationListeners.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/sensor/LocationListeners.java
new file mode 100644
index 0000000..b99f5da
--- /dev/null
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/sensor/LocationListeners.java
@@ -0,0 +1,166 @@
+/*
+ * Copyright (C) 2016 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.google.android.car.kitchensink.sensor;
+
+import android.content.Context;
+import android.hardware.Sensor;
+import android.hardware.SensorEvent;
+import android.hardware.SensorEventListener;
+import android.hardware.SensorManager;
+import android.location.Location;
+import android.location.LocationListener;
+import android.location.LocationManager;
+import android.os.Bundle;
+import android.util.Log;
+
+
+public class LocationListeners {
+
+ private static final String TAG = "CAR.SENSOR.KS.location";
+
+ SensorsTestFragment.LocationInfoTextUpdateListener mTextUpdateHandler;
+
+ LocationManager mLocationMgr;
+ SensorManager mSensorMgr;
+
+
+ public LocationListeners(Context context,
+ SensorsTestFragment.LocationInfoTextUpdateListener listener) {
+ mTextUpdateHandler = listener;
+
+ mLocationMgr = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
+ mSensorMgr = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
+ }
+
+ public void startListening() {
+ if (mLocationMgr != null) {
+ if (mLocationMgr.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
+ mLocationMgr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,
+ mLocationListener);
+ mTextUpdateHandler.setMagField("waiting to hear from GPS");
+ } else {
+ mTextUpdateHandler.setLocationField("GPS_PROVIDER not available");
+ }
+ } else {
+ mTextUpdateHandler.setLocationField("LocationManager not available");
+ }
+
+ if (mSensorMgr != null) {
+ Sensor accelerometerSensor = mSensorMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
+ Sensor magneticFieldSensor = mSensorMgr.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
+ Sensor gyroscopeSensor = mSensorMgr.getDefaultSensor(Sensor.TYPE_GYROSCOPE);
+
+ mSensorMgr.registerListener(mSensorListener, accelerometerSensor,
+ SensorManager.SENSOR_DELAY_FASTEST);
+ mSensorMgr.registerListener(mSensorListener, gyroscopeSensor,
+ SensorManager.SENSOR_DELAY_FASTEST);
+ mSensorMgr.registerListener(mSensorListener, magneticFieldSensor,
+ SensorManager.SENSOR_DELAY_FASTEST);
+
+ mTextUpdateHandler.setAccelField("waiting to hear from SensorManager");
+ mTextUpdateHandler.setGyroField("waiting to hear from SensorManager");
+ mTextUpdateHandler.setMagField("waiting to hear from SensorManager");
+ } else {
+ mTextUpdateHandler.setAccelField("SensorManager not available");
+ mTextUpdateHandler.setGyroField("SensorManager not available");
+ mTextUpdateHandler.setMagField("SensorManager not available");
+ }
+ }
+
+ public void stopListening() {
+ if (mLocationMgr != null) {
+ if (mLocationMgr.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
+ mLocationMgr.removeUpdates(mLocationListener);
+ mTextUpdateHandler.setMagField("GPS stopped");
+ }
+ }
+
+ if (mSensorMgr != null) {
+ mSensorMgr.unregisterListener(mSensorListener);
+ mTextUpdateHandler.setAccelField("SensorManager stopped");
+ mTextUpdateHandler.setGyroField("SensorManager stopped");
+ mTextUpdateHandler.setMagField("SensorManager stopped");
+ }
+ }
+
+
+ private final LocationListener mLocationListener = new LocationListener() {
+ @Override
+ public void onLocationChanged(Location location) {
+ String s = String.format("Location: lat=%10.6f, lon=%10.6f, altitude=%5.0f, "
+ + "speed=%5.1f, bearing=%3.0f, accuracy=%5.1f",
+ location.getLatitude(),
+ location.getLongitude(),
+ location.getAltitude(),
+ location.getSpeed(),
+ location.getBearing(),
+ location.getAccuracy());
+
+ mTextUpdateHandler.setLocationField(s);
+ }
+
+ @Override
+ public void onProviderEnabled(String provider) {
+ }
+
+ @Override
+ public void onProviderDisabled(String provider) {
+ }
+
+ @Override
+ public void onStatusChanged(String provider, int status, Bundle extras) {
+ }
+ };
+
+ private final SensorEventListener mSensorListener = new SensorEventListener() {
+ @Override
+ public void onSensorChanged(SensorEvent event) {
+ int type = event.sensor.getType();
+ switch (type) {
+ case Sensor.TYPE_GYROSCOPE:
+ String gs = String.format("Gyroscope Rad/s: (%6.2f, %6.2f, %6.2f)",
+ event.values[0], event.values[1], event.values[2]);
+ mTextUpdateHandler.setLocationField(gs);
+ break;
+ case Sensor.TYPE_MAGNETIC_FIELD:
+ // NOTE: If we wanted to report yaw/pitch/roll, we would use both
+ // accelerometer and magnetic data to compute R and I:
+ // SensorManager.getRotationMatrix(R, I,
+ // mLastAccelerometerData
+ // mLastMagneticFieldData);
+ // SensorManager.getOrientation(mR, orientation);
+ String ms = String.format("Magnetic uT: (%6.2f, %6.2f, %6.2f)",
+ event.values[0], event.values[1], event.values[2]);
+ mTextUpdateHandler.setLocationField(ms);
+ break;
+ case Sensor.TYPE_ACCELEROMETER:
+ String as = String.format("Accelerometer m/s2: (%6.2f, %6.2f, %6.2f)",
+ event.values[0], event.values[1], event.values[2]);
+ mTextUpdateHandler.setLocationField(as);
+ break;
+ default:
+ Log.w(TAG, "Unexpected sensor event type: " + type);
+ // Should never happen.
+ return;
+ }
+ }
+
+ @Override
+ public void onAccuracyChanged(Sensor sensor, int accuracy) {
+ }
+ };
+}
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/sensor/SensorsTestFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/sensor/SensorsTestFragment.java
index 39392b9..77a6e1c 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/sensor/SensorsTestFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/sensor/SensorsTestFragment.java
@@ -75,7 +75,7 @@
synchronized (SensorsTestFragment.this) {
mEventMap.put(event.sensorType, event);
}
- refreshUi();
+ refreshSensorInfoText();
}
};
private final Handler mHandler = new Handler();
@@ -83,13 +83,19 @@
private final DateFormat mDateFormat = SimpleDateFormat.getDateTimeInstance();
private KitchenSinkActivity mActivity;
- private TextView mSensorInfo;
private Car mCar;
- private CarSensorManager mSensorManager;
+ private CarSensorManager mCarSensorManager;
+ private LocationListeners mLocationListener;
private String mNaString;
private int[] supportedSensors = new int[0];
private Set<String> mActivePermissions = new HashSet<String>();
+ private TextView mSensorInfo;
+ private TextView mLocationInfo;
+ private TextView mAccelInfo;
+ private TextView mGyroInfo;
+ private TextView mMagInfo;
+
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
@@ -100,7 +106,13 @@
View view = inflater.inflate(R.layout.sensors, container, false);
mActivity = (KitchenSinkActivity) getHost();
+
mSensorInfo = (TextView) view.findViewById(R.id.sensor_info);
+ mLocationInfo = (TextView) view.findViewById(R.id.location_info);
+ mAccelInfo = (TextView) view.findViewById(R.id.accel_info);
+ mGyroInfo = (TextView) view.findViewById(R.id.gyro_info);
+ mMagInfo = (TextView) view.findViewById(R.id.mag_info);
+
mNaString = getContext().getString(R.string.sensor_na);
return view;
}
@@ -118,24 +130,38 @@
@Override
public void onPause() {
super.onPause();
- if (mSensorManager != null) {
- mSensorManager.unregisterListener(mOnSensorChangedListener);
+ if (mCarSensorManager != null) {
+ mCarSensorManager.unregisterListener(mOnSensorChangedListener);
+ }
+ if (mLocationListener != null) {
+ mLocationListener.stopListening();
}
}
private void initSensors() {
try {
- mSensorManager =
- (CarSensorManager) ((KitchenSinkActivity) getActivity()).getSensorManager();
- supportedSensors = mSensorManager.getSupportedSensors();
+ if (mCarSensorManager == null) {
+ mCarSensorManager =
+ (CarSensorManager) ((KitchenSinkActivity) getActivity()).getSensorManager();
+ }
+ supportedSensors = mCarSensorManager.getSupportedSensors();
for (Integer sensor : supportedSensors) {
- mSensorManager.registerListener(mOnSensorChangedListener, sensor,
+ mCarSensorManager.registerListener(mOnSensorChangedListener, sensor,
CarSensorManager.SENSOR_RATE_NORMAL);
}
} catch (CarNotConnectedException e) {
Log.e(TAG, "Car not connected or not supported", e);
} catch (Exception e) {
- Log.e(TAG, "initSensors() exception caught: ", e);
+ Log.e(TAG, "initSensors() exception caught SensorManager: ", e);
+ }
+ try {
+ if (mLocationListener == null) {
+ mLocationListener = new LocationListeners(getContext(),
+ new LocationInfoTextUpdateListener());
+ }
+ mLocationListener.startListening();
+ } catch (Exception e) {
+ Log.e(TAG, "initSensors() exception caught from LocationListeners: ", e);
}
}
@@ -143,6 +169,7 @@
Set<String> missingPermissions = checkExistingPermissions();
if (!missingPermissions.isEmpty()) {
requestPermissions(missingPermissions);
+ // The callback with premission results will take care of calling initSensors for us
} else {
initSensors();
}
@@ -182,7 +209,7 @@
}
}
- private void refreshUi() {
+ private void refreshSensorInfoText() {
String summaryString;
synchronized (this) {
List<String> summary = new ArrayList<>();
@@ -257,7 +284,7 @@
}
// Get the config data
try {
- CarSensorConfig c = mSensorManager.getSensorConfig(
+ CarSensorConfig c = mCarSensorManager.getSensorConfig(
CarSensorManager.SENSOR_TYPE_WHEEL_TICK_DISTANCE);
summary.add(getContext().getString(R.string.sensor_wheel_ticks_cfg,
c.getInt(CarSensorConfig.WHEEL_TICK_DISTANCE_SUPPORTED_WHEELS),
@@ -294,6 +321,9 @@
case CarSensorManager.SENSOR_TYPE_EV_BATTERY_CHARGE_RATE:
summary.add(getEvChargeRate(event));
break;
+ case CarSensorManager.SENSOR_TYPE_ENGINE_OIL_LEVEL:
+ summary.add(getEngineOilLevel(event));
+ break;
default:
// Should never happen.
Log.w(TAG, "Unrecognized event type: " + toHexString(i));
@@ -316,6 +346,10 @@
return mDateFormat.format(new Date(event.timestamp / (1000L * 1000L)));
}
+ private String getTimestampNow() {
+ return mDateFormat.format(new Date(System.nanoTime() / (1000L * 1000L)));
+ }
+
private String getFuelLevel(CarSensorEvent event) {
String fuelLevel = mNaString;
if(event != null) {
@@ -370,4 +404,38 @@
return getContext().getString(R.string.sensor_ev_charge_rate, getTimestamp(event),
evChargeRate);
}
+
+ private String getEngineOilLevel(CarSensorEvent event) {
+ String engineOilLevel = mNaString;
+ if(event != null) {
+ engineOilLevel = String.valueOf(event.getCarEngineOilLevelData(null).engineOilLevel);
+ }
+ return getContext().getString(R.string.sensor_oil_level, getTimestamp(event),
+ engineOilLevel);
+ }
+
+ public class LocationInfoTextUpdateListener {
+ public void setLocationField(String value) {
+ setTimestampedTextField(mLocationInfo, value);
+ }
+
+ public void setAccelField(String value) {
+ setTimestampedTextField(mAccelInfo, value);
+ }
+
+ public void setGyroField(String value) {
+ setTimestampedTextField(mGyroInfo, value);
+ }
+
+ public void setMagField(String value) {
+ setTimestampedTextField(mMagInfo, value);
+ }
+
+ private void setTimestampedTextField(TextView text, String value) {
+ synchronized (SensorsTestFragment.this) {
+ text.setText(getTimestampNow() + ": " + value);
+ Log.d(TAG, "setText: " + value);
+ }
+ }
+ }
}
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/setting/CarServiceSettingsActivity.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/setting/CarServiceSettingsActivity.java
index 0ad1934..d5f2cf2 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/setting/CarServiceSettingsActivity.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/setting/CarServiceSettingsActivity.java
@@ -18,7 +18,6 @@
import android.os.Bundle;
import android.preference.PreferenceActivity;
-import android.view.View;
import android.widget.Button;
import com.google.android.car.kitchensink.R;
@@ -33,12 +32,7 @@
super.onCreate(savedInstanceState);
Button button = new Button(this);
button.setText("Finish");
- button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- finish();
- }
- });
+ button.setOnClickListener(view -> finish());
setListFooter(button);
}
@@ -49,8 +43,7 @@
@Override
protected boolean isValidFragment(String fragmentName) {
- if (GarageModeSettingsFragment.class.getName().equals(fragmentName)
- || UsbManagerFragment.class.getName().equals(fragmentName)) {
+ if (UsbManagerFragment.class.getName().equals(fragmentName)) {
return true;
}
return false;
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/setting/GarageModeSettingsFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/setting/GarageModeSettingsFragment.java
deleted file mode 100644
index 4ace656..0000000
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/setting/GarageModeSettingsFragment.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Copyright (C) 2016 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.google.android.car.kitchensink.setting;
-
-import static android.car.settings.CarSettings.Global.KEY_GARAGE_MODE_ENABLED;
-import static android.car.settings.CarSettings.Global.KEY_GARAGE_MODE_MAINTENANCE_WINDOW;
-import static android.car.settings.CarSettings.Global.KEY_GARAGE_MODE_WAKE_UP_TIME;
-import static android.car.settings.GarageModeSettingsObserver.GARAGE_MODE_ENABLED_URI;
-import static android.car.settings.GarageModeSettingsObserver.GARAGE_MODE_MAINTENANCE_WINDOW_URI;
-import static android.car.settings.GarageModeSettingsObserver.GARAGE_MODE_WAKE_UP_TIME_URI;
-
-import android.app.TimePickerDialog;
-import android.car.CarApiUtil;
-import android.car.settings.GarageModeSettingsObserver;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.Handler;
-import android.preference.Preference;
-import android.preference.PreferenceFragment;
-import android.preference.PreferenceScreen;
-import android.provider.Settings;
-import android.text.format.DateFormat;
-import android.util.Log;
-import android.widget.TimePicker;
-
-import com.google.android.car.kitchensink.R;
-
-import java.sql.Time;
-
-public class GarageModeSettingsFragment extends PreferenceFragment implements
- TimePickerDialog.OnTimeSetListener, Preference.OnPreferenceChangeListener {
-
- private static final String TAG = "GarageModeSettings";
- private Preference mTimePreference;
- private Preference mGarageSwitchPreference;
- private Preference mGarageLimitPreference;
-
- private int mGarageTimeHour;
- private int mGarageTimeMin;
-
- private GarageModeSettingsObserver mContentObserver;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- addPreferencesFromResource(R.xml.garage_mode_prefs);
- mTimePreference = findPreference(KEY_GARAGE_MODE_WAKE_UP_TIME);
- mTimePreference.setOnPreferenceChangeListener(this);
- mGarageSwitchPreference = findPreference(KEY_GARAGE_MODE_ENABLED);
- mGarageSwitchPreference.setOnPreferenceChangeListener(this);
- mGarageLimitPreference = findPreference(KEY_GARAGE_MODE_MAINTENANCE_WINDOW);
- mGarageLimitPreference.setOnPreferenceChangeListener(this);
- refreshUI(KEY_GARAGE_MODE_ENABLED, KEY_GARAGE_MODE_WAKE_UP_TIME, KEY_GARAGE_MODE_MAINTENANCE_WINDOW);
- mContentObserver = new GarageModeSettingsObserver(getContext(), new Handler()) {
- @Override
- public void onChange(boolean selfChange, Uri uri) {
- onSettingsChangedInternal(uri);
- }
- };
- }
-
- @Override
- public void onResume() {
- super.onResume();
- mContentObserver.register();
- }
-
- @Override
- public void onPause() {
- super.onPause();
- mContentObserver.unregister();
- }
-
- private void refreshUI(String... keys) {
- for (String key : keys) {
- try {
- switch (key) {
- case KEY_GARAGE_MODE_ENABLED:
- mGarageSwitchPreference.setDefaultValue(
- Settings.Global.getInt(getContext().getContentResolver(), key)
- == 1);
- break;
- case KEY_GARAGE_MODE_WAKE_UP_TIME:
- int time[] = CarApiUtil.decodeGarageTimeSetting(
- Settings.Global.getString(getContext().getContentResolver(),
- KEY_GARAGE_MODE_WAKE_UP_TIME));
- mTimePreference.setSummary(
- DateFormat.getTimeFormat(getContext()).format(
- new Time(time[0], time[1], 0)));
- mGarageTimeHour = time[0];
- mGarageTimeMin = time[1];
- break;
- case KEY_GARAGE_MODE_MAINTENANCE_WINDOW:
- int limitMinutes = Settings.Global.getInt(getContext().getContentResolver(),
- key) / 60 / 1000;
- mGarageLimitPreference.setSummary(
- getString(R.string.garage_time_limit_summary, limitMinutes));
- break;
- }
- } catch (Settings.SettingNotFoundException e) {
- Log.e(TAG, "Settings not found " + key);
- }
- }
- }
-
- @Override
- public boolean onPreferenceTreeClick(PreferenceScreen screen, Preference preference) {
- if (preference == mTimePreference) {
- TimePickerDialogFragment dialog =
- TimePickerDialogFragment.newInstance(mGarageTimeHour, mGarageTimeMin);
- dialog.setTimeSetListener(this);
- dialog.show(getFragmentManager(), "time");
- return true;
- }
- return super.onPreferenceTreeClick(screen, preference);
- }
-
- @Override
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- if (preference == mGarageSwitchPreference) {
- updateGarageSwitch((boolean) newValue);
- refreshUI(KEY_GARAGE_MODE_ENABLED);
- return true;
- } else if (preference == mGarageLimitPreference) {
- updateGarageTimeLimit(Integer.valueOf((String) newValue));
- refreshUI(KEY_GARAGE_MODE_MAINTENANCE_WINDOW);
- return true;
- }
-
- return false;
- }
-
- private void updateGarageSwitch(boolean newValue) {
- Settings.Global.putInt(getContext().getContentResolver(),
- KEY_GARAGE_MODE_ENABLED, newValue ? 1 : 0);
- }
-
- private void updateGarageTimeLimit(int newValue) {
- Settings.Global.putInt(getContext().getContentResolver(),
- KEY_GARAGE_MODE_MAINTENANCE_WINDOW, newValue * 60 * 1000);
- }
-
- private void updateGarageTime(String time) {
- Settings.Global.putString(getContext().getContentResolver(),
- KEY_GARAGE_MODE_WAKE_UP_TIME, time);
- }
-
- @Override
- public void onTimeSet(TimePicker timePicker, int hour, int minute) {
- updateGarageTime(CarApiUtil.encodeGarageTimeSetting(hour, minute));
- refreshUI(KEY_GARAGE_MODE_WAKE_UP_TIME);
- }
-
- private void onSettingsChangedInternal(Uri uri) {
- Log.d(TAG, "Content Observer onChange: " + uri);
- if (uri.equals(GARAGE_MODE_ENABLED_URI)) {
- refreshUI(KEY_GARAGE_MODE_ENABLED);
- } else if (uri.equals(GARAGE_MODE_WAKE_UP_TIME_URI)) {
- refreshUI(KEY_GARAGE_MODE_WAKE_UP_TIME);
- } else if (uri.equals(GARAGE_MODE_MAINTENANCE_WINDOW_URI)) {
- refreshUI(KEY_GARAGE_MODE_MAINTENANCE_WINDOW);
- }
- }
-}
\ No newline at end of file
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/storagelifetime/StorageLifetimeFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/storagelifetime/StorageLifetimeFragment.java
index bf7af5d..7ab3a6a 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/storagelifetime/StorageLifetimeFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/storagelifetime/StorageLifetimeFragment.java
@@ -208,8 +208,7 @@
"\nBlock size: " + mStatFs.getBlockSizeLong() + " bytes" +
"\nfor a total free space of: " +
(mStatFs.getBlockSizeLong() * mStatFs.getAvailableBlocksLong() / MEGABYTE) + "MB");
- } catch (android.car.CarNotConnectedException|
- android.support.car.CarNotConnectedException e) {
+ } catch (CarNotConnectedException e) {
Log.e(TAG, "Car not connected or not supported", e);
}
}
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/vhal/VehicleHalFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/vhal/VehicleHalFragment.java
index df5f0fc..c5998c9 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/vhal/VehicleHalFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/vhal/VehicleHalFragment.java
@@ -17,10 +17,11 @@
import android.annotation.Nullable;
import android.app.AlertDialog;
-import android.content.DialogInterface;
-import android.content.DialogInterface.OnClickListener;
+import android.content.Context;
import android.hardware.automotive.vehicle.V2_0.IVehicle;
+import android.hardware.automotive.vehicle.V2_0.StatusCode;
import android.hardware.automotive.vehicle.V2_0.VehiclePropConfig;
+import android.hardware.automotive.vehicle.V2_0.VehiclePropValue;
import android.hardware.automotive.vehicle.V2_0.VehicleProperty;
import android.os.Bundle;
import android.os.RemoteException;
@@ -28,11 +29,12 @@
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.AdapterView;
-import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
+import android.widget.Button;
+import android.widget.LinearLayout;
import android.widget.ListView;
+import android.widget.TextView;
import androidx.fragment.app.Fragment;
import com.google.android.car.kitchensink.KitchenSinkActivity;
@@ -43,28 +45,12 @@
import java.util.stream.Collectors;
public class VehicleHalFragment extends Fragment {
+
private static final String TAG = "CAR.VEHICLEHAL.KS";
private KitchenSinkActivity mActivity;
private ListView mListView;
- private final OnClickListener mNopOnClickListener = new OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) { }
- };
-
- private final OnItemClickListener mOnClickListener = new OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- HalPropertyInfo entry = (HalPropertyInfo)parent.getItemAtPosition(position);
- AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
- builder.setTitle("Info for " + entry.name)
- .setPositiveButton(android.R.string.yes, mNopOnClickListener)
- .setMessage(entry.config.toString())
- .show();
- }
- };
-
@Nullable
@Override
public View onCreateView(LayoutInflater inflater,
@@ -73,8 +59,6 @@
View view = inflater.inflate(R.layout.vhal, container, false);
mActivity = (KitchenSinkActivity) getHost();
mListView = view.findViewById(R.id.hal_prop_list);
- mListView.setOnItemClickListener(mOnClickListener);
-
return view;
}
@@ -103,12 +87,11 @@
.sorted()
.collect(Collectors.toList());
- mListView.setAdapter(new ArrayAdapter<HalPropertyInfo>(mActivity,
- android.R.layout.simple_list_item_1,
- supportedProperties));
+ mListView.setAdapter(new ListAdapter(mActivity, vehicle, supportedProperties));
}
private static class HalPropertyInfo implements Comparable<HalPropertyInfo> {
+
public final int id;
public final String name;
public final VehiclePropConfig config;
@@ -126,10 +109,7 @@
@Override
public boolean equals(Object other) {
- if (other instanceof HalPropertyInfo) {
- return ((HalPropertyInfo)other).id == id;
- }
- return false;
+ return other instanceof HalPropertyInfo && ((HalPropertyInfo) other).id == id;
}
@Override
@@ -141,5 +121,79 @@
public int compareTo(HalPropertyInfo halPropertyInfo) {
return name.compareTo(halPropertyInfo.name);
}
+
+ public String getValue(IVehicle vehicle) {
+ String result[] = new String[] {"<unknown>"};
+
+ try {
+ VehiclePropValue request = new VehiclePropValue();
+ // TODO: add zones support
+ request.prop = id;
+
+ // NB: this call is synchronous
+ vehicle.get(request, (status, propValue) -> {
+ if (status == StatusCode.OK) {
+ result[0] = propValue.value.toString();
+ }
+ });
+ } catch (android.os.RemoteException e) {
+ Log.e(TAG, "unable to read property " + name, e);
+ }
+
+ return result[0];
+ }
+ }
+
+ private static final class ListAdapter extends ArrayAdapter<HalPropertyInfo> {
+ private static final int RESOURCE_ID = R.layout.vhal_listitem;
+
+ // cannot use superclass' LayoutInflater as it is private
+ private final LayoutInflater mLayoutInflater;
+ private final IVehicle mVehicle;
+
+ ListAdapter(Context context, IVehicle vehicle, List<HalPropertyInfo> properties) {
+ super(context, RESOURCE_ID, properties);
+ mVehicle = vehicle;
+ mLayoutInflater = LayoutInflater.from(context);
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ final HalPropertyInfo item = getItem(position);
+
+ final LinearLayout viewLayout;
+ if (convertView != null && convertView instanceof LinearLayout) {
+ viewLayout = (LinearLayout)convertView;
+ } else {
+ // this is the value used by the superclass's view inflater
+ final boolean attachToRoot = false;
+
+ viewLayout =
+ (LinearLayout)mLayoutInflater.inflate(RESOURCE_ID, parent, attachToRoot);
+ }
+
+ TextView textString = viewLayout.findViewById(R.id.textString);
+ Button infoButton = viewLayout.findViewById(R.id.infoButton);
+ Button valueButton = viewLayout.findViewById(R.id.valueButton);
+
+ infoButton.setOnClickListener(btn -> {
+ AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
+ builder.setTitle("Configuration for " + item.name)
+ .setPositiveButton(android.R.string.yes, (x, y) -> { })
+ .setMessage(item.config.toString())
+ .show();
+ });
+
+ valueButton.setOnClickListener(btn -> {
+ AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
+ builder.setTitle("Value for " + item.name)
+ .setPositiveButton(android.R.string.yes, (x, y) -> { })
+ .setMessage(item.getValue(mVehicle))
+ .show();
+ });
+
+ textString.setText(item.toString());
+ return viewLayout;
+ }
}
}
diff --git a/tests/CarDiagnosticVerifier/Android.mk b/tests/GarageModeTestApp/Android.mk
similarity index 84%
rename from tests/CarDiagnosticVerifier/Android.mk
rename to tests/GarageModeTestApp/Android.mk
index e66c7a1..a3e60f8 100644
--- a/tests/CarDiagnosticVerifier/Android.mk
+++ b/tests/GarageModeTestApp/Android.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2017 The Android Open Source Project
+# 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.
@@ -15,18 +15,18 @@
#
LOCAL_PATH := $(call my-dir)
+
include $(CLEAR_VARS)
-LOCAL_MODULE_TAGS := optional
-
-# Only compile source java files in this apk.
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
-LOCAL_PACKAGE_NAME := CarDiagnosticVerifier
+LOCAL_PACKAGE_NAME := GarageModeTestApp
LOCAL_PRIVATE_PLATFORM_APIS := true
+LOCAL_MODULE_TAGS := optional
+
LOCAL_JAVA_VERSION := 1.8
LOCAL_PROGUARD_ENABLED := disabled
@@ -37,11 +37,14 @@
LOCAL_PRIVILEGED_MODULE := true
+LOCAL_CERTIFICATE := platform
+
LOCAL_STATIC_JAVA_LIBRARIES += vehicle-hal-support-lib
-LOCAL_STATIC_ANDROID_LIBRARIES := \
+LOCAL_STATIC_ANDROID_LIBRARIES += \
+ androidx.car_car \
androidx.legacy_legacy-support-v4 \
- androidx.recyclerview_recyclerview
+ androidx.appcompat_appcompat
LOCAL_JAVA_LIBRARIES += android.car
diff --git a/tests/GarageModeTestApp/AndroidManifest.xml b/tests/GarageModeTestApp/AndroidManifest.xml
new file mode 100644
index 0000000..b33520f
--- /dev/null
+++ b/tests/GarageModeTestApp/AndroidManifest.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.google.android.car.garagemode.testapp"
+ android:sharedUserId="android.uid.system">
+
+ <uses-sdk
+ android:minSdkVersion="24"
+ android:targetSdkVersion='25'/>
+ <uses-permission android:name="android.car.permission.CAR_DRIVING_STATE" />
+ <uses-permission android:name="android.permission.BIND_JOB_SERVICE" />
+
+ <application android:label="GarageModeTestApp">
+ <activity android:name=".MainActivity"
+ android:theme="@style/GarageModeTheme"
+ android:label="@string/app_name">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN"/>
+ <category android:name="android.intent.category.LAUNCHER"/>
+ </intent-filter>
+ <meta-data android:name="distractionOptimized" android:value="true"/>
+ </activity>
+ <service android:name=".DishService"
+ android:permission="android.permission.BIND_JOB_SERVICE">
+ </service>
+ </application>
+</manifest>
diff --git a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/volume_dialog_background.xml b/tests/GarageModeTestApp/res/drawable/border.xml
similarity index 65%
rename from car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/volume_dialog_background.xml
rename to tests/GarageModeTestApp/res/drawable/border.xml
index 345692f..de84a3c 100644
--- a/car_product/overlay/frameworks/base/packages/SystemUI/res/drawable/volume_dialog_background.xml
+++ b/tests/GarageModeTestApp/res/drawable/border.xml
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (C) 2017 The Android Open Source Project
+<!-- 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.
@@ -14,13 +13,14 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<shape xmlns:android="http://schemas.android.com/apk/res/android" >
- <solid android:color="?android:attr/colorBackgroundFloating" />
- <padding
- android:bottom="5dp"
- android:left="5dp"
- android:right="5dp"
- android:top="5dp" />
- <corners android:bottomLeftRadius="20dp"
- android:bottomRightRadius="20dp"/>
-</shape>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <corners
+ android:bottomRightRadius="5dp"
+ android:bottomLeftRadius="5dp"
+ android:topLeftRadius="5dp"
+ android:topRightRadius="5dp"/>
+ <stroke
+ android:width="2dip"
+ android:color="#212121" />
+</shape>
\ No newline at end of file
diff --git a/car-support-lib/AndroidManifest.xml b/tests/GarageModeTestApp/res/layout/activity_content.xml
similarity index 63%
copy from car-support-lib/AndroidManifest.xml
copy to tests/GarageModeTestApp/res/layout/activity_content.xml
index f92f21b..4ae4c8d 100644
--- a/car-support-lib/AndroidManifest.xml
+++ b/tests/GarageModeTestApp/res/layout/activity_content.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2015 The Android Open Source Project
+<!-- 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.
@@ -13,10 +13,9 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
- package="android.support.car.ui" >
- <uses-sdk android:minSdkVersion="21"
- android:targetSdkVersion="23" />
-</manifest>
+<!-- We use this container to place app fragments. It insets the fragment contents -->
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/activity_content"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+</FrameLayout>
\ No newline at end of file
diff --git a/tests/GarageModeTestApp/res/layout/job_info_row.xml b/tests/GarageModeTestApp/res/layout/job_info_row.xml
new file mode 100644
index 0000000..92c633b
--- /dev/null
+++ b/tests/GarageModeTestApp/res/layout/job_info_row.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+ <TextView
+ android:id="@+id/jobId"
+ android:layout_height="match_parent"
+ android:layout_width="wrap_content"
+ android:layout_margin="5dp"
+ android:gravity="center_vertical"/>
+ <LinearLayout
+ android:layout_height="match_parent"
+ android:layout_width="wrap_content"
+ android:orientation="vertical">
+ <TextView
+ style="@style/ListEntryField"
+ android:id="@+id/requiredNetwork"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"/>
+ <TextView
+ style="@style/ListEntryField"
+ android:id="@+id/isPeriodic"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"/>
+ </LinearLayout>
+ <LinearLayout
+ android:layout_height="match_parent"
+ android:layout_width="wrap_content"
+ android:orientation="vertical">
+ <TextView
+ style="@style/ListEntryField"
+ android:id="@+id/isPersisted"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"/>
+ <TextView
+ style="@style/ListEntryField"
+ android:id="@+id/isPrefetch"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"/>
+ </LinearLayout>
+ <LinearLayout
+ android:layout_height="match_parent"
+ android:layout_width="wrap_content"
+ android:orientation="vertical">
+ <TextView
+ style="@style/ListEntryField"
+ android:id="@+id/isRequireBatteryNotLow"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"/>
+ <TextView
+ style="@style/ListEntryField"
+ android:id="@+id/isRequireCharging"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"/>
+ </LinearLayout>
+ <LinearLayout
+ android:layout_height="match_parent"
+ android:layout_width="wrap_content"
+ android:orientation="vertical">
+ <TextView
+ style="@style/ListEntryField"
+ android:id="@+id/isRequireDeviceIdle"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"/>
+ <TextView
+ style="@style/ListEntryField"
+ android:id="@+id/isRequireStorageNotLow"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"/>
+ </LinearLayout>
+</LinearLayout>
diff --git a/tests/GarageModeTestApp/res/layout/offcar_testing.xml b/tests/GarageModeTestApp/res/layout/offcar_testing.xml
new file mode 100644
index 0000000..c14aa07
--- /dev/null
+++ b/tests/GarageModeTestApp/res/layout/offcar_testing.xml
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:weightSum="2">
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:orientation="vertical">
+ <LinearLayout
+ style="@style/SectionContainer"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+ <TextView
+ style="@style/SectionHeader"
+ android:text="@string/section_header_garage_mode_config"/>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:weightSum="2">
+ <Button
+ style="@style/Button"
+ android:id="@+id/enterGarageModeBtn"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:text="@string/button_enter_garage_mode"/>
+ <Button
+ style="@style/Button"
+ android:id="@+id/exitGarageModeBtn"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:text="@string/button_exit_garage_mode"/>
+ </LinearLayout>
+ </LinearLayout>
+ <LinearLayout
+ style="@style/SectionContainer"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+ <TextView
+ style="@style/SectionHeader"
+ android:text="@string/section_header_watchdog"/>
+ <ScrollView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:fillViewport="true">
+ <TextView
+ android:id="@+id/garageModeWatchdog"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textSize="18sp"
+ android:text="@string/no_results"/>
+ </ScrollView>
+ </LinearLayout>
+ </LinearLayout>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:orientation="vertical">
+ <LinearLayout
+ style="@style/SectionContainer"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:weightSum="5">
+ <TextView
+ style="@style/SectionHeader"
+ android:layout_weight="1"
+ android:text="@string/section_header_job_configuration"/>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1">
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1">
+ <TextView
+ style="@style/SpinnerLabel"
+ android:text="@string/spinner_label_network_type"/>
+ <LinearLayout
+ style="@style/SectionContainer"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent">
+ <Spinner
+ style="@style/Spinner"
+ android:id="@+id/networkType"/>
+ </LinearLayout>
+ </LinearLayout>
+ <CheckBox
+ style="@style/Checkbox"
+ android:id="@+id/requirePersistedCheckbox"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:text="@string/checkbox_require_persisted"/>
+ </LinearLayout>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:weightSum="2">
+ <CheckBox
+ style="@style/Checkbox"
+ android:id="@+id/requireIdlenessCheckbox"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:text="@string/checkbox_require_idleness"/>
+ <CheckBox
+ style="@style/Checkbox"
+ android:id="@+id/requireChargingCheckbox"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:text="@string/checkbox_require_charging"/>
+ </LinearLayout>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:orientation="horizontal">
+ <TextView
+ style="@style/SpinnerLabel"
+ android:text="@string/spinner_label_job_duration"/>
+ <LinearLayout
+ style="@style/SectionContainer"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent">
+ <Spinner
+ style="@style/Spinner"
+ android:id="@+id/jobDuration"/>
+ </LinearLayout>
+ </LinearLayout>
+ <Button
+ style="@style/Button"
+ android:id="@+id/addJobBtn"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:text="@string/button_schedule_job"
+ android:layout_weight="1"/>
+ </LinearLayout>
+ <LinearLayout
+ style="@style/SectionContainer"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+ <TextView
+ style="@style/SectionHeader"
+ android:text="@string/section_header_jobs_list"/>
+ <ListView
+ android:id="@+id/jobsListView"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentTop="true"
+ android:focusable="false"/>
+ </LinearLayout>
+ </LinearLayout>
+</LinearLayout>
\ No newline at end of file
diff --git a/tests/CarDiagnosticVerifier/res/values/strings.xml b/tests/GarageModeTestApp/res/values/colors.xml
similarity index 69%
copy from tests/CarDiagnosticVerifier/res/values/strings.xml
copy to tests/GarageModeTestApp/res/values/colors.xml
index ca6b33a..a962308 100644
--- a/tests/CarDiagnosticVerifier/res/values/strings.xml
+++ b/tests/GarageModeTestApp/res/values/colors.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 The Android Open Source Project
+<!-- 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.
@@ -14,7 +14,7 @@
limitations under the License.
-->
<resources>
- <string name="status_receiving">Receiving car diagnostic events...</string>
- <string name="status_verifying">Verifying car diagnostic events...</string>
- <string name="status_done">Done with verification</string>
+ <color name="colorPrimary">#3F51B5</color>
+ <color name="colorPrimaryDark">#303F9F</color>
+ <color name="colorAccent">#FF4081</color>
</resources>
diff --git a/tests/GarageModeTestApp/res/values/strings.xml b/tests/GarageModeTestApp/res/values/strings.xml
new file mode 100644
index 0000000..7ad5d70
--- /dev/null
+++ b/tests/GarageModeTestApp/res/values/strings.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_name">GarageMode Test App</string>
+
+ <string name="button_schedule_job">Schedule Job</string>
+ <string name="button_job_info">Job Info</string>
+ <string name="button_enter_garage_mode">Enter GarageMode</string>
+ <string name="button_exit_garage_mode">Exit GarageMode</string>
+
+ <string name="checkbox_require_persisted">Persisted?</string>
+ <string name="checkbox_require_idleness">Require idleness?</string>
+ <string name="checkbox_require_charging">Require charging?</string>
+
+ <string name="no_results">No Results</string>
+
+ <string name="section_header_garage_mode_config">GarageMode Settings</string>
+ <string name="section_header_job_configuration">Job Configuration</string>
+ <string name="section_header_jobs_list">Scheduled Jobs</string>
+ <string name="section_header_watchdog">Watchdog</string>
+
+ <string name="spinner_label_garage_mode_duration">GarageMode max duration:</string>
+ <string name="spinner_label_job_duration">Job duration:</string>
+ <string name="spinner_label_network_type">Network type:</string>
+
+ <string-array name="network_types_list">
+ <item>ANY</item>
+ <item>NONE</item>
+ <item>UNMETERED</item>
+ </string-array>
+
+ <string-array name="duration_list">
+ <item>1 second</item>
+ <item>5 seconds</item>
+ <item>10 seconds</item>
+ <item>30 seconds</item>
+ <item>1 minute</item>
+ <item>5 minutes</item>
+ <item>1 hour</item>
+ </string-array>
+</resources>
diff --git a/tests/GarageModeTestApp/res/values/styles.xml b/tests/GarageModeTestApp/res/values/styles.xml
new file mode 100644
index 0000000..92cb1c5
--- /dev/null
+++ b/tests/GarageModeTestApp/res/values/styles.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<resources>
+ <style name="GarageModeTheme" parent="Theme.Car.Light.NoActionBar.Drawer">
+ <item name="android:textSize">24sp</item>
+ </style>
+ <style name="SectionContainer">
+ <!-- Customize your theme here. -->
+ <item name="android:background">@drawable/border</item>
+ <item name="android:padding">3dp</item>
+ <item name="android:layout_margin">5dp</item>
+ </style>
+ <style name="Button">
+ <item name="android:layout_margin">5dp</item>
+ </style>
+ <style name="Checkbox">
+ <item name="android:background">@drawable/border</item>
+ </style>
+ <style name="SpinnerLabel">
+ <item name="android:layout_width">wrap_content</item>
+ <item name="android:textStyle">bold</item>
+ <item name="android:gravity">center_vertical|end</item>
+ <item name="android:layout_height">match_parent</item>
+ </style>
+ <style name="Spinner">
+ <item name="android:layout_width">wrap_content</item>
+ <item name="android:layout_height">match_parent</item>
+ </style>
+ <style name="SectionHeader">
+ <item name="android:layout_width">match_parent</item>
+ <item name="android:layout_height">wrap_content</item>
+ <item name="android:textStyle">bold</item>
+ <item name="android:textSize">26sp</item>
+ <item name="android:layout_marginBottom">5dp</item>
+ <item name="android:gravity">center</item>
+ </style>
+ <style name="ListEntryField">
+ <item name="android:background">@drawable/border</item>
+ <item name="android:textSize">18sp</item>
+ <item name="android:scrollHorizontally">false</item>
+ <item name="android:layout_margin">5dp</item>
+ <item name="android:padding">3dp</item>
+ </style>
+</resources>
\ No newline at end of file
diff --git a/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/CarIdlenessTrackerWrapper.java b/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/CarIdlenessTrackerWrapper.java
new file mode 100644
index 0000000..82a97e0
--- /dev/null
+++ b/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/CarIdlenessTrackerWrapper.java
@@ -0,0 +1,48 @@
+/*
+ * 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 com.google.android.car.garagemode.testapp;
+
+import android.content.Context;
+import android.content.Intent;
+
+/**
+ * Class that works with com.android.server.job.controller.idle.CarDeviceIdlenessTracker
+ */
+public class CarIdlenessTrackerWrapper {
+ public static final Logger LOG = new Logger("CarIdlenessTrackerWrapper");
+
+ public static final String ACTION_GARAGE_MODE_ON =
+ "com.android.server.jobscheduler.GARAGE_MODE_ON";
+ public static final String ACTION_GARAGE_MODE_OFF =
+ "com.android.server.jobscheduler.GARAGE_MODE_OFF";
+
+ public static final String ACTION_FORCE_IDLE = "com.android.server.jobscheduler.FORCE_IDLE";
+ public static final String ACTION_UNFORCE_IDLE = "com.android.server.jobscheduler.UNFORCE_IDLE";
+
+ public static void sendBroadcastToEnterGarageMode(Context context) {
+ Intent i = new Intent();
+ i.setAction(ACTION_GARAGE_MODE_ON);
+ i.setFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY | Intent.FLAG_RECEIVER_NO_ABORT);
+ context.sendBroadcast(i);
+ }
+
+ public static void sendBroadcastToExitGarageMode(Context context) {
+ Intent i = new Intent();
+ i.setAction(ACTION_GARAGE_MODE_OFF);
+ i.setFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY | Intent.FLAG_RECEIVER_NO_ABORT);
+ context.sendBroadcast(i);
+ }
+}
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/job/DishService.java b/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/DishService.java
similarity index 76%
rename from tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/job/DishService.java
rename to tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/DishService.java
index c2758a8..5a87771 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/job/DishService.java
+++ b/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/DishService.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015 The Android Open Source Project
+ * 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.
@@ -13,20 +13,19 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.google.android.car.kitchensink.job;
+package com.google.android.car.garagemode.testapp;
import android.app.job.JobParameters;
import android.app.job.JobService;
import android.os.AsyncTask;
import android.os.Handler;
import android.os.Message;
-import android.util.Log;
import android.util.SparseArray;
import java.lang.ref.WeakReference;
public class DishService extends JobService {
- private static final String TAG = "JobScheduler_DishService";
+ private static final Logger LOG = new Logger("JobScheduler_DishService");
private static final int DELAY_MS = 1000; // wash a plate every second!
private static final int MSG_FINISHED = 0;
@@ -36,13 +35,13 @@
public static final String EXTRA_DISH_COUNT = "dish_count";
private final Handler mHandler = new Handler() {
- private SparseArray<JobParameters> mTaskMap = new SparseArray<JobParameters>();
+ private SparseArray<JobParameters> mTaskMap = new SparseArray<>();
@Override
public void handleMessage(Message msg) {
JobParameters job = (JobParameters) msg.obj;
switch (msg.what) {
case MSG_FINISHED:
- Log.d(TAG, "Job done! " + job.getJobId());
+ LOG.d("Job done! " + job.getJobId());
mTaskMap.remove(job.getJobId());
jobFinished(job, false);
break;
@@ -55,19 +54,19 @@
JobParameters job1 = mTaskMap.get(job.getJobId());
if (job1 != null) {
removeMessages(MSG_RUN_JOB, job1);
- Log.d(TAG, "cancelled job " + job1);
+ LOG.d("cancelled job " + job1);
mTaskMap.remove(job.getJobId());
}
break;
default:
- Log.w(TAG, "Unknown message " + msg.what);
+ LOG.w("Unknown message " + msg.what);
}
}
};
@Override
public boolean onStopJob(JobParameters jobParameters) {
- Log.d(TAG, "onStopJob " + jobParameters);
+ LOG.d("onStopJob " + jobParameters);
Message msg = mHandler.obtainMessage(MSG_CANCEL_JOB, 0, 0, jobParameters);
mHandler.sendMessage(msg);
return false;
@@ -75,7 +74,7 @@
@Override
public boolean onStartJob(final JobParameters jobParameters) {
- Log.d(TAG, "onStartJob " + jobParameters);
+ LOG.d("onStartJob " + jobParameters);
Message msg = mHandler.obtainMessage(MSG_RUN_JOB, 0, 0, jobParameters);
mHandler.sendMessage(msg);
return true;
@@ -87,7 +86,7 @@
private final int mMyDishNum;
- public DishWasherTask(Handler handler, JobParameters jobParameters, int dishNum) {
+ DishWasherTask(Handler handler, JobParameters jobParameters, int dishNum) {
mHandler = new WeakReference<Handler>(handler);
mJobParameter = jobParameters;
mMyDishNum = dishNum;
@@ -97,7 +96,7 @@
protected Boolean doInBackground(Void... infos) {
int dishTotal = mJobParameter.getExtras().getInt(EXTRA_DISH_COUNT);
- Log.d(TAG, "jobId: " + mJobParameter.getJobId() + " totalDish: " + dishTotal
+ LOG.d("jobId: " + mJobParameter.getJobId() + " totalDish: " + dishTotal
+ " washing: #" + mMyDishNum);
wash();
if (mMyDishNum >= dishTotal - 1) {
@@ -109,17 +108,16 @@
@Override
protected void onPostExecute(Boolean result) {
- if (mHandler.get() == null) {
+ final Handler handler = mHandler.get();
+ if (handler == null) {
return;
}
if (result) {
- Message msg = mHandler.get().obtainMessage(MSG_RUN_JOB,
- mMyDishNum +1, 0, mJobParameter);
- mHandler.get().sendMessageDelayed(msg, DELAY_MS);
+ Message msg = handler.obtainMessage(MSG_RUN_JOB, mMyDishNum + 1, 0, mJobParameter);
+ handler.sendMessageDelayed(msg, DELAY_MS);
} else {
- Message msg = mHandler.get().obtainMessage(MSG_FINISHED, 0,
- 0, mJobParameter);
- mHandler.get().sendMessage(msg);
+ Message msg = handler.obtainMessage(MSG_FINISHED, 0, 0, mJobParameter);
+ handler.sendMessage(msg);
}
}
diff --git a/car-support-lib/src/android/support/car/CarManagerBase.java b/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/IncarTestingFragment.java
similarity index 73%
rename from car-support-lib/src/android/support/car/CarManagerBase.java
rename to tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/IncarTestingFragment.java
index 79a28f8..22b460e 100644
--- a/car-support-lib/src/android/support/car/CarManagerBase.java
+++ b/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/IncarTestingFragment.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015 The Android Open Source Project
+ * 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.
@@ -13,13 +13,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+package com.google.android.car.garagemode.testapp;
-package android.support.car;
+import androidx.fragment.app.Fragment;
-/**
- * Common interface for Car*Manager
- * @hide
- */
-public interface CarManagerBase {
- void onCarDisconnected();
+public class IncarTestingFragment extends Fragment {
+
}
diff --git a/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/JobInfoRowArrayAdapter.java b/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/JobInfoRowArrayAdapter.java
new file mode 100644
index 0000000..0e26fe7
--- /dev/null
+++ b/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/JobInfoRowArrayAdapter.java
@@ -0,0 +1,152 @@
+/*
+ * 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 com.google.android.car.garagemode.testapp;
+
+import static android.graphics.Typeface.BOLD;
+import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_METERED;
+import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING;
+import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR;
+
+import android.app.job.JobInfo;
+import android.content.Context;
+import android.graphics.Color;
+import android.net.NetworkRequest;
+import android.text.Spannable;
+import android.text.SpannableStringBuilder;
+import android.text.style.ForegroundColorSpan;
+import android.text.style.StyleSpan;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ArrayAdapter;
+import android.widget.TextView;
+
+import java.util.List;
+
+public class JobInfoRowArrayAdapter extends ArrayAdapter<JobInfo> {
+ public static final Logger LOG = new Logger("JobInfoRowArrayAdapter");
+ private class ViewHolder {
+ TextView mJobIDView;
+
+ TextView mRequiredNetworkView;
+ TextView mIsPeriodicView;
+ TextView mIsPersistedView;
+ TextView mIsPrefetchView;
+
+ TextView mIsRequireBatteryNotLowView;
+ TextView mIsRequireChargingView;
+ TextView mIsRequireDeviceIdleView;
+ TextView mIsRequireStorageNotLowView;
+
+ JobInfo mInfo;
+ }
+ private LayoutInflater mInflater;
+
+ public JobInfoRowArrayAdapter(Context context, int resource, List<JobInfo> objects) {
+ super(context, resource, objects);
+ mInflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ View row = convertView;
+ final JobInfo info = getItem(position);
+
+ ViewHolder holder;
+
+ if (row == null) {
+ row = mInflater.inflate(R.layout.job_info_row, parent, false);
+
+ holder = new ViewHolder();
+ holder.mJobIDView = row.findViewById(R.id.jobId);
+
+ holder.mRequiredNetworkView = row.findViewById(R.id.requiredNetwork);
+ holder.mIsPeriodicView = row.findViewById(R.id.isPeriodic);
+ holder.mIsPersistedView = row.findViewById(R.id.isPersisted);
+ holder.mIsPrefetchView = row.findViewById(R.id.isPrefetch);
+
+ holder.mIsRequireBatteryNotLowView = row.findViewById(R.id.isRequireBatteryNotLow);
+ holder.mIsRequireChargingView = row.findViewById(R.id.isRequireCharging);
+ holder.mIsRequireDeviceIdleView = row.findViewById(R.id.isRequireDeviceIdle);
+ holder.mIsRequireStorageNotLowView = row.findViewById(R.id.isRequireStorageNotLow);
+
+ holder.mInfo = info;
+
+ row.setTag(holder);
+ } else {
+ holder = (ViewHolder) row.getTag();
+ holder.mInfo = info;
+ }
+
+ holder.mJobIDView.setText("ID: " + info.getId());
+
+ setNetworkColoredText(holder.mRequiredNetworkView, "Network", info.getRequiredNetwork());
+
+ setColoredText(holder.mIsPeriodicView, "Periodic", info.isPeriodic());
+ setColoredText(holder.mIsPersistedView, "Persisted", info.isPersisted());
+ setColoredText(holder.mIsPrefetchView, "Prefetch", info.isPrefetch());
+
+ setColoredText(
+ holder.mIsRequireBatteryNotLowView,
+ "BatteryNotLow",
+ info.isRequireBatteryNotLow());
+ setColoredText(holder.mIsRequireChargingView, "Charging", info.isRequireCharging());
+ setColoredText(holder.mIsRequireDeviceIdleView, "DeviceIdle", info.isRequireDeviceIdle());
+ setColoredText(
+ holder.mIsRequireStorageNotLowView,
+ "StorageNotLow",
+ info.isRequireStorageNotLow());
+
+ return row;
+ }
+
+ private void setColoredText(TextView view, String label, boolean condition) {
+ SpannableStringBuilder sb;
+ String value = (condition ? "Yes" : "No");
+ int color = (condition ? Color.GREEN : Color.RED);
+ sb = new SpannableStringBuilder(label + ": " + value);
+ applyColorAndBoldness(
+ sb, color, label.length() + 2, label.length() + 2 + value.length());
+ view.setText(sb);
+ }
+
+ private void setNetworkColoredText(TextView view, String label, NetworkRequest networkReq) {
+ String networkType = getNetworkType(networkReq);
+ SpannableStringBuilder sb = new SpannableStringBuilder(label + ": " + networkType);
+ applyColorAndBoldness(
+ sb, Color.GREEN, label.length() + 2, label.length() + 2 + networkType.length());
+ view.setText(sb);
+ }
+
+ private void applyColorAndBoldness(SpannableStringBuilder sb, int color, int start, int end) {
+ sb.setSpan(new ForegroundColorSpan(color), start, end, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
+ sb.setSpan(new StyleSpan(BOLD), start, end, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
+ }
+
+ private String getNetworkType(NetworkRequest networkRequest) {
+ if (networkRequest == null) {
+ return "None";
+ } else if (networkRequest.networkCapabilities.hasCapability(NET_CAPABILITY_NOT_METERED)) {
+ return "Unmetered";
+ } else if (networkRequest.networkCapabilities.hasCapability(NET_CAPABILITY_NOT_ROAMING)) {
+ return "Not roaming";
+ } else if (networkRequest.networkCapabilities.hasTransport(TRANSPORT_CELLULAR)) {
+ return "Cellular";
+ } else {
+ return "Any";
+ }
+ }
+}
diff --git a/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/JobSchedulerWrapper.java b/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/JobSchedulerWrapper.java
new file mode 100644
index 0000000..a2d1edd
--- /dev/null
+++ b/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/JobSchedulerWrapper.java
@@ -0,0 +1,242 @@
+/*
+ * 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 com.google.android.car.garagemode.testapp;
+
+import android.app.job.JobInfo;
+import android.app.job.JobScheduler;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.os.Handler;
+import android.os.PersistableBundle;
+import android.widget.ListView;
+import android.widget.Toast;
+
+import java.util.LinkedList;
+import java.util.List;
+
+class JobSchedulerWrapper {
+ private static final Logger LOG = new Logger("JobSchedulerWrapper");
+ private static final boolean DEBUG = false;
+
+ private static final String ANDROID_COMPONENT_PREFIX = "android/com.android.";
+ private static final String ANDROID_SETTINGS_PREFIX =
+ "com.android.settings/com.android.settings.";
+
+ private static final String PREFS_FILE_NAME = "garage_mode_job_scheduler";
+ private static final String PREFS_NEXT_JOB_ID = "next_job_id";
+
+ private JobScheduler mJobScheduler;
+ private Context mContext;
+ private ListView mListView;
+ private Handler mHandler;
+ private Watchdog mWatchdog;
+ private Runnable mRefreshWorker;
+
+ private List<JobInfo> mLastJobsList;
+ private List<JobInfo> mNewJobs;
+ private List<JobInfo> mCompletedJobs;
+ private JobInfoRowArrayAdapter mJobsListAdapter;
+
+ JobSchedulerWrapper(Context context, ListView listView) {
+ mContext = context;
+ mJobScheduler = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
+ mListView = listView;
+
+ mLastJobsList = new LinkedList<>();
+ mNewJobs = new LinkedList<>();
+ mCompletedJobs = new LinkedList<>();
+ mJobsListAdapter = new JobInfoRowArrayAdapter(mContext, mListView.getId(), mLastJobsList);
+ mListView.setAdapter(mJobsListAdapter);
+
+ updateJobs();
+ if (DEBUG) {
+ printJobsOnce(mJobScheduler.getAllPendingJobs());
+ }
+ }
+
+ public void setWatchdog(Watchdog watchdog) {
+ mWatchdog = watchdog;
+ }
+
+ public synchronized void refresh() {
+ updateJobs();
+
+ reportNewJobs();
+ reportCompletedJobs();
+
+ if (mNewJobs.size() > 0 || mCompletedJobs.size() > 0) {
+ updateListView();
+ }
+ }
+
+ public void start() {
+ LOG.d("Starting JobSchedulerWrapper");
+ mHandler = new Handler();
+ mRefreshWorker = () -> {
+ refresh();
+ mHandler.postDelayed(mRefreshWorker, 1000);
+ };
+ mHandler.postDelayed(mRefreshWorker, 1000);
+ }
+
+ public void stop() {
+ LOG.d("Stopping JobSchedulerWrapper");
+ mHandler.removeCallbacks(mRefreshWorker);
+ mRefreshWorker = null;
+ mHandler = null;
+ mWatchdog = null;
+ }
+
+ public void scheduleAJob(
+ int amountOfSeconds,
+ int networkType,
+ boolean isChargingRequired,
+ boolean isIdleRequired) {
+ ComponentName jobComponentName = new ComponentName(mContext, DishService.class);
+ SharedPreferences prefs = mContext
+ .getSharedPreferences(PREFS_FILE_NAME, Context.MODE_PRIVATE);
+ int jobId = prefs.getInt(PREFS_NEXT_JOB_ID, 0);
+ PersistableBundle bundle = new PersistableBundle();
+
+ bundle.putInt(DishService.EXTRA_DISH_COUNT, amountOfSeconds);
+
+ while (checkIdForExistence(jobId)) {
+ jobId++;
+ }
+
+ JobInfo jobInfo = new JobInfo.Builder(jobId, jobComponentName)
+ .setRequiresCharging(isChargingRequired)
+ .setRequiresDeviceIdle(isIdleRequired)
+ .setExtras(bundle)
+ .setRequiredNetworkType(networkType)
+ .build();
+
+ mJobScheduler.schedule(jobInfo);
+ Toast.makeText(
+ mContext,
+ "Scheduled new job with id: " + jobInfo.getId(), Toast.LENGTH_LONG).show();
+
+ LOG.d("Scheduled a job: " + jobInfo);
+ SharedPreferences.Editor editor = prefs.edit();
+ editor.putInt(PREFS_NEXT_JOB_ID, jobId + 1);
+ editor.commit();
+
+ refresh();
+ }
+
+ private void updateListView() {
+ int index = mListView.getFirstVisiblePosition();
+ mJobsListAdapter.notifyDataSetChanged();
+ mListView.smoothScrollToPosition(index);
+ }
+
+ private boolean checkIdForExistence(int jobId) {
+ for (JobInfo job : mJobScheduler.getAllPendingJobs()) {
+ if (job.getId() == jobId) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private void printJobsOnce(List<JobInfo> list) {
+ LOG.d("=========================================================");
+ for (JobInfo job : list) {
+ LOG.d("Job(" + job.getId() + ") will run " + job.getService());
+ }
+ }
+
+ private void reportNewJobs() {
+ for (JobInfo job : mNewJobs) {
+ if (mWatchdog != null) {
+ mWatchdog.logEvent("New job with id(" + job.getId() + ") has been scheduled");
+ }
+ }
+ }
+
+ private void reportCompletedJobs() {
+ for (JobInfo job : mCompletedJobs) {
+ if (mWatchdog != null) {
+ mWatchdog.logEvent("Job with id(" + job.getId() + ") has been completed.");
+ }
+ }
+ }
+
+ private synchronized void updateJobs() {
+ List<JobInfo> currentJobs = mJobScheduler.getAllPendingJobs();
+
+ if (DEBUG) {
+ printJobsOnce(currentJobs);
+ printJobsOnce(mLastJobsList);
+ }
+
+ removeSystemJobsFromList(currentJobs);
+
+ mNewJobs = newJobsSince(mLastJobsList, currentJobs);
+ mCompletedJobs = completedJobsSince(mLastJobsList, currentJobs);
+
+ for (JobInfo job : mNewJobs) {
+ mLastJobsList.add(job);
+ }
+
+ for (JobInfo job : mCompletedJobs) {
+ mLastJobsList.remove(job);
+ }
+ }
+
+ private synchronized List<JobInfo> newJobsSince(List<JobInfo> oldList, List<JobInfo> newList) {
+ return findDiffBetween(newList, oldList);
+ }
+
+ private synchronized List<JobInfo> completedJobsSince(
+ List<JobInfo> oldList, List<JobInfo> newList) {
+ return findDiffBetween(oldList, newList);
+ }
+
+ private synchronized List<JobInfo> findDiffBetween(
+ List<JobInfo> fromList, List<JobInfo> toList) {
+ List<JobInfo> diffList = new LinkedList<>();
+ for (JobInfo fromJob : fromList) {
+ if (!toList.contains(fromJob)) {
+ diffList.add(fromJob);
+ }
+ }
+ return diffList;
+ }
+
+ private synchronized void removeSystemJobsFromList(List<JobInfo> list) {
+ List<JobInfo> jobsToRemove = new LinkedList<>();
+ for (JobInfo job : list) {
+ if (isSystemService(job)) {
+ jobsToRemove.add(job);
+ }
+ }
+ for (JobInfo job : jobsToRemove) {
+ list.remove(job);
+ }
+ }
+
+ private boolean isSystemService(JobInfo job) {
+ if (job.getService().toString().contains(ANDROID_COMPONENT_PREFIX)) {
+ return true;
+ }
+ if (job.getService().toString().contains(ANDROID_SETTINGS_PREFIX)) {
+ return true;
+ }
+ return false;
+ }
+}
diff --git a/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/Logger.java b/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/Logger.java
new file mode 100644
index 0000000..192eec3
--- /dev/null
+++ b/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/Logger.java
@@ -0,0 +1,92 @@
+/*
+ * 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 com.google.android.car.garagemode.testapp;
+
+import android.util.Log;
+
+class Logger {
+ private final String mTag;
+ private final String mPrefix;
+
+ Logger(String prefix) {
+ mTag = "GarageModeTestApp";
+ mPrefix = prefix;
+ }
+
+ /** Passing message further to Log.v() */
+ public void v(String msg) {
+ Log.v(mTag, buildMessage(msg));
+ }
+
+ /** Passing message further to Log.v() */
+ public void v(String msg, Exception ex) {
+ Log.v(mTag, buildMessage(msg), ex);
+ }
+
+ /** Passing message further to Log.i() */
+ public void i(String msg) {
+ Log.i(mTag, buildMessage(msg));
+ }
+
+ /** Passing message further to Log.i() */
+ public void i(String msg, Exception ex) {
+ Log.i(mTag, buildMessage(msg), ex);
+ }
+
+ /** Passing message further to Log.d() */
+ public void d(String msg) {
+ Log.d(mTag, buildMessage(msg));
+ }
+
+ /** Passing message further to Log.d() */
+ public void d(String msg, Exception ex) {
+ Log.d(mTag, buildMessage(msg), ex);
+ }
+
+ /** Passing message further to Log.w() */
+ public void w(String msg, Exception ex) {
+ Log.w(mTag, buildMessage(msg), ex);
+ }
+
+ /** Passing message further to Log.w() */
+ public void w(String msg) {
+ Log.w(mTag, buildMessage(msg));
+ }
+
+ /** Passing message further to Log.e() */
+ public void e(String msg) {
+ Log.e(mTag, buildMessage(msg));
+ }
+
+ /** Passing message further to Log.e() */
+ public void e(String msg, Exception ex) {
+ Log.e(mTag, buildMessage(msg), ex);
+ }
+
+ /** Passing message further to Log.e() */
+ public void wtf(String msg) {
+ Log.wtf(mTag, buildMessage(msg));
+ }
+
+ /** Passing message further to Log.e() */
+ public void wtf(String msg, Exception ex) {
+ Log.wtf(mTag, buildMessage(msg), ex);
+ }
+
+ private String buildMessage(String msg) {
+ return String.format("[%s]: %s", mPrefix, msg);
+ }
+}
diff --git a/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/MainActivity.java b/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/MainActivity.java
new file mode 100644
index 0000000..55b7c03
--- /dev/null
+++ b/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/MainActivity.java
@@ -0,0 +1,162 @@
+/*
+ * 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 com.google.android.car.garagemode.testapp;
+
+import android.os.Bundle;
+
+import androidx.car.drawer.CarDrawerActivity;
+import androidx.car.drawer.CarDrawerAdapter;
+import androidx.car.drawer.DrawerItemViewHolder;
+import androidx.fragment.app.Fragment;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class MainActivity extends CarDrawerActivity {
+ private static final Logger LOG = new Logger("MainActivity");
+
+ private final List<MenuEntry> mMenuEntries = new ArrayList<MenuEntry>() {
+ {
+ add("Offcar testing", OffcarTestingFragment.class);
+ add("Incar testing", IncarTestingFragment.class);
+ add("Quit", MainActivity.this::finish);
+ }
+
+ <T extends Fragment> void add(String text, Class<T> clazz) {
+ add(new FragmentMenuEntry(text, clazz));
+ }
+
+ void add(String text, ClickHandler onClick) {
+ add(new OnClickMenuEntry(text, onClick));
+ }
+ };
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setMainContent(R.layout.activity_content);
+ mMenuEntries.get(0).onClick();
+ getDrawerController().setRootAdapter(new DrawerAdapter());
+ }
+
+ private interface ClickHandler {
+ void onClick();
+ }
+
+ private abstract static class MenuEntry implements ClickHandler {
+ abstract String getText();
+ }
+
+ private final class OnClickMenuEntry extends MenuEntry {
+ private final String mText;
+ private final ClickHandler mClickHandler;
+
+ OnClickMenuEntry(String text, ClickHandler clickHandler) {
+ mText = text;
+ mClickHandler = clickHandler;
+ }
+
+ @Override
+ String getText() {
+ return mText;
+ }
+
+ @Override
+ public void onClick() {
+ mClickHandler.onClick();
+ }
+ }
+
+ private final class FragmentMenuEntry<T extends Fragment> extends MenuEntry {
+ private final class FragmentClassOrInstance<T extends Fragment> {
+ final Class<T> mClazz;
+ T mFragment = null;
+
+ FragmentClassOrInstance(Class<T> clazz) {
+ mClazz = clazz;
+ }
+
+ T getFragment() {
+ if (mFragment == null) {
+ try {
+ mFragment = mClazz.newInstance();
+ } catch (InstantiationException | IllegalAccessException e) {
+ LOG.e("unable to create fragment", e);
+ }
+ }
+ return mFragment;
+ }
+ }
+
+ private final String mText;
+ private final FragmentClassOrInstance<T> mFragment;
+
+ FragmentMenuEntry(String text, Class<T> clazz) {
+ mText = text;
+ mFragment = new FragmentClassOrInstance<>(clazz);
+ }
+
+ @Override
+ String getText() {
+ return mText;
+ }
+
+ @Override
+ public void onClick() {
+ Fragment fragment = mFragment.getFragment();
+ if (fragment != null) {
+ MainActivity.this.showFragment(fragment);
+ } else {
+ LOG.e("cannot show fragment for " + getText());
+ }
+ }
+ }
+
+ private void showFragment(Fragment fragment) {
+ getSupportFragmentManager().beginTransaction()
+ .replace(R.id.activity_content, fragment)
+ .commit();
+ }
+
+ private final class DrawerAdapter extends CarDrawerAdapter {
+ DrawerAdapter() {
+ super(MainActivity.this, true /* showDisabledOnListOnEmpty */);
+ setTitle(getString(R.string.app_name));
+ }
+
+ @Override
+ protected int getActualItemCount() {
+ return mMenuEntries.size();
+ }
+
+ @Override
+ protected void populateViewHolder(DrawerItemViewHolder holder, int position) {
+ holder.getTitleView().setText(mMenuEntries.get(position).getText());
+ holder.itemView.setOnClickListener(v -> onItemClick(holder.getAdapterPosition()));
+ }
+
+ private void onItemClick(int position) {
+ if ((position < 0) || (position >= mMenuEntries.size())) {
+ LOG.wtf("Unknown menu item: " + position);
+ return;
+ }
+
+ mMenuEntries.get(position).onClick();
+
+ getDrawerController().closeDrawer();
+ }
+ }
+}
diff --git a/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/OffcarTestingFragment.java b/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/OffcarTestingFragment.java
new file mode 100644
index 0000000..6d7a8ce
--- /dev/null
+++ b/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/OffcarTestingFragment.java
@@ -0,0 +1,219 @@
+/*
+ * 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 com.google.android.car.garagemode.testapp;
+
+import android.app.job.JobInfo;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AdapterView;
+import android.widget.ArrayAdapter;
+import android.widget.Button;
+import android.widget.CheckBox;
+import android.widget.ListView;
+import android.widget.Spinner;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+
+public class OffcarTestingFragment extends Fragment implements AdapterView.OnItemSelectedListener {
+ private static final Logger LOG = new Logger("OffcarTestingFragment");
+
+ private String mNetworkRequirement;
+ private int mJobDurationSelected;
+
+ private CheckBox mRequirePersisted;
+ private CheckBox mRequireIdleness;
+ private CheckBox mRequireCharging;
+
+ private Spinner mJobDurationSpinner;
+ private Spinner mNetworkTypeSpinner;
+
+ private TextView mWatchdogTextView;
+ private ListView mJobsListView;
+
+ private Button mEnterGarageModeBtn;
+ private Button mExitGarageModeBtn;
+ private Button mAddJobBtn;
+
+ private Watchdog mWatchdog;
+ private JobSchedulerWrapper mJobSchedulerWrapper;
+
+ @Nullable
+ @Override
+ public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
+ @Nullable Bundle savedInstanceState) {
+ View v = inflater.inflate(R.layout.offcar_testing, container, false);
+
+ defineViewsFromFragment(v);
+
+ populateNetworkTypeSpinner();
+ populateJobDurationSpinner();
+
+ defineButtonActions();
+
+ return v;
+ }
+
+ @Override
+ public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
+ String value = (String) parent.getItemAtPosition(pos);
+ switch (parent.getId()) {
+ case R.id.networkType:
+ applyNetworkTypeRequirement(value);
+ break;
+ case R.id.jobDuration:
+ applyJobDuration(value);
+ break;
+ }
+ }
+
+ @Override
+ public void onNothingSelected(AdapterView<?> adapterView) {
+
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ LOG.d("Resuming app");
+
+ mWatchdog = new Watchdog(getContext(), mWatchdogTextView);
+ mWatchdog.start();
+ mJobSchedulerWrapper = new JobSchedulerWrapper(
+ getContext(),
+ mJobsListView);
+ mJobSchedulerWrapper.setWatchdog(mWatchdog);
+ mJobSchedulerWrapper.start();
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+ LOG.d("Pausing app");
+ mWatchdog.stop();
+ mWatchdog = null;
+ mJobSchedulerWrapper.stop();
+ mJobSchedulerWrapper = null;
+ }
+
+ private void defineViewsFromFragment(View v) {
+ mRequirePersisted = v.findViewById(R.id.requirePersistedCheckbox);
+ mRequireIdleness = v.findViewById(R.id.requireIdlenessCheckbox);
+ mRequireCharging = v.findViewById(R.id.requireChargingCheckbox);
+
+ mJobDurationSpinner = v.findViewById(R.id.jobDuration);
+ mNetworkTypeSpinner = v.findViewById(R.id.networkType);
+
+ mWatchdogTextView = v.findViewById(R.id.garageModeWatchdog);
+ mJobsListView = v.findViewById(R.id.jobsListView);
+
+ mEnterGarageModeBtn = v.findViewById(R.id.enterGarageModeBtn);
+ mExitGarageModeBtn = v.findViewById(R.id.exitGarageModeBtn);
+ mAddJobBtn = v.findViewById(R.id.addJobBtn);
+ }
+
+ private void defineButtonActions() {
+ mEnterGarageModeBtn.setOnClickListener(view -> onEnterGarageModeBtnClick());
+ mExitGarageModeBtn.setOnClickListener(view -> onExitGarageModeBtnClick());
+ mAddJobBtn.setOnClickListener(view -> onAddJobBtnClick());
+ }
+
+ private void onEnterGarageModeBtnClick() {
+ LOG.d("Entering garage mode...");
+ CarIdlenessTrackerWrapper.sendBroadcastToEnterGarageMode(getContext());
+ if (mWatchdog != null) {
+ mWatchdog.logEvent("Entering garage mode...");
+ }
+ }
+
+ private void onExitGarageModeBtnClick() {
+ LOG.d("Exiting garage mode...");
+ CarIdlenessTrackerWrapper.sendBroadcastToExitGarageMode(getContext());
+ if (mWatchdog != null) {
+ mWatchdog.logEvent("Exiting garage mode...");
+ }
+ }
+
+ private void onAddJobBtnClick() {
+ LOG.d("Adding a job...");
+ if (mJobSchedulerWrapper == null) {
+ LOG.e("JobSchedulerWrapper is not initialized yet. Try again later.");
+ return;
+ }
+ mJobSchedulerWrapper.scheduleAJob(
+ mJobDurationSelected,
+ parseNetworkRequirement(),
+ mRequireCharging.isChecked(),
+ mRequireIdleness.isChecked());
+ }
+
+ private void applyJobDuration(String value) {
+ String metric = value.split(" ")[1];
+ mJobDurationSelected = Integer.parseInt(value.split(" ")[0]);
+ if (metric.startsWith("minute")) {
+ mJobDurationSelected *= 60;
+ }
+ if (metric.startsWith("hour")) {
+ mJobDurationSelected *= 3600;
+ }
+ mWatchdog.logEvent("Job duration is now: " + mJobDurationSelected + "s");
+ }
+
+ private void applyNetworkTypeRequirement(String value) {
+ mNetworkRequirement = value;
+ mWatchdog.logEvent("Job network requirement changed to: " + value);
+ }
+
+ private int parseNetworkRequirement() {
+ if (mNetworkRequirement.equals("NONE")) {
+ return JobInfo.NETWORK_TYPE_NONE;
+ }
+ if (mNetworkRequirement.equals("UNMETERED")) {
+ return JobInfo.NETWORK_TYPE_UNMETERED;
+ }
+ if (mNetworkRequirement.equals("ANY")) {
+ return JobInfo.NETWORK_TYPE_ANY;
+ }
+ return JobInfo.NETWORK_BYTES_UNKNOWN;
+ }
+
+ private void populateJobDurationSpinner() {
+ populateSpinner(
+ mJobDurationSpinner,
+ ArrayAdapter.createFromResource(
+ getContext(),
+ R.array.duration_list,
+ android.R.layout.simple_spinner_item));
+ }
+
+ private void populateNetworkTypeSpinner() {
+ populateSpinner(
+ mNetworkTypeSpinner,
+ ArrayAdapter.createFromResource(
+ getContext(),
+ R.array.network_types_list,
+ android.R.layout.simple_spinner_item));
+ }
+
+ private void populateSpinner(Spinner spinner, ArrayAdapter adapter) {
+ adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+ spinner.setAdapter(adapter);
+ spinner.setOnItemSelectedListener(this);
+ }
+}
diff --git a/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/Watchdog.java b/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/Watchdog.java
new file mode 100644
index 0000000..18ce8fa
--- /dev/null
+++ b/tests/GarageModeTestApp/src/com/google/android/car/garagemode/testapp/Watchdog.java
@@ -0,0 +1,110 @@
+/*
+ * 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 com.google.android.car.garagemode.testapp;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.os.Handler;
+import android.widget.TextView;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.LinkedList;
+
+public class Watchdog {
+ private static final Logger LOG = new Logger("Watchdog");
+
+ private static final String PREFS_FILE_NAME = "garage_mode_watchdog";
+ private static final String PREFS_EVENTS_LIST = "events_list";
+ private static final String PREFS_EVENTS_LIST_SEPARATOR = "\n";
+ // TODO(serikb): Convert TextView to ListView with per row coloring
+ private TextView mView;
+ private LinkedList<String> mEvents;
+ private Handler mWatchdogHandler;
+ private Runnable mRefreshLoop;
+ private SharedPreferences mSharedPrefs;
+
+ public Watchdog(Context context, TextView view) {
+ this(
+ context,
+ view,
+ context.getSharedPreferences(PREFS_FILE_NAME, Context.MODE_PRIVATE));
+ }
+
+ public Watchdog(Context context, TextView view, SharedPreferences prefs) {
+ mView = view;
+ mSharedPrefs = prefs;
+ mEvents = getEventsFromSharedPrefs(prefs);
+ }
+
+ public void logEvent(String s) {
+ Date date = new Date();
+ SimpleDateFormat dateFormat = new SimpleDateFormat("[yyyy-MM-dd hh:mm:ss]");
+ mEvents.addFirst(dateFormat.format(date) + " " + s);
+ if (mEvents.size() > 10000) {
+ mEvents.pollLast();
+ }
+ saveEventsToSharedPrefs(mSharedPrefs, mEvents);
+ }
+
+ public synchronized String getEventsAsText() {
+ return String.join("\n", mEvents);
+ }
+
+ public synchronized void refresh() {
+ mView.setText(getEventsAsText());
+ }
+
+ public void start() {
+ LOG.d("Starting Watchdog");
+ mWatchdogHandler = new Handler();
+ mRefreshLoop = () -> {
+ refresh();
+ mWatchdogHandler.postDelayed(mRefreshLoop, 500);
+ };
+ mWatchdogHandler.postDelayed(mRefreshLoop, 500);
+ }
+
+ public void stop() {
+ LOG.d("Stopping Watchdog");
+ mWatchdogHandler.removeCallbacks(mRefreshLoop);
+ mWatchdogHandler = null;
+ mRefreshLoop = null;
+ }
+
+ private LinkedList<String> getEventsFromSharedPrefs(SharedPreferences prefs) {
+ LinkedList<String> list = new LinkedList<>();
+ String file = prefs.getString(PREFS_EVENTS_LIST, "");
+ for (String line : file.split(PREFS_EVENTS_LIST_SEPARATOR)) {
+ list.add(line);
+ }
+ return list;
+ }
+
+ private void saveEventsToSharedPrefs(SharedPreferences prefs, LinkedList<String> list) {
+ String file = "";
+ for (String item : list) {
+ if (!file.isEmpty()) {
+ file += PREFS_EVENTS_LIST_SEPARATOR + item;
+ } else {
+ file += item;
+ }
+ }
+ SharedPreferences.Editor editor = prefs.edit();
+ editor.putString(PREFS_EVENTS_LIST, file);
+ editor.commit();
+ }
+}
diff --git a/tests/UxRestrictionsSample/AndroidManifest.xml b/tests/UxRestrictionsSample/AndroidManifest.xml
index 4c702ca..43a6362 100644
--- a/tests/UxRestrictionsSample/AndroidManifest.xml
+++ b/tests/UxRestrictionsSample/AndroidManifest.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 The Android Open Source Project
+<!-- 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.
@@ -14,17 +14,21 @@
limitations under the License.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.google.android.car.uxr.sample" android:sharedUserId="android.uid.system">
+ package="com.google.android.car.uxr.sample" android:sharedUserId="android.uid.system">
- <uses-permission android:name="android.car.permission.CAR_DRIVING_STATE" />
+ <uses-permission android:name="android.car.permission.CAR_DRIVING_STATE"/>
<application android:label="UxRestrictions Sample">
- <activity android:name=".MainActivity">
+ <activity android:name=".MainActivity" android:theme="@style/Theme.Car.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<meta-data android:name="distractionOptimized" android:value="true"/>
</activity>
+ <activity android:name=".SampleMessageActivity"
+ android:theme="@style/Theme.Car.NoActionBar">
+ <meta-data android:name="distractionOptimized" android:value="true"/>
+ </activity>
</application>
</manifest>
diff --git a/tests/UxRestrictionsSample/res/layout/activity_sample_message.xml b/tests/UxRestrictionsSample/res/layout/activity_sample_message.xml
new file mode 100644
index 0000000..20c6465
--- /dev/null
+++ b/tests/UxRestrictionsSample/res/layout/activity_sample_message.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<androidx.car.moderator.SpeedBumpView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+ <Button
+ android:id="@+id/home_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/return_home"
+ android:textAllCaps="false"
+ android:textAppearance="?android:textAppearanceLarge"/>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+ <androidx.car.widget.PagedListView
+ android:id="@+id/paged_list_view"
+ android:layout_height="match_parent"
+ android:layout_width="wrap_content"
+ android:layout_weight="4"/>
+ </LinearLayout>
+ </LinearLayout>
+</androidx.car.moderator.SpeedBumpView>
diff --git a/tests/UxRestrictionsSample/res/layout/main_activity.xml b/tests/UxRestrictionsSample/res/layout/main_activity.xml
index ec0d226..695e93b 100644
--- a/tests/UxRestrictionsSample/res/layout/main_activity.xml
+++ b/tests/UxRestrictionsSample/res/layout/main_activity.xml
@@ -17,7 +17,6 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
-
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
@@ -27,41 +26,101 @@
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="1"
- android:orientation="vertical"
- android:gravity="center">
+ android:orientation="vertical">
+
+ <TextView
+ android:text="@string/status_header"
+ android:layout_gravity="center"
+ android:padding="@dimen/section_padding"
+ android:textSize="@dimen/header_text_size"
+ android:layout_width="match_parent"
+ android:textAppearance="?android:textAppearanceLarge"
+ android:layout_height="wrap_content" />
+
<TextView
android:id="@+id/driving_state"
+ android:text="@string/driving_state"
+ android:textSize="@dimen/info_text_size"
android:layout_gravity="center"
+ android:padding="@dimen/section_padding"
android:layout_width="match_parent"
android:textAppearance="?android:textAppearanceLarge"
android:layout_height="wrap_content" />
+
<TextView
android:id="@+id/do_status"
- android:layout_gravity="center"
+ android:text="@string/is_do_reqd"
+ android:textSize="@dimen/info_text_size"
+ android:padding="@dimen/section_padding"
android:layout_width="match_parent"
android:textAppearance="?android:textAppearanceLarge"
android:layout_height="wrap_content" />
+
<TextView
android:id="@+id/uxr_status"
- android:layout_gravity="center"
+ android:text="@string/active_restrictions"
+ android:padding="@dimen/section_padding"
+ android:textSize="@dimen/info_text_size"
android:layout_width="match_parent"
android:textAppearance="?android:textAppearanceLarge"
android:layout_height="wrap_content" />
- <Button
- android:id="@+id/toggle_status"
+
+ <View
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="Disable Ux Restrictions"
- android:textSize="32sp"/>
+ android:layout_height="1dp"
+ android:padding="@dimen/section_padding"
+ android:layout_marginBottom="10dp"
+ android:background="@android:color/darker_gray"/>
+
+ <TextView
+ android:text="@string/action_header"
+ android:padding="@dimen/section_padding"
+ android:textSize="@dimen/header_text_size"
+ android:layout_width="match_parent"
+ android:textAppearance="?android:textAppearanceLarge"
+ android:layout_height="wrap_content" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+ <Button
+ android:id="@+id/toggle_status"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:padding="@dimen/section_padding"
+ android:text="@string/disable_uxr"
+ android:textAllCaps="false"
+ android:textSize="@dimen/info_text_size" />
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:layout_marginTop="@dimen/section_padding"
+ android:layout_marginBottom="10dp"
+ android:background="@android:color/darker_gray"/>
+
+ <TextView
+ android:text="@string/sample_header"
+ android:padding="@dimen/section_padding"
+ android:textSize="@dimen/header_text_size"
+ android:layout_width="match_parent"
+ android:textAppearance="?android:textAppearanceLarge"
+ android:layout_height="wrap_content" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+ <Button
+ android:id="@+id/launch_message"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/sample_msg_activity"
+ android:textAllCaps="false"
+ android:textSize="@dimen/info_text_size" />
+ </LinearLayout>
</LinearLayout>
-
- <androidx.car.widget.PagedListView
- android:id="@+id/paged_list_view"
- android:layout_width="0dp"
- android:layout_height="match_parent"
- android:layout_weight="4" />
</LinearLayout>
-
</androidx.car.moderator.SpeedBumpView>
diff --git a/tests/CarDiagnosticVerifier/res/values/strings.xml b/tests/UxRestrictionsSample/res/values/dimens.xml
similarity index 69%
rename from tests/CarDiagnosticVerifier/res/values/strings.xml
rename to tests/UxRestrictionsSample/res/values/dimens.xml
index ca6b33a..66f0aea 100644
--- a/tests/CarDiagnosticVerifier/res/values/strings.xml
+++ b/tests/UxRestrictionsSample/res/values/dimens.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 The Android Open Source Project
+<!-- 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.
@@ -14,7 +14,9 @@
limitations under the License.
-->
<resources>
- <string name="status_receiving">Receiving car diagnostic events...</string>
- <string name="status_verifying">Verifying car diagnostic events...</string>
- <string name="status_done">Done with verification</string>
+ <dimen name="section_padding">5dp</dimen>
+
+ <!-- Text size for the sample app -->
+ <dimen name="info_text_size">24sp</dimen>
+ <dimen name="header_text_size">32sp</dimen>
</resources>
diff --git a/tests/UxRestrictionsSample/res/values/strings.xml b/tests/UxRestrictionsSample/res/values/strings.xml
new file mode 100644
index 0000000..612e251
--- /dev/null
+++ b/tests/UxRestrictionsSample/res/values/strings.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_name">UxRestrictionsSample</string>
+ <string name="title_activity_main">MainActivity</string>
+ <string name="status_header"><u>Current Status</u></string>
+ <string name="driving_state">Driving State: </string>
+ <string name="is_do_reqd">Distraction Optimization Required? </string>
+ <string name="active_restrictions">Active UX Restrictions: </string>
+ <string name="action_header"><u>Available Actions</u></string>
+ <string name="disable_uxr">Disable Ux Restriction Engine</string>
+ <string name="sample_header"><u>Sample Activities</u></string>
+ <string name="sample_msg_activity">Sample Message Activity</string>
+ <string name="return_home"><u>Return Home</u></string>
+</resources>
diff --git a/tests/UxRestrictionsSample/src/com/google/android/car/uxr/sample/MainActivity.java b/tests/UxRestrictionsSample/src/com/google/android/car/uxr/sample/MainActivity.java
index ba82e6f..104e145 100644
--- a/tests/UxRestrictionsSample/src/com/google/android/car/uxr/sample/MainActivity.java
+++ b/tests/UxRestrictionsSample/src/com/google/android/car/uxr/sample/MainActivity.java
@@ -15,7 +15,6 @@
*/
package com.google.android.car.uxr.sample;
-import android.annotation.DrawableRes;
import android.app.Activity;
import android.car.Car;
import android.car.CarNotConnectedException;
@@ -25,29 +24,21 @@
import android.car.drivingstate.CarUxRestrictions;
import android.car.drivingstate.CarUxRestrictionsManager;
import android.content.ComponentName;
+import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.util.Log;
+import android.view.View;
import android.widget.Button;
import android.widget.TextView;
-import androidx.car.widget.ListItem;
-import androidx.car.widget.ListItemAdapter;
-import androidx.car.widget.ListItemProvider;
-import androidx.car.widget.PagedListView;
-import androidx.car.widget.TextListItem;
-
-import java.util.ArrayList;
-import java.util.List;
-
/**
* Sample app that uses components in car support library to demonstrate Car drivingstate UXR
* status.
*/
public class MainActivity extends Activity {
public static final String TAG = "drivingstate";
-
private Car mCar;
private CarDrivingStateManager mCarDrivingStateManager;
private CarUxRestrictionsManager mCarUxRestrictionsManager;
@@ -56,8 +47,9 @@
private TextView mDistractionOptStatus;
private TextView mUxrStatus;
private Button mToggleButton;
+ private Button mSampleMsgButton;
+
private boolean mEnableUxR;
- private PagedListView mPagedListView;
private final ServiceConnection mCarConnectionListener =
new ServiceConnection() {
@@ -163,68 +155,24 @@
mDistractionOptStatus = findViewById(R.id.do_status);
mUxrStatus = findViewById(R.id.uxr_status);
mToggleButton = findViewById(R.id.toggle_status);
- mPagedListView = findViewById(R.id.paged_list_view);
-
- setUpPagedListView();
mToggleButton.setOnClickListener(v -> {
updateToggleUxREnable();
});
+ mSampleMsgButton = findViewById(R.id.launch_message);
+ mSampleMsgButton.setOnClickListener(this::launchSampleMsgActivity);
+
// Connect to car service
mCar = Car.createCar(this, mCarConnectionListener);
mCar.connect();
}
- private void setUpPagedListView() {
- ListItemAdapter adapter = new ListItemAdapter(this, populateData());
- mPagedListView.setAdapter(adapter);
+ private void launchSampleMsgActivity(View view) {
+ Intent msgIntent = new Intent(this, SampleMessageActivity.class);
+ startActivity(msgIntent);
}
- private ListItemProvider populateData() {
- List<ListItem> items = new ArrayList<>();
- items.add(createMessage(android.R.drawable.ic_menu_myplaces, "alice",
- "i have a really important message but it may hinder your ability to drive. "));
-
- items.add(createMessage(android.R.drawable.ic_menu_myplaces, "bob",
- "hey this is a really long message that i have always wanted to say. but before " +
- "saying it i feel it's only appropriate if i lay some groundwork for it. "
- + ""));
- items.add(createMessage(android.R.drawable.ic_menu_myplaces, "mom",
- "i think you are the best. i think you are the best. i think you are the best. " +
- "i think you are the best. i think you are the best. i think you are the "
- + "best. "
- +
- "i think you are the best. i think you are the best. i think you are the "
- + "best. "
- +
- "i think you are the best. i think you are the best. i think you are the "
- + "best. "
- +
- "i think you are the best. i think you are the best. i think you are the "
- + "best. "
- +
- "i think you are the best. i think you are the best. "));
- items.add(createMessage(android.R.drawable.ic_menu_myplaces, "john", "hello world"));
- items.add(createMessage(android.R.drawable.ic_menu_myplaces, "jeremy",
- "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor " +
- "incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, " +
- "quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo " +
- "consequat. Duis aute irure dolor in reprehenderit in voluptate velit " +
- "esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat " +
- "cupidatat non proident, sunt in culpa qui officia deserunt mollit " +
- "anim id est laborum."));
- return new ListItemProvider.ListProvider(items);
- }
-
- private TextListItem createMessage(@DrawableRes int profile, String contact, String message) {
- TextListItem item = new TextListItem(this);
- item.setPrimaryActionIcon(profile, false /* useLargeIcon */);
- item.setTitle(contact);
- item.setBody(message);
- item.setSupplementalIcon(android.R.drawable.stat_notify_chat, false);
- return item;
- }
@Override
protected void onDestroy() {
diff --git a/tests/UxRestrictionsSample/src/com/google/android/car/uxr/sample/SampleMessageActivity.java b/tests/UxRestrictionsSample/src/com/google/android/car/uxr/sample/SampleMessageActivity.java
new file mode 100644
index 0000000..1c9bc95
--- /dev/null
+++ b/tests/UxRestrictionsSample/src/com/google/android/car/uxr/sample/SampleMessageActivity.java
@@ -0,0 +1,121 @@
+/*
+ * 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 com.google.android.car.uxr.sample;
+
+import android.annotation.DrawableRes;
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+
+import androidx.car.widget.ListItem;
+import androidx.car.widget.ListItemAdapter;
+import androidx.car.widget.ListItemProvider;
+import androidx.car.widget.PagedListView;
+import androidx.car.widget.TextListItem;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * A Sample Messaging Activity that illustrates how to truncate the string length on receiving the
+ * corresponding UX restriction.
+ */
+public class SampleMessageActivity extends Activity {
+ private Button mHomeButton;
+ private PagedListView mPagedListView;
+ private ListItemAdapter mAdapter;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_sample_message);
+ mHomeButton = findViewById(R.id.home_button);
+ mHomeButton.setOnClickListener(this::returnHome);
+
+ mPagedListView = findViewById(R.id.paged_list_view);
+ setUpPagedListView();
+ }
+
+ @Override
+ protected void onStart() {
+ super.onStart();
+ if (mAdapter != null) {
+ mAdapter.start();
+ }
+ }
+
+ @Override
+ protected void onStop() {
+ super.onStop();
+ if (mAdapter != null) {
+ mAdapter.stop();
+ }
+ }
+
+ private void returnHome(View view) {
+ Intent homeIntent = new Intent(this, MainActivity.class);
+ startActivity(homeIntent);
+ }
+
+ private void setUpPagedListView() {
+ mAdapter = new ListItemAdapter(this, populateData());
+ mPagedListView.setAdapter(mAdapter);
+ }
+
+ private ListItemProvider populateData() {
+ List<ListItem> items = new ArrayList<>();
+ items.add(createMessage(android.R.drawable.ic_menu_myplaces, "alice",
+ "i have a really important message but it may hinder your ability to drive. "));
+
+ items.add(createMessage(android.R.drawable.ic_menu_myplaces, "bob",
+ "hey this is a really long message that i have always wanted to say. but before "
+ + "saying it i feel it's only appropriate if i lay some groundwork for it. "
+ + ""));
+ items.add(createMessage(android.R.drawable.ic_menu_myplaces, "mom",
+ "i think you are the best. i think you are the best. i think you are the best. "
+ + "i think you are the best. i think you are the best. i think you are the "
+ + "best. "
+ + "i think you are the best. i think you are the best. i think you are the "
+ + "best. "
+ + "i think you are the best. i think you are the best. i think you are the "
+ + "best. "
+ + "i think you are the best. i think you are the best. i think you are the "
+ + "best. "
+ + "i think you are the best. i think you are the best. "));
+ items.add(createMessage(android.R.drawable.ic_menu_myplaces, "john", "hello world"));
+ items.add(createMessage(android.R.drawable.ic_menu_myplaces, "jeremy",
+ "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor "
+ + "incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, "
+ + "quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
+ + "consequat. Duis aute irure dolor in reprehenderit in voluptate velit "
+ + "esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat "
+ + "cupidatat non proident, sunt in culpa qui officia deserunt mollit "
+ + "anim id est laborum."));
+ return new ListItemProvider.ListProvider(items);
+ }
+
+ private TextListItem createMessage(@DrawableRes int profile, String contact, String message) {
+ TextListItem item = new TextListItem(this);
+ item.setPrimaryActionIcon(profile, TextListItem.PRIMARY_ACTION_ICON_SIZE_SMALL);
+ item.setTitle(contact);
+ item.setBody(message);
+ item.setSupplementalIcon(android.R.drawable.stat_notify_chat, false);
+ return item;
+ }
+
+}
diff --git a/tests/VmsSubscriberClientSample/Android.mk b/tests/VmsSubscriberClientSample/Android.mk
index c577aaf..2568ffc 100644
--- a/tests/VmsSubscriberClientSample/Android.mk
+++ b/tests/VmsSubscriberClientSample/Android.mk
@@ -35,6 +35,4 @@
LOCAL_JAVA_LIBRARIES += android.car
-include packages/services/Car/car-support-lib/car-support.mk
-
include $(BUILD_PACKAGE)
\ No newline at end of file
diff --git a/tests/VmsSubscriberClientSample/src/com/google/android/car/vms/subscriber/VmsSubscriberClientSampleActivity.java b/tests/VmsSubscriberClientSample/src/com/google/android/car/vms/subscriber/VmsSubscriberClientSampleActivity.java
index a82350b..41de024 100644
--- a/tests/VmsSubscriberClientSample/src/com/google/android/car/vms/subscriber/VmsSubscriberClientSampleActivity.java
+++ b/tests/VmsSubscriberClientSample/src/com/google/android/car/vms/subscriber/VmsSubscriberClientSampleActivity.java
@@ -17,15 +17,19 @@
package com.google.android.car.vms.subscriber;
import android.app.Activity;
+import android.car.Car;
+import android.car.CarNotConnectedException;
import android.car.vms.VmsAvailableLayers;
import android.car.vms.VmsLayer;
import android.car.vms.VmsSubscriberManager;
+import android.content.ComponentName;
+import android.content.ServiceConnection;
import android.content.pm.PackageManager;
import android.os.Bundle;
-import android.support.car.Car;
-import android.support.car.CarConnectionCallback;
+import android.os.IBinder;
import android.util.Log;
import android.widget.TextView;
+
import java.util.concurrent.Executor;
/**
@@ -57,7 +61,7 @@
setContentView(R.layout.activity_main);
mTextView = (TextView) findViewById(R.id.textview);
if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE)) {
- mCarApi = Car.createCar(this, mCarConnectionCallback);
+ mCarApi = Car.createCar(this, mCarServiceConnection);
mCarApi.connect();
} else {
Log.d(TAG, "No automotive feature.");
@@ -73,24 +77,24 @@
Log.i(TAG, "onDestroy");
}
- private final CarConnectionCallback mCarConnectionCallback = new CarConnectionCallback() {
+ private final ServiceConnection mCarServiceConnection = new ServiceConnection() {
@Override
- public void onConnected(Car car) {
+ public void onServiceConnected(ComponentName name, IBinder service) {
Log.d(TAG, "Connected to Car Service");
mVmsSubscriberManager = getVmsSubscriberManager();
configureSubscriptions(mVmsSubscriberManager);
}
@Override
- public void onDisconnected(Car car) {
+ public void onServiceDisconnected(ComponentName name) {
Log.d(TAG, "Disconnect from Car Service");
}
private VmsSubscriberManager getVmsSubscriberManager() {
try {
return (VmsSubscriberManager) mCarApi.getCarManager(
- android.car.Car.VMS_SUBSCRIBER_SERVICE);
- } catch (android.support.car.CarNotConnectedException e) {
+ Car.VMS_SUBSCRIBER_SERVICE);
+ } catch (CarNotConnectedException e) {
Log.e(TAG, "Car is not connected!", e);
}
return null;
@@ -100,7 +104,7 @@
try {
vmsSubscriberManager.setVmsSubscriberClientCallback(mExecutor, mClientCallback);
vmsSubscriberManager.subscribe(TEST_LAYER);
- } catch (android.car.CarNotConnectedException e) {
+ } catch (CarNotConnectedException e) {
Log.e(TAG, "Car is not connected!", e);
}
}
diff --git a/tests/android_car_api_test/src/android/car/apitest/CarHvacManagerTest.java b/tests/android_car_api_test/src/android/car/apitest/CarHvacManagerTest.java
index 7196d14..2fc57eb 100644
--- a/tests/android_car_api_test/src/android/car/apitest/CarHvacManagerTest.java
+++ b/tests/android_car_api_test/src/android/car/apitest/CarHvacManagerTest.java
@@ -43,7 +43,7 @@
public void testAllHvacProperties() throws Exception {
List<CarPropertyConfig> properties = mHvacManager.getPropertyList();
Set<Class> supportedTypes = new HashSet<>(Arrays.asList(
- new Class[] { Integer.class, Float.class, Boolean.class }));
+ new Class[] { Integer.class, Float.class, Boolean.class, Integer[].class }));
for (CarPropertyConfig property : properties) {
if (supportedTypes.contains(property.getPropertyType())) {
@@ -80,7 +80,6 @@
break;
case CarHvacManager.ID_ZONED_FAN_SPEED_SETPOINT: // zoned int
case CarHvacManager.ID_ZONED_FAN_SPEED_RPM:
- case CarHvacManager.ID_ZONED_FAN_DIRECTION_AVAILABLE:
case CarHvacManager.ID_ZONED_SEAT_TEMP:
checkTypeAndGlobal(Integer.class, false, property);
checkIntMinMax(property);
@@ -88,6 +87,9 @@
case CarHvacManager.ID_ZONED_FAN_DIRECTION:
checkTypeAndGlobal(Integer.class, false, property);
break;
+ case CarHvacManager.ID_ZONED_FAN_DIRECTION_AVAILABLE:
+ checkTypeAndGlobal(Integer[].class, false, property);
+ break;
case CarHvacManager.ID_ZONED_AC_ON: // zoned boolean
case CarHvacManager.ID_ZONED_AUTOMATIC_MODE_ON:
case CarHvacManager.ID_ZONED_AIR_RECIRCULATION_ON:
@@ -103,10 +105,10 @@
private void checkTypeAndGlobal(Class clazz, boolean global, CarPropertyConfig<Integer> property) {
assertEquals("Wrong type, expecting " + clazz + " type for id:" + property.getPropertyId(),
- clazz, property.getPropertyType());
+ clazz, property.getPropertyType());
assertEquals("Wrong zone, should " + (global ? "" : "not ") + "be global for id: " +
- property.getPropertyId() + ", area type:" + property.getAreaType(),
- global, property.isGlobalProperty());
+ property.getPropertyId() + ", area type:" + property.getAreaType(),
+ global, property.isGlobalProperty());
}
private void checkIntMinMax(CarPropertyConfig<Integer> property) {
diff --git a/tests/android_support_car_api_test/Android.mk b/tests/android_support_car_api_test/Android.mk
deleted file mode 100644
index 90aa767..0000000
--- a/tests/android_support_car_api_test/Android.mk
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright (C) 2015 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.
-#
-#
-
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := AndroidSupportCarApiTest
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-# for system|privileged permission.
-LOCAL_CERTIFICATE := platform
-
-LOCAL_MODULE_TAGS := tests
-
-# When built explicitly put it in the data partition
-LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-
-LOCAL_PROGUARD_ENABLED := disabled
-
-LOCAL_STATIC_JAVA_LIBRARIES := junit
-LOCAL_STATIC_JAVA_LIBRARIES += android.support.car android-support-test
-
-LOCAL_JAVA_LIBRARIES := android.car android.test.runner android.test.base
-
-include $(BUILD_PACKAGE)
diff --git a/tests/android_support_car_api_test/AndroidManifest.xml b/tests/android_support_car_api_test/AndroidManifest.xml
deleted file mode 100644
index ba4a53e..0000000
--- a/tests/android_support_car_api_test/AndroidManifest.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2015 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.
--->
-
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
- package="com.android.support.car.apitest"
- android:sharedUserId="android.uid.system" >
-
- <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="23" />
- <instrumentation android:name="android.test.InstrumentationTestRunner"
- android:targetPackage="com.android.support.car.apitest"
- android:label="Tests for Car APIs"/>
-
- <application android:label="CarApiTest">
- <uses-library android:name="android.test.runner" />
- <activity android:name=".TestCarProxyActivity">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- </intent-filter>
- </activity>
- </application>
-</manifest>
diff --git a/tests/android_support_car_api_test/src/com/android/support/car/apitest/CarApiTestBase.java b/tests/android_support_car_api_test/src/com/android/support/car/apitest/CarApiTestBase.java
deleted file mode 100644
index 981de14..0000000
--- a/tests/android_support_car_api_test/src/com/android/support/car/apitest/CarApiTestBase.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car.apitest;
-
-import android.os.Looper;
-import android.support.car.Car;
-import android.support.car.CarConnectionCallback;
-import android.test.AndroidTestCase;
-
-import java.util.concurrent.Semaphore;
-import java.util.concurrent.TimeUnit;
-
-public class CarApiTestBase extends AndroidTestCase {
- protected static final long DEFAULT_WAIT_TIMEOUT_MS = 1000;
-
- private Car mCar;
-
- private final DefaultCarConnectionCallback mConnectionCallbacks =
- new DefaultCarConnectionCallback();
-
- protected void assertMainThread() {
- assertTrue(Looper.getMainLooper().isCurrentThread());
- }
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- mCar = Car.createCar(getContext(), mConnectionCallbacks);
- mCar.connect();
- mConnectionCallbacks.waitForConnection(DEFAULT_WAIT_TIMEOUT_MS);
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- mCar.disconnect();
- }
-
- protected synchronized Car getCar() {
- return mCar;
- }
-
- protected class DefaultCarConnectionCallback extends CarConnectionCallback {
- private final Semaphore mConnectionWait = new Semaphore(0);
-
- public void waitForConnection(long timeoutMs) throws InterruptedException {
- mConnectionWait.tryAcquire(timeoutMs, TimeUnit.MILLISECONDS);
- }
- @Override
- public void onDisconnected(Car car) {
- assertMainThread();
- }
-
- @Override
- public void onConnected(Car car) {
- assertMainThread();
- mConnectionWait.release();
- }
- }
-}
diff --git a/tests/android_support_car_api_test/src/com/android/support/car/apitest/CarAppFocusManagerTest.java b/tests/android_support_car_api_test/src/com/android/support/car/apitest/CarAppFocusManagerTest.java
deleted file mode 100644
index 2d58e56..0000000
--- a/tests/android_support_car_api_test/src/com/android/support/car/apitest/CarAppFocusManagerTest.java
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car.apitest;
-
-import android.support.car.Car;
-import android.support.car.CarAppFocusManager;
-import android.test.suitebuilder.annotation.MediumTest;
-import android.util.Log;
-
-import java.util.concurrent.Semaphore;
-import java.util.concurrent.TimeUnit;
-
-@MediumTest
-public class CarAppFocusManagerTest extends CarApiTestBase {
- private static final String TAG = CarAppFocusManagerTest.class.getSimpleName();
- private CarAppFocusManager mManager;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- mManager = (CarAppFocusManager) getCar().getCarManager(Car.APP_FOCUS_SERVICE);
- assertNotNull(mManager);
-
- // Request all application focuses and abandon them to ensure no active context is present
- // when test starts.
- int[] activeTypes = {CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION,
- CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND};
- FocusOwnershipCallback owner = new FocusOwnershipCallback();
- for (int i = 0; i < activeTypes.length; i++) {
- mManager.requestAppFocus(activeTypes[i], owner);
- owner.waitForOwnershipGrantAndAssert(DEFAULT_WAIT_TIMEOUT_MS, activeTypes[i]);
- mManager.abandonAppFocus(owner, activeTypes[i]);
- owner.waitForOwnershipLossAndAssert(
- DEFAULT_WAIT_TIMEOUT_MS, activeTypes[i]);
- }
- }
-
- public void testSetActiveNullListener() throws Exception {
- try {
- mManager.requestAppFocus(CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, null);
- fail();
- } catch (IllegalArgumentException e) {
- // expected
- }
- }
-
- public void testRegisterNull() throws Exception {
- try {
- mManager.addFocusListener(null, CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION);
- fail();
- } catch (IllegalArgumentException e) {
- // expected
- }
- }
-
- public void testRegisterUnregister() throws Exception {
- FocusChangedListener listener = new FocusChangedListener();
- FocusChangedListener listener2 = new FocusChangedListener();
- mManager.addFocusListener(listener, CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND);
- mManager.addFocusListener(listener2, CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND);
- mManager.removeFocusListener(listener);
- mManager.removeFocusListener(listener2);
- }
-
- public void testFocusChange() throws Exception {
- DefaultCarConnectionCallback connectionCallbacks =
- new DefaultCarConnectionCallback();
- Car car2 = Car.createCar(getContext(), connectionCallbacks, null);
- car2.connect();
- connectionCallbacks.waitForConnection(DEFAULT_WAIT_TIMEOUT_MS);
- CarAppFocusManager manager2 = (CarAppFocusManager)
- car2.getCarManager(Car.APP_FOCUS_SERVICE);
- assertNotNull(manager2);
- final int[] emptyFocus = new int[0];
-
- FocusChangedListener change = new FocusChangedListener();
- FocusChangedListener change2 = new FocusChangedListener();
- FocusOwnershipCallback owner = new FocusOwnershipCallback();
- FocusOwnershipCallback owner2 = new FocusOwnershipCallback();
- mManager.addFocusListener(change, CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION);
- mManager.addFocusListener(change, CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND);
- manager2.addFocusListener(change2, CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION);
- manager2.addFocusListener(change2, CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND);
-
- mManager.requestAppFocus(CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, owner);
- assertTrue(owner.waitForOwnershipGrantAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION));
-
- assertTrue(mManager.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, owner));
- assertFalse(mManager.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, owner));
- assertFalse(manager2.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, owner2));
- assertFalse(manager2.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, owner2));
-
- assertTrue(change2.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, true));
- assertTrue(change.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, true));
-
- mManager.requestAppFocus(CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, owner);
- assertTrue(owner.waitForOwnershipGrantAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND));
- assertTrue(mManager.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, owner));
- assertTrue(mManager.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, owner));
- assertFalse(manager2.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, owner2));
- assertFalse(manager2.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND,
- owner2));
- assertTrue(change2.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, true));
- assertTrue(change.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, true));
-
- // this should be no-op
- change.reset();
- change2.reset();
- mManager.requestAppFocus(CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, owner);
- assertTrue(owner.waitForOwnershipGrantAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION));
-
- assertFalse(change2.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, true));
- assertFalse(change.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, true));
-
- manager2.requestAppFocus(CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, owner2);
- assertTrue(owner2.waitForOwnershipGrantAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION));
-
- assertFalse(mManager.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, owner));
- assertTrue(mManager.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, owner));
- assertTrue(manager2.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, owner2));
- assertFalse(manager2.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, owner2));
- assertTrue(owner.waitForOwnershipLossAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION));
-
- // no-op as it is not owning it
- change.reset();
- change2.reset();
- mManager.abandonAppFocus(owner, CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION);
- assertFalse(mManager.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, owner));
- assertTrue(mManager.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, owner));
- assertTrue(manager2.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, owner2));
- assertFalse(manager2.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, owner2));
-
- change.reset();
- change2.reset();
- mManager.abandonAppFocus(owner, CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND);
- assertFalse(mManager.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, owner));
- assertFalse(mManager.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, owner));
- assertTrue(manager2.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, owner2));
- assertFalse(manager2.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, owner2));
- assertTrue(change2.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, false));
- assertTrue(change.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, false));
-
- change.reset();
- change2.reset();
- manager2.abandonAppFocus(owner2, CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION);
- assertFalse(mManager.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, owner));
- assertFalse(mManager.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, owner));
- assertFalse(manager2.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, owner2));
- assertFalse(manager2.isOwningFocus(CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, owner2));
- assertTrue(change.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, false));
- mManager.removeFocusListener(change);
- manager2.removeFocusListener(change2);
- }
-
- public void testFilter() throws Exception {
- DefaultCarConnectionCallback connectionCallbacks =
- new DefaultCarConnectionCallback();
- Car car2 = Car.createCar(getContext(), connectionCallbacks);
- car2.connect();
- connectionCallbacks.waitForConnection(DEFAULT_WAIT_TIMEOUT_MS);
- CarAppFocusManager manager2 = (CarAppFocusManager)
- car2.getCarManager(Car.APP_FOCUS_SERVICE);
- assertNotNull(manager2);
-
- FocusChangedListener listener = new FocusChangedListener();
- FocusChangedListener listener2 = new FocusChangedListener();
- FocusOwnershipCallback owner = new FocusOwnershipCallback();
- mManager.addFocusListener(listener, CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION);
- mManager.addFocusListener(listener, CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND);
- manager2.addFocusListener(listener2, CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION);
-
- mManager.requestAppFocus(CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, owner);
- assertTrue(owner.waitForOwnershipGrantAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION));
-
- assertTrue(listener.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, true));
- assertTrue(listener2.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, true));
-
- listener.reset();
- listener2.reset();
- mManager.requestAppFocus(CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, owner);
- assertTrue(owner.waitForOwnershipGrantAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND));
-
- assertTrue(listener.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, true));
- assertFalse(listener2.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, true));
-
- listener.reset();
- listener2.reset();
- mManager.abandonAppFocus(owner, CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND);
- assertTrue(listener.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, false));
- assertFalse(listener2.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, false));
-
- listener.reset();
- listener2.reset();
- mManager.abandonAppFocus(owner, CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION);
- assertTrue(listener.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, false));
- assertTrue(listener2.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, false));
- }
-
- public void testMultipleChangeListenersPerManager() throws Exception {
- FocusChangedListener listener = new FocusChangedListener();
- FocusChangedListener listener2 = new FocusChangedListener();
- FocusOwnershipCallback owner = new FocusOwnershipCallback();
- mManager.addFocusListener(listener, CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION);
- mManager.addFocusListener(listener, CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND);
- mManager.addFocusListener(listener2, CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION);
-
- mManager.requestAppFocus(CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, owner);
- assertTrue(owner.waitForOwnershipGrantAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION));
-
- assertTrue(listener.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, true));
- assertTrue(listener2.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, true));
-
- listener.reset();
- listener2.reset();
- mManager.requestAppFocus(CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, owner);
- assertTrue(owner.waitForOwnershipGrantAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND));
-
- assertTrue(listener.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, true));
- assertFalse(listener2.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, true));
-
- listener.reset();
- listener2.reset();
- mManager.abandonAppFocus(owner, CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND);
- assertTrue(listener.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, false));
- assertFalse(listener2.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_VOICE_COMMAND, false));
-
- listener.reset();
- listener2.reset();
- mManager.abandonAppFocus(owner, CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION);
- assertTrue(listener.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, false));
- assertTrue(listener2.waitForFocusChangeAndAssert(DEFAULT_WAIT_TIMEOUT_MS,
- CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, false));
- }
-
- private class FocusChangedListener implements CarAppFocusManager.OnAppFocusChangedListener {
- private int mLastChangeAppType;
- private boolean mLastChangeAppActive;
- private final Semaphore mChangeWait = new Semaphore(0);
-
- public boolean waitForFocusChangeAndAssert(long timeoutMs, int expectedAppType,
- boolean expectedAppActive) throws Exception {
- if (!mChangeWait.tryAcquire(timeoutMs, TimeUnit.MILLISECONDS)) {
- return false;
- }
- assertEquals(expectedAppType, mLastChangeAppType);
- assertEquals(expectedAppActive, mLastChangeAppActive);
- return true;
- }
-
- public void reset() {
- mLastChangeAppType = 0;
- mLastChangeAppActive = false;
- }
-
- @Override
- public void onAppFocusChanged(CarAppFocusManager manager, int appType, boolean active) {
- Log.i(TAG, "onAppFocusChanged appType=" + appType + " active=" + active);
- assertMainThread();
- mLastChangeAppType = appType;
- mLastChangeAppActive = active;
- mChangeWait.release();
- }
- }
-
- private class FocusOwnershipCallback
- implements CarAppFocusManager.OnAppFocusOwnershipCallback {
- private int mLastLossEvent;
- private final Semaphore mLossEventWait = new Semaphore(0);
-
- private int mLastGrantEvent;
- private final Semaphore mGrantEventWait = new Semaphore(0);
-
- public boolean waitForOwnershipLossAndAssert(long timeoutMs, int expectedAppType)
- throws Exception {
- if (!mLossEventWait.tryAcquire(timeoutMs, TimeUnit.MILLISECONDS)) {
- return false;
- }
- assertEquals(expectedAppType, mLastLossEvent);
- return true;
- }
-
- public boolean waitForOwnershipGrantAndAssert(long timeoutMs, int expectedAppType)
- throws Exception {
- if (!mGrantEventWait.tryAcquire(timeoutMs, TimeUnit.MILLISECONDS)) {
- return false;
- }
- assertEquals(expectedAppType, mLastGrantEvent);
- return true;
- }
-
- @Override
- public void onAppFocusOwnershipLost(CarAppFocusManager manager, int appType) {
- Log.i(TAG, "onAppFocusOwnershipLost " + appType);
- assertMainThread();
- mLastLossEvent = appType;
- mLossEventWait.release();
- }
-
- @Override
- public void onAppFocusOwnershipGranted(CarAppFocusManager manager, int appType) {
- Log.i(TAG, "onAppFocusOwnershipGranted " + appType);
- assertMainThread();
- mLastGrantEvent = appType;
- mGrantEventWait.release();
- }
- }
-}
diff --git a/tests/android_support_car_api_test/src/com/android/support/car/apitest/CarNavigationStatusManagerTest.java b/tests/android_support_car_api_test/src/com/android/support/car/apitest/CarNavigationStatusManagerTest.java
deleted file mode 100644
index d57d9ee..0000000
--- a/tests/android_support_car_api_test/src/com/android/support/car/apitest/CarNavigationStatusManagerTest.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (C) 2016 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.support.car.apitest;
-
-import static android.support.car.CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION;
-
-import android.os.Bundle;
-import android.support.car.Car;
-import android.support.car.CarAppFocusManager;
-import android.support.car.CarAppFocusManager.OnAppFocusChangedListener;
-import android.support.car.CarAppFocusManager.OnAppFocusOwnershipCallback;
-import android.support.car.navigation.CarNavigationInstrumentCluster;
-import android.support.car.navigation.CarNavigationStatusManager;
-import android.test.suitebuilder.annotation.MediumTest;
-
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
-/**
- * Unit tests for {@link android.support.car.navigation.CarNavigationStatusManager}
- */
-@MediumTest
-public class CarNavigationStatusManagerTest extends CarApiTestBase {
-
- private CarNavigationStatusManager mCarNavigationStatusManager;
- private CarAppFocusManager mCarAppFocusManager;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- mCarNavigationStatusManager =
- (CarNavigationStatusManager) getCar().getCarManager(Car.CAR_NAVIGATION_SERVICE);
- assertNotNull(mCarNavigationStatusManager);
- mCarAppFocusManager =
- (CarAppFocusManager) getCar().getCarManager(Car.APP_FOCUS_SERVICE);
- assertNotNull(mCarAppFocusManager);
- }
-
- public void testStart() throws Exception {
- final CountDownLatch onStartLatch = new CountDownLatch(1);
-
- mCarNavigationStatusManager.addListener(
- new CarNavigationStatusManager.CarNavigationCallback() {
- @Override
- public void onInstrumentClusterStarted(CarNavigationStatusManager manager,
- CarNavigationInstrumentCluster instrumentCluster) {
- // return type cannot be asserted.
- instrumentCluster.supportsCustomImages();
- instrumentCluster.getMinIntervalMillis();
- onStartLatch.countDown();
- }
-
- @Override
- public void onInstrumentClusterStopped(CarNavigationStatusManager manager) {
- // TODO
- }
- });
-
- assertTrue(onStartLatch.await(DEFAULT_WAIT_TIMEOUT_MS, TimeUnit.MILLISECONDS));
-
- try {
- mCarNavigationStatusManager.sendEvent(1, new Bundle());
- fail();
- } catch (IllegalStateException expected) {
- // Expected. Client should acquire focus ownership for APP_FOCUS_TYPE_NAVIGATION.
- }
-
- mCarAppFocusManager
- .addFocusListener(new OnAppFocusChangedListener() {
- @Override
- public void onAppFocusChanged(CarAppFocusManager manager, int appType,
- boolean active) {
- // Nothing to do here.
- }
- }, APP_FOCUS_TYPE_NAVIGATION);
- CarAppFocusManager.OnAppFocusOwnershipCallback
- ownershipCallback = new OnAppFocusOwnershipCallback() {
- @Override
- public void onAppFocusOwnershipLost(CarAppFocusManager manager, int focusType) {
- // Nothing to do here.
- }
-
- @Override
- public void onAppFocusOwnershipGranted(CarAppFocusManager manager, int focusType) {
- // Nothing to do here.
- }
- };
- mCarAppFocusManager.requestAppFocus(APP_FOCUS_TYPE_NAVIGATION, ownershipCallback);
- assertTrue(mCarAppFocusManager.isOwningFocus(APP_FOCUS_TYPE_NAVIGATION, ownershipCallback));
-
- // TODO: we should use mocked HAL to be able to verify this, right now just make sure that
- // it is not crashing and logcat has appropriate traces.
- mCarNavigationStatusManager.sendEvent(1, new Bundle());
- }
-}
diff --git a/tests/android_support_car_api_test/src/com/android/support/car/apitest/CarPackageManagerTest.java b/tests/android_support_car_api_test/src/com/android/support/car/apitest/CarPackageManagerTest.java
deleted file mode 100644
index c42a8cb..0000000
--- a/tests/android_support_car_api_test/src/com/android/support/car/apitest/CarPackageManagerTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car.apitest;
-
-import android.os.Looper;
-import android.support.car.Car;
-import android.support.car.CarConnectionCallback;
-import android.support.car.content.pm.CarPackageManager;
-import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.MediumTest;
-
-import java.util.concurrent.Semaphore;
-import java.util.concurrent.TimeUnit;
-
-@MediumTest
-public class CarPackageManagerTest extends AndroidTestCase {
- private static final long DEFAULT_WAIT_TIMEOUT_MS = 3000;
-
- private final Semaphore mConnectionWait = new Semaphore(0);
-
- private Car mCar;
- private CarPackageManager mCarPackageManager;
-
- private final CarConnectionCallback mConnectionCallbacks =
- new CarConnectionCallback() {
- @Override
- public void onDisconnected(Car car) {
- assertMainThread();
- }
-
-
- @Override
- public void onConnected(Car car) {
- assertMainThread();
- mConnectionWait.release();
- }
- };
-
- private void assertMainThread() {
- assertTrue(Looper.getMainLooper().isCurrentThread());
- }
-
- private void waitForConnection(long timeoutMs) throws InterruptedException {
- mConnectionWait.tryAcquire(timeoutMs, TimeUnit.MILLISECONDS);
- }
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- mCar = Car.createCar(getContext(), mConnectionCallbacks);
- mCar.connect();
- waitForConnection(DEFAULT_WAIT_TIMEOUT_MS);
- mCarPackageManager = (CarPackageManager) mCar.getCarManager(Car.PACKAGE_SERVICE);
- assertNotNull(mCarPackageManager);
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- mCar.disconnect();
- }
-
- public void testCreate() throws Exception {
- //nothing to do for now
- }
-}
diff --git a/tests/android_support_car_api_test/src/com/android/support/car/apitest/CarSensorManagerTest.java b/tests/android_support_car_api_test/src/com/android/support/car/apitest/CarSensorManagerTest.java
deleted file mode 100644
index bc97d67..0000000
--- a/tests/android_support_car_api_test/src/com/android/support/car/apitest/CarSensorManagerTest.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car.apitest;
-
-import static android.content.pm.PackageManager.FEATURE_AUTOMOTIVE;
-
-import android.os.Looper;
-import android.support.car.Car;
-import android.support.car.CarConnectionCallback;
-import android.support.car.hardware.CarSensorEvent;
-import android.support.car.hardware.CarSensorManager;
-import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.MediumTest;
-
-import java.lang.reflect.Field;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.Semaphore;
-import java.util.concurrent.TimeUnit;
-
-@MediumTest
-public class CarSensorManagerTest extends AndroidTestCase {
- private static final long DEFAULT_WAIT_TIMEOUT_MS = 3000;
-
- private final Semaphore mConnectionWait = new Semaphore(0);
-
- private Car mCar;
- private CarSensorManager mCarSensorManager;
-
- private final CarConnectionCallback mConnectionCallbacks =
- new CarConnectionCallback() {
- @Override
- public void onDisconnected(Car car) {
- assertMainThread();
- }
-
- @Override
- public void onConnected(Car car) {
- assertMainThread();
- mConnectionWait.release();
- }
- };
-
- private void assertMainThread() {
- assertTrue(Looper.getMainLooper().isCurrentThread());
- }
- private void waitForConnection(long timeoutMs) throws InterruptedException {
- mConnectionWait.tryAcquire(timeoutMs, TimeUnit.MILLISECONDS);
- }
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- mCar = Car.createCar(getContext(), mConnectionCallbacks);
- mCar.connect();
- waitForConnection(DEFAULT_WAIT_TIMEOUT_MS);
- mCarSensorManager =
- (CarSensorManager) mCar.getCarManager(Car.SENSOR_SERVICE);
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- mCar.disconnect();
- }
-
- public void testDrivingPolicy() throws Exception {
- // Embedded does not support SENSOR_TYPE_DRIVING_STATUS. Hence this test is not run in
- // Android Auto Embedded.
- if (getContext().getPackageManager().hasSystemFeature(FEATURE_AUTOMOTIVE)) {
- return;
- }
-
- int[] supportedSensors = mCarSensorManager.getSupportedSensors();
- assertNotNull(supportedSensors);
- boolean found = false;
- for (int sensor: supportedSensors) {
- if (sensor == CarSensorManager.SENSOR_TYPE_DRIVING_STATUS) {
- found = true;
- break;
- }
- }
- assertTrue(found);
- assertTrue(mCarSensorManager.isSensorSupported(
- CarSensorManager.SENSOR_TYPE_DRIVING_STATUS));
- CarSensorEvent lastEvent = mCarSensorManager.getLatestSensorEvent(
- CarSensorManager.SENSOR_TYPE_DRIVING_STATUS);
- assertNotNull(lastEvent);
- }
-
- public void testSensorType() throws Exception {
- List<Field> androidCarAllIntMembers = TestUtil.getAllPublicStaticFinalMembers(
- android.car.hardware.CarSensorManager.class, int.class);
- List<Field> supportCarAllIntMembers = TestUtil.getAllPublicStaticFinalMembers(
- android.support.car.hardware.CarSensorManager.class, int.class);
- List<Field> androidCarSensorTypes = filterSensorTypes(androidCarAllIntMembers);
- List<Field> supportCarSensorTypes = filterSensorTypes(supportCarAllIntMembers);
- Map<Integer, Field> androidCarSensorTypeToField = new HashMap<>();
- for (Field androidCarSensorType : androidCarSensorTypes) {
- androidCarSensorTypeToField.put(androidCarSensorType.getInt(null),
- androidCarSensorType);
- }
- StringBuilder builder = new StringBuilder();
- boolean failed = false;
- for (Field supportCarSensorType : supportCarSensorTypes) {
- Field androidCarSensorType = androidCarSensorTypeToField.get(
- supportCarSensorType.getInt(null));
- assertNotNull("Sensor type:" + supportCarSensorType.getName() +
- " not defined in android.car", androidCarSensorType);
- if (supportCarSensorType.getName().equals(androidCarSensorType.getName())) {
- // match ok
- } else if (androidCarSensorType.getName().startsWith("SENSOR_TYPE_RESERVED")) {
- // not used in android.car, ok
- } else if (supportCarSensorType.getName().startsWith("SENSOR_TYPE_RESERVED")) {
- // used in android.car but reserved in support.car
- } else {
- failed = true;
- builder.append("android.support sensor has name:" + supportCarSensorType.getName() +
- " while android.car sensor has name:" + androidCarSensorType.getName() +
- "\n");
- }
- androidCarSensorTypeToField.remove(supportCarSensorType.getInt(null));
- }
- assertFalse(builder.toString(), failed);
- assertTrue("android Car sensor has additional types defined:" + androidCarSensorTypeToField,
- androidCarSensorTypeToField.size() == 0);
- }
-
- public void testSensorRate() throws Exception {
- List<Field> androidCarAllIntMembers = TestUtil.getAllPublicStaticFinalMembers(
- android.car.hardware.CarSensorManager.class, int.class);
- List<Field> supportCarAllIntMembers = TestUtil.getAllPublicStaticFinalMembers(
- android.support.car.hardware.CarSensorManager.class, int.class);
- List<Field> androidCarSensorRates = filterSensorRates(androidCarAllIntMembers);
- List<Field> supportCarSensorRates = filterSensorRates(supportCarAllIntMembers);
- Map<Integer, Field> androidCarSensorRateToField = new HashMap<>();
- for (Field androidCarSensorRate : androidCarSensorRates) {
- androidCarSensorRateToField.put(androidCarSensorRate.getInt(null),
- androidCarSensorRate);
- }
- StringBuilder builder = new StringBuilder();
- boolean failed = false;
- for (Field supprotCarSensorRate : supportCarSensorRates) {
- Field androidCarSensorRate = androidCarSensorRateToField.get(
- supprotCarSensorRate.getInt(null));
- assertNotNull("Sensor rate:" + supprotCarSensorRate.getName() +
- " not defined in android.car", androidCarSensorRate);
- if (supprotCarSensorRate.getName().equals(androidCarSensorRate.getName())) {
- // match ok
- } else {
- failed = true;
- builder.append("android.support sensor rate has name:" +
- supprotCarSensorRate.getName() +
- " while android.car sensor rate has name:" +
- androidCarSensorRate.getName());
- }
- androidCarSensorRateToField.remove(supprotCarSensorRate.getInt(null));
- }
- assertFalse(builder.toString(), failed);
- assertTrue("android Car sensor has additional rates defined:" + androidCarSensorRateToField,
- androidCarSensorRateToField.size() == 0);
- }
-
- private List<Field> filterSensorTypes(List<Field> fields) {
- return filterFields(fields, "SENSOR_TYPE_");
- }
-
- private List<Field> filterSensorRates(List<Field> fields) {
- return filterFields(fields, "SENSOR_RATE_");
- }
-
- private List<Field> filterFields(List<Field> fields, String prefix) {
- List<Field> result = new LinkedList<>();
- for (Field f : fields) {
- if (f.getName().startsWith(prefix)) {
- result.add(f);
- }
- }
- return result;
- }
-}
diff --git a/tests/android_support_car_api_test/src/com/android/support/car/apitest/CarTest.java b/tests/android_support_car_api_test/src/com/android/support/car/apitest/CarTest.java
deleted file mode 100644
index d707253..0000000
--- a/tests/android_support_car_api_test/src/com/android/support/car/apitest/CarTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car.apitest;
-
-import android.os.Looper;
-import android.support.car.Car;
-import android.support.car.CarConnectionCallback;
-import android.support.car.hardware.CarSensorManager;
-import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.MediumTest;
-
-import java.util.concurrent.Semaphore;
-import java.util.concurrent.TimeUnit;
-
-@MediumTest
-public class CarTest extends AndroidTestCase {
- private static final long DEFAULT_WAIT_TIMEOUT_MS = 3000;
-
- private final Semaphore mConnectionWait = new Semaphore(0);
-
- private final CarConnectionCallback mConnectionCallbacks =
- new CarConnectionCallback() {
-
- @Override
- public void onDisconnected(Car car) {
- assertMainThread();
- }
-
- @Override
- public void onConnected(Car car) {
- assertMainThread();
- mConnectionWait.release();
- }
- };
-
- private void assertMainThread() {
- assertTrue(Looper.getMainLooper().isCurrentThread());
- }
-
- private void waitForConnection(long timeoutMs) throws InterruptedException {
- mConnectionWait.tryAcquire(timeoutMs, TimeUnit.MILLISECONDS);
- }
-
- public void testCarConnection() throws Exception {
- Car car = Car.createCar(getContext(), mConnectionCallbacks);
- assertFalse(car.isConnected());
- assertFalse(car.isConnecting());
- car.connect();
- //TODO fix race here
- assertTrue(car.isConnecting());
- waitForConnection(DEFAULT_WAIT_TIMEOUT_MS);
- assertTrue(car.isConnected());
- assertFalse(car.isConnecting());
- CarSensorManager carSensorManager =
- (CarSensorManager) car.getCarManager(Car.SENSOR_SERVICE);
- assertNotNull(carSensorManager);
- CarSensorManager carSensorManager2 =
- (CarSensorManager) car.getCarManager(Car.SENSOR_SERVICE);
- assertEquals(carSensorManager, carSensorManager2);
- Object noSuchService = car.getCarManager("No such service");
- assertNull(noSuchService);
- // double disconnect should be safe.
- car.disconnect();
- car.disconnect();
- assertFalse(car.isConnected());
- assertFalse(car.isConnecting());
- }
-
- public void testDoubleConnect() throws Exception {
- Car car = Car.createCar(getContext(), mConnectionCallbacks);
- assertFalse(car.isConnected());
- assertFalse(car.isConnecting());
- car.connect();
- try {
- car.connect();
- fail("double connect should throw an exception");
- } catch (IllegalStateException e) {
- // expected
- }
- car.disconnect();
- }
-}
diff --git a/tests/android_support_car_api_test/src/com/android/support/car/apitest/TestAction.java b/tests/android_support_car_api_test/src/com/android/support/car/apitest/TestAction.java
deleted file mode 100644
index 472b825..0000000
--- a/tests/android_support_car_api_test/src/com/android/support/car/apitest/TestAction.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2015 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.support.car.apitest;
-
-import android.util.Log;
-
-import java.util.concurrent.Semaphore;
-import java.util.concurrent.TimeUnit;
-
-import junit.framework.Assert;
-
-/**
- * A generic test action, whose run method will be called with a parameter.
- */
-public abstract class TestAction<T> {
- /** for passing additional test specific parameters */
- public volatile Object arg0;
- public volatile Object arg1;
- private static final String TAG = "CAR.TEST";
- private Throwable mLastThrowable;
- private Semaphore mWaitSemaphore = new Semaphore(0);
-
- abstract public void run(T param);
-
- public void doRun(T param) {
- Log.i(TAG, "TestAction doRun " + this + " param:" + param);
- try {
- run(param);
- } catch (Throwable t) {
- Log.i(TAG, "TestAction doRun get exception", t);
- mLastThrowable = t;
- }
- mWaitSemaphore.release();
- }
-
- public void assertTestRun(long timeoutMs) throws Throwable {
- if (!mWaitSemaphore.tryAcquire(timeoutMs, TimeUnit.MILLISECONDS)) {
- Assert.fail("timeout");
- }
- if (mLastThrowable != null) {
- throw mLastThrowable;
- }
- }
-
- public void assertNotRun(long waitMs) throws Throwable {
- if (!mWaitSemaphore.tryAcquire(waitMs, TimeUnit.MILLISECONDS)) {
- return;
- }
- if (mLastThrowable != null) {
- Log.e(TAG, "Action was run, but failed");
- throw mLastThrowable;
- }
- Assert.fail("Action was run");
- }
-
- public boolean waitForTest(long timeoutMs) throws Throwable {
- if (mWaitSemaphore.tryAcquire(timeoutMs, TimeUnit.MILLISECONDS)) {
- if (mLastThrowable != null) {
- throw mLastThrowable;
- }
- return true;
- }
- return false;
- }
-
- public void resetRunState() {
- mWaitSemaphore.drainPermits();
- }
-
- public static <U> TestAction<U> buildEmptyAction() {
- return new TestAction<U>() {
- @Override
- public void run(U param) {
- }
- };
- }
-}
diff --git a/tests/android_support_car_api_test/src/com/android/support/car/apitest/TestUtil.java b/tests/android_support_car_api_test/src/com/android/support/car/apitest/TestUtil.java
deleted file mode 100644
index 71213ad..0000000
--- a/tests/android_support_car_api_test/src/com/android/support/car/apitest/TestUtil.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2016 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.support.car.apitest;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.util.LinkedList;
-import java.util.List;
-
-public class TestUtil {
-
- public static List<Field> getAllPublicStaticFinalMembers(Class cls, Class typeClass) {
- List<Field> result = new LinkedList<>();
- for (Field f : cls.getDeclaredFields()) {
- int mod = f.getModifiers();
- if (Modifier.isPublic(mod) && Modifier.isStatic(mod) && Modifier.isFinal(mod)) {
- result.add(f);
- }
- }
- return result;
- }
-}
diff --git a/tests/carservice_test/Android.mk b/tests/carservice_test/Android.mk
index d4c327c..0215cd1 100644
--- a/tests/carservice_test/Android.mk
+++ b/tests/carservice_test/Android.mk
@@ -38,16 +38,21 @@
LOCAL_PROGUARD_ENABLED := disabled
LOCAL_STATIC_JAVA_LIBRARIES := junit
-LOCAL_STATIC_JAVA_LIBRARIES += car-service-lib-for-test \
- vehicle-hal-support-lib \
- car-systemtest \
- mockito-target-inline \
- android-support-test \
- android.hardware.automotive.vehicle-V2.0-java \
- com.android.car.test.utils \
- truth-prebuilt
+LOCAL_STATIC_JAVA_LIBRARIES += \
+ car-service-lib-for-test \
+ vehicle-hal-support-lib \
+ car-systemtest \
+ mockito-target-inline \
+ android-support-test \
+ android.hardware.automotive.vehicle-V2.0-java \
+ com.android.car.test.utils \
+ truth-prebuilt
-LOCAL_JAVA_LIBRARIES := android.car android.test.runner android.test.base
+LOCAL_JAVA_LIBRARIES := \
+ android.car \
+ android.car.user \
+ android.test.runner \
+ android.test.base
LOCAL_JNI_SHARED_LIBRARIES := libdexmakerjvmtiagent
diff --git a/tests/carservice_test/src/com/android/car/CarDrivingRestrictionsTest.java b/tests/carservice_test/src/com/android/car/CarDrivingRestrictionsTest.java
index 31ed4b2..7f94cbb 100644
--- a/tests/carservice_test/src/com/android/car/CarDrivingRestrictionsTest.java
+++ b/tests/carservice_test/src/com/android/car/CarDrivingRestrictionsTest.java
@@ -48,6 +48,16 @@
.getSimpleName();
private CarDrivingStateManager mCarDrivingStateManager;
private CarUxRestrictionsManager mCarUxRManager;
+ // Currently set restrictions currently set in car_ux_restrictions_map.xml
+ private static final int UX_RESTRICTIONS_MOVING = CarUxRestrictions.UX_RESTRICTIONS_NO_DIALPAD
+ | CarUxRestrictions.UX_RESTRICTIONS_NO_FILTERING
+ | CarUxRestrictions.UX_RESTRICTIONS_LIMIT_STRING_LENGTH
+ | CarUxRestrictions.UX_RESTRICTIONS_NO_KEYBOARD
+ | CarUxRestrictions.UX_RESTRICTIONS_NO_VIDEO
+ | CarUxRestrictions.UX_RESTRICTIONS_LIMIT_CONTENT
+ | CarUxRestrictions.UX_RESTRICTIONS_NO_SETUP
+ | CarUxRestrictions.UX_RESTRICTIONS_NO_TEXT_MESSAGE;
+
@Override
protected synchronized void configureMockedHal() {
@@ -128,8 +138,7 @@
restrictions = listener.waitForUxRestrictionsChange();
assertNotNull(restrictions);
assertTrue(restrictions.isRequiresDistractionOptimization());
- assertThat(restrictions.getActiveRestrictions())
- .isEqualTo(CarUxRestrictions.UX_RESTRICTIONS_FULLY_RESTRICTED);
+ assertThat(restrictions.getActiveRestrictions()).isEqualTo(UX_RESTRICTIONS_MOVING);
// Test Idling state and corresponding restrictions based on car_ux_restrictions_map.xml
listener.reset();
diff --git a/tests/carservice_test/src/com/android/car/CarPackageManagerTest.java b/tests/carservice_test/src/com/android/car/CarPackageManagerTest.java
index 9c65555..84afde9 100644
--- a/tests/carservice_test/src/com/android/car/CarPackageManagerTest.java
+++ b/tests/carservice_test/src/com/android/car/CarPackageManagerTest.java
@@ -25,6 +25,7 @@
import android.car.content.pm.CarAppBlockingPolicy;
import android.car.content.pm.CarPackageManager;
import android.support.test.filters.SmallTest;
+import android.support.test.filters.Suppress;
import android.support.test.runner.AndroidJUnit4;
import android.util.Log;
@@ -82,6 +83,9 @@
assertFalse(mCarPm.isServiceDistractionOptimized(serviceClassName, null));
}
+ // TODO(b/113531788): Suppress this temporarily. Need to find the cause of issue and re-evaluate
+ // if the test is necessary.
+ @Suppress
@Test
public void testSettingWhitelist() throws Exception {
init(false);
diff --git a/tests/carservice_test/src/com/android/car/VmsHalServiceSubscriptionEventTest.java b/tests/carservice_test/src/com/android/car/VmsHalServiceSubscriptionEventTest.java
index 82c9361..16b0572 100644
--- a/tests/carservice_test/src/com/android/car/VmsHalServiceSubscriptionEventTest.java
+++ b/tests/carservice_test/src/com/android/car/VmsHalServiceSubscriptionEventTest.java
@@ -25,6 +25,8 @@
import android.hardware.automotive.vehicle.V2_0.VehicleProperty;
import android.hardware.automotive.vehicle.V2_0.VehiclePropertyAccess;
import android.hardware.automotive.vehicle.V2_0.VehiclePropertyChangeMode;
+import android.hardware.automotive.vehicle.V2_0.VmsAvailabilityStateIntegerValuesIndex;
+import android.hardware.automotive.vehicle.V2_0.VmsBaseMessageIntegerValuesIndex;
import android.hardware.automotive.vehicle.V2_0.VmsMessageType;
import android.hardware.automotive.vehicle.V2_0.VmsMessageWithLayerIntegerValuesIndex;
import android.hardware.automotive.vehicle.V2_0.VmsSubscriptionsStateIntegerValuesIndex;
@@ -66,9 +68,9 @@
@Override
public void setUp() throws Exception {
+ mHalHandlerSemaphore = new Semaphore(0);
super.setUp();
mHal = getMockedVehicleHal();
- mHalHandlerSemaphore = new Semaphore(0);
}
@Test
@@ -99,19 +101,30 @@
* responds with the same layers.
*/
private void subscriptionTestLogic(List<VmsLayer> layers) throws Exception {
+ // Wait for availability change message that signals the service is ready.
+ assertTrue(mHalHandlerSemaphore.tryAcquire(2L, TimeUnit.SECONDS));
+ // Validate response.
+ ArrayList<Integer> v = mHalHandler.getValues();
+ int messageType = v.get(VmsBaseMessageIntegerValuesIndex.MESSAGE_TYPE);
+ int sequenceNumber = v.get(VmsAvailabilityStateIntegerValuesIndex.SEQUENCE_NUMBER);
+ assertEquals(VmsMessageType.AVAILABILITY_CHANGE, messageType);
+ assertEquals(0, sequenceNumber);
+
for (VmsLayer layer : layers) {
subscribeViaHal(layer);
}
// Send subscription request.
mHal.injectEvent(createHalSubscriptionRequest());
- // Wait for response.
+
+ // Wait for subscription response
assertTrue(mHalHandlerSemaphore.tryAcquire(2L, TimeUnit.SECONDS));
+
// Validate response.
- ArrayList<Integer> v = mHalHandler.getValues();
- int messageType = v.get(VmsSubscriptionsStateIntegerValuesIndex.MESSAGE_TYPE);
- int sequenceNumber = v.get(VmsSubscriptionsStateIntegerValuesIndex.SEQUENCE_NUMBER);
- int numberLayers = v.get(VmsSubscriptionsStateIntegerValuesIndex.NUMBER_OF_LAYERS);
+ v = mHalHandler.getValues();
+ messageType = v.get(VmsBaseMessageIntegerValuesIndex.MESSAGE_TYPE);
assertEquals(VmsMessageType.SUBSCRIPTIONS_RESPONSE, messageType);
+ sequenceNumber = v.get(VmsSubscriptionsStateIntegerValuesIndex.SEQUENCE_NUMBER);
+ int numberLayers = v.get(VmsSubscriptionsStateIntegerValuesIndex.NUMBER_OF_LAYERS);
assertEquals(layers.size(), numberLayers);
List<VmsLayer> receivedLayers = new ArrayList<>();
int start = VmsSubscriptionsStateIntegerValuesIndex.SUBSCRIPTIONS_START;
@@ -136,11 +149,11 @@
assertTrue(mHalHandlerSemaphore.tryAcquire(2L, TimeUnit.SECONDS));
// Validate response.
ArrayList<Integer> v = mHalHandler.getValues();
- int messsageType = v.get(VmsMessageWithLayerIntegerValuesIndex.MESSAGE_TYPE);
+ int messsageType = v.get(VmsBaseMessageIntegerValuesIndex.MESSAGE_TYPE);
+ assertEquals(VmsMessageType.SUBSCRIBE, messsageType);
int layerId = v.get(VmsMessageWithLayerIntegerValuesIndex.LAYER_TYPE);
int layerVersion = v.get(VmsMessageWithLayerIntegerValuesIndex.LAYER_VERSION);
int fused = v.get(VmsMessageWithLayerIntegerValuesIndex.LAYER_SUBTYPE);
- assertEquals(VmsMessageType.SUBSCRIBE, messsageType);
assertEquals(layer.getType(), layerId);
assertEquals(layer.getVersion(), layerVersion);
}
@@ -173,4 +186,4 @@
return mValues;
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/carservice_test/src/com/android/car/VmsOperationRecorderTest.java b/tests/carservice_test/src/com/android/car/VmsOperationRecorderTest.java
index 7820936..c05ec99 100644
--- a/tests/carservice_test/src/com/android/car/VmsOperationRecorderTest.java
+++ b/tests/carservice_test/src/com/android/car/VmsOperationRecorderTest.java
@@ -26,8 +26,6 @@
import android.support.test.runner.AndroidJUnit4;
import android.util.Log;
-import junit.framework.TestCase;
-
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
@@ -112,13 +110,13 @@
@Test
public void testSetLayersOffering0() throws Exception {
mRecorder.setLayersOffering(layersOffering0);
- assertJsonMsgEquals("{'setLayersOffering':{}}");
+ assertJsonMsgEquals("{'setLayersOffering':{'publisherId':66}}");
}
@Test
public void testSetLayersOffering2() throws Exception {
mRecorder.setLayersOffering(layersOffering2);
- assertJsonMsgEquals("{'setLayersOffering':{'layerDependency':["
+ assertJsonMsgEquals("{'setLayersOffering':{'publisherId':66,'layerDependency':["
+ "{'layer':{'type':3,'subtype':5,'version':4}},"
+ "{'layer':{'type':1,'subtype':3,'version':2},'dependency':["
+ "{'type':2,'subtype':4,'version':3},{'type':3,'subtype':5,'version':4}]}"
@@ -175,13 +173,13 @@
@Test
public void testSetPublisherLayersOffering() throws Exception {
mRecorder.setPublisherLayersOffering(layersOffering1);
- assertJsonMsgEquals("{'setPublisherLayersOffering':{'layerDependency':["
+ assertJsonMsgEquals("{'setPublisherLayersOffering':{'publisherId':66,'layerDependency':["
+ "{'layer':{'type':3,'subtype':5,'version':4}}]}}");
}
@Test public void testSetHalPublisherLayersOffering() throws Exception {
mRecorder.setHalPublisherLayersOffering(layersOffering1);
- assertJsonMsgEquals("{'setHalPublisherLayersOffering':{'layerDependency':["
+ assertJsonMsgEquals("{'setHalPublisherLayersOffering':{'publisherId':66,'layerDependency':["
+ "{'layer':{'type':3,'subtype':5,'version':4}}]}}");
}
diff --git a/tests/carservice_test/src/com/android/car/VmsSubscriberManagerTest.java b/tests/carservice_test/src/com/android/car/VmsSubscriberManagerTest.java
index 643ffff..63b0e62 100644
--- a/tests/carservice_test/src/com/android/car/VmsSubscriberManagerTest.java
+++ b/tests/carservice_test/src/com/android/car/VmsSubscriberManagerTest.java
@@ -119,9 +119,9 @@
@Override
public void setUp() throws Exception {
mExecutor = new ThreadPerTaskExecutor();
- super.setUp();
mSubscriberSemaphore = new Semaphore(0);
mHalHandlerSemaphore = new Semaphore(0);
+ super.setUp();
}
// Test injecting a value in the HAL and verifying it propagates to a subscriber.
diff --git a/tests/carservice_test/src/com/android/car/garagemode/ControllerTest.java b/tests/carservice_test/src/com/android/car/garagemode/ControllerTest.java
new file mode 100644
index 0000000..d724161
--- /dev/null
+++ b/tests/carservice_test/src/com/android/car/garagemode/ControllerTest.java
@@ -0,0 +1,195 @@
+/*
+ * 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 com.android.car.garagemode;
+
+import static com.android.car.garagemode.GarageMode.ACTION_GARAGE_MODE_OFF;
+import static com.android.car.garagemode.GarageMode.ACTION_GARAGE_MODE_ON;
+import static com.android.car.garagemode.GarageMode.JOB_SNAPSHOT_INITIAL_UPDATE_MS;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+import android.car.Car;
+import android.car.CarNotConnectedException;
+import android.car.hardware.power.CarPowerManager;
+import android.car.hardware.power.CarPowerManager.CarPowerStateListener;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Handler;
+import android.os.Looper;
+import android.support.test.filters.SmallTest;
+import android.support.test.runner.AndroidJUnit4;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+
+@RunWith(AndroidJUnit4.class)
+@SmallTest
+public class ControllerTest {
+ private static final Logger LOG = new Logger("ControllerTest");
+
+ @Mock private Context mContextMock;
+ @Mock private Looper mLooperMock;
+ @Mock private Handler mHandlerMock;
+ @Mock private Car mCarMock;
+ @Mock private CarPowerManager mCarPowerManagerMock;
+ @Captor private ArgumentCaptor<Intent> mIntentCaptor;
+ @Captor private ArgumentCaptor<Integer> mIntegerCaptor;
+
+ private static final String[] sTemplateWakeupSchedule = new String[] {
+ "15m,1",
+ "6h,4",
+ "1d,1"};
+ private static final int[] sTemplateWakeupScheduleSeconds = new int[] {
+ 15 * 60,
+ 6 * 60 * 60,
+ 6 * 60 * 60,
+ 6 * 60 * 60,
+ 6 * 60 * 60,
+ 24 * 60 * 60};
+ private Controller mController;
+ private WakeupPolicy mWakeupPolicy;
+ private CompletableFuture<Void> mFuture;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mWakeupPolicy = new WakeupPolicy(sTemplateWakeupSchedule);
+ mController = new Controller(
+ mContextMock,
+ mLooperMock,
+ mWakeupPolicy,
+ mHandlerMock,
+ null,
+ mCarMock);
+ mController.setCarPowerManager(mCarPowerManagerMock);
+ mFuture = new CompletableFuture<>();
+ }
+
+ @Test
+ public void testOnSuspendEnter_shouldInitiateGarageMode() {
+ startAndAssertGarageModeWithSignal(CarPowerStateListener.SUSPEND_ENTER);
+ verify(mContextMock).sendBroadcast(mIntentCaptor.capture());
+ verifyGarageModeBroadcast(mIntentCaptor.getAllValues(), 1, ACTION_GARAGE_MODE_ON);
+ }
+
+ @Test
+ public void testOnShutdownEnter_shouldInitiateGarageMode() {
+ startAndAssertGarageModeWithSignal(CarPowerStateListener.SHUTDOWN_ENTER);
+ verify(mContextMock).sendBroadcast(mIntentCaptor.capture());
+ verifyGarageModeBroadcast(mIntentCaptor.getAllValues(), 1, ACTION_GARAGE_MODE_ON);
+ }
+
+ @Test
+ public void testOnShutdownCancelled_shouldCancelGarageMode() {
+ startAndAssertGarageModeWithSignal(CarPowerStateListener.SUSPEND_ENTER);
+
+ // Sending shutdown cancelled signal to controller, GarageMode should wrap up and stop
+ mController.onStateChanged(CarPowerStateListener.SHUTDOWN_CANCELLED, null);
+
+ // Verify that wake up counter is reset and GarageMode is not active anymore
+ assertThat(mController.mWakeupPolicy.mIndex).isEqualTo(0);
+ assertThat(mController.isGarageModeActive()).isFalse();
+
+ // Verify that monitoring thread has stopped
+ verify(mHandlerMock).removeCallbacks(any(Runnable.class));
+
+ // Verify that OFF signal broadcasted to JobScheduler
+ verify(mContextMock, times(2)).sendBroadcast(mIntentCaptor.capture());
+ verifyGarageModeBroadcast(mIntentCaptor.getAllValues(), 1, ACTION_GARAGE_MODE_ON);
+ verifyGarageModeBroadcast(mIntentCaptor.getAllValues(), 2, ACTION_GARAGE_MODE_OFF);
+
+ // Verify that bounded future got cancelled
+ assertThat(mFuture.isDone()).isTrue();
+ assertThat(mFuture.isCancelled()).isTrue();
+ }
+
+ @Test
+ public void testWakeupTimeProgression() throws CarNotConnectedException {
+ // Doing initial suspend
+ startAndAssertGarageModeWithSignal(CarPowerStateListener.SUSPEND_ENTER);
+
+ // Finish GarageMode and check next scheduled time
+ mController.finishGarageMode();
+ assertThat(mController.isGarageModeActive()).isFalse();
+
+ // Start GarageMode again without waking up car
+ mFuture = new CompletableFuture<>();
+ mController.onStateChanged(CarPowerStateListener.SUSPEND_ENTER, mFuture);
+
+ assertThat(mController.mWakeupPolicy.mIndex).isEqualTo(2);
+ assertThat(mController.isGarageModeActive()).isTrue();
+
+ // Finish GarageMode and check next scheduled time
+ mController.finishGarageMode();
+ assertThat(mController.isGarageModeActive()).isFalse();
+
+ for (int i = 0; i < 4; i++) {
+ mFuture = new CompletableFuture<>();
+ mController.onStateChanged(CarPowerStateListener.SUSPEND_ENTER, mFuture);
+ mController.finishGarageMode();
+ assertThat(mController.isGarageModeActive()).isFalse();
+ assertThat(mController.mWakeupPolicy.mIndex).isEqualTo(i + 3);
+ }
+ verify(mCarPowerManagerMock, times(6)).scheduleNextWakeupTime(mIntegerCaptor.capture());
+ verifyScheduledTimes(mIntegerCaptor.getAllValues());
+ }
+
+ private void verifyGarageModeBroadcast(List<Intent> intents, int times, String action) {
+ // Capture sent intent and verify that it is correct
+ Intent i = intents.get(times - 1);
+ assertThat(i.getAction()).isEqualTo(action);
+
+ // Verify that additional critical flags are bundled as well
+ final int flags = Intent.FLAG_RECEIVER_REGISTERED_ONLY | Intent.FLAG_RECEIVER_NO_ABORT;
+ boolean areRequiredFlagsSet = ((flags & i.getFlags()) == flags);
+ assertThat(areRequiredFlagsSet).isTrue();
+ }
+
+ private void verifyScheduledTimes(List<Integer> ints) {
+ int idx = 0;
+ for (int i : ints) {
+ assertThat(i).isEqualTo(sTemplateWakeupScheduleSeconds[idx++]);
+ }
+ }
+
+ private void startAndAssertGarageModeWithSignal(int signal) {
+ assertThat(mController.mWakeupPolicy.mIndex).isEqualTo(0);
+
+ // Sending notification that state has changed
+ mController.onStateChanged(signal, mFuture);
+
+ // Assert that GarageMode has been started
+ assertThat(mController.isGarageModeActive()).isTrue();
+ assertThat(mController.mWakeupPolicy.mIndex).isEqualTo(1);
+
+ // Verify that worker that polls running jobs from JobScheduler is scheduled.
+ verify(mHandlerMock).postDelayed(any(), eq(JOB_SNAPSHOT_INITIAL_UPDATE_MS));
+ }
+}
diff --git a/tests/carservice_test/src/com/android/car/garagemode/GarageModeServiceTest.java b/tests/carservice_test/src/com/android/car/garagemode/GarageModeServiceTest.java
index 8a9a90d..b67c50d 100644
--- a/tests/carservice_test/src/com/android/car/garagemode/GarageModeServiceTest.java
+++ b/tests/carservice_test/src/com/android/car/garagemode/GarageModeServiceTest.java
@@ -16,286 +16,52 @@
package com.android.car.garagemode;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static com.google.common.truth.Truth.assertThat;
-import android.car.settings.CarSettings;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.ContentResolver;
import android.content.Context;
-import android.content.SharedPreferences;
-import android.os.HandlerThread;
-import android.os.Looper;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.annotation.UiThreadTest;
-import android.support.test.filters.MediumTest;
+import android.support.test.filters.SmallTest;
import android.support.test.runner.AndroidJUnit4;
-import com.android.car.CarPowerManagementService;
-import com.android.car.DeviceIdleControllerWrapper;
-import com.android.car.R;
-
+import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import java.io.PrintWriter;
import java.util.List;
@RunWith(AndroidJUnit4.class)
-@MediumTest
+@SmallTest
public class GarageModeServiceTest {
- private static final int WAIT_FOR_COMPLETION_TIME_MS = 3000;
+ @Mock private Context mMockContext;
+ @Mock private Controller mMockController;
+ @Mock private ContentResolver mMockContentResolver;
+ @Mock private PrintWriter mMockPrintWriter;
+ @Captor private ArgumentCaptor<String> mCaptorString;
- @Test
- @UiThreadTest
- public void testMaintenanceActive() throws Exception {
- MockCarPowerManagementService powerManagementService = new MockCarPowerManagementService();
- MockDeviceIdleController controller = new MockDeviceIdleController(true);
- GarageModeServiceForTest garageMode = new GarageModeServiceForTest(getContext(),
- powerManagementService,
- controller);
- garageMode.init();
- final int index1 = garageMode.getGarageModeIndex();
- assertEquals(garageMode.getMaintenanceWindow(),
- powerManagementService.doNotifyPrepareShutdown(false));
- assertEquals(true, garageMode.isInGarageMode());
- assertEquals(true, garageMode.isMaintenanceActive());
+ private GarageModeService mService;
- controller.setMaintenanceActivity(false);
- assertEquals(false, garageMode.isInGarageMode());
- assertEquals(false, garageMode.isMaintenanceActive());
- final int index2 = garageMode.getGarageModeIndex();
-
- assertEquals(1, index2 - index1);
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ when(mMockContext.getContentResolver()).thenReturn(mMockContentResolver);
+ mService = new GarageModeService(mMockContext, mMockController);
}
@Test
- @UiThreadTest
- public void testMaintenanceInactive() throws Exception {
- MockCarPowerManagementService powerManagementService = new MockCarPowerManagementService();
- MockDeviceIdleController controller = new MockDeviceIdleController(false);
- GarageModeServiceForTest garageMode = new GarageModeServiceForTest(getContext(),
- powerManagementService,
- controller);
- garageMode.init();
- assertEquals(garageMode.getMaintenanceWindow(),
- powerManagementService.doNotifyPrepareShutdown(false));
- assertEquals(true, garageMode.isInGarageMode());
- assertEquals(false, garageMode.isMaintenanceActive());
- }
+ public void testDump_shouldSucceed() {
+ when(mMockController.isGarageModeActive()).thenReturn(true);
- @Test
- @UiThreadTest
- public void testDisplayOn() throws Exception {
- MockCarPowerManagementService powerManagementService = new MockCarPowerManagementService();
- MockDeviceIdleController controller = new MockDeviceIdleController(true);
- GarageModeServiceForTest garageMode = new GarageModeServiceForTest(getContext(),
- powerManagementService,
- controller);
- garageMode.init();
-
- powerManagementService.doNotifyPrepareShutdown(false);
- assertTrue(garageMode.getGarageModeIndex() > 0);
- powerManagementService.doNotifyPowerOn(true);
- assertEquals(0, garageMode.getGarageModeIndex());
- }
-
- @Test
- @UiThreadTest
- public void testPolicyIndexing() throws Exception {
- // Background processing of asynchronous messages.
- HandlerThread thread = new HandlerThread("testPolicy");
- thread.start();
-
- // Test that the index is saved in the prefs and that this index is used to determine the
- // next wakeup time.
- MockCarPowerManagementService powerManagementService = new MockCarPowerManagementService();
- MockDeviceIdleController controller = new MockDeviceIdleController(true);
- GarageModeServiceForTest garageMode = new GarageModeServiceForTest(getContext(),
- powerManagementService,
- controller,
- thread.getLooper());
- GarageModePolicy policy = new GarageModePolicy(new String[] {
- "15m,1",
- "6h,8",
- "1d,5",
- });
- SharedPreferences prefs =
- getContext().getSharedPreferences("testPolicy", Context.MODE_PRIVATE);
- prefs.edit().putInt("garage_mode_index", 0).apply();
- garageMode.init(policy, prefs);
-
- assertEquals(15 * 60, garageMode.getWakeupTime());
- garageMode.onPrepareShutdown(false);
- garageMode.onShutdown();
- assertEquals(6 * 60 * 60, garageMode.getWakeupTime());
- Thread.sleep(WAIT_FOR_COMPLETION_TIME_MS);
- assertEquals(1, prefs.getInt("garage_mode_index", 0));
-
- garageMode = new GarageModeServiceForTest(getContext(),
- powerManagementService,
- controller,
- thread.getLooper());
- // Jump ahead 8 restarts.
- prefs = getContext().getSharedPreferences("testPolicy", Context.MODE_PRIVATE);
- prefs.edit().putInt("garage_mode_index", 8).apply();
- garageMode.init(policy, prefs);
-
- assertEquals(6 * 60 * 60, garageMode.getWakeupTime());
- garageMode.onPrepareShutdown(false);
- garageMode.onShutdown();
- assertEquals(24 * 60 * 60, garageMode.getWakeupTime());
- Thread.sleep(WAIT_FOR_COMPLETION_TIME_MS);
- assertEquals(9, prefs.getInt("garage_mode_index", 0));
- }
-
- @Test
- public void testPolicyParserValid() throws Exception {
- WakeupInterval[] expected = new WakeupInterval[] {
- new WakeupInterval(15 * 60, 1),
- new WakeupInterval(6 * 60 * 60, 8),
- new WakeupInterval(24 * 60 * 60, 5),
- };
- List<WakeupInterval> received = new GarageModePolicy(new String[] {
- "15m,1",
- "6h,8",
- "1d,5",
- }).getWakeupIntervals();
-
- assertEquals(expected.length, received.size());
- for (int i = 0; i < expected.length; i++) {
- assertEquals(expected[i].getWakeupInterval(), received.get(i).getWakeupInterval());
- assertEquals(expected[i].getNumAttempts(), received.get(i).getNumAttempts());
- }
- }
-
- @Test
- public void testPolicyParser() {
- GarageModePolicy policy;
-
- policy = new GarageModePolicy(null);
- assertEquals(0, policy.getWakeupIntervals().size());
-
- policy = new GarageModePolicy(new String[] {});
- assertEquals(0, policy.getWakeupIntervals().size());
-
- policy = new GarageModePolicy(new String[] {""});
- assertEquals(0, policy.getWakeupIntervals().size());
-
- policy = new GarageModePolicy(new String[] {"15,1"});
- assertEquals(0, policy.getWakeupIntervals().size());
-
- policy = new GarageModePolicy(new String[] {"15y,1"});
- assertEquals(0, policy.getWakeupIntervals().size());
-
- policy = new GarageModePolicy(new String[] {"15m"});
- assertEquals(0, policy.getWakeupIntervals().size());
-
- policy = new GarageModePolicy(new String[] {"15m,Q"});
- assertEquals(0, policy.getWakeupIntervals().size());
-
- policy = new GarageModePolicy(new String[] {"15m,-1"});
- assertEquals(0, policy.getWakeupIntervals().size());
-
- policy = new GarageModePolicy(new String[] {",1"});
- assertEquals(0, policy.getWakeupIntervals().size());
-
- policy = new GarageModePolicy(new String[] {"m,1"});
- assertEquals(0, policy.getWakeupIntervals().size());
-
- policy = new GarageModePolicy(new String[] {"Qm,1"});
- assertEquals(0, policy.getWakeupIntervals().size());
-
- policy = new GarageModePolicy(new String[] {"-10m,1"});
- assertEquals(0, policy.getWakeupIntervals().size());
-
- }
-
- @Test
- public void testPolicyInResource() throws Exception {
- // Test that the policy in the resource file parses fine.
- GarageModePolicy policy = new GarageModePolicy(getContext().getResources().getStringArray(
- R.array.config_garageModeCadence));
- assertTrue(policy.getWakeupIntervals().size() > 0);
- }
-
- private static class MockCarPowerManagementService extends CarPowerManagementService {
- public long doNotifyPrepareShutdown(boolean shuttingdown) {
- return notifyPrepareShutdown(shuttingdown);
- }
-
- public void doNotifyPowerOn(boolean displayOn) {
- notifyPowerOn(displayOn);
- }
- }
-
- private static class GarageModeServiceForTest extends GarageModeService {
- GarageModeServiceForTest(Context context,
- CarPowerManagementService powerManagementService,
- DeviceIdleControllerWrapper controllerWrapper,
- Looper looper) {
- super(context, powerManagementService, controllerWrapper, looper);
- }
-
- GarageModeServiceForTest(Context context,
- CarPowerManagementService powerManagementService,
- DeviceIdleControllerWrapper controllerWrapper) {
- super(context, powerManagementService, controllerWrapper, Looper.myLooper());
- }
-
- public long getMaintenanceWindow() {
- return CarSettings.DEFAULT_GARAGE_MODE_MAINTENANCE_WINDOW;
- }
-
- public boolean isInGarageMode() {
- synchronized (this) {
- return mInGarageMode;
- }
- }
-
- public boolean isMaintenanceActive() {
- synchronized (this) {
- return mMaintenanceActive;
- }
- }
-
- public int getGarageModeIndex() {
- synchronized (this) {
- return mGarageModeIndex;
- }
- }
- }
-
- private Context getContext() {
- return InstrumentationRegistry.getTargetContext();
- }
-
- private static class MockDeviceIdleController extends DeviceIdleControllerWrapper {
-
- private final boolean mInitialActive;
-
- MockDeviceIdleController(boolean active) {
- super();
- mInitialActive = active;
- }
-
- @Override
- protected boolean startLocked() {
- return mInitialActive;
- }
-
- @Override
- public void stopTracking() {
- // nothing to clean up
- }
-
- @Override
- protected void reportActiveLocked(final boolean active) {
- // directly calling the callback instead of posting to handler, to make testing easier.
- if (mListener.get() != null) {
- mListener.get().onMaintenanceActivityChanged(active);
- }
- }
-
- public void setMaintenanceActivity(boolean active) {
- super.setMaintenanceActivity(active);
- }
+ mService.dump(mMockPrintWriter);
+ verify(mMockPrintWriter).println(mCaptorString.capture());
+ List<String> strings = mCaptorString.getAllValues();
+ assertThat(strings.get(0)).isEqualTo("GarageModeInProgress true");
}
}
diff --git a/tests/carservice_test/src/com/android/car/garagemode/WakeupPolicyTest.java b/tests/carservice_test/src/com/android/car/garagemode/WakeupPolicyTest.java
new file mode 100644
index 0000000..0a36754
--- /dev/null
+++ b/tests/carservice_test/src/com/android/car/garagemode/WakeupPolicyTest.java
@@ -0,0 +1,86 @@
+/*
+ * 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 com.android.car.garagemode;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+import android.support.test.runner.AndroidJUnit4;
+
+import com.android.car.R;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+@SmallTest
+public class WakeupPolicyTest {
+ @Test
+ public void testPolicyParser() {
+ WakeupPolicy policy;
+
+ policy = new WakeupPolicy(null);
+ assertThat(policy.getWakupIntervalsAmount()).isEqualTo(0);
+
+ policy = new WakeupPolicy(new String[] {});
+ assertThat(policy.getWakupIntervalsAmount()).isEqualTo(0);
+
+ policy = new WakeupPolicy(new String[] {""});
+ assertThat(policy.getWakupIntervalsAmount()).isEqualTo(0);
+
+ policy = new WakeupPolicy(new String[] {"15,1"});
+ assertThat(policy.getWakupIntervalsAmount()).isEqualTo(0);
+
+ policy = new WakeupPolicy(new String[] {"15y,1"});
+ assertThat(policy.getWakupIntervalsAmount()).isEqualTo(0);
+
+ policy = new WakeupPolicy(new String[] {"15m"});
+ assertThat(policy.getWakupIntervalsAmount()).isEqualTo(0);
+
+ policy = new WakeupPolicy(new String[] {"15m,Q"});
+ assertThat(policy.getWakupIntervalsAmount()).isEqualTo(0);
+
+ policy = new WakeupPolicy(new String[] {"15m,-1"});
+ assertThat(policy.getWakupIntervalsAmount()).isEqualTo(0);
+
+ policy = new WakeupPolicy(new String[] {",1"});
+ assertThat(policy.getWakupIntervalsAmount()).isEqualTo(0);
+
+ policy = new WakeupPolicy(new String[] {"m,1"});
+ assertThat(policy.getWakupIntervalsAmount()).isEqualTo(0);
+
+ policy = new WakeupPolicy(new String[] {"Qm,1"});
+ assertThat(policy.getWakupIntervalsAmount()).isEqualTo(0);
+
+ policy = new WakeupPolicy(new String[] {"-10m,1"});
+ assertThat(policy.getWakupIntervalsAmount()).isEqualTo(0);
+ }
+
+ @Test
+ public void testPolicyInResource() throws Exception {
+ // Test that the policy in the resource file parses fine.
+ WakeupPolicy policy = new WakeupPolicy(
+ getContext().getResources().getStringArray(R.array.config_garageModeCadence));
+ assertThat(policy.getWakupIntervalsAmount() > 0).isTrue();
+ }
+
+ private Context getContext() {
+ return InstrumentationRegistry.getTargetContext();
+ }
+}
diff --git a/tests/carservice_unit_test/Android.mk b/tests/carservice_unit_test/Android.mk
index 06e50b7..9ea3b6d 100644
--- a/tests/carservice_unit_test/Android.mk
+++ b/tests/carservice_unit_test/Android.mk
@@ -36,6 +36,7 @@
LOCAL_JAVA_LIBRARIES := \
android.car \
+ android.car.user \
android.test.runner \
android.test.base
diff --git a/tests/carservice_unit_test/src/com/android/car/CarLocationServiceTest.java b/tests/carservice_unit_test/src/com/android/car/CarLocationServiceTest.java
index b071e99..bee8282 100644
--- a/tests/carservice_unit_test/src/com/android/car/CarLocationServiceTest.java
+++ b/tests/carservice_unit_test/src/com/android/car/CarLocationServiceTest.java
@@ -18,6 +18,7 @@
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertTrue;
+import static junit.framework.Assert.fail;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
@@ -26,12 +27,14 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import android.car.Car;
import android.car.hardware.CarPropertyValue;
import android.car.hardware.CarSensorEvent;
import android.car.hardware.CarSensorManager;
+import android.car.hardware.power.CarPowerManager.CarPowerStateListener;
import android.car.hardware.property.CarPropertyEvent;
import android.car.hardware.property.ICarPropertyEventListener;
-import android.car.user.CarUserManagerHelper;
+import android.car.userlib.CarUserManagerHelper;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
@@ -62,6 +65,7 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CountDownLatch;
import java.util.stream.Collectors;
@@ -74,7 +78,6 @@
* 1. {@link Context} provides files and a mocked {@link LocationManager}.
* 2. {@link LocationManager} provides dummy {@link Location}s.
* 3. {@link CarPropertyService} registers a listener for ignition state events.
- * 3. {@link CarPowerManagementService} registers a handler for power events.
* 4. {@link CarUserManagerHelper} tells whether or not the system user is headless.
*/
@RunWith(AndroidJUnit4.class)
@@ -84,10 +87,10 @@
private CarLocationService mCarLocationService;
private Context mContext;
private CountDownLatch mLatch;
+ private Car mCar;
@Mock private Context mMockContext;
@Mock private LocationManager mMockLocationManager;
@Mock private CarPropertyService mMockCarPropertyService;
- @Mock private CarPowerManagementService mMockCarPowerManagementService;
@Mock private CarUserManagerHelper mMockCarUserManagerHelper;
/**
@@ -98,8 +101,9 @@
MockitoAnnotations.initMocks(this);
mContext = InstrumentationRegistry.getTargetContext();
mLatch = new CountDownLatch(1);
- mCarLocationService = new CarLocationService(mMockContext, mMockCarPowerManagementService,
- mMockCarPropertyService, mMockCarUserManagerHelper) {
+ mCar = new Car(mContext, null, null);
+ mCarLocationService = new CarLocationService(
+ mMockContext, mMockCarPropertyService, mMockCarUserManagerHelper, mCar) {
@Override
void asyncOperation(Runnable operation) {
super.asyncOperation(() -> {
@@ -143,8 +147,6 @@
public void testRegistersToReceiveEvents() {
ArgumentCaptor<IntentFilter> argument = ArgumentCaptor.forClass(IntentFilter.class);
mCarLocationService.init();
- verify(mMockCarPowerManagementService).registerPowerEventProcessingHandler(
- mCarLocationService);
verify(mMockContext).registerReceiver(eq(mCarLocationService), argument.capture());
IntentFilter intentFilter = argument.getValue();
assertEquals(4, intentFilter.countActions());
@@ -203,7 +205,7 @@
}
/**
- * Test that the {@link CarLocationService} parses a location from a JSON seialization and then
+ * Test that the {@link CarLocationService} parses a location from a JSON serialization and then
* injects it into the {@link LocationManager} upon user switch if the system user is headless.
*/
@Test
@@ -366,10 +368,10 @@
/**
* Test that the {@link CarLocationService} stores the {@link LocationManager}'s last known
- * location upon prepare-shutdown events.
+ * location upon power state-changed SUSPEND events.
*/
@Test
- public void testStoresLocationUponPrepareShutdown()
+ public void testStoresLocationUponStateChanged()
throws IOException, RemoteException, InterruptedException {
long currentTime = System.currentTimeMillis();
long elapsedTime = SystemClock.elapsedRealtimeNanos();
@@ -385,9 +387,11 @@
.thenReturn(timbuktu);
when(mMockContext.getFileStreamPath("location_cache.json"))
.thenReturn(mContext.getFileStreamPath(TEST_FILENAME));
- mCarLocationService.onPrepareShutdown(true);
+ CompletableFuture<Void> future = new CompletableFuture<>();
+ mCarLocationService.onStateChanged(CarPowerStateListener.SUSPEND_ENTER, future);
mLatch.await();
verify(mMockLocationManager).getLastKnownLocation(LocationManager.GPS_PROVIDER);
+ assertTrue(future.isDone());
String actualContents = readCacheFile();
long oneDayMs = 24 * 60 * 60 * 1000;
long granularCurrentTime = (currentTime / oneDayMs) * oneDayMs;
@@ -397,6 +401,18 @@
}
/**
+ * Test that the {@link CarLocationService} does not throw an exception on SUSPEND_EXIT events.
+ */
+ @Test
+ public void testDoesNotThrowExceptionUponStateChanged() {
+ try {
+ mCarLocationService.onStateChanged(CarPowerStateListener.SUSPEND_EXIT, null);
+ } catch (Exception e) {
+ fail("onStateChanged should not throw an exception: " + e);
+ }
+ }
+
+ /**
* Test that the {@link CarLocationService} does not store null locations.
*/
@Test
diff --git a/tests/carservice_unit_test/src/com/android/car/CarPowerManagementServiceTest.java b/tests/carservice_unit_test/src/com/android/car/CarPowerManagementServiceTest.java
index cb2b4b8..55ae88d 100644
--- a/tests/carservice_unit_test/src/com/android/car/CarPowerManagementServiceTest.java
+++ b/tests/carservice_unit_test/src/com/android/car/CarPowerManagementServiceTest.java
@@ -16,12 +16,13 @@
package com.android.car;
+import android.car.hardware.power.CarPowerManager.CarPowerStateListener;
+import android.car.hardware.power.ICarPowerStateListener;
+import android.os.RemoteException;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.SmallTest;
import android.util.Log;
-import com.android.car.CarPowerManagementService.PowerEventProcessingHandler;
-import com.android.car.CarPowerManagementService.PowerServiceEventListener;
import com.android.car.hal.PowerHalService;
import com.android.car.hal.PowerHalService.PowerState;
import com.android.car.systeminterface.DisplayInterface;
@@ -34,6 +35,7 @@
import java.io.File;
import java.io.IOException;
import java.time.Duration;
+import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
@@ -47,12 +49,12 @@
private final MockSystemStateInterface mSystemStateInterface = new MockSystemStateInterface();
private final MockWakeLockInterface mWakeLockInterface = new MockWakeLockInterface();
private final MockIOInterface mIOInterface = new MockIOInterface();
+ private final PowerSignalListener mPowerSignalListener = new PowerSignalListener();
private MockedPowerHalService mPowerHal;
private SystemInterface mSystemInterface;
private CarPowerManagementService mService;
- private final PowerEventListener mPowerEventListener = new PowerEventListener();
- private PowerEventProcessingHandlerImpl mPowerEventProcessingHandler;
+ private CompletableFuture<Void> mFuture;
@Override
protected void setUp() throws Exception {
@@ -78,23 +80,23 @@
/**
* Helper method to create mService and initialize a test case
*/
- private void initTest(long processingTimeMs, int wakeupTime) throws Exception {
+ private void initTest(int wakeupTime) throws Exception {
mService = new CarPowerManagementService(getContext(), mPowerHal, mSystemInterface);
mService.init();
- mService.registerPowerEventListener(mPowerEventListener);
- mPowerEventProcessingHandler = new PowerEventProcessingHandlerImpl(processingTimeMs,
- wakeupTime);
- mService.registerPowerEventProcessingHandler(mPowerEventProcessingHandler);
+ mPowerHal.setSignalListener(mPowerSignalListener);
+ if (wakeupTime > 0) {
+ registerListenerToService();
+ mService.scheduleNextWakeupTime(wakeupTime);
+ }
assertStateReceived(MockedPowerHalService.SET_BOOT_COMPLETE, 0);
- mPowerEventProcessingHandler.waitForPowerOn(WAIT_TIMEOUT_MS);
}
public void testBootComplete() throws Exception {
- initTest(0, 0);
+ initTest(0);
}
public void testDisplayOff() throws Exception {
- initTest(0,0);
+ initTest(0);
// it will call display on for initial state
assertTrue(mDisplayInterface.waitForDisplayStateChange(WAIT_TIMEOUT_MS));
mPowerHal.setCurrentPowerState(new PowerState(PowerHalService.STATE_ON_DISP_OFF, 0));
@@ -105,130 +107,148 @@
// start with display off
mSystemInterface.setDisplayState(false);
mDisplayInterface.waitForDisplayStateChange(WAIT_TIMEOUT_MS);
- initTest(0,0);
+ initTest(0);
// display should be turned on as it started with off state.
assertTrue(mDisplayInterface.waitForDisplayStateChange(WAIT_TIMEOUT_MS));
}
public void testShutdown() throws Exception {
- final int wakeupTime = 100;
- initTest(0, wakeupTime);
+ initTest(0);
assertTrue(mDisplayInterface.waitForDisplayStateChange(WAIT_TIMEOUT_MS));
- mPowerHal.setCurrentPowerState(new PowerState(PowerHalService.STATE_SHUTDOWN_PREPARE,
- PowerHalService.SHUTDOWN_IMMEDIATELY));
- assertStateReceived(PowerHalService.SET_SHUTDOWN_START, wakeupTime);
+ mPowerHal.setCurrentPowerState(
+ new PowerState(
+ PowerHalService.STATE_SHUTDOWN_PREPARE,
+ PowerHalService.SHUTDOWN_IMMEDIATELY));
+ // Since modules have to manually schedule next wakeup, we should not schedule next wakeup
+ // To test module behavior, we need to actually implement mock listener module.
+ assertStateReceived(PowerHalService.SET_SHUTDOWN_START, 0);
assertFalse(mDisplayInterface.waitForDisplayStateChange(WAIT_TIMEOUT_MS));
- mPowerEventListener.waitForShutdown(WAIT_TIMEOUT_MS);
+ mPowerSignalListener.waitForShutdown(WAIT_TIMEOUT_MS);
mSystemStateInterface.waitForShutdown(WAIT_TIMEOUT_MS);
}
public void testShutdownWithProcessing() throws Exception {
- final long processingTimeMs = 3000;
final int wakeupTime = 100;
- initTest(processingTimeMs, wakeupTime);
+ initTest(wakeupTime);
assertTrue(mDisplayInterface.waitForDisplayStateChange(WAIT_TIMEOUT_MS));
-
mPowerHal.setCurrentPowerState(new PowerState(PowerHalService.STATE_SHUTDOWN_PREPARE, 0));
- mPowerEventProcessingHandler.waitForPrepareShutdown(WAIT_TIMEOUT_MS);
- assertStateReceivedForShutdownOrSleepWithPostpone(PowerHalService.SET_SHUTDOWN_START,
- WAIT_TIMEOUT_LONG_MS, wakeupTime);
+ assertStateReceivedForShutdownOrSleepWithPostpone(
+ PowerHalService.SET_SHUTDOWN_START, WAIT_TIMEOUT_LONG_MS, wakeupTime);
assertFalse(mDisplayInterface.waitForDisplayStateChange(WAIT_TIMEOUT_MS));
- mPowerEventListener.waitForShutdown(WAIT_TIMEOUT_MS);
+ mPowerSignalListener.waitForShutdown(WAIT_TIMEOUT_MS);
mSystemStateInterface.waitForShutdown(WAIT_TIMEOUT_MS);
}
public void testSleepEntryAndWakeup() throws Exception {
final int wakeupTime = 100;
- initTest(0, wakeupTime);
+ initTest(wakeupTime);
assertTrue(mDisplayInterface.waitForDisplayStateChange(WAIT_TIMEOUT_MS));
-
mPowerHal.setCurrentPowerState(new PowerState(PowerHalService.STATE_SHUTDOWN_PREPARE,
PowerHalService.SHUTDOWN_CAN_SLEEP));
+ assertStateReceivedForShutdownOrSleepWithPostpone(
+ PowerHalService.SET_DEEP_SLEEP_ENTRY, WAIT_TIMEOUT_LONG_MS, 0);
assertFalse(mDisplayInterface.waitForDisplayStateChange(WAIT_TIMEOUT_MS));
- assertStateReceived(PowerHalService.SET_DEEP_SLEEP_ENTRY, 0);
- mPowerEventListener.waitForSleepEntry(WAIT_TIMEOUT_MS);
+ mPowerSignalListener.waitForSleepEntry(WAIT_TIMEOUT_MS);
int wakeupTimeReceived = mSystemStateInterface.waitForSleepEntryAndWakeup(WAIT_TIMEOUT_MS);
assertEquals(wakeupTime, wakeupTimeReceived);
assertStateReceived(PowerHalService.SET_DEEP_SLEEP_EXIT, 0);
- mPowerEventListener.waitForSleepExit(WAIT_TIMEOUT_MS);
+ mPowerSignalListener.waitForSleepExit(WAIT_TIMEOUT_MS);
}
public void testSleepEntryAndPowerOnWithProcessing() throws Exception {
- final long processingTimeMs = 3000;
final int wakeupTime = 100;
- initTest(processingTimeMs, wakeupTime);
+ initTest(wakeupTime);
assertTrue(mDisplayInterface.waitForDisplayStateChange(WAIT_TIMEOUT_MS));
mPowerHal.setCurrentPowerState(new PowerState(PowerHalService.STATE_SHUTDOWN_PREPARE,
PowerHalService.SHUTDOWN_CAN_SLEEP));
- mPowerEventProcessingHandler.waitForPrepareShutdown(WAIT_TIMEOUT_MS);
assertFalse(mDisplayInterface.waitForDisplayStateChange(WAIT_TIMEOUT_MS));
- assertStateReceivedForShutdownOrSleepWithPostpone(PowerHalService.SET_DEEP_SLEEP_ENTRY,
- WAIT_TIMEOUT_LONG_MS, 0);
- mPowerEventListener.waitForSleepEntry(WAIT_TIMEOUT_MS);
+ assertStateReceivedForShutdownOrSleepWithPostpone(
+ PowerHalService.SET_DEEP_SLEEP_ENTRY, WAIT_TIMEOUT_LONG_MS, 0);
+ mPowerSignalListener.waitForSleepEntry(WAIT_TIMEOUT_MS);
// set power on here without notification. PowerManager should check the state after sleep
// exit
mPowerHal.setCurrentPowerState(new PowerState(PowerHalService.STATE_ON_DISP_OFF, 0), false);
int wakeupTimeReceived = mSystemStateInterface.waitForSleepEntryAndWakeup(WAIT_TIMEOUT_MS);
assertEquals(wakeupTime, wakeupTimeReceived);
assertStateReceived(PowerHalService.SET_DEEP_SLEEP_EXIT, 0);
- mPowerEventListener.waitForSleepExit(WAIT_TIMEOUT_MS);
- mPowerEventProcessingHandler.waitForPowerOn(WAIT_TIMEOUT_MS);
+ mPowerSignalListener.waitForSleepExit(WAIT_TIMEOUT_MS);
}
public void testSleepEntryAndWakeUpForProcessing() throws Exception {
- final long processingTimeMs = 3000;
final int wakeupTime = 100;
- initTest(processingTimeMs, wakeupTime);
+ initTest(wakeupTime);
assertTrue(mDisplayInterface.waitForDisplayStateChange(WAIT_TIMEOUT_MS));
-
mPowerHal.setCurrentPowerState(new PowerState(PowerHalService.STATE_SHUTDOWN_PREPARE,
PowerHalService.SHUTDOWN_CAN_SLEEP));
- mPowerEventProcessingHandler.waitForPrepareShutdown(WAIT_TIMEOUT_MS);
assertFalse(mDisplayInterface.waitForDisplayStateChange(WAIT_TIMEOUT_MS));
- assertStateReceivedForShutdownOrSleepWithPostpone(PowerHalService.SET_DEEP_SLEEP_ENTRY,
- WAIT_TIMEOUT_LONG_MS, 0);
- mPowerEventListener.waitForSleepEntry(WAIT_TIMEOUT_MS);
+ assertStateReceivedForShutdownOrSleepWithPostpone(
+ PowerHalService.SET_DEEP_SLEEP_ENTRY, WAIT_TIMEOUT_LONG_MS, 0);
+ mPowerSignalListener.waitForSleepEntry(WAIT_TIMEOUT_MS);
mSystemStateInterface.setWakeupCausedByTimer(true);
int wakeupTimeReceived = mSystemStateInterface.waitForSleepEntryAndWakeup(WAIT_TIMEOUT_MS);
assertEquals(wakeupTime, wakeupTimeReceived);
assertStateReceived(PowerHalService.SET_DEEP_SLEEP_EXIT, 0);
- mPowerEventListener.waitForSleepExit(WAIT_TIMEOUT_MS);
+ mPowerSignalListener.waitForSleepExit(WAIT_TIMEOUT_MS);
+ mService.scheduleNextWakeupTime(wakeupTime);
// second processing after wakeup
assertFalse(mDisplayInterface.getDisplayState());
- mPowerEventProcessingHandler.waitForPrepareShutdown(WAIT_TIMEOUT_MS);
- assertStateReceivedForShutdownOrSleepWithPostpone(PowerHalService.SET_DEEP_SLEEP_ENTRY,
- WAIT_TIMEOUT_LONG_MS, 0);
- mPowerEventListener.waitForSleepEntry(WAIT_TIMEOUT_MS);
+ assertStateReceivedForShutdownOrSleepWithPostpone(
+ PowerHalService.SET_DEEP_SLEEP_ENTRY, WAIT_TIMEOUT_LONG_MS, 0);
+ mPowerSignalListener.waitForSleepEntry(WAIT_TIMEOUT_MS);
// PM will shutdown system as it was not woken-up due to timer and it is not power on.
mSystemStateInterface.setWakeupCausedByTimer(false);
wakeupTimeReceived = mSystemStateInterface.waitForSleepEntryAndWakeup(WAIT_TIMEOUT_MS);
assertEquals(wakeupTime, wakeupTimeReceived);
assertStateReceived(PowerHalService.SET_DEEP_SLEEP_EXIT, 0);
- assertStateReceived(PowerHalService.SET_SHUTDOWN_START, wakeupTime);
- mPowerEventListener.waitForShutdown(WAIT_TIMEOUT_MS);
+ // Since we just woke up from shutdown, wake up time will be 0
+ assertStateReceived(PowerHalService.SET_SHUTDOWN_START, 0);
+ mPowerSignalListener.waitForShutdown(WAIT_TIMEOUT_MS);
mSystemStateInterface.waitForShutdown(WAIT_TIMEOUT_MS);
assertFalse(mDisplayInterface.getDisplayState());
}
+ private void registerListenerToService() {
+ ICarPowerStateListener listenerToService = new ICarPowerStateListener.Stub() {
+ @Override
+ public void onStateChanged(int state, int token) throws RemoteException {
+ if (state == CarPowerStateListener.SHUTDOWN_ENTER
+ || state == CarPowerStateListener.SUSPEND_ENTER) {
+ mFuture = new CompletableFuture<>();
+ mFuture.whenComplete((res, ex) -> {
+ if (ex == null) {
+ mService.finished(this, token);
+ }
+ });
+ } else {
+ mFuture = null;
+ }
+ }
+ };
+ mService.registerListener(listenerToService);
+ }
+
private void assertStateReceived(int expectedState, int expectedParam) throws Exception {
int[] state = mPowerHal.waitForSend(WAIT_TIMEOUT_MS);
assertEquals(expectedState, state[0]);
assertEquals(expectedParam, state[1]);
}
- private void assertStateReceivedForShutdownOrSleepWithPostpone(int lastState, long timeoutMs,
- int expectedParamForShutdown) throws Exception {
+ private void assertStateReceivedForShutdownOrSleepWithPostpone(
+ int lastState, long timeoutMs, int expectedParamForShutdownOrSuspend) throws Exception {
while (true) {
+ if (mFuture != null && !mFuture.isDone()) {
+ mFuture.complete(null);
+ }
int[] state = mPowerHal.waitForSend(timeoutMs);
if (state[0] == PowerHalService.SET_SHUTDOWN_POSTPONE) {
continue;
}
if (state[0] == lastState) {
- assertEquals(expectedParamForShutdown, state[1]);
+ assertEquals(expectedParamForShutdownOrSuspend, state[1]);
return;
}
}
@@ -361,77 +381,37 @@
}
}
- private class PowerEventListener implements PowerServiceEventListener {
+ private class PowerSignalListener implements MockedPowerHalService.SignalListener {
private final Semaphore mShutdownWait = new Semaphore(0);
private final Semaphore mSleepEntryWait = new Semaphore(0);
private final Semaphore mSleepExitWait = new Semaphore(0);
- @Override
- public void onShutdown() {
- mShutdownWait.release();
+ public void waitForSleepExit(long timeoutMs) throws Exception {
+ waitForSemaphore(mSleepExitWait, timeoutMs);
}
public void waitForShutdown(long timeoutMs) throws Exception {
waitForSemaphore(mShutdownWait, timeoutMs);
}
- @Override
- public void onSleepEntry() {
- mSleepEntryWait.release();
- }
-
public void waitForSleepEntry(long timeoutMs) throws Exception {
waitForSemaphore(mSleepEntryWait, timeoutMs);
}
@Override
- public void onSleepExit() {
- mSleepExitWait.release();
- }
-
- public void waitForSleepExit(long timeoutMs) throws Exception {
- waitForSemaphore(mSleepExitWait, timeoutMs);
- }
- }
-
- private class PowerEventProcessingHandlerImpl implements PowerEventProcessingHandler {
- private final long mProcessingTime;
- private final int mWakeupTime;
- private final Semaphore mPrepareShutdownWait = new Semaphore(0);
- private final Semaphore mOnPowerOnWait = new Semaphore(0);
- private boolean mShuttingDown;
- private boolean mDisplayOn;
-
- private PowerEventProcessingHandlerImpl(long processingTime, int wakeupTime) {
- mProcessingTime = processingTime;
- mWakeupTime = wakeupTime;
- }
-
- @Override
- public long onPrepareShutdown(boolean shuttingDown) {
- mShuttingDown = shuttingDown;
- mPrepareShutdownWait.release();
- return mProcessingTime;
- }
- public boolean waitForPrepareShutdown(long timeoutMs) throws Exception {
- waitForSemaphore(mPrepareShutdownWait, timeoutMs);
- return mShuttingDown;
- }
-
- @Override
- public void onPowerOn(boolean displayOn) {
- mDisplayOn = displayOn;
- mOnPowerOnWait.release();
- }
-
- public boolean waitForPowerOn(long timeoutMs) throws Exception {
- waitForSemaphore(mOnPowerOnWait, timeoutMs);
- return mDisplayOn;
- }
-
- @Override
- public int getWakeupTime() {
- return mWakeupTime;
+ public void sendingSignal(int signal) {
+ if (signal == PowerHalService.SET_SHUTDOWN_START) {
+ mShutdownWait.release();
+ return;
+ }
+ if (signal == PowerHalService.SET_DEEP_SLEEP_ENTRY) {
+ mSleepEntryWait.release();
+ return;
+ }
+ if (signal == PowerHalService.SET_DEEP_SLEEP_EXIT) {
+ mSleepExitWait.release();
+ return;
+ }
}
}
}
diff --git a/tests/carservice_unit_test/src/com/android/car/CarUserManagerHelperTest.java b/tests/carservice_unit_test/src/com/android/car/CarUserManagerHelperTest.java
index 7f53da5..df2b2e1 100644
--- a/tests/carservice_unit_test/src/com/android/car/CarUserManagerHelperTest.java
+++ b/tests/carservice_unit_test/src/com/android/car/CarUserManagerHelperTest.java
@@ -26,7 +26,7 @@
import static org.mockito.Mockito.verify;
import android.app.ActivityManager;
-import android.car.user.CarUserManagerHelper;
+import android.car.userlib.CarUserManagerHelper;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
@@ -486,6 +486,32 @@
}
@Test
+ public void testSwitchToId() {
+ int userIdToSwitchTo = mForegroundUserId + 2;
+ doReturn(true).when(mActivityManager).switchUser(userIdToSwitchTo);
+
+ assertThat(mCarUserManagerHelper.switchToUserId(userIdToSwitchTo)).isTrue();
+ verify(mActivityManager).switchUser(userIdToSwitchTo);
+ }
+
+ @Test
+ public void testSwitchToForegroundIdExitsEarly() {
+ doReturn(true).when(mActivityManager).switchUser(mForegroundUserId);
+
+ assertThat(mCarUserManagerHelper.switchToUserId(mForegroundUserId)).isFalse();
+ verify(mActivityManager, never()).switchUser(mForegroundUserId);
+ }
+
+ @Test
+ public void testCannotSwitchIfSwitchingNotAllowed() {
+ int userIdToSwitchTo = mForegroundUserId + 2;
+ doReturn(true).when(mActivityManager).switchUser(userIdToSwitchTo);
+ doReturn(true).when(mUserManager).hasUserRestriction(UserManager.DISALLOW_USER_SWITCH);
+ assertThat(mCarUserManagerHelper.switchToUserId(userIdToSwitchTo)).isFalse();
+ verify(mActivityManager, never()).switchUser(userIdToSwitchTo);
+ }
+
+ @Test
public void testGetUserIcon() {
mCarUserManagerHelper.getUserIcon(mCurrentProcessUser);
verify(mUserManager).getUserIcon(mCurrentProcessUser.id);
diff --git a/tests/carservice_unit_test/src/com/android/car/MockedPowerHalService.java b/tests/carservice_unit_test/src/com/android/car/MockedPowerHalService.java
index 405c014..59b0694 100644
--- a/tests/carservice_unit_test/src/com/android/car/MockedPowerHalService.java
+++ b/tests/carservice_unit_test/src/com/android/car/MockedPowerHalService.java
@@ -30,9 +30,14 @@
private final boolean mIsTimedWakeupAllowed;
private PowerState mCurrentPowerState = new PowerState(PowerHalService.STATE_ON_FULL, 0);
private PowerEventListener mListener;
+ private SignalListener mSignalListener;
private final LinkedList<int[]> mSentStates = new LinkedList<>();
+ interface SignalListener {
+ void sendingSignal(int signal);
+ }
+
public MockedPowerHalService(boolean isPowerStateSupported, boolean isDeepSleepAllowed,
boolean isTimedWakeupAllowed) {
super(new VehicleHal(null, null, null, null));
@@ -46,6 +51,11 @@
mListener = listener;
}
+ // For testing purposes only
+ public synchronized void setSignalListener(SignalListener listener) {
+ mSignalListener = listener;
+ }
+
@Override
public void sendBootComplete() {
Log.i(TAG, "sendBootComplete");
@@ -96,6 +106,13 @@
}
private synchronized void doSendState(int state, int param) {
+ SignalListener listener;
+ synchronized (this) {
+ listener = mSignalListener;
+ }
+ if (listener != null) {
+ listener.sendingSignal(state);
+ }
int[] toSend = new int[] {state, param};
mSentStates.addLast(toSend);
notifyAll();
diff --git a/tests/carservice_unit_test/src/com/android/car/user/CarUserServiceTest.java b/tests/carservice_unit_test/src/com/android/car/user/CarUserServiceTest.java
index 48d447b..addb53c 100644
--- a/tests/carservice_unit_test/src/com/android/car/user/CarUserServiceTest.java
+++ b/tests/carservice_unit_test/src/com/android/car/user/CarUserServiceTest.java
@@ -22,7 +22,7 @@
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.verify;
-import android.car.user.CarUserManagerHelper;
+import android.car.userlib.CarUserManagerHelper;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
@@ -40,7 +40,6 @@
import org.mockito.MockitoAnnotations;
import java.util.ArrayList;
-import java.util.List;
/**
* This class contains unit tests for the {@link CarUserService}.
@@ -107,20 +106,6 @@
}
/**
- * Test that the {@link CarUserService} starts up a secondary admin user upon first run.
- */
- @Test
- public void testStartsSecondaryAdminUserOnFirstRun() {
- UserInfo admin = mockAdmin(/* adminId= */ 10);
-
- mCarUserService.onReceive(mMockContext,
- new Intent(Intent.ACTION_LOCKED_BOOT_COMPLETED));
-
- verify(mCarUserManagerHelper).createNewAdminUser(CarUserService.OWNER_NAME);
- verify(mCarUserManagerHelper).switchToUser(admin);
- }
-
- /**
* Test that the {@link CarUserService} disable modify account for user 0 upon first run.
*/
@Test
@@ -154,47 +139,6 @@
}
/**
- * Test that the {@link CarUserService} updates last active user to the first admin user
- * on first run.
- */
- @Test
- public void testUpdateLastActiveUserOnFirstRun() {
- UserInfo admin = mockAdmin(/* adminId= */ 10);
-
- mCarUserService.onReceive(mMockContext,
- new Intent(Intent.ACTION_LOCKED_BOOT_COMPLETED));
-
- verify(mCarUserManagerHelper)
- .setLastActiveUser(admin.id, /* skipGlobalSetting= */ false);
- }
-
- /**
- * Test that the {@link CarUserService} starts up the last active user on reboot.
- */
- @Test
- public void testStartsLastActiveUserOnReboot() {
- List<UserInfo> users = new ArrayList<>();
-
- int adminUserId = 10;
- UserInfo admin = new UserInfo(adminUserId, CarUserService.OWNER_NAME, UserInfo.FLAG_ADMIN);
-
- int secUserId = 11;
- UserInfo secUser =
- new UserInfo(secUserId, CarUserService.OWNER_NAME, UserInfo.FLAG_ADMIN);
-
- users.add(admin);
- users.add(secUser);
-
- doReturn(users).when(mCarUserManagerHelper).getAllUsers();
- doReturn(secUserId).when(mCarUserManagerHelper).getInitialUser();
-
- mCarUserService.onReceive(mMockContext,
- new Intent(Intent.ACTION_LOCKED_BOOT_COMPLETED));
-
- verify(mCarUserManagerHelper).switchToUserId(secUserId);
- }
-
- /**
* Test that the {@link CarUserService} updates last active user on user switch intent.
*/
@Test
@@ -226,8 +170,10 @@
}
private UserInfo mockAdmin(int adminId) {
- UserInfo admin = new UserInfo(adminId, CarUserService.OWNER_NAME, UserInfo.FLAG_ADMIN);
- doReturn(admin).when(mCarUserManagerHelper).createNewAdminUser(CarUserService.OWNER_NAME);
+ UserInfo admin = new UserInfo(adminId, CarUserManagerHelper.DEFAULT_FIRST_ADMIN_NAME,
+ UserInfo.FLAG_ADMIN);
+ doReturn(admin).when(mCarUserManagerHelper)
+ .createNewAdminUser(CarUserManagerHelper.DEFAULT_FIRST_ADMIN_NAME);
return admin;
}
}
diff --git a/tests/robotests/Android.mk b/tests/robotests/Android.mk
index 3152109..413e192 100644
--- a/tests/robotests/Android.mk
+++ b/tests/robotests/Android.mk
@@ -34,6 +34,7 @@
LOCAL_JAVA_LIBRARIES := \
android.car \
+ android.car.user \
robolectric_android-all-stub \
Robolectric_all-target \
mockito-robolectric-prebuilt \
diff --git a/tests/robotests/src/com/android/car/users/CarUserManagerHelperRoboTest.java b/tests/robotests/src/com/android/car/users/CarUserManagerHelperRoboTest.java
index fcfd6dc..6a90cdf 100644
--- a/tests/robotests/src/com/android/car/users/CarUserManagerHelperRoboTest.java
+++ b/tests/robotests/src/com/android/car/users/CarUserManagerHelperRoboTest.java
@@ -21,7 +21,7 @@
import static org.mockito.Mockito.when;
import android.app.ActivityManager;
-import android.car.user.CarUserManagerHelper;
+import android.car.userlib.CarUserManagerHelper;
import android.content.Context;
import android.content.pm.UserInfo;
import android.os.UserManager;
diff --git a/tests/usb/AoapHostApp/Android.mk b/tests/usb/AoapHostApp/Android.mk
index 9fc286a..b020473 100644
--- a/tests/usb/AoapHostApp/Android.mk
+++ b/tests/usb/AoapHostApp/Android.mk
@@ -32,7 +32,7 @@
LOCAL_PROGUARD_ENABLED := disabled
-LOCAL_STATIC_JAVA_LIBRARIES := junit
-include packages/services/Car/car-support-lib/car-support.mk
+LOCAL_STATIC_JAVA_LIBRARIES := junit \
+ android.car
include $(BUILD_PACKAGE)
diff --git a/tests/vehiclehal_test/assets/car_diagnostic_test.json b/tests/vehiclehal_test/assets/car_diagnostic_test.json
new file mode 100644
index 0000000..d81926e
--- /dev/null
+++ b/tests/vehiclehal_test/assets/car_diagnostic_test.json
@@ -0,0 +1,2712 @@
+[
+ {
+ "timestamp": 1000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [42.22222, 64, 214.0625, 0.0, 0.0, 0.0, 0.0, 0.0, 3080, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 31.764706, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 2000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [42.22222, 64, 216.40625, 0.0, 0.0, 0.0, 0.0, 0.0, 3084, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 3000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.77778, 64, 214.0625, 0.0, 0.0, 0.0, 0.0, 0.0, 3078, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 31.764706, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 4000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.88889, 64, 207.03125, 0.0, 0.0, 0.0, 0.0, 0.0, 2873, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 31.764706, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 5000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.88889, 65, 214.0625, 0.0, 0.0, 0.0, 0.0, 0.0, 3078, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 31.764706, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 6000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.333332, 65, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 2869, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 31.764706, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 7000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [52, 66, 230.46875, 0.0, 0.0, 0.0, 0.0, 0.0, 3090, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 8000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [68.44444, 66, 214.0625, 0.0, 0.0, 0.0, 0.0, 0.0, 4110, 1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 34.11765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 9000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [51.11111, 66, 223.4375, 0.0, 0.0, 0.0, 0.0, 0.0, 3633, 5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 10000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [50.666668, 67, 230.46875, 0.0, 0.0, 0.0, 0.0, 0.0, 3135, 4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.941177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 11000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [48.444443, 67, 228.125, 0.0, 0.0, 0.0, 0.0, 0.0, 3125, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 27.450981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 12000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [55.555557, 68, 209.375, 0.0, 0.0, 0.0, 0.0, 0.0, 2857, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 26.27451, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 13000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [82.666664, 68, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 4899, 6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 17.254902, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 14000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [45.333332, 68, 237.5, 0.0, 0.0, 0.0, 0.0, 0.0, 8483, 17, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.941177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 15000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [28, 69, 188.28125, 0.0, 0.0, 0.0, 0.0, 0.0, 5158, 18, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 34.11765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 16000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [36, 69, 216.40625, 0.0, 0.0, 0.0, 0.0, 0.0, 6184, 20, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 34.11765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 17000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [31.11111, 70, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 6207, 21, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 18000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [28.88889, 70, 192.96875, 0.0, 0.0, 0.0, 0.0, 0.0, 5409, 19, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 36.47059, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 19000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [92.888885, 71, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 5653, 18, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 24.705883, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 20000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [31.555555, 71, 209.375, 0.0, 0.0, 0.0, 0.0, 0.0, 7988, 26, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.941177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 21000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [33.333332, 72, 176.5625, 0.0, 0.0, 0.0, 0.0, 0.0, 4134, 21, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.941177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 22000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [49.333332, 72, 192.96875, 0.0, 0.0, 0.0, 0.0, 0.0, 3109, 14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 23000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "P0420",
+ "floatValues": [49.333332, 72, 192.96875, 0.0, 0.0, 0.0, 0.0, 0.0, 3109, 14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896065
+ },
+ {
+ "timestamp": 24000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [44.88889, 73, 223.4375, 0.0, 0.0, 0.0, 0.0, 0.0, 3635, 16, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 28.62745, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 25000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [45.77778, 73, 228.125, 0.0, 0.0, 0.0, 0.0, 0.0, 3619, 11, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 34.11765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 26000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [36, 74, 216.40625, 0.0, 0.0, 0.0, 0.0, 0.0, 4637, 10, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 35.686275, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 27000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [36, 74, 228.125, 0.0, 0.0, 0.0, 0.0, 0.0, 7199, 15, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 28000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [47.555557, 75, 211.71875, 0.0, 0.0, 0.0, 0.0, 0.0, 3894, 11, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 24.705883, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 29000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [48, 75, 218.75, 0.0, 0.0, 0.0, 0.0, 0.0, 3108, 1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 27.450981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 30000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [45.77778, 75, 216.40625, 0.0, 0.0, 0.0, 0.0, 0.0, 3087, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 27.450981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 31000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [45.77778, 76, 214.0625, 0.0, 0.0, 0.0, 0.0, 0.0, 3091, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 32000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [45.77778, 76, 216.40625, 0.0, 0.0, 0.0, 0.0, 0.0, 3090, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 33000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [45.77778, 77, 214.0625, 0.0, 0.0, 0.0, 0.0, 0.0, 3083, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 34000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [45.333332, 77, 211.71875, 0.0, 0.0, 0.0, 0.0, 0.0, 3080, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 35000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [45.77778, 77, 216.40625, 0.0, 0.0, 0.0, 0.0, 0.0, 3078, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 36000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [45.77778, 78, 211.71875, 0.0, 0.0, 0.0, 0.0, 0.0, 3077, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 37000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [46.22222, 78, 211.71875, 0.0, 0.0, 0.0, 0.0, 0.0, 3078, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 38000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [45.77778, 78, 214.0625, 0.0, 0.0, 0.0, 0.0, 0.0, 3082, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 31.37255, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 39000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [45.333332, 79, 209.375, 0.0, 0.0, 0.0, 0.0, 0.0, 3076, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 40000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [46.22222, 79, 214.0625, 0.0, 0.0, 0.0, 0.0, 0.0, 3080, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.588236, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 41000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [45.77778, 79, 209.375, 0.0, 0.0, 0.0, 0.0, 0.0, 2879, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 42000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [45.77778, 79, 204.6875, 0.0, 0.0, 0.0, 0.0, 0.0, 3076, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 43000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [45.77778, 80, 214.0625, 0.0, 0.0, 0.0, 0.0, 0.0, 3082, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 44000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [45.77778, 80, 204.6875, 0.0, 0.0, 0.0, 0.0, 0.0, 2877, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 45000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [45.77778, 80, 207.03125, 0.0, 0.0, 0.0, 0.0, 0.0, 3076, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 46000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [45.77778, 81, 211.71875, 0.0, 0.0, 0.0, 0.0, 0.0, 3077, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 47000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [45.77778, 81, 204.6875, 0.0, 0.0, 0.0, 0.0, 0.0, 3072, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 108, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 48000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [46.22222, 81, 207.03125, 0.0, 0.0, 0.0, 0.0, 0.0, 3082, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 49000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [45.77778, 82, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 2879, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 112, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 50000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [45.77778, 82, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 3080, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 114, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 51000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [46.22222, 82, 204.6875, 0.0, 0.0, 0.0, 0.0, 0.0, 3077, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 52000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [46.22222, 82, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 2877, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 118, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 53000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [46.22222, 83, 204.6875, 0.0, 0.0, 0.0, 0.0, 0.0, 3079, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 120, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 54000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [46.22222, 83, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 3073, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 31.764706, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 55000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [46.666668, 83, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3078, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 56000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [46.22222, 83, 204.6875, 0.0, 0.0, 0.0, 0.0, 0.0, 3082, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 57000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [46.22222, 84, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3073, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 58000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [47.11111, 84, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 3075, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 130, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 59000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [46.22222, 84, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3081, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 60000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [46.22222, 85, 195.3125, 0.0, 0.0, 0.0, 0.0, 0.0, 2878, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 61000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [46.666668, 85, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 3082, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 31.764706, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 136, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 62000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [46.666668, 85, 195.3125, 0.0, 0.0, 0.0, 0.0, 0.0, 2879, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 63000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [47.11111, 85, 195.3125, 0.0, 0.0, 0.0, 0.0, 0.0, 3074, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 140, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 64000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [46.666668, 86, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3085, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 142, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 65000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [47.11111, 86, 188.28125, 0.0, 0.0, 0.0, 0.0, 0.0, 3072, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 27.450981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 66000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [49.77778, 86, 209.375, 0.0, 0.0, 0.0, 0.0, 0.0, 7177, 11, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 22.745098, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 67000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.333332, 86, 192.96875, 0.0, 0.0, 0.0, 0.0, 0.0, 4126, 15, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 22.745098, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 148, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 68000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [77.333336, 86, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 6438, 20, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 22.745098, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 69000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [112.888885, 86, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 8746, 30, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 8.627451, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 152, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 70000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [103.111115, 86, 211.71875, 0.0, 0.0, 0.0, 0.0, 0.0, 14082, 44, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 20.784313, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 154, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 71000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [73.333336, 86, 214.0625, 0.0, 0.0, 0.0, 0.0, 0.0, 15639, 54, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 26.27451, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 72000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [63.555557, 85, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 10268, 59, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 73000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [24, 85, 146.09375, 0.0, 0.0, 0.0, 0.0, 0.0, 5928, 60, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 34.901962, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 74000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [59.555557, 85, 188.28125, 0.0, 0.0, 0.0, 0.0, 0.0, 6418, 58, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 75000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [34.22222, 85, 214.0625, 0.0, 0.0, 0.0, 0.0, 0.0, 6179, 59, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 34.11765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 164, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 76000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [99.55556, 85, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 7483, 59, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 28.62745, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 77000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [96.888885, 86, 195.3125, 0.0, 0.0, 0.0, 0.0, 0.0, 6660, 63, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 78000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [54.666668, 86, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 8460, 66, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 170, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 79000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [20, 86, 167.1875, 0.0, 0.0, 0.0, 0.0, 0.0, 5431, 56, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 31.764706, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 80000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [15.111111, 86, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 4868, 48, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [4, 0, 0, 0, 0, 0, 0, 174, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 81000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [83.55556, 87, 209.375, 0.0, 0.0, 0.0, 0.0, 0.0, 7195, 47, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [4, 0, 0, 0, 0, 0, 0, 176, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 82000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [104, 87, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 6423, 48, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 26.27451, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 178, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 83000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [112.888885, 87, 216.40625, 0.0, 0.0, 0.0, 0.0, 0.0, 11582, 55, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 22.745098, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 180, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 84000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [113.333336, 87, 216.40625, 0.0, 0.0, 0.0, 0.0, 0.0, 13336, 67, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 26.27451, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 182, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 85000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [24, 87, 174.21875, 0.0, 0.0, 0.0, 0.0, 0.0, 12304, 73, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 24.705883, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 184, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 86000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [20.88889, 87, 181.25, 0.0, 0.0, 0.0, 0.0, 0.0, 6717, 68, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 87000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [20.444445, 86, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 4654, 47, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [4, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 88000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [29.333334, 86, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3330, 30, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 34.901962, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 190, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 89000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.88889, 87, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3097, 13, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 34.901962, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 90000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [45.77778, 87, 214.0625, 0.0, 0.0, 0.0, 0.0, 0.0, 3088, 2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 34.11765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 194, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 91000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [42.666668, 88, 209.375, 0.0, 0.0, 0.0, 0.0, 0.0, 3075, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 26.27451, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 92000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.77778, 88, 207.03125, 0.0, 0.0, 0.0, 0.0, 0.0, 3072, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 26.27451, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 93000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.77778, 88, 214.0625, 0.0, 0.0, 0.0, 0.0, 0.0, 3074, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 94000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [42.22222, 89, 204.6875, 0.0, 0.0, 0.0, 0.0, 0.0, 2873, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 33.333332, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 202, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 95000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [42.666668, 89, 207.03125, 0.0, 0.0, 0.0, 0.0, 0.0, 2878, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 96000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [42.666668, 89, 209.375, 0.0, 0.0, 0.0, 0.0, 0.0, 3072, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 206, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 97000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [42.666668, 90, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 2870, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 98000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [42.666668, 90, 209.375, 0.0, 0.0, 0.0, 0.0, 0.0, 3075, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 210, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 99000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [43.11111, 90, 204.6875, 0.0, 0.0, 0.0, 0.0, 0.0, 2872, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 100000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [43.11111, 91, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 3082, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 214, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 101000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [43.11111, 91, 209.375, 0.0, 0.0, 0.0, 0.0, 0.0, 3072, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 102000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [43.11111, 91, 204.6875, 0.0, 0.0, 0.0, 0.0, 0.0, 2879, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 218, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 103000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [43.555557, 91, 209.375, 0.0, 0.0, 0.0, 0.0, 0.0, 3079, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 104000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [43.11111, 91, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 2876, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 222, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 105000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [43.555557, 91, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3074, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 224, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 106000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [43.555557, 91, 207.03125, 0.0, 0.0, 0.0, 0.0, 0.0, 3078, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 226, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 107000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [43.11111, 92, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3074, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 108000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [43.555557, 92, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 3076, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 230, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 109000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [43.555557, 92, 207.03125, 0.0, 0.0, 0.0, 0.0, 0.0, 3080, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 110000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [43.555557, 92, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 2878, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 234, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 111000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [43.555557, 92, 204.6875, 0.0, 0.0, 0.0, 0.0, 0.0, 3082, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 236, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 112000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [44.444443, 92, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 3076, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 238, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 113000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [43.555557, 92, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3075, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 114000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [43.555557, 92, 195.3125, 0.0, 0.0, 0.0, 0.0, 0.0, 2872, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 243, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 115000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [44.444443, 92, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3077, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 116000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [44, 92, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 3083, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 117000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [44, 92, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 3080, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 118000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [44, 92, 195.3125, 0.0, 0.0, 0.0, 0.0, 0.0, 3077, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 119000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [44, 92, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 3081, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 120000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [44, 92, 192.96875, 0.0, 0.0, 0.0, 0.0, 0.0, 3080, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 121000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [44, 92, 195.3125, 0.0, 0.0, 0.0, 0.0, 0.0, 2879, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 122000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [44.444443, 92, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3073, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 123000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [44.444443, 92, 188.28125, 0.0, 0.0, 0.0, 0.0, 0.0, 2879, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 260, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 124000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [44.444443, 92, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3076, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 262, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 125000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [59.555557, 92, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3104, 1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 264, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 126000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [100.888885, 92, 204.6875, 0.0, 0.0, 0.0, 0.0, 0.0, 8255, 15, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 9.411765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 266, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 127000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [99.55556, 92, 209.375, 0.0, 0.0, 0.0, 0.0, 0.0, 11276, 33, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 15.686275, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 128000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [90.666664, 92, 209.375, 0.0, 0.0, 0.0, 0.0, 0.0, 15618, 50, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 26.27451, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 270, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 129000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [111.55556, 90, 216.40625, 0.0, 0.0, 0.0, 0.0, 0.0, 13109, 63, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 272, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 130000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [111.55556, 89, 211.71875, 0.0, 0.0, 0.0, 0.0, 0.0, 14343, 74, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 17.647058, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 131000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [21.777779, 88, 192.96875, 0.0, 0.0, 0.0, 0.0, 0.0, 15921, 83, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 9.803922, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 132000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [34.666668, 87, 183.59375, 0.0, 0.0, 0.0, 0.0, 0.0, 4400, 55, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 26.27451, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 278, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 133000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [30.666666, 87, 183.59375, 0.0, 0.0, 0.0, 0.0, 0.0, 3117, 32, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 28.62745, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 280, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 134000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [29.333334, 87, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3108, 26, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 28.62745, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 282, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 135000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [32.88889, 87, 195.3125, 0.0, 0.0, 0.0, 0.0, 0.0, 3106, 21, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 34.11765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 284, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 136000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [111.111115, 88, 207.03125, 0.0, 0.0, 0.0, 0.0, 0.0, 4115, 17, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 17.254902, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 286, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 137000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [112.44444, 89, 209.375, 0.0, 0.0, 0.0, 0.0, 0.0, 8991, 30, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 26.27451, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 138000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [95.55556, 89, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 9513, 43, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 28.62745, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 290, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 139000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [27.555555, 89, 195.3125, 0.0, 0.0, 0.0, 0.0, 0.0, 9518, 50, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 34.509804, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 292, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 140000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [19.555555, 89, 178.90625, 0.0, 0.0, 0.0, 0.0, 0.0, 6418, 49, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 294, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 141000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [20.88889, 89, 188.28125, 0.0, 0.0, 0.0, 0.0, 0.0, 5173, 40, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 34.11765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 142000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [28.444445, 89, 185.9375, 0.0, 0.0, 0.0, 0.0, 0.0, 4112, 32, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.941177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 298, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 143000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [113.333336, 89, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 8720, 37, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 28.62745, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 300, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 144000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [109.333336, 89, 216.40625, 0.0, 0.0, 0.0, 0.0, 0.0, 16412, 52, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 12.54902, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 302, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 145000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [22.666666, 89, 178.90625, 0.0, 0.0, 0.0, 0.0, 0.0, 13828, 61, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.941177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 304, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 146000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [28.88889, 88, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 6447, 61, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 34.11765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 147000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [16.88889, 87, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 5657, 56, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 308, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 148000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [19.11111, 87, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 4873, 48, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 35.686275, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [4, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 149000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [27.11111, 87, 185.9375, 0.0, 0.0, 0.0, 0.0, 0.0, 3613, 34, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [4, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 150000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [30.222221, 88, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 3131, 19, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 36.862747, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 314, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 151000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [36.444443, 88, 209.375, 0.0, 0.0, 0.0, 0.0, 0.0, 3844, 8, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 34.901962, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 316, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 152000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [43.555557, 88, 209.375, 0.0, 0.0, 0.0, 0.0, 0.0, 3080, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 28.62745, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 153000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [42.666668, 89, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 2866, 1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.941177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 320, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 154000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [76, 89, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 7457, 13, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 10.588236, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 322, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 155000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [105.77778, 90, 204.6875, 0.0, 0.0, 0.0, 0.0, 0.0, 9272, 27, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 15.686275, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 324, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 156000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [87.55556, 90, 211.71875, 0.0, 0.0, 0.0, 0.0, 0.0, 13585, 43, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 28.62745, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 157000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [42.666668, 89, 190.625, 0.0, 0.0, 0.0, 0.0, 0.0, 11024, 53, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 20.784313, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 158000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [18.222221, 88, 155.46875, 0.0, 0.0, 0.0, 0.0, 0.0, 6927, 51, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 28.62745, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 330, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 159000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [21.333334, 88, 157.8125, 0.0, 0.0, 0.0, 0.0, 0.0, 5148, 38, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 34.11765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 332, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 160000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [26.222221, 88, 139.0625, 0.0, 0.0, 0.0, 0.0, 0.0, 3594, 29, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 26.27451, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 334, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 161000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [48.88889, 88, 185.9375, 0.0, 0.0, 0.0, 0.0, 0.0, 3350, 25, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 18.82353, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 336, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 162000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [79.55556, 88, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 8456, 34, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 26.27451, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 338, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 163000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [30.666666, 89, 185.9375, 0.0, 0.0, 0.0, 0.0, 0.0, 6163, 40, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 36.47059, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 340, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 164000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [24, 89, 188.28125, 0.0, 0.0, 0.0, 0.0, 0.0, 4886, 32, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.588236, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 342, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 165000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [54.22222, 89, 192.96875, 0.0, 0.0, 0.0, 0.0, 0.0, 5130, 29, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 28.62745, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 344, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 166000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [112.888885, 89, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 9525, 38, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 26.27451, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 346, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 167000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [99.55556, 89, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 10513, 49, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 348, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 168000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [76.888885, 89, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 8248, 54, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.941177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 350, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 169000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [59.11111, 89, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 8484, 59, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 352, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 170000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [74.22222, 89, 211.71875, 0.0, 0.0, 0.0, 0.0, 0.0, 5945, 61, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.941177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 171000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [23.11111, 89, 178.90625, 0.0, 0.0, 0.0, 0.0, 0.0, 6197, 61, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 34.901962, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 356, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 172000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [20.88889, 89, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 5904, 59, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 34.901962, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [4, 0, 0, 0, 0, 0, 0, 358, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 173000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [35.11111, 89, 207.03125, 0.0, 0.0, 0.0, 0.0, 0.0, 6154, 60, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 360, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 174000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [16.88889, 90, 181.25, 0.0, 0.0, 0.0, 0.0, 0.0, 5636, 59, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 28.62745, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 175000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [54.666668, 90, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 5411, 54, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 24.705883, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [4, 0, 0, 0, 0, 0, 0, 364, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 176000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [24.444445, 90, 195.3125, 0.0, 0.0, 0.0, 0.0, 0.0, 5688, 55, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.941177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 366, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 177000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [48.88889, 90, 211.71875, 0.0, 0.0, 0.0, 0.0, 0.0, 5903, 55, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 26.27451, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 368, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 178000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [20.88889, 91, 204.6875, 0.0, 0.0, 0.0, 0.0, 0.0, 5162, 51, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 370, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 179000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [24, 91, 188.28125, 0.0, 0.0, 0.0, 0.0, 0.0, 4124, 44, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 372, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 180000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [23.555555, 91, 181.25, 0.0, 0.0, 0.0, 0.0, 0.0, 3132, 37, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 34.901962, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 374, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 181000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [28, 91, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3128, 24, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 34.901962, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 376, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 182000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [38.666668, 91, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 3089, 15, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 39.607845, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 378, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 183000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [42.666668, 91, 209.375, 0.0, 0.0, 0.0, 0.0, 0.0, 2869, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 184000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [39.555557, 91, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 2877, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 26.27451, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 185000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [39.11111, 92, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 2871, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 28.62745, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 186000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [39.11111, 92, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 2872, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 387, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 187000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [39.11111, 92, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 2870, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 389, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 188000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [39.555557, 92, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3073, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 391, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 189000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [39.555557, 92, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 3077, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 392, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 190000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.444443, 92, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 2867, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 394, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 191000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40, 93, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 3072, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 396, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 192000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40, 93, 204.6875, 0.0, 0.0, 0.0, 0.0, 0.0, 3078, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 398, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 193000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40, 93, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 2875, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.588236, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 194000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40, 93, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 3074, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 195000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.444443, 93, 195.3125, 0.0, 0.0, 0.0, 0.0, 0.0, 2878, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 196000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.444443, 93, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 3081, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 406, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 197000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.444443, 93, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 3085, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 408, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 198000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.444443, 93, 195.3125, 0.0, 0.0, 0.0, 0.0, 0.0, 2877, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 410, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 199000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.88889, 93, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 3079, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 412, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 200000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.88889, 93, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3082, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 414, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 201000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.444443, 94, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 3079, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 416, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 202000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.88889, 94, 204.6875, 0.0, 0.0, 0.0, 0.0, 0.0, 3077, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 418, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 203000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.88889, 94, 192.96875, 0.0, 0.0, 0.0, 0.0, 0.0, 3076, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 420, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 204000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.88889, 94, 195.3125, 0.0, 0.0, 0.0, 0.0, 0.0, 3075, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 422, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 205000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.333332, 94, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 3080, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 424, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 206000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.88889, 94, 195.3125, 0.0, 0.0, 0.0, 0.0, 0.0, 3080, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 426, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 207000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.88889, 94, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3081, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 428, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 208000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.88889, 94, 192.96875, 0.0, 0.0, 0.0, 0.0, 0.0, 3085, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 430, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 209000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [84, 94, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3900, 2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 11.372549, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 432, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 210000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [73.333336, 94, 207.03125, 0.0, 0.0, 0.0, 0.0, 0.0, 6937, 15, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 17.254902, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 434, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 211000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [100.888885, 94, 211.71875, 0.0, 0.0, 0.0, 0.0, 0.0, 10253, 30, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 10.588236, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 436, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 212000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [104, 94, 214.0625, 0.0, 0.0, 0.0, 0.0, 0.0, 14653, 46, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 22.745098, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 438, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 213000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [55.555557, 93, 209.375, 0.0, 0.0, 0.0, 0.0, 0.0, 17934, 59, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 24.705883, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 440, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 214000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [28.444445, 91, 190.625, 0.0, 0.0, 0.0, 0.0, 0.0, 8757, 62, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 22.745098, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 442, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 215000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [17.777779, 90, 188.28125, 0.0, 0.0, 0.0, 0.0, 0.0, 5642, 58, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 444, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 216000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [25.333334, 89, 171.875, 0.0, 0.0, 0.0, 0.0, 0.0, 3630, 38, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 446, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 217000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [25.777779, 89, 178.90625, 0.0, 0.0, 0.0, 0.0, 0.0, 3130, 27, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 448, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 218000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40, 90, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 3091, 13, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.941177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 450, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 219000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [43.11111, 90, 207.03125, 0.0, 0.0, 0.0, 0.0, 0.0, 3340, 4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 220000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.444443, 91, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 2874, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.19608, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 454, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 221000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [39.555557, 91, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 2877, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 27.450981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 456, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 222000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [39.11111, 92, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3074, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 458, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 223000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [39.555557, 92, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 2866, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 460, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 224000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [39.11111, 92, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 3072, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 462, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 225000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [39.555557, 93, 195.3125, 0.0, 0.0, 0.0, 0.0, 0.0, 2873, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 464, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 226000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40, 93, 204.6875, 0.0, 0.0, 0.0, 0.0, 0.0, 3076, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 466, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 227000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.444443, 93, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 3073, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 31.764706, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 468, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 228000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40, 93, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 3074, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 470, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 229000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.444443, 93, 204.6875, 0.0, 0.0, 0.0, 0.0, 0.0, 3074, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 472, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 230000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.444443, 93, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 2873, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 474, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 231000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.88889, 93, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 3074, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 476, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 232000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.444443, 93, 204.6875, 0.0, 0.0, 0.0, 0.0, 0.0, 3074, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 478, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 233000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.444443, 94, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 2879, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 480, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 234000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.88889, 94, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 3074, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 482, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 235000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.444443, 94, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3079, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 484, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 236000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.444443, 94, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 3074, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 486, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 237000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.88889, 94, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 3077, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 488, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 238000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.88889, 94, 195.3125, 0.0, 0.0, 0.0, 0.0, 0.0, 3073, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 490, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 239000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.333332, 94, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 2879, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 492, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 240000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.88889, 94, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 3080, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 494, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 241000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [40.88889, 94, 192.96875, 0.0, 0.0, 0.0, 0.0, 0.0, 3072, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 496, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 242000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.333332, 94, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3084, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 31.764706, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 498, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 243000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.333332, 94, 192.96875, 0.0, 0.0, 0.0, 0.0, 0.0, 3072, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 500, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 244000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.333332, 94, 195.3125, 0.0, 0.0, 0.0, 0.0, 0.0, 2878, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 502, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 245000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.333332, 94, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3082, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 504, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 246000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.333332, 94, 195.3125, 0.0, 0.0, 0.0, 0.0, 0.0, 3073, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 506, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 247000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.77778, 94, 195.3125, 0.0, 0.0, 0.0, 0.0, 0.0, 3079, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 508, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 248000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.333332, 94, 192.96875, 0.0, 0.0, 0.0, 0.0, 0.0, 3075, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 510, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 249000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.333332, 94, 190.625, 0.0, 0.0, 0.0, 0.0, 0.0, 2874, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 512, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 250000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.333332, 94, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3079, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 514, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 251000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [42.22222, 94, 192.96875, 0.0, 0.0, 0.0, 0.0, 0.0, 2879, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 31.764706, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 516, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 252000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.77778, 94, 192.96875, 0.0, 0.0, 0.0, 0.0, 0.0, 2872, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 518, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 253000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.77778, 94, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 3077, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 520, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 254000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.77778, 94, 190.625, 0.0, 0.0, 0.0, 0.0, 0.0, 2872, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 31.764706, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 255000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.77778, 94, 195.3125, 0.0, 0.0, 0.0, 0.0, 0.0, 3079, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 524, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 256000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.77778, 94, 192.96875, 0.0, 0.0, 0.0, 0.0, 0.0, 2875, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 526, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 257000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.77778, 94, 192.96875, 0.0, 0.0, 0.0, 0.0, 0.0, 2879, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 528, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 258000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [42.22222, 94, 197.65625, 0.0, 0.0, 0.0, 0.0, 0.0, 3078, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 31.764706, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 530, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 259000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [41.77778, 94, 192.96875, 0.0, 0.0, 0.0, 0.0, 0.0, 3077, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.156864, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 532, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 260000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [51.555557, 95, 209.375, 0.0, 0.0, 0.0, 0.0, 0.0, 5426, 5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 22.745098, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 534, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 261000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [66.22222, 96, 204.6875, 0.0, 0.0, 0.0, 0.0, 0.0, 9000, 18, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 27.450981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 536, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 262000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [53.333332, 95, 204.6875, 0.0, 0.0, 0.0, 0.0, 0.0, 7996, 24, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 18.82353, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 538, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 263000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [109.333336, 95, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 6195, 29, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 10.588236, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 540, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 264000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [61.77778, 94, 204.6875, 0.0, 0.0, 0.0, 0.0, 0.0, 12839, 40, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 23.529411, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 542, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 265000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [111.55556, 94, 207.03125, 0.0, 0.0, 0.0, 0.0, 0.0, 10757, 49, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 27.450981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 544, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 266000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [85.77778, 93, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 12836, 61, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 28.62745, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 546, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 267000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [34.22222, 92, 200, 0.0, 0.0, 0.0, 0.0, 0.0, 10042, 65, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 32.941177, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 548, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 268000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [111.55556, 92, 216.40625, 0.0, 0.0, 0.0, 0.0, 0.0, 9733, 66, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 26.27451, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 550, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 269000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [56.88889, 91, 202.34375, 0.0, 0.0, 0.0, 0.0, 0.0, 10302, 70, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 27.450981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 552, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 270000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [111.111115, 91, 209.375, 0.0, 0.0, 0.0, 0.0, 0.0, 15104, 73, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 19.215687, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 554, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ },
+ {
+ "timestamp": 271000000,
+ "areaId": 0,
+ "value": {
+ "stringValue": "",
+ "floatValues": [75.111115, 91, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 16423, 86, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "int32Values": [2, 0, 0, 0, 0, 0, 0, 556, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ },
+ "prop": 299896064
+ }
+]
diff --git a/tests/vehiclehal_test/assets/car_info_test.json b/tests/vehiclehal_test/assets/car_info_test.json
new file mode 100644
index 0000000..90c9bdc
--- /dev/null
+++ b/tests/vehiclehal_test/assets/car_info_test.json
@@ -0,0 +1,20 @@
+[
+ {
+ "timestamp": 1526063903356950016,
+ "areaId": 0,
+ "value": 15000,
+ "prop": 291504388
+ },
+ {
+ "timestamp": 1526063903358950016,
+ "areaId": 0,
+ "value": 150000,
+ "prop": 291504390
+ },
+ {
+ "timestamp": 1526063903360950016,
+ "areaId": 0,
+ "value": "Test Car",
+ "prop": 286261505
+ }
+]
diff --git a/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/CarDiagnosticTest.java b/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/CarDiagnosticTest.java
new file mode 100644
index 0000000..b0dd2c7
--- /dev/null
+++ b/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/CarDiagnosticTest.java
@@ -0,0 +1,129 @@
+/*
+ * 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 com.android.car.vehiclehal.test;
+
+import static junit.framework.Assert.assertTrue;
+
+import android.car.Car;
+import android.car.diagnostic.CarDiagnosticEvent;
+import android.car.diagnostic.CarDiagnosticManager;
+import android.car.diagnostic.FloatSensorIndex;
+import android.car.diagnostic.IntegerSensorIndex;
+import android.car.hardware.CarPropertyValue;
+import android.car.hardware.CarSensorManager;
+import android.hardware.automotive.vehicle.V2_0.VehiclePropValue;
+import android.hardware.automotive.vehicle.V2_0.VehicleProperty;
+import android.support.test.filters.LargeTest;
+import android.support.test.runner.AndroidJUnit4;
+import android.util.Log;
+import android.util.SparseIntArray;
+
+import com.android.car.vehiclehal.VehiclePropValueBuilder;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.io.File;
+import java.time.Duration;
+import java.util.List;
+
+@RunWith(AndroidJUnit4.class)
+@LargeTest
+public class CarDiagnosticTest extends E2eCarTestBase {
+
+ private static final String TAG = Utils.concatTag(CarDiagnosticTest.class);
+
+ private static final Duration TEST_TIME_OUT = Duration.ofMinutes(5);
+
+ private static final String CAR_DIAGNOSTIC_TEST_JSON = "car_diagnostic_test.json";
+
+ private static final SparseIntArray DIAGNOSTIC_PROPERTY_MAP;
+
+ static {
+ DIAGNOSTIC_PROPERTY_MAP = new SparseIntArray();
+ DIAGNOSTIC_PROPERTY_MAP.append(
+ CarDiagnosticManager.FRAME_TYPE_LIVE, VehicleProperty.OBD2_LIVE_FRAME);
+ DIAGNOSTIC_PROPERTY_MAP.append(
+ CarDiagnosticManager.FRAME_TYPE_FREEZE, VehicleProperty.OBD2_FREEZE_FRAME);
+ }
+
+ private class CarDiagnosticListner implements CarDiagnosticManager.OnDiagnosticEventListener {
+
+ private VhalEventVerifier mVerifier;
+
+ CarDiagnosticListner(VhalEventVerifier verifier) {
+ mVerifier = verifier;
+ }
+
+ @Override
+ public void onDiagnosticEvent(CarDiagnosticEvent event) {
+ mVerifier.verify(fromCarDiagnosticEvent(event));
+ }
+ }
+
+ private static CarPropertyValue<VehiclePropValue.RawValue> fromCarDiagnosticEvent(
+ final CarDiagnosticEvent event) {
+ int prop = DIAGNOSTIC_PROPERTY_MAP.get(event.frameType);
+ VehiclePropValueBuilder builder = VehiclePropValueBuilder.newBuilder(prop);
+
+ for (int i = 0; i <= IntegerSensorIndex.LAST_SYSTEM; i++) {
+ builder.addIntValue(event.getSystemIntegerSensor(i, 0));
+ }
+ for (int i = 0; i <= FloatSensorIndex.LAST_SYSTEM; i++) {
+ builder.addFloatValue(event.getSystemFloatSensor(i, 0));
+ }
+
+ builder.setStringValue(event.dtc);
+ return new CarPropertyValue<>(prop, 0, builder.build().value);
+ }
+
+ @Test
+ public void testDiagnosticEvents() throws Exception {
+ Log.d(TAG, "Prepare Diagnostic test data");
+ List<CarPropertyValue> expectedEvents = getExpectedEvents(CAR_DIAGNOSTIC_TEST_JSON);
+ VhalEventVerifier verifier = new VhalEventVerifier(expectedEvents);
+
+ CarDiagnosticManager diagnosticManager = (CarDiagnosticManager) mCar.getCarManager(
+ Car.DIAGNOSTIC_SERVICE);
+
+ CarDiagnosticListner listner = new CarDiagnosticListner(verifier);
+
+ assertTrue("Failed to register for OBD2 diagnostic live frame.",
+ diagnosticManager.registerListener(listner,
+ CarDiagnosticManager.FRAME_TYPE_LIVE,
+ CarSensorManager.SENSOR_RATE_NORMAL));
+ assertTrue("Failed to register for OBD2 diagnostic freeze frame.",
+ diagnosticManager.registerListener(listner,
+ CarDiagnosticManager.FRAME_TYPE_FREEZE,
+ CarSensorManager.SENSOR_RATE_NORMAL));
+
+ File sharedJson = makeShareable(CAR_DIAGNOSTIC_TEST_JSON);
+ Log.d(TAG, "Send command to VHAL to start generation");
+ VhalEventGenerator diagnosticGenerator =
+ new JsonVhalEventGenerator(mVehicle).setJsonFile(sharedJson);
+ diagnosticGenerator.start();
+
+ Log.d(TAG, "Receiving and verifying VHAL events");
+ verifier.waitForEnd(TEST_TIME_OUT.toMillis());
+
+ Log.d(TAG, "Send command to VHAL to stop generation");
+ diagnosticGenerator.stop();
+ diagnosticManager.unregisterListener(listner);
+
+ assertTrue("Detected mismatched events: " + verifier.getResultString(),
+ verifier.getMismatchedEvents().isEmpty());
+ }
+}
diff --git a/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/CarHvacTest.java b/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/CarHvacTest.java
deleted file mode 100644
index 08544bd..0000000
--- a/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/CarHvacTest.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * 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 com.android.car.vehiclehal.test;
-
-import static org.junit.Assert.assertTrue;
-
-import static java.lang.Integer.toHexString;
-
-import android.car.Car;
-import android.car.hardware.CarPropertyConfig;
-import android.car.hardware.CarPropertyValue;
-import android.car.hardware.hvac.CarHvacManager;
-import android.car.hardware.hvac.CarHvacManager.CarHvacEventCallback;
-import android.hardware.automotive.vehicle.V2_0.VehiclePropValue;
-import android.hardware.automotive.vehicle.V2_0.VehicleProperty;
-import android.support.test.filters.LargeTest;
-import android.support.test.runner.AndroidJUnit4;
-import android.util.ArraySet;
-import android.util.Log;
-
-import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.io.File;
-import java.time.Duration;
-import java.util.Set;
-
-
-/**
- * The test suite will execute end-to-end Car HVAC API test by generating HVAC property data from
- * default VHAL and verify those data on the fly. The test data is coming from assets/ folder in the
- * test APK and will be shared with VHAL to execute the test.
- */
-@RunWith(AndroidJUnit4.class)
-@LargeTest
-public class CarHvacTest extends E2eCarTestBase {
- private static final String TAG = Utils.concatTag(CarHvacTest.class);
-
- // Test should be completed within 1 hour as it only covers a finite set of HVAC properties
- private static final Duration TEST_TIME_OUT = Duration.ofHours(1);
-
- private static final String CAR_HVAC_TEST_JSON = "car_hvac_test.json";
-
- // Referred to hardware/interfaces/automotive/vehicle/2.0/types.hal, some of the HVAC properties
- // are in CONTINUOUS mode. They should be omitted when testing ON_CHANGE properties.
- private static final Set<Integer> CONTINUOUS_HVAC_PROPS;
-
- private Integer mNumPropEventsToSkip;
-
- static {
- CONTINUOUS_HVAC_PROPS = new ArraySet<>();
- CONTINUOUS_HVAC_PROPS.add(VehicleProperty.ENV_OUTSIDE_TEMPERATURE);
- }
-
-
- private class CarHvacOnChangeEventListener implements CarHvacEventCallback {
- private VhalEventVerifier mVerifier;
-
- CarHvacOnChangeEventListener(VhalEventVerifier verifier) {
- mVerifier = verifier;
- }
-
- @Override
- public void onChangeEvent(CarPropertyValue carPropertyValue) {
- VehiclePropValue event = Utils.fromHvacPropertyValue(carPropertyValue);
- if (!CONTINUOUS_HVAC_PROPS.contains(event.prop)) {
- synchronized (mNumPropEventsToSkip) {
- if (mNumPropEventsToSkip == 0) {
- mVerifier.verify(Utils.fromHvacPropertyValue(carPropertyValue));
- } else {
- mNumPropEventsToSkip--;
- }
- }
- }
- }
-
- @Override
- public void onErrorEvent(final int propertyId, final int zone) {
- Assert.fail("Error: propertyId=" + toHexString(propertyId) + " zone=" + zone);
- }
- }
-
- private Integer calculateNumPropEventsToSkip(CarHvacManager hvacMgr) {
- int numToSkip = 0;
- try {
- for (CarPropertyConfig c: hvacMgr.getPropertyList()) {
- if (!CONTINUOUS_HVAC_PROPS.contains(c.getPropertyId())) {
- numToSkip += c.getAreaCount();
- }
- }
- } catch (Exception e) {
- Log.d(TAG, "Unhandled exception thrown: ", e);
- }
- return Integer.valueOf(numToSkip);
- }
- @Test
- public void testHvacOperations() throws Exception {
- Log.d(TAG, "Prepare HVAC test data");
- VhalEventVerifier verifier = new VhalEventVerifier(getExpectedEvents(CAR_HVAC_TEST_JSON));
- File sharedJson = makeShareable(CAR_HVAC_TEST_JSON);
-
- Log.d(TAG, "Start listening to the HAL");
- CarHvacManager hvacMgr = (CarHvacManager) mCar.getCarManager(Car.HVAC_SERVICE);
- // Calculate number of properties to skip due to registration event
- mNumPropEventsToSkip = calculateNumPropEventsToSkip(hvacMgr);
- CarHvacEventCallback callback = new CarHvacOnChangeEventListener(verifier);
- hvacMgr.registerCallback(callback);
-
- Log.d(TAG, "Send command to VHAL to start generation");
- VhalEventGenerator hvacGenerator =
- new JsonVhalEventGenerator(mVehicle).setJsonFile(sharedJson);
- hvacGenerator.start();
-
- Log.d(TAG, "Receiving and verifying VHAL events");
- verifier.waitForEnd(TEST_TIME_OUT.toMillis());
-
- Log.d(TAG, "Send command to VHAL to stop generation");
- hvacGenerator.stop();
- hvacMgr.unregisterCallback(callback);
-
- assertTrue("Detected mismatched events: " + verifier.getResultString(),
- verifier.getMismatchedEvents().isEmpty());
- }
-}
diff --git a/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/CarPropertyTest.java b/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/CarPropertyTest.java
new file mode 100644
index 0000000..27579bd
--- /dev/null
+++ b/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/CarPropertyTest.java
@@ -0,0 +1,206 @@
+/*
+ * 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 com.android.car.vehiclehal.test;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import static java.lang.Integer.toHexString;
+
+import android.car.Car;
+import android.car.hardware.CarPropertyConfig;
+import android.car.hardware.CarPropertyValue;
+import android.car.hardware.property.CarPropertyManager;
+import android.support.test.filters.LargeTest;
+import android.support.test.runner.AndroidJUnit4;
+import android.util.ArraySet;
+import android.util.Log;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.io.File;
+import java.time.Duration;
+import java.util.List;
+
+/**
+ * The test suite will execute end-to-end Car Property API test by generating VHAL property data
+ * from default VHAL and verify those data on the fly. The test data is coming from assets/ folder
+ * in the test APK and will be shared with VHAL to execute the test.
+ */
+@RunWith(AndroidJUnit4.class)
+@LargeTest
+public class CarPropertyTest extends E2eCarTestBase {
+
+ private static final String TAG = Utils.concatTag(CarPropertyTest.class);
+
+ // Test should be completed within 10 minutes as it only covers a finite set of properties
+ private static final Duration TEST_TIME_OUT = Duration.ofMinutes(10);
+
+ private static final String CAR_HVAC_TEST_JSON = "car_hvac_test.json";
+ private static final String CAR_INFO_TEST_JSON = "car_info_test.json";
+
+ private class CarPropertyEventReceiver implements
+ CarPropertyManager.CarPropertyEventListener {
+
+ private VhalEventVerifier mVerifier;
+ private Integer mNumOfEventToSkip;
+
+ CarPropertyEventReceiver(VhalEventVerifier verifier, int numOfEventToSkip) {
+ mVerifier = verifier;
+ mNumOfEventToSkip = numOfEventToSkip;
+ }
+
+ @Override
+ public void onChangeEvent(CarPropertyValue carPropertyValue) {
+ Log.d(TAG, "Received event: " + carPropertyValue);
+ synchronized (mNumOfEventToSkip) {
+ if (mNumOfEventToSkip > 0) {
+ mNumOfEventToSkip--;
+ return;
+ }
+ }
+ mVerifier.verify(carPropertyValue);
+ }
+
+ @Override
+ public void onErrorEvent(final int propertyId, final int zone) {
+ Assert.fail("Error: propertyId=" + toHexString(propertyId) + " zone=" + zone);
+ }
+ }
+
+ private int countNumPropEventsToSkip(CarPropertyManager propMgr, ArraySet<Integer> props) {
+ int numToSkip = 0;
+ for (CarPropertyConfig c : propMgr.getPropertyList(props)) {
+ numToSkip += c.getAreaCount();
+ }
+ return numToSkip;
+ }
+
+ /**
+ * This test will let Default VHAL to generate HVAC data and verify on-the-fly in the test. It
+ * is simulating the HVAC actions coming from hard buttons in a car.
+ * @throws Exception
+ */
+ @Test
+ public void testHvacHardButtonOperations() throws Exception {
+ Log.d(TAG, "Prepare HVAC test data");
+ List<CarPropertyValue> expectedEvents = getExpectedEvents(CAR_HVAC_TEST_JSON);
+ VhalEventVerifier verifier = new VhalEventVerifier(expectedEvents);
+
+ CarPropertyManager propMgr = (CarPropertyManager) mCar.getCarManager(Car.PROPERTY_SERVICE);
+ assertNotNull("CarPropertyManager is null", propMgr);
+
+ ArraySet<Integer> props = new ArraySet<>();
+ for (CarPropertyValue event : expectedEvents) {
+ if (!props.contains(event.getPropertyId())) {
+ props.add(event.getPropertyId());
+ }
+ }
+
+ int numToSkip = countNumPropEventsToSkip(propMgr, props);
+ Log.d(TAG, String.format("Start listening to the HAL."
+ + " Skipping %d events for listener registration", numToSkip));
+ CarPropertyManager.CarPropertyEventListener receiver =
+ new CarPropertyEventReceiver(verifier, numToSkip);
+ for (Integer prop : props) {
+ propMgr.registerListener(receiver, prop, 0);
+ }
+
+ File sharedJson = makeShareable(CAR_HVAC_TEST_JSON);
+ Log.d(TAG, "Send command to VHAL to start generation");
+ VhalEventGenerator hvacGenerator =
+ new JsonVhalEventGenerator(mVehicle).setJsonFile(sharedJson);
+ hvacGenerator.start();
+
+ Log.d(TAG, "Receiving and verifying VHAL events");
+ verifier.waitForEnd(TEST_TIME_OUT.toMillis());
+
+ Log.d(TAG, "Send command to VHAL to stop generation");
+ hvacGenerator.stop();
+ propMgr.unregisterListener(receiver);
+
+ assertTrue("Detected mismatched events: " + verifier.getResultString(),
+ verifier.getMismatchedEvents().isEmpty());
+ }
+
+ /**
+ * This test will exercise on "set" calls to inject HVAC data in order to test the Car Property
+ * API end-to-end functionality.
+ * @throws Exception
+ */
+ @Test
+ @SuppressWarnings("unchecked")
+ public void testHvacSetGetOperations() throws Exception {
+ Log.d(TAG, "Prepare HVAC test data");
+ List<CarPropertyValue> expectedEvents = getExpectedEvents(CAR_HVAC_TEST_JSON);
+
+ CarPropertyManager propMgr = (CarPropertyManager) mCar.getCarManager(Car.PROPERTY_SERVICE);
+ assertNotNull("CarPropertyManager is null", propMgr);
+
+ final long waitForSetMillisecond = 2;
+ for (CarPropertyValue expectedEvent : expectedEvents) {
+ Class valueClass = expectedEvent.getValue().getClass();
+ propMgr.setProperty(valueClass,
+ expectedEvent.getPropertyId(),
+ expectedEvent.getAreaId(),
+ expectedEvent.getValue());
+
+ Thread.sleep(waitForSetMillisecond);
+ CarPropertyValue receivedEvent = propMgr.getProperty(valueClass,
+ expectedEvent.getPropertyId(), expectedEvent.getAreaId());
+ assertTrue("Mismatched events, expected: " + expectedEvent + ", received: "
+ + receivedEvent, Utils.areCarPropertyValuesEqual(expectedEvent, receivedEvent));
+ }
+ }
+
+ /**
+ * This test will load static vehicle information from test data file and verify them through
+ * get calls.
+ * @throws Exception
+ */
+ @Test
+ public void testStaticInfoOperations() throws Exception {
+ Log.d(TAG, "Prepare static car information");
+
+ List<CarPropertyValue> expectedEvents = getExpectedEvents(CAR_INFO_TEST_JSON);
+ CarPropertyManager propMgr = (CarPropertyManager) mCar.getCarManager(Car.PROPERTY_SERVICE);
+ assertNotNull("CarPropertyManager is null", propMgr);
+
+ File sharedJson = makeShareable(CAR_INFO_TEST_JSON);
+ Log.d(TAG, "Send command to VHAL to start generation");
+ VhalEventGenerator infoGenerator =
+ new JsonVhalEventGenerator(mVehicle).setJsonFile(sharedJson);
+ infoGenerator.start();
+
+ // Wait for some time to ensure information is all loaded
+ // It is assuming the test data is not very large
+ Thread.sleep(2000);
+
+ Log.d(TAG, "Send command to VHAL to stop generation");
+ infoGenerator.stop();
+
+ for (CarPropertyValue expectedEvent : expectedEvents) {
+ CarPropertyValue actualEvent = propMgr.getProperty(
+ expectedEvent.getPropertyId(), expectedEvent.getAreaId());
+ assertTrue(String.format(
+ "Mismatched car information data, actual: %s, expected: %s",
+ actualEvent, expectedEvent),
+ Utils.areCarPropertyValuesEqual(actualEvent, expectedEvent));
+ }
+ }
+}
diff --git a/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/E2eCarTestBase.java b/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/E2eCarTestBase.java
index 5960422..9485d80 100644
--- a/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/E2eCarTestBase.java
+++ b/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/E2eCarTestBase.java
@@ -19,12 +19,12 @@
import static org.junit.Assume.assumeTrue;
import android.car.Car;
+import android.car.hardware.CarPropertyValue;
import android.content.ComponentName;
import android.content.Context;
import android.content.ServiceConnection;
import android.hardware.automotive.vehicle.V2_0.IVehicle;
import android.hardware.automotive.vehicle.V2_0.StatusCode;
-import android.hardware.automotive.vehicle.V2_0.VehiclePropValue;
import android.os.ConditionVariable;
import android.os.FileUtils;
import android.os.IBinder;
@@ -82,7 +82,7 @@
}
}
- protected List<VehiclePropValue> getExpectedEvents(String fileName)
+ protected List<CarPropertyValue> getExpectedEvents(String fileName)
throws IOException, JSONException {
try (InputStream in = mContext.getAssets().open(fileName)) {
Log.d(TAG, "Reading golden test data" + fileName);
diff --git a/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/JsonVhalEventGenerator.java b/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/JsonVhalEventGenerator.java
index 702f5f0..4560b8c 100644
--- a/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/JsonVhalEventGenerator.java
+++ b/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/JsonVhalEventGenerator.java
@@ -28,6 +28,9 @@
class JsonVhalEventGenerator implements VhalEventGenerator {
+ // Exactly one iteration is required for JSON-based end-to-end test
+ private static final int NUM_OF_ITERATION = 1;
+
private IVehicle mVehicle;
private File mFile;
@@ -47,7 +50,7 @@
public void start() throws RemoteException {
VehiclePropValue request =
VehiclePropValueBuilder.newBuilder(GENERATE_FAKE_DATA_CONTROLLING_PROPERTY)
- .addIntValue(CMD_START_JSON)
+ .addIntValue(CMD_START_JSON, NUM_OF_ITERATION)
.setStringValue(mFile.getAbsolutePath())
.build();
assertEquals(StatusCode.OK, mVehicle.set(request));
@@ -58,6 +61,7 @@
VehiclePropValue request =
VehiclePropValueBuilder.newBuilder(GENERATE_FAKE_DATA_CONTROLLING_PROPERTY)
.addIntValue(CMD_STOP_JSON)
+ .setStringValue(mFile.getAbsolutePath())
.build();
assertEquals(StatusCode.OK, mVehicle.set(request));
}
diff --git a/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/Utils.java b/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/Utils.java
index 6a4b496..496b504 100644
--- a/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/Utils.java
+++ b/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/Utils.java
@@ -16,13 +16,10 @@
package com.android.car.vehiclehal.test;
-import static java.lang.Integer.toHexString;
-
import android.car.hardware.CarPropertyValue;
import android.hardware.automotive.vehicle.V2_0.IVehicle;
import android.hardware.automotive.vehicle.V2_0.VehiclePropConfig;
import android.hardware.automotive.vehicle.V2_0.VehiclePropValue;
-import android.os.HidlSupport;
import android.os.RemoteException;
import android.util.Log;
@@ -102,55 +99,13 @@
* @param value2
* @return true if equal
*/
- static boolean areVehiclePropValuesEqual(final VehiclePropValue value1,
- final VehiclePropValue value2) {
+ static boolean areCarPropertyValuesEqual(final CarPropertyValue value1,
+ final CarPropertyValue value2) {
return value1 == value2
|| value1 != null
&& value2 != null
- && value1.prop == value2.prop
- && value1.areaId == value2.areaId
- && HidlSupport.deepEquals(value1.value, value2.value);
- }
-
- /**
- * The method will convert prop ID to hexadecimal format, and omit timestamp and status
- *
- * @param value
- * @return String
- */
- static String vehiclePropValueToString(final VehiclePropValue value) {
- return "{.prop = 0x" + toHexString(value.prop)
- + ", .areaId = " + value.areaId
- + ", .value = " + value.value + "}";
- }
-
- static VehiclePropValue fromHvacPropertyValue(CarPropertyValue value) {
- VehiclePropValueBuilder builder =
- VehiclePropValueBuilder.newBuilder(
- VhalPropMaps.getHvacVhalProp(value.getPropertyId()));
- return fromCarPropertyValue(value, builder);
- }
-
- private static VehiclePropValue fromCarPropertyValue(
- CarPropertyValue value, VehiclePropValueBuilder builder) {
- builder.setAreaId(value.getAreaId()).setTimestamp(value.getTimestamp());
-
- //TODO: Consider move this conversion to VehiclePropValueBuilder
- Object o = value.getValue();
- if (o instanceof Boolean) {
- builder.addIntValue((boolean) o ? 1 : 0);
- } else if (o instanceof Integer) {
- builder.addIntValue((int) o);
- } else if (o instanceof Float) {
- builder.addFloatValue((float) o);
- } else if (o instanceof Long) {
- builder.setInt64Value((long) o);
- } else if (o instanceof String) {
- builder.setStringValue((String) o);
- } else { //TODO: Add support for MIXED type
- throw new IllegalArgumentException("Unrecognized car property value type, "
- + o.getClass());
- }
- return builder.build();
+ && value1.getPropertyId() == value2.getPropertyId()
+ && value1.getAreaId() == value2.getAreaId()
+ && value1.getValue().equals(value2.getValue());
}
}
diff --git a/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/VhalEventVerifier.java b/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/VhalEventVerifier.java
index 5ac92ca..62dbf5c 100644
--- a/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/VhalEventVerifier.java
+++ b/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/VhalEventVerifier.java
@@ -15,7 +15,7 @@
*/
package com.android.car.vehiclehal.test;
-import android.hardware.automotive.vehicle.V2_0.VehiclePropValue;
+import android.car.hardware.CarPropertyValue;
import android.os.ConditionVariable;
import java.util.ArrayList;
@@ -28,7 +28,7 @@
* The verifier will provide formatted result for all mismatched events in sequence.
*/
class VhalEventVerifier {
- private List<VehiclePropValue> mExpectedEvents;
+ private List<CarPropertyValue> mExpectedEvents;
// A pointer to keep track of the next expected event in the list
private int mIdx;
private List<MismatchedEventPair> mMismatchedEvents;
@@ -37,10 +37,10 @@
static class MismatchedEventPair {
public final int idx;
- public final VehiclePropValue expectedEvent;
- public final VehiclePropValue mismatchedEvent;
+ public final CarPropertyValue expectedEvent;
+ public final CarPropertyValue mismatchedEvent;
- MismatchedEventPair(VehiclePropValue expectedEvent, VehiclePropValue mismatchedEvent,
+ MismatchedEventPair(CarPropertyValue expectedEvent, CarPropertyValue mismatchedEvent,
int idx) {
this.idx = idx;
this.expectedEvent = expectedEvent;
@@ -48,7 +48,7 @@
}
}
- VhalEventVerifier(List<VehiclePropValue> expectedEvents) {
+ VhalEventVerifier(List<CarPropertyValue> expectedEvents) {
mExpectedEvents = expectedEvents;
mIdx = 0;
mMismatchedEvents = new ArrayList<>();
@@ -62,12 +62,12 @@
*
* @param nextEvent to be verified
*/
- public void verify(VehiclePropValue nextEvent) {
+ public void verify(CarPropertyValue nextEvent) {
if (mIdx >= mExpectedEvents.size()) {
return;
}
- VehiclePropValue expectedEvent = mExpectedEvents.get(mIdx);
- if (!Utils.areVehiclePropValuesEqual(expectedEvent, nextEvent)) {
+ CarPropertyValue expectedEvent = mExpectedEvents.get(mIdx);
+ if (!Utils.areCarPropertyValuesEqual(expectedEvent, nextEvent)) {
mMismatchedEvents.add(new MismatchedEventPair(expectedEvent, nextEvent, mIdx));
}
if (++mIdx == mExpectedEvents.size()) {
@@ -87,8 +87,8 @@
StringBuilder resultBuilder = new StringBuilder();
for (MismatchedEventPair pair : mMismatchedEvents) {
resultBuilder.append("Index " + pair.idx + ": Expected "
- + Utils.vehiclePropValueToString(pair.expectedEvent) + ", Received "
- + Utils.vehiclePropValueToString(pair.mismatchedEvent) + "\n");
+ + pair.expectedEvent + ", Received "
+ + pair.mismatchedEvent + "\n");
}
return resultBuilder.toString();
}
diff --git a/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/VhalJsonReader.java b/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/VhalJsonReader.java
index bf4e32f..7731273 100644
--- a/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/VhalJsonReader.java
+++ b/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/VhalJsonReader.java
@@ -17,7 +17,7 @@
import static java.lang.Integer.toHexString;
-import android.hardware.automotive.vehicle.V2_0.VehiclePropValue;
+import android.car.hardware.CarPropertyValue;
import android.hardware.automotive.vehicle.V2_0.VehiclePropertyType;
import com.android.car.vehiclehal.VehiclePropValueBuilder;
@@ -44,11 +44,15 @@
private static final String JSON_FIELD_AREA_ID = "areaId";
private static final String JSON_FIELD_TIMESTAMP = "timestamp";
private static final String JSON_FIELD_VALUE = "value";
+ private static final String JSON_FIELD_INT32_VALUES = "int32Values";
+ private static final String JSON_FIELD_INT64_VALUES = "int64Values";
+ private static final String JSON_FIELD_FLOAT_VALUES = "floatValues";
+ private static final String JSON_FIELD_STRING_VALUE = "stringValue";
- public static List<VehiclePropValue> readFromJson(InputStream in)
+ public static List<CarPropertyValue> readFromJson(InputStream in)
throws IOException, JSONException {
JSONArray rawEvents = new JSONArray(readJsonString(in));
- List<VehiclePropValue> events = new ArrayList<>();
+ List<CarPropertyValue> events = new ArrayList<>();
for (int i = 0; i < rawEvents.length(); i++) {
events.add(getEvent(rawEvents.getJSONObject(i)));
}
@@ -64,32 +68,64 @@
return builder.toString();
}
- private static VehiclePropValue getEvent(JSONObject rawEvent) throws JSONException {
+ private static CarPropertyValue<?> getEvent(JSONObject rawEvent) throws JSONException {
int prop = rawEvent.getInt(JSON_FIELD_PROP);
- VehiclePropValueBuilder builder = VehiclePropValueBuilder.newBuilder(prop)
- .setAreaId(rawEvent.getInt(JSON_FIELD_AREA_ID))
- .setTimestamp(rawEvent.getLong(JSON_FIELD_TIMESTAMP));
+ int areaId = rawEvent.getInt(JSON_FIELD_AREA_ID);
+ long timestamp = rawEvent.getLong(JSON_FIELD_TIMESTAMP);
switch (prop & VehiclePropertyType.MASK) {
case VehiclePropertyType.BOOLEAN:
+ return new CarPropertyValue<>(prop, areaId, CarPropertyValue.STATUS_AVAILABLE,
+ timestamp, rawEvent.getInt(JSON_FIELD_VALUE) != 0);
case VehiclePropertyType.INT32:
- builder.addIntValue(rawEvent.getInt(JSON_FIELD_VALUE));
- break;
+ return new CarPropertyValue<>(prop, areaId, CarPropertyValue.STATUS_AVAILABLE,
+ timestamp, rawEvent.getInt(JSON_FIELD_VALUE));
case VehiclePropertyType.INT64:
- builder.setInt64Value(rawEvent.getLong(JSON_FIELD_VALUE));
- break;
+ return new CarPropertyValue<>(prop, areaId, CarPropertyValue.STATUS_AVAILABLE,
+ timestamp, rawEvent.getLong(JSON_FIELD_VALUE));
case VehiclePropertyType.FLOAT:
- builder.addFloatValue((float) rawEvent.getDouble(JSON_FIELD_VALUE));
- break;
+ return new CarPropertyValue<>(prop, areaId,
+ CarPropertyValue.STATUS_AVAILABLE, timestamp,
+ (float) rawEvent.getDouble(JSON_FIELD_VALUE));
case VehiclePropertyType.STRING:
- builder.setStringValue(rawEvent.getString(JSON_FIELD_VALUE));
- break;
- //TODO: Add VehiclePropertyType.MIXED type support
+ return new CarPropertyValue<>(prop, areaId, CarPropertyValue.STATUS_AVAILABLE,
+ timestamp, rawEvent.getString(JSON_FIELD_VALUE));
+ // TODO: CarPropertyValue API has not supported VehiclePropertyType.MIXED type yet.
+ // Here is a temporary solution to use VehiclePropValue.RawValue
+ case VehiclePropertyType.MIXED:
+ VehiclePropValueBuilder builder = VehiclePropValueBuilder.newBuilder(prop);
+ JSONObject rawValueJson = rawEvent.getJSONObject(JSON_FIELD_VALUE);
+ copyValuesArray(
+ builder, rawValueJson.optJSONArray(JSON_FIELD_INT32_VALUES), Integer.class);
+ copyValuesArray(
+ builder, rawValueJson.optJSONArray(JSON_FIELD_INT64_VALUES), Long.class);
+ copyValuesArray(
+ builder, rawValueJson.optJSONArray(JSON_FIELD_FLOAT_VALUES), Float.class);
+ builder.setStringValue(rawValueJson.getString(JSON_FIELD_STRING_VALUE));
+
+ return new CarPropertyValue<>(prop, areaId, CarPropertyValue.STATUS_AVAILABLE,
+ timestamp, builder.build().value);
default:
throw new IllegalArgumentException("Property type 0x"
+ toHexString(prop & VehiclePropertyType.MASK)
+ " is not supported in the test.");
}
- return builder.build();
+ }
+
+ private static void copyValuesArray(VehiclePropValueBuilder builder, JSONArray jsonArray,
+ Class clazz) throws JSONException {
+ if (jsonArray == null) {
+ return;
+ }
+ for (int i = 0; i < jsonArray.length(); i++) {
+ if (clazz == Integer.class) {
+ builder.addIntValue(jsonArray.getInt(i));
+ } else if (clazz == Long.class) {
+ // It is really "add" the value
+ builder.setInt64Value(jsonArray.getLong(i));
+ } else if (clazz == Float.class) {
+ builder.addFloatValue((float) jsonArray.getDouble(i));
+ } // TODO: Add support for byte array if required
+ }
}
}
diff --git a/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/VhalPropMaps.java b/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/VhalPropMaps.java
deleted file mode 100644
index f24cad6..0000000
--- a/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/VhalPropMaps.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * 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 com.android.car.vehiclehal.test;
-
-import android.car.hardware.hvac.CarHvacManager;
-import android.hardware.automotive.vehicle.V2_0.VehicleProperty;
-import android.util.SparseIntArray;
-
-class VhalPropMaps {
-
- private static final SparseIntArray HVAC_PROP_MAP;
-
- static {
- HVAC_PROP_MAP = new SparseIntArray();
- HVAC_PROP_MAP.put(CarHvacManager.ID_MIRROR_DEFROSTER_ON,
- VehicleProperty.HVAC_SIDE_MIRROR_HEAT);
- HVAC_PROP_MAP.put(CarHvacManager.ID_STEERING_WHEEL_HEAT,
- VehicleProperty.HVAC_STEERING_WHEEL_HEAT);
- HVAC_PROP_MAP.put(CarHvacManager.ID_OUTSIDE_AIR_TEMP,
- VehicleProperty.ENV_OUTSIDE_TEMPERATURE);
- HVAC_PROP_MAP.put(CarHvacManager.ID_TEMPERATURE_DISPLAY_UNITS,
- VehicleProperty.HVAC_TEMPERATURE_DISPLAY_UNITS);
- HVAC_PROP_MAP.put(CarHvacManager.ID_ZONED_TEMP_SETPOINT,
- VehicleProperty.HVAC_TEMPERATURE_SET);
- HVAC_PROP_MAP.put(CarHvacManager.ID_ZONED_TEMP_ACTUAL,
- VehicleProperty.HVAC_TEMPERATURE_CURRENT);
- HVAC_PROP_MAP.put(CarHvacManager.ID_ZONED_FAN_SPEED_SETPOINT,
- VehicleProperty.HVAC_FAN_SPEED);
- HVAC_PROP_MAP.put(CarHvacManager.ID_ZONED_FAN_SPEED_RPM,
- VehicleProperty.HVAC_ACTUAL_FAN_SPEED_RPM);
- HVAC_PROP_MAP.put(CarHvacManager.ID_ZONED_FAN_DIRECTION_AVAILABLE,
- VehicleProperty.HVAC_FAN_DIRECTION_AVAILABLE);
- HVAC_PROP_MAP.put(CarHvacManager.ID_ZONED_FAN_DIRECTION,
- VehicleProperty.HVAC_FAN_DIRECTION);
- HVAC_PROP_MAP.put(CarHvacManager.ID_ZONED_SEAT_TEMP,
- VehicleProperty.HVAC_SEAT_TEMPERATURE);
- HVAC_PROP_MAP.put(CarHvacManager.ID_ZONED_AC_ON,
- VehicleProperty.HVAC_AC_ON);
- HVAC_PROP_MAP.put(CarHvacManager.ID_ZONED_AUTOMATIC_MODE_ON,
- VehicleProperty.HVAC_AUTO_ON);
- HVAC_PROP_MAP.put(CarHvacManager.ID_ZONED_AIR_RECIRCULATION_ON,
- VehicleProperty.HVAC_RECIRC_ON);
- HVAC_PROP_MAP.put(CarHvacManager.ID_ZONED_MAX_AC_ON,
- VehicleProperty.HVAC_MAX_AC_ON);
- HVAC_PROP_MAP.put(CarHvacManager.ID_ZONED_DUAL_ZONE_ON,
- VehicleProperty.HVAC_DUAL_ON);
- HVAC_PROP_MAP.put(CarHvacManager.ID_ZONED_MAX_DEFROST_ON,
- VehicleProperty.HVAC_MAX_DEFROST_ON);
- HVAC_PROP_MAP.put(CarHvacManager.ID_ZONED_HVAC_POWER_ON,
- VehicleProperty.HVAC_POWER_ON);
- HVAC_PROP_MAP.put(CarHvacManager.ID_ZONED_HVAC_AUTO_RECIRC_ON,
- VehicleProperty.HVAC_AUTO_RECIRC_ON);
- HVAC_PROP_MAP.put(CarHvacManager.ID_WINDOW_DEFROSTER_ON,
- VehicleProperty.HVAC_DEFROSTER);
- }
-
- static int getHvacVhalProp(final int hvacProp) {
- return HVAC_PROP_MAP.get(hvacProp);
- }
-}
diff --git a/tools/emulator/vhal_consts_2_0.py b/tools/emulator/vhal_consts_2_0.py
index a9d9990..85351c0 100644
--- a/tools/emulator/vhal_consts_2_0.py
+++ b/tools/emulator/vhal_consts_2_0.py
@@ -138,13 +138,6 @@
STATUSCODE_ACCESS_DENIED = 0x4
STATUSCODE_INTERNAL_ERROR = 0x5
-# Wheel
-WHEEL_UNKNOWN = 0x0
-WHEEL_LEFT_FRONT = 0x1
-WHEEL_RIGHT_FRONT = 0x2
-WHEEL_LEFT_REAR = 0x4
-WHEEL_RIGHT_REAR = 0x8
-
# VehicleLightState
VEHICLELIGHTSTATE_OFF = 0x0
VEHICLELIGHTSTATE_ON = 0x1
@@ -266,17 +259,19 @@
VEHICLETURNSIGNAL_LEFT = 0x2
# EvConnectorType
-EVCONNECTORTYPE_EV_CONNECTOR_TYPE_UNKNOWN = 0x0
-EVCONNECTORTYPE_EV_CONNECTOR_TYPE_J1772 = 0x1
-EVCONNECTORTYPE_EV_CONNECTOR_TYPE_MENNEKES = 0x2
-EVCONNECTORTYPE_EV_CONNECTOR_TYPE_CHADEMO = 0x3
-EVCONNECTORTYPE_EV_CONNECTOR_TYPE_COMBO_1 = 0x4
-EVCONNECTORTYPE_EV_CONNECTOR_TYPE_COMBO_2 = 0x5
-EVCONNECTORTYPE_EV_CONNECTOR_TYPE_TESLA_ROADSTER = 0x6
-EVCONNECTORTYPE_EV_CONNECTOR_TYPE_TESLA_HPWC = 0x7
-EVCONNECTORTYPE_EV_CONNECTOR_TYPE_TESLA_SUPERCHARGER = 0x8
-EVCONNECTORTYPE_EV_CONNECTOR_TYPE_GBT = 0x9
-EVCONNECTORTYPE_EV_CONNECTOR_TYPE_OTHER = 0x65
+EVCONNECTORTYPE_UNKNOWN = 0x0
+EVCONNECTORTYPE_IEC_TYPE_1_AC = 0x1
+EVCONNECTORTYPE_IEC_TYPE_2_AC = 0x2
+EVCONNECTORTYPE_IEC_TYPE_3_AC = 0x3
+EVCONNECTORTYPE_IEC_TYPE_4_DC = 0x4
+EVCONNECTORTYPE_IEC_TYPE_1_CCS_DC = 0x5
+EVCONNECTORTYPE_IEC_TYPE_2_CCS_DC = 0x6
+EVCONNECTORTYPE_TESLA_ROADSTER = 0x7
+EVCONNECTORTYPE_TESLA_HPWC = 0x8
+EVCONNECTORTYPE_TESLA_SUPERCHARGER = 0x9
+EVCONNECTORTYPE_GBT_AC = 0xa
+EVCONNECTORTYPE_GBT_DC = 0xb
+EVCONNECTORTYPE_OTHER = 0x65
# VehiclePropertyType
VEHICLEPROPERTYTYPE_STRING = 0x100000
@@ -309,6 +304,13 @@
OBD2SECONDARYAIRSTATUS_FROM_OUTSIDE_OR_OFF = 0x4
OBD2SECONDARYAIRSTATUS_PUMP_ON_FOR_DIAGNOSTICS = 0x8
+# VehicleAreaWheel
+VEHICLEAREAWHEEL_UNKNOWN = 0x0
+VEHICLEAREAWHEEL_LEFT_FRONT = 0x1
+VEHICLEAREAWHEEL_RIGHT_FRONT = 0x2
+VEHICLEAREAWHEEL_LEFT_REAR = 0x4
+VEHICLEAREAWHEEL_RIGHT_REAR = 0x8
+
# VehicleGear
VEHICLEGEAR_GEAR_NEUTRAL = 0x1
VEHICLEGEAR_GEAR_REVERSE = 0x2
@@ -410,7 +412,7 @@
VEHICLEPROPERTY_EV_CHARGE_PORT_CONNECTED = 0x1120030b
VEHICLEPROPERTY_EV_BATTERY_INSTANTANEOUS_CHARGE_RATE = 0x1160030c
VEHICLEPROPERTY_RANGE_REMAINING = 0x11600308
-VEHICLEPROPERTY_TIRE_PRESSURE = 0x17e00309
+VEHICLEPROPERTY_TIRE_PRESSURE = 0x17600309
VEHICLEPROPERTY_GEAR_SELECTION = 0x11400400
VEHICLEPROPERTY_CURRENT_GEAR = 0x11400401
VEHICLEPROPERTY_PARKING_BRAKE_ON = 0x11200402
@@ -442,7 +444,6 @@
VEHICLEPROPERTY_HVAC_AUTO_RECIRC_ON = 0x15200512
VEHICLEPROPERTY_HVAC_SEAT_VENTILATION = 0x15400513
VEHICLEPROPERTY_ENV_OUTSIDE_TEMPERATURE = 0x11600703
-VEHICLEPROPERTY_ENV_CABIN_TEMPERATURE = 0x15600704
VEHICLEPROPERTY_AP_POWER_STATE_REQ = 0x11410a00
VEHICLEPROPERTY_AP_POWER_STATE_REPORT = 0x11410a01
VEHICLEPROPERTY_AP_POWER_BOOTUP_REASON = 0x11400a02
diff --git a/user/car-user-lib/Android.bp b/user/car-user-lib/Android.bp
new file mode 100644
index 0000000..19024b8
--- /dev/null
+++ b/user/car-user-lib/Android.bp
@@ -0,0 +1,26 @@
+// 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.
+
+java_library {
+ name: "android.car.user",
+ srcs: [
+ "src/**/*.java",
+ ],
+ product_variables: {
+ pdk: {
+ enabled: false,
+ },
+ },
+ installable: true,
+}
diff --git a/user/car-user-lib/Android.mk b/user/car-user-lib/Android.mk
new file mode 100644
index 0000000..566f999
--- /dev/null
+++ b/user/car-user-lib/Android.mk
@@ -0,0 +1,95 @@
+# 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.
+#
+#
+
+#disble build in PDK, missing aidl import breaks build
+ifneq ($(TARGET_BUILD_PDK),true)
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+car_user_lib_sources := $(call all-java-files-under, src)
+
+# API Check
+# ---------------------------------------------
+car_user_module := android.car.user
+car_user_module_src_files := $(car_user_lib_sources)
+car_user_module_api_dir := $(LOCAL_PATH)/api
+car_user_module_java_libraries := framework
+car_user_module_include_systemapi := true
+car_user_module_java_packages := android.car.user*
+include $(CAR_API_CHECK)
+
+# Build stubs jar for target android-support-car
+# ---------------------------------------------
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_JAVA_LIBRARIES := android.car.user
+
+LOCAL_ADDITIONAL_JAVA_DIR := $(call intermediates-dir-for,JAVA_LIBRARIES,android.car.user,,COMMON)/src
+
+android_car_user_stub_packages := \
+ android.car.user*
+
+android_car_user_api := \
+ $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/android.car.user_api.txt
+
+# Note: The make target is android.car.user-stub-docs
+LOCAL_MODULE := android.car.user-stub
+LOCAL_DROIDDOC_OPTIONS := \
+ -stubs $(call intermediates-dir-for,JAVA_LIBRARIES,android.car.user-stubs,,COMMON)/src \
+ -stubpackages $(subst $(space),:,$(android_car_user_stub_packages)) \
+ -api $(android_car_user_api) \
+ -nodocs
+
+LOCAL_DROIDDOC_SOURCE_PATH := $(LOCAL_PATH)/java/
+LOCAL_DROIDDOC_HTML_DIR :=
+
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+LOCAL_UNINSTALLABLE_MODULE := true
+
+include $(BUILD_DROIDDOC)
+
+$(android_car_user_api): $(full_target)
+
+android.car.user-stubs_stamp := $(full_target)
+
+###############################################
+# Build the stubs java files into a jar. This build rule relies on the
+# stubs_stamp make variable being set from the droiddoc rule.
+
+include $(CLEAR_VARS)
+
+# CAR_API_CHECK uses the same name to generate a module, but BUILD_DROIDDOC
+# appends "-docs" to module name.
+LOCAL_MODULE := android.car.user-stubs
+LOCAL_SOURCE_FILES_ALL_GENERATED := true
+
+# Make sure to run droiddoc first to generate the stub source files.
+LOCAL_ADDITIONAL_DEPENDENCIES := $(android.car.user-stubs_stamp)
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+android.car.user-stubs_stamp :=
+android_car_user_stub_packages :=
+android_car_user_api :=
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
+
+endif #TARGET_BUILD_PDK
\ No newline at end of file
diff --git a/car-support-lib/AndroidManifest.xml b/user/car-user-lib/AndroidManifest.xml
similarity index 72%
rename from car-support-lib/AndroidManifest.xml
rename to user/car-user-lib/AndroidManifest.xml
index f92f21b..1addd96 100644
--- a/car-support-lib/AndroidManifest.xml
+++ b/user/car-user-lib/AndroidManifest.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2015 The Android Open Source Project
+<!-- 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.
@@ -15,8 +15,7 @@
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
- package="android.support.car.ui" >
- <uses-sdk android:minSdkVersion="21"
- android:targetSdkVersion="23" />
-</manifest>
+ xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
+ package="android.car.user" >
+ <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="23" />
+</manifest>
\ No newline at end of file
diff --git a/car-lib/src/android/car/user/CarUserManagerHelper.java b/user/car-user-lib/src/android/car/userlib/CarUserManagerHelper.java
similarity index 91%
rename from car-lib/src/android/car/user/CarUserManagerHelper.java
rename to user/car-user-lib/src/android/car/userlib/CarUserManagerHelper.java
index ce50943..a306d91 100644
--- a/car-lib/src/android/car/user/CarUserManagerHelper.java
+++ b/user/car-user-lib/src/android/car/userlib/CarUserManagerHelper.java
@@ -13,13 +13,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.car.user;
+
+package android.car.userlib;
import android.Manifest;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.app.ActivityManager;
-import android.car.settings.CarSettings;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
@@ -57,6 +57,10 @@
public class CarUserManagerHelper {
private static final String TAG = "CarUserManagerHelper";
private static final String HEADLESS_SYSTEM_USER = "android.car.systemuser.headless";
+
+ // Place holder for user name of the first user created.
+ public static final String DEFAULT_FIRST_ADMIN_NAME = "Driver";
+
/**
* Default set of restrictions for Non-Admin users.
*/
@@ -152,7 +156,7 @@
public void setDefaultBootUser(int userId) {
Settings.Global.putInt(
mContext.getContentResolver(),
- CarSettings.Global.DEFAULT_USER_ID_TO_BOOT_INTO, userId);
+ Settings.Global.DEFAULT_USER_ID_TO_BOOT_INTO, userId);
}
/**
@@ -165,7 +169,7 @@
mLastActiveUser = userId;
if (!skipGlobalSetting) {
Settings.Global.putInt(
- mContext.getContentResolver(), CarSettings.Global.LAST_ACTIVE_USER_ID, userId);
+ mContext.getContentResolver(), Settings.Global.LAST_ACTIVE_USER_ID, userId);
}
}
@@ -177,7 +181,7 @@
public int getDefaultBootUser() {
// Make user 10 the original default boot user.
return Settings.Global.getInt(
- mContext.getContentResolver(), CarSettings.Global.DEFAULT_USER_ID_TO_BOOT_INTO,
+ mContext.getContentResolver(), Settings.Global.DEFAULT_USER_ID_TO_BOOT_INTO,
/* default user id= */ 10);
}
@@ -191,7 +195,7 @@
return mLastActiveUser;
}
return Settings.Global.getInt(
- mContext.getContentResolver(), CarSettings.Global.LAST_ACTIVE_USER_ID,
+ mContext.getContentResolver(), Settings.Global.LAST_ACTIVE_USER_ID,
/* default user id= */ UserHandle.USER_SYSTEM);
}
@@ -538,6 +542,13 @@
}
/**
+ * Checks if the foreground user is a demo user.
+ */
+ public boolean isForegroundUserDemo() {
+ return getCurrentForegroundUserInfo().isDemo();
+ }
+
+ /**
* Checks if the foreground user is ephemeral.
*/
public boolean isForegroundUserEphemeral() {
@@ -566,14 +577,23 @@
}
/**
+ * Returns whether a user has a restriction.
+ *
+ * @param restriction Restriction to check. Should be a UserManager.* restriction.
+ * @param userInfo the user whose restriction is to be checked
+ */
+ public boolean hasUserRestriction(String restriction, UserInfo userInfo) {
+ return mUserManager.hasUserRestriction(restriction, userInfo.getUserHandle());
+ }
+
+ /**
* Return whether the foreground user has a restriction.
*
* @param restriction Restriction to check. Should be a UserManager.* restriction.
* @return Whether that restriction exists for the foreground user.
*/
public boolean foregroundUserHasUserRestriction(String restriction) {
- return mUserManager.hasUserRestriction(
- restriction, getCurrentForegroundUserInfo().getUserHandle());
+ return hasUserRestriction(restriction, getCurrentForegroundUserInfo());
}
/**
@@ -583,6 +603,23 @@
return !foregroundUserHasUserRestriction(UserManager.DISALLOW_ADD_USER);
}
+ /**
+ * Checks if the current process user can modify accounts. Demo and Guest users cannot modify
+ * accounts even if the DISALLOW_MODIFY_ACCOUNTS restriction is not applied.
+ */
+ public boolean canForegroundUserModifyAccounts() {
+ return !foregroundUserHasUserRestriction(UserManager.DISALLOW_MODIFY_ACCOUNTS)
+ && !isForegroundUserDemo()
+ && !isForegroundUserGuest();
+ }
+
+ /**
+ * Checks if the foreground user can switch to other users.
+ */
+ public boolean canForegroundUserSwitchUsers() {
+ return !foregroundUserHasUserRestriction(UserManager.DISALLOW_USER_SWITCH);
+ }
+
// Current process user information accessors
/**
@@ -774,10 +811,9 @@
return false;
}
- // Not allow to delete the last admin user on the device for now.
+ // Try to create a new admin before deleting the current one.
if (userInfo.isAdmin() && getAllAdminUsers().size() <= 1) {
- Log.w(TAG, "User " + userInfo.id + " is the last admin user on device.");
- return false;
+ return removeLastAdmin(userInfo);
}
if (!isCurrentProcessAdminUser() && !isCurrentProcessUser(userInfo)) {
@@ -787,12 +823,32 @@
}
if (userInfo.id == getCurrentForegroundUserId()) {
+ if (!canCurrentProcessSwitchUsers()) {
+ // If we can't switch to a different user, we can't exit this one and therefore
+ // can't delete it.
+ Log.w(TAG, "User switching is not allowed. Current user cannot be deleted");
+ return false;
+ }
startNewGuestSession(guestUserName);
}
return mUserManager.removeUser(userInfo.id);
}
+ private boolean removeLastAdmin(UserInfo userInfo) {
+ Log.i(TAG, "User " + userInfo.id
+ + " is the last admin user on device. Creating a new admin.");
+
+ UserInfo newAdmin = createNewAdminUser(DEFAULT_FIRST_ADMIN_NAME);
+ if (newAdmin == null) {
+ Log.w(TAG, "Couldn't create another admin, cannot delete current user.");
+ return false;
+ }
+
+ switchToUser(newAdmin);
+ return mUserManager.removeUser(userInfo.id);
+ }
+
/**
* Switches (logs in) to another user given user id.
*
@@ -804,6 +860,12 @@
// System User doesn't associate with real person, can not be switched to.
return false;
}
+ if (!canCurrentProcessSwitchUsers()) {
+ return false;
+ }
+ if (id == getCurrentForegroundUserId()) {
+ return false;
+ }
return mActivityManager.switchUser(id);
}
@@ -814,10 +876,6 @@
* @return {@code true} if user switching succeed.
*/
public boolean switchToUser(UserInfo userInfo) {
- if (userInfo.id == getCurrentForegroundUserId()) {
- return false;
- }
-
return switchToUserId(userInfo.id);
}