Merge "Move BH test to flaky and change it slightly" into pi-dev
diff --git a/api/system-current.txt b/api/system-current.txt
index e54d2f6..20f0ba8 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -3663,6 +3663,7 @@
}
public final class ConfigUpdate {
+ field public static final java.lang.String ACTION_UPDATE_CARRIER_ID_DB = "android.os.action.UPDATE_CARRIER_ID_DB";
field public static final java.lang.String ACTION_UPDATE_CARRIER_PROVISIONING_URLS = "android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS";
field public static final java.lang.String ACTION_UPDATE_CT_LOGS = "android.intent.action.UPDATE_CT_LOGS";
field public static final java.lang.String ACTION_UPDATE_INTENT_FIREWALL = "android.intent.action.UPDATE_INTENT_FIREWALL";
diff --git a/cmds/media/src/com/android/commands/media/Media.java b/cmds/media/src/com/android/commands/media/Media.java
index 6676196..2fc5808 100644
--- a/cmds/media/src/com/android/commands/media/Media.java
+++ b/cmds/media/src/com/android/commands/media/Media.java
@@ -46,6 +46,8 @@
import java.util.List;
public class Media extends BaseCommand {
+ // This doesn't belongs to any package. Setting the package name to empty string.
+ private static final String PACKAGE_NAME = "";
private ISessionManager mSessionService;
/**
@@ -104,7 +106,7 @@
private void sendMediaKey(KeyEvent event) {
try {
- mSessionService.dispatchMediaKeyEvent(event, false);
+ mSessionService.dispatchMediaKeyEvent(PACKAGE_NAME, false, event, false);
} catch (RemoteException e) {
}
}
@@ -264,13 +266,13 @@
} else if ("q".equals(line) || "quit".equals(line)) {
break;
} else if ("play".equals(line)) {
- mController.play("");
+ mController.play(PACKAGE_NAME);
} else if ("pause".equals(line)) {
- mController.pause("");
+ mController.pause(PACKAGE_NAME);
} else if ("next".equals(line)) {
- mController.next("");
+ mController.next(PACKAGE_NAME);
} else if ("previous".equals(line)) {
- mController.previous("");
+ mController.previous(PACKAGE_NAME);
} else {
System.out.println("Invalid command: " + line);
}
diff --git a/cmds/statsd/src/StatsLogProcessor.cpp b/cmds/statsd/src/StatsLogProcessor.cpp
index daafe9c..8487e67 100644
--- a/cmds/statsd/src/StatsLogProcessor.cpp
+++ b/cmds/statsd/src/StatsLogProcessor.cpp
@@ -503,7 +503,8 @@
void StatsLogProcessor::WriteDataToDiskLocked(const ConfigKey& key,
const int64_t timestampNs,
const DumpReportReason dumpReportReason) {
- if (mMetricsManagers.find(key) == mMetricsManagers.end()) {
+ if (mMetricsManagers.find(key) == mMetricsManagers.end() ||
+ !mMetricsManagers.find(key)->second->shouldWriteToDisk()) {
return;
}
ProtoOutputStream proto;
diff --git a/cmds/statsd/src/metrics/GaugeMetricProducer.cpp b/cmds/statsd/src/metrics/GaugeMetricProducer.cpp
index a940d58..55dde10 100644
--- a/cmds/statsd/src/metrics/GaugeMetricProducer.cpp
+++ b/cmds/statsd/src/metrics/GaugeMetricProducer.cpp
@@ -186,7 +186,6 @@
flushIfNeededLocked(dumpTimeNs);
}
- flushIfNeededLocked(dumpTimeNs);
if (mPastBuckets.empty()) {
return;
}
@@ -324,6 +323,10 @@
triggerPuller = true;
break;
}
+ case GaugeMetric::CONDITION_CHANGE_TO_TRUE: {
+ triggerPuller = mCondition;
+ break;
+ }
default:
break;
}
@@ -348,7 +351,7 @@
flushIfNeededLocked(eventTimeNs);
mCondition = conditionMet;
- if (mPullTagId != -1 && mCondition) {
+ if (mPullTagId != -1) {
pullLocked(eventTimeNs);
} // else: Push mode. No need to proactively pull the gauge data.
}
@@ -538,7 +541,14 @@
size_t GaugeMetricProducer::byteSizeLocked() const {
size_t totalSize = 0;
for (const auto& pair : mPastBuckets) {
- totalSize += pair.second.size() * kBucketSize;
+ for (const auto& bucket : pair.second) {
+ totalSize += bucket.mGaugeAtoms.size() * sizeof(GaugeAtom);
+ for (const auto& atom : bucket.mGaugeAtoms) {
+ if (atom.mFields != nullptr) {
+ totalSize += atom.mFields->size() * sizeof(FieldValue);
+ }
+ }
+ }
}
return totalSize;
}
diff --git a/cmds/statsd/src/metrics/MetricsManager.h b/cmds/statsd/src/metrics/MetricsManager.h
index 456da98..e143b5a 100644
--- a/cmds/statsd/src/metrics/MetricsManager.h
+++ b/cmds/statsd/src/metrics/MetricsManager.h
@@ -67,6 +67,10 @@
return !mAllowedPkg.empty();
}
+ bool shouldWriteToDisk() const {
+ return mNoReportMetricIds.size() != mAllMetricProducers.size();
+ }
+
void dumpStates(FILE* out, bool verbose);
inline bool isInTtl(const int64_t timestampNs) const {
diff --git a/cmds/statsd/src/statsd_config.proto b/cmds/statsd/src/statsd_config.proto
index fd36560..9b5d72b 100644
--- a/cmds/statsd/src/statsd_config.proto
+++ b/cmds/statsd/src/statsd_config.proto
@@ -234,6 +234,7 @@
enum SamplingType {
RANDOM_ONE_SAMPLE = 1;
ALL_CONDITION_CHANGES = 2;
+ CONDITION_CHANGE_TO_TRUE = 3;
}
optional SamplingType sampling_type = 9 [default = RANDOM_ONE_SAMPLE] ;
diff --git a/cmds/statsd/tests/e2e/GaugeMetric_e2e_pull_test.cpp b/cmds/statsd/tests/e2e/GaugeMetric_e2e_pull_test.cpp
index 6a69100..7c07366 100644
--- a/cmds/statsd/tests/e2e/GaugeMetric_e2e_pull_test.cpp
+++ b/cmds/statsd/tests/e2e/GaugeMetric_e2e_pull_test.cpp
@@ -66,6 +66,7 @@
baseTimeNs, configAddedTimeNs, config, cfgKey);
EXPECT_EQ(processor->mMetricsManagers.size(), 1u);
EXPECT_TRUE(processor->mMetricsManagers.begin()->second->isConfigValid());
+ processor->mStatsPullerManager.ForceClearPullerCache();
int startBucketNum = processor->mMetricsManagers.begin()->second->
mAllMetricProducers[0]->getCurrentBucketNum();
@@ -211,6 +212,7 @@
baseTimeNs, configAddedTimeNs, config, cfgKey);
EXPECT_EQ(processor->mMetricsManagers.size(), 1u);
EXPECT_TRUE(processor->mMetricsManagers.begin()->second->isConfigValid());
+ processor->mStatsPullerManager.ForceClearPullerCache();
int startBucketNum = processor->mMetricsManagers.begin()->second->
mAllMetricProducers[0]->getCurrentBucketNum();
@@ -311,6 +313,7 @@
baseTimeNs, configAddedTimeNs, config, cfgKey);
EXPECT_EQ(processor->mMetricsManagers.size(), 1u);
EXPECT_TRUE(processor->mMetricsManagers.begin()->second->isConfigValid());
+ processor->mStatsPullerManager.ForceClearPullerCache();
int startBucketNum = processor->mMetricsManagers.begin()->second->
mAllMetricProducers[0]->getCurrentBucketNum();
diff --git a/cmds/statsd/tests/e2e/ValueMetric_pull_e2e_test.cpp b/cmds/statsd/tests/e2e/ValueMetric_pull_e2e_test.cpp
index 98a312f..febc958 100644
--- a/cmds/statsd/tests/e2e/ValueMetric_pull_e2e_test.cpp
+++ b/cmds/statsd/tests/e2e/ValueMetric_pull_e2e_test.cpp
@@ -66,6 +66,7 @@
baseTimeNs, configAddedTimeNs, config, cfgKey);
EXPECT_EQ(processor->mMetricsManagers.size(), 1u);
EXPECT_TRUE(processor->mMetricsManagers.begin()->second->isConfigValid());
+ processor->mStatsPullerManager.ForceClearPullerCache();
int startBucketNum = processor->mMetricsManagers.begin()->second->
mAllMetricProducers[0]->getCurrentBucketNum();
@@ -172,6 +173,7 @@
baseTimeNs, configAddedTimeNs, config, cfgKey);
EXPECT_EQ(processor->mMetricsManagers.size(), 1u);
EXPECT_TRUE(processor->mMetricsManagers.begin()->second->isConfigValid());
+ processor->mStatsPullerManager.ForceClearPullerCache();
int startBucketNum = processor->mMetricsManagers.begin()->second->
mAllMetricProducers[0]->getCurrentBucketNum();
diff --git a/config/hiddenapi-light-greylist.txt b/config/hiddenapi-light-greylist.txt
index 96c3f85..9b47d55 100644
--- a/config/hiddenapi-light-greylist.txt
+++ b/config/hiddenapi-light-greylist.txt
@@ -1,10 +1,33 @@
+Landroid/accessibilityservice/AccessibilityService;->mInfo:Landroid/accessibilityservice/AccessibilityServiceInfo;
+Landroid/accessibilityservice/AccessibilityService;->mWindowToken:Landroid/os/IBinder;
+Landroid/accessibilityservice/AccessibilityServiceInfo;->setCapabilities(I)V
+Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;-><init>()V
+Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accessibilityservice/IAccessibilityServiceConnection;
+Landroid/accounts/Account;->accessId:Ljava/lang/String;
+Landroid/accounts/Account;->TAG:Ljava/lang/String;
+Landroid/accounts/AccountAndUser;-><init>(Landroid/accounts/Account;I)V
+Landroid/accounts/AccountAndUser;->account:Landroid/accounts/Account;
+Landroid/accounts/AccountAndUser;->userId:I
+Landroid/accounts/AccountAuthenticatorResponse;-><init>(Landroid/accounts/IAccountAuthenticatorResponse;)V
+Landroid/accounts/AccountManager$AmsTask;->mActivity:Landroid/app/Activity;
+Landroid/accounts/AccountManager$AmsTask;->mHandler:Landroid/os/Handler;
+Landroid/accounts/AccountManager$AmsTask;->mResponse:Landroid/accounts/IAccountManagerResponse;
+Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;->mAuthTokenType:Ljava/lang/String;
+Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;->mLoginOptions:Landroid/os/Bundle;
+Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;->mMyCallback:Landroid/accounts/AccountManagerCallback;
+Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
+Landroid/accounts/AccountManager;->confirmCredentialsAsUser(Landroid/accounts/Account;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;Landroid/os/UserHandle;)Landroid/accounts/AccountManagerFuture;
+Landroid/accounts/AccountManager;->getAccountsByTypeAsUser(Ljava/lang/String;Landroid/os/UserHandle;)[Landroid/accounts/Account;
Landroid/accounts/AccountManager;->mContext:Landroid/content/Context;
Landroid/accounts/IAccountAuthenticator$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/accounts/IAccountAuthenticator$Stub$Proxy;->mRemote:Landroid/os/IBinder;
+Landroid/accounts/IAccountAuthenticator$Stub;-><init>()V
Landroid/accounts/IAccountAuthenticator$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accounts/IAccountAuthenticator;
Landroid/accounts/IAccountAuthenticator;->addAccount(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)V
+Landroid/accounts/IAccountAuthenticator;->addAccountFromCredentials(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Landroid/os/Bundle;)V
Landroid/accounts/IAccountAuthenticator;->confirmCredentials(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Landroid/os/Bundle;)V
Landroid/accounts/IAccountAuthenticator;->editProperties(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;)V
+Landroid/accounts/IAccountAuthenticator;->getAccountCredentialsForCloning(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;)V
Landroid/accounts/IAccountAuthenticator;->getAccountRemovalAllowed(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;)V
Landroid/accounts/IAccountAuthenticator;->getAuthToken(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
Landroid/accounts/IAccountAuthenticator;->getAuthTokenLabel(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;)V
@@ -14,7 +37,11 @@
Landroid/accounts/IAccountAuthenticatorResponse$Stub$Proxy;->mRemote:Landroid/os/IBinder;
Landroid/accounts/IAccountAuthenticatorResponse$Stub;-><init>()V
Landroid/accounts/IAccountAuthenticatorResponse$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accounts/IAccountAuthenticatorResponse;
+Landroid/accounts/IAccountAuthenticatorResponse;->onError(ILjava/lang/String;)V
+Landroid/accounts/IAccountAuthenticatorResponse;->onRequestContinued()V
+Landroid/accounts/IAccountAuthenticatorResponse;->onResult(Landroid/os/Bundle;)V
Landroid/accounts/IAccountManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+Landroid/accounts/IAccountManager$Stub;-><init>()V
Landroid/accounts/IAccountManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accounts/IAccountManager;
Landroid/accounts/IAccountManagerResponse$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/accounts/IAccountManagerResponse$Stub$Proxy;->mRemote:Landroid/os/IBinder;
@@ -22,15 +49,25 @@
Landroid/accounts/IAccountManagerResponse$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accounts/IAccountManagerResponse;
Landroid/accounts/IAccountManagerResponse;->onError(ILjava/lang/String;)V
Landroid/accounts/IAccountManagerResponse;->onResult(Landroid/os/Bundle;)V
+Landroid/animation/Animator;->reverse()V
+Landroid/animation/ArgbEvaluator;->getInstance()Landroid/animation/ArgbEvaluator;
Landroid/animation/LayoutTransition;->cancel()V
Landroid/animation/LayoutTransition;->cancel(I)V
Landroid/animation/ValueAnimator;->animateValue(F)V
+Landroid/animation/ValueAnimator;->mDuration:J
Landroid/animation/ValueAnimator;->sDurationScale:F
+Landroid/app/ActionBar;->collapseActionView()Z
+Landroid/app/ActionBar;->DISPLAY_TITLE_MULTIPLE_LINES:I
Landroid/app/ActionBar;->setShowHideAnimationEnabled(Z)V
+Landroid/app/Activity;->attach(Landroid/content/Context;Landroid/app/ActivityThread;Landroid/app/Instrumentation;Landroid/os/IBinder;ILandroid/app/Application;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/CharSequence;Landroid/app/Activity;Ljava/lang/String;Landroid/app/Activity$NonConfigurationInstances;Landroid/content/res/Configuration;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractor;Landroid/view/Window;Landroid/view/ViewRootImpl$ActivityConfigCallback;)V
+Landroid/app/Activity;->dispatchActivityResult(Ljava/lang/String;IILandroid/content/Intent;Ljava/lang/String;)V
+Landroid/app/Activity;->finish(I)V
+Landroid/app/Activity;->FRAGMENTS_TAG:Ljava/lang/String;
Landroid/app/Activity;->getActivityOptions()Landroid/app/ActivityOptions;
Landroid/app/Activity;->getActivityToken()Landroid/os/IBinder;
Landroid/app/Activity;->isResumed()Z
Landroid/app/Activity;->mActivityInfo:Landroid/content/pm/ActivityInfo;
+Landroid/app/Activity;->mActivityTransitionState:Landroid/app/ActivityTransitionState;
Landroid/app/Activity;->mApplication:Landroid/app/Application;
Landroid/app/Activity;->mCalled:Z
Landroid/app/Activity;->mComponent:Landroid/content/ComponentName;
@@ -51,20 +88,49 @@
Landroid/app/Activity;->mResultCode:I
Landroid/app/Activity;->mResultData:Landroid/content/Intent;
Landroid/app/Activity;->mResumed:Z
+Landroid/app/Activity;->mStopped:Z
Landroid/app/Activity;->mTitle:Ljava/lang/CharSequence;
Landroid/app/Activity;->mToken:Landroid/os/IBinder;
+Landroid/app/Activity;->mVisibleFromClient:Z
Landroid/app/Activity;->mWindow:Landroid/view/Window;
+Landroid/app/Activity;->mWindowAdded:Z
Landroid/app/Activity;->mWindowManager:Landroid/view/WindowManager;
+Landroid/app/Activity;->performCreate(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V
+Landroid/app/Activity;->saveManagedDialogs(Landroid/os/Bundle;)V
Landroid/app/Activity;->setDisablePreviewScreenshots(Z)V
Landroid/app/Activity;->setPersistent(Z)V
+Landroid/app/Activity;->startActivityAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
+Landroid/app/Activity;->startActivityForResult(Ljava/lang/String;Landroid/content/Intent;ILandroid/os/Bundle;)V
+Landroid/app/Activity;->startActivityForResultAsUser(Landroid/content/Intent;ILandroid/os/UserHandle;)V
Landroid/app/ActivityGroup;->mLocalActivityManager:Landroid/app/LocalActivityManager;
+Landroid/app/ActivityManager$MemoryInfo;->foregroundAppThreshold:J
+Landroid/app/ActivityManager$MemoryInfo;->hiddenAppThreshold:J
+Landroid/app/ActivityManager$MemoryInfo;->secondaryServerThreshold:J
+Landroid/app/ActivityManager$MemoryInfo;->visibleAppThreshold:J
+Landroid/app/ActivityManager$RecentTaskInfo;->affiliatedTaskColor:I
Landroid/app/ActivityManager$RecentTaskInfo;->firstActiveTime:J
Landroid/app/ActivityManager$RecentTaskInfo;->lastActiveTime:J
Landroid/app/ActivityManager$RecentTaskInfo;->resizeMode:I
+Landroid/app/ActivityManager$RecentTaskInfo;->stackId:I
Landroid/app/ActivityManager$RecentTaskInfo;->supportsSplitScreenMultiWindow:Z
Landroid/app/ActivityManager$RecentTaskInfo;->userId:I
Landroid/app/ActivityManager$RunningAppProcessInfo;->flags:I
+Landroid/app/ActivityManager$RunningAppProcessInfo;->FLAG_HAS_ACTIVITIES:I
+Landroid/app/ActivityManager$RunningAppProcessInfo;->FLAG_PERSISTENT:I
Landroid/app/ActivityManager$RunningAppProcessInfo;->processState:I
+Landroid/app/ActivityManager$RunningAppProcessInfo;->procStateToImportance(I)I
+Landroid/app/ActivityManager$StackInfo;->bounds:Landroid/graphics/Rect;
+Landroid/app/ActivityManager$StackInfo;->displayId:I
+Landroid/app/ActivityManager$StackInfo;->position:I
+Landroid/app/ActivityManager$StackInfo;->stackId:I
+Landroid/app/ActivityManager$StackInfo;->taskBounds:[Landroid/graphics/Rect;
+Landroid/app/ActivityManager$StackInfo;->taskIds:[I
+Landroid/app/ActivityManager$StackInfo;->taskNames:[Ljava/lang/String;
+Landroid/app/ActivityManager$StackInfo;->taskUserIds:[I
+Landroid/app/ActivityManager$StackInfo;->topActivity:Landroid/content/ComponentName;
+Landroid/app/ActivityManager$StackInfo;->toString(Ljava/lang/String;)Ljava/lang/String;
+Landroid/app/ActivityManager$StackInfo;->userId:I
+Landroid/app/ActivityManager$StackInfo;->visible:Z
Landroid/app/ActivityManager$TaskDescription;->getBackgroundColor()I
Landroid/app/ActivityManager$TaskDescription;->getInMemoryIcon()Landroid/graphics/Bitmap;
Landroid/app/ActivityManager$TaskSnapshot;->getContentInsets()Landroid/graphics/Rect;
@@ -72,19 +138,33 @@
Landroid/app/ActivityManager$TaskSnapshot;->getScale()F
Landroid/app/ActivityManager$TaskSnapshot;->isRealSnapshot()Z
Landroid/app/ActivityManager$TaskSnapshot;->isReducedResolution()Z
+Landroid/app/ActivityManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+Landroid/app/ActivityManager;->checkComponentPermission(Ljava/lang/String;IIZ)I
Landroid/app/ActivityManager;->clearApplicationUserData(Ljava/lang/String;Landroid/content/pm/IPackageDataObserver;)Z
+Landroid/app/ActivityManager;->forceStopPackageAsUser(Ljava/lang/String;I)V
Landroid/app/ActivityManager;->getMaxRecentTasksStatic()I
Landroid/app/ActivityManager;->getService()Landroid/app/IActivityManager;
Landroid/app/ActivityManager;->IActivityManagerSingleton:Landroid/util/Singleton;
+Landroid/app/ActivityManager;->INTENT_SENDER_ACTIVITY:I
Landroid/app/ActivityManager;->isHighEndGfx()Z
Landroid/app/ActivityManager;->isLowRamDeviceStatic()Z
Landroid/app/ActivityManager;->isUserRunning(I)Z
Landroid/app/ActivityManager;->mContext:Landroid/content/Context;
+Landroid/app/ActivityManager;->PROCESS_STATE_BOUND_FOREGROUND_SERVICE:I
+Landroid/app/ActivityManager;->PROCESS_STATE_CACHED_ACTIVITY:I
+Landroid/app/ActivityManager;->PROCESS_STATE_FOREGROUND_SERVICE:I
+Landroid/app/ActivityManager;->PROCESS_STATE_HOME:I
Landroid/app/ActivityManager;->PROCESS_STATE_IMPORTANT_BACKGROUND:I
+Landroid/app/ActivityManager;->PROCESS_STATE_RECEIVER:I
+Landroid/app/ActivityManager;->PROCESS_STATE_SERVICE:I
Landroid/app/ActivityManager;->PROCESS_STATE_TOP:I
Landroid/app/ActivityManager;->setPersistentVrThread(I)V
+Landroid/app/ActivityManager;->staticGetMemoryClass()I
+Landroid/app/ActivityManagerNative;-><init>()V
Landroid/app/ActivityManagerNative;->asInterface(Landroid/os/IBinder;)Landroid/app/IActivityManager;
Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
+Landroid/app/ActivityManagerNative;->isSystemReady()Z
+Landroid/app/ActivityOptions;->makeCustomAnimation(Landroid/content/Context;IILandroid/os/Handler;Landroid/app/ActivityOptions$OnAnimationStartedListener;)Landroid/app/ActivityOptions;
Landroid/app/ActivityOptions;->makeMultiThumbFutureAspectScaleAnimation(Landroid/content/Context;Landroid/os/Handler;Landroid/view/IAppTransitionAnimationSpecsFuture;Landroid/app/ActivityOptions$OnAnimationStartedListener;Z)Landroid/app/ActivityOptions;
Landroid/app/ActivityThread$ActivityClientRecord;->activity:Landroid/app/Activity;
Landroid/app/ActivityThread$ActivityClientRecord;->activityInfo:Landroid/content/pm/ActivityInfo;
@@ -131,8 +211,10 @@
Landroid/app/ActivityThread$ReceiverData;->intent:Landroid/content/Intent;
Landroid/app/ActivityThread$ServiceArgsData;->args:Landroid/content/Intent;
Landroid/app/ActivityThread$ServiceArgsData;->token:Landroid/os/IBinder;
+Landroid/app/ActivityThread;-><init>()V
Landroid/app/ActivityThread;->acquireExistingProvider(Landroid/content/Context;Ljava/lang/String;IZ)Landroid/content/IContentProvider;
Landroid/app/ActivityThread;->acquireProvider(Landroid/content/Context;Ljava/lang/String;IZ)Landroid/content/IContentProvider;
+Landroid/app/ActivityThread;->attach(ZJ)V
Landroid/app/ActivityThread;->currentActivityThread()Landroid/app/ActivityThread;
Landroid/app/ActivityThread;->currentApplication()Landroid/app/Application;
Landroid/app/ActivityThread;->currentPackageName()Ljava/lang/String;
@@ -142,6 +224,7 @@
Landroid/app/ActivityThread;->getApplicationThread()Landroid/app/ActivityThread$ApplicationThread;
Landroid/app/ActivityThread;->getHandler()Landroid/os/Handler;
Landroid/app/ActivityThread;->getInstrumentation()Landroid/app/Instrumentation;
+Landroid/app/ActivityThread;->getLooper()Landroid/os/Looper;
Landroid/app/ActivityThread;->getPackageInfo(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;I)Landroid/app/LoadedApk;
Landroid/app/ActivityThread;->getPackageInfo(Ljava/lang/String;Landroid/content/res/CompatibilityInfo;I)Landroid/app/LoadedApk;
Landroid/app/ActivityThread;->getPackageInfoNoCheck(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;)Landroid/app/LoadedApk;
@@ -152,8 +235,10 @@
Landroid/app/ActivityThread;->handleUnstableProviderDied(Landroid/os/IBinder;Z)V
Landroid/app/ActivityThread;->installContentProviders(Landroid/content/Context;Ljava/util/List;)V
Landroid/app/ActivityThread;->installProvider(Landroid/content/Context;Landroid/app/ContentProviderHolder;Landroid/content/pm/ProviderInfo;ZZZ)Landroid/app/ContentProviderHolder;
+Landroid/app/ActivityThread;->installSystemProviders(Ljava/util/List;)V
Landroid/app/ActivityThread;->mActivities:Landroid/util/ArrayMap;
Landroid/app/ActivityThread;->mAllApplications:Ljava/util/ArrayList;
+Landroid/app/ActivityThread;->mAppThread:Landroid/app/ActivityThread$ApplicationThread;
Landroid/app/ActivityThread;->mBoundApplication:Landroid/app/ActivityThread$AppBindData;
Landroid/app/ActivityThread;->mConfiguration:Landroid/content/res/Configuration;
Landroid/app/ActivityThread;->mCurDefaultDisplayDpi:I
@@ -161,8 +246,11 @@
Landroid/app/ActivityThread;->mH:Landroid/app/ActivityThread$H;
Landroid/app/ActivityThread;->mInitialApplication:Landroid/app/Application;
Landroid/app/ActivityThread;->mInstrumentation:Landroid/app/Instrumentation;
+Landroid/app/ActivityThread;->mInstrumentationAppDir:Ljava/lang/String;
+Landroid/app/ActivityThread;->mInstrumentedAppDir:Ljava/lang/String;
Landroid/app/ActivityThread;->mLocalProviders:Landroid/util/ArrayMap;
Landroid/app/ActivityThread;->mLocalProvidersByName:Landroid/util/ArrayMap;
+Landroid/app/ActivityThread;->mLooper:Landroid/os/Looper;
Landroid/app/ActivityThread;->mNumVisibleActivities:I
Landroid/app/ActivityThread;->mPackages:Landroid/util/ArrayMap;
Landroid/app/ActivityThread;->mPendingConfiguration:Landroid/content/res/Configuration;
@@ -171,30 +259,60 @@
Landroid/app/ActivityThread;->mResourcesManager:Landroid/app/ResourcesManager;
Landroid/app/ActivityThread;->mServices:Landroid/util/ArrayMap;
Landroid/app/ActivityThread;->mSystemContext:Landroid/app/ContextImpl;
+Landroid/app/ActivityThread;->peekPackageInfo(Ljava/lang/String;Z)Landroid/app/LoadedApk;
Landroid/app/ActivityThread;->performNewIntents(Landroid/os/IBinder;Ljava/util/List;Z)V
Landroid/app/ActivityThread;->performStopActivity(Landroid/os/IBinder;ZLjava/lang/String;)V
Landroid/app/ActivityThread;->releaseProvider(Landroid/content/IContentProvider;Z)Z
+Landroid/app/ActivityThread;->scheduleGcIdler()V
Landroid/app/ActivityThread;->sCurrentActivityThread:Landroid/app/ActivityThread;
Landroid/app/ActivityThread;->sendActivityResult(Landroid/os/IBinder;Ljava/lang/String;IILandroid/content/Intent;)V
+Landroid/app/ActivityThread;->sMainThreadHandler:Landroid/os/Handler;
Landroid/app/ActivityThread;->sPackageManager:Landroid/content/pm/IPackageManager;
Landroid/app/ActivityThread;->startActivityNow(Landroid/app/Activity;Ljava/lang/String;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/os/IBinder;Landroid/os/Bundle;Landroid/app/Activity$NonConfigurationInstances;)Landroid/app/Activity;
+Landroid/app/ActivityThread;->systemMain()Landroid/app/ActivityThread;
+Landroid/app/admin/DeviceAdminInfo$PolicyInfo;->tag:Ljava/lang/String;
+Landroid/app/admin/DeviceAdminInfo;->getUsedPolicies()Ljava/util/ArrayList;
+Landroid/app/admin/DevicePolicyManager;->ACTION_DEVICE_POLICY_MANAGER_STATE_CHANGED:Ljava/lang/String;
+Landroid/app/admin/DevicePolicyManager;->getActiveAdminsAsUser(I)Ljava/util/List;
+Landroid/app/admin/DevicePolicyManager;->getCameraDisabled(Landroid/content/ComponentName;I)Z
+Landroid/app/admin/DevicePolicyManager;->getCurrentFailedPasswordAttempts(I)I
+Landroid/app/admin/DevicePolicyManager;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;I)I
Landroid/app/admin/DevicePolicyManager;->getMandatoryBackupTransport()Landroid/content/ComponentName;
+Landroid/app/admin/DevicePolicyManager;->getMaximumFailedPasswordsForWipe(Landroid/content/ComponentName;I)I
+Landroid/app/admin/DevicePolicyManager;->getMaximumTimeToLock(Landroid/content/ComponentName;I)J
+Landroid/app/admin/DevicePolicyManager;->getPasswordHistoryLength(Landroid/content/ComponentName;I)I
+Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumLength(Landroid/content/ComponentName;I)I
+Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumLetters(Landroid/content/ComponentName;I)I
+Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumLowerCase(Landroid/content/ComponentName;I)I
+Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumNonLetter(Landroid/content/ComponentName;I)I
+Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumNumeric(Landroid/content/ComponentName;I)I
+Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumSymbols(Landroid/content/ComponentName;I)I
+Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumUpperCase(Landroid/content/ComponentName;I)I
+Landroid/app/admin/DevicePolicyManager;->getPasswordQuality(Landroid/content/ComponentName;I)I
Landroid/app/admin/DevicePolicyManager;->getProfileOwnerAsUser(I)Landroid/content/ComponentName;
+Landroid/app/admin/DevicePolicyManager;->getRequiredStrongAuthTimeout(Landroid/content/ComponentName;I)J
+Landroid/app/admin/DevicePolicyManager;->getStorageEncryptionStatus(I)I
Landroid/app/admin/DevicePolicyManager;->getTrustAgentConfiguration(Landroid/content/ComponentName;Landroid/content/ComponentName;I)Ljava/util/List;
Landroid/app/admin/DevicePolicyManager;->packageHasActiveAdmins(Ljava/lang/String;I)Z
+Landroid/app/admin/DevicePolicyManager;->reportFailedPasswordAttempt(I)V
+Landroid/app/admin/DevicePolicyManager;->reportSuccessfulPasswordAttempt(I)V
Landroid/app/admin/DevicePolicyManager;->setActiveAdmin(Landroid/content/ComponentName;Z)V
Landroid/app/admin/DevicePolicyManager;->setActiveAdmin(Landroid/content/ComponentName;ZI)V
+Landroid/app/admin/DevicePolicyManager;->setActivePasswordState(Landroid/app/admin/PasswordMetrics;I)V
Landroid/app/admin/DevicePolicyManager;->setDefaultSmsApplication(Landroid/content/ComponentName;Ljava/lang/String;)V
+Landroid/app/admin/DevicePolicyManager;->setGlobalProxy(Landroid/content/ComponentName;Ljava/net/Proxy;Ljava/util/List;)Landroid/content/ComponentName;
Landroid/app/admin/DevicePolicyManager;->throwIfParentInstance(Ljava/lang/String;)V
Landroid/app/admin/IDevicePolicyManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/admin/IDevicePolicyManager;
Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_packageHasActiveAdmins:I
Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_removeActiveAdmin:I
+Landroid/app/admin/IDevicePolicyManager;->packageHasActiveAdmins(Ljava/lang/String;I)Z
Landroid/app/admin/SecurityLog$SecurityEvent;-><init>([B)V
Landroid/app/AlarmManager;->FLAG_ALLOW_WHILE_IDLE_UNRESTRICTED:I
Landroid/app/AlarmManager;->FLAG_IDLE_UNTIL:I
Landroid/app/AlarmManager;->FLAG_STANDALONE:I
Landroid/app/AlarmManager;->FLAG_WAKE_FROM_IDLE:I
Landroid/app/AlarmManager;->mService:Landroid/app/IAlarmManager;
+Landroid/app/AlarmManager;->set(IJJJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;Landroid/os/WorkSource;)V
Landroid/app/AlarmManager;->WINDOW_EXACT:J
Landroid/app/AlarmManager;->WINDOW_HEURISTIC:J
Landroid/app/AlertDialog$Builder;->P:Lcom/android/internal/app/AlertController$AlertParams;
@@ -213,6 +331,8 @@
Landroid/app/Application;->dispatchActivitySaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
Landroid/app/Application;->dispatchActivityStarted(Landroid/app/Activity;)V
Landroid/app/Application;->dispatchActivityStopped(Landroid/app/Activity;)V
+Landroid/app/Application;->mActivityLifecycleCallbacks:Ljava/util/ArrayList;
+Landroid/app/Application;->mAssistCallbacks:Ljava/util/ArrayList;
Landroid/app/Application;->mComponentCallbacks:Ljava/util/ArrayList;
Landroid/app/Application;->mLoadedApk:Landroid/app/LoadedApk;
Landroid/app/ApplicationLoaders;->getDefault()Landroid/app/ApplicationLoaders;
@@ -227,30 +347,101 @@
Landroid/app/AppOpsManager$OpEntry;->getDuration()I
Landroid/app/AppOpsManager$OpEntry;->getMode()I
Landroid/app/AppOpsManager$OpEntry;->getRejectTime()J
+Landroid/app/AppOpsManager$PackageOps;-><init>(Ljava/lang/String;ILjava/util/List;)V
+Landroid/app/AppOpsManager$PackageOps;->CREATOR:Landroid/os/Parcelable$Creator;
Landroid/app/AppOpsManager;->checkOp(IILjava/lang/String;)I
Landroid/app/AppOpsManager;->checkOpNoThrow(IILjava/lang/String;)I
Landroid/app/AppOpsManager;->getOpsForPackage(ILjava/lang/String;[I)Ljava/util/List;
Landroid/app/AppOpsManager;->mService:Lcom/android/internal/app/IAppOpsService;
Landroid/app/AppOpsManager;->noteOp(I)I
Landroid/app/AppOpsManager;->noteOp(IILjava/lang/String;)I
+Landroid/app/AppOpsManager;->noteOpNoThrow(IILjava/lang/String;)I
+Landroid/app/AppOpsManager;->noteProxyOp(ILjava/lang/String;)I
+Landroid/app/AppOpsManager;->opToName(I)Ljava/lang/String;
+Landroid/app/AppOpsManager;->opToPermission(I)Ljava/lang/String;
+Landroid/app/AppOpsManager;->opToSwitch(I)I
+Landroid/app/AppOpsManager;->OP_ACCEPT_HANDOVER:I
+Landroid/app/AppOpsManager;->OP_ACCESS_NOTIFICATIONS:I
+Landroid/app/AppOpsManager;->OP_ACTIVATE_VPN:I
+Landroid/app/AppOpsManager;->OP_ADD_VOICEMAIL:I
+Landroid/app/AppOpsManager;->OP_ANSWER_PHONE_CALLS:I
+Landroid/app/AppOpsManager;->OP_ASSIST_SCREENSHOT:I
+Landroid/app/AppOpsManager;->OP_ASSIST_STRUCTURE:I
+Landroid/app/AppOpsManager;->OP_AUDIO_ACCESSIBILITY_VOLUME:I
+Landroid/app/AppOpsManager;->OP_AUDIO_ALARM_VOLUME:I
+Landroid/app/AppOpsManager;->OP_AUDIO_BLUETOOTH_VOLUME:I
+Landroid/app/AppOpsManager;->OP_AUDIO_MASTER_VOLUME:I
+Landroid/app/AppOpsManager;->OP_AUDIO_MEDIA_VOLUME:I
Landroid/app/AppOpsManager;->OP_AUDIO_NOTIFICATION_VOLUME:I
+Landroid/app/AppOpsManager;->OP_AUDIO_RING_VOLUME:I
+Landroid/app/AppOpsManager;->OP_AUDIO_VOICE_VOLUME:I
+Landroid/app/AppOpsManager;->OP_BIND_ACCESSIBILITY_SERVICE:I
+Landroid/app/AppOpsManager;->OP_BODY_SENSORS:I
+Landroid/app/AppOpsManager;->OP_CALL_PHONE:I
+Landroid/app/AppOpsManager;->OP_CAMERA:I
+Landroid/app/AppOpsManager;->OP_CHANGE_WIFI_STATE:I
Landroid/app/AppOpsManager;->OP_COARSE_LOCATION:I
Landroid/app/AppOpsManager;->OP_FINE_LOCATION:I
+Landroid/app/AppOpsManager;->OP_GET_ACCOUNTS:I
Landroid/app/AppOpsManager;->OP_GET_USAGE_STATS:I
+Landroid/app/AppOpsManager;->OP_GPS:I
+Landroid/app/AppOpsManager;->OP_INSTANT_APP_START_FOREGROUND:I
+Landroid/app/AppOpsManager;->OP_MANAGE_IPSEC_TUNNELS:I
+Landroid/app/AppOpsManager;->OP_MOCK_LOCATION:I
+Landroid/app/AppOpsManager;->OP_MONITOR_HIGH_POWER_LOCATION:I
+Landroid/app/AppOpsManager;->OP_MONITOR_LOCATION:I
+Landroid/app/AppOpsManager;->OP_MUTE_MICROPHONE:I
+Landroid/app/AppOpsManager;->OP_NEIGHBORING_CELLS:I
+Landroid/app/AppOpsManager;->OP_NONE:I
+Landroid/app/AppOpsManager;->OP_PICTURE_IN_PICTURE:I
+Landroid/app/AppOpsManager;->OP_PLAY_AUDIO:I
Landroid/app/AppOpsManager;->OP_POST_NOTIFICATION:I
+Landroid/app/AppOpsManager;->OP_PROCESS_OUTGOING_CALLS:I
Landroid/app/AppOpsManager;->OP_PROJECT_MEDIA:I
+Landroid/app/AppOpsManager;->OP_READ_CALENDAR:I
+Landroid/app/AppOpsManager;->OP_READ_CALL_LOG:I
+Landroid/app/AppOpsManager;->OP_READ_CELL_BROADCASTS:I
+Landroid/app/AppOpsManager;->OP_READ_CLIPBOARD:I
Landroid/app/AppOpsManager;->OP_READ_CONTACTS:I
+Landroid/app/AppOpsManager;->OP_READ_EXTERNAL_STORAGE:I
+Landroid/app/AppOpsManager;->OP_READ_ICC_SMS:I
+Landroid/app/AppOpsManager;->OP_READ_PHONE_NUMBERS:I
Landroid/app/AppOpsManager;->OP_READ_PHONE_STATE:I
Landroid/app/AppOpsManager;->OP_READ_SMS:I
+Landroid/app/AppOpsManager;->OP_RECEIVE_EMERGECY_SMS:I
+Landroid/app/AppOpsManager;->OP_RECEIVE_MMS:I
+Landroid/app/AppOpsManager;->OP_RECEIVE_SMS:I
+Landroid/app/AppOpsManager;->OP_RECEIVE_WAP_PUSH:I
+Landroid/app/AppOpsManager;->OP_REQUEST_DELETE_PACKAGES:I
+Landroid/app/AppOpsManager;->OP_REQUEST_INSTALL_PACKAGES:I
+Landroid/app/AppOpsManager;->OP_RUN_ANY_IN_BACKGROUND:I
Landroid/app/AppOpsManager;->OP_RUN_IN_BACKGROUND:I
+Landroid/app/AppOpsManager;->OP_SEND_SMS:I
+Landroid/app/AppOpsManager;->OP_START_FOREGROUND:I
+Landroid/app/AppOpsManager;->OP_TAKE_AUDIO_FOCUS:I
+Landroid/app/AppOpsManager;->OP_TAKE_MEDIA_BUTTONS:I
+Landroid/app/AppOpsManager;->OP_TOAST_WINDOW:I
+Landroid/app/AppOpsManager;->OP_TURN_SCREEN_ON:I
+Landroid/app/AppOpsManager;->OP_USE_FINGERPRINT:I
+Landroid/app/AppOpsManager;->OP_USE_SIP:I
Landroid/app/AppOpsManager;->OP_VIBRATE:I
+Landroid/app/AppOpsManager;->OP_WAKE_LOCK:I
Landroid/app/AppOpsManager;->OP_WIFI_SCAN:I
+Landroid/app/AppOpsManager;->OP_WRITE_CALENDAR:I
+Landroid/app/AppOpsManager;->OP_WRITE_CALL_LOG:I
+Landroid/app/AppOpsManager;->OP_WRITE_CLIPBOARD:I
Landroid/app/AppOpsManager;->OP_WRITE_CONTACTS:I
+Landroid/app/AppOpsManager;->OP_WRITE_EXTERNAL_STORAGE:I
+Landroid/app/AppOpsManager;->OP_WRITE_ICC_SMS:I
+Landroid/app/AppOpsManager;->OP_WRITE_SETTINGS:I
Landroid/app/AppOpsManager;->OP_WRITE_SMS:I
+Landroid/app/AppOpsManager;->OP_WRITE_WALLPAPER:I
Landroid/app/AppOpsManager;->permissionToOpCode(Ljava/lang/String;)I
+Landroid/app/AppOpsManager;->resetAllModes()V
Landroid/app/AppOpsManager;->setRestriction(III[Ljava/lang/String;)V
Landroid/app/AppOpsManager;->sOpPerms:[Ljava/lang/String;
Landroid/app/AppOpsManager;->strOpToOp(Ljava/lang/String;)I
+Landroid/app/AppOpsManager;->_NUM_OP:I
Landroid/app/backup/BackupDataInput$EntityHeader;->dataSize:I
Landroid/app/backup/BackupDataInput$EntityHeader;->key:Ljava/lang/String;
Landroid/app/backup/BackupDataInputStream;->dataSize:I
@@ -258,32 +449,52 @@
Landroid/app/backup/BackupDataOutput;->mBackupWriter:J
Landroid/app/backup/BackupHelperDispatcher$Header;->chunkSize:I
Landroid/app/backup/BackupHelperDispatcher$Header;->keyPrefix:Ljava/lang/String;
+Landroid/app/backup/BackupManager;->checkServiceBinder()V
+Landroid/app/backup/BackupManager;->sService:Landroid/app/backup/IBackupManager;
Landroid/app/backup/FileBackupHelperBase;->writeNewStateDescription(Landroid/os/ParcelFileDescriptor;)V
Landroid/app/backup/FullBackup;->backupToTar(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/backup/FullBackupDataOutput;)I
Landroid/app/backup/FullBackupDataOutput;-><init>(Landroid/os/ParcelFileDescriptor;)V
Landroid/app/backup/FullBackupDataOutput;->addSize(J)V
+Landroid/app/backup/FullBackupDataOutput;->getData()Landroid/app/backup/BackupDataOutput;
Landroid/app/backup/FullBackupDataOutput;->mData:Landroid/app/backup/BackupDataOutput;
Landroid/app/backup/IBackupManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IBackupManager;
+Landroid/app/backup/IBackupManager;->acknowledgeFullBackupOrRestore(IZLjava/lang/String;Ljava/lang/String;Landroid/app/backup/IFullBackupRestoreObserver;)V
+Landroid/app/backup/IBackupManager;->clearBackupData(Ljava/lang/String;Ljava/lang/String;)V
+Landroid/app/backup/IBackupManager;->dataChanged(Ljava/lang/String;)V
+Landroid/app/backup/IBackupManager;->getCurrentTransport()Ljava/lang/String;
+Landroid/app/backup/IBackupManager;->isBackupEnabled()Z
+Landroid/app/backup/IBackupManager;->isBackupServiceActive(I)Z
+Landroid/app/backup/IBackupManager;->listAllTransports()[Ljava/lang/String;
+Landroid/app/backup/IBackupManager;->selectBackupTransport(Ljava/lang/String;)Ljava/lang/String;
+Landroid/app/backup/IBackupManager;->setAutoRestore(Z)V
+Landroid/app/backup/IBackupManager;->setBackupEnabled(Z)V
+Landroid/app/backup/IFullBackupRestoreObserver$Stub;-><init>()V
+Landroid/app/backup/IRestoreObserver$Stub;-><init>()V
Landroid/app/ContentProviderHolder;-><init>(Landroid/content/pm/ProviderInfo;)V
+Landroid/app/ContentProviderHolder;-><init>(Landroid/os/Parcel;)V
Landroid/app/ContentProviderHolder;->info:Landroid/content/pm/ProviderInfo;
Landroid/app/ContentProviderHolder;->noReleaseNeeded:Z
Landroid/app/ContentProviderHolder;->provider:Landroid/content/IContentProvider;
Landroid/app/ContextImpl$ApplicationContentResolver;->mMainThread:Landroid/app/ActivityThread;
Landroid/app/ContextImpl;->createActivityContext(Landroid/app/ActivityThread;Landroid/app/LoadedApk;Landroid/content/pm/ActivityInfo;Landroid/os/IBinder;ILandroid/content/res/Configuration;)Landroid/app/ContextImpl;
Landroid/app/ContextImpl;->createAppContext(Landroid/app/ActivityThread;Landroid/app/LoadedApk;)Landroid/app/ContextImpl;
+Landroid/app/ContextImpl;->createSystemContext(Landroid/app/ActivityThread;)Landroid/app/ContextImpl;
Landroid/app/ContextImpl;->getActivityToken()Landroid/os/IBinder;
Landroid/app/ContextImpl;->getDisplay()Landroid/view/Display;
Landroid/app/ContextImpl;->getImpl(Landroid/content/Context;)Landroid/app/ContextImpl;
+Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
Landroid/app/ContextImpl;->getPreferencesDir()Ljava/io/File;
Landroid/app/ContextImpl;->getReceiverRestrictedContext()Landroid/content/Context;
Landroid/app/ContextImpl;->mBasePackageName:Ljava/lang/String;
Landroid/app/ContextImpl;->mClassLoader:Ljava/lang/ClassLoader;
Landroid/app/ContextImpl;->mContentResolver:Landroid/app/ContextImpl$ApplicationContentResolver;
+Landroid/app/ContextImpl;->mFlags:I
Landroid/app/ContextImpl;->mMainThread:Landroid/app/ActivityThread;
Landroid/app/ContextImpl;->mOpPackageName:Ljava/lang/String;
Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
Landroid/app/ContextImpl;->mPackageInfo:Landroid/app/LoadedApk;
Landroid/app/ContextImpl;->mPackageManager:Landroid/content/pm/PackageManager;
+Landroid/app/ContextImpl;->mPreferencesDir:Ljava/io/File;
Landroid/app/ContextImpl;->mResources:Landroid/content/res/Resources;
Landroid/app/ContextImpl;->mServiceCache:[Ljava/lang/Object;
Landroid/app/ContextImpl;->mSharedPrefsPaths:Landroid/util/ArrayMap;
@@ -298,21 +509,46 @@
Landroid/app/Dialog;->mCancelMessage:Landroid/os/Message;
Landroid/app/Dialog;->mContext:Landroid/content/Context;
Landroid/app/Dialog;->mDismissMessage:Landroid/os/Message;
+Landroid/app/Dialog;->mHandler:Landroid/os/Handler;
Landroid/app/Dialog;->mListenersHandler:Landroid/os/Handler;
+Landroid/app/Dialog;->mOnKeyListener:Landroid/content/DialogInterface$OnKeyListener;
Landroid/app/Dialog;->mOwnerActivity:Landroid/app/Activity;
Landroid/app/Dialog;->mShowing:Z
Landroid/app/Dialog;->mShowMessage:Landroid/os/Message;
+Landroid/app/Dialog;->mWindow:Landroid/view/Window;
+Landroid/app/DialogFragment;->mDismissed:Z
+Landroid/app/DialogFragment;->mShownByMe:Z
Landroid/app/DialogFragment;->showAllowingStateLoss(Landroid/app/FragmentManager;Ljava/lang/String;)V
+Landroid/app/DownloadManager$Query;->orderBy(Ljava/lang/String;I)Landroid/app/DownloadManager$Query;
+Landroid/app/DownloadManager$Query;->setOnlyIncludeVisibleInDownloadsUi(Z)Landroid/app/DownloadManager$Query;
Landroid/app/DownloadManager$Request;->mUri:Landroid/net/Uri;
+Landroid/app/DownloadManager;->getWhereArgsForIds([J)[Ljava/lang/String;
+Landroid/app/DownloadManager;->getWhereClauseForIds([J)Ljava/lang/String;
+Landroid/app/DownloadManager;->restartDownload([[J)V
+Landroid/app/DownloadManager;->setAccessAllDownloads(Z)V
Landroid/app/DownloadManager;->setAccessFilename(Z)V
+Landroid/app/DownloadManager;->UNDERLYING_COLUMNS:[Ljava/lang/String;
+Landroid/app/Fragment;->mAdded:Z
Landroid/app/Fragment;->mChildFragmentManager:Landroid/app/FragmentManagerImpl;
+Landroid/app/Fragment;->mFragmentId:I
+Landroid/app/Fragment;->mFragmentManager:Landroid/app/FragmentManagerImpl;
+Landroid/app/Fragment;->mHost:Landroid/app/FragmentHostCallback;
+Landroid/app/Fragment;->mIndex:I
+Landroid/app/Fragment;->mLoadersStarted:Z
+Landroid/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle;
+Landroid/app/Fragment;->mView:Landroid/view/View;
Landroid/app/Fragment;->mWho:Ljava/lang/String;
Landroid/app/Fragment;->sClassMap:Landroid/util/ArrayMap;
+Landroid/app/FragmentController;->mHost:Landroid/app/FragmentHostCallback;
+Landroid/app/FragmentHostCallback;->mLoadersStarted:Z
Landroid/app/FragmentManagerImpl;->loadAnimator(Landroid/app/Fragment;IZI)Landroid/animation/Animator;
Landroid/app/FragmentManagerImpl;->mActive:Landroid/util/SparseArray;
Landroid/app/FragmentManagerImpl;->mAdded:Ljava/util/ArrayList;
Landroid/app/FragmentManagerImpl;->mStateSaved:Z
Landroid/app/FragmentManagerImpl;->noteStateNotSaved()V
+Landroid/app/IActivityController;->activityResuming(Ljava/lang/String;)Z
+Landroid/app/IActivityController;->activityStarting(Landroid/content/Intent;Ljava/lang/String;)Z
+Landroid/app/IActivityController;->appNotResponding(Ljava/lang/String;ILjava/lang/String;)I
Landroid/app/IActivityManager$Stub$Proxy;->getConfiguration()Landroid/content/res/Configuration;
Landroid/app/IActivityManager$Stub$Proxy;->getLaunchedFromUid(Landroid/os/IBinder;)I
Landroid/app/IActivityManager$Stub$Proxy;->getProcessLimit()I
@@ -322,72 +558,166 @@
Landroid/app/IActivityManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IActivityManager;
Landroid/app/IActivityManager;->bindService(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;ILjava/lang/String;I)I
Landroid/app/IActivityManager;->broadcastIntent(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZI)I
+Landroid/app/IActivityManager;->checkPermission(Ljava/lang/String;II)I
+Landroid/app/IActivityManager;->enterSafeMode()V
Landroid/app/IActivityManager;->finishActivity(Landroid/os/IBinder;ILandroid/content/Intent;I)Z
Landroid/app/IActivityManager;->finishReceiver(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZI)V
Landroid/app/IActivityManager;->forceStopPackage(Ljava/lang/String;I)V
+Landroid/app/IActivityManager;->getAllStackInfos()Ljava/util/List;
Landroid/app/IActivityManager;->getConfiguration()Landroid/content/res/Configuration;
+Landroid/app/IActivityManager;->getIntentForIntentSender(Landroid/content/IIntentSender;)Landroid/content/Intent;
Landroid/app/IActivityManager;->getIntentSender(ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;I)Landroid/content/IIntentSender;
Landroid/app/IActivityManager;->getLaunchedFromPackage(Landroid/os/IBinder;)Ljava/lang/String;
+Landroid/app/IActivityManager;->getLaunchedFromUid(Landroid/os/IBinder;)I
+Landroid/app/IActivityManager;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
Landroid/app/IActivityManager;->getPackageProcessState(Ljava/lang/String;Ljava/lang/String;)I
+Landroid/app/IActivityManager;->getProcessLimit()I
+Landroid/app/IActivityManager;->getProcessPss([I)[J
Landroid/app/IActivityManager;->getProviderMimeType(Landroid/net/Uri;I)Ljava/lang/String;
+Landroid/app/IActivityManager;->getServices(II)Ljava/util/List;
+Landroid/app/IActivityManager;->getTaskBounds(I)Landroid/graphics/Rect;
Landroid/app/IActivityManager;->getTaskForActivity(Landroid/os/IBinder;Z)I
+Landroid/app/IActivityManager;->handleApplicationStrictModeViolation(Landroid/os/IBinder;ILandroid/os/StrictMode$ViolationInfo;)V
+Landroid/app/IActivityManager;->hang(Landroid/os/IBinder;Z)V
+Landroid/app/IActivityManager;->isInLockTaskMode()Z
+Landroid/app/IActivityManager;->isIntentSenderAnActivity(Landroid/content/IIntentSender;)Z
Landroid/app/IActivityManager;->isTopOfTask(Landroid/os/IBinder;)Z
+Landroid/app/IActivityManager;->isUserRunning(II)Z
+Landroid/app/IActivityManager;->killAllBackgroundProcesses()V
+Landroid/app/IActivityManager;->killApplicationProcess(Ljava/lang/String;I)V
+Landroid/app/IActivityManager;->killBackgroundProcesses(Ljava/lang/String;I)V
Landroid/app/IActivityManager;->moveActivityTaskToBack(Landroid/os/IBinder;Z)Z
Landroid/app/IActivityManager;->moveTaskToFront(IILandroid/os/Bundle;)V
+Landroid/app/IActivityManager;->moveTaskToStack(IIZ)V
+Landroid/app/IActivityManager;->moveTopActivityToPinnedStack(ILandroid/graphics/Rect;)Z
+Landroid/app/IActivityManager;->positionTaskInStack(III)V
+Landroid/app/IActivityManager;->profileControl(Ljava/lang/String;IZLandroid/app/ProfilerInfo;I)Z
Landroid/app/IActivityManager;->publishContentProviders(Landroid/app/IApplicationThread;Ljava/util/List;)V
+Landroid/app/IActivityManager;->registerProcessObserver(Landroid/app/IProcessObserver;)V
Landroid/app/IActivityManager;->registerReceiver(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/IIntentReceiver;Landroid/content/IntentFilter;Ljava/lang/String;II)Landroid/content/Intent;
+Landroid/app/IActivityManager;->registerUserSwitchObserver(Landroid/app/IUserSwitchObserver;Ljava/lang/String;)V
+Landroid/app/IActivityManager;->removeContentProviderExternal(Ljava/lang/String;Landroid/os/IBinder;)V
+Landroid/app/IActivityManager;->removeStack(I)V
Landroid/app/IActivityManager;->requestBugReport(I)V
+Landroid/app/IActivityManager;->resizeDockedStack(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+Landroid/app/IActivityManager;->resizeStack(ILandroid/graphics/Rect;ZZZI)V
+Landroid/app/IActivityManager;->resizeTask(ILandroid/graphics/Rect;I)V
+Landroid/app/IActivityManager;->restart()V
Landroid/app/IActivityManager;->resumeAppSwitches()V
+Landroid/app/IActivityManager;->sendIdleJobTrigger()V
Landroid/app/IActivityManager;->serviceDoneExecuting(Landroid/os/IBinder;III)V
Landroid/app/IActivityManager;->setActivityController(Landroid/app/IActivityController;Z)V
+Landroid/app/IActivityManager;->setAlwaysFinish(Z)V
+Landroid/app/IActivityManager;->setDebugApp(Ljava/lang/String;ZZ)V
+Landroid/app/IActivityManager;->setDumpHeapDebugLimit(Ljava/lang/String;IJLjava/lang/String;)V
+Landroid/app/IActivityManager;->setPackageScreenCompatMode(Ljava/lang/String;I)V
+Landroid/app/IActivityManager;->setProcessImportant(Landroid/os/IBinder;IZLjava/lang/String;)V
+Landroid/app/IActivityManager;->setProcessLimit(I)V
+Landroid/app/IActivityManager;->setProcessMemoryTrimLevel(Ljava/lang/String;II)Z
Landroid/app/IActivityManager;->setRequestedOrientation(Landroid/os/IBinder;I)V
Landroid/app/IActivityManager;->setTaskResizeable(II)V
+Landroid/app/IActivityManager;->shutdown(I)Z
+Landroid/app/IActivityManager;->startBinderTracking()Z
+Landroid/app/IActivityManager;->startInstrumentation(Landroid/content/ComponentName;Ljava/lang/String;ILandroid/os/Bundle;Landroid/app/IInstrumentationWatcher;Landroid/app/IUiAutomationConnection;ILjava/lang/String;)Z
+Landroid/app/IActivityManager;->startSystemLockTaskMode(I)V
+Landroid/app/IActivityManager;->startUserInBackground(I)Z
+Landroid/app/IActivityManager;->stopAppSwitches()V
+Landroid/app/IActivityManager;->stopBinderTrackingAndDump(Landroid/os/ParcelFileDescriptor;)Z
Landroid/app/IActivityManager;->stopService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;I)I
+Landroid/app/IActivityManager;->stopUser(IZLandroid/app/IStopUserCallback;)I
+Landroid/app/IActivityManager;->suppressResizeConfigChanges(Z)V
+Landroid/app/IActivityManager;->switchUser(I)Z
+Landroid/app/IActivityManager;->unbindBackupAgent(Landroid/content/pm/ApplicationInfo;)V
Landroid/app/IActivityManager;->unbindService(Landroid/app/IServiceConnection;)Z
+Landroid/app/IActivityManager;->unhandledBack()V
+Landroid/app/IActivityManager;->unlockUser(I[B[BLandroid/os/IProgressListener;)Z
+Landroid/app/IActivityManager;->unregisterProcessObserver(Landroid/app/IProcessObserver;)V
+Landroid/app/IActivityManager;->unregisterReceiver(Landroid/content/IIntentReceiver;)V
Landroid/app/IActivityManager;->unstableProviderDied(Landroid/os/IBinder;)V
+Landroid/app/IActivityManager;->updatePersistentConfiguration(Landroid/content/res/Configuration;)V
Landroid/app/IAlarmManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+Landroid/app/IAlarmManager$Stub;-><init>()V
Landroid/app/IAlarmManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IAlarmManager;
Landroid/app/IAlarmManager$Stub;->TRANSACTION_remove:I
Landroid/app/IAlarmManager$Stub;->TRANSACTION_set:I
+Landroid/app/IAlarmManager;->getNextAlarmClock(I)Landroid/app/AlarmManager$AlarmClockInfo;
Landroid/app/IAlarmManager;->set(Ljava/lang/String;IJJJILandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;Landroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;)V
+Landroid/app/IApplicationThread;->processInBackground()V
+Landroid/app/IApplicationThread;->scheduleBindService(Landroid/os/IBinder;Landroid/content/Intent;ZI)V
+Landroid/app/IApplicationThread;->scheduleCreateService(Landroid/os/IBinder;Landroid/content/pm/ServiceInfo;Landroid/content/res/CompatibilityInfo;I)V
+Landroid/app/IApplicationThread;->scheduleExit()V
+Landroid/app/IApplicationThread;->scheduleLowMemory()V
+Landroid/app/IApplicationThread;->scheduleStopService(Landroid/os/IBinder;)V
+Landroid/app/IApplicationThread;->scheduleSuicide()V
Landroid/app/IApplicationThread;->scheduleTrimMemory(I)V
+Landroid/app/IApplicationThread;->scheduleUnbindService(Landroid/os/IBinder;Landroid/content/Intent;)V
+Landroid/app/IApplicationThread;->updateTimeZone()V
Landroid/app/IAppTask;->getTaskInfo()Landroid/app/ActivityManager$RecentTaskInfo;
+Landroid/app/IBackupAgent$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IBackupAgent;
+Landroid/app/IInstrumentationWatcher$Stub;-><init>()V
+Landroid/app/IInstrumentationWatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IInstrumentationWatcher;
+Landroid/app/IInstrumentationWatcher;->instrumentationFinished(Landroid/content/ComponentName;ILandroid/os/Bundle;)V
+Landroid/app/IInstrumentationWatcher;->instrumentationStatus(Landroid/content/ComponentName;ILandroid/os/Bundle;)V
Landroid/app/INotificationManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/app/INotificationManager$Stub$Proxy;->areNotificationsEnabledForPackage(Ljava/lang/String;I)Z
+Landroid/app/INotificationManager$Stub;-><init>()V
Landroid/app/INotificationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/INotificationManager;
Landroid/app/INotificationManager;->areNotificationsEnabledForPackage(Ljava/lang/String;I)Z
Landroid/app/INotificationManager;->cancelAllNotifications(Ljava/lang/String;I)V
Landroid/app/INotificationManager;->cancelNotificationWithTag(Ljava/lang/String;Ljava/lang/String;II)V
Landroid/app/INotificationManager;->cancelToast(Ljava/lang/String;Landroid/app/ITransientNotification;)V
Landroid/app/INotificationManager;->enqueueToast(Ljava/lang/String;Landroid/app/ITransientNotification;I)V
+Landroid/app/INotificationManager;->getActiveNotifications(Ljava/lang/String;)[Landroid/service/notification/StatusBarNotification;
+Landroid/app/INotificationManager;->getHistoricalNotifications(Ljava/lang/String;I)[Landroid/service/notification/StatusBarNotification;
+Landroid/app/INotificationManager;->getZenMode()I
+Landroid/app/INotificationManager;->getZenModeConfig()Landroid/service/notification/ZenModeConfig;
+Landroid/app/Instrumentation;->callActivityOnNewIntent(Landroid/app/Activity;Lcom/android/internal/content/ReferrerIntent;)V
+Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
Landroid/app/Instrumentation;->execStartActivities(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;[Landroid/content/Intent;Landroid/os/Bundle;)V
Landroid/app/Instrumentation;->execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/Instrumentation$ActivityResult;
Landroid/app/Instrumentation;->execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Ljava/lang/String;Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/Instrumentation$ActivityResult;
Landroid/app/Instrumentation;->execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Ljava/lang/String;Landroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/Instrumentation$ActivityResult;
+Landroid/app/Instrumentation;->execStartActivityAsCaller(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;Landroid/content/Intent;ILandroid/os/Bundle;ZI)Landroid/app/Instrumentation$ActivityResult;
+Landroid/app/Instrumentation;->execStartActivityFromAppTask(Landroid/content/Context;Landroid/os/IBinder;Landroid/app/IAppTask;Landroid/content/Intent;Landroid/os/Bundle;)V
+Landroid/app/IntentReceiverLeaked;-><init>(Ljava/lang/String;)V
Landroid/app/IntentService;->mServiceHandler:Landroid/app/IntentService$ServiceHandler;
Landroid/app/IProcessObserver$Stub;-><init>()V
Landroid/app/ISearchManager$Stub$Proxy;->getGlobalSearchActivity()Landroid/content/ComponentName;
Landroid/app/ISearchManager$Stub$Proxy;->getWebSearchActivity()Landroid/content/ComponentName;
+Landroid/app/ISearchManager$Stub;-><init>()V
Landroid/app/ISearchManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/ISearchManager;
Landroid/app/ISearchManager;->getGlobalSearchActivity()Landroid/content/ComponentName;
Landroid/app/IServiceConnection$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/app/IServiceConnection$Stub$Proxy;->mRemote:Landroid/os/IBinder;
Landroid/app/IServiceConnection$Stub;-><init>()V
Landroid/app/IServiceConnection$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IServiceConnection;
+Landroid/app/IServiceConnection;->connected(Landroid/content/ComponentName;Landroid/os/IBinder;Z)V
Landroid/app/IStopUserCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/app/IStopUserCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
Landroid/app/IStopUserCallback$Stub;-><init>()V
Landroid/app/IStopUserCallback;->userStopped(I)V
+Landroid/app/ITransientNotification$Stub;-><init>()V
+Landroid/app/ITransientNotification;->hide()V
Landroid/app/ITransientNotification;->show(Landroid/os/IBinder;)V
Landroid/app/IUiModeManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+Landroid/app/IUserSwitchObserver$Stub;-><init>()V
+Landroid/app/IWallpaperManager$Stub;-><init>()V
Landroid/app/IWallpaperManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IWallpaperManager;
+Landroid/app/IWallpaperManager;->getHeightHint()I
Landroid/app/IWallpaperManager;->getWallpaper(Ljava/lang/String;Landroid/app/IWallpaperManagerCallback;ILandroid/os/Bundle;I)Landroid/os/ParcelFileDescriptor;
+Landroid/app/IWallpaperManager;->getWallpaperInfo(I)Landroid/app/WallpaperInfo;
+Landroid/app/IWallpaperManager;->getWidthHint()I
+Landroid/app/IWallpaperManager;->setWallpaperComponent(Landroid/content/ComponentName;)V
+Landroid/app/IWallpaperManagerCallback$Stub;-><init>()V
+Landroid/app/IWallpaperManagerCallback;->onWallpaperChanged()V
Landroid/app/job/IJobCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/app/job/IJobCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
Landroid/app/job/IJobCallback$Stub;-><init>()V
Landroid/app/job/IJobCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/job/IJobCallback;
Landroid/app/job/IJobCallback;->acknowledgeStartMessage(IZ)V
Landroid/app/job/IJobCallback;->acknowledgeStopMessage(IZ)V
+Landroid/app/job/IJobCallback;->completeWork(II)Z
+Landroid/app/job/IJobCallback;->dequeueWork(I)Landroid/app/job/JobWorkItem;
Landroid/app/job/IJobCallback;->jobFinished(IZ)V
Landroid/app/job/IJobScheduler$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/app/job/IJobScheduler$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/job/IJobScheduler;
@@ -405,7 +735,9 @@
Landroid/app/job/JobInfo;->PRIORITY_FOREGROUND_APP:I
Landroid/app/job/JobInfo;->service:Landroid/content/ComponentName;
Landroid/app/job/JobParameters;->callback:Landroid/os/IBinder;
+Landroid/app/job/JobParameters;->getCallback()Landroid/app/job/IJobCallback;
Landroid/app/job/JobParameters;->jobId:I
+Landroid/app/KeyguardManager;->isDeviceSecure(I)Z
Landroid/app/LoadedApk$ReceiverDispatcher;->getIIntentReceiver()Landroid/content/IIntentReceiver;
Landroid/app/LoadedApk$ReceiverDispatcher;->getIntentReceiver()Landroid/content/BroadcastReceiver;
Landroid/app/LoadedApk$ReceiverDispatcher;->mContext:Landroid/content/Context;
@@ -420,8 +752,12 @@
Landroid/app/LoadedApk;->getClassLoader()Ljava/lang/ClassLoader;
Landroid/app/LoadedApk;->getCompatibilityInfo()Landroid/content/res/CompatibilityInfo;
Landroid/app/LoadedApk;->getDataDirFile()Ljava/io/File;
+Landroid/app/LoadedApk;->getOverlayDirs()[Ljava/lang/String;
+Landroid/app/LoadedApk;->getPackageName()Ljava/lang/String;
+Landroid/app/LoadedApk;->getResDir()Ljava/lang/String;
Landroid/app/LoadedApk;->getResources()Landroid/content/res/Resources;
Landroid/app/LoadedApk;->getServiceDispatcher(Landroid/content/ServiceConnection;Landroid/content/Context;Landroid/os/Handler;I)Landroid/app/IServiceConnection;
+Landroid/app/LoadedApk;->getSplitResDirs()[Ljava/lang/String;
Landroid/app/LoadedApk;->mActivityThread:Landroid/app/ActivityThread;
Landroid/app/LoadedApk;->makeApplication(ZLandroid/app/Instrumentation;)Landroid/app/Application;
Landroid/app/LoadedApk;->mAppDir:Ljava/lang/String;
@@ -447,40 +783,89 @@
Landroid/app/LocalActivityManager;->mResumed:Landroid/app/LocalActivityManager$LocalActivityRecord;
Landroid/app/LocalActivityManager;->mSingleMode:Z
Landroid/app/NativeActivity;->hideIme(I)V
+Landroid/app/NativeActivity;->loadNativeCode(Ljava/lang/String;Ljava/lang/String;Landroid/os/MessageQueue;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/content/res/AssetManager;[BLjava/lang/ClassLoader;Ljava/lang/String;)J
+Landroid/app/NativeActivity;->mNativeHandle:J
Landroid/app/NativeActivity;->setWindowFlags(II)V
Landroid/app/NativeActivity;->setWindowFormat(I)V
Landroid/app/NativeActivity;->showIme(I)V
Landroid/app/Notification$Action;->mIcon:Landroid/graphics/drawable/Icon;
+Landroid/app/Notification$Builder;->getBaseLayoutResource()I
+Landroid/app/Notification$Builder;->loadHeaderAppName()Ljava/lang/String;
Landroid/app/Notification$Builder;->mActions:Ljava/util/ArrayList;
Landroid/app/Notification$Builder;->makePublicContentView()Landroid/widget/RemoteViews;
+Landroid/app/Notification$MediaStyle;->buildStyled(Landroid/app/Notification;)Landroid/app/Notification;
Landroid/app/Notification;-><init>(Landroid/content/Context;ILjava/lang/CharSequence;JLjava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/content/Intent;)V
+Landroid/app/Notification;->allPendingIntents:Landroid/util/ArraySet;
+Landroid/app/Notification;->isGroupChild()Z
Landroid/app/Notification;->isGroupSummary()Z
Landroid/app/Notification;->mChannelId:Ljava/lang/String;
Landroid/app/Notification;->mGroupKey:Ljava/lang/String;
Landroid/app/Notification;->mLargeIcon:Landroid/graphics/drawable/Icon;
Landroid/app/Notification;->mSmallIcon:Landroid/graphics/drawable/Icon;
Landroid/app/Notification;->setSmallIcon(Landroid/graphics/drawable/Icon;)V
+Landroid/app/NotificationChannel;->mId:Ljava/lang/String;
+Landroid/app/NotificationChannel;->setBlockableSystem(Z)V
+Landroid/app/NotificationChannelGroup;->mId:Ljava/lang/String;
+Landroid/app/NotificationManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
Landroid/app/NotificationManager;->from(Landroid/content/Context;)Landroid/app/NotificationManager;
Landroid/app/NotificationManager;->getService()Landroid/app/INotificationManager;
+Landroid/app/NotificationManager;->getZenModeConfig()Landroid/service/notification/ZenModeConfig;
Landroid/app/NotificationManager;->notifyAsUser(Ljava/lang/String;ILandroid/app/Notification;Landroid/os/UserHandle;)V
+Landroid/app/NotificationManager;->setZenMode(ILandroid/net/Uri;Ljava/lang/String;)V
Landroid/app/NotificationManager;->sService:Landroid/app/INotificationManager;
+Landroid/app/PackageDeleteObserver;-><init>()V
+Landroid/app/PackageInstallObserver;-><init>()V
+Landroid/app/PackageInstallObserver;->onPackageInstalled(Ljava/lang/String;ILjava/lang/String;Landroid/os/Bundle;)V
Landroid/app/PendingIntent;->getActivityAsUser(Landroid/content/Context;ILandroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/PendingIntent;
+Landroid/app/PendingIntent;->getBroadcastAsUser(Landroid/content/Context;ILandroid/content/Intent;ILandroid/os/UserHandle;)Landroid/app/PendingIntent;
Landroid/app/PendingIntent;->getIntent()Landroid/content/Intent;
Landroid/app/PendingIntent;->isActivity()Z
+Landroid/app/PendingIntent;->setOnMarshaledListener(Landroid/app/PendingIntent$OnMarshaledListener;)V
+Landroid/app/PictureInPictureArgs;-><init>()V
+Landroid/app/PictureInPictureArgs;->setActions(Ljava/util/List;)V
+Landroid/app/PictureInPictureArgs;->setAspectRatio(F)V
Landroid/app/PictureInPictureParams;->getAspectRatio()F
Landroid/app/Presentation;->createPresentationContext(Landroid/content/Context;Landroid/view/Display;I)Landroid/content/Context;
+Landroid/app/ProgressDialog;->mMessageView:Landroid/widget/TextView;
+Landroid/app/ProgressDialog;->mProgress:Landroid/widget/ProgressBar;
Landroid/app/ProgressDialog;->mProgressNumber:Landroid/widget/TextView;
Landroid/app/QueuedWork;->addFinisher(Ljava/lang/Runnable;)V
Landroid/app/QueuedWork;->removeFinisher(Ljava/lang/Runnable;)V
Landroid/app/QueuedWork;->sFinishers:Ljava/util/LinkedList;
+Landroid/app/ResourcesManager;-><init>()V
Landroid/app/ResourcesManager;->appendLibAssetForMainAssetPath(Ljava/lang/String;Ljava/lang/String;)V
+Landroid/app/ResourcesManager;->createAssetManager(Landroid/content/res/ResourcesKey;)Landroid/content/res/AssetManager;
Landroid/app/ResourcesManager;->getInstance()Landroid/app/ResourcesManager;
Landroid/app/ResourcesManager;->mActivityResourceReferences:Ljava/util/WeakHashMap;
Landroid/app/ResourcesManager;->mResConfiguration:Landroid/content/res/Configuration;
Landroid/app/ResourcesManager;->mResourceImpls:Landroid/util/ArrayMap;
Landroid/app/ResourcesManager;->mResourceReferences:Ljava/util/ArrayList;
+Landroid/app/ResultInfo;-><init>(Ljava/lang/String;IILandroid/content/Intent;)V
+Landroid/app/ResultInfo;->CREATOR:Landroid/os/Parcelable$Creator;
Landroid/app/ResultInfo;->mData:Landroid/content/Intent;
+Landroid/app/ResultInfo;->mRequestCode:I
Landroid/app/ResultInfo;->mResultWho:Ljava/lang/String;
+Landroid/app/SearchableInfo$ActionKeyInfo;->getQueryActionMsg()Ljava/lang/String;
+Landroid/app/SearchableInfo$ActionKeyInfo;->getSuggestActionMsg()Ljava/lang/String;
+Landroid/app/SearchableInfo$ActionKeyInfo;->getSuggestActionMsgColumn()Ljava/lang/String;
+Landroid/app/SearchableInfo;->findActionKey(I)Landroid/app/SearchableInfo$ActionKeyInfo;
+Landroid/app/SearchableInfo;->getActivityContext(Landroid/content/Context;)Landroid/content/Context;
+Landroid/app/SearchableInfo;->getIconId()I
+Landroid/app/SearchableInfo;->getLabelId()I
+Landroid/app/SearchableInfo;->getProviderContext(Landroid/content/Context;Landroid/content/Context;)Landroid/content/Context;
+Landroid/app/SearchDialog;->isLandscapeMode(Landroid/content/Context;)Z
+Landroid/app/SearchDialog;->launchQuerySearch()V
+Landroid/app/SearchDialog;->launchQuerySearch(ILjava/lang/String;)V
+Landroid/app/SearchDialog;->setWorking(Z)V
+Landroid/app/SearchManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+Landroid/app/SearchManager;->DISABLE_VOICE_SEARCH:Ljava/lang/String;
+Landroid/app/SearchManager;->getSuggestions(Landroid/app/SearchableInfo;Ljava/lang/String;)Landroid/database/Cursor;
+Landroid/app/SearchManager;->getSuggestions(Landroid/app/SearchableInfo;Ljava/lang/String;I)Landroid/database/Cursor;
+Landroid/app/SearchManager;->getWebSearchActivity()Landroid/content/ComponentName;
+Landroid/app/SearchManager;->isVisible()Z
+Landroid/app/SearchManager;->launchAssist(Landroid/os/Bundle;)V
+Landroid/app/SearchManager;->mSearchDialog:Landroid/app/SearchDialog;
+Landroid/app/SearchManager;->startSearch(Ljava/lang/String;ZLandroid/content/ComponentName;Landroid/os/Bundle;ZLandroid/graphics/Rect;)V
Landroid/app/Service;->attach(Landroid/content/Context;Landroid/app/ActivityThread;Ljava/lang/String;Landroid/os/IBinder;Landroid/app/Application;Ljava/lang/Object;)V
Landroid/app/Service;->mActivityManager:Landroid/app/IActivityManager;
Landroid/app/Service;->mApplication:Landroid/app/Application;
@@ -489,22 +874,43 @@
Landroid/app/Service;->mThread:Landroid/app/ActivityThread;
Landroid/app/Service;->mToken:Landroid/os/IBinder;
Landroid/app/Service;->setForeground(Z)V
+Landroid/app/ServiceConnectionLeaked;-><init>(Ljava/lang/String;)V
Landroid/app/SharedPreferencesImpl;-><init>(Ljava/io/File;I)V
Landroid/app/SharedPreferencesImpl;->mFile:Ljava/io/File;
Landroid/app/SharedPreferencesImpl;->startReloadIfChangedUnexpectedly()V
+Landroid/app/StatusBarManager;-><init>(Landroid/content/Context;)V
Landroid/app/StatusBarManager;->collapsePanels()V
Landroid/app/StatusBarManager;->disable(I)V
+Landroid/app/StatusBarManager;->DISABLE_EXPAND:I
+Landroid/app/StatusBarManager;->DISABLE_NONE:I
+Landroid/app/StatusBarManager;->DISABLE_NOTIFICATION_TICKER:I
Landroid/app/StatusBarManager;->expandNotificationsPanel()V
Landroid/app/StatusBarManager;->expandSettingsPanel()V
Landroid/app/StatusBarManager;->expandSettingsPanel(Ljava/lang/String;)V
Landroid/app/StatusBarManager;->getService()Lcom/android/internal/statusbar/IStatusBarService;
+Landroid/app/StatusBarManager;->mContext:Landroid/content/Context;
+Landroid/app/StatusBarManager;->mToken:Landroid/os/IBinder;
+Landroid/app/StatusBarManager;->setIconVisibility(Ljava/lang/String;Z)V
Landroid/app/TaskStackListener;-><init>()V
Landroid/app/TimePickerDialog;->mTimePicker:Landroid/widget/TimePicker;
Landroid/app/trust/ITrustManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+Landroid/app/trust/TrustManager;->reportUnlockAttempt(ZI)V
+Landroid/app/UiAutomation;-><init>(Landroid/os/Looper;Landroid/app/IUiAutomationConnection;)V
+Landroid/app/UiAutomation;->connect()V
+Landroid/app/UiAutomation;->disconnect()V
+Landroid/app/UiAutomationConnection;-><init>()V
+Landroid/app/UiModeManager;-><init>()V
+Landroid/app/usage/IUsageStatsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/usage/IUsageStatsManager;
+Landroid/app/usage/IUsageStatsManager;->isAppInactive(Ljava/lang/String;I)Z
+Landroid/app/usage/IUsageStatsManager;->queryConfigurationStats(IJJLjava/lang/String;)Landroid/content/pm/ParceledListSlice;
+Landroid/app/usage/IUsageStatsManager;->queryUsageStats(IJJLjava/lang/String;)Landroid/content/pm/ParceledListSlice;
+Landroid/app/usage/IUsageStatsManager;->setAppInactive(Ljava/lang/String;ZI)V
+Landroid/app/usage/NetworkStatsManager;-><init>(Landroid/content/Context;)V
Landroid/app/usage/UsageStats;->mLastEvent:I
Landroid/app/usage/UsageStats;->mLaunchCount:I
Landroid/app/usage/UsageStats;->mTotalTimeInForeground:J
Landroid/app/usage/UsageStatsManager;->mService:Landroid/app/usage/IUsageStatsManager;
+Landroid/app/UserSwitchObserver;-><init>()V
Landroid/app/Vr2dDisplayProperties$Builder;-><init>()V
Landroid/app/Vr2dDisplayProperties$Builder;->build()Landroid/app/Vr2dDisplayProperties;
Landroid/app/Vr2dDisplayProperties$Builder;->setEnabled(Z)Landroid/app/Vr2dDisplayProperties$Builder;
@@ -515,20 +921,35 @@
Landroid/app/VrManager;->setVr2dDisplayProperties(Landroid/app/Vr2dDisplayProperties;)V
Landroid/app/VrManager;->unregisterVrStateCallback(Landroid/app/VrStateCallback;)V
Landroid/app/WallpaperColors;->getColorHints()I
+Landroid/app/WallpaperManager;->addOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;Landroid/os/Handler;I)V
Landroid/app/WallpaperManager;->getBitmap()Landroid/graphics/Bitmap;
Landroid/app/WallpaperManager;->getBitmap(Z)Landroid/graphics/Bitmap;
Landroid/app/WallpaperManager;->getIWallpaperManager()Landroid/app/IWallpaperManager;
+Landroid/app/WallpaperManager;->getWallpaperColors(II)Landroid/app/WallpaperColors;
+Landroid/app/WallpaperManager;->getWallpaperFile(II)Landroid/os/ParcelFileDescriptor;
Landroid/app/WallpaperManager;->openDefaultWallpaper(Landroid/content/Context;I)Ljava/io/InputStream;
Landroid/app/WallpaperManager;->setBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;ZII)I
+Landroid/app/WallpaperManager;->setWallpaperComponent(Landroid/content/ComponentName;I)Z
Landroid/app/WallpaperManager;->sGlobals:Landroid/app/WallpaperManager$Globals;
+Landroid/appwidget/AppWidgetHost;-><init>(Landroid/content/Context;ILandroid/widget/RemoteViews$OnClickHandler;Landroid/os/Looper;)V
+Landroid/appwidget/AppWidgetHost;->HANDLE_VIEW_DATA_CHANGED:I
+Landroid/appwidget/AppWidgetHost;->mHandler:Landroid/os/Handler;
Landroid/appwidget/AppWidgetHost;->sService:Lcom/android/internal/appwidget/IAppWidgetService;
+Landroid/appwidget/AppWidgetHostView;->getDefaultPaddingForWidget(Landroid/content/Context;Landroid/content/pm/ApplicationInfo;Landroid/graphics/Rect;)Landroid/graphics/Rect;
+Landroid/appwidget/AppWidgetHostView;->mAppWidgetId:I
+Landroid/appwidget/AppWidgetHostView;->mInfo:Landroid/appwidget/AppWidgetProviderInfo;
+Landroid/appwidget/AppWidgetHostView;->updateAppWidgetSize(Landroid/os/Bundle;IIIIZ)V
Landroid/appwidget/AppWidgetManager;->bindAppWidgetId(ILandroid/content/ComponentName;)V
Landroid/appwidget/AppWidgetManager;->bindAppWidgetId(ILandroid/content/ComponentName;Landroid/os/Bundle;)V
Landroid/appwidget/AppWidgetManager;->bindAppWidgetIdIfAllowed(IILandroid/content/ComponentName;Landroid/os/Bundle;)Z
+Landroid/appwidget/AppWidgetManager;->bindRemoteViewsService(Landroid/content/Context;ILandroid/content/Intent;Landroid/app/IServiceConnection;I)Z
+Landroid/appwidget/AppWidgetManager;->getInstalledProviders(I)Ljava/util/List;
+Landroid/appwidget/AppWidgetManager;->getInstalledProvidersForProfile(ILandroid/os/UserHandle;Ljava/lang/String;)Ljava/util/List;
Landroid/appwidget/AppWidgetManager;->mService:Lcom/android/internal/appwidget/IAppWidgetService;
Landroid/appwidget/AppWidgetProviderInfo;->providerInfo:Landroid/content/pm/ActivityInfo;
Landroid/bluetooth/BluetoothA2dp;->ACTION_ACTIVE_DEVICE_CHANGED:Ljava/lang/String;
Landroid/bluetooth/BluetoothA2dp;->ACTION_CODEC_CONFIG_CHANGED:Ljava/lang/String;
+Landroid/bluetooth/BluetoothA2dp;->close()V
Landroid/bluetooth/BluetoothA2dp;->connect(Landroid/bluetooth/BluetoothDevice;)Z
Landroid/bluetooth/BluetoothA2dp;->disableOptionalCodecs(Landroid/bluetooth/BluetoothDevice;)V
Landroid/bluetooth/BluetoothA2dp;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
@@ -536,6 +957,7 @@
Landroid/bluetooth/BluetoothA2dp;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
Landroid/bluetooth/BluetoothA2dp;->getCodecStatus(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothCodecStatus;
Landroid/bluetooth/BluetoothA2dp;->getOptionalCodecsEnabled(Landroid/bluetooth/BluetoothDevice;)I
+Landroid/bluetooth/BluetoothA2dp;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
Landroid/bluetooth/BluetoothA2dp;->OPTIONAL_CODECS_NOT_SUPPORTED:I
Landroid/bluetooth/BluetoothA2dp;->OPTIONAL_CODECS_PREF_DISABLED:I
Landroid/bluetooth/BluetoothA2dp;->OPTIONAL_CODECS_PREF_ENABLED:I
@@ -545,15 +967,26 @@
Landroid/bluetooth/BluetoothA2dp;->setActiveDevice(Landroid/bluetooth/BluetoothDevice;)Z
Landroid/bluetooth/BluetoothA2dp;->setCodecConfigPreference(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothCodecConfig;)V
Landroid/bluetooth/BluetoothA2dp;->setOptionalCodecsEnabled(Landroid/bluetooth/BluetoothDevice;I)V
+Landroid/bluetooth/BluetoothA2dp;->stateToString(I)Ljava/lang/String;
Landroid/bluetooth/BluetoothA2dp;->supportsOptionalCodecs(Landroid/bluetooth/BluetoothDevice;)I
Landroid/bluetooth/BluetoothAdapter;->disable(Z)Z
Landroid/bluetooth/BluetoothAdapter;->factoryReset()Z
+Landroid/bluetooth/BluetoothAdapter;->getBluetoothManager()Landroid/bluetooth/IBluetoothManager;
+Landroid/bluetooth/BluetoothAdapter;->getBluetoothService(Landroid/bluetooth/IBluetoothManagerCallback;)Landroid/bluetooth/IBluetooth;
+Landroid/bluetooth/BluetoothAdapter;->getConnectionState()I
Landroid/bluetooth/BluetoothAdapter;->getDiscoverableTimeout()I
Landroid/bluetooth/BluetoothAdapter;->getLeState()I
+Landroid/bluetooth/BluetoothAdapter;->getUuids()[Landroid/os/ParcelUuid;
+Landroid/bluetooth/BluetoothAdapter;->listenUsingEncryptedRfcommWithServiceRecord(Ljava/lang/String;Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;
+Landroid/bluetooth/BluetoothAdapter;->listenUsingRfcommOn(IZZ)Landroid/bluetooth/BluetoothServerSocket;
Landroid/bluetooth/BluetoothAdapter;->mService:Landroid/bluetooth/IBluetooth;
Landroid/bluetooth/BluetoothAdapter;->setDiscoverableTimeout(I)V
Landroid/bluetooth/BluetoothAdapter;->setScanMode(I)Z
Landroid/bluetooth/BluetoothAdapter;->setScanMode(II)Z
+Landroid/bluetooth/BluetoothClass;-><init>(I)V
+Landroid/bluetooth/BluetoothClass;->doesClassMatch(I)Z
+Landroid/bluetooth/BluetoothClass;->PROFILE_A2DP:I
+Landroid/bluetooth/BluetoothClass;->PROFILE_HEADSET:I
Landroid/bluetooth/BluetoothCodecConfig;
Landroid/bluetooth/BluetoothCodecConfig;-><init>(IIIIIJJJJ)V
Landroid/bluetooth/BluetoothCodecConfig;->BITS_PER_SAMPLE_16:I
@@ -595,24 +1028,79 @@
Landroid/bluetooth/BluetoothCodecStatus;->getCodecConfig()Landroid/bluetooth/BluetoothCodecConfig;
Landroid/bluetooth/BluetoothCodecStatus;->getCodecsLocalCapabilities()[Landroid/bluetooth/BluetoothCodecConfig;
Landroid/bluetooth/BluetoothCodecStatus;->getCodecsSelectableCapabilities()[Landroid/bluetooth/BluetoothCodecConfig;
+Landroid/bluetooth/BluetoothDevice;-><init>(Ljava/lang/String;)V
+Landroid/bluetooth/BluetoothDevice;->ACTION_ALIAS_CHANGED:Ljava/lang/String;
+Landroid/bluetooth/BluetoothDevice;->ACTION_DISAPPEARED:Ljava/lang/String;
+Landroid/bluetooth/BluetoothDevice;->ACTION_PAIRING_CANCEL:Ljava/lang/String;
+Landroid/bluetooth/BluetoothDevice;->ACTION_SDP_RECORD:Ljava/lang/String;
+Landroid/bluetooth/BluetoothDevice;->cancelPairingUserInput()Z
+Landroid/bluetooth/BluetoothDevice;->connectGatt(Landroid/content/Context;ZLandroid/bluetooth/BluetoothGattCallback;IZILandroid/os/Handler;)Landroid/bluetooth/BluetoothGatt;
+Landroid/bluetooth/BluetoothDevice;->convertPinToBytes(Ljava/lang/String;)[B
Landroid/bluetooth/BluetoothDevice;->createBond(I)Z
+Landroid/bluetooth/BluetoothDevice;->createInsecureRfcommSocket(I)Landroid/bluetooth/BluetoothSocket;
+Landroid/bluetooth/BluetoothDevice;->createRfcommSocket(I)Landroid/bluetooth/BluetoothSocket;
+Landroid/bluetooth/BluetoothDevice;->createScoSocket()Landroid/bluetooth/BluetoothSocket;
+Landroid/bluetooth/BluetoothDevice;->EXTRA_REASON:Ljava/lang/String;
+Landroid/bluetooth/BluetoothDevice;->EXTRA_SDP_SEARCH_STATUS:Ljava/lang/String;
Landroid/bluetooth/BluetoothDevice;->getAlias()Ljava/lang/String;
Landroid/bluetooth/BluetoothDevice;->getAliasName()Ljava/lang/String;
+Landroid/bluetooth/BluetoothDevice;->getMessageAccessPermission()I
+Landroid/bluetooth/BluetoothDevice;->getPhonebookAccessPermission()I
+Landroid/bluetooth/BluetoothDevice;->getService()Landroid/bluetooth/IBluetooth;
+Landroid/bluetooth/BluetoothDevice;->isBluetoothDock()Z
+Landroid/bluetooth/BluetoothDevice;->isBondingInitiatedLocally()Z
+Landroid/bluetooth/BluetoothDevice;->setAlias(Ljava/lang/String;)Z
+Landroid/bluetooth/BluetoothDevice;->setMessageAccessPermission(I)Z
+Landroid/bluetooth/BluetoothDevice;->setPasskey(I)Z
+Landroid/bluetooth/BluetoothDevice;->setSimAccessPermission(I)Z
+Landroid/bluetooth/BluetoothDevice;->UNBOND_REASON_AUTH_FAILED:I
+Landroid/bluetooth/BluetoothDevice;->UNBOND_REASON_AUTH_REJECTED:I
+Landroid/bluetooth/BluetoothDevice;->UNBOND_REASON_AUTH_TIMEOUT:I
+Landroid/bluetooth/BluetoothDevice;->UNBOND_REASON_DISCOVERY_IN_PROGRESS:I
+Landroid/bluetooth/BluetoothDevice;->UNBOND_REASON_REMOTE_AUTH_CANCELED:I
+Landroid/bluetooth/BluetoothDevice;->UNBOND_REASON_REMOTE_DEVICE_DOWN:I
+Landroid/bluetooth/BluetoothDevice;->UNBOND_REASON_REPEATED_ATTEMPTS:I
+Landroid/bluetooth/BluetoothGatt;->connect(Ljava/lang/Boolean;Landroid/bluetooth/BluetoothGattCallback;Landroid/os/Handler;)Z
Landroid/bluetooth/BluetoothGatt;->mAuthRetryState:I
+Landroid/bluetooth/BluetoothGatt;->mAutoConnect:Z
+Landroid/bluetooth/BluetoothGatt;->mCallback:Landroid/bluetooth/BluetoothGattCallback;
Landroid/bluetooth/BluetoothGatt;->mClientIf:I
+Landroid/bluetooth/BluetoothGatt;->mDeviceBusy:Ljava/lang/Boolean;
+Landroid/bluetooth/BluetoothGatt;->mService:Landroid/bluetooth/IBluetoothGatt;
+Landroid/bluetooth/BluetoothGatt;->mTransport:I
Landroid/bluetooth/BluetoothGatt;->refresh()Z
+Landroid/bluetooth/BluetoothGatt;->unregisterApp()V
Landroid/bluetooth/BluetoothGattCharacteristic;->mInstance:I
Landroid/bluetooth/BluetoothGattCharacteristic;->mService:Landroid/bluetooth/BluetoothGattService;
+Landroid/bluetooth/BluetoothGattCharacteristic;->setKeySize(I)V
+Landroid/bluetooth/BluetoothGattCharacteristic;->setService(Landroid/bluetooth/BluetoothGattService;)V
Landroid/bluetooth/BluetoothGattDescriptor;->mCharacteristic:Landroid/bluetooth/BluetoothGattCharacteristic;
Landroid/bluetooth/BluetoothGattDescriptor;->mInstance:I
+Landroid/bluetooth/BluetoothGattDescriptor;->setCharacteristic(Landroid/bluetooth/BluetoothGattCharacteristic;)V
+Landroid/bluetooth/BluetoothGattService;->mDevice:Landroid/bluetooth/BluetoothDevice;
+Landroid/bluetooth/BluetoothGattService;->setAdvertisePreferred(Z)V
+Landroid/bluetooth/BluetoothGattService;->setInstanceId(I)V
Landroid/bluetooth/BluetoothHeadset;->ACTION_ACTIVE_DEVICE_CHANGED:Ljava/lang/String;
Landroid/bluetooth/BluetoothHeadset;->close()V
Landroid/bluetooth/BluetoothHeadset;->connectAudio()Z
Landroid/bluetooth/BluetoothHeadset;->disconnectAudio()Z
Landroid/bluetooth/BluetoothHeadset;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
+Landroid/bluetooth/BluetoothHeadset;->getAudioState(Landroid/bluetooth/BluetoothDevice;)I
+Landroid/bluetooth/BluetoothHeadset;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
+Landroid/bluetooth/BluetoothHeadset;->isEnabled()Z
Landroid/bluetooth/BluetoothHeadset;->setActiveDevice(Landroid/bluetooth/BluetoothDevice;)Z
Landroid/bluetooth/BluetoothHeadset;->startScoUsingVirtualVoiceCall()Z
Landroid/bluetooth/BluetoothHeadset;->stopScoUsingVirtualVoiceCall()Z
+Landroid/bluetooth/BluetoothHeadsetClient;->acceptCall(Landroid/bluetooth/BluetoothDevice;I)Z
+Landroid/bluetooth/BluetoothHeadsetClient;->connect(Landroid/bluetooth/BluetoothDevice;)Z
+Landroid/bluetooth/BluetoothHeadsetClient;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
+Landroid/bluetooth/BluetoothHeadsetClient;->getAudioState(Landroid/bluetooth/BluetoothDevice;)I
+Landroid/bluetooth/BluetoothHeadsetClient;->rejectCall(Landroid/bluetooth/BluetoothDevice;)Z
+Landroid/bluetooth/BluetoothHeadsetClientCall;->getId()I
+Landroid/bluetooth/BluetoothHeadsetClientCall;->getNumber()Ljava/lang/String;
+Landroid/bluetooth/BluetoothHeadsetClientCall;->getState()I
+Landroid/bluetooth/BluetoothHeadsetClientCall;->isMultiParty()Z
+Landroid/bluetooth/BluetoothHeadsetClientCall;->isOutgoing()Z
Landroid/bluetooth/BluetoothHearingAid;->ACTION_ACTIVE_DEVICE_CHANGED:Ljava/lang/String;
Landroid/bluetooth/BluetoothHearingAid;->getActiveDevices()Ljava/util/List;
Landroid/bluetooth/BluetoothHearingAid;->setActiveDevice(Landroid/bluetooth/BluetoothDevice;)Z
@@ -627,17 +1115,72 @@
Landroid/bluetooth/BluetoothPan;->isValidDevice(Landroid/bluetooth/BluetoothDevice;)Z
Landroid/bluetooth/BluetoothPan;->log(Ljava/lang/String;)V
Landroid/bluetooth/BluetoothPan;->setBluetoothTethering(Z)V
+Landroid/bluetooth/BluetoothProfile;->A2DP_SINK:I
+Landroid/bluetooth/BluetoothProfile;->AVRCP_CONTROLLER:I
Landroid/bluetooth/BluetoothProfile;->PAN:I
+Landroid/bluetooth/BluetoothProfile;->PRIORITY_AUTO_CONNECT:I
+Landroid/bluetooth/BluetoothProfile;->PRIORITY_UNDEFINED:I
+Landroid/bluetooth/BluetoothServerSocket;->mSocket:Landroid/bluetooth/BluetoothSocket;
+Landroid/bluetooth/BluetoothSocket;->EADDRINUSE:I
+Landroid/bluetooth/BluetoothSocket;->flush()V
Landroid/bluetooth/BluetoothSocket;->mPfd:Landroid/os/ParcelFileDescriptor;
+Landroid/bluetooth/BluetoothSocket;->mPort:I
+Landroid/bluetooth/BluetoothSocket;->mSocket:Landroid/net/LocalSocket;
+Landroid/bluetooth/BluetoothUuid;->AdvAudioDist:Landroid/os/ParcelUuid;
+Landroid/bluetooth/BluetoothUuid;->AudioSink:Landroid/os/ParcelUuid;
+Landroid/bluetooth/BluetoothUuid;->containsAnyUuid([Landroid/os/ParcelUuid;[Landroid/os/ParcelUuid;)Z
+Landroid/bluetooth/BluetoothUuid;->Handsfree:Landroid/os/ParcelUuid;
+Landroid/bluetooth/BluetoothUuid;->Hogp:Landroid/os/ParcelUuid;
+Landroid/bluetooth/BluetoothUuid;->HSP:Landroid/os/ParcelUuid;
+Landroid/bluetooth/BluetoothUuid;->is16BitUuid(Landroid/os/ParcelUuid;)Z
+Landroid/bluetooth/BluetoothUuid;->is32BitUuid(Landroid/os/ParcelUuid;)Z
+Landroid/bluetooth/BluetoothUuid;->isAdvAudioDist(Landroid/os/ParcelUuid;)Z
+Landroid/bluetooth/BluetoothUuid;->isAudioSource(Landroid/os/ParcelUuid;)Z
+Landroid/bluetooth/BluetoothUuid;->isAvrcpTarget(Landroid/os/ParcelUuid;)Z
+Landroid/bluetooth/BluetoothUuid;->isUuidPresent([Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;)Z
+Landroid/bluetooth/BluetoothUuid;->NAP:Landroid/os/ParcelUuid;
+Landroid/bluetooth/BluetoothUuid;->ObexObjectPush:Landroid/os/ParcelUuid;
+Landroid/bluetooth/BluetoothUuid;->PBAP_PSE:Landroid/os/ParcelUuid;
Landroid/bluetooth/BluetoothUuid;->RESERVED_UUIDS:[Landroid/os/ParcelUuid;
Landroid/bluetooth/IBluetooth$Stub$Proxy;->getAddress()Ljava/lang/String;
Landroid/bluetooth/IBluetooth$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
+Landroid/bluetooth/IBluetooth$Stub;-><init>()V
Landroid/bluetooth/IBluetooth$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetooth;
Landroid/bluetooth/IBluetooth;->getAddress()Ljava/lang/String;
+Landroid/bluetooth/IBluetooth;->getRemoteAlias(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;
+Landroid/bluetooth/IBluetooth;->isEnabled()Z
+Landroid/bluetooth/IBluetoothA2dp$Stub;-><init>()V
+Landroid/bluetooth/IBluetoothA2dp$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothA2dp;
+Landroid/bluetooth/IBluetoothA2dp;->connect(Landroid/bluetooth/BluetoothDevice;)Z
+Landroid/bluetooth/IBluetoothA2dp;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
+Landroid/bluetooth/IBluetoothA2dp;->getConnectedDevices()Ljava/util/List;
+Landroid/bluetooth/IBluetoothA2dp;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
+Landroid/bluetooth/IBluetoothA2dp;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
+Landroid/bluetooth/IBluetoothA2dp;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
+Landroid/bluetooth/IBluetoothCallback$Stub;-><init>()V
+Landroid/bluetooth/IBluetoothGatt;->registerClient(Landroid/os/ParcelUuid;Landroid/bluetooth/IBluetoothGattCallback;)V
+Landroid/bluetooth/IBluetoothGatt;->unregisterClient(I)V
+Landroid/bluetooth/IBluetoothGattCallback$Stub;-><init>()V
+Landroid/bluetooth/IBluetoothGattCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothGattCallback;
+Landroid/bluetooth/IBluetoothHeadset$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothHeadset;
+Landroid/bluetooth/IBluetoothHeadset;->connect(Landroid/bluetooth/BluetoothDevice;)Z
+Landroid/bluetooth/IBluetoothHeadset;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
+Landroid/bluetooth/IBluetoothHeadset;->getConnectedDevices()Ljava/util/List;
+Landroid/bluetooth/IBluetoothHeadset;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
+Landroid/bluetooth/IBluetoothHeadset;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
+Landroid/bluetooth/IBluetoothHeadset;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
+Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub;-><init>()V
Landroid/bluetooth/IBluetoothManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/bluetooth/IBluetoothManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothManager;
+Landroid/bluetooth/IBluetoothManager;->getBluetoothGatt()Landroid/bluetooth/IBluetoothGatt;
+Landroid/bluetooth/IBluetoothManager;->registerStateChangeCallback(Landroid/bluetooth/IBluetoothStateChangeCallback;)V
+Landroid/bluetooth/IBluetoothManager;->unregisterStateChangeCallback(Landroid/bluetooth/IBluetoothStateChangeCallback;)V
+Landroid/bluetooth/IBluetoothManagerCallback$Stub;-><init>()V
+Landroid/bluetooth/IBluetoothPbap$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothPbap;
+Landroid/bluetooth/IBluetoothStateChangeCallback$Stub;-><init>()V
Landroid/bluetooth/le/ScanRecord;->parseFromBytes([B)Landroid/bluetooth/le/ScanRecord;
Landroid/content/AsyncTaskLoader;->mExecutor:Ljava/util/concurrent/Executor;
+Landroid/content/AsyncTaskLoader;->waitForLoader()V
Landroid/content/BroadcastReceiver$PendingResult;-><init>(ILjava/lang/String;Landroid/os/Bundle;IZZLandroid/os/IBinder;II)V
Landroid/content/BroadcastReceiver$PendingResult;->mAbortBroadcast:Z
Landroid/content/BroadcastReceiver$PendingResult;->mFinished:Z
@@ -651,11 +1194,18 @@
Landroid/content/BroadcastReceiver$PendingResult;->mToken:Landroid/os/IBinder;
Landroid/content/BroadcastReceiver$PendingResult;->mType:I
Landroid/content/BroadcastReceiver;->getPendingResult()Landroid/content/BroadcastReceiver$PendingResult;
+Landroid/content/BroadcastReceiver;->mPendingResult:Landroid/content/BroadcastReceiver$PendingResult;
Landroid/content/BroadcastReceiver;->setPendingResult(Landroid/content/BroadcastReceiver$PendingResult;)V
+Landroid/content/ClipboardManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+Landroid/content/ClipboardManager;->reportPrimaryClipChanged()V
Landroid/content/ClipData$Item;->mUri:Landroid/net/Uri;
+Landroid/content/ClipData;->getIcon()Landroid/graphics/Bitmap;
+Landroid/content/ComponentName;->appendShortString(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
+Landroid/content/ComponentName;->printShortString(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;)V
Landroid/content/ContentProvider;->coerceToLocalContentProvider(Landroid/content/IContentProvider;)Landroid/content/ContentProvider;
Landroid/content/ContentProvider;->mAuthorities:[Ljava/lang/String;
Landroid/content/ContentProvider;->mAuthority:Ljava/lang/String;
+Landroid/content/ContentProvider;->maybeAddUserId(Landroid/net/Uri;I)Landroid/net/Uri;
Landroid/content/ContentProvider;->mContext:Landroid/content/Context;
Landroid/content/ContentProvider;->mPathPermissions:[Landroid/content/pm/PathPermission;
Landroid/content/ContentProvider;->mReadPermission:Ljava/lang/String;
@@ -664,75 +1214,155 @@
Landroid/content/ContentProviderClient;->mContentProvider:Landroid/content/IContentProvider;
Landroid/content/ContentProviderClient;->mPackageName:Ljava/lang/String;
Landroid/content/ContentProviderNative;->asInterface(Landroid/os/IBinder;)Landroid/content/IContentProvider;
+Landroid/content/ContentProviderOperation;->getType()I
Landroid/content/ContentProviderOperation;->mSelection:Ljava/lang/String;
Landroid/content/ContentProviderOperation;->mType:I
Landroid/content/ContentProviderOperation;->mUri:Landroid/net/Uri;
Landroid/content/ContentProviderOperation;->TYPE_DELETE:I
Landroid/content/ContentProviderOperation;->TYPE_INSERT:I
Landroid/content/ContentProviderOperation;->TYPE_UPDATE:I
+Landroid/content/ContentResolver$OpenResourceIdResult;->id:I
+Landroid/content/ContentResolver$OpenResourceIdResult;->r:Landroid/content/res/Resources;
Landroid/content/ContentResolver;->acquireExistingProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
+Landroid/content/ContentResolver;->acquireExistingProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
Landroid/content/ContentResolver;->acquireProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
Landroid/content/ContentResolver;->acquireProvider(Ljava/lang/String;)Landroid/content/IContentProvider;
Landroid/content/ContentResolver;->acquireUnstableProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
+Landroid/content/ContentResolver;->acquireUnstableProvider(Ljava/lang/String;)Landroid/content/IContentProvider;
Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
+Landroid/content/ContentResolver;->getPackageName()Ljava/lang/String;
+Landroid/content/ContentResolver;->getResourceId(Landroid/net/Uri;)Landroid/content/ContentResolver$OpenResourceIdResult;
Landroid/content/ContentResolver;->getSyncStatus(Landroid/accounts/Account;Ljava/lang/String;)Landroid/content/SyncStatusInfo;
+Landroid/content/ContentResolver;->getSyncStatusAsUser(Landroid/accounts/Account;Ljava/lang/String;I)Landroid/content/SyncStatusInfo;
Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
Landroid/content/ContentResolver;->mPackageName:Ljava/lang/String;
Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
+Landroid/content/ContentResolver;->sContentService:Landroid/content/IContentService;
+Landroid/content/ContentResolver;->SYNC_ERROR_SYNC_ALREADY_IN_PROGRESS:I
+Landroid/content/ContentResolver;->SYNC_OBSERVER_TYPE_STATUS:I
Landroid/content/ContentResolver;->takePersistableUriPermission(Ljava/lang/String;Landroid/net/Uri;I)V
Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
Landroid/content/ContentValues;-><init>(Ljava/util/HashMap;)V
Landroid/content/ContentValues;->mValues:Ljava/util/HashMap;
+Landroid/content/Context;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/Handler;Landroid/os/UserHandle;)Z
+Landroid/content/Context;->canStartActivityForResult()Z
+Landroid/content/Context;->checkPermission(Ljava/lang/String;IILandroid/os/IBinder;)I
+Landroid/content/Context;->COUNTRY_DETECTOR:Ljava/lang/String;
+Landroid/content/Context;->createApplicationContext(Landroid/content/pm/ApplicationInfo;I)Landroid/content/Context;
Landroid/content/Context;->getBasePackageName()Ljava/lang/String;
+Landroid/content/Context;->getDisplay()Landroid/view/Display;
Landroid/content/Context;->getSharedPrefsFile(Ljava/lang/String;)Ljava/io/File;
Landroid/content/Context;->getThemeResId()I
+Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;Ljava/lang/String;I)V
Landroid/content/Context;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;I)V
+Landroid/content/Context;->sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;ILandroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V
Landroid/content/Context;->sendOrderedBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;ILandroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V
Landroid/content/Context;->sendOrderedBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;ILandroid/os/Bundle;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V
+Landroid/content/Context;->startActivityAsUser(Landroid/content/Intent;Landroid/os/Bundle;Landroid/os/UserHandle;)V
+Landroid/content/Context;->startActivityForResult(Ljava/lang/String;Landroid/content/Intent;ILandroid/os/Bundle;)V
+Landroid/content/Context;->STATUS_BAR_SERVICE:Ljava/lang/String;
+Landroid/content/ContextWrapper;->getBasePackageName()Ljava/lang/String;
Landroid/content/ContextWrapper;->getDisplay()Landroid/view/Display;
Landroid/content/ContextWrapper;->mBase:Landroid/content/Context;
+Landroid/content/ContextWrapper;->registerReceiverAsUser(Landroid/content/BroadcastReceiver;Landroid/os/UserHandle;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
+Landroid/content/ContextWrapper;->startActivityAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
+Landroid/content/ContextWrapper;->startForegroundServiceAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)Landroid/content/ComponentName;
+Landroid/content/ContextWrapper;->startServiceAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)Landroid/content/ComponentName;
+Landroid/content/CursorEntityIterator;-><init>(Landroid/database/Cursor;)V
Landroid/content/CursorLoader;->mCancellationSignal:Landroid/os/CancellationSignal;
Landroid/content/CursorLoader;->mObserver:Landroid/content/Loader$ForceLoadContentObserver;
Landroid/content/IClipboard$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/content/IClipboard$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IClipboard;
+Landroid/content/IContentProvider;->bulkInsert(Ljava/lang/String;Landroid/net/Uri;[Landroid/content/ContentValues;)I
Landroid/content/IContentProvider;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
+Landroid/content/IContentProvider;->delete(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
+Landroid/content/IContentProvider;->descriptor:Ljava/lang/String;
+Landroid/content/IContentProvider;->insert(Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
+Landroid/content/IContentProvider;->update(Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
Landroid/content/IContentService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+Landroid/content/IContentService$Stub;-><init>()V
Landroid/content/IContentService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IContentService;
Landroid/content/IContentService;->cancelSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)V
+Landroid/content/IContentService;->getIsSyncable(Landroid/accounts/Account;Ljava/lang/String;)I
Landroid/content/IContentService;->getMasterSyncAutomatically()Z
+Landroid/content/IContentService;->getSyncAdapterTypes()[Landroid/content/SyncAdapterType;
+Landroid/content/IContentService;->isSyncActive(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)Z
Landroid/content/IContentService;->setMasterSyncAutomatically(Z)V
Landroid/content/IIntentReceiver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/content/IIntentReceiver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
Landroid/content/IIntentReceiver$Stub;-><init>()V
+Landroid/content/IIntentReceiver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IIntentReceiver;
Landroid/content/IIntentReceiver;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
+Landroid/content/IIntentSender$Stub;-><init>()V
+Landroid/content/IIntentSender$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IIntentSender;
Landroid/content/Intent;->ACTION_ALARM_CHANGED:Ljava/lang/String;
+Landroid/content/Intent;->ACTION_USER_SWITCHED:Ljava/lang/String;
+Landroid/content/Intent;->FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT:I
+Landroid/content/Intent;->getExtra(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
+Landroid/content/Intent;->isExcludingStopped()Z
Landroid/content/Intent;->mExtras:Landroid/os/Bundle;
+Landroid/content/Intent;->parseCommandArgs(Landroid/os/ShellCommand;Landroid/content/Intent$CommandOptionHandler;)Landroid/content/Intent;
Landroid/content/Intent;->prepareToLeaveProcess(Landroid/content/Context;)V
+Landroid/content/Intent;->printIntentArgsHelp(Ljava/io/PrintWriter;Ljava/lang/String;)V
Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/IBinder;)Landroid/content/Intent;
Landroid/content/Intent;->setAllowFds(Z)V
Landroid/content/Intent;->toInsecureString()Ljava/lang/String;
+Landroid/content/IntentFilter;->hasDataAuthority(Landroid/content/IntentFilter$AuthorityEntry;)Z
+Landroid/content/IntentFilter;->hasDataPath(Landroid/os/PatternMatcher;)Z
+Landroid/content/IntentFilter;->hasDataSchemeSpecificPart(Landroid/os/PatternMatcher;)Z
+Landroid/content/IntentFilter;->hasExactDataType(Ljava/lang/String;)Z
+Landroid/content/IntentFilter;->isVerified()Z
Landroid/content/IntentFilter;->mActions:Ljava/util/ArrayList;
+Landroid/content/IntentFilter;->mOrder:I
Landroid/content/IntentSender;-><init>(Landroid/content/IIntentSender;)V
+Landroid/content/IntentSender;->getTarget()Landroid/content/IIntentSender;
Landroid/content/IntentSender;->mTarget:Landroid/content/IIntentSender;
+Landroid/content/IOnPrimaryClipChangedListener$Stub;-><init>()V
+Landroid/content/IOnPrimaryClipChangedListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IOnPrimaryClipChangedListener;
Landroid/content/IRestrictionsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IRestrictionsManager;
Landroid/content/ISyncAdapter$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/content/ISyncAdapter$Stub$Proxy;->mRemote:Landroid/os/IBinder;
+Landroid/content/ISyncAdapter$Stub;-><init>()V
+Landroid/content/ISyncAdapter$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/ISyncAdapter;
+Landroid/content/ISyncAdapter;->cancelSync(Landroid/content/ISyncContext;)V
+Landroid/content/ISyncAdapter;->startSync(Landroid/content/ISyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;)V
Landroid/content/ISyncContext$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/content/ISyncContext$Stub$Proxy;->mRemote:Landroid/os/IBinder;
+Landroid/content/ISyncContext$Stub;-><init>()V
Landroid/content/ISyncContext$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/ISyncContext;
+Landroid/content/ISyncServiceAdapter$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/ISyncServiceAdapter;
+Landroid/content/ISyncServiceAdapter;->cancelSync(Landroid/content/ISyncContext;)V
+Landroid/content/ISyncServiceAdapter;->startSync(Landroid/content/ISyncContext;Landroid/os/Bundle;)V
Landroid/content/ISyncStatusObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/content/ISyncStatusObserver$Stub$Proxy;->mRemote:Landroid/os/IBinder;
+Landroid/content/ISyncStatusObserver$Stub;-><init>()V
+Landroid/content/ISyncStatusObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/ISyncStatusObserver;
+Landroid/content/ISyncStatusObserver;->onStatusChanged(I)V
+Landroid/content/om/IOverlayManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/om/IOverlayManager;
+Landroid/content/om/IOverlayManager;->getAllOverlays(I)Ljava/util/Map;
+Landroid/content/om/IOverlayManager;->getOverlayInfo(Ljava/lang/String;I)Landroid/content/om/OverlayInfo;
+Landroid/content/om/OverlayInfo;->isEnabled()Z
+Landroid/content/om/OverlayInfo;->packageName:Ljava/lang/String;
+Landroid/content/om/OverlayInfo;->state:I
+Landroid/content/om/OverlayInfo;->targetPackageName:Ljava/lang/String;
+Landroid/content/pm/ActivityInfo;->activityInfoConfigJavaToNative(I)I
Landroid/content/pm/ActivityInfo;->isResizeableMode(I)Z
Landroid/content/pm/ActivityInfo;->resizeMode:I
Landroid/content/pm/ActivityInfo;->supportsPictureInPicture()Z
+Landroid/content/pm/ApplicationInfo;->disableCompatibilityMode()V
Landroid/content/pm/ApplicationInfo;->enabledSetting:I
+Landroid/content/pm/ApplicationInfo;->fullBackupContent:I
Landroid/content/pm/ApplicationInfo;->getBaseResourcePath()Ljava/lang/String;
+Landroid/content/pm/ApplicationInfo;->getCodePath()Ljava/lang/String;
+Landroid/content/pm/ApplicationInfo;->hasRtlSupport()Z
Landroid/content/pm/ApplicationInfo;->installLocation:I
Landroid/content/pm/ApplicationInfo;->isForwardLocked()Z
+Landroid/content/pm/ApplicationInfo;->nativeLibraryRootDir:Ljava/lang/String;
Landroid/content/pm/ApplicationInfo;->primaryCpuAbi:Ljava/lang/String;
Landroid/content/pm/ApplicationInfo;->privateFlags:I
+Landroid/content/pm/ApplicationInfo;->PRIVATE_FLAG_PRIVILEGED:I
Landroid/content/pm/ApplicationInfo;->resourceDirs:[Ljava/lang/String;
Landroid/content/pm/ApplicationInfo;->scanPublicSourceDir:Ljava/lang/String;
Landroid/content/pm/ApplicationInfo;->scanSourceDir:Ljava/lang/String;
@@ -765,30 +1395,71 @@
Landroid/content/pm/IPackageInstallObserver2$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/content/pm/IPackageInstallObserver2$Stub$Proxy;->mRemote:Landroid/os/IBinder;
Landroid/content/pm/IPackageInstallObserver2$Stub;-><init>()V
+Landroid/content/pm/IPackageInstallObserver2$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageInstallObserver2;
Landroid/content/pm/IPackageInstallObserver2;->onPackageInstalled(Ljava/lang/String;ILjava/lang/String;Landroid/os/Bundle;)V
+Landroid/content/pm/IPackageInstallObserver2;->onUserActionRequired(Landroid/content/Intent;)V
Landroid/content/pm/IPackageManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/content/pm/IPackageManager$Stub$Proxy;->getInstalledPackages(II)Landroid/content/pm/ParceledListSlice;
+Landroid/content/pm/IPackageManager$Stub$Proxy;->getInstallLocation()I
Landroid/content/pm/IPackageManager$Stub$Proxy;->getPackageInfo(Ljava/lang/String;II)Landroid/content/pm/PackageInfo;
Landroid/content/pm/IPackageManager$Stub$Proxy;->getPackagesForUid(I)[Ljava/lang/String;
Landroid/content/pm/IPackageManager$Stub$Proxy;->getSystemSharedLibraryNames()[Ljava/lang/String;
+Landroid/content/pm/IPackageManager$Stub;-><init>()V
Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
Landroid/content/pm/IPackageManager;->addPermission(Landroid/content/pm/PermissionInfo;)Z
Landroid/content/pm/IPackageManager;->addPermissionAsync(Landroid/content/pm/PermissionInfo;)Z
+Landroid/content/pm/IPackageManager;->canonicalToCurrentPackageNames([Ljava/lang/String;)[Ljava/lang/String;
Landroid/content/pm/IPackageManager;->checkPermission(Ljava/lang/String;Ljava/lang/String;I)I
+Landroid/content/pm/IPackageManager;->checkSignatures(Ljava/lang/String;Ljava/lang/String;)I
+Landroid/content/pm/IPackageManager;->checkUidPermission(Ljava/lang/String;I)I
+Landroid/content/pm/IPackageManager;->checkUidSignatures(II)I
Landroid/content/pm/IPackageManager;->clearPackagePreferredActivities(Ljava/lang/String;)V
+Landroid/content/pm/IPackageManager;->currentToCanonicalPackageNames([Ljava/lang/String;)[Ljava/lang/String;
+Landroid/content/pm/IPackageManager;->deleteApplicationCacheFiles(Ljava/lang/String;Landroid/content/pm/IPackageDataObserver;)V
+Landroid/content/pm/IPackageManager;->enterSafeMode()V
+Landroid/content/pm/IPackageManager;->getApplicationEnabledSetting(Ljava/lang/String;I)I
+Landroid/content/pm/IPackageManager;->getBlockUninstallForUser(Ljava/lang/String;I)Z
Landroid/content/pm/IPackageManager;->getComponentEnabledSetting(Landroid/content/ComponentName;I)I
+Landroid/content/pm/IPackageManager;->getFlagsForUid(I)I
+Landroid/content/pm/IPackageManager;->getInstalledApplications(II)Landroid/content/pm/ParceledListSlice;
Landroid/content/pm/IPackageManager;->getInstalledPackages(II)Landroid/content/pm/ParceledListSlice;
Landroid/content/pm/IPackageManager;->getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String;
Landroid/content/pm/IPackageManager;->getInstallLocation()I
+Landroid/content/pm/IPackageManager;->getInstrumentationInfo(Landroid/content/ComponentName;I)Landroid/content/pm/InstrumentationInfo;
Landroid/content/pm/IPackageManager;->getLastChosenActivity(Landroid/content/Intent;Ljava/lang/String;I)Landroid/content/pm/ResolveInfo;
+Landroid/content/pm/IPackageManager;->getNameForUid(I)Ljava/lang/String;
Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
+Landroid/content/pm/IPackageManager;->getPackageUid(Ljava/lang/String;II)I
+Landroid/content/pm/IPackageManager;->getPermissionControllerPackageName()Ljava/lang/String;
+Landroid/content/pm/IPackageManager;->getPermissionGroupInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionGroupInfo;
+Landroid/content/pm/IPackageManager;->getPreferredActivities(Ljava/util/List;Ljava/util/List;Ljava/lang/String;)I
Landroid/content/pm/IPackageManager;->getProviderInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ProviderInfo;
Landroid/content/pm/IPackageManager;->getReceiverInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
Landroid/content/pm/IPackageManager;->getServiceInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ServiceInfo;
+Landroid/content/pm/IPackageManager;->getServicesSystemSharedLibraryPackageName()Ljava/lang/String;
+Landroid/content/pm/IPackageManager;->getSharedSystemSharedLibraryPackageName()Ljava/lang/String;
+Landroid/content/pm/IPackageManager;->getSystemSharedLibraryNames()[Ljava/lang/String;
+Landroid/content/pm/IPackageManager;->getUidForSharedUser(Ljava/lang/String;)I
+Landroid/content/pm/IPackageManager;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;I)V
+Landroid/content/pm/IPackageManager;->hasSystemUidErrors()Z
+Landroid/content/pm/IPackageManager;->isPackageAvailable(Ljava/lang/String;I)Z
+Landroid/content/pm/IPackageManager;->isProtectedBroadcast(Ljava/lang/String;)Z
+Landroid/content/pm/IPackageManager;->isSafeMode()Z
+Landroid/content/pm/IPackageManager;->isStorageLow()Z
+Landroid/content/pm/IPackageManager;->isUidPrivileged(I)Z
+Landroid/content/pm/IPackageManager;->queryInstrumentation(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+Landroid/content/pm/IPackageManager;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
+Landroid/content/pm/IPackageManager;->querySyncProviders(Ljava/util/List;Ljava/util/List;)V
+Landroid/content/pm/IPackageManager;->removePermission(Ljava/lang/String;)V
+Landroid/content/pm/IPackageManager;->replacePreferredActivity(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)V
+Landroid/content/pm/IPackageManager;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
Landroid/content/pm/IPackageManager;->setApplicationEnabledSetting(Ljava/lang/String;IIILjava/lang/String;)V
+Landroid/content/pm/IPackageManager;->setApplicationHiddenSettingAsUser(Ljava/lang/String;ZI)Z
Landroid/content/pm/IPackageManager;->setComponentEnabledSetting(Landroid/content/ComponentName;III)V
Landroid/content/pm/IPackageManager;->setInstallerPackageName(Ljava/lang/String;Ljava/lang/String;)V
Landroid/content/pm/IPackageManager;->setLastChosenActivity(Landroid/content/Intent;Ljava/lang/String;ILandroid/content/IntentFilter;ILandroid/content/ComponentName;)V
+Landroid/content/pm/IPackageManager;->setPackageStoppedState(Ljava/lang/String;ZI)V
+Landroid/content/pm/IPackageManager;->systemReady()V
Landroid/content/pm/IPackageMoveObserver$Stub;-><init>()V
Landroid/content/pm/IPackageMoveObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageMoveObserver;
Landroid/content/pm/IPackageStatsObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
@@ -801,7 +1472,10 @@
Landroid/content/pm/LauncherApps;->mPm:Landroid/content/pm/PackageManager;
Landroid/content/pm/LauncherApps;->mService:Landroid/content/pm/ILauncherApps;
Landroid/content/pm/LauncherApps;->startShortcut(Ljava/lang/String;Ljava/lang/String;Landroid/graphics/Rect;Landroid/os/Bundle;I)V
+Landroid/content/pm/PackageInfo;->coreApp:Z
Landroid/content/pm/PackageInfo;->INSTALL_LOCATION_UNSPECIFIED:I
+Landroid/content/pm/PackageInfo;->overlayTarget:Ljava/lang/String;
+Landroid/content/pm/PackageInstaller$Session;->addProgress(F)V
Landroid/content/pm/PackageInstaller$SessionInfo;-><init>()V
Landroid/content/pm/PackageInstaller$SessionInfo;->active:Z
Landroid/content/pm/PackageInstaller$SessionInfo;->appIcon:Landroid/graphics/Bitmap;
@@ -819,6 +1493,7 @@
Landroid/content/pm/PackageInstaller$SessionParams;->appPackageName:Ljava/lang/String;
Landroid/content/pm/PackageInstaller$SessionParams;->installFlags:I
Landroid/content/pm/PackageInstaller$SessionParams;->mode:I
+Landroid/content/pm/PackageInstaller$SessionParams;->originatingUid:I
Landroid/content/pm/PackageInstaller$SessionParams;->sizeBytes:J
Landroid/content/pm/PackageItemInfo;->setForceSafeLabels(Z)V
Landroid/content/pm/PackageManager;->addCrossProfileIntentFilter(Landroid/content/IntentFilter;III)V
@@ -830,6 +1505,7 @@
Landroid/content/pm/PackageManager;->deleteApplicationCacheFilesAsUser(Ljava/lang/String;ILandroid/content/pm/IPackageDataObserver;)V
Landroid/content/pm/PackageManager;->deletePackage(Ljava/lang/String;Landroid/content/pm/IPackageDeleteObserver;I)V
Landroid/content/pm/PackageManager;->deletePackageAsUser(Ljava/lang/String;Landroid/content/pm/IPackageDeleteObserver;II)V
+Landroid/content/pm/PackageManager;->deleteStatusToString(I)Ljava/lang/String;
Landroid/content/pm/PackageManager;->flushPackageRestrictionsAsUser(I)V
Landroid/content/pm/PackageManager;->freeStorage(JLandroid/content/IntentSender;)V
Landroid/content/pm/PackageManager;->freeStorage(Ljava/lang/String;JLandroid/content/IntentSender;)V
@@ -841,6 +1517,7 @@
Landroid/content/pm/PackageManager;->getKeySetByAlias(Ljava/lang/String;Ljava/lang/String;)Landroid/content/pm/KeySet;
Landroid/content/pm/PackageManager;->getMoveStatus(I)I
Landroid/content/pm/PackageManager;->getPackageCandidateVolumes(Landroid/content/pm/ApplicationInfo;)Ljava/util/List;
+Landroid/content/pm/PackageManager;->getPackageCurrentVolume(Landroid/content/pm/ApplicationInfo;)Landroid/os/storage/VolumeInfo;
Landroid/content/pm/PackageManager;->getPackageInfoAsUser(Ljava/lang/String;II)Landroid/content/pm/PackageInfo;
Landroid/content/pm/PackageManager;->getPackageSizeInfo(Ljava/lang/String;Landroid/content/pm/IPackageStatsObserver;)V
Landroid/content/pm/PackageManager;->getPackageSizeInfoAsUser(Ljava/lang/String;ILandroid/content/pm/IPackageStatsObserver;)V
@@ -852,6 +1529,9 @@
Landroid/content/pm/PackageManager;->getUserBadgeForDensity(Landroid/os/UserHandle;I)Landroid/graphics/drawable/Drawable;
Landroid/content/pm/PackageManager;->getUserBadgeForDensityNoBackground(Landroid/os/UserHandle;I)Landroid/graphics/drawable/Drawable;
Landroid/content/pm/PackageManager;->installExistingPackageAsUser(Ljava/lang/String;I)I
+Landroid/content/pm/PackageManager;->installStatusToString(I)Ljava/lang/String;
+Landroid/content/pm/PackageManager;->installStatusToString(ILjava/lang/String;)Ljava/lang/String;
+Landroid/content/pm/PackageManager;->INSTALL_REPLACE_EXISTING:I
Landroid/content/pm/PackageManager;->isPackageAvailable(Ljava/lang/String;)Z
Landroid/content/pm/PackageManager;->isPackageSuspendedForUser(Ljava/lang/String;I)Z
Landroid/content/pm/PackageManager;->isSignedBy(Ljava/lang/String;Landroid/content/pm/KeySet;)Z
@@ -860,6 +1540,8 @@
Landroid/content/pm/PackageManager;->loadItemIcon(Landroid/content/pm/PackageItemInfo;Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
Landroid/content/pm/PackageManager;->loadUnbadgedItemIcon(Landroid/content/pm/PackageItemInfo;Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
Landroid/content/pm/PackageManager;->movePackage(Ljava/lang/String;Landroid/os/storage/VolumeInfo;)I
+Landroid/content/pm/PackageManager;->MOVE_EXTERNAL_MEDIA:I
+Landroid/content/pm/PackageManager;->MOVE_INTERNAL:I
Landroid/content/pm/PackageManager;->NO_NATIVE_LIBRARIES:I
Landroid/content/pm/PackageManager;->queryBroadcastReceivers(Landroid/content/Intent;II)Ljava/util/List;
Landroid/content/pm/PackageManager;->queryBroadcastReceiversAsUser(Landroid/content/Intent;II)Ljava/util/List;
@@ -880,6 +1562,7 @@
Landroid/content/pm/PackageParser$Component;->getComponentName()Landroid/content/ComponentName;
Landroid/content/pm/PackageParser$Component;->intents:Ljava/util/ArrayList;
Landroid/content/pm/PackageParser$Component;->metaData:Landroid/os/Bundle;
+Landroid/content/pm/PackageParser$Component;->owner:Landroid/content/pm/PackageParser$Package;
Landroid/content/pm/PackageParser$Instrumentation;->info:Landroid/content/pm/InstrumentationInfo;
Landroid/content/pm/PackageParser$IntentInfo;-><init>()V
Landroid/content/pm/PackageParser$IntentInfo;->banner:I
@@ -888,12 +1571,16 @@
Landroid/content/pm/PackageParser$IntentInfo;->labelRes:I
Landroid/content/pm/PackageParser$IntentInfo;->logo:I
Landroid/content/pm/PackageParser$IntentInfo;->nonLocalizedLabel:Ljava/lang/CharSequence;
+Landroid/content/pm/PackageParser$NewPermissionInfo;->name:Ljava/lang/String;
+Landroid/content/pm/PackageParser$NewPermissionInfo;->sdkVersion:I
Landroid/content/pm/PackageParser$Package;-><init>(Ljava/lang/String;)V
Landroid/content/pm/PackageParser$Package;->activities:Ljava/util/ArrayList;
Landroid/content/pm/PackageParser$Package;->applicationInfo:Landroid/content/pm/ApplicationInfo;
Landroid/content/pm/PackageParser$Package;->configPreferences:Ljava/util/ArrayList;
+Landroid/content/pm/PackageParser$Package;->installLocation:I
Landroid/content/pm/PackageParser$Package;->instrumentation:Ljava/util/ArrayList;
Landroid/content/pm/PackageParser$Package;->mAppMetaData:Landroid/os/Bundle;
+Landroid/content/pm/PackageParser$Package;->mExtras:Ljava/lang/Object;
Landroid/content/pm/PackageParser$Package;->mKeySetMapping:Landroid/util/ArrayMap;
Landroid/content/pm/PackageParser$Package;->mPreferredOrder:I
Landroid/content/pm/PackageParser$Package;->mSharedUserId:Ljava/lang/String;
@@ -904,14 +1591,26 @@
Landroid/content/pm/PackageParser$Package;->packageName:Ljava/lang/String;
Landroid/content/pm/PackageParser$Package;->permissionGroups:Ljava/util/ArrayList;
Landroid/content/pm/PackageParser$Package;->permissions:Ljava/util/ArrayList;
+Landroid/content/pm/PackageParser$Package;->protectedBroadcasts:Ljava/util/ArrayList;
Landroid/content/pm/PackageParser$Package;->providers:Ljava/util/ArrayList;
Landroid/content/pm/PackageParser$Package;->receivers:Ljava/util/ArrayList;
Landroid/content/pm/PackageParser$Package;->reqFeatures:Ljava/util/ArrayList;
Landroid/content/pm/PackageParser$Package;->requestedPermissions:Ljava/util/ArrayList;
Landroid/content/pm/PackageParser$Package;->services:Ljava/util/ArrayList;
+Landroid/content/pm/PackageParser$Package;->setPackageName(Ljava/lang/String;)V
Landroid/content/pm/PackageParser$Package;->usesLibraries:Ljava/util/ArrayList;
+Landroid/content/pm/PackageParser$Package;->usesLibraryFiles:[Ljava/lang/String;
Landroid/content/pm/PackageParser$Package;->usesOptionalLibraries:Ljava/util/ArrayList;
+Landroid/content/pm/PackageParser$PackageLite;->installLocation:I
+Landroid/content/pm/PackageParser$PackageLite;->packageName:Ljava/lang/String;
+Landroid/content/pm/PackageParser$Permission;-><init>(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PermissionInfo;)V
+Landroid/content/pm/PackageParser$Permission;->group:Landroid/content/pm/PackageParser$PermissionGroup;
+Landroid/content/pm/PackageParser$Permission;->info:Landroid/content/pm/PermissionInfo;
+Landroid/content/pm/PackageParser$Permission;->tree:Z
+Landroid/content/pm/PackageParser$PermissionGroup;->info:Landroid/content/pm/PermissionGroupInfo;
+Landroid/content/pm/PackageParser$Provider;-><init>(Landroid/content/pm/PackageParser$Provider;)V
Landroid/content/pm/PackageParser$Provider;->info:Landroid/content/pm/ProviderInfo;
+Landroid/content/pm/PackageParser$Provider;->syncable:Z
Landroid/content/pm/PackageParser$ProviderIntentInfo;->provider:Landroid/content/pm/PackageParser$Provider;
Landroid/content/pm/PackageParser$Service;->info:Landroid/content/pm/ServiceInfo;
Landroid/content/pm/PackageParser$ServiceIntentInfo;->service:Landroid/content/pm/PackageParser$Service;
@@ -928,36 +1627,76 @@
Landroid/content/pm/PackageParser;->generatePermissionInfo(Landroid/content/pm/PackageParser$Permission;I)Landroid/content/pm/PermissionInfo;
Landroid/content/pm/PackageParser;->generateProviderInfo(Landroid/content/pm/PackageParser$Provider;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ProviderInfo;
Landroid/content/pm/PackageParser;->generateServiceInfo(Landroid/content/pm/PackageParser$Service;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ServiceInfo;
+Landroid/content/pm/PackageParser;->mCallback:Landroid/content/pm/PackageParser$Callback;
+Landroid/content/pm/PackageParser;->NEW_PERMISSIONS:[Landroid/content/pm/PackageParser$NewPermissionInfo;
Landroid/content/pm/PackageParser;->parseBaseApk(Ljava/lang/String;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;
Landroid/content/pm/PackageParser;->parseMonolithicPackage(Ljava/io/File;I)Landroid/content/pm/PackageParser$Package;
Landroid/content/pm/PackageParser;->parsePackage(Ljava/io/File;I)Landroid/content/pm/PackageParser$Package;
Landroid/content/pm/PackageParser;->parsePackage(Ljava/io/File;IZ)Landroid/content/pm/PackageParser$Package;
+Landroid/content/pm/PackageParser;->parsePackageLite(Ljava/io/File;I)Landroid/content/pm/PackageParser$PackageLite;
+Landroid/content/pm/PackageParser;->setCompatibilityModeEnabled(Z)V
+Landroid/content/pm/PackageParser;->setSeparateProcesses([Ljava/lang/String;)V
Landroid/content/pm/PackageUserState;-><init>()V
Landroid/content/pm/ParceledListSlice;-><init>(Ljava/util/List;)V
+Landroid/content/pm/PermissionInfo;->protectionToString(I)Ljava/lang/String;
+Landroid/content/pm/RegisteredServicesCache$ServiceInfo;->componentName:Landroid/content/ComponentName;
+Landroid/content/pm/RegisteredServicesCache$ServiceInfo;->type:Ljava/lang/Object;
+Landroid/content/pm/RegisteredServicesCache$ServiceInfo;->uid:I
+Landroid/content/pm/RegisteredServicesCache;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/content/pm/XmlSerializerAndParser;)V
+Landroid/content/pm/ResolveInfo;->getComponentInfo()Landroid/content/pm/ComponentInfo;
+Landroid/content/pm/ResolveInfo;->handleAllWebDataURI:Z
+Landroid/content/pm/ResolveInfo;->system:Z
+Landroid/content/pm/ResolveInfo;->targetUserId:I
Landroid/content/pm/ShortcutInfo;->getIcon()Landroid/graphics/drawable/Icon;
Landroid/content/pm/ShortcutManager;->mService:Landroid/content/pm/IShortcutService;
Landroid/content/pm/Signature;->getPublicKey()Ljava/security/PublicKey;
Landroid/content/pm/UserInfo;-><init>(ILjava/lang/String;I)V
+Landroid/content/pm/UserInfo;-><init>(ILjava/lang/String;Ljava/lang/String;I)V
+Landroid/content/pm/UserInfo;->creationTime:J
+Landroid/content/pm/UserInfo;->CREATOR:Landroid/os/Parcelable$Creator;
+Landroid/content/pm/UserInfo;->flags:I
Landroid/content/pm/UserInfo;->FLAG_PRIMARY:I
Landroid/content/pm/UserInfo;->getUserHandle()Landroid/os/UserHandle;
+Landroid/content/pm/UserInfo;->guestToRemove:Z
+Landroid/content/pm/UserInfo;->iconPath:Ljava/lang/String;
Landroid/content/pm/UserInfo;->id:I
+Landroid/content/pm/UserInfo;->isAdmin()Z
+Landroid/content/pm/UserInfo;->isEnabled()Z
+Landroid/content/pm/UserInfo;->isGuest()Z
+Landroid/content/pm/UserInfo;->isManagedProfile()Z
Landroid/content/pm/UserInfo;->isPrimary()Z
+Landroid/content/pm/UserInfo;->isRestricted()Z
+Landroid/content/pm/UserInfo;->lastLoggedInTime:J
+Landroid/content/pm/UserInfo;->name:Ljava/lang/String;
+Landroid/content/pm/UserInfo;->partial:Z
+Landroid/content/pm/UserInfo;->profileGroupId:I
Landroid/content/pm/UserInfo;->serialNumber:I
+Landroid/content/pm/VerifierInfo;-><init>(Ljava/lang/String;Ljava/security/PublicKey;)V
+Landroid/content/pm/XmlSerializerAndParser;->createFromXml(Lorg/xmlpull/v1/XmlPullParser;)Ljava/lang/Object;
+Landroid/content/pm/XmlSerializerAndParser;->writeAsXml(Ljava/lang/Object;Lorg/xmlpull/v1/XmlSerializer;)V
Landroid/content/res/AssetFileDescriptor;->mFd:Landroid/os/ParcelFileDescriptor;
Landroid/content/res/AssetFileDescriptor;->mLength:J
Landroid/content/res/AssetFileDescriptor;->mStartOffset:J
+Landroid/content/res/AssetManager$AssetInputStream;->getAssetInt()I
+Landroid/content/res/AssetManager$AssetInputStream;->getNativeAsset()J
Landroid/content/res/AssetManager;-><init>()V
Landroid/content/res/AssetManager;->addAssetPath(Ljava/lang/String;)I
Landroid/content/res/AssetManager;->addAssetPathAsSharedLibrary(Ljava/lang/String;)I
+Landroid/content/res/AssetManager;->addOverlayPath(Ljava/lang/String;)I
Landroid/content/res/AssetManager;->applyStyle(JIILandroid/content/res/XmlBlock$Parser;[IJJ)V
Landroid/content/res/AssetManager;->createTheme()J
Landroid/content/res/AssetManager;->getAssignedPackageIdentifiers()Landroid/util/SparseArray;
+Landroid/content/res/AssetManager;->getGlobalAssetCount()I
+Landroid/content/res/AssetManager;->getGlobalAssetManagerCount()I
Landroid/content/res/AssetManager;->getResourceBagText(II)Ljava/lang/CharSequence;
Landroid/content/res/AssetManager;->getResourceEntryName(I)Ljava/lang/String;
Landroid/content/res/AssetManager;->getResourceIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
Landroid/content/res/AssetManager;->getResourceName(I)Ljava/lang/String;
Landroid/content/res/AssetManager;->getResourcePackageName(I)Ljava/lang/String;
+Landroid/content/res/AssetManager;->getResourceText(I)Ljava/lang/CharSequence;
Landroid/content/res/AssetManager;->getResourceTypeName(I)Ljava/lang/String;
+Landroid/content/res/AssetManager;->getResourceValue(IILandroid/util/TypedValue;Z)Z
+Landroid/content/res/AssetManager;->getSystem()Landroid/content/res/AssetManager;
Landroid/content/res/AssetManager;->isUpToDate()Z
Landroid/content/res/AssetManager;->mObject:J
Landroid/content/res/AssetManager;->openNonAsset(ILjava/lang/String;)Ljava/io/InputStream;
@@ -967,22 +1706,53 @@
Landroid/content/res/AssetManager;->resolveAttrs(JII[I[I[I[I)Z
Landroid/content/res/AssetManager;->retrieveAttributes(Landroid/content/res/XmlBlock$Parser;[I[I[I)Z
Landroid/content/res/AssetManager;->setConfiguration(IILjava/lang/String;IIIIIIIIIIIIIII)V
+Landroid/content/res/AssetManager;->sSystem:Landroid/content/res/AssetManager;
Landroid/content/res/ColorStateList$ColorStateListFactory;-><init>(Landroid/content/res/ColorStateList;)V
+Landroid/content/res/ColorStateList;->canApplyTheme()Z
Landroid/content/res/ColorStateList;->getColors()[I
+Landroid/content/res/ColorStateList;->getStates()[[I
Landroid/content/res/ColorStateList;->mColors:[I
Landroid/content/res/ColorStateList;->mDefaultColor:I
Landroid/content/res/ColorStateList;->mFactory:Landroid/content/res/ColorStateList$ColorStateListFactory;
Landroid/content/res/ColorStateList;->mStateSpecs:[[I
+Landroid/content/res/ColorStateList;->obtainForTheme(Landroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList;
Landroid/content/res/ColorStateList;->onColorsChanged()V
+Landroid/content/res/CompatibilityInfo$Translator;->applicationInvertedScale:F
+Landroid/content/res/CompatibilityInfo$Translator;->applicationScale:F
+Landroid/content/res/CompatibilityInfo$Translator;->getTranslatedContentInsets(Landroid/graphics/Rect;)Landroid/graphics/Rect;
+Landroid/content/res/CompatibilityInfo$Translator;->translateCanvas(Landroid/graphics/Canvas;)V
+Landroid/content/res/CompatibilityInfo$Translator;->translateEventInScreenToAppWindow(Landroid/view/MotionEvent;)V
+Landroid/content/res/CompatibilityInfo$Translator;->translateRectInAppWindowToScreen(Landroid/graphics/Rect;)V
+Landroid/content/res/CompatibilityInfo$Translator;->translateRectInScreenToAppWindow(Landroid/graphics/Rect;)V
+Landroid/content/res/CompatibilityInfo$Translator;->translateRectInScreenToAppWinFrame(Landroid/graphics/Rect;)V
+Landroid/content/res/CompatibilityInfo$Translator;->translateRegionInWindowToScreen(Landroid/graphics/Region;)V
+Landroid/content/res/CompatibilityInfo$Translator;->translateWindowLayout(Landroid/view/WindowManager$LayoutParams;)V
Landroid/content/res/CompatibilityInfo;-><init>(Landroid/content/pm/ApplicationInfo;IIZ)V
Landroid/content/res/CompatibilityInfo;->applicationScale:F
+Landroid/content/res/CompatibilityInfo;->computeCompatibleScaling(Landroid/util/DisplayMetrics;Landroid/util/DisplayMetrics;)F
+Landroid/content/res/CompatibilityInfo;->CREATOR:Landroid/os/Parcelable$Creator;
Landroid/content/res/CompatibilityInfo;->DEFAULT_COMPATIBILITY_INFO:Landroid/content/res/CompatibilityInfo;
+Landroid/content/res/CompatibilityInfo;->getTranslator()Landroid/content/res/CompatibilityInfo$Translator;
+Landroid/content/res/CompatibilityInfo;->isScalingRequired()Z
+Landroid/content/res/CompatibilityInfo;->supportsScreen()Z
+Landroid/content/res/Configuration;->generateDelta(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)Landroid/content/res/Configuration;
+Landroid/content/res/Configuration;->makeDefault()V
+Landroid/content/res/Configuration;->resourceQualifierString(Landroid/content/res/Configuration;)Ljava/lang/String;
+Landroid/content/res/Configuration;->seq:I
+Landroid/content/res/Configuration;->userSetLocale:Z
Landroid/content/res/DrawableCache;-><init>()V
Landroid/content/res/DrawableCache;->getInstance(JLandroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
Landroid/content/res/ObbInfo;->salt:[B
Landroid/content/res/Resources$Theme;->mThemeImpl:Landroid/content/res/ResourcesImpl$ThemeImpl;
+Landroid/content/res/Resources$Theme;->resolveAttributes([I[I)Landroid/content/res/TypedArray;
+Landroid/content/res/Resources;-><init>(Ljava/lang/ClassLoader;)V
Landroid/content/res/Resources;->getCompatibilityInfo()Landroid/content/res/CompatibilityInfo;
Landroid/content/res/Resources;->getDisplayAdjustments()Landroid/view/DisplayAdjustments;
+Landroid/content/res/Resources;->getDrawableInflater()Landroid/graphics/drawable/DrawableInflater;
+Landroid/content/res/Resources;->getFloat(I)F
+Landroid/content/res/Resources;->getImpl()Landroid/content/res/ResourcesImpl;
+Landroid/content/res/Resources;->getPreloadedDrawables()Landroid/util/LongSparseArray;
+Landroid/content/res/Resources;->loadDrawable(Landroid/util/TypedValue;IILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
Landroid/content/res/Resources;->loadXmlResourceParser(ILjava/lang/String;)Landroid/content/res/XmlResourceParser;
Landroid/content/res/Resources;->loadXmlResourceParser(Ljava/lang/String;IILjava/lang/String;)Landroid/content/res/XmlResourceParser;
Landroid/content/res/Resources;->mClassLoader:Ljava/lang/ClassLoader;
@@ -993,7 +1763,9 @@
Landroid/content/res/Resources;->mTypedArrayPool:Landroid/util/Pools$SynchronizedPool;
Landroid/content/res/Resources;->selectDefaultTheme(II)I
Landroid/content/res/Resources;->setCompatibilityInfo(Landroid/content/res/CompatibilityInfo;)V
+Landroid/content/res/Resources;->setImpl(Landroid/content/res/ResourcesImpl;)V
Landroid/content/res/Resources;->updateSystemConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;)V
+Landroid/content/res/ResourcesImpl;-><init>(Landroid/content/res/AssetManager;Landroid/util/DisplayMetrics;Landroid/content/res/Configuration;Landroid/view/DisplayAdjustments;)V
Landroid/content/res/ResourcesImpl;->getAssets()Landroid/content/res/AssetManager;
Landroid/content/res/ResourcesImpl;->getValue(ILandroid/util/TypedValue;Z)V
Landroid/content/res/ResourcesImpl;->mAccessLock:Ljava/lang/Object;
@@ -1010,10 +1782,13 @@
Landroid/content/res/ResourcesImpl;->TRACE_FOR_MISS_PRELOAD:Z
Landroid/content/res/ResourcesImpl;->TRACE_FOR_PRELOAD:Z
Landroid/content/res/ResourcesKey;-><init>(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)V
+Landroid/content/res/ResourcesKey;->mResDir:Ljava/lang/String;
Landroid/content/res/ResourcesKey;->mSplitResDirs:[Ljava/lang/String;
Landroid/content/res/StringBlock;-><init>(JZ)V
+Landroid/content/res/StringBlock;->get(I)Ljava/lang/CharSequence;
Landroid/content/res/ThemedResourceCache;->onConfigurationChange(I)V
Landroid/content/res/TypedArray;->extractThemeAttrs()[I
+Landroid/content/res/TypedArray;->extractThemeAttrs([I)[I
Landroid/content/res/TypedArray;->getNonConfigurationString(II)Ljava/lang/String;
Landroid/content/res/TypedArray;->getValueAt(ILandroid/util/TypedValue;)Z
Landroid/content/res/TypedArray;->mAssets:Landroid/content/res/AssetManager;
@@ -1032,20 +1807,26 @@
Landroid/content/res/XmlBlock;->newParser()Landroid/content/res/XmlResourceParser;
Landroid/content/RestrictionsManager;->mService:Landroid/content/IRestrictionsManager;
Landroid/content/SearchRecentSuggestionsProvider;->mSuggestionProjection:[Ljava/lang/String;
+Landroid/content/SyncAdaptersCache;-><init>(Landroid/content/Context;)V
Landroid/content/SyncAdapterType;->allowParallelSyncs:Z
Landroid/content/SyncAdapterType;->isAlwaysSyncable:Z
Landroid/content/SyncAdapterType;->settingsActivity:Ljava/lang/String;
+Landroid/content/SyncContext;-><init>(Landroid/content/ISyncContext;)V
Landroid/content/SyncContext;->setStatusText(Ljava/lang/String;)V
Landroid/content/SyncInfo;-><init>(ILandroid/accounts/Account;Ljava/lang/String;J)V
+Landroid/content/SyncInfo;->authorityId:I
Landroid/content/SyncRequest;->mAccountToSync:Landroid/accounts/Account;
Landroid/content/SyncRequest;->mAuthority:Ljava/lang/String;
Landroid/content/SyncRequest;->mExtras:Landroid/os/Bundle;
Landroid/content/SyncRequest;->mIsPeriodic:Z
Landroid/content/SyncRequest;->mSyncRunTimeSecs:J
+Landroid/content/SyncStatusInfo;-><init>(I)V
Landroid/content/SyncStatusInfo;-><init>(Landroid/os/Parcel;)V
Landroid/content/SyncStatusInfo;->authorityId:I
Landroid/content/SyncStatusInfo;->CREATOR:Landroid/os/Parcelable$Creator;
Landroid/content/SyncStatusInfo;->ensurePeriodicSyncTimeSize(I)V
+Landroid/content/SyncStatusInfo;->getLastFailureMesgAsInt(I)I
+Landroid/content/SyncStatusInfo;->getPeriodicSyncTime(I)J
Landroid/content/SyncStatusInfo;->initialFailureTime:J
Landroid/content/SyncStatusInfo;->initialize:Z
Landroid/content/SyncStatusInfo;->lastFailureMesg:Ljava/lang/String;
@@ -1055,34 +1836,149 @@
Landroid/content/SyncStatusInfo;->lastSuccessTime:J
Landroid/content/SyncStatusInfo;->pending:Z
Landroid/content/SyncStatusInfo;->periodicSyncTimes:Ljava/util/ArrayList;
+Landroid/content/SyncStatusInfo;->removePeriodicSyncTime(I)V
+Landroid/content/SyncStatusInfo;->setPeriodicSyncTime(IJ)V
+Landroid/content/UndoManager;-><init>()V
+Landroid/content/UndoManager;->addOperation(Landroid/content/UndoOperation;I)V
+Landroid/content/UndoManager;->beginUpdate(Ljava/lang/CharSequence;)V
+Landroid/content/UndoManager;->commitState(Landroid/content/UndoOwner;)I
+Landroid/content/UndoManager;->countRedos([Landroid/content/UndoOwner;)I
+Landroid/content/UndoManager;->countUndos([Landroid/content/UndoOwner;)I
+Landroid/content/UndoManager;->endUpdate()V
+Landroid/content/UndoManager;->forgetRedos([Landroid/content/UndoOwner;I)I
+Landroid/content/UndoManager;->forgetUndos([Landroid/content/UndoOwner;I)I
+Landroid/content/UndoManager;->getLastOperation(Ljava/lang/Class;Landroid/content/UndoOwner;I)Landroid/content/UndoOperation;
+Landroid/content/UndoManager;->getOwner(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/UndoOwner;
+Landroid/content/UndoManager;->isInUndo()Z
+Landroid/content/UndoManager;->redo([Landroid/content/UndoOwner;I)I
+Landroid/content/UndoManager;->restoreInstanceState(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V
+Landroid/content/UndoManager;->saveInstanceState(Landroid/os/Parcel;)V
+Landroid/content/UndoManager;->setUndoLabel(Ljava/lang/CharSequence;)V
+Landroid/content/UndoManager;->undo([Landroid/content/UndoOwner;I)I
+Landroid/content/UndoOperation;-><init>(Landroid/content/UndoOwner;)V
+Landroid/content/UndoOperation;-><init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V
Landroid/content/UriMatcher;->mChildren:Ljava/util/ArrayList;
Landroid/content/UriMatcher;->mText:Ljava/lang/String;
Landroid/database/AbstractCursor;->mExtras:Landroid/os/Bundle;
Landroid/database/AbstractCursor;->mNotifyUri:Landroid/net/Uri;
Landroid/database/AbstractWindowedCursor;->clearOrCreateWindow(Ljava/lang/String;)V
Landroid/database/AbstractWindowedCursor;->closeWindow()V
+Landroid/database/AbstractWindowedCursor;->onDeactivateOrClose()V
+Landroid/database/ContentObserver;->releaseContentObserver()Landroid/database/IContentObserver;
Landroid/database/CursorWindow;->mWindowPtr:J
+Landroid/database/CursorWindow;->printStats()Ljava/lang/String;
Landroid/database/CursorWindow;->sCursorWindowSize:I
Landroid/database/CursorWindow;->sWindowToPidMap:Landroid/util/LongSparseArray;
Landroid/database/CursorWrapper;->mCursor:Landroid/database/Cursor;
+Landroid/database/DatabaseUtils;->cursorPickFillWindowStartPosition(II)I
+Landroid/database/DatabaseUtils;->getTypeOfObject(Ljava/lang/Object;)I
+Landroid/database/IContentObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/database/IContentObserver;
+Landroid/database/IContentObserver;->onChange(ZLandroid/net/Uri;I)V
+Landroid/database/MatrixCursor;->data:[Ljava/lang/Object;
Landroid/database/MatrixCursor;->get(I)Ljava/lang/Object;
+Landroid/database/MatrixCursor;->rowCount:I
+Landroid/database/sqlite/DatabaseObjectNotClosedException;-><init>()V
+Landroid/database/sqlite/SQLiteClosable;->mReferenceCount:I
+Landroid/database/sqlite/SQLiteCursor;->fillWindow(I)V
+Landroid/database/sqlite/SQLiteCursor;->mEditTable:Ljava/lang/String;
+Landroid/database/sqlite/SQLiteCursor;->mQuery:Landroid/database/sqlite/SQLiteQuery;
Landroid/database/sqlite/SQLiteCustomFunction;->dispatchCallback([Ljava/lang/String;)V
Landroid/database/sqlite/SQLiteCustomFunction;->name:Ljava/lang/String;
Landroid/database/sqlite/SQLiteCustomFunction;->numArgs:I
+Landroid/database/sqlite/SQLiteDatabase;->beginTransaction(Landroid/database/sqlite/SQLiteTransactionListener;Z)V
+Landroid/database/sqlite/SQLiteDatabase;->collectDbStats(Ljava/util/ArrayList;)V
Landroid/database/sqlite/SQLiteDatabase;->CONFLICT_VALUES:[Ljava/lang/String;
+Landroid/database/sqlite/SQLiteDatabase;->getActiveDatabases()Ljava/util/ArrayList;
Landroid/database/sqlite/SQLiteDatabase;->getThreadSession()Landroid/database/sqlite/SQLiteSession;
Landroid/database/sqlite/SQLiteDatabase;->mConfigurationLocked:Landroid/database/sqlite/SQLiteDatabaseConfiguration;
Landroid/database/sqlite/SQLiteDatabase;->mConnectionPoolLocked:Landroid/database/sqlite/SQLiteConnectionPool;
+Landroid/database/sqlite/SQLiteDatabase;->mThreadSession:Ljava/lang/ThreadLocal;
+Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Landroid/database/sqlite/SQLiteDatabase;
Landroid/database/sqlite/SQLiteDatabase;->reopenReadWrite()V
Landroid/database/sqlite/SQLiteDatabaseConfiguration;->maxSqlCacheSize:I
Landroid/database/sqlite/SQLiteDebug$PagerStats;->largestMemAlloc:I
Landroid/database/sqlite/SQLiteDebug$PagerStats;->memoryUsed:I
Landroid/database/sqlite/SQLiteDebug$PagerStats;->pageCacheOverflow:I
Landroid/database/sqlite/SQLiteOpenHelper;->mName:Ljava/lang/String;
+Landroid/database/sqlite/SQLiteProgram;->mBindArgs:[Ljava/lang/Object;
+Landroid/database/sqlite/SQLiteProgram;->mSql:Ljava/lang/String;
+Landroid/database/sqlite/SQLiteQueryBuilder;->computeProjection([Ljava/lang/String;)[Ljava/lang/String;
+Landroid/database/sqlite/SQLiteQueryBuilder;->mDistinct:Z
+Landroid/database/sqlite/SQLiteQueryBuilder;->mTables:Ljava/lang/String;
+Landroid/database/sqlite/SQLiteQueryBuilder;->mWhereClause:Ljava/lang/StringBuilder;
Landroid/database/sqlite/SQLiteSession;->beginTransaction(ILandroid/database/sqlite/SQLiteTransactionListener;ILandroid/os/CancellationSignal;)V
Landroid/database/sqlite/SQLiteStatement;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/Object;)V
+Landroid/database/sqlite/SqliteWrapper;->checkSQLiteException(Landroid/content/Context;Landroid/database/sqlite/SQLiteException;)V
+Landroid/database/sqlite/SqliteWrapper;->delete(Landroid/content/Context;Landroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
+Landroid/database/sqlite/SqliteWrapper;->update(Landroid/content/Context;Landroid/content/ContentResolver;Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
Landroid/ddm/DdmHandleAppName;->getAppName()Ljava/lang/String;
Landroid/ddm/DdmHandleAppName;->setAppName(Ljava/lang/String;I)V
+Landroid/filterfw/core/Filter;-><init>(Ljava/lang/String;)V
+Landroid/filterfw/core/Filter;->isAvailable(Ljava/lang/String;)Z
+Landroid/filterfw/core/Filter;->setInputValue(Ljava/lang/String;Ljava/lang/Object;)V
+Landroid/filterfw/core/FilterContext;->getFrameManager()Landroid/filterfw/core/FrameManager;
+Landroid/filterfw/core/FilterContext;->getGLEnvironment()Landroid/filterfw/core/GLEnvironment;
+Landroid/filterfw/core/FilterGraph;->getFilter(Ljava/lang/String;)Landroid/filterfw/core/Filter;
+Landroid/filterfw/core/FilterGraph;->tearDown(Landroid/filterfw/core/FilterContext;)V
+Landroid/filterfw/core/Frame;->getBitmap()Landroid/graphics/Bitmap;
+Landroid/filterfw/core/Frame;->getFormat()Landroid/filterfw/core/FrameFormat;
+Landroid/filterfw/core/Frame;->getTimestamp()J
+Landroid/filterfw/core/Frame;->release()Landroid/filterfw/core/Frame;
+Landroid/filterfw/core/Frame;->setInts([I)V
+Landroid/filterfw/core/Frame;->setTimestamp(J)V
+Landroid/filterfw/core/FrameFormat;->getHeight()I
+Landroid/filterfw/core/FrameFormat;->getTarget()I
+Landroid/filterfw/core/FrameFormat;->getWidth()I
+Landroid/filterfw/core/FrameFormat;->mutableCopy()Landroid/filterfw/core/MutableFrameFormat;
+Landroid/filterfw/core/FrameManager;->duplicateFrame(Landroid/filterfw/core/Frame;)Landroid/filterfw/core/Frame;
+Landroid/filterfw/core/FrameManager;->newBoundFrame(Landroid/filterfw/core/FrameFormat;IJ)Landroid/filterfw/core/Frame;
+Landroid/filterfw/core/FrameManager;->newFrame(Landroid/filterfw/core/FrameFormat;)Landroid/filterfw/core/Frame;
+Landroid/filterfw/core/GLEnvironment;->activate()V
+Landroid/filterfw/core/GLEnvironment;->activateSurfaceWithId(I)V
+Landroid/filterfw/core/GLEnvironment;->deactivate()V
+Landroid/filterfw/core/GLEnvironment;->isActive()Z
+Landroid/filterfw/core/GLEnvironment;->registerSurfaceFromMediaRecorder(Landroid/media/MediaRecorder;)I
+Landroid/filterfw/core/GLEnvironment;->setSurfaceTimestamp(J)V
+Landroid/filterfw/core/GLEnvironment;->swapBuffers()V
+Landroid/filterfw/core/GLEnvironment;->unregisterSurfaceId(I)V
+Landroid/filterfw/core/GLFrame;->generateMipMap()V
+Landroid/filterfw/core/GLFrame;->getTextureId()I
+Landroid/filterfw/core/GLFrame;->setBitmap(Landroid/graphics/Bitmap;)V
+Landroid/filterfw/core/GLFrame;->setTextureParameter(II)V
+Landroid/filterfw/core/GraphRunner;->getError()Ljava/lang/Exception;
+Landroid/filterfw/core/GraphRunner;->getGraph()Landroid/filterfw/core/FilterGraph;
+Landroid/filterfw/core/GraphRunner;->run()V
+Landroid/filterfw/core/GraphRunner;->setDoneCallback(Landroid/filterfw/core/GraphRunner$OnRunnerDoneListener;)V
+Landroid/filterfw/core/GraphRunner;->stop()V
+Landroid/filterfw/core/MutableFrameFormat;-><init>(II)V
+Landroid/filterfw/core/MutableFrameFormat;->setBytesPerSample(I)V
+Landroid/filterfw/core/MutableFrameFormat;->setDimensions(II)V
+Landroid/filterfw/core/Program;->process(Landroid/filterfw/core/Frame;Landroid/filterfw/core/Frame;)V
+Landroid/filterfw/core/Program;->process([Landroid/filterfw/core/Frame;Landroid/filterfw/core/Frame;)V
+Landroid/filterfw/core/Program;->setHostValue(Ljava/lang/String;Ljava/lang/Object;)V
+Landroid/filterfw/core/ShaderProgram;-><init>(Landroid/filterfw/core/FilterContext;Ljava/lang/String;)V
+Landroid/filterfw/core/ShaderProgram;->createIdentity(Landroid/filterfw/core/FilterContext;)Landroid/filterfw/core/ShaderProgram;
+Landroid/filterfw/core/ShaderProgram;->process([Landroid/filterfw/core/Frame;Landroid/filterfw/core/Frame;)V
+Landroid/filterfw/core/ShaderProgram;->setHostValue(Ljava/lang/String;Ljava/lang/Object;)V
+Landroid/filterfw/core/ShaderProgram;->setMaximumTileSize(I)V
+Landroid/filterfw/core/ShaderProgram;->setSourceRect(FFFF)V
+Landroid/filterfw/core/ShaderProgram;->setSourceRegion(Landroid/filterfw/geometry/Quad;)V
+Landroid/filterfw/format/ImageFormat;->create(I)Landroid/filterfw/core/MutableFrameFormat;
+Landroid/filterfw/format/ImageFormat;->create(II)Landroid/filterfw/core/MutableFrameFormat;
+Landroid/filterfw/format/ImageFormat;->create(IIII)Landroid/filterfw/core/MutableFrameFormat;
+Landroid/filterfw/geometry/Point;-><init>()V
+Landroid/filterfw/geometry/Point;-><init>(FF)V
+Landroid/filterfw/geometry/Point;->x:F
+Landroid/filterfw/geometry/Point;->y:F
+Landroid/filterfw/geometry/Quad;-><init>()V
+Landroid/filterfw/geometry/Quad;-><init>(Landroid/filterfw/geometry/Point;Landroid/filterfw/geometry/Point;Landroid/filterfw/geometry/Point;Landroid/filterfw/geometry/Point;)V
+Landroid/filterfw/geometry/Quad;->p0:Landroid/filterfw/geometry/Point;
+Landroid/filterfw/geometry/Quad;->p1:Landroid/filterfw/geometry/Point;
+Landroid/filterfw/geometry/Quad;->p2:Landroid/filterfw/geometry/Point;
+Landroid/filterfw/geometry/Quad;->p3:Landroid/filterfw/geometry/Point;
+Landroid/filterfw/GraphEnvironment;-><init>()V
+Landroid/filterfw/GraphEnvironment;->getRunner(II)Landroid/filterfw/core/GraphRunner;
+Landroid/filterfw/GraphEnvironment;->loadGraph(Landroid/content/Context;I)I
Landroid/graphics/BaseCanvas;->mNativeCanvasWrapper:J
Landroid/graphics/Bitmap$Config;->nativeInt:I
Landroid/graphics/Bitmap$Config;->nativeToConfig(I)Landroid/graphics/Bitmap$Config;
@@ -1090,42 +1986,71 @@
Landroid/graphics/Bitmap;->createAshmemBitmap()Landroid/graphics/Bitmap;
Landroid/graphics/Bitmap;->createAshmemBitmap(Landroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
Landroid/graphics/Bitmap;->getDefaultDensity()I
+Landroid/graphics/Bitmap;->mHeight:I
+Landroid/graphics/Bitmap;->mIsMutable:Z
Landroid/graphics/Bitmap;->mNativePtr:J
Landroid/graphics/Bitmap;->mNinePatchChunk:[B
Landroid/graphics/Bitmap;->mNinePatchInsets:Landroid/graphics/NinePatch$InsetStruct;
+Landroid/graphics/Bitmap;->mWidth:I
+Landroid/graphics/Bitmap;->nativeReconfigure(JIIIZ)V
Landroid/graphics/Bitmap;->reinit(IIZ)V
+Landroid/graphics/Bitmap;->scaleFromDensity(III)I
Landroid/graphics/Bitmap;->setDefaultDensity(I)V
+Landroid/graphics/Bitmap;->setNinePatchChunk([B)V
Landroid/graphics/BitmapFactory;->nativeDecodeAsset(JLandroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
Landroid/graphics/BitmapFactory;->nativeDecodeByteArray([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
Landroid/graphics/BitmapFactory;->nativeDecodeFileDescriptor(Ljava/io/FileDescriptor;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
Landroid/graphics/BitmapFactory;->nativeDecodeStream(Ljava/io/InputStream;[BLandroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
Landroid/graphics/BitmapRegionDecoder;-><init>(J)V
+Landroid/graphics/BitmapRegionDecoder;->nativeNewInstance([BIIZ)Landroid/graphics/BitmapRegionDecoder;
+Landroid/graphics/BitmapShader;->mBitmap:Landroid/graphics/Bitmap;
+Landroid/graphics/BitmapShader;->mTileX:I
+Landroid/graphics/BitmapShader;->mTileY:I
Landroid/graphics/Camera;->native_instance:J
Landroid/graphics/Canvas;-><init>(J)V
+Landroid/graphics/Canvas;->freeCaches()V
+Landroid/graphics/Canvas;->freeTextLayoutCaches()V
+Landroid/graphics/Canvas;->getGL()Ljavax/microedition/khronos/opengles/GL;
+Landroid/graphics/Canvas;->getNativeCanvasWrapper()J
Landroid/graphics/Canvas;->mBitmap:Landroid/graphics/Bitmap;
Landroid/graphics/Canvas;->release()V
+Landroid/graphics/Canvas;->setScreenDensity(I)V
+Landroid/graphics/ColorMatrixColorFilter;->mMatrix:Landroid/graphics/ColorMatrix;
Landroid/graphics/ColorMatrixColorFilter;->setColorMatrix(Landroid/graphics/ColorMatrix;)V
Landroid/graphics/drawable/AnimatedImageDrawable;->onAnimationEnd()V
+Landroid/graphics/drawable/AnimatedRotateDrawable;->setFramesCount(I)V
+Landroid/graphics/drawable/AnimatedRotateDrawable;->setFramesDuration(I)V
Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->mStateIds:Landroid/util/SparseIntArray;
Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->mTransitions:Landroid/util/LongSparseLongArray;
Landroid/graphics/drawable/AnimatedStateListDrawable;->mState:Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;
Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->callOnFinished(Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;I)V
+Landroid/graphics/drawable/AnimatedVectorDrawable;->forceAnimationOnUI()V
+Landroid/graphics/drawable/AnimatedVectorDrawable;->getOpticalInsets()Landroid/graphics/Insets;
Landroid/graphics/drawable/AnimationDrawable;->mCurFrame:I
Landroid/graphics/drawable/BitmapDrawable;->getOpticalInsets()Landroid/graphics/Insets;
Landroid/graphics/drawable/BitmapDrawable;->getTint()Landroid/content/res/ColorStateList;
Landroid/graphics/drawable/BitmapDrawable;->getTintMode()Landroid/graphics/PorterDuff$Mode;
+Landroid/graphics/drawable/BitmapDrawable;->mBitmapState:Landroid/graphics/drawable/BitmapDrawable$BitmapState;
Landroid/graphics/drawable/BitmapDrawable;->mTargetDensity:I
Landroid/graphics/drawable/BitmapDrawable;->setBitmap(Landroid/graphics/Bitmap;)V
+Landroid/graphics/drawable/ClipDrawable;->mState:Landroid/graphics/drawable/ClipDrawable$ClipState;
Landroid/graphics/drawable/ColorDrawable$ColorState;->mUseColor:I
+Landroid/graphics/drawable/ColorDrawable;->mPaint:Landroid/graphics/Paint;
Landroid/graphics/drawable/Drawable;->getOpticalInsets()Landroid/graphics/Insets;
Landroid/graphics/drawable/Drawable;->inflateWithAttributes(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/TypedArray;I)V
Landroid/graphics/drawable/Drawable;->mCallback:Ljava/lang/ref/WeakReference;
+Landroid/graphics/drawable/Drawable;->mSrcDensityOverride:I
Landroid/graphics/drawable/Drawable;->parseTintMode(ILandroid/graphics/PorterDuff$Mode;)Landroid/graphics/PorterDuff$Mode;
+Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;-><init>(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;Landroid/graphics/drawable/DrawableContainer;Landroid/content/res/Resources;)V
Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mConstantPadding:Landroid/graphics/Rect;
Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mDrawables:[Landroid/graphics/drawable/Drawable;
+Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mHasColorFilter:Z
Landroid/graphics/drawable/DrawableContainer;->getOpticalInsets()Landroid/graphics/Insets;
Landroid/graphics/drawable/DrawableContainer;->mDrawableContainerState:Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;
+Landroid/graphics/drawable/DrawableContainer;->mLastDrawable:Landroid/graphics/drawable/Drawable;
Landroid/graphics/drawable/DrawableInflater;->mClassLoader:Ljava/lang/ClassLoader;
+Landroid/graphics/drawable/DrawableWrapper;->getOpticalInsets()Landroid/graphics/Insets;
+Landroid/graphics/drawable/DrawableWrapper;->mState:Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;
Landroid/graphics/drawable/GradientDrawable$GradientState;->mAngle:I
Landroid/graphics/drawable/GradientDrawable$GradientState;->mGradient:I
Landroid/graphics/drawable/GradientDrawable$GradientState;->mGradientColors:[I
@@ -1159,14 +2084,23 @@
Landroid/graphics/drawable/Icon;->hasTint()Z
Landroid/graphics/drawable/Icon;->mString1:Ljava/lang/String;
Landroid/graphics/drawable/Icon;->mType:I
+Landroid/graphics/drawable/InsetDrawable;->getOpticalInsets()Landroid/graphics/Insets;
Landroid/graphics/drawable/InsetDrawable;->mState:Landroid/graphics/drawable/InsetDrawable$InsetState;
Landroid/graphics/drawable/LayerDrawable$ChildDrawable;->mDrawable:Landroid/graphics/drawable/Drawable;
Landroid/graphics/drawable/LayerDrawable$LayerState;->mChildren:[Landroid/graphics/drawable/LayerDrawable$ChildDrawable;
+Landroid/graphics/drawable/LayerDrawable;->addLayer(Landroid/graphics/drawable/LayerDrawable$ChildDrawable;)I
+Landroid/graphics/drawable/LayerDrawable;->ensurePadding()V
Landroid/graphics/drawable/LayerDrawable;->mLayerState:Landroid/graphics/drawable/LayerDrawable$LayerState;
Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;->mNinePatch:Landroid/graphics/NinePatch;
+Landroid/graphics/drawable/NinePatchDrawable;->getOpticalInsets()Landroid/graphics/Insets;
Landroid/graphics/drawable/NinePatchDrawable;->mNinePatchState:Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;
Landroid/graphics/drawable/RippleDrawable$RippleState;->mColor:Landroid/content/res/ColorStateList;
+Landroid/graphics/drawable/RippleDrawable;->getRipplePaint()Landroid/graphics/Paint;
+Landroid/graphics/drawable/RippleDrawable;->mDensity:I
Landroid/graphics/drawable/RippleDrawable;->mState:Landroid/graphics/drawable/RippleDrawable$RippleState;
+Landroid/graphics/drawable/RippleDrawable;->setForceSoftware(Z)V
+Landroid/graphics/drawable/ScaleDrawable;->mState:Landroid/graphics/drawable/ScaleDrawable$ScaleState;
+Landroid/graphics/drawable/StateListDrawable$StateListState;->addStateSet([ILandroid/graphics/drawable/Drawable;)I
Landroid/graphics/drawable/StateListDrawable;->extractStateSet(Landroid/util/AttributeSet;)[I
Landroid/graphics/drawable/StateListDrawable;->getStateCount()I
Landroid/graphics/drawable/StateListDrawable;->getStateDrawable(I)Landroid/graphics/drawable/Drawable;
@@ -1174,7 +2108,11 @@
Landroid/graphics/drawable/StateListDrawable;->getStateSet(I)[I
Landroid/graphics/drawable/StateListDrawable;->mStateListState:Landroid/graphics/drawable/StateListDrawable$StateListState;
Landroid/graphics/drawable/StateListDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
+Landroid/graphics/drawable/TransitionDrawable;->mAlpha:I
+Landroid/graphics/drawable/TransitionDrawable;->mCrossFade:Z
+Landroid/graphics/drawable/TransitionDrawable;->mTo:I
Landroid/graphics/drawable/VectorDrawable$VGroup;->setRotation(F)V
+Landroid/graphics/drawable/VectorDrawable;->getOpticalInsets()Landroid/graphics/Insets;
Landroid/graphics/drawable/VectorDrawable;->getTargetByName(Ljava/lang/String;)Ljava/lang/Object;
Landroid/graphics/drawable/VectorDrawable;->mTintFilter:Landroid/graphics/PorterDuffColorFilter;
Landroid/graphics/drawable/VectorDrawable;->setAllowCaching(Z)V
@@ -1192,33 +2130,81 @@
Landroid/graphics/ImageDecoder;->postProcessAndRelease(Landroid/graphics/Canvas;)I
Landroid/graphics/Insets;->bottom:I
Landroid/graphics/Insets;->left:I
+Landroid/graphics/Insets;->NONE:Landroid/graphics/Insets;
+Landroid/graphics/Insets;->of(IIII)Landroid/graphics/Insets;
+Landroid/graphics/Insets;->of(Landroid/graphics/Rect;)Landroid/graphics/Insets;
Landroid/graphics/Insets;->right:I
Landroid/graphics/Insets;->top:I
+Landroid/graphics/LinearGradient;->mColor0:I
+Landroid/graphics/LinearGradient;->mColor1:I
Landroid/graphics/LinearGradient;->mColors:[I
+Landroid/graphics/LinearGradient;->mPositions:[F
+Landroid/graphics/LinearGradient;->mTileMode:Landroid/graphics/Shader$TileMode;
+Landroid/graphics/LinearGradient;->mX0:F
+Landroid/graphics/LinearGradient;->mX1:F
+Landroid/graphics/LinearGradient;->mY0:F
+Landroid/graphics/LinearGradient;->mY1:F
+Landroid/graphics/Matrix;->IDENTITY_MATRIX:Landroid/graphics/Matrix;
Landroid/graphics/Matrix;->native_instance:J
Landroid/graphics/Movie;-><init>(J)V
Landroid/graphics/Movie;->mNativeMovie:J
Landroid/graphics/NinePatch$InsetStruct;-><init>(IIIIIIIIFIF)V
Landroid/graphics/NinePatch;->mBitmap:Landroid/graphics/Bitmap;
+Landroid/graphics/Paint;->getNativeInstance()J
+Landroid/graphics/Paint;->getTextRunAdvances([CIIIIZ[FI)F
+Landroid/graphics/Paint;->getTextRunCursor([CIIIII)I
Landroid/graphics/Paint;->setCompatibilityScaling(F)V
+Landroid/graphics/Paint;->setHyphenEdit(I)V
+Landroid/graphics/Path;->isSimplePath:Z
+Landroid/graphics/Path;->rects:Landroid/graphics/Region;
+Landroid/graphics/pdf/PdfRenderer;->doClose()V
+Landroid/graphics/pdf/PdfRenderer;->mCurrentPage:Landroid/graphics/pdf/PdfRenderer$Page;
Landroid/graphics/Picture;->mNativePicture:J
+Landroid/graphics/PorterDuff$Mode;->nativeInt:I
Landroid/graphics/PorterDuffColorFilter;->getColor()I
+Landroid/graphics/PorterDuffColorFilter;->getMode()Landroid/graphics/PorterDuff$Mode;
Landroid/graphics/PorterDuffColorFilter;->setColor(I)V
Landroid/graphics/PorterDuffColorFilter;->setMode(Landroid/graphics/PorterDuff$Mode;)V
+Landroid/graphics/RadialGradient;->mCenterColor:I
+Landroid/graphics/RadialGradient;->mColors:[I
+Landroid/graphics/RadialGradient;->mEdgeColor:I
+Landroid/graphics/RadialGradient;->mPositions:[F
+Landroid/graphics/RadialGradient;->mRadius:F
+Landroid/graphics/RadialGradient;->mTileMode:Landroid/graphics/Shader$TileMode;
+Landroid/graphics/RadialGradient;->mX:F
+Landroid/graphics/RadialGradient;->mY:F
+Landroid/graphics/Rect;->printShortString(Ljava/io/PrintWriter;)V
Landroid/graphics/Rect;->scale(F)V
+Landroid/graphics/Region$Op;->nativeInt:I
Landroid/graphics/Region;-><init>(JI)V
Landroid/graphics/Region;->mNativeRegion:J
+Landroid/graphics/Region;->recycle()V
+Landroid/graphics/Region;->scale(F)V
+Landroid/graphics/Shader$TileMode;->nativeInt:I
Landroid/graphics/SurfaceTexture;->mFrameAvailableListener:J
Landroid/graphics/SurfaceTexture;->mProducer:J
Landroid/graphics/SurfaceTexture;->mSurfaceTexture:J
Landroid/graphics/SurfaceTexture;->nativeDetachFromGLContext()I
Landroid/graphics/SurfaceTexture;->postEventFromNative(Ljava/lang/ref/WeakReference;)V
+Landroid/graphics/SweepGradient;->mColor0:I
+Landroid/graphics/SweepGradient;->mColor1:I
+Landroid/graphics/SweepGradient;->mColors:[I
+Landroid/graphics/SweepGradient;->mCx:F
+Landroid/graphics/SweepGradient;->mCy:F
+Landroid/graphics/SweepGradient;->mPositions:[F
+Landroid/graphics/TableMaskFilter;->CreateClipTable(II)Landroid/graphics/TableMaskFilter;
+Landroid/graphics/TemporaryBuffer;->obtain(I)[C
+Landroid/graphics/TemporaryBuffer;->recycle([C)V
+Landroid/graphics/Typeface;->createFromFamilies([Landroid/graphics/FontFamily;)Landroid/graphics/Typeface;
Landroid/graphics/Typeface;->createFromFamiliesWithDefault([Landroid/graphics/FontFamily;II)Landroid/graphics/Typeface;
Landroid/graphics/Typeface;->createFromFamiliesWithDefault([Landroid/graphics/FontFamily;Ljava/lang/String;II)Landroid/graphics/Typeface;
Landroid/graphics/Typeface;->mStyle:I
+Landroid/graphics/Typeface;->nativeCreateWeightAlias(JI)J
+Landroid/graphics/Typeface;->native_instance:J
Landroid/graphics/Typeface;->sDefaults:[Landroid/graphics/Typeface;
Landroid/graphics/Typeface;->setDefault(Landroid/graphics/Typeface;)V
Landroid/graphics/Typeface;->sSystemFontMap:Ljava/util/Map;
+Landroid/graphics/Xfermode;->porterDuffMode:I
Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ACQUIRED_GOOD:I
Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ACQUIRED_IMAGER_DIRTY:I
Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ACQUIRED_INSUFFICIENT:I
@@ -1255,6 +2241,9 @@
Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_USER_CANCELED:I
Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_VENDOR:I
Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_VENDOR_BASE:I
+Landroid/hardware/Camera$Parameters;->copyFrom(Landroid/hardware/Camera$Parameters;)V
+Landroid/hardware/Camera$Parameters;->dump()V
+Landroid/hardware/Camera$Parameters;->splitArea(Ljava/lang/String;)Ljava/util/ArrayList;
Landroid/hardware/camera2/CameraCharacteristics$Key;-><init>(Ljava/lang/String;Landroid/hardware/camera2/utils/TypeReference;)V
Landroid/hardware/camera2/CameraCharacteristics$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;)V
Landroid/hardware/camera2/CameraCharacteristics$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;J)V
@@ -1283,6 +2272,7 @@
Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_PROCESSED_SIZES:Landroid/hardware/camera2/CameraCharacteristics$Key;
Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_STALL_DURATIONS:Landroid/hardware/camera2/CameraCharacteristics$Key;
Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_STREAM_CONFIGURATIONS:Landroid/hardware/camera2/CameraCharacteristics$Key;
+Landroid/hardware/camera2/CaptureRequest$Builder;->setPartOfCHSRequestList(Z)V
Landroid/hardware/camera2/CaptureRequest$Key;-><init>(Ljava/lang/String;Landroid/hardware/camera2/utils/TypeReference;)V
Landroid/hardware/camera2/CaptureRequest$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;J)V
Landroid/hardware/camera2/CaptureRequest$Key;->getNativeKey()Landroid/hardware/camera2/impl/CameraMetadataNative$Key;
@@ -1321,74 +2311,154 @@
Landroid/hardware/camera2/CaptureResult;->TONEMAP_CURVE_RED:Landroid/hardware/camera2/CaptureResult$Key;
Landroid/hardware/camera2/impl/CameraMetadataNative$Key;->getTag()I
Landroid/hardware/camera2/impl/CameraMetadataNative;->mMetadataPtr:J
+Landroid/hardware/camera2/utils/TypeReference;-><init>()V
Landroid/hardware/camera2/utils/TypeReference;->createSpecializedTypeReference(Ljava/lang/reflect/Type;)Landroid/hardware/camera2/utils/TypeReference;
Landroid/hardware/Camera;->addCallbackBuffer([BI)V
+Landroid/hardware/Camera;->addRawImageCallbackBuffer([B)V
+Landroid/hardware/Camera;->CAMERA_HAL_API_VERSION_1_0:I
+Landroid/hardware/Camera;->getEmptyParameters()Landroid/hardware/Camera$Parameters;
Landroid/hardware/Camera;->mNativeContext:J
+Landroid/hardware/Camera;->native_getParameters()Ljava/lang/String;
+Landroid/hardware/Camera;->native_setParameters(Ljava/lang/String;)V
Landroid/hardware/Camera;->native_setup(Ljava/lang/Object;IILjava/lang/String;)I
Landroid/hardware/Camera;->openLegacy(II)Landroid/hardware/Camera;
Landroid/hardware/Camera;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
+Landroid/hardware/Camera;->previewEnabled()Z
+Landroid/hardware/display/DisplayManager;->ACTION_WIFI_DISPLAY_STATUS_CHANGED:Ljava/lang/String;
+Landroid/hardware/display/DisplayManager;->connectWifiDisplay(Ljava/lang/String;)V
+Landroid/hardware/display/DisplayManager;->disconnectWifiDisplay()V
+Landroid/hardware/display/DisplayManager;->EXTRA_WIFI_DISPLAY_STATUS:Ljava/lang/String;
+Landroid/hardware/display/DisplayManager;->forgetWifiDisplay(Ljava/lang/String;)V
+Landroid/hardware/display/DisplayManager;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus;
+Landroid/hardware/display/DisplayManager;->pauseWifiDisplay()V
+Landroid/hardware/display/DisplayManager;->renameWifiDisplay(Ljava/lang/String;Ljava/lang/String;)V
+Landroid/hardware/display/DisplayManager;->resumeWifiDisplay()V
+Landroid/hardware/display/DisplayManager;->startWifiDisplayScan()V
+Landroid/hardware/display/DisplayManager;->stopWifiDisplayScan()V
+Landroid/hardware/display/DisplayManagerGlobal;->disconnectWifiDisplay()V
+Landroid/hardware/display/DisplayManagerGlobal;->getDisplayIds()[I
+Landroid/hardware/display/DisplayManagerGlobal;->getDisplayInfo(I)Landroid/view/DisplayInfo;
+Landroid/hardware/display/DisplayManagerGlobal;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus;
Landroid/hardware/display/DisplayManagerGlobal;->mDm:Landroid/hardware/display/IDisplayManager;
Landroid/hardware/display/DisplayManagerGlobal;->sInstance:Landroid/hardware/display/DisplayManagerGlobal;
Landroid/hardware/display/IDisplayManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/display/IDisplayManager;
+Landroid/hardware/display/IDisplayManager;->getDisplayInfo(I)Landroid/view/DisplayInfo;
+Landroid/hardware/display/WifiDisplay;->canConnect()Z
+Landroid/hardware/display/WifiDisplay;->equals(Landroid/hardware/display/WifiDisplay;)Z
+Landroid/hardware/display/WifiDisplay;->getDeviceAddress()Ljava/lang/String;
+Landroid/hardware/display/WifiDisplay;->getDeviceAlias()Ljava/lang/String;
+Landroid/hardware/display/WifiDisplay;->getDeviceName()Ljava/lang/String;
+Landroid/hardware/display/WifiDisplay;->isAvailable()Z
+Landroid/hardware/display/WifiDisplay;->isRemembered()Z
+Landroid/hardware/display/WifiDisplayStatus;->DISPLAY_STATE_CONNECTED:I
+Landroid/hardware/display/WifiDisplayStatus;->DISPLAY_STATE_CONNECTING:I
+Landroid/hardware/display/WifiDisplayStatus;->DISPLAY_STATE_NOT_CONNECTED:I
+Landroid/hardware/display/WifiDisplayStatus;->FEATURE_STATE_ON:I
+Landroid/hardware/display/WifiDisplayStatus;->getActiveDisplay()Landroid/hardware/display/WifiDisplay;
+Landroid/hardware/display/WifiDisplayStatus;->getActiveDisplayState()I
+Landroid/hardware/display/WifiDisplayStatus;->getDisplays()[Landroid/hardware/display/WifiDisplay;
+Landroid/hardware/display/WifiDisplayStatus;->getFeatureState()I
+Landroid/hardware/display/WifiDisplayStatus;->getScanState()I
Landroid/hardware/display/WifiDisplayStatus;->mActiveDisplay:Landroid/hardware/display/WifiDisplay;
Landroid/hardware/display/WifiDisplayStatus;->mDisplays:[Landroid/hardware/display/WifiDisplay;
+Landroid/hardware/display/WifiDisplayStatus;->SCAN_STATE_NOT_SCANNING:I
Landroid/hardware/fingerprint/Fingerprint;->getFingerId()I
Landroid/hardware/fingerprint/Fingerprint;->getName()Ljava/lang/CharSequence;
+Landroid/hardware/fingerprint/FingerprintManager;->getAuthenticatorId()J
Landroid/hardware/fingerprint/FingerprintManager;->getEnrolledFingerprints()Ljava/util/List;
+Landroid/hardware/fingerprint/FingerprintManager;->getEnrolledFingerprints(I)Ljava/util/List;
Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+Landroid/hardware/fingerprint/IFingerprintService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/fingerprint/IFingerprintService;
Landroid/hardware/HardwareBuffer;-><init>(J)V
Landroid/hardware/HardwareBuffer;->mNativeObject:J
Landroid/hardware/ICameraService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/ICameraService;
Landroid/hardware/input/IInputManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/hardware/input/IInputManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/input/IInputManager;
+Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_injectInputEvent:I
+Landroid/hardware/input/IInputManager;->injectInputEvent(Landroid/view/InputEvent;I)Z
Landroid/hardware/input/InputManager;->getInstance()Landroid/hardware/input/InputManager;
Landroid/hardware/input/InputManager;->injectInputEvent(Landroid/view/InputEvent;I)Z
Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH:I
Landroid/hardware/input/InputManager;->mIm:Landroid/hardware/input/IInputManager;
+Landroid/hardware/input/InputManager;->setPointerIconType(I)V
Landroid/hardware/location/IActivityRecognitionHardwareClient$Stub;-><init>()V
Landroid/hardware/location/IContextHubService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IContextHubService;
+Landroid/hardware/Sensor;->getHandle()I
+Landroid/hardware/Sensor;->mFlags:I
+Landroid/hardware/Sensor;->TYPE_DEVICE_ORIENTATION:I
+Landroid/hardware/Sensor;->TYPE_PICK_UP_GESTURE:I
+Landroid/hardware/SensorEvent;-><init>(I)V
+Landroid/hardware/SensorManager;-><init>()V
+Landroid/hardware/SerialManager;->getSerialPorts()[Ljava/lang/String;
+Landroid/hardware/SerialManager;->openSerialPort(Ljava/lang/String;I)Landroid/hardware/SerialPort;
+Landroid/hardware/SerialPort;->close()V
Landroid/hardware/SerialPort;->mNativeContext:I
+Landroid/hardware/SerialPort;->write(Ljava/nio/ByteBuffer;I)V
Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;-><init>(II)V
Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;->confidenceLevel:I
Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;->userId:I
Landroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;-><init>(IIZIIIZLandroid/media/AudioFormat;[B)V
Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;-><init>(Ljava/util/UUID;Ljava/util/UUID;[B)V
+Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;-><init>(IILjava/lang/String;Ljava/lang/String;[I)V
Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->id:I
Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->locale:Ljava/lang/String;
Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->recognitionModes:I
Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->text:Ljava/lang/String;
Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->users:[I
Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;-><init>(IIZIIIZLandroid/media/AudioFormat;[B[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;)V
+Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;->keyphraseExtras:[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;
Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;-><init>(III[Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;)V
Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;->coarseConfidenceLevel:I
Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;->confidenceLevels:[Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;
Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;->id:I
Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;->recognitionModes:I
+Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;-><init>(Ljava/util/UUID;Ljava/util/UUID;[B[Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;)V
Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;->keyphrases:[Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;
Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;-><init>(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIIIZIZIZ)V
+Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->id:I
+Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->maxSoundModels:I
+Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->uuid:Ljava/util/UUID;
Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;-><init>(ZZ[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;[B)V
Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;->captureRequested:Z
Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;->data:[B
Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;->keyphrases:[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;
Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;-><init>(IIZIIIZLandroid/media/AudioFormat;[B)V
+Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->captureAvailable:Z
Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->captureSession:I
Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->data:[B
+Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->soundModelHandle:I
+Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->status:I
Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;->data:[B
Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;->uuid:Ljava/util/UUID;
Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;->vendorUuid:Ljava/util/UUID;
Landroid/hardware/soundtrigger/SoundTrigger$SoundModelEvent;-><init>(II[B)V
+Landroid/hardware/soundtrigger/SoundTrigger;->attachModule(ILandroid/hardware/soundtrigger/SoundTrigger$StatusListener;Landroid/os/Handler;)Landroid/hardware/soundtrigger/SoundTriggerModule;
+Landroid/hardware/soundtrigger/SoundTrigger;->listModules(Ljava/util/ArrayList;)I
+Landroid/hardware/soundtrigger/SoundTriggerModule;->detach()V
+Landroid/hardware/soundtrigger/SoundTriggerModule;->loadSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;[I)I
Landroid/hardware/soundtrigger/SoundTriggerModule;->mId:I
Landroid/hardware/soundtrigger/SoundTriggerModule;->mNativeContext:J
Landroid/hardware/soundtrigger/SoundTriggerModule;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
+Landroid/hardware/soundtrigger/SoundTriggerModule;->startRecognition(ILandroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
+Landroid/hardware/soundtrigger/SoundTriggerModule;->stopRecognition(I)I
+Landroid/hardware/soundtrigger/SoundTriggerModule;->unloadSoundModel(I)I
Landroid/hardware/SystemSensorManager$BaseEventQueue;->dispatchAdditionalInfoEvent(III[F[I)V
Landroid/hardware/SystemSensorManager$BaseEventQueue;->dispatchFlushCompleteEvent(I)V
Landroid/hardware/SystemSensorManager$BaseEventQueue;->dispatchSensorEvent(I[FIJ)V
Landroid/hardware/usb/IUsbManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+Landroid/hardware/usb/IUsbManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/usb/IUsbManager;
+Landroid/hardware/usb/UsbDevice;->mInterfaces:[Landroid/hardware/usb/UsbInterface;
Landroid/hardware/usb/UsbDeviceConnection;->mNativeContext:J
+Landroid/hardware/usb/UsbManager;-><init>(Landroid/content/Context;Landroid/hardware/usb/IUsbManager;)V
+Landroid/hardware/usb/UsbManager;->ACTION_USB_STATE:Ljava/lang/String;
Landroid/hardware/usb/UsbManager;->getPorts()[Landroid/hardware/usb/UsbPort;
Landroid/hardware/usb/UsbManager;->getPortStatus(Landroid/hardware/usb/UsbPort;)Landroid/hardware/usb/UsbPortStatus;
+Landroid/hardware/usb/UsbManager;->isFunctionEnabled(Ljava/lang/String;)Z
Landroid/hardware/usb/UsbManager;->setCurrentFunction(Ljava/lang/String;Z)V
Landroid/hardware/usb/UsbManager;->setPortRoles(Landroid/hardware/usb/UsbPort;II)V
+Landroid/hardware/usb/UsbManager;->USB_CONNECTED:Ljava/lang/String;
+Landroid/hardware/usb/UsbManager;->USB_DATA_UNLOCKED:Ljava/lang/String;
+Landroid/hardware/usb/UsbManager;->USB_FUNCTION_NONE:Ljava/lang/String;
Landroid/hardware/usb/UsbPortStatus;->getCurrentDataRole()I
Landroid/hardware/usb/UsbPortStatus;->getCurrentMode()I
Landroid/hardware/usb/UsbPortStatus;->getCurrentPowerRole()I
@@ -1399,10 +2469,12 @@
Landroid/hardware/usb/UsbRequest;->mLength:I
Landroid/hardware/usb/UsbRequest;->mNativeContext:J
Landroid/icu/impl/CurrencyData;-><init>()V
+Landroid/icu/text/ArabicShaping;-><init>(I)V
Landroid/icu/text/ArabicShaping;->isAlefMaksouraChar(C)Z
Landroid/icu/text/ArabicShaping;->isSeenTailFamilyChar(C)I
Landroid/icu/text/ArabicShaping;->isTailChar(C)Z
Landroid/icu/text/ArabicShaping;->isYehHamzaChar(C)Z
+Landroid/icu/text/ArabicShaping;->shape(Ljava/lang/String;)Ljava/lang/String;
Landroid/icu/text/DateFormatSymbols;->getLocale(Landroid/icu/util/ULocale$Type;)Landroid/icu/util/ULocale;
Landroid/icu/text/DateIntervalFormat;-><init>()V
Landroid/icu/text/DateTimePatternGenerator$DistanceInfo;-><init>()V
@@ -1415,36 +2487,79 @@
Landroid/icu/text/TimeZoneNames$DefaultTimeZoneNames$FactoryImpl;-><init>()V
Landroid/icu/text/Transliterator;->createFromRules(Ljava/lang/String;Ljava/lang/String;I)Landroid/icu/text/Transliterator;
Landroid/icu/text/Transliterator;->getInstance(Ljava/lang/String;)Landroid/icu/text/Transliterator;
+Landroid/icu/text/Transliterator;->getInstance(Ljava/lang/String;I)Landroid/icu/text/Transliterator;
+Landroid/icu/text/Transliterator;->transliterate(Landroid/icu/text/Replaceable;Landroid/icu/text/Transliterator$Position;Ljava/lang/String;)V
Landroid/icu/text/Transliterator;->transliterate(Ljava/lang/String;)Ljava/lang/String;
Landroid/icu/text/UFormat;->getLocale(Landroid/icu/util/ULocale$Type;)Landroid/icu/util/ULocale;
Landroid/icu/text/UForwardCharacterIterator;->DONE:I
Landroid/icu/util/Calendar;->getLocale(Landroid/icu/util/ULocale$Type;)Landroid/icu/util/ULocale;
+Landroid/icu/util/PersianCalendar;-><init>(Ljava/util/Locale;)V
+Landroid/icu/util/UResourceBundle;->getBundleInstance(Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/util/UResourceBundle;
+Landroid/icu/util/UResourceBundle;->getKey()Ljava/lang/String;
+Landroid/icu/util/UResourceBundle;->getString()Ljava/lang/String;
+Landroid/icu/util/UResourceBundle;->getType()I
+Landroid/icu/util/UResourceBundleIterator;->hasNext()Z
+Landroid/icu/util/UResourceBundleIterator;->next()Landroid/icu/util/UResourceBundle;
Landroid/inputmethodservice/InputMethodService$SettingsObserver;->shouldShowImeWithHardKeyboard()Z
Landroid/inputmethodservice/InputMethodService;->mExtractEditText:Landroid/inputmethodservice/ExtractEditText;
+Landroid/inputmethodservice/InputMethodService;->mExtractView:Landroid/view/View;
Landroid/inputmethodservice/InputMethodService;->mRootView:Landroid/view/View;
Landroid/inputmethodservice/InputMethodService;->mSettingsObserver:Landroid/inputmethodservice/InputMethodService$SettingsObserver;
+Landroid/inputmethodservice/InputMethodService;->mTheme:I
+Landroid/inputmethodservice/InputMethodService;->mTmpInsets:Landroid/inputmethodservice/InputMethodService$Insets;
+Landroid/inputmethodservice/InputMethodService;->onExtractedDeleteText(II)V
+Landroid/inputmethodservice/InputMethodService;->onExtractedReplaceText(IILjava/lang/CharSequence;)V
+Landroid/inputmethodservice/InputMethodService;->onExtractedSetSpan(Ljava/lang/Object;III)V
+Landroid/inputmethodservice/Keyboard;->mModifierKeys:Ljava/util/List;
+Landroid/inputmethodservice/Keyboard;->mTotalHeight:I
+Landroid/inputmethodservice/Keyboard;->mTotalWidth:I
Landroid/inputmethodservice/KeyboardView;->mKeyBackground:Landroid/graphics/drawable/Drawable;
Landroid/inputmethodservice/KeyboardView;->mLabelTextSize:I
+Landroid/inputmethodservice/KeyboardView;->mPreviewText:Landroid/widget/TextView;
+Landroid/inputmethodservice/KeyboardView;->openPopupIfRequired(Landroid/view/MotionEvent;)Z
+Landroid/inputmethodservice/KeyboardView;->repeatKey()Z
+Landroid/inputmethodservice/KeyboardView;->showKey(I)V
+Landroid/location/Country;-><init>(Ljava/lang/String;I)V
Landroid/location/Country;->getCountryIso()Ljava/lang/String;
Landroid/location/Country;->getSource()I
+Landroid/location/CountryDetector;-><init>(Landroid/location/ICountryDetector;)V
+Landroid/location/CountryDetector;->addCountryListener(Landroid/location/CountryListener;Landroid/os/Looper;)V
Landroid/location/CountryDetector;->detectCountry()Landroid/location/Country;
+Landroid/location/CountryDetector;->removeCountryListener(Landroid/location/CountryListener;)V
+Landroid/location/CountryListener;->onCountryDetected(Landroid/location/Country;)V
Landroid/location/GeocoderParams;->getClientPackage()Ljava/lang/String;
Landroid/location/GeocoderParams;->getLocale()Ljava/util/Locale;
+Landroid/location/Geofence;->CREATOR:Landroid/os/Parcelable$Creator;
+Landroid/location/GpsStatus;->setTimeToFirstFix(I)V
+Landroid/location/ICountryDetector$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ICountryDetector;
+Landroid/location/ICountryListener$Stub;-><init>()V
Landroid/location/IGeocodeProvider$Stub;-><init>()V
+Landroid/location/IGeocodeProvider$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/IGeocodeProvider;
Landroid/location/IGeofenceProvider$Stub;-><init>()V
Landroid/location/ILocationListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/location/ILocationListener$Stub$Proxy;->mRemote:Landroid/os/IBinder;
+Landroid/location/ILocationListener$Stub;-><init>()V
+Landroid/location/ILocationListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationListener;
Landroid/location/ILocationListener;->onLocationChanged(Landroid/location/Location;)V
+Landroid/location/ILocationListener;->onProviderDisabled(Ljava/lang/String;)V
+Landroid/location/ILocationListener;->onProviderEnabled(Ljava/lang/String;)V
+Landroid/location/ILocationListener;->onStatusChanged(Ljava/lang/String;ILandroid/os/Bundle;)V
Landroid/location/ILocationManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+Landroid/location/ILocationManager$Stub;-><init>()V
Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;
+Landroid/location/ILocationManager;->getAllProviders()Ljava/util/List;
Landroid/location/Location;->mElapsedRealtimeNanos:J
+Landroid/location/Location;->mProvider:Ljava/lang/String;
Landroid/location/LocationManager;->mService:Landroid/location/ILocationManager;
+Landroid/location/LocationManager;->requestLocationUpdates(Landroid/location/LocationRequest;Landroid/location/LocationListener;Landroid/os/Looper;Landroid/app/PendingIntent;)V
Landroid/location/LocationRequest;->mHideFromAppOps:Z
Landroid/location/LocationRequest;->mInterval:J
Landroid/location/LocationRequest;->mProvider:Ljava/lang/String;
Landroid/location/LocationRequest;->mWorkSource:Landroid/os/WorkSource;
Landroid/media/AmrInputStream;-><init>(Ljava/io/InputStream;)V
+Landroid/media/AsyncPlayer;->setUsesWakeLock(Landroid/content/Context;)V
Landroid/media/AudioAttributes$Builder;->addTag(Ljava/lang/String;)Landroid/media/AudioAttributes$Builder;
+Landroid/media/AudioAttributes$Builder;->setInternalLegacyStreamType(I)Landroid/media/AudioAttributes$Builder;
Landroid/media/AudioAttributes;->mContentType:I
Landroid/media/AudioAttributes;->mFlags:I
Landroid/media/AudioAttributes;->mFormattedTags:Ljava/lang/String;
@@ -1452,16 +2567,19 @@
Landroid/media/AudioAttributes;->mUsage:I
Landroid/media/AudioAttributes;->toLegacyStreamType(Landroid/media/AudioAttributes;)I
Landroid/media/AudioDevicePort;-><init>(Landroid/media/AudioHandle;Ljava/lang/String;[I[I[I[I[Landroid/media/AudioGain;ILjava/lang/String;)V
+Landroid/media/AudioDevicePort;->type()I
Landroid/media/AudioDevicePortConfig;-><init>(Landroid/media/AudioDevicePort;IIILandroid/media/AudioGainConfig;)V
Landroid/media/AudioFormat;-><init>(IIII)V
Landroid/media/AudioFormat;->mChannelMask:I
Landroid/media/AudioFormat;->mEncoding:I
Landroid/media/AudioFormat;->mSampleRate:I
Landroid/media/audiofx/AudioEffect;-><init>(Ljava/util/UUID;Ljava/util/UUID;II)V
+Landroid/media/audiofx/AudioEffect;->checkState(Ljava/lang/String;)V
Landroid/media/audiofx/AudioEffect;->command(I[B[B)I
Landroid/media/audiofx/AudioEffect;->getParameter([I[B)I
Landroid/media/audiofx/AudioEffect;->getParameter([I[I)I
Landroid/media/audiofx/AudioEffect;->setParameter([I[S)I
+Landroid/media/audiofx/Visualizer;->mId:I
Landroid/media/AudioGain;-><init>(IIIIIIIII)V
Landroid/media/AudioGainConfig;-><init>(ILandroid/media/AudioGain;II[II)V
Landroid/media/AudioGainConfig;->mChannelMask:I
@@ -1472,20 +2590,53 @@
Landroid/media/AudioHandle;-><init>(I)V
Landroid/media/AudioHandle;->mId:I
Landroid/media/AudioManager;-><init>(Landroid/content/Context;)V
+Landroid/media/AudioManager;->abandonAudioFocusForCall()V
+Landroid/media/AudioManager;->createAudioPatch([Landroid/media/AudioPatch;[Landroid/media/AudioPortConfig;[Landroid/media/AudioPortConfig;)I
+Landroid/media/AudioManager;->DEVICE_OUT_ANLG_DOCK_HEADSET:I
+Landroid/media/AudioManager;->DEVICE_OUT_BLUETOOTH_A2DP:I
+Landroid/media/AudioManager;->DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES:I
+Landroid/media/AudioManager;->DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER:I
+Landroid/media/AudioManager;->DEVICE_OUT_BLUETOOTH_SCO_HEADSET:I
+Landroid/media/AudioManager;->DEVICE_OUT_DGTL_DOCK_HEADSET:I
+Landroid/media/AudioManager;->DEVICE_OUT_EARPIECE:I
+Landroid/media/AudioManager;->DEVICE_OUT_HDMI:I
+Landroid/media/AudioManager;->DEVICE_OUT_SPEAKER:I
+Landroid/media/AudioManager;->DEVICE_OUT_WIRED_HEADPHONE:I
+Landroid/media/AudioManager;->DEVICE_OUT_WIRED_HEADSET:I
+Landroid/media/AudioManager;->EXTRA_VOLUME_STREAM_TYPE:Ljava/lang/String;
+Landroid/media/AudioManager;->EXTRA_VOLUME_STREAM_VALUE:Ljava/lang/String;
Landroid/media/AudioManager;->forceVolumeControlStream(I)V
+Landroid/media/AudioManager;->getDevicesForStream(I)I
+Landroid/media/AudioManager;->getLastAudibleStreamVolume(I)I
Landroid/media/AudioManager;->getOutputLatency(I)I
+Landroid/media/AudioManager;->getRingerModeInternal()I
Landroid/media/AudioManager;->getService()Landroid/media/IAudioService;
+Landroid/media/AudioManager;->isMasterMute()Z
+Landroid/media/AudioManager;->isMusicActiveRemotely()Z
+Landroid/media/AudioManager;->isSilentMode()Z
+Landroid/media/AudioManager;->isValidRingerMode(I)Z
+Landroid/media/AudioManager;->listAudioPatches(Ljava/util/ArrayList;)I
+Landroid/media/AudioManager;->listAudioPorts(Ljava/util/ArrayList;)I
Landroid/media/AudioManager;->mAudioFocusIdListenerMap:Ljava/util/concurrent/ConcurrentHashMap;
+Landroid/media/AudioManager;->NUM_SOUND_EFFECTS:I
+Landroid/media/AudioManager;->releaseAudioPatch(Landroid/media/AudioPatch;)I
+Landroid/media/AudioManager;->reloadAudioSettings()V
+Landroid/media/AudioManager;->requestAudioFocusForCall(II)V
Landroid/media/AudioManager;->setMasterMute(ZI)V
Landroid/media/AudioManager;->setRingerModeInternal(I)V
+Landroid/media/AudioManager;->setWiredDeviceConnectionState(IILjava/lang/String;Ljava/lang/String;)V
Landroid/media/AudioManager;->startBluetoothScoVirtualCall()V
Landroid/media/AudioManager;->STREAM_BLUETOOTH_SCO:I
Landroid/media/AudioManager;->STREAM_SYSTEM_ENFORCED:I
Landroid/media/AudioManager;->STREAM_TTS:I
+Landroid/media/AudioManager;->VOLUME_CHANGED_ACTION:Ljava/lang/String;
Landroid/media/AudioMixPort;-><init>(Landroid/media/AudioHandle;IILjava/lang/String;[I[I[I[I[Landroid/media/AudioGain;)V
+Landroid/media/AudioMixPort;->ioHandle()I
Landroid/media/AudioMixPortConfig;-><init>(Landroid/media/AudioMixPort;IIILandroid/media/AudioGainConfig;)V
Landroid/media/AudioPatch;-><init>(Landroid/media/AudioHandle;[Landroid/media/AudioPortConfig;[Landroid/media/AudioPortConfig;)V
Landroid/media/AudioPatch;->mHandle:Landroid/media/AudioHandle;
+Landroid/media/AudioPatch;->sinks()[Landroid/media/AudioPortConfig;
+Landroid/media/AudioPatch;->sources()[Landroid/media/AudioPortConfig;
Landroid/media/audiopolicy/AudioMix;->mCallbackFlags:I
Landroid/media/audiopolicy/AudioMix;->mDeviceAddress:Ljava/lang/String;
Landroid/media/audiopolicy/AudioMix;->mDeviceSystemType:I
@@ -1498,10 +2649,12 @@
Landroid/media/audiopolicy/AudioMixingRule$AudioMixMatchCriterion;->mRule:I
Landroid/media/audiopolicy/AudioMixingRule;->mCriteria:Ljava/util/ArrayList;
Landroid/media/AudioPort;-><init>(Landroid/media/AudioHandle;ILjava/lang/String;[I[I[I[I[Landroid/media/AudioGain;)V
+Landroid/media/AudioPort;->id()I
Landroid/media/AudioPort;->mActiveConfig:Landroid/media/AudioPortConfig;
Landroid/media/AudioPort;->mGains:[Landroid/media/AudioGain;
Landroid/media/AudioPort;->mHandle:Landroid/media/AudioHandle;
Landroid/media/AudioPort;->mRole:I
+Landroid/media/AudioPort;->role()I
Landroid/media/AudioPortConfig;-><init>(Landroid/media/AudioPort;IIILandroid/media/AudioGainConfig;)V
Landroid/media/AudioPortConfig;->mChannelMask:I
Landroid/media/AudioPortConfig;->mConfigMask:I
@@ -1509,24 +2662,81 @@
Landroid/media/AudioPortConfig;->mGain:Landroid/media/AudioGainConfig;
Landroid/media/AudioPortConfig;->mPort:Landroid/media/AudioPort;
Landroid/media/AudioPortConfig;->mSamplingRate:I
+Landroid/media/AudioPortConfig;->port()Landroid/media/AudioPort;
Landroid/media/AudioPortEventHandler;->mJniCallback:J
Landroid/media/AudioPortEventHandler;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
+Landroid/media/AudioRecord;->mAudioAttributes:Landroid/media/AudioAttributes;
+Landroid/media/AudioRecord;->mInitializationLooper:Landroid/os/Looper;
Landroid/media/AudioRecord;->mNativeCallbackCookie:J
Landroid/media/AudioRecord;->mNativeDeviceCallback:J
Landroid/media/AudioRecord;->mNativeRecorderInJavaObj:J
Landroid/media/AudioRecord;->native_release()V
+Landroid/media/AudioRecord;->native_setup(Ljava/lang/Object;Ljava/lang/Object;[IIIII[ILjava/lang/String;J)I
Landroid/media/AudioRecord;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
Landroid/media/AudioRecordingConfiguration;->getClientPackageName()Ljava/lang/String;
Landroid/media/AudioRecordingConfiguration;->getClientUid()I
+Landroid/media/AudioSystem;->DEVICE_IN_AMBIENT:I
+Landroid/media/AudioSystem;->DEVICE_IN_ANLG_DOCK_HEADSET:I
+Landroid/media/AudioSystem;->DEVICE_IN_AUX_DIGITAL:I
+Landroid/media/AudioSystem;->DEVICE_IN_BACK_MIC:I
+Landroid/media/AudioSystem;->DEVICE_IN_BLUETOOTH_A2DP:I
+Landroid/media/AudioSystem;->DEVICE_IN_BLUETOOTH_SCO_HEADSET:I
+Landroid/media/AudioSystem;->DEVICE_IN_BUILTIN_MIC:I
+Landroid/media/AudioSystem;->DEVICE_IN_COMMUNICATION:I
+Landroid/media/AudioSystem;->DEVICE_IN_DEFAULT:I
+Landroid/media/AudioSystem;->DEVICE_IN_DGTL_DOCK_HEADSET:I
+Landroid/media/AudioSystem;->DEVICE_IN_REMOTE_SUBMIX:I
+Landroid/media/AudioSystem;->DEVICE_IN_USB_ACCESSORY:I
+Landroid/media/AudioSystem;->DEVICE_IN_USB_DEVICE:I
+Landroid/media/AudioSystem;->DEVICE_IN_VOICE_CALL:I
+Landroid/media/AudioSystem;->DEVICE_IN_WIRED_HEADSET:I
+Landroid/media/AudioSystem;->DEVICE_OUT_ALL_USB:I
+Landroid/media/AudioSystem;->DEVICE_OUT_ANLG_DOCK_HEADSET:I
+Landroid/media/AudioSystem;->DEVICE_OUT_AUX_DIGITAL:I
+Landroid/media/AudioSystem;->DEVICE_OUT_BLUETOOTH_A2DP:I
+Landroid/media/AudioSystem;->DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES:I
+Landroid/media/AudioSystem;->DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER:I
+Landroid/media/AudioSystem;->DEVICE_OUT_BLUETOOTH_SCO:I
+Landroid/media/AudioSystem;->DEVICE_OUT_BLUETOOTH_SCO_CARKIT:I
+Landroid/media/AudioSystem;->DEVICE_OUT_BLUETOOTH_SCO_HEADSET:I
+Landroid/media/AudioSystem;->DEVICE_OUT_DGTL_DOCK_HEADSET:I
+Landroid/media/AudioSystem;->DEVICE_OUT_EARPIECE:I
+Landroid/media/AudioSystem;->DEVICE_OUT_FM:I
+Landroid/media/AudioSystem;->DEVICE_OUT_REMOTE_SUBMIX:I
+Landroid/media/AudioSystem;->DEVICE_OUT_SPEAKER:I
+Landroid/media/AudioSystem;->DEVICE_OUT_TELEPHONY_TX:I
+Landroid/media/AudioSystem;->DEVICE_OUT_USB_ACCESSORY:I
+Landroid/media/AudioSystem;->DEVICE_OUT_USB_DEVICE:I
+Landroid/media/AudioSystem;->DEVICE_OUT_WIRED_HEADPHONE:I
+Landroid/media/AudioSystem;->DEVICE_OUT_WIRED_HEADSET:I
+Landroid/media/AudioSystem;->DEVICE_STATE_AVAILABLE:I
+Landroid/media/AudioSystem;->DEVICE_STATE_UNAVAILABLE:I
Landroid/media/AudioSystem;->dynamicPolicyCallbackFromNative(ILjava/lang/String;I)V
Landroid/media/AudioSystem;->errorCallbackFromNative(I)V
+Landroid/media/AudioSystem;->FORCE_ANALOG_DOCK:I
+Landroid/media/AudioSystem;->FORCE_BT_CAR_DOCK:I
+Landroid/media/AudioSystem;->FORCE_BT_DESK_DOCK:I
+Landroid/media/AudioSystem;->FORCE_DIGITAL_DOCK:I
+Landroid/media/AudioSystem;->FORCE_NONE:I
+Landroid/media/AudioSystem;->getDeviceConnectionState(ILjava/lang/String;)I
+Landroid/media/AudioSystem;->getDevicesForStream(I)I
+Landroid/media/AudioSystem;->getMasterMute()Z
+Landroid/media/AudioSystem;->getNumStreamTypes()I
+Landroid/media/AudioSystem;->getOutputDeviceName(I)Ljava/lang/String;
+Landroid/media/AudioSystem;->getOutputLatency(I)I
Landroid/media/AudioSystem;->getPrimaryOutputFrameCount()I
Landroid/media/AudioSystem;->getPrimaryOutputSamplingRate()I
+Landroid/media/AudioSystem;->initStreamVolume(III)I
+Landroid/media/AudioSystem;->isMicrophoneMuted()Z
Landroid/media/AudioSystem;->isSourceActive(I)Z
Landroid/media/AudioSystem;->isStreamActive(II)Z
+Landroid/media/AudioSystem;->muteMicrophone(Z)I
Landroid/media/AudioSystem;->recordingCallbackFromNative(IIII[I)V
Landroid/media/AudioSystem;->setDeviceConnectionState(IILjava/lang/String;Ljava/lang/String;)I
Landroid/media/AudioSystem;->setErrorCallback(Landroid/media/AudioSystem$ErrorCallback;)V
+Landroid/media/AudioSystem;->setMasterMute(Z)I
+Landroid/media/AudioSystem;->setPhoneState(I)I
+Landroid/media/AudioSystem;->setStreamVolumeIndex(III)I
Landroid/media/AudioTrack;->deferred_connect(J)V
Landroid/media/AudioTrack;->getLatency()I
Landroid/media/AudioTrack;->mJniData:J
@@ -1534,17 +2744,37 @@
Landroid/media/AudioTrack;->mStreamType:I
Landroid/media/AudioTrack;->native_release()V
Landroid/media/AudioTrack;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
+Landroid/media/CamcorderProfile;->native_get_camcorder_profile(II)Landroid/media/CamcorderProfile;
+Landroid/media/DecoderCapabilities$AudioDecoder;->AUDIO_DECODER_WMA:Landroid/media/DecoderCapabilities$AudioDecoder;
+Landroid/media/DecoderCapabilities$VideoDecoder;->VIDEO_DECODER_WMV:Landroid/media/DecoderCapabilities$VideoDecoder;
+Landroid/media/DecoderCapabilities;->getAudioDecoders()Ljava/util/List;
+Landroid/media/DecoderCapabilities;->getVideoDecoders()Ljava/util/List;
+Landroid/media/EncoderCapabilities$VideoEncoderCap;->mCodec:I
+Landroid/media/EncoderCapabilities$VideoEncoderCap;->mMaxFrameHeight:I
+Landroid/media/EncoderCapabilities$VideoEncoderCap;->mMaxFrameWidth:I
+Landroid/media/EncoderCapabilities$VideoEncoderCap;->mMinFrameHeight:I
+Landroid/media/EncoderCapabilities$VideoEncoderCap;->mMinFrameWidth:I
+Landroid/media/EncoderCapabilities;->getVideoEncoders()Ljava/util/List;
Landroid/media/ExifInterface;->getDateTime()J
+Landroid/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
+Landroid/media/IAudioFocusDispatcher;->dispatchAudioFocusChange(ILjava/lang/String;)V
+Landroid/media/IAudioRoutesObserver$Stub;-><init>()V
Landroid/media/IAudioService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+Landroid/media/IAudioService$Stub;-><init>()V
Landroid/media/IAudioService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IAudioService;
Landroid/media/IAudioService;->getStreamMaxVolume(I)I
Landroid/media/IAudioService;->getStreamVolume(I)I
Landroid/media/IAudioService;->setStreamVolume(IIILjava/lang/String;)V
+Landroid/media/IAudioService;->startWatchingRoutes(Landroid/media/IAudioRoutesObserver;)Landroid/media/AudioRoutesInfo;
+Landroid/media/Image$Plane;-><init>()V
Landroid/media/Image;-><init>()V
Landroid/media/IMediaRouterService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IMediaRouterService;
+Landroid/media/IMediaScannerListener$Stub;-><init>()V
Landroid/media/IMediaScannerService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IMediaScannerService;
+Landroid/media/IMediaScannerService;->requestScanFile(Ljava/lang/String;Ljava/lang/String;Landroid/media/IMediaScannerListener;)V
Landroid/media/IMediaScannerService;->scanFile(Ljava/lang/String;Ljava/lang/String;)V
Landroid/media/IRemoteDisplayCallback;->onStateChanged(Landroid/media/RemoteDisplayState;)V
+Landroid/media/IRingtonePlayer;->play(Landroid/os/IBinder;Landroid/net/Uri;Landroid/media/AudioAttributes;FZ)V
Landroid/media/IVolumeController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IVolumeController;
Landroid/media/JetPlayer;->mNativePlayerInJavaObj:J
Landroid/media/JetPlayer;->postEventFromNative(Ljava/lang/Object;III)V
@@ -1552,40 +2782,130 @@
Landroid/media/MediaCodec;->getBuffers(Z)[Ljava/nio/ByteBuffer;
Landroid/media/MediaCodec;->mNativeContext:J
Landroid/media/MediaCodec;->releaseOutputBuffer(IZZJ)V
+Landroid/media/MediaCodec;->setParameters([Ljava/lang/String;[Ljava/lang/Object;)V
Landroid/media/MediaFile$MediaFileType;->fileType:I
Landroid/media/MediaFile$MediaFileType;->mimeType:Ljava/lang/String;
Landroid/media/MediaFile;-><init>()V
+Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V
Landroid/media/MediaFile;->FIRST_AUDIO_FILE_TYPE:I
+Landroid/media/MediaFile;->getFileTitle(Ljava/lang/String;)Ljava/lang/String;
Landroid/media/MediaFile;->getFileType(Ljava/lang/String;)Landroid/media/MediaFile$MediaFileType;
Landroid/media/MediaFile;->getFileTypeForMimeType(Ljava/lang/String;)I
Landroid/media/MediaFile;->getMimeTypeForFile(Ljava/lang/String;)Ljava/lang/String;
Landroid/media/MediaFile;->isAudioFileType(I)Z
+Landroid/media/MediaFile;->isDrmFileType(I)Z
Landroid/media/MediaFile;->isImageFileType(I)Z
Landroid/media/MediaFile;->isPlayListFileType(I)Z
Landroid/media/MediaFile;->isVideoFileType(I)Z
Landroid/media/MediaFile;->LAST_AUDIO_FILE_TYPE:I
Landroid/media/MediaFile;->sFileTypeMap:Ljava/util/HashMap;
+Landroid/media/MediaFile;->sFileTypeToFormatMap:Ljava/util/HashMap;
+Landroid/media/MediaFile;->sFormatToMimeTypeMap:Ljava/util/HashMap;
+Landroid/media/MediaFile;->sMimeTypeToFormatMap:Ljava/util/HashMap;
Landroid/media/MediaFormat;->getMap()Ljava/util/Map;
+Landroid/media/MediaFormat;->mMap:Ljava/util/Map;
+Landroid/media/MediaHTTPConnection;-><init>()V
+Landroid/media/MediaHTTPConnection;->connect(Ljava/lang/String;Ljava/lang/String;)Landroid/os/IBinder;
+Landroid/media/MediaHTTPConnection;->disconnect()V
+Landroid/media/MediaHTTPConnection;->getMIMEType()Ljava/lang/String;
+Landroid/media/MediaHTTPConnection;->getUri()Ljava/lang/String;
+Landroid/media/MediaHTTPConnection;->mAllowCrossDomainRedirect:Z
+Landroid/media/MediaHTTPConnection;->mAllowCrossProtocolRedirect:Z
+Landroid/media/MediaHTTPConnection;->mConnection:Ljava/net/HttpURLConnection;
+Landroid/media/MediaHTTPConnection;->mCurrentOffset:J
+Landroid/media/MediaHTTPConnection;->mHeaders:Ljava/util/Map;
+Landroid/media/MediaHTTPConnection;->mTotalSize:J
+Landroid/media/MediaHTTPConnection;->mURL:Ljava/net/URL;
+Landroid/media/MediaHTTPConnection;->readAt(JI)I
Landroid/media/MediaHTTPService;->createHttpServiceBinderIfNecessary(Ljava/lang/String;)Landroid/os/IBinder;
+Landroid/media/MediaInserter;->flushAll()V
Landroid/media/MediaMetadataRetriever;->getEmbeddedPicture(I)[B
+Landroid/media/MediaMuxer;->mCloseGuard:Ldalvik/system/CloseGuard;
+Landroid/media/MediaMuxer;->mNativeObject:J
+Landroid/media/MediaMuxer;->mState:I
+Landroid/media/MediaMuxer;->nativeRelease(J)V
+Landroid/media/MediaMuxer;->nativeSetup(Ljava/io/FileDescriptor;I)J
+Landroid/media/MediaPlayer$TrackInfo;->CREATOR:Landroid/os/Parcelable$Creator;
+Landroid/media/MediaPlayer2$TrackInfo;->getLanguage()Ljava/lang/String;
+Landroid/media/MediaPlayer2$TrackInfo;->getTrackType()I
+Landroid/media/MediaPlayer;->addSubtitleSource(Ljava/io/InputStream;Landroid/media/MediaFormat;)V
+Landroid/media/MediaPlayer;->BYPASS_METADATA_FILTER:Z
+Landroid/media/MediaPlayer;->getMediaTimeProvider()Landroid/media/MediaTimeProvider;
Landroid/media/MediaPlayer;->getMetadata(ZZ)Landroid/media/Metadata;
Landroid/media/MediaPlayer;->invoke(Landroid/os/Parcel;Landroid/os/Parcel;)V
+Landroid/media/MediaPlayer;->METADATA_ALL:Z
Landroid/media/MediaPlayer;->mEventHandler:Landroid/media/MediaPlayer$EventHandler;
+Landroid/media/MediaPlayer;->mOnCompletionListener:Landroid/media/MediaPlayer$OnCompletionListener;
+Landroid/media/MediaPlayer;->mOnErrorListener:Landroid/media/MediaPlayer$OnErrorListener;
+Landroid/media/MediaPlayer;->mOnInfoListener:Landroid/media/MediaPlayer$OnInfoListener;
+Landroid/media/MediaPlayer;->mOnPreparedListener:Landroid/media/MediaPlayer$OnPreparedListener;
+Landroid/media/MediaPlayer;->mOnSeekCompleteListener:Landroid/media/MediaPlayer$OnSeekCompleteListener;
+Landroid/media/MediaPlayer;->mOnTimedTextListener:Landroid/media/MediaPlayer$OnTimedTextListener;
Landroid/media/MediaPlayer;->newRequest()Landroid/os/Parcel;
Landroid/media/MediaPlayer;->setDataSource(Ljava/lang/String;Ljava/util/Map;)V
Landroid/media/MediaPlayer;->setDataSource(Ljava/lang/String;Ljava/util/Map;Ljava/util/List;)V
Landroid/media/MediaPlayer;->setDataSource(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Ljava/util/List;)V
+Landroid/media/MediaPlayer;->setParameter(ILandroid/os/Parcel;)Z
Landroid/media/MediaPlayer;->setRetransmitEndpoint(Ljava/net/InetSocketAddress;)V
+Landroid/media/MediaPlayer;->setSubtitleAnchor(Landroid/media/SubtitleController;Landroid/media/SubtitleController$Anchor;)V
+Landroid/media/MediaRecorder;->native_setup(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)V
Landroid/media/MediaRecorder;->setParameter(Ljava/lang/String;)V
+Landroid/media/MediaRouter$RouteInfo;->getDeviceAddress()Ljava/lang/String;
+Landroid/media/MediaRouter$RouteInfo;->getName(Landroid/content/res/Resources;)Ljava/lang/CharSequence;
Landroid/media/MediaRouter$RouteInfo;->getStatusCode()I
+Landroid/media/MediaRouter$RouteInfo;->isSelected()Z
+Landroid/media/MediaRouter$RouteInfo;->matchesTypes(I)Z
+Landroid/media/MediaRouter$RouteInfo;->mNameResId:I
+Landroid/media/MediaRouter$RouteInfo;->select()V
Landroid/media/MediaRouter$RouteInfo;->STATUS_CONNECTING:I
Landroid/media/MediaRouter;->selectRouteInt(ILandroid/media/MediaRouter$RouteInfo;Z)V
+Landroid/media/MediaScanner$FileEntry;-><init>(JLjava/lang/String;JI)V
+Landroid/media/MediaScanner$FileEntry;->mLastModifiedChanged:Z
+Landroid/media/MediaScanner$FileEntry;->mRowId:J
+Landroid/media/MediaScanner$MyMediaScannerClient;->beginFile(Ljava/lang/String;Ljava/lang/String;JJZZ)Landroid/media/MediaScanner$FileEntry;
+Landroid/media/MediaScanner$MyMediaScannerClient;->doScanFile(Ljava/lang/String;Ljava/lang/String;JJZZZ)Landroid/net/Uri;
+Landroid/media/MediaScanner$MyMediaScannerClient;->endFile(Landroid/media/MediaScanner$FileEntry;ZZZZZ)Landroid/net/Uri;
+Landroid/media/MediaScanner$MyMediaScannerClient;->getFileTypeFromDrm(Ljava/lang/String;)I
+Landroid/media/MediaScanner$MyMediaScannerClient;->handleStringTag(Ljava/lang/String;Ljava/lang/String;)V
+Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I
+Landroid/media/MediaScanner$MyMediaScannerClient;->mIsDrm:Z
+Landroid/media/MediaScanner$MyMediaScannerClient;->mMimeType:Ljava/lang/String;
+Landroid/media/MediaScanner$MyMediaScannerClient;->mNoMedia:Z
+Landroid/media/MediaScanner$MyMediaScannerClient;->mPath:Ljava/lang/String;
+Landroid/media/MediaScanner$MyMediaScannerClient;->scanFile(Ljava/lang/String;JJZZ)V
+Landroid/media/MediaScanner$MyMediaScannerClient;->setMimeType(Ljava/lang/String;)V
+Landroid/media/MediaScanner$MyMediaScannerClient;->toValues()Landroid/content/ContentValues;
+Landroid/media/MediaScanner;-><init>(Landroid/content/Context;Ljava/lang/String;)V
+Landroid/media/MediaScanner;->FILES_PRESCAN_PROJECTION:[Ljava/lang/String;
+Landroid/media/MediaScanner;->isDrmEnabled()Z
Landroid/media/MediaScanner;->isNoMediaPath(Ljava/lang/String;)Z
+Landroid/media/MediaScanner;->makeEntryFor(Ljava/lang/String;)Landroid/media/MediaScanner$FileEntry;
+Landroid/media/MediaScanner;->mAudioUri:Landroid/net/Uri;
Landroid/media/MediaScanner;->mClient:Landroid/media/MediaScanner$MyMediaScannerClient;
+Landroid/media/MediaScanner;->mContext:Landroid/content/Context;
+Landroid/media/MediaScanner;->mDefaultAlarmAlertFilename:Ljava/lang/String;
+Landroid/media/MediaScanner;->mDefaultNotificationFilename:Ljava/lang/String;
+Landroid/media/MediaScanner;->mDefaultRingtoneFilename:Ljava/lang/String;
+Landroid/media/MediaScanner;->mFilesUri:Landroid/net/Uri;
+Landroid/media/MediaScanner;->mMediaInserter:Landroid/media/MediaInserter;
+Landroid/media/MediaScanner;->mPackageName:Ljava/lang/String;
+Landroid/media/MediaScanner;->postscan([Ljava/lang/String;)V
+Landroid/media/MediaScanner;->prescan(Ljava/lang/String;Z)V
Landroid/media/MediaScanner;->scanSingleFile(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
+Landroid/media/MediaScanner;->setLocale(Ljava/lang/String;)V
+Landroid/media/Metadata;-><init>()V
Landroid/media/Metadata;->getBoolean(I)Z
+Landroid/media/Metadata;->getByteArray(I)[B
+Landroid/media/Metadata;->getDate(I)Ljava/util/Date;
+Landroid/media/Metadata;->getDouble(I)D
+Landroid/media/Metadata;->getInt(I)I
+Landroid/media/Metadata;->getLong(I)J
+Landroid/media/Metadata;->getString(I)Ljava/lang/String;
Landroid/media/Metadata;->has(I)Z
+Landroid/media/Metadata;->keySet()Ljava/util/Set;
+Landroid/media/Metadata;->parse(Landroid/os/Parcel;)Z
Landroid/media/Metadata;->PAUSE_AVAILABLE:I
+Landroid/media/Metadata;->SEEK_AVAILABLE:I
Landroid/media/Metadata;->SEEK_BACKWARD_AVAILABLE:I
Landroid/media/Metadata;->SEEK_FORWARD_AVAILABLE:I
Landroid/media/MicrophoneInfo;-><init>(Ljava/lang/String;ILjava/lang/String;IIILandroid/media/MicrophoneInfo$Coordinate3F;Landroid/media/MicrophoneInfo$Coordinate3F;Ljava/util/List;Ljava/util/List;FFFI)V
@@ -1599,16 +2919,34 @@
Landroid/media/PlaybackParams;->SET_AUDIO_STRETCH_MODE:I
Landroid/media/PlaybackParams;->SET_PITCH:I
Landroid/media/PlaybackParams;->SET_SPEED:I
+Landroid/media/projection/IMediaProjectionManager;->hasProjectionPermission(ILjava/lang/String;)Z
+Landroid/media/RemoteControlClient;->MEDIA_POSITION_READABLE:I
+Landroid/media/RemoteControlClient;->MEDIA_POSITION_WRITABLE:I
+Landroid/media/RemoteController;->getUpdateListener()Landroid/media/RemoteController$OnClientUpdateListener;
+Landroid/media/RemoteController;->mCurrentSession:Landroid/media/session/MediaController;
+Landroid/media/RemoteController;->setArtworkConfiguration(ZII)Z
+Landroid/media/RemoteDisplay;->dispose()V
Landroid/media/RemoteDisplay;->notifyDisplayConnected(Landroid/view/Surface;IIII)V
Landroid/media/RemoteDisplay;->notifyDisplayDisconnected()V
Landroid/media/RemoteDisplay;->notifyDisplayError(I)V
Landroid/media/RemoteDisplayState;-><init>()V
Landroid/media/RemoteDisplayState;->displays:Ljava/util/ArrayList;
+Landroid/media/Ringtone;-><init>(Landroid/content/Context;Z)V
+Landroid/media/Ringtone;->getUri()Landroid/net/Uri;
+Landroid/media/Ringtone;->mLocalPlayer:Landroid/media/MediaPlayer;
+Landroid/media/Ringtone;->mUri:Landroid/net/Uri;
+Landroid/media/Ringtone;->setUri(Landroid/net/Uri;)V
+Landroid/media/RingtoneManager;->getInternalRingtones()Landroid/database/Cursor;
+Landroid/media/RingtoneManager;->getMediaRingtones(Landroid/content/Context;)Landroid/database/Cursor;
Landroid/media/RingtoneManager;->getRingtone(Landroid/content/Context;Landroid/net/Uri;I)Landroid/media/Ringtone;
+Landroid/media/RingtoneManager;->mCursor:Landroid/database/Cursor;
Landroid/media/session/ISessionManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/session/ISessionManager;
+Landroid/media/session/MediaController;->controlsSameSession(Landroid/media/session/MediaController;)Z
+Landroid/media/session/MediaSession$QueueItem;->mId:J
Landroid/media/session/MediaSession;->getCallingPackage()Ljava/lang/String;
Landroid/media/session/MediaSession;->mCallback:Landroid/media/session/MediaSession$CallbackMessageHandler;
Landroid/media/session/MediaSessionLegacyHelper;->getHelper(Landroid/content/Context;)Landroid/media/session/MediaSessionLegacyHelper;
+Landroid/media/session/MediaSessionManager;->getActiveSessionsForUser(Landroid/content/ComponentName;I)Ljava/util/List;
Landroid/media/soundtrigger/SoundTriggerDetector$EventPayload;->getCaptureSession()Ljava/lang/Integer;
Landroid/media/soundtrigger/SoundTriggerDetector$EventPayload;->getData()[B
Landroid/media/soundtrigger/SoundTriggerManager;->isRecognitionActive(Ljava/util/UUID;)Z
@@ -1618,14 +2956,21 @@
Landroid/media/soundtrigger/SoundTriggerManager;->stopRecognition(Ljava/util/UUID;)I
Landroid/media/soundtrigger/SoundTriggerManager;->unloadSoundModel(Ljava/util/UUID;)I
Landroid/media/SubtitleController;-><init>(Landroid/content/Context;Landroid/media/MediaTimeProvider;Landroid/media/SubtitleController$Listener;)V
+Landroid/media/SubtitleController;->hide()V
Landroid/media/SubtitleController;->mHandler:Landroid/os/Handler;
+Landroid/media/SubtitleController;->registerRenderer(Landroid/media/SubtitleController$Renderer;)V
+Landroid/media/SubtitleController;->reset()V
+Landroid/media/SubtitleController;->show()V
Landroid/media/SubtitleTrack$RenderingWidget;->draw(Landroid/graphics/Canvas;)V
Landroid/media/SubtitleTrack$RenderingWidget;->onAttachedToWindow()V
Landroid/media/SubtitleTrack$RenderingWidget;->onDetachedFromWindow()V
Landroid/media/SubtitleTrack$RenderingWidget;->setOnChangedListener(Landroid/media/SubtitleTrack$RenderingWidget$OnChangedListener;)V
Landroid/media/SubtitleTrack$RenderingWidget;->setSize(II)V
Landroid/media/ThumbnailUtils;->createImageThumbnail(Ljava/lang/String;I)Landroid/graphics/Bitmap;
+Landroid/media/ThumbnailUtils;->TARGET_SIZE_MICRO_THUMBNAIL:I
+Landroid/media/TimedText;->getObject(I)Ljava/lang/Object;
Landroid/media/ToneGenerator;->mNativeContext:J
+Landroid/media/TtmlRenderer;-><init>(Landroid/content/Context;)V
Landroid/media/tv/TvContract$PreviewProgramColumns;->ASPECT_RATIO_16_9:I
Landroid/media/tv/TvContract$PreviewProgramColumns;->ASPECT_RATIO_1_1:I
Landroid/media/tv/TvContract$PreviewProgramColumns;->ASPECT_RATIO_2_3:I
@@ -1700,6 +3045,8 @@
Landroid/media/tv/TvContract$ProgramColumns;->REVIEW_RATING_STYLE_PERCENTAGE:I
Landroid/media/tv/TvContract$ProgramColumns;->REVIEW_RATING_STYLE_STARS:I
Landroid/media/tv/TvContract$ProgramColumns;->REVIEW_RATING_STYLE_THUMBS_UP_DOWN:I
+Landroid/media/tv/TvInputInfo;->getComponent()Landroid/content/ComponentName;
+Landroid/media/tv/TvInputService$Session;->mOverlayFrame:Landroid/graphics/Rect;
Landroid/media/VolumeShaper$Configuration;-><init>(IIIDI[F[F)V
Landroid/media/VolumeShaper$Configuration;->mDurationMs:D
Landroid/media/VolumeShaper$Configuration;->mId:I
@@ -1715,20 +3062,44 @@
Landroid/media/VolumeShaper$State;-><init>(FF)V
Landroid/media/VolumeShaper$State;->mVolume:F
Landroid/media/VolumeShaper$State;->mXOffset:F
+Landroid/media/WebVttRenderer;-><init>(Landroid/content/Context;)V
+Landroid/mtp/MtpPropertyList;->append(IIIJ)V
+Landroid/mtp/MtpPropertyList;->append(IILjava/lang/String;)V
+Landroid/mtp/MtpStorage;->getPath()Ljava/lang/String;
+Landroid/mtp/MtpStorage;->getStorageId()I
Landroid/net/ConnectivityManager;->ACTION_TETHER_STATE_CHANGED:Ljava/lang/String;
Landroid/net/ConnectivityManager;->EXTRA_ACTIVE_TETHER:Ljava/lang/String;
+Landroid/net/ConnectivityManager;->EXTRA_AVAILABLE_TETHER:Ljava/lang/String;
+Landroid/net/ConnectivityManager;->EXTRA_ERRORED_TETHER:Ljava/lang/String;
+Landroid/net/ConnectivityManager;->from(Landroid/content/Context;)Landroid/net/ConnectivityManager;
Landroid/net/ConnectivityManager;->getActiveLinkProperties()Landroid/net/LinkProperties;
+Landroid/net/ConnectivityManager;->getActiveNetworkInfoForUid(I)Landroid/net/NetworkInfo;
+Landroid/net/ConnectivityManager;->getDefaultNetworkCapabilitiesForUser(I)[Landroid/net/NetworkCapabilities;
+Landroid/net/ConnectivityManager;->getInstance()Landroid/net/ConnectivityManager;
+Landroid/net/ConnectivityManager;->getLastTetherError(Ljava/lang/String;)I
Landroid/net/ConnectivityManager;->getLinkProperties(I)Landroid/net/LinkProperties;
Landroid/net/ConnectivityManager;->getMobileDataEnabled()Z
+Landroid/net/ConnectivityManager;->getNetworkForType(I)Landroid/net/Network;
+Landroid/net/ConnectivityManager;->getNetworkTypeName(I)Ljava/lang/String;
+Landroid/net/ConnectivityManager;->getTetherableBluetoothRegexs()[Ljava/lang/String;
+Landroid/net/ConnectivityManager;->getTetherableIfaces()[Ljava/lang/String;
Landroid/net/ConnectivityManager;->getTetherableUsbRegexs()[Ljava/lang/String;
Landroid/net/ConnectivityManager;->getTetherableWifiRegexs()[Ljava/lang/String;
Landroid/net/ConnectivityManager;->getTetheredIfaces()[Ljava/lang/String;
+Landroid/net/ConnectivityManager;->getTetheringErroredIfaces()[Ljava/lang/String;
+Landroid/net/ConnectivityManager;->INET_CONDITION_ACTION:Ljava/lang/String;
Landroid/net/ConnectivityManager;->isNetworkSupported(I)Z
Landroid/net/ConnectivityManager;->isNetworkTypeMobile(I)Z
Landroid/net/ConnectivityManager;->mService:Landroid/net/IConnectivityManager;
+Landroid/net/ConnectivityManager;->networkCapabilitiesForFeature(ILjava/lang/String;)Landroid/net/NetworkCapabilities;
Landroid/net/ConnectivityManager;->registerNetworkFactory(Landroid/os/Messenger;Ljava/lang/String;)V
+Landroid/net/ConnectivityManager;->removeRequestForFeature(Landroid/net/NetworkCapabilities;)Z
+Landroid/net/ConnectivityManager;->requestNetworkForFeatureLocked(Landroid/net/NetworkCapabilities;)Landroid/net/NetworkRequest;
Landroid/net/ConnectivityManager;->requestRouteToHostAddress(ILjava/net/InetAddress;)Z
Landroid/net/ConnectivityManager;->setBackgroundDataSetting(Z)V
+Landroid/net/ConnectivityManager;->setProcessDefaultNetworkForHostResolution(Landroid/net/Network;)Z
+Landroid/net/ConnectivityManager;->setUsbTethering(Z)I
+Landroid/net/ConnectivityManager;->sLegacyRequests:Ljava/util/HashMap;
Landroid/net/ConnectivityManager;->TYPE_MOBILE_CBS:I
Landroid/net/ConnectivityManager;->TYPE_MOBILE_EMERGENCY:I
Landroid/net/ConnectivityManager;->TYPE_MOBILE_FOTA:I
@@ -1737,6 +3108,11 @@
Landroid/net/ConnectivityManager;->TYPE_NONE:I
Landroid/net/ConnectivityManager;->TYPE_PROXY:I
Landroid/net/ConnectivityManager;->TYPE_WIFI_P2P:I
+Landroid/net/ConnectivityManager;->unregisterNetworkFactory(Landroid/os/Messenger;)V
+Landroid/net/http/SslCertificate;->getDigest(Ljava/security/cert/X509Certificate;Ljava/lang/String;)Ljava/lang/String;
+Landroid/net/http/SslCertificate;->getSerialNumber(Ljava/security/cert/X509Certificate;)Ljava/lang/String;
+Landroid/net/http/SslCertificate;->inflateCertificateView(Landroid/content/Context;)Landroid/view/View;
+Landroid/net/http/SslCertificate;->mX509Certificate:Ljava/security/cert/X509Certificate;
Landroid/net/http/SslError;->mCertificate:Landroid/net/http/SslCertificate;
Landroid/net/IConnectivityManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/net/IConnectivityManager$Stub$Proxy;->getActiveLinkProperties()Landroid/net/LinkProperties;
@@ -1747,24 +3123,133 @@
Landroid/net/IConnectivityManager$Stub$Proxy;->getTetherableUsbRegexs()[Ljava/lang/String;
Landroid/net/IConnectivityManager$Stub$Proxy;->getTetheredIfaces()[Ljava/lang/String;
Landroid/net/IConnectivityManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
+Landroid/net/IConnectivityManager$Stub;-><init>()V
Landroid/net/IConnectivityManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/IConnectivityManager;
Landroid/net/IConnectivityManager;->getActiveLinkProperties()Landroid/net/LinkProperties;
Landroid/net/IConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
Landroid/net/IConnectivityManager;->getAllNetworkInfo()[Landroid/net/NetworkInfo;
+Landroid/net/IConnectivityManager;->getLastTetherError(Ljava/lang/String;)I
+Landroid/net/IConnectivityManager;->getTetherableIfaces()[Ljava/lang/String;
+Landroid/net/IConnectivityManager;->getTetherableUsbRegexs()[Ljava/lang/String;
+Landroid/net/IConnectivityManager;->getTetherableWifiRegexs()[Ljava/lang/String;
Landroid/net/IConnectivityManager;->getTetheredIfaces()[Ljava/lang/String;
+Landroid/net/IConnectivityManager;->getTetheringErroredIfaces()[Ljava/lang/String;
+Landroid/net/IConnectivityManager;->setAirplaneMode(Z)V
+Landroid/net/IConnectivityManager;->startLegacyVpn(Lcom/android/internal/net/VpnProfile;)V
+Landroid/net/INetworkManagementEventObserver$Stub;-><init>()V
+Landroid/net/INetworkPolicyListener$Stub;-><init>()V
Landroid/net/INetworkPolicyManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkPolicyManager;
+Landroid/net/INetworkPolicyManager;->getRestrictBackground()Z
+Landroid/net/INetworkPolicyManager;->getUidPolicy(I)I
+Landroid/net/INetworkPolicyManager;->setNetworkPolicies([Landroid/net/NetworkPolicy;)V
+Landroid/net/INetworkPolicyManager;->setRestrictBackground(Z)V
+Landroid/net/INetworkPolicyManager;->setUidPolicy(II)V
+Landroid/net/INetworkPolicyManager;->snoozeLimit(Landroid/net/NetworkTemplate;)V
Landroid/net/INetworkScoreService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkScoreService;
Landroid/net/INetworkStatsService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/net/INetworkStatsService$Stub$Proxy;->getMobileIfaces()[Ljava/lang/String;
+Landroid/net/INetworkStatsService;->forceUpdate()V
+Landroid/net/INetworkStatsService;->getMobileIfaces()[Ljava/lang/String;
+Landroid/net/INetworkStatsSession;->close()V
+Landroid/net/INetworkStatsSession;->getSummaryForAllUid(Landroid/net/NetworkTemplate;JJZ)Landroid/net/NetworkStats;
+Landroid/net/INetworkStatsSession;->getSummaryForNetwork(Landroid/net/NetworkTemplate;JJ)Landroid/net/NetworkStats;
+Landroid/net/InterfaceConfiguration;->clearFlag(Ljava/lang/String;)V
+Landroid/net/InterfaceConfiguration;->getFlags()Ljava/lang/Iterable;
+Landroid/net/InterfaceConfiguration;->setFlag(Ljava/lang/String;)V
+Landroid/net/InterfaceConfiguration;->setInterfaceDown()V
+Landroid/net/InterfaceConfiguration;->setInterfaceUp()V
+Landroid/net/IpConfiguration$IpAssignment;->STATIC:Landroid/net/IpConfiguration$IpAssignment;
+Landroid/net/IpConfiguration$ProxySettings;->NONE:Landroid/net/IpConfiguration$ProxySettings;
+Landroid/net/IpConfiguration;-><init>(Landroid/net/IpConfiguration$IpAssignment;Landroid/net/IpConfiguration$ProxySettings;Landroid/net/StaticIpConfiguration;Landroid/net/ProxyInfo;)V
Landroid/net/IpConfiguration;->httpProxy:Landroid/net/ProxyInfo;
+Landroid/net/LinkAddress;->getNetworkPrefixLength()I
+Landroid/net/LinkProperties;->addLinkAddress(Landroid/net/LinkAddress;)Z
+Landroid/net/LinkProperties;->getAddresses()Ljava/util/List;
+Landroid/net/LinkProperties;->getAllAddresses()Ljava/util/List;
+Landroid/net/LinkProperties;->getAllLinkAddresses()Ljava/util/List;
+Landroid/net/LinkProperties;->isIdenticalInterfaceName(Landroid/net/LinkProperties;)Z
Landroid/net/LinkProperties;->setHttpProxy(Landroid/net/ProxyInfo;)V
+Landroid/net/LinkQualityInfo;->setDataSampleDuration(I)V
+Landroid/net/LinkQualityInfo;->setLastDataSampleTime(J)V
+Landroid/net/LinkQualityInfo;->setPacketCount(J)V
+Landroid/net/LinkQualityInfo;->setPacketErrorCount(J)V
+Landroid/net/LocalSocket;->impl:Landroid/net/LocalSocketImpl;
+Landroid/net/LocalSocketImpl;-><init>()V
Landroid/net/LocalSocketImpl;->inboundFileDescriptors:[Ljava/io/FileDescriptor;
Landroid/net/LocalSocketImpl;->outboundFileDescriptors:[Ljava/io/FileDescriptor;
+Landroid/net/MobileLinkQualityInfo;-><init>()V
+Landroid/net/MobileLinkQualityInfo;->getMobileNetworkType()I
+Landroid/net/MobileLinkQualityInfo;->setCdmaDbm(I)V
+Landroid/net/MobileLinkQualityInfo;->setCdmaEcio(I)V
+Landroid/net/MobileLinkQualityInfo;->setEvdoDbm(I)V
+Landroid/net/MobileLinkQualityInfo;->setEvdoEcio(I)V
+Landroid/net/MobileLinkQualityInfo;->setEvdoSnr(I)V
+Landroid/net/MobileLinkQualityInfo;->setGsmErrorRate(I)V
+Landroid/net/MobileLinkQualityInfo;->setLteCqi(I)V
+Landroid/net/MobileLinkQualityInfo;->setLteRsrp(I)V
+Landroid/net/MobileLinkQualityInfo;->setLteRsrq(I)V
+Landroid/net/MobileLinkQualityInfo;->setLteRssnr(I)V
+Landroid/net/MobileLinkQualityInfo;->setLteSignalStrength(I)V
+Landroid/net/MobileLinkQualityInfo;->setMobileNetworkType(I)V
+Landroid/net/MobileLinkQualityInfo;->setRssi(I)V
+Landroid/net/NetworkAgent;->sendNetworkInfo(Landroid/net/NetworkInfo;)V
+Landroid/net/NetworkCapabilities;-><init>()V
+Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+Landroid/net/NetworkCapabilities;->addTransportType(I)Landroid/net/NetworkCapabilities;
Landroid/net/NetworkCapabilities;->getCapabilities()[I
Landroid/net/NetworkCapabilities;->getTransportTypes()[I
+Landroid/net/NetworkCapabilities;->mNetworkCapabilities:J
+Landroid/net/NetworkCapabilities;->mSignalStrength:I
+Landroid/net/NetworkCapabilities;->removeCapability(I)Landroid/net/NetworkCapabilities;
+Landroid/net/NetworkCapabilities;->setSignalStrength(I)Landroid/net/NetworkCapabilities;
+Landroid/net/NetworkFactory;-><init>(Landroid/os/Looper;Landroid/content/Context;Ljava/lang/String;Landroid/net/NetworkCapabilities;)V
+Landroid/net/NetworkFactory;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+Landroid/net/NetworkFactory;->setScoreFilter(I)V
+Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
+Landroid/net/NetworkInfo;-><init>(Landroid/net/NetworkInfo;)V
+Landroid/net/NetworkInfo;->setDetailedState(Landroid/net/NetworkInfo$DetailedState;Ljava/lang/String;Ljava/lang/String;)V
+Landroid/net/NetworkInfo;->setFailover(Z)V
+Landroid/net/NetworkInfo;->setIsAvailable(Z)V
+Landroid/net/NetworkInfo;->setRoaming(Z)V
+Landroid/net/NetworkInfo;->setSubtype(ILjava/lang/String;)V
+Landroid/net/NetworkPolicy;-><init>(Landroid/net/NetworkTemplate;ILjava/lang/String;JJJJZZ)V
+Landroid/net/NetworkPolicy;->clearSnooze()V
+Landroid/net/NetworkPolicy;->compareTo(Landroid/net/NetworkPolicy;)I
+Landroid/net/NetworkPolicy;->CREATOR:Landroid/os/Parcelable$Creator;
+Landroid/net/NetworkPolicy;->inferred:Z
+Landroid/net/NetworkPolicy;->isOverLimit(J)Z
+Landroid/net/NetworkPolicy;->isOverWarning(J)Z
+Landroid/net/NetworkPolicy;->limitBytes:J
+Landroid/net/NetworkPolicy;->metered:Z
+Landroid/net/NetworkPolicy;->template:Landroid/net/NetworkTemplate;
+Landroid/net/NetworkPolicy;->warningBytes:J
+Landroid/net/NetworkPolicyManager;->from(Landroid/content/Context;)Landroid/net/NetworkPolicyManager;
+Landroid/net/NetworkPolicyManager;->getNetworkPolicies()[Landroid/net/NetworkPolicy;
+Landroid/net/NetworkPolicyManager;->getRestrictBackground()Z
+Landroid/net/NetworkPolicyManager;->getUidPolicy(I)I
+Landroid/net/NetworkPolicyManager;->getUidsWithPolicy(I)[I
Landroid/net/NetworkPolicyManager;->mService:Landroid/net/INetworkPolicyManager;
+Landroid/net/NetworkPolicyManager;->registerListener(Landroid/net/INetworkPolicyListener;)V
+Landroid/net/NetworkPolicyManager;->setRestrictBackground(Z)V
+Landroid/net/NetworkPolicyManager;->setUidPolicy(II)V
+Landroid/net/NetworkPolicyManager;->unregisterListener(Landroid/net/INetworkPolicyListener;)V
+Landroid/net/NetworkQuotaInfo;->CREATOR:Landroid/os/Parcelable$Creator;
+Landroid/net/NetworkRequest$Builder;->clearCapabilities()Landroid/net/NetworkRequest$Builder;
+Landroid/net/NetworkRequest;->legacyType:I
+Landroid/net/NetworkRequest;->requestId:I
+Landroid/net/NetworkState;-><init>(Landroid/os/Parcel;)V
+Landroid/net/NetworkState;->CREATOR:Landroid/os/Parcelable$Creator;
+Landroid/net/NetworkStats;-><init>(Landroid/os/Parcel;)V
Landroid/net/NetworkStats;->capacity:I
+Landroid/net/NetworkStats;->combineAllValues(Landroid/net/NetworkStats;)V
+Landroid/net/NetworkStats;->CREATOR:Landroid/os/Parcelable$Creator;
Landroid/net/NetworkStats;->defaultNetwork:[I
+Landroid/net/NetworkStats;->getTotal(Landroid/net/NetworkStats$Entry;)Landroid/net/NetworkStats$Entry;
+Landroid/net/NetworkStats;->getTotal(Landroid/net/NetworkStats$Entry;I)Landroid/net/NetworkStats$Entry;
+Landroid/net/NetworkStats;->getTotalBytes()J
+Landroid/net/NetworkStats;->getTotalIncludingTags(Landroid/net/NetworkStats$Entry;)Landroid/net/NetworkStats$Entry;
+Landroid/net/NetworkStats;->getUniqueUids()[I
+Landroid/net/NetworkStats;->getValues(ILandroid/net/NetworkStats$Entry;)Landroid/net/NetworkStats$Entry;
Landroid/net/NetworkStats;->iface:[Ljava/lang/String;
Landroid/net/NetworkStats;->metered:[I
Landroid/net/NetworkStats;->operations:[J
@@ -1772,15 +3257,45 @@
Landroid/net/NetworkStats;->rxBytes:[J
Landroid/net/NetworkStats;->rxPackets:[J
Landroid/net/NetworkStats;->set:[I
+Landroid/net/NetworkStats;->size()I
Landroid/net/NetworkStats;->size:I
Landroid/net/NetworkStats;->tag:[I
Landroid/net/NetworkStats;->txBytes:[J
Landroid/net/NetworkStats;->txPackets:[J
Landroid/net/NetworkStats;->uid:[I
+Landroid/net/NetworkStatsHistory$Entry;->bucketDuration:J
+Landroid/net/NetworkStatsHistory$Entry;->bucketStart:J
Landroid/net/NetworkStatsHistory$Entry;->rxBytes:J
+Landroid/net/NetworkStatsHistory$Entry;->rxPackets:J
+Landroid/net/NetworkStatsHistory$Entry;->txPackets:J
+Landroid/net/NetworkStatsHistory;-><init>(J)V
+Landroid/net/NetworkStatsHistory;-><init>(Landroid/os/Parcel;)V
+Landroid/net/NetworkStatsHistory;->CREATOR:Landroid/os/Parcelable$Creator;
+Landroid/net/NetworkStatsHistory;->getEnd()J
+Landroid/net/NetworkStatsHistory;->getIndexBefore(J)I
+Landroid/net/NetworkStatsHistory;->getValues(ILandroid/net/NetworkStatsHistory$Entry;)Landroid/net/NetworkStatsHistory$Entry;
+Landroid/net/NetworkStatsHistory;->getValues(JJJLandroid/net/NetworkStatsHistory$Entry;)Landroid/net/NetworkStatsHistory$Entry;
+Landroid/net/NetworkStatsHistory;->recordEntireHistory(Landroid/net/NetworkStatsHistory;)V
+Landroid/net/NetworkStatsHistory;->size()I
+Landroid/net/NetworkTemplate;->buildTemplateEthernet()Landroid/net/NetworkTemplate;
+Landroid/net/NetworkTemplate;->buildTemplateMobileWildcard()Landroid/net/NetworkTemplate;
Landroid/net/NetworkTemplate;->buildTemplateWifi()Landroid/net/NetworkTemplate;
+Landroid/net/NetworkTemplate;->buildTemplateWifiWildcard()Landroid/net/NetworkTemplate;
+Landroid/net/NetworkTemplate;->CREATOR:Landroid/os/Parcelable$Creator;
+Landroid/net/NetworkTemplate;->getMatchRule()I
+Landroid/net/NetworkTemplate;->getSubscriberId()Ljava/lang/String;
+Landroid/net/NetworkTemplate;->normalize(Landroid/net/NetworkTemplate;[Ljava/lang/String;)Landroid/net/NetworkTemplate;
+Landroid/net/NetworkUtils;->intToInetAddress(I)Ljava/net/InetAddress;
+Landroid/net/NetworkUtils;->numericToInetAddress(Ljava/lang/String;)Ljava/net/InetAddress;
+Landroid/net/NetworkUtils;->prefixLengthToNetmaskInt(I)I
+Landroid/net/NetworkUtils;->trimV4AddrZeros(Ljava/lang/String;)Ljava/lang/String;
+Landroid/net/nsd/INsdManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/nsd/INsdManager;
+Landroid/net/nsd/INsdManager;->getMessenger()Landroid/os/Messenger;
+Landroid/net/nsd/NsdServiceInfo;->setAttribute(Ljava/lang/String;[B)V
Landroid/net/Proxy;->getProxy(Landroid/content/Context;Ljava/lang/String;)Ljava/net/Proxy;
Landroid/net/ProxyInfo;-><init>(Ljava/lang/String;ILjava/lang/String;)V
+Landroid/net/RouteInfo;-><init>(Landroid/net/LinkAddress;Ljava/net/InetAddress;Ljava/lang/String;)V
+Landroid/net/RouteInfo;-><init>(Ljava/net/InetAddress;)V
Landroid/net/SntpClient;-><init>()V
Landroid/net/SSLCertificateSocketFactory;-><init>(ILandroid/net/SSLSessionCache;Z)V
Landroid/net/SSLCertificateSocketFactory;->castToOpenSSLSocket(Ljava/net/Socket;)Lcom/android/org/conscrypt/OpenSSLSocketImpl;
@@ -1813,23 +3328,79 @@
Landroid/net/TrafficStats;->getStatsService()Landroid/net/INetworkStatsService;
Landroid/net/TrafficStats;->getTxBytes(Ljava/lang/String;)J
Landroid/net/Uri;-><init>()V
+Landroid/net/Uri;->getCanonicalUri()Landroid/net/Uri;
Landroid/net/Uri;->toSafeString()Ljava/lang/String;
+Landroid/net/VpnService$Builder;->mAddresses:Ljava/util/List;
+Landroid/net/VpnService$Builder;->mRoutes:Ljava/util/List;
+Landroid/net/WebAddress;->getAuthInfo()Ljava/lang/String;
+Landroid/net/WebAddress;->getHost()Ljava/lang/String;
+Landroid/net/WebAddress;->getPath()Ljava/lang/String;
+Landroid/net/WebAddress;->getPort()I
+Landroid/net/WebAddress;->getScheme()Ljava/lang/String;
+Landroid/net/WebAddress;->mHost:Ljava/lang/String;
+Landroid/net/WebAddress;->mPath:Ljava/lang/String;
+Landroid/net/WebAddress;->mPort:I
+Landroid/net/WebAddress;->mScheme:Ljava/lang/String;
+Landroid/net/WebAddress;->setHost(Ljava/lang/String;)V
+Landroid/net/WebAddress;->setPath(Ljava/lang/String;)V
Landroid/net/wifi/IWifiManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+Landroid/net/wifi/IWifiManager$Stub;-><init>()V
Landroid/net/wifi/IWifiManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/IWifiManager;
+Landroid/net/wifi/IWifiManager;->getCurrentNetwork()Landroid/net/Network;
+Landroid/net/wifi/IWifiManager;->getWifiApConfiguration()Landroid/net/wifi/WifiConfiguration;
+Landroid/net/wifi/IWifiManager;->getWifiApEnabledState()I
Landroid/net/wifi/IWifiScanner$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/net/wifi/IWifiScanner$Stub$Proxy;->mRemote:Landroid/os/IBinder;
Landroid/net/wifi/IWifiScanner$Stub;-><init>()V
Landroid/net/wifi/IWifiScanner$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/IWifiScanner;
+Landroid/net/wifi/p2p/IWifiP2pManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/p2p/IWifiP2pManager;
+Landroid/net/wifi/p2p/WifiP2pConfig;-><init>(Ljava/lang/String;)V
+Landroid/net/wifi/p2p/WifiP2pConfig;->MIN_GROUP_OWNER_INTENT:I
+Landroid/net/wifi/p2p/WifiP2pConfig;->netId:I
+Landroid/net/wifi/p2p/WifiP2pDevice;-><init>(Ljava/lang/String;)V
+Landroid/net/wifi/p2p/WifiP2pDevice;->deviceCapability:I
+Landroid/net/wifi/p2p/WifiP2pDevice;->groupCapability:I
+Landroid/net/wifi/p2p/WifiP2pDevice;->update(Landroid/net/wifi/p2p/WifiP2pDevice;)V
+Landroid/net/wifi/p2p/WifiP2pDevice;->wfdInfo:Landroid/net/wifi/p2p/WifiP2pWfdInfo;
+Landroid/net/wifi/p2p/WifiP2pDevice;->wpsConfigMethodsSupported:I
+Landroid/net/wifi/p2p/WifiP2pDeviceList;->remove(Ljava/lang/String;)Landroid/net/wifi/p2p/WifiP2pDevice;
+Landroid/net/wifi/p2p/WifiP2pDeviceList;->update(Landroid/net/wifi/p2p/WifiP2pDevice;)V
+Landroid/net/wifi/p2p/WifiP2pGroup;-><init>(Ljava/lang/String;)V
Landroid/net/wifi/p2p/WifiP2pGroup;->getNetworkId()I
+Landroid/net/wifi/p2p/WifiP2pGroup;->isClientListEmpty()Z
+Landroid/net/wifi/p2p/WifiP2pGroup;->setInterface(Ljava/lang/String;)V
+Landroid/net/wifi/p2p/WifiP2pGroup;->setIsGroupOwner(Z)V
+Landroid/net/wifi/p2p/WifiP2pGroup;->setNetworkId(I)V
Landroid/net/wifi/p2p/WifiP2pGroup;->TEMPORARY_NET_ID:I
+Landroid/net/wifi/p2p/WifiP2pGroupList;-><init>(Landroid/net/wifi/p2p/WifiP2pGroupList;Landroid/net/wifi/p2p/WifiP2pGroupList$GroupDeleteListener;)V
Landroid/net/wifi/p2p/WifiP2pGroupList;->getGroupList()Ljava/util/Collection;
+Landroid/net/wifi/p2p/WifiP2pGroupList;->mGroups:Landroid/util/LruCache;
Landroid/net/wifi/p2p/WifiP2pManager$Channel;->mAsyncChannel:Lcom/android/internal/util/AsyncChannel;
Landroid/net/wifi/p2p/WifiP2pManager$Channel;->putListener(Ljava/lang/Object;)I
+Landroid/net/wifi/p2p/WifiP2pManager;-><init>(Landroid/net/wifi/p2p/IWifiP2pManager;)V
Landroid/net/wifi/p2p/WifiP2pManager;->CREATE_GROUP:I
Landroid/net/wifi/p2p/WifiP2pManager;->deletePersistentGroup(Landroid/net/wifi/p2p/WifiP2pManager$Channel;ILandroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V
Landroid/net/wifi/p2p/WifiP2pManager;->requestPersistentGroupInfo(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$PersistentGroupInfoListener;)V
Landroid/net/wifi/p2p/WifiP2pManager;->setDeviceName(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Ljava/lang/String;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V
+Landroid/net/wifi/p2p/WifiP2pManager;->setMiracastMode(I)V
+Landroid/net/wifi/p2p/WifiP2pManager;->setWFDInfo(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pWfdInfo;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V
Landroid/net/wifi/p2p/WifiP2pManager;->setWifiP2pChannels(Landroid/net/wifi/p2p/WifiP2pManager$Channel;IILandroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V
+Landroid/net/wifi/p2p/WifiP2pManager;->startWps(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/WpsInfo;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V
+Landroid/net/wifi/p2p/WifiP2pProvDiscEvent;-><init>()V
+Landroid/net/wifi/p2p/WifiP2pProvDiscEvent;->device:Landroid/net/wifi/p2p/WifiP2pDevice;
+Landroid/net/wifi/p2p/WifiP2pProvDiscEvent;->event:I
+Landroid/net/wifi/p2p/WifiP2pProvDiscEvent;->pin:Ljava/lang/String;
+Landroid/net/wifi/p2p/WifiP2pWfdInfo;-><init>()V
+Landroid/net/wifi/p2p/WifiP2pWfdInfo;-><init>(III)V
+Landroid/net/wifi/p2p/WifiP2pWfdInfo;-><init>(Landroid/net/wifi/p2p/WifiP2pWfdInfo;)V
+Landroid/net/wifi/p2p/WifiP2pWfdInfo;->CREATOR:Landroid/os/Parcelable$Creator;
+Landroid/net/wifi/p2p/WifiP2pWfdInfo;->getDeviceType()I
+Landroid/net/wifi/p2p/WifiP2pWfdInfo;->isWfdEnabled()Z
+Landroid/net/wifi/p2p/WifiP2pWfdInfo;->setControlPort(I)V
+Landroid/net/wifi/p2p/WifiP2pWfdInfo;->setDeviceType(I)Z
+Landroid/net/wifi/p2p/WifiP2pWfdInfo;->setMaxThroughput(I)V
+Landroid/net/wifi/p2p/WifiP2pWfdInfo;->setSessionAvailable(Z)V
+Landroid/net/wifi/p2p/WifiP2pWfdInfo;->setWfdEnabled(Z)V
Landroid/net/wifi/ScanResult$InformationElement;->bytes:[B
Landroid/net/wifi/ScanResult$InformationElement;->EID_BSS_LOAD:I
Landroid/net/wifi/ScanResult$InformationElement;->EID_ERP:I
@@ -1847,45 +3418,142 @@
Landroid/net/wifi/ScanResult$InformationElement;->id:I
Landroid/net/wifi/ScanResult;->anqpDomainId:I
Landroid/net/wifi/ScanResult;->anqpLines:Ljava/util/List;
+Landroid/net/wifi/ScanResult;->CREATOR:Landroid/os/Parcelable$Creator;
Landroid/net/wifi/ScanResult;->distanceCm:I
Landroid/net/wifi/ScanResult;->distanceSdCm:I
Landroid/net/wifi/ScanResult;->flags:J
Landroid/net/wifi/ScanResult;->hessid:J
Landroid/net/wifi/ScanResult;->informationElements:[Landroid/net/wifi/ScanResult$InformationElement;
+Landroid/net/wifi/ScanResult;->is80211McRTTResponder:Z
Landroid/net/wifi/ScanResult;->numUsage:I
Landroid/net/wifi/ScanResult;->seen:J
Landroid/net/wifi/ScanResult;->wifiSsid:Landroid/net/wifi/WifiSsid;
+Landroid/net/wifi/WifiConfiguration;-><init>(Landroid/net/wifi/WifiConfiguration;)V
Landroid/net/wifi/WifiConfiguration;->apBand:I
Landroid/net/wifi/WifiConfiguration;->apChannel:I
+Landroid/net/wifi/WifiConfiguration;->CREATOR:Landroid/os/Parcelable$Creator;
Landroid/net/wifi/WifiConfiguration;->defaultGwMacAddress:Ljava/lang/String;
+Landroid/net/wifi/WifiConfiguration;->getAuthType()I
+Landroid/net/wifi/WifiConfiguration;->getIpAssignment()Landroid/net/IpConfiguration$IpAssignment;
+Landroid/net/wifi/WifiConfiguration;->getIpConfiguration()Landroid/net/IpConfiguration;
+Landroid/net/wifi/WifiConfiguration;->getPrintableSsid()Ljava/lang/String;
+Landroid/net/wifi/WifiConfiguration;->getProxySettings()Landroid/net/IpConfiguration$ProxySettings;
+Landroid/net/wifi/WifiConfiguration;->getStaticIpConfiguration()Landroid/net/StaticIpConfiguration;
+Landroid/net/wifi/WifiConfiguration;->INVALID_RSSI:I
+Landroid/net/wifi/WifiConfiguration;->isEnterprise()Z
Landroid/net/wifi/WifiConfiguration;->lastConnectUid:I
Landroid/net/wifi/WifiConfiguration;->mIpConfiguration:Landroid/net/IpConfiguration;
+Landroid/net/wifi/WifiConfiguration;->noInternetAccessExpected:Z
+Landroid/net/wifi/WifiConfiguration;->numNoInternetAccessReports:I
+Landroid/net/wifi/WifiConfiguration;->selfAdded:Z
Landroid/net/wifi/WifiConfiguration;->setIpAssignment(Landroid/net/IpConfiguration$IpAssignment;)V
+Landroid/net/wifi/WifiConfiguration;->setIpConfiguration(Landroid/net/IpConfiguration;)V
+Landroid/net/wifi/WifiConfiguration;->setProxy(Landroid/net/IpConfiguration$ProxySettings;Landroid/net/ProxyInfo;)V
+Landroid/net/wifi/WifiConfiguration;->setProxySettings(Landroid/net/IpConfiguration$ProxySettings;)V
Landroid/net/wifi/WifiConfiguration;->setStaticIpConfiguration(Landroid/net/StaticIpConfiguration;)V
+Landroid/net/wifi/WifiConfiguration;->shared:Z
Landroid/net/wifi/WifiConfiguration;->validatedInternetAccess:Z
+Landroid/net/wifi/WifiConfiguration;->wepKeyVarNames:[Ljava/lang/String;
Landroid/net/wifi/WifiEnterpriseConfig;->getCaCertificateAlias()Ljava/lang/String;
Landroid/net/wifi/WifiEnterpriseConfig;->getClientCertificateAlias()Ljava/lang/String;
+Landroid/net/wifi/WifiEnterpriseConfig;->mFields:Ljava/util/HashMap;
+Landroid/net/wifi/WifiEnterpriseConfig;->setCaCertificateAlias(Ljava/lang/String;)V
+Landroid/net/wifi/WifiEnterpriseConfig;->setClientCertificateAlias(Ljava/lang/String;)V
+Landroid/net/wifi/WifiInfo;-><init>()V
+Landroid/net/wifi/WifiInfo;->CREATOR:Landroid/os/Parcelable$Creator;
Landroid/net/wifi/WifiInfo;->DEFAULT_MAC_ADDRESS:Ljava/lang/String;
Landroid/net/wifi/WifiInfo;->getMeteredHint()Z
Landroid/net/wifi/WifiInfo;->getWifiSsid()Landroid/net/wifi/WifiSsid;
+Landroid/net/wifi/WifiInfo;->INVALID_RSSI:I
+Landroid/net/wifi/WifiInfo;->isEphemeral()Z
+Landroid/net/wifi/WifiInfo;->mIpAddress:Ljava/net/InetAddress;
Landroid/net/wifi/WifiInfo;->mMacAddress:Ljava/lang/String;
+Landroid/net/wifi/WifiInfo;->mWifiSsid:Landroid/net/wifi/WifiSsid;
Landroid/net/wifi/WifiInfo;->removeDoubleQuotes(Ljava/lang/String;)Ljava/lang/String;
+Landroid/net/wifi/WifiInfo;->setBSSID(Ljava/lang/String;)V
+Landroid/net/wifi/WifiInfo;->setLinkSpeed(I)V
+Landroid/net/wifi/WifiInfo;->setMacAddress(Ljava/lang/String;)V
+Landroid/net/wifi/WifiInfo;->setNetworkId(I)V
+Landroid/net/wifi/WifiInfo;->setRssi(I)V
+Landroid/net/wifi/WifiInfo;->setSupplicantState(Landroid/net/wifi/SupplicantState;)V
+Landroid/net/wifi/WifiInfo;->setSupplicantState(Ljava/lang/String;)V
Landroid/net/wifi/WifiManager;->cancelLocalOnlyHotspotRequest()V
Landroid/net/wifi/WifiManager;->connect(ILandroid/net/wifi/WifiManager$ActionListener;)V
+Landroid/net/wifi/WifiManager;->disable(ILandroid/net/wifi/WifiManager$ActionListener;)V
+Landroid/net/wifi/WifiManager;->enableVerboseLogging(I)V
Landroid/net/wifi/WifiManager;->forget(ILandroid/net/wifi/WifiManager$ActionListener;)V
+Landroid/net/wifi/WifiManager;->getCurrentNetwork()Landroid/net/Network;
+Landroid/net/wifi/WifiManager;->getMatchingWifiConfig(Landroid/net/wifi/ScanResult;)Landroid/net/wifi/WifiConfiguration;
+Landroid/net/wifi/WifiManager;->getVerboseLoggingLevel()I
+Landroid/net/wifi/WifiManager;->getWifiServiceMessenger()Landroid/os/Messenger;
+Landroid/net/wifi/WifiManager;->initializeMulticastFiltering()Z
Landroid/net/wifi/WifiManager;->isDualBandSupported()Z
+Landroid/net/wifi/WifiManager;->LINK_CONFIGURATION_CHANGED_ACTION:Ljava/lang/String;
+Landroid/net/wifi/WifiManager;->mActiveLockCount:I
+Landroid/net/wifi/WifiManager;->MAX_RSSI:I
+Landroid/net/wifi/WifiManager;->MIN_RSSI:I
Landroid/net/wifi/WifiManager;->mService:Landroid/net/wifi/IWifiManager;
+Landroid/net/wifi/WifiManager;->RSSI_LEVELS:I
Landroid/net/wifi/WifiManager;->save(Landroid/net/wifi/WifiConfiguration;Landroid/net/wifi/WifiManager$ActionListener;)V
+Landroid/net/wifi/WifiManager;->WIFI_FREQUENCY_BAND_2GHZ:I
+Landroid/net/wifi/WifiManager;->WIFI_FREQUENCY_BAND_5GHZ:I
+Landroid/net/wifi/WifiManager;->WIFI_FREQUENCY_BAND_AUTO:I
+Landroid/net/wifi/WifiSsid;->createFromAsciiEncoded(Ljava/lang/String;)Landroid/net/wifi/WifiSsid;
+Landroid/net/wifi/WifiSsid;->CREATOR:Landroid/os/Parcelable$Creator;
Landroid/net/wifi/WifiSsid;->getOctets()[B
Landroid/net/wifi/WifiSsid;->NONE:Ljava/lang/String;
+Landroid/net/wifi/WifiSsid;->octets:Ljava/io/ByteArrayOutputStream;
+Landroid/nfc/cardemulation/AidGroup;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+Landroid/nfc/cardemulation/AidGroup;->aids:Ljava/util/List;
+Landroid/nfc/cardemulation/AidGroup;->category:Ljava/lang/String;
+Landroid/nfc/cardemulation/AidGroup;->createFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/nfc/cardemulation/AidGroup;
+Landroid/nfc/cardemulation/AidGroup;->CREATOR:Landroid/os/Parcelable$Creator;
+Landroid/nfc/cardemulation/AidGroup;->description:Ljava/lang/String;
+Landroid/nfc/cardemulation/AidGroup;->getAids()Ljava/util/List;
+Landroid/nfc/cardemulation/AidGroup;->getCategory()Ljava/lang/String;
+Landroid/nfc/cardemulation/AidGroup;->writeAsXml(Lorg/xmlpull/v1/XmlSerializer;)V
+Landroid/nfc/cardemulation/ApduServiceInfo;-><init>(Landroid/content/pm/PackageManager;Landroid/content/pm/ResolveInfo;Z)V
+Landroid/nfc/cardemulation/ApduServiceInfo;-><init>(Landroid/content/pm/ResolveInfo;ZLjava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;ZIILjava/lang/String;)V
+Landroid/nfc/cardemulation/ApduServiceInfo;->CREATOR:Landroid/os/Parcelable$Creator;
+Landroid/nfc/cardemulation/ApduServiceInfo;->getDescription()Ljava/lang/String;
+Landroid/nfc/cardemulation/ApduServiceInfo;->getSettingsActivityName()Ljava/lang/String;
+Landroid/nfc/cardemulation/ApduServiceInfo;->getUid()I
+Landroid/nfc/cardemulation/ApduServiceInfo;->isOnHost()Z
+Landroid/nfc/cardemulation/ApduServiceInfo;->loadBanner(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
+Landroid/nfc/cardemulation/ApduServiceInfo;->mDynamicAidGroups:Ljava/util/HashMap;
+Landroid/nfc/cardemulation/ApduServiceInfo;->mService:Landroid/content/pm/ResolveInfo;
+Landroid/nfc/cardemulation/ApduServiceInfo;->mStaticAidGroups:Ljava/util/HashMap;
+Landroid/nfc/cardemulation/ApduServiceInfo;->requiresUnlock()Z
+Landroid/nfc/ErrorCodes;->isError(I)Z
+Landroid/nfc/INfcAdapterExtras;->authenticate(Ljava/lang/String;[B)V
+Landroid/nfc/INfcAdapterExtras;->close(Ljava/lang/String;Landroid/os/IBinder;)Landroid/os/Bundle;
+Landroid/nfc/INfcAdapterExtras;->getCardEmulationRoute(Ljava/lang/String;)I
+Landroid/nfc/INfcAdapterExtras;->open(Ljava/lang/String;Landroid/os/IBinder;)Landroid/os/Bundle;
+Landroid/nfc/INfcAdapterExtras;->setCardEmulationRoute(Ljava/lang/String;I)V
+Landroid/nfc/INfcAdapterExtras;->transceive(Ljava/lang/String;[B)Landroid/os/Bundle;
+Landroid/nfc/NdefRecord;->mId:[B
+Landroid/nfc/NfcActivityManager;->mAdapter:Landroid/nfc/NfcAdapter;
+Landroid/nfc/NfcAdapter;->attemptDeadServiceRecovery(Ljava/lang/Exception;)V
Landroid/nfc/NfcAdapter;->getAdapterState()I
+Landroid/nfc/NfcAdapter;->getContext()Landroid/content/Context;
Landroid/nfc/NfcAdapter;->getDefaultAdapter()Landroid/nfc/NfcAdapter;
Landroid/nfc/NfcAdapter;->getNfcAdapter(Landroid/content/Context;)Landroid/nfc/NfcAdapter;
+Landroid/nfc/NfcAdapter;->getNfcAdapterExtrasInterface()Landroid/nfc/INfcAdapterExtras;
+Landroid/nfc/NfcAdapter;->getService()Landroid/nfc/INfcAdapter;
Landroid/nfc/NfcAdapter;->setNdefPushMessageCallback(Landroid/nfc/NfcAdapter$CreateNdefMessageCallback;Landroid/app/Activity;I)V
+Landroid/nfc/NfcAdapter;->sService:Landroid/nfc/INfcAdapter;
+Landroid/nfc/NfcManager;-><init>(Landroid/content/Context;)V
+Landroid/nfc/Tag;->getServiceHandle()I
+Landroid/nfc/Tag;->getTagService()Landroid/nfc/INfcTag;
+Landroid/nfc/Tag;->mId:[B
+Landroid/opengl/EGL14;->eglGetDisplay(J)Landroid/opengl/EGLDisplay;
+Landroid/opengl/GLES20;->glGetActiveAttrib(IIILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;B)V
+Landroid/opengl/GLES20;->glGetActiveUniform(IIILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;B)V
Landroid/opengl/GLSurfaceView$EglHelper;->mEglContext:Ljavax/microedition/khronos/egl/EGLContext;
Landroid/opengl/GLSurfaceView$GLThread;->mEglHelper:Landroid/opengl/GLSurfaceView$EglHelper;
Landroid/opengl/GLSurfaceView;->mGLThread:Landroid/opengl/GLSurfaceView$GLThread;
Landroid/opengl/GLSurfaceView;->mRenderer:Landroid/opengl/GLSurfaceView$Renderer;
+Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;)Landroid/os/AsyncResult;
Landroid/os/AsyncTask;->mFuture:Ljava/util/concurrent/FutureTask;
Landroid/os/AsyncTask;->mStatus:Landroid/os/AsyncTask$Status;
Landroid/os/AsyncTask;->mTaskInvoked:Ljava/util/concurrent/atomic/AtomicBoolean;
@@ -1894,7 +3562,17 @@
Landroid/os/AsyncTask;->setDefaultExecutor(Ljava/util/concurrent/Executor;)V
Landroid/os/BaseBundle;->mMap:Landroid/util/ArrayMap;
Landroid/os/BaseBundle;->mParcelledData:Landroid/os/Parcel;
+Landroid/os/BaseBundle;->unparcel()V
+Landroid/os/BatteryManager;->EXTRA_CHARGE_COUNTER:Ljava/lang/String;
+Landroid/os/BatteryManager;->EXTRA_INVALID_CHARGER:Ljava/lang/String;
+Landroid/os/BatteryManager;->EXTRA_MAX_CHARGING_CURRENT:Ljava/lang/String;
+Landroid/os/BatteryManager;->EXTRA_MAX_CHARGING_VOLTAGE:Ljava/lang/String;
+Landroid/os/BatteryStats$Counter;-><init>()V
Landroid/os/BatteryStats$Counter;->getCountLocked(I)I
+Landroid/os/BatteryStats$HistoryItem;->batteryHealth:B
+Landroid/os/BatteryStats$HistoryItem;->batteryPlugType:B
+Landroid/os/BatteryStats$HistoryItem;->batteryStatus:B
+Landroid/os/BatteryStats$HistoryItem;->batteryVoltage:C
Landroid/os/BatteryStats$HistoryItem;->CMD_UPDATE:B
Landroid/os/BatteryStats$HistoryItem;->states2:I
Landroid/os/BatteryStats$Timer;->getTotalTimeLocked(JI)J
@@ -1913,27 +3591,46 @@
Landroid/os/BatteryStats$Uid$Proc;->getUserTime(I)J
Landroid/os/BatteryStats$Uid$Sensor;->getHandle()I
Landroid/os/BatteryStats$Uid$Sensor;->getSensorTime()Landroid/os/BatteryStats$Timer;
+Landroid/os/BatteryStats$Uid$Sensor;->GPS:I
+Landroid/os/BatteryStats$Uid$Wakelock;-><init>()V
Landroid/os/BatteryStats$Uid;->getAudioTurnedOnTimer()Landroid/os/BatteryStats$Timer;
Landroid/os/BatteryStats$Uid;->getFullWifiLockTime(JI)J
+Landroid/os/BatteryStats$Uid;->getMobileRadioActiveTime(I)J
+Landroid/os/BatteryStats$Uid;->getNetworkActivityBytes(II)J
Landroid/os/BatteryStats$Uid;->getPackageStats()Landroid/util/ArrayMap;
Landroid/os/BatteryStats$Uid;->getProcessStats()Landroid/util/ArrayMap;
Landroid/os/BatteryStats$Uid;->getSensorStats()Landroid/util/SparseArray;
Landroid/os/BatteryStats$Uid;->getUid()I
Landroid/os/BatteryStats$Uid;->getVideoTurnedOnTimer()Landroid/os/BatteryStats$Timer;
+Landroid/os/BatteryStats$Uid;->getWakelockStats()Landroid/util/ArrayMap;
+Landroid/os/BatteryStats$Uid;->getWifiBatchedScanTime(IJI)J
Landroid/os/BatteryStats$Uid;->getWifiMulticastTime(JI)J
Landroid/os/BatteryStats$Uid;->getWifiScanTime(JI)J
+Landroid/os/BatteryStats;->computeBatteryTimeRemaining(J)J
+Landroid/os/BatteryStats;->computeBatteryUptime(JI)J
+Landroid/os/BatteryStats;->computeChargeTimeRemaining(J)J
+Landroid/os/BatteryStats;->getMobileRadioActiveTime(JI)J
+Landroid/os/BatteryStats;->getNetworkActivityBytes(II)J
Landroid/os/BatteryStats;->getUidStats()Landroid/util/SparseArray;
Landroid/os/BatteryStats;->NUM_DATA_CONNECTION_TYPES:I
+Landroid/os/BatteryStats;->NUM_SCREEN_BRIGHTNESS_BINS:I
Landroid/os/BatteryStats;->startIteratingHistoryLocked()Z
+Landroid/os/BatteryStats;->STATS_CURRENT:I
+Landroid/os/BatteryStats;->WAKE_TYPE_PARTIAL:I
Landroid/os/Binder;->execTransact(IJJI)Z
Landroid/os/Binder;->mObject:J
Landroid/os/Build$VERSION;->ACTIVE_CODENAMES:[Ljava/lang/String;
+Landroid/os/Build;->getLong(Ljava/lang/String;)J
Landroid/os/Build;->getString(Ljava/lang/String;)Ljava/lang/String;
Landroid/os/Build;->IS_DEBUGGABLE:Z
Landroid/os/Build;->IS_EMULATOR:Z
+Landroid/os/Bundle;->filterValues()Landroid/os/Bundle;
+Landroid/os/Bundle;->forPair(Ljava/lang/String;Ljava/lang/String;)Landroid/os/Bundle;
Landroid/os/Bundle;->getIBinder(Ljava/lang/String;)Landroid/os/IBinder;
+Landroid/os/Bundle;->getSize()I
Landroid/os/Bundle;->putIBinder(Ljava/lang/String;Landroid/os/IBinder;)V
Landroid/os/Bundle;->putParcelableList(Ljava/lang/String;Ljava/util/List;)V
+Landroid/os/Bundle;->setDefusable(Landroid/os/Bundle;Z)Landroid/os/Bundle;
Landroid/os/Debug$MemoryInfo;->dalvikPrivateClean:I
Landroid/os/Debug$MemoryInfo;->dalvikRss:I
Landroid/os/Debug$MemoryInfo;->dalvikSharedClean:I
@@ -1945,6 +3642,13 @@
Landroid/os/Debug$MemoryInfo;->getOtherPrivateDirty(I)I
Landroid/os/Debug$MemoryInfo;->getOtherPss(I)I
Landroid/os/Debug$MemoryInfo;->getOtherSharedDirty(I)I
+Landroid/os/Debug$MemoryInfo;->getSummaryCode()I
+Landroid/os/Debug$MemoryInfo;->getSummaryGraphics()I
+Landroid/os/Debug$MemoryInfo;->getSummaryJavaHeap()I
+Landroid/os/Debug$MemoryInfo;->getSummaryNativeHeap()I
+Landroid/os/Debug$MemoryInfo;->getSummaryPrivateOther()I
+Landroid/os/Debug$MemoryInfo;->getSummaryStack()I
+Landroid/os/Debug$MemoryInfo;->getSummarySystem()I
Landroid/os/Debug$MemoryInfo;->getTotalUss()I
Landroid/os/Debug$MemoryInfo;->hasSwappedOutPss:Z
Landroid/os/Debug$MemoryInfo;->nativePrivateClean:I
@@ -1964,17 +3668,37 @@
Landroid/os/Debug$MemoryInfo;->otherSwappedOutPss:I
Landroid/os/Debug;-><init>()V
Landroid/os/Debug;->countInstancesOfClass(Ljava/lang/Class;)J
+Landroid/os/Debug;->dumpNativeHeap(Ljava/io/FileDescriptor;)V
Landroid/os/Debug;->dumpReferenceTables()V
+Landroid/os/Debug;->getCaller()Ljava/lang/String;
+Landroid/os/Debug;->getCallers(I)Ljava/lang/String;
+Landroid/os/Debug;->getMemInfo([J)V
+Landroid/os/Debug;->getMemoryInfo(ILandroid/os/Debug$MemoryInfo;)V
Landroid/os/DropBoxManager;->mService:Lcom/android/internal/os/IDropBoxManagerService;
+Landroid/os/Environment$UserEnvironment;-><init>(I)V
+Landroid/os/Environment$UserEnvironment;->getExternalDirs()[Ljava/io/File;
+Landroid/os/Environment$UserEnvironment;->getExternalStorageDirectory()Ljava/io/File;
+Landroid/os/Environment$UserEnvironment;->getExternalStoragePublicDirectory(Ljava/lang/String;)Ljava/io/File;
+Landroid/os/Environment;->buildExternalStorageAndroidDataDirs()[Ljava/io/File;
+Landroid/os/Environment;->buildExternalStorageAppCacheDirs(Ljava/lang/String;)[Ljava/io/File;
Landroid/os/Environment;->buildExternalStorageAppDataDirs(Ljava/lang/String;)[Ljava/io/File;
+Landroid/os/Environment;->buildExternalStorageAppFilesDirs(Ljava/lang/String;)[Ljava/io/File;
+Landroid/os/Environment;->buildExternalStorageAppMediaDirs(Ljava/lang/String;)[Ljava/io/File;
+Landroid/os/Environment;->buildExternalStorageAppObbDirs(Ljava/lang/String;)[Ljava/io/File;
+Landroid/os/Environment;->getLegacyExternalStorageObbDirectory()Ljava/io/File;
+Landroid/os/Environment;->getOemDirectory()Ljava/io/File;
Landroid/os/Environment;->getStorageDirectory()Ljava/io/File;
Landroid/os/Environment;->getVendorDirectory()Ljava/io/File;
+Landroid/os/Environment;->initForCurrentUser()V
Landroid/os/Environment;->maybeTranslateEmulatedPathToInternal(Ljava/io/File;)Ljava/io/File;
+Landroid/os/Environment;->sCurrentUser:Landroid/os/Environment$UserEnvironment;
Landroid/os/FileObserver$ObserverThread;->onEvent(IILjava/lang/String;)V
+Landroid/os/FileObserver;->s_observerThread:Landroid/os/FileObserver$ObserverThread;
Landroid/os/FileUtils;-><init>()V
Landroid/os/FileUtils;->checksumCrc32(Ljava/io/File;)J
Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
Landroid/os/FileUtils;->copyToFile(Ljava/io/InputStream;Ljava/io/File;)Z
+Landroid/os/FileUtils;->deleteContents(Ljava/io/File;)Z
Landroid/os/FileUtils;->deleteOlderFiles(Ljava/io/File;IJ)Z
Landroid/os/FileUtils;->isFilenameSafe(Ljava/io/File;)Z
Landroid/os/FileUtils;->readTextFile(Ljava/io/File;ILjava/lang/String;)Ljava/lang/String;
@@ -1986,6 +3710,7 @@
Landroid/os/FileUtils;->sync(Ljava/io/FileOutputStream;)Z
Landroid/os/Handler;-><init>(Z)V
Landroid/os/Handler;->getIMessenger()Landroid/os/IMessenger;
+Landroid/os/Handler;->getPostMessage(Ljava/lang/Runnable;Ljava/lang/Object;)Landroid/os/Message;
Landroid/os/Handler;->hasCallbacks(Ljava/lang/Runnable;)Z
Landroid/os/Handler;->mCallback:Landroid/os/Handler$Callback;
Landroid/os/Handler;->mMessenger:Landroid/os/IMessenger;
@@ -2001,41 +3726,75 @@
Landroid/os/health/HealthStatsWriter;->addTimer(IIJ)V
Landroid/os/health/HealthStatsWriter;->addTimers(ILjava/lang/String;Landroid/os/health/TimerStat;)V
Landroid/os/health/HealthStatsWriter;->flattenToParcel(Landroid/os/Parcel;)V
+Landroid/os/health/SystemHealthManager;-><init>()V
Landroid/os/health/SystemHealthManager;->from(Landroid/content/Context;)Landroid/os/health/SystemHealthManager;
Landroid/os/HwParcel;-><init>(Z)V
Landroid/os/HwRemoteBinder;-><init>()V
Landroid/os/IBatteryPropertiesRegistrar$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+Landroid/os/IBinder;->SYSPROPS_TRANSACTION:I
+Landroid/os/IDeviceIdentifiersPolicyService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IDeviceIdentifiersPolicyService;
+Landroid/os/IDeviceIdleController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IDeviceIdleController;
+Landroid/os/IDeviceIdleController;->addPowerSaveTempWhitelistApp(Ljava/lang/String;JILjava/lang/String;)V
Landroid/os/IDeviceIdleController;->getAppIdTempWhitelist()[I
+Landroid/os/IDeviceIdleController;->getFullPowerWhitelistExceptIdle()[Ljava/lang/String;
Landroid/os/INetworkManagementService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+Landroid/os/INetworkManagementService;->disableNat(Ljava/lang/String;Ljava/lang/String;)V
+Landroid/os/INetworkManagementService;->enableNat(Ljava/lang/String;Ljava/lang/String;)V
+Landroid/os/INetworkManagementService;->getInterfaceConfig(Ljava/lang/String;)Landroid/net/InterfaceConfiguration;
+Landroid/os/INetworkManagementService;->getIpForwardingEnabled()Z
+Landroid/os/INetworkManagementService;->isTetheringStarted()Z
+Landroid/os/INetworkManagementService;->listTetheredInterfaces()[Ljava/lang/String;
+Landroid/os/INetworkManagementService;->setIpForwardingEnabled(Z)V
+Landroid/os/INetworkManagementService;->startTethering([Ljava/lang/String;)V
+Landroid/os/INetworkManagementService;->stopTethering()V
+Landroid/os/INetworkManagementService;->tetherInterface(Ljava/lang/String;)V
+Landroid/os/INetworkManagementService;->untetherInterface(Ljava/lang/String;)V
Landroid/os/IPermissionController$Stub$Proxy;->checkPermission(Ljava/lang/String;II)Z
+Landroid/os/IPermissionController$Stub;-><init>()V
Landroid/os/IPermissionController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IPermissionController;
Landroid/os/IPowerManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/os/IPowerManager$Stub$Proxy;->isLightDeviceIdleMode()Z
+Landroid/os/IPowerManager$Stub;-><init>()V
Landroid/os/IPowerManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IPowerManager;
+Landroid/os/IPowerManager$Stub;->TRANSACTION_goToSleep:I
+Landroid/os/IPowerManager;->isInteractive()Z
+Landroid/os/IPowerManager;->nap(J)V
Landroid/os/IPowerManager;->releaseWakeLock(Landroid/os/IBinder;I)V
Landroid/os/IPowerManager;->userActivity(JII)V
+Landroid/os/IPowerManager;->wakeUp(JLjava/lang/String;Ljava/lang/String;)V
Landroid/os/IRecoverySystem$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IRecoverySystem;
+Landroid/os/IRemoteCallback;->sendResult(Landroid/os/Bundle;)V
Landroid/os/IServiceManager;->checkService(Ljava/lang/String;)Landroid/os/IBinder;
Landroid/os/IServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
+Landroid/os/IUpdateEngine$Stub;-><init>()V
+Landroid/os/IUpdateEngineCallback;->onStatusUpdate(IF)V
Landroid/os/IUserManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/os/IUserManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IUserManager;
+Landroid/os/IUserManager;->getUserInfo(I)Landroid/content/pm/UserInfo;
Landroid/os/IVibratorService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IVibratorService;
Landroid/os/LocaleList;->setDefault(Landroid/os/LocaleList;I)V
Landroid/os/Looper;->mLogging:Landroid/util/Printer;
Landroid/os/Looper;->mQueue:Landroid/os/MessageQueue;
Landroid/os/Looper;->setTraceTag(J)V
+Landroid/os/Looper;->sMainLooper:Landroid/os/Looper;
Landroid/os/Looper;->sThreadLocal:Ljava/lang/ThreadLocal;
+Landroid/os/MemoryFile;->deactivate()V
Landroid/os/MemoryFile;->getFileDescriptor()Ljava/io/FileDescriptor;
+Landroid/os/MemoryFile;->getSize(Ljava/io/FileDescriptor;)I
+Landroid/os/MemoryFile;->native_get_size(Ljava/io/FileDescriptor;)I
Landroid/os/Message;->callback:Ljava/lang/Runnable;
Landroid/os/Message;->flags:I
Landroid/os/Message;->markInUse()V
Landroid/os/Message;->next:Landroid/os/Message;
Landroid/os/Message;->recycleUnchecked()V
Landroid/os/Message;->target:Landroid/os/Handler;
+Landroid/os/Message;->toString(J)Ljava/lang/String;
Landroid/os/Message;->when:J
Landroid/os/MessageQueue;->dispatchEvents(II)I
+Landroid/os/MessageQueue;->hasMessages(Landroid/os/Handler;Ljava/lang/Runnable;Ljava/lang/Object;)Z
Landroid/os/MessageQueue;->mIdleHandlers:Ljava/util/ArrayList;
Landroid/os/MessageQueue;->mMessages:Landroid/os/Message;
+Landroid/os/MessageQueue;->mNextBarrierToken:I
Landroid/os/MessageQueue;->mPtr:J
Landroid/os/MessageQueue;->mQuitAllowed:Z
Landroid/os/MessageQueue;->nativePollOnce(JI)V
@@ -2043,38 +3802,104 @@
Landroid/os/MessageQueue;->postSyncBarrier()I
Landroid/os/MessageQueue;->removeSyncBarrier(I)V
Landroid/os/Parcel$ReadWriteHelper;-><init>()V
+Landroid/os/Parcel;->getGlobalAllocCount()J
+Landroid/os/Parcel;->getGlobalAllocSize()J
+Landroid/os/Parcel;->mCreators:Ljava/util/HashMap;
Landroid/os/Parcel;->mNativePtr:J
Landroid/os/Parcel;->readArrayMap(Landroid/util/ArrayMap;Ljava/lang/ClassLoader;)V
+Landroid/os/Parcel;->readArraySet(Ljava/lang/ClassLoader;)Landroid/util/ArraySet;
+Landroid/os/Parcel;->readCharSequence()Ljava/lang/CharSequence;
+Landroid/os/Parcel;->readCreator(Landroid/os/Parcelable$Creator;Ljava/lang/ClassLoader;)Landroid/os/Parcelable;
+Landroid/os/Parcel;->readExceptionCode()I
+Landroid/os/Parcel;->readParcelableCreator(Ljava/lang/ClassLoader;)Landroid/os/Parcelable$Creator;
Landroid/os/Parcel;->readParcelableList(Ljava/util/List;Ljava/lang/ClassLoader;)Ljava/util/List;
+Landroid/os/Parcel;->readRawFileDescriptor()Ljava/io/FileDescriptor;
Landroid/os/Parcel;->writeArrayMap(Landroid/util/ArrayMap;)V
+Landroid/os/Parcel;->writeArraySet(Landroid/util/ArraySet;)V
+Landroid/os/Parcel;->writeCharSequence(Ljava/lang/CharSequence;)V
+Landroid/os/Parcel;->writeParcelableCreator(Landroid/os/Parcelable;)V
Landroid/os/Parcel;->writeParcelableList(Ljava/util/List;I)V
+Landroid/os/ParcelableParcel;-><init>(Ljava/lang/ClassLoader;)V
+Landroid/os/ParcelableParcel;->CREATOR:Landroid/os/Parcelable$ClassLoaderCreator;
+Landroid/os/ParcelableParcel;->getClassLoader()Ljava/lang/ClassLoader;
+Landroid/os/ParcelableParcel;->getParcel()Landroid/os/Parcel;
Landroid/os/ParcelFileDescriptor;-><init>(Ljava/io/FileDescriptor;)V
Landroid/os/ParcelFileDescriptor;->fromData([BLjava/lang/String;)Landroid/os/ParcelFileDescriptor;
+Landroid/os/ParcelFileDescriptor;->getFile(Ljava/io/FileDescriptor;)Ljava/io/File;
+Landroid/os/ParcelFileDescriptor;->seekTo(J)J
+Landroid/os/PerformanceCollector;-><init>()V
+Landroid/os/PerformanceCollector;->beginSnapshot(Ljava/lang/String;)V
+Landroid/os/PerformanceCollector;->endSnapshot()Landroid/os/Bundle;
+Landroid/os/PerformanceCollector;->startTiming(Ljava/lang/String;)V
+Landroid/os/PerformanceCollector;->stopTiming(Ljava/lang/String;)Landroid/os/Bundle;
+Landroid/os/PowerManager;->ACTION_LIGHT_DEVICE_IDLE_MODE_CHANGED:Ljava/lang/String;
+Landroid/os/PowerManager;->ACTION_POWER_SAVE_MODE_CHANGING:Ljava/lang/String;
Landroid/os/PowerManager;->BRIGHTNESS_ON:I
+Landroid/os/PowerManager;->EXTRA_POWER_SAVE_MODE:Ljava/lang/String;
Landroid/os/PowerManager;->getDefaultScreenBrightnessSetting()I
Landroid/os/PowerManager;->getMaximumScreenBrightnessSetting()I
Landroid/os/PowerManager;->getMinimumScreenBrightnessSetting()I
+Landroid/os/PowerManager;->goToSleep(JII)V
+Landroid/os/PowerManager;->GO_TO_SLEEP_REASON_TIMEOUT:I
Landroid/os/PowerManager;->isLightDeviceIdleMode()Z
+Landroid/os/PowerManager;->mHandler:Landroid/os/Handler;
Landroid/os/PowerManager;->mService:Landroid/os/IPowerManager;
+Landroid/os/PowerManager;->setPowerSaveMode(Z)Z
Landroid/os/PowerManager;->validateWakeLockParameters(ILjava/lang/String;)V
Landroid/os/PowerManager;->wakeUp(JLjava/lang/String;)V
+Landroid/os/Process;->BLUETOOTH_UID:I
+Landroid/os/Process;->DRM_UID:I
Landroid/os/Process;->getFreeMemory()J
Landroid/os/Process;->getParentPid(I)I
Landroid/os/Process;->getPids(Ljava/lang/String;[I)[I
+Landroid/os/Process;->getPidsForCommands([Ljava/lang/String;)[I
+Landroid/os/Process;->getPss(I)J
Landroid/os/Process;->getTotalMemory()J
Landroid/os/Process;->getUidForPid(I)I
Landroid/os/Process;->isIsolated(I)Z
+Landroid/os/Process;->LOG_UID:I
+Landroid/os/Process;->MEDIA_UID:I
+Landroid/os/Process;->myPpid()I
+Landroid/os/Process;->NFC_UID:I
Landroid/os/Process;->parseProcLine([BII[I[Ljava/lang/String;[J[F)Z
+Landroid/os/Process;->PROC_COMBINE:I
+Landroid/os/Process;->PROC_OUT_FLOAT:I
+Landroid/os/Process;->PROC_OUT_LONG:I
+Landroid/os/Process;->PROC_OUT_STRING:I
+Landroid/os/Process;->PROC_PARENS:I
+Landroid/os/Process;->PROC_QUOTES:I
+Landroid/os/Process;->PROC_SPACE_TERM:I
+Landroid/os/Process;->PROC_TAB_TERM:I
+Landroid/os/Process;->PROC_TERM_MASK:I
+Landroid/os/Process;->PROC_ZERO_TERM:I
Landroid/os/Process;->readProcFile(Ljava/lang/String;[I[Ljava/lang/String;[J[F)Z
Landroid/os/Process;->readProcLines(Ljava/lang/String;[Ljava/lang/String;[J)V
+Landroid/os/Process;->ROOT_UID:I
Landroid/os/Process;->setArgV0(Ljava/lang/String;)V
+Landroid/os/Process;->setProcessGroup(II)V
+Landroid/os/Process;->SHELL_UID:I
+Landroid/os/Process;->VPN_UID:I
+Landroid/os/Process;->WIFI_UID:I
+Landroid/os/RecoverySystem;->verifyPackageCompatibility(Ljava/io/InputStream;)Z
+Landroid/os/Registrant;->getHandler()Landroid/os/Handler;
+Landroid/os/Registrant;->messageForRegistrant()Landroid/os/Message;
+Landroid/os/Registrant;->notifyResult(Ljava/lang/Object;)V
+Landroid/os/RegistrantList;->add(Landroid/os/Handler;ILjava/lang/Object;)V
+Landroid/os/RegistrantList;->get(I)Ljava/lang/Object;
+Landroid/os/RegistrantList;->notifyResult(Ljava/lang/Object;)V
+Landroid/os/RegistrantList;->size()I
+Landroid/os/RemoteCallback;->mHandler:Landroid/os/Handler;
+Landroid/os/RemoteCallbackList;->mCallbacks:Landroid/util/ArrayMap;
Landroid/os/SELinux;->checkSELinuxAccess(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
+Landroid/os/SELinux;->getContext()Ljava/lang/String;
Landroid/os/SELinux;->getFileContext(Ljava/lang/String;)Ljava/lang/String;
Landroid/os/SELinux;->getPidContext(I)Ljava/lang/String;
Landroid/os/SELinux;->isSELinuxEnabled()Z
Landroid/os/SELinux;->isSELinuxEnforced()Z
+Landroid/os/SELinux;->restoreconRecursive(Ljava/io/File;)Z
Landroid/os/ServiceManager;-><init>()V
Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V
+Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;ZI)V
Landroid/os/ServiceManager;->checkService(Ljava/lang/String;)Landroid/os/IBinder;
Landroid/os/ServiceManager;->getIServiceManager()Landroid/os/IServiceManager;
Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
@@ -2082,65 +3907,133 @@
Landroid/os/ServiceManager;->sCache:Ljava/util/HashMap;
Landroid/os/ServiceManager;->sServiceManager:Landroid/os/IServiceManager;
Landroid/os/ServiceManagerNative;->asInterface(Landroid/os/IBinder;)Landroid/os/IServiceManager;
+Landroid/os/ServiceSpecificException;-><init>(ILjava/lang/String;)V
Landroid/os/SharedMemory;->getFd()I
+Landroid/os/ShellCommand;->peekNextArg()Ljava/lang/String;
+Landroid/os/storage/DiskInfo;-><init>(Landroid/os/Parcel;)V
+Landroid/os/storage/DiskInfo;->CREATOR:Landroid/os/Parcelable$Creator;
+Landroid/os/storage/DiskInfo;->flags:I
Landroid/os/storage/DiskInfo;->getDescription()Ljava/lang/String;
+Landroid/os/storage/DiskInfo;->isAdoptable()Z
+Landroid/os/storage/DiskInfo;->isDefaultPrimary()Z
Landroid/os/storage/DiskInfo;->isSd()Z
Landroid/os/storage/DiskInfo;->isUsb()Z
Landroid/os/storage/DiskInfo;->label:Ljava/lang/String;
+Landroid/os/storage/DiskInfo;->size:J
+Landroid/os/storage/IObbActionListener$Stub;-><init>()V
+Landroid/os/storage/IObbActionListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/storage/IObbActionListener;
Landroid/os/storage/IStorageManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/os/storage/IStorageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/storage/IStorageManager;
+Landroid/os/storage/StorageEventListener;->onDiskDestroyed(Landroid/os/storage/DiskInfo;)V
+Landroid/os/storage/StorageEventListener;->onDiskScanned(Landroid/os/storage/DiskInfo;I)V
+Landroid/os/storage/StorageEventListener;->onStorageStateChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+Landroid/os/storage/StorageEventListener;->onUsbMassStorageConnectionChanged(Z)V
+Landroid/os/storage/StorageEventListener;->onVolumeForgotten(Ljava/lang/String;)V
+Landroid/os/storage/StorageEventListener;->onVolumeRecordChanged(Landroid/os/storage/VolumeRecord;)V
+Landroid/os/storage/StorageEventListener;->onVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V
Landroid/os/storage/StorageManager;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+Landroid/os/storage/StorageManager;->CRYPT_TYPE_DEFAULT:I
+Landroid/os/storage/StorageManager;->CRYPT_TYPE_PASSWORD:I
+Landroid/os/storage/StorageManager;->disableUsbMassStorage()V
+Landroid/os/storage/StorageManager;->enableUsbMassStorage()V
+Landroid/os/storage/StorageManager;->ENCRYPTION_STATE_NONE:I
+Landroid/os/storage/StorageManager;->findDiskById(Ljava/lang/String;)Landroid/os/storage/DiskInfo;
+Landroid/os/storage/StorageManager;->findEmulatedForPrivate(Landroid/os/storage/VolumeInfo;)Landroid/os/storage/VolumeInfo;
Landroid/os/storage/StorageManager;->findVolumeByUuid(Ljava/lang/String;)Landroid/os/storage/VolumeInfo;
+Landroid/os/storage/StorageManager;->format(Ljava/lang/String;)V
Landroid/os/storage/StorageManager;->getBestVolumeDescription(Landroid/os/storage/VolumeInfo;)Ljava/lang/String;
Landroid/os/storage/StorageManager;->getDisks()Ljava/util/List;
+Landroid/os/storage/StorageManager;->getPrimaryPhysicalVolume()Landroid/os/storage/VolumeInfo;
Landroid/os/storage/StorageManager;->getStorageBytesUntilLow(Ljava/io/File;)J
Landroid/os/storage/StorageManager;->getStorageFullBytes(Ljava/io/File;)J
Landroid/os/storage/StorageManager;->getStorageLowBytes(Ljava/io/File;)J
+Landroid/os/storage/StorageManager;->getStorageVolume([Landroid/os/storage/StorageVolume;Ljava/io/File;)Landroid/os/storage/StorageVolume;
Landroid/os/storage/StorageManager;->getVolumeList(II)[Landroid/os/storage/StorageVolume;
Landroid/os/storage/StorageManager;->getVolumePaths()[Ljava/lang/String;
Landroid/os/storage/StorageManager;->getVolumes()Ljava/util/List;
Landroid/os/storage/StorageManager;->getVolumeState(Ljava/lang/String;)Ljava/lang/String;
+Landroid/os/storage/StorageManager;->isFileEncryptedNativeOnly()Z
+Landroid/os/storage/StorageManager;->isUsbMassStorageEnabled()Z
+Landroid/os/storage/StorageManager;->unmount(Ljava/lang/String;)V
Landroid/os/storage/StorageVolume;->allowMassStorage()Z
+Landroid/os/storage/StorageVolume;->getFatVolumeId()I
Landroid/os/storage/StorageVolume;->getMaxFileSize()J
Landroid/os/storage/StorageVolume;->getPath()Ljava/lang/String;
Landroid/os/storage/StorageVolume;->getPathFile()Ljava/io/File;
Landroid/os/storage/StorageVolume;->getUserLabel()Ljava/lang/String;
Landroid/os/storage/StorageVolume;->mPath:Ljava/io/File;
Landroid/os/storage/StorageVolume;->mRemovable:Z
+Landroid/os/storage/VolumeInfo;-><init>(Landroid/os/Parcel;)V
+Landroid/os/storage/VolumeInfo;->buildBrowseIntent()Landroid/content/Intent;
+Landroid/os/storage/VolumeInfo;->buildStableMtpStorageId(Ljava/lang/String;)I
Landroid/os/storage/VolumeInfo;->buildStorageVolume(Landroid/content/Context;IZ)Landroid/os/storage/StorageVolume;
+Landroid/os/storage/VolumeInfo;->CREATOR:Landroid/os/Parcelable$Creator;
+Landroid/os/storage/VolumeInfo;->disk:Landroid/os/storage/DiskInfo;
+Landroid/os/storage/VolumeInfo;->fsLabel:Ljava/lang/String;
+Landroid/os/storage/VolumeInfo;->fsUuid:Ljava/lang/String;
+Landroid/os/storage/VolumeInfo;->getDescription()Ljava/lang/String;
Landroid/os/storage/VolumeInfo;->getDisk()Landroid/os/storage/DiskInfo;
+Landroid/os/storage/VolumeInfo;->getDiskId()Ljava/lang/String;
Landroid/os/storage/VolumeInfo;->getEnvironmentForState(I)Ljava/lang/String;
Landroid/os/storage/VolumeInfo;->getFsUuid()Ljava/lang/String;
+Landroid/os/storage/VolumeInfo;->getInternalPathForUser(I)Ljava/io/File;
+Landroid/os/storage/VolumeInfo;->getMountUserId()I
Landroid/os/storage/VolumeInfo;->getPath()Ljava/io/File;
+Landroid/os/storage/VolumeInfo;->getPathForUser(I)Ljava/io/File;
Landroid/os/storage/VolumeInfo;->getState()I
Landroid/os/storage/VolumeInfo;->getType()I
+Landroid/os/storage/VolumeInfo;->internalPath:Ljava/lang/String;
+Landroid/os/storage/VolumeInfo;->isMountedReadable()Z
+Landroid/os/storage/VolumeInfo;->isMountedWritable()Z
Landroid/os/storage/VolumeInfo;->isPrimary()Z
+Landroid/os/storage/VolumeInfo;->isPrimaryPhysical()Z
Landroid/os/storage/VolumeInfo;->isVisible()Z
+Landroid/os/storage/VolumeInfo;->isVisibleForWrite(I)Z
+Landroid/os/storage/VolumeInfo;->path:Ljava/lang/String;
+Landroid/os/storage/VolumeInfo;->state:I
+Landroid/os/storage/VolumeInfo;->type:I
Landroid/os/storage/VolumeInfo;->TYPE_EMULATED:I
Landroid/os/storage/VolumeInfo;->TYPE_PUBLIC:I
+Landroid/os/storage/VolumeRecord;-><init>(Landroid/os/Parcel;)V
+Landroid/os/storage/VolumeRecord;->CREATOR:Landroid/os/Parcelable$Creator;
Landroid/os/StrictMode$Span;->finish()V
+Landroid/os/StrictMode$ThreadPolicy;->mask:I
+Landroid/os/StrictMode$VmPolicy$Builder;->mMask:I
+Landroid/os/StrictMode$VmPolicy;->mask:I
Landroid/os/StrictMode;->conditionallyCheckInstanceCounts()V
Landroid/os/StrictMode;->disableDeathOnFileUriExposure()V
+Landroid/os/StrictMode;->enableDeathOnFileUriExposure()V
Landroid/os/StrictMode;->enterCriticalSpan(Ljava/lang/String;)Landroid/os/StrictMode$Span;
Landroid/os/StrictMode;->getThreadPolicyMask()I
+Landroid/os/StrictMode;->incrementExpectedActivityCount(Ljava/lang/Class;)V
Landroid/os/StrictMode;->onBinderStrictModePolicyChange(I)V
Landroid/os/StrictMode;->onWebViewMethodCalledOnWrongThread(Ljava/lang/Throwable;)V
Landroid/os/StrictMode;->sLastVmViolationTime:Ljava/util/HashMap;
Landroid/os/StrictMode;->violationsBeingTimed:Ljava/lang/ThreadLocal;
+Landroid/os/SystemClock;->currentThreadTimeMicro()J
+Landroid/os/SystemClock;->currentTimeMicro()J
Landroid/os/SystemProperties;-><init>()V
Landroid/os/SystemProperties;->addChangeCallback(Ljava/lang/Runnable;)V
Landroid/os/SystemProperties;->native_get(Ljava/lang/String;)Ljava/lang/String;
Landroid/os/SystemProperties;->PROP_NAME_MAX:I
Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
+Landroid/os/SystemVibrator;-><init>(Landroid/content/Context;)V
Landroid/os/Trace;->asyncTraceBegin(JLjava/lang/String;I)V
Landroid/os/Trace;->asyncTraceEnd(JLjava/lang/String;I)V
Landroid/os/Trace;->isTagEnabled(J)Z
+Landroid/os/Trace;->nativeGetEnabledTags()J
+Landroid/os/Trace;->sEnabledTags:J
Landroid/os/Trace;->setAppTracingAllowed(Z)V
Landroid/os/Trace;->traceBegin(JLjava/lang/String;)V
Landroid/os/Trace;->traceCounter(JLjava/lang/String;I)V
Landroid/os/Trace;->traceEnd(J)V
Landroid/os/Trace;->TRACE_TAG_APP:J
Landroid/os/Trace;->TRACE_TAG_VIEW:J
+Landroid/os/UEventObserver$UEvent;->get(Ljava/lang/String;)Ljava/lang/String;
+Landroid/os/UEventObserver$UEvent;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+Landroid/os/UEventObserver;-><init>()V
+Landroid/os/UEventObserver;->startObserving(Ljava/lang/String;)V
+Landroid/os/UEventObserver;->stopObserving()V
Landroid/os/UpdateLock;->acquire()V
Landroid/os/UpdateLock;->isHeld()Z
Landroid/os/UpdateLock;->NOW_IS_CONVENIENT:Ljava/lang/String;
@@ -2161,6 +4054,8 @@
Landroid/os/UserHandle;->getCallingUserId()I
Landroid/os/UserHandle;->getUid(II)I
Landroid/os/UserHandle;->getUserId(I)I
+Landroid/os/UserHandle;->isApp(I)Z
+Landroid/os/UserHandle;->isIsolated(I)Z
Landroid/os/UserHandle;->MU_ENABLED:Z
Landroid/os/UserHandle;->OWNER:Landroid/os/UserHandle;
Landroid/os/UserHandle;->PER_USER_RANGE:I
@@ -2171,21 +4066,32 @@
Landroid/os/UserHandle;->USER_OWNER:I
Landroid/os/UserHandle;->USER_SERIAL_SYSTEM:I
Landroid/os/UserHandle;->USER_SYSTEM:I
+Landroid/os/UserManager;->createProfileForUser(Ljava/lang/String;II)Landroid/content/pm/UserInfo;
+Landroid/os/UserManager;->createUser(Ljava/lang/String;I)Landroid/content/pm/UserInfo;
+Landroid/os/UserManager;->DISALLOW_RECORD_AUDIO:Ljava/lang/String;
Landroid/os/UserManager;->get(Landroid/content/Context;)Landroid/os/UserManager;
+Landroid/os/UserManager;->getEnabledProfiles(I)Ljava/util/List;
Landroid/os/UserManager;->getMaxSupportedUsers()I
+Landroid/os/UserManager;->getProfileIdsWithDisabled(I)[I
+Landroid/os/UserManager;->getProfileParent(I)Landroid/content/pm/UserInfo;
Landroid/os/UserManager;->getProfiles(I)Ljava/util/List;
Landroid/os/UserManager;->getUserHandle()I
Landroid/os/UserManager;->getUserHandle(I)I
Landroid/os/UserManager;->getUserIcon(I)Landroid/graphics/Bitmap;
Landroid/os/UserManager;->getUserInfo(I)Landroid/content/pm/UserInfo;
Landroid/os/UserManager;->getUsers()Ljava/util/List;
+Landroid/os/UserManager;->getUsers(Z)Ljava/util/List;
Landroid/os/UserManager;->getUserSerialNumber(I)I
Landroid/os/UserManager;->getUserStartRealtime()J
Landroid/os/UserManager;->getUserUnlockRealtime()J
Landroid/os/UserManager;->hasBaseUserRestriction(Ljava/lang/String;Landroid/os/UserHandle;)Z
+Landroid/os/UserManager;->isGuestUser(I)Z
Landroid/os/UserManager;->isLinkedUser()Z
+Landroid/os/UserManager;->isUserAdmin(I)Z
Landroid/os/UserManager;->isUserUnlocked(I)Z
Landroid/os/UserManager;->mService:Landroid/os/IUserManager;
+Landroid/os/UserManager;->removeUser(I)Z
+Landroid/os/Vibrator;-><init>()V
Landroid/os/VintfObject;->getHalNamesAndVersions()[Ljava/lang/String;
Landroid/os/VintfObject;->getSepolicyVersion()Ljava/lang/String;
Landroid/os/VintfObject;->getTargetFrameworkCompatibilityMatrixVersion()Ljava/lang/Long;
@@ -2199,6 +4105,7 @@
Landroid/os/VintfRuntimeInfo;->getOsRelease()Ljava/lang/String;
Landroid/os/VintfRuntimeInfo;->getOsVersion()Ljava/lang/String;
Landroid/os/WorkSource;-><init>(I)V
+Landroid/os/WorkSource;-><init>(Landroid/os/Parcel;)V
Landroid/os/WorkSource;->add(I)Z
Landroid/os/WorkSource;->add(ILjava/lang/String;)Z
Landroid/os/WorkSource;->addReturningNewbs(Landroid/os/WorkSource;)Landroid/os/WorkSource;
@@ -2218,42 +4125,106 @@
Landroid/preference/DialogPreference;->mNegativeButtonText:Ljava/lang/CharSequence;
Landroid/preference/DialogPreference;->mPositiveButtonText:Ljava/lang/CharSequence;
Landroid/preference/DialogPreference;->mWhichButtonClicked:I
+Landroid/preference/EditTextPreference;->mEditText:Landroid/widget/EditText;
Landroid/preference/ListPreference;->mClickedDialogEntryIndex:I
+Landroid/preference/Preference;->getId()J
+Landroid/preference/Preference;->mLayoutResId:I
+Landroid/preference/Preference;->mSummary:Ljava/lang/CharSequence;
+Landroid/preference/Preference;->mWidgetLayoutResId:I
Landroid/preference/Preference;->onKey(Landroid/view/View;ILandroid/view/KeyEvent;)Z
Landroid/preference/Preference;->performClick(Landroid/preference/PreferenceScreen;)V
+Landroid/preference/Preference;->registerDependent(Landroid/preference/Preference;)V
+Landroid/preference/Preference;->setOnPreferenceChangeInternalListener(Landroid/preference/Preference$OnPreferenceChangeInternalListener;)V
+Landroid/preference/PreferenceActivity;->getHeaders()Ljava/util/List;
Landroid/preference/PreferenceActivity;->mPreferenceManager:Landroid/preference/PreferenceManager;
Landroid/preference/PreferenceActivity;->mPrefsContainer:Landroid/view/ViewGroup;
+Landroid/preference/PreferenceActivity;->postBindPreferences()V
+Landroid/preference/PreferenceActivity;->requirePreferenceManager()V
+Landroid/preference/PreferenceFragment;->getListView()Landroid/widget/ListView;
+Landroid/preference/PreferenceFragment;->mPreferenceManager:Landroid/preference/PreferenceManager;
Landroid/preference/PreferenceManager;-><init>(Landroid/app/Activity;I)V
Landroid/preference/PreferenceManager;-><init>(Landroid/content/Context;)V
Landroid/preference/PreferenceManager;->dispatchActivityDestroy()V
Landroid/preference/PreferenceManager;->dispatchActivityResult(IILandroid/content/Intent;)V
Landroid/preference/PreferenceManager;->dispatchActivityStop()V
+Landroid/preference/PreferenceManager;->getActivity()Landroid/app/Activity;
Landroid/preference/PreferenceManager;->getEditor()Landroid/content/SharedPreferences$Editor;
+Landroid/preference/PreferenceManager;->getFragment()Landroid/preference/PreferenceFragment;
+Landroid/preference/PreferenceManager;->getNextRequestCode()I
Landroid/preference/PreferenceManager;->getPreferenceScreen()Landroid/preference/PreferenceScreen;
Landroid/preference/PreferenceManager;->inflateFromIntent(Landroid/content/Intent;Landroid/preference/PreferenceScreen;)Landroid/preference/PreferenceScreen;
Landroid/preference/PreferenceManager;->inflateFromResource(Landroid/content/Context;ILandroid/preference/PreferenceScreen;)Landroid/preference/PreferenceScreen;
Landroid/preference/PreferenceManager;->mActivityDestroyListeners:Ljava/util/List;
+Landroid/preference/PreferenceManager;->mFragment:Landroid/preference/PreferenceFragment;
Landroid/preference/PreferenceManager;->mOnPreferenceTreeClickListener:Landroid/preference/PreferenceManager$OnPreferenceTreeClickListener;
Landroid/preference/PreferenceManager;->mSharedPreferences:Landroid/content/SharedPreferences;
Landroid/preference/PreferenceManager;->registerOnActivityDestroyListener(Landroid/preference/PreferenceManager$OnActivityDestroyListener;)V
+Landroid/preference/PreferenceManager;->registerOnActivityResultListener(Landroid/preference/PreferenceManager$OnActivityResultListener;)V
Landroid/preference/PreferenceManager;->registerOnActivityStopListener(Landroid/preference/PreferenceManager$OnActivityStopListener;)V
Landroid/preference/PreferenceManager;->setFragment(Landroid/preference/PreferenceFragment;)V
+Landroid/preference/PreferenceManager;->setNoCommit(Z)V
Landroid/preference/PreferenceManager;->setPreferences(Landroid/preference/PreferenceScreen;)Z
Landroid/preference/PreferenceManager;->shouldCommit()Z
Landroid/preference/PreferenceManager;->unregisterOnActivityDestroyListener(Landroid/preference/PreferenceManager$OnActivityDestroyListener;)V
+Landroid/preference/PreferenceManager;->unregisterOnActivityResultListener(Landroid/preference/PreferenceManager$OnActivityResultListener;)V
Landroid/preference/PreferenceManager;->unregisterOnActivityStopListener(Landroid/preference/PreferenceManager$OnActivityStopListener;)V
+Landroid/preference/PreferenceScreen;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+Landroid/preference/PreferenceScreen;->mListView:Landroid/widget/ListView;
Landroid/preference/PreferenceScreen;->mRootAdapter:Landroid/widget/ListAdapter;
+Landroid/preference/RingtonePreference;->mRequestCode:I
+Landroid/preference/SeekBarDialogPreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+Landroid/preference/SeekBarPreference;-><init>(Landroid/content/Context;)V
+Landroid/preference/SeekBarPreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+Landroid/preference/SeekBarPreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+Landroid/preference/SeekBarVolumizer;-><init>(Landroid/content/Context;ILandroid/net/Uri;Landroid/preference/SeekBarVolumizer$Callback;)V
+Landroid/preference/SeekBarVolumizer;->mAudioManager:Landroid/media/AudioManager;
+Landroid/preference/SeekBarVolumizer;->mContext:Landroid/content/Context;
+Landroid/preference/SeekBarVolumizer;->mLastProgress:I
+Landroid/preference/SeekBarVolumizer;->mOriginalStreamVolume:I
+Landroid/preference/SeekBarVolumizer;->mRingtone:Landroid/media/Ringtone;
+Landroid/preference/SeekBarVolumizer;->mSeekBar:Landroid/widget/SeekBar;
+Landroid/preference/SeekBarVolumizer;->mStreamType:I
+Landroid/preference/SeekBarVolumizer;->stop()V
+Landroid/preference/SwitchPreference;->mListener:Landroid/preference/SwitchPreference$Listener;
+Landroid/preference/TwoStatePreference;->syncSummaryView(Landroid/view/View;)V
+Landroid/preference/VolumePreference$VolumeStore;->originalVolume:I
+Landroid/preference/VolumePreference$VolumeStore;->volume:I
+Landroid/preference/VolumePreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+Landroid/preference/VolumePreference;->mStreamType:I
Landroid/print/PrinterId;->getServiceName()Landroid/content/ComponentName;
Landroid/print/PrintJobInfo;->getAdvancedOptions()Landroid/os/Bundle;
Landroid/print/PrintJobInfo;->getDocumentInfo()Landroid/print/PrintDocumentInfo;
+Landroid/print/PrintManager;->addPrintJobStateChangeListener(Landroid/print/PrintManager$PrintJobStateChangeListener;)V
Landroid/provider/Browser;->getVisitedHistory(Landroid/content/ContentResolver;)[Ljava/lang/String;
Landroid/provider/Browser;->sendString(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
+Landroid/provider/BrowserContract$Accounts;->CONTENT_URI:Landroid/net/Uri;
+Landroid/provider/BrowserContract$Bookmarks;->buildFolderUri(J)Landroid/net/Uri;
+Landroid/provider/BrowserContract$Bookmarks;->CONTENT_URI:Landroid/net/Uri;
+Landroid/provider/BrowserContract$Bookmarks;->CONTENT_URI_DEFAULT_FOLDER:Landroid/net/Uri;
+Landroid/provider/BrowserContract$Combined;->CONTENT_URI:Landroid/net/Uri;
+Landroid/provider/BrowserContract$History;->CONTENT_URI:Landroid/net/Uri;
+Landroid/provider/BrowserContract$Images;->CONTENT_URI:Landroid/net/Uri;
+Landroid/provider/BrowserContract;->AUTHORITY_URI:Landroid/net/Uri;
Landroid/provider/CalendarContract$CalendarAlerts;->findNextAlarmTime(Landroid/content/ContentResolver;J)J
Landroid/provider/CalendarContract$CalendarAlerts;->rescheduleMissedAlarms(Landroid/content/ContentResolver;Landroid/content/Context;Landroid/app/AlarmManager;)V
+Landroid/provider/CalendarContract$CalendarAlerts;->scheduleAlarm(Landroid/content/Context;Landroid/app/AlarmManager;J)V
+Landroid/provider/CallLog$Calls;->addCall(Lcom/android/internal/telephony/CallerInfo;Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIILandroid/telecom/PhoneAccountHandle;JILjava/lang/Long;ZLandroid/os/UserHandle;Z)Landroid/net/Uri;
Landroid/provider/ContactsContract$ContactCounts;->EXTRA_ADDRESS_BOOK_INDEX:Ljava/lang/String;
Landroid/provider/ContactsContract$ContactCounts;->EXTRA_ADDRESS_BOOK_INDEX_COUNTS:Ljava/lang/String;
Landroid/provider/ContactsContract$ContactCounts;->EXTRA_ADDRESS_BOOK_INDEX_TITLES:Ljava/lang/String;
+Landroid/provider/ContactsContract$Contacts$AggregationSuggestions;->builder()Landroid/provider/ContactsContract$Contacts$AggregationSuggestions$Builder;
+Landroid/provider/ContactsContract$Contacts;->CORP_CONTENT_URI:Landroid/net/Uri;
+Landroid/provider/ContactsContract$QuickContact;->composeQuickContactsIntent(Landroid/content/Context;Landroid/graphics/Rect;Landroid/net/Uri;I[Ljava/lang/String;)Landroid/content/Intent;
+Landroid/provider/ContactsInternal;->startQuickContactWithErrorToast(Landroid/content/Context;Landroid/content/Intent;)V
+Landroid/provider/DocumentsContract$Root;->FLAG_ADVANCED:I
+Landroid/provider/DocumentsContract;->getDocumentThumbnail(Landroid/content/ContentProviderClient;Landroid/net/Uri;Landroid/graphics/Point;Landroid/os/CancellationSignal;)Landroid/graphics/Bitmap;
+Landroid/provider/DocumentsContract;->METHOD_CREATE_DOCUMENT:Ljava/lang/String;
+Landroid/provider/DocumentsContract;->moveDocument(Landroid/content/ContentProviderClient;Landroid/net/Uri;Landroid/net/Uri;Landroid/net/Uri;)Landroid/net/Uri;
+Landroid/provider/DocumentsContract;->PATH_DOCUMENT:Ljava/lang/String;
+Landroid/provider/DocumentsContract;->PATH_TREE:Ljava/lang/String;
+Landroid/provider/DocumentsContract;->setManageMode(Landroid/net/Uri;)Landroid/net/Uri;
Landroid/provider/Downloads$Impl$RequestHeaders;->INSERT_KEY_PREFIX:Ljava/lang/String;
+Landroid/provider/Downloads$Impl;->ALL_DOWNLOADS_CONTENT_URI:Landroid/net/Uri;
Landroid/provider/Downloads$Impl;->COLUMN_ALLOWED_NETWORK_TYPES:Ljava/lang/String;
Landroid/provider/Downloads$Impl;->COLUMN_ALLOW_ROAMING:Ljava/lang/String;
Landroid/provider/Downloads$Impl;->COLUMN_COOKIE_DATA:Ljava/lang/String;
@@ -2275,30 +4246,108 @@
Landroid/provider/Downloads$Impl;->CONTENT_URI:Landroid/net/Uri;
Landroid/provider/Downloads$Impl;->DESTINATION_CACHE_PARTITION_PURGEABLE:I
Landroid/provider/Downloads$Impl;->DESTINATION_FILE_URI:I
+Landroid/provider/Downloads$Impl;->isNotificationToBeDisplayed(I)Z
+Landroid/provider/Downloads$Impl;->isStatusCompleted(I)Z
Landroid/provider/Downloads$Impl;->isStatusError(I)Z
+Landroid/provider/Downloads$Impl;->isStatusSuccess(I)Z
+Landroid/provider/Downloads$Impl;->PUBLICLY_ACCESSIBLE_DOWNLOADS_URI:Landroid/net/Uri;
+Landroid/provider/MediaStore$Files$FileColumns;->FORMAT:Ljava/lang/String;
+Landroid/provider/MediaStore$Files;->getMtpObjectsUri(Ljava/lang/String;)Landroid/net/Uri;
+Landroid/provider/MediaStore$Files;->getMtpObjectsUri(Ljava/lang/String;J)Landroid/net/Uri;
+Landroid/provider/MediaStore$Files;->getMtpReferencesUri(Ljava/lang/String;J)Landroid/net/Uri;
+Landroid/provider/Settings$Bookmarks;->add(Landroid/content/ContentResolver;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;CI)Landroid/net/Uri;
+Landroid/provider/Settings$Bookmarks;->CONTENT_URI:Landroid/net/Uri;
Landroid/provider/Settings$ContentProviderHolder;->mContentProvider:Landroid/content/IContentProvider;
Landroid/provider/Settings$Global;->ENABLE_ACCESSIBILITY_GLOBAL_GESTURE_ENABLED:Ljava/lang/String;
+Landroid/provider/Settings$Global;->HEADS_UP_NOTIFICATIONS_ENABLED:Ljava/lang/String;
+Landroid/provider/Settings$Global;->HEADS_UP_OFF:I
+Landroid/provider/Settings$Global;->HEADS_UP_ON:I
+Landroid/provider/Settings$Global;->MOBILE_DATA:Ljava/lang/String;
+Landroid/provider/Settings$Global;->MULTI_SIM_VOICE_PROMPT:Ljava/lang/String;
+Landroid/provider/Settings$Global;->NETWORK_SCORER_APP:Ljava/lang/String;
Landroid/provider/Settings$Global;->PACKAGE_VERIFIER_ENABLE:Ljava/lang/String;
+Landroid/provider/Settings$Global;->PREFERRED_NETWORK_MODE:Ljava/lang/String;
+Landroid/provider/Settings$Global;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;I)Z
+Landroid/provider/Settings$Global;->REQUIRE_PASSWORD_TO_DECRYPT:Ljava/lang/String;
Landroid/provider/Settings$Global;->sNameValueCache:Landroid/provider/Settings$NameValueCache;
+Landroid/provider/Settings$Global;->WEBVIEW_PROVIDER:Ljava/lang/String;
+Landroid/provider/Settings$Global;->WIFI_SAVED_STATE:Ljava/lang/String;
+Landroid/provider/Settings$Global;->WIFI_WATCHDOG_POOR_NETWORK_TEST_ENABLED:Ljava/lang/String;
+Landroid/provider/Settings$Global;->ZEN_MODE:Ljava/lang/String;
+Landroid/provider/Settings$Global;->ZEN_MODE_ALARMS:I
+Landroid/provider/Settings$Global;->ZEN_MODE_CONFIG_ETAG:Ljava/lang/String;
+Landroid/provider/Settings$Global;->ZEN_MODE_IMPORTANT_INTERRUPTIONS:I
+Landroid/provider/Settings$Global;->ZEN_MODE_NO_INTERRUPTIONS:I
+Landroid/provider/Settings$Global;->ZEN_MODE_OFF:I
Landroid/provider/Settings$NameValueCache;->mProviderHolder:Landroid/provider/Settings$ContentProviderHolder;
Landroid/provider/Settings$Secure;->ACCESSIBILITY_AUTOCLICK_ENABLED:Ljava/lang/String;
+Landroid/provider/Settings$Secure;->ACCESSIBILITY_CAPTIONING_TYPEFACE:Ljava/lang/String;
Landroid/provider/Settings$Secure;->ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED:Ljava/lang/String;
Landroid/provider/Settings$Secure;->ACCESSIBILITY_LARGE_POINTER_ICON:Ljava/lang/String;
+Landroid/provider/Settings$Secure;->ANR_SHOW_BACKGROUND:Ljava/lang/String;
+Landroid/provider/Settings$Secure;->ASSISTANT:Ljava/lang/String;
+Landroid/provider/Settings$Secure;->BACKUP_AUTO_RESTORE:Ljava/lang/String;
+Landroid/provider/Settings$Secure;->BACKUP_ENABLED:Ljava/lang/String;
+Landroid/provider/Settings$Secure;->BACKUP_PROVISIONED:Ljava/lang/String;
+Landroid/provider/Settings$Secure;->BACKUP_TRANSPORT:Ljava/lang/String;
+Landroid/provider/Settings$Secure;->DIALER_DEFAULT_APPLICATION:Ljava/lang/String;
+Landroid/provider/Settings$Secure;->DOZE_ENABLED:Ljava/lang/String;
Landroid/provider/Settings$Secure;->ENABLED_NOTIFICATION_LISTENERS:Ljava/lang/String;
+Landroid/provider/Settings$Secure;->ENABLED_PRINT_SERVICES:Ljava/lang/String;
+Landroid/provider/Settings$Secure;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I
+Landroid/provider/Settings$Secure;->getLongForUser(Landroid/content/ContentResolver;Ljava/lang/String;JI)J
Landroid/provider/Settings$Secure;->INCALL_POWER_BUTTON_BEHAVIOR:Ljava/lang/String;
+Landroid/provider/Settings$Secure;->LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS:Ljava/lang/String;
+Landroid/provider/Settings$Secure;->LOCK_SCREEN_LOCK_AFTER_TIMEOUT:Ljava/lang/String;
+Landroid/provider/Settings$Secure;->LOCK_SCREEN_OWNER_INFO_ENABLED:Ljava/lang/String;
+Landroid/provider/Settings$Secure;->LOCK_SCREEN_SHOW_NOTIFICATIONS:Ljava/lang/String;
Landroid/provider/Settings$Secure;->LONG_PRESS_TIMEOUT:Ljava/lang/String;
+Landroid/provider/Settings$Secure;->NFC_PAYMENT_DEFAULT_COMPONENT:Ljava/lang/String;
Landroid/provider/Settings$Secure;->PACKAGE_VERIFIER_USER_CONSENT:Ljava/lang/String;
Landroid/provider/Settings$Secure;->putIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)Z
+Landroid/provider/Settings$Secure;->putLongForUser(Landroid/content/ContentResolver;Ljava/lang/String;JI)Z
+Landroid/provider/Settings$Secure;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;I)Z
+Landroid/provider/Settings$Secure;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZI)Z
+Landroid/provider/Settings$Secure;->SELECTED_SPELL_CHECKER:Ljava/lang/String;
+Landroid/provider/Settings$Secure;->SELECTED_SPELL_CHECKER_SUBTYPE:Ljava/lang/String;
+Landroid/provider/Settings$Secure;->SETTINGS_TO_BACKUP:[Ljava/lang/String;
+Landroid/provider/Settings$Secure;->SMS_DEFAULT_APPLICATION:Ljava/lang/String;
Landroid/provider/Settings$Secure;->sNameValueCache:Landroid/provider/Settings$NameValueCache;
+Landroid/provider/Settings$Secure;->VOICE_RECOGNITION_SERVICE:Ljava/lang/String;
Landroid/provider/Settings$System;->AIRPLANE_MODE_TOGGLEABLE_RADIOS:Ljava/lang/String;
+Landroid/provider/Settings$System;->CAR_DOCK_SOUND:Ljava/lang/String;
+Landroid/provider/Settings$System;->CAR_UNDOCK_SOUND:Ljava/lang/String;
+Landroid/provider/Settings$System;->DESK_DOCK_SOUND:Ljava/lang/String;
+Landroid/provider/Settings$System;->DESK_UNDOCK_SOUND:Ljava/lang/String;
+Landroid/provider/Settings$System;->DOCK_SOUNDS_ENABLED:Ljava/lang/String;
+Landroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)I
+Landroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I
Landroid/provider/Settings$System;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
Landroid/provider/Settings$System;->HEARING_AID:Ljava/lang/String;
+Landroid/provider/Settings$System;->HIDE_ROTATION_LOCK_TOGGLE_FOR_ACCESSIBILITY:Ljava/lang/String;
+Landroid/provider/Settings$System;->LOCKSCREEN_SOUNDS_ENABLED:Ljava/lang/String;
+Landroid/provider/Settings$System;->LOCK_SOUND:Ljava/lang/String;
Landroid/provider/Settings$System;->MASTER_MONO:Ljava/lang/String;
+Landroid/provider/Settings$System;->POINTER_LOCATION:Ljava/lang/String;
+Landroid/provider/Settings$System;->POINTER_SPEED:Ljava/lang/String;
+Landroid/provider/Settings$System;->putIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)Z
Landroid/provider/Settings$System;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;I)Z
Landroid/provider/Settings$System;->SCREEN_AUTO_BRIGHTNESS_ADJ:Ljava/lang/String;
+Landroid/provider/Settings$System;->SETTINGS_TO_BACKUP:[Ljava/lang/String;
+Landroid/provider/Settings$System;->SHOW_TOUCHES:Ljava/lang/String;
Landroid/provider/Settings$System;->sNameValueCache:Landroid/provider/Settings$NameValueCache;
+Landroid/provider/Settings$System;->TTY_MODE:Ljava/lang/String;
+Landroid/provider/Settings$System;->UNLOCK_SOUND:Ljava/lang/String;
+Landroid/provider/Settings$System;->VIBRATE_IN_SILENT:Ljava/lang/String;
+Landroid/provider/Settings;->ACTION_TRUSTED_CREDENTIALS_USER:Ljava/lang/String;
+Landroid/provider/Settings;->ACTION_USER_DICTIONARY_INSERT:Ljava/lang/String;
Landroid/provider/Settings;->isCallingPackageAllowedToDrawOverlays(Landroid/content/Context;ILjava/lang/String;Z)Z
+Landroid/provider/Settings;->isCallingPackageAllowedToPerformAppOpsProtectedOperation(Landroid/content/Context;ILjava/lang/String;ZI[Ljava/lang/String;Z)Z
Landroid/provider/Settings;->isCallingPackageAllowedToWriteSettings(Landroid/content/Context;ILjava/lang/String;Z)Z
+Landroid/provider/Telephony$Mms;->extractAddrSpec(Ljava/lang/String;)Ljava/lang/String;
+Landroid/provider/Telephony$Mms;->isPhoneNumber(Ljava/lang/String;)Z
+Landroid/provider/Telephony$Mms;->NAME_ADDR_EMAIL_PATTERN:Ljava/util/regex/Pattern;
+Landroid/provider/Telephony$Sms$Draft;->addMessage(ILandroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;)Landroid/net/Uri;
Landroid/provider/Telephony$Sms$Inbox;->addMessage(ILandroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Z)Landroid/net/Uri;
Landroid/provider/Telephony$Sms$Inbox;->addMessage(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Z)Landroid/net/Uri;
Landroid/provider/Telephony$Sms$Sent;->addMessage(ILandroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;)Landroid/net/Uri;
@@ -2307,6 +4356,9 @@
Landroid/provider/Telephony$Sms;->addMessageToUri(ILandroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;ZZJ)Landroid/net/Uri;
Landroid/provider/Telephony$Sms;->addMessageToUri(Landroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;ZZ)Landroid/net/Uri;
Landroid/provider/Telephony$Sms;->addMessageToUri(Landroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;ZZJ)Landroid/net/Uri;
+Landroid/provider/Telephony$Sms;->isOutgoingFolder(I)Z
+Landroid/provider/Telephony$Sms;->moveMessageToFolder(Landroid/content/Context;Landroid/net/Uri;II)Z
+Landroid/provider/Telephony$Sms;->query(Landroid/content/ContentResolver;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
Landroid/R$styleable;->ActionBar:[I
Landroid/R$styleable;->ActionBar_background:I
Landroid/R$styleable;->ActionBar_backgroundSplit:I
@@ -2329,7 +4381,13 @@
Landroid/R$styleable;->CheckedTextView_checkMark:I
Landroid/R$styleable;->CompoundButton:[I
Landroid/R$styleable;->CompoundButton_button:I
+Landroid/R$styleable;->ContactsDataKind:[I
+Landroid/R$styleable;->DatePicker:[I
+Landroid/R$styleable;->DialogPreference:[I
Landroid/R$styleable;->DrawableStates:[I
+Landroid/R$styleable;->ExpandableListView:[I
+Landroid/R$styleable;->FrameLayout_Layout:[I
+Landroid/R$styleable;->HorizontalScrollView:[I
Landroid/R$styleable;->ImageView:[I
Landroid/R$styleable;->ImageView_adjustViewBounds:I
Landroid/R$styleable;->ImageView_baselineAlignBottom:I
@@ -2339,13 +4397,47 @@
Landroid/R$styleable;->ImageView_scaleType:I
Landroid/R$styleable;->ImageView_src:I
Landroid/R$styleable;->ImageView_tint:I
+Landroid/R$styleable;->Keyboard:[I
+Landroid/R$styleable;->Keyboard_horizontalGap:I
+Landroid/R$styleable;->Keyboard_Key:[I
+Landroid/R$styleable;->Keyboard_keyHeight:I
+Landroid/R$styleable;->Keyboard_keyWidth:I
+Landroid/R$styleable;->Keyboard_Key_codes:I
+Landroid/R$styleable;->Keyboard_Key_iconPreview:I
+Landroid/R$styleable;->Keyboard_Key_isModifier:I
+Landroid/R$styleable;->Keyboard_Key_isRepeatable:I
+Landroid/R$styleable;->Keyboard_Key_isSticky:I
+Landroid/R$styleable;->Keyboard_Key_keyEdgeFlags:I
+Landroid/R$styleable;->Keyboard_Key_keyIcon:I
+Landroid/R$styleable;->Keyboard_Key_keyLabel:I
+Landroid/R$styleable;->Keyboard_Key_keyOutputText:I
+Landroid/R$styleable;->Keyboard_Key_popupCharacters:I
+Landroid/R$styleable;->Keyboard_Key_popupKeyboard:I
+Landroid/R$styleable;->Keyboard_Row:[I
+Landroid/R$styleable;->Keyboard_Row_keyboardMode:I
+Landroid/R$styleable;->Keyboard_Row_rowEdgeFlags:I
+Landroid/R$styleable;->Keyboard_verticalGap:I
Landroid/R$styleable;->LinearLayout:[I
+Landroid/R$styleable;->LinearLayout_baselineAligned:I
+Landroid/R$styleable;->LinearLayout_baselineAlignedChildIndex:I
Landroid/R$styleable;->LinearLayout_divider:I
Landroid/R$styleable;->LinearLayout_dividerPadding:I
+Landroid/R$styleable;->LinearLayout_gravity:I
+Landroid/R$styleable;->LinearLayout_Layout:[I
+Landroid/R$styleable;->LinearLayout_Layout_layout_gravity:I
+Landroid/R$styleable;->LinearLayout_Layout_layout_height:I
+Landroid/R$styleable;->LinearLayout_Layout_layout_weight:I
+Landroid/R$styleable;->LinearLayout_Layout_layout_width:I
+Landroid/R$styleable;->LinearLayout_measureWithLargestChild:I
+Landroid/R$styleable;->LinearLayout_orientation:I
Landroid/R$styleable;->LinearLayout_showDividers:I
Landroid/R$styleable;->ListView:[I
Landroid/R$styleable;->ListView_divider:I
Landroid/R$styleable;->ListView_dividerHeight:I
+Landroid/R$styleable;->LockPatternView:[I
+Landroid/R$styleable;->NumberPicker:[I
+Landroid/R$styleable;->NumberPicker_solidColor:I
+Landroid/R$styleable;->PopupWindow:[I
Landroid/R$styleable;->ProgressBar:[I
Landroid/R$styleable;->ProgressBar_indeterminateDrawable:I
Landroid/R$styleable;->ProgressBar_indeterminateDuration:I
@@ -2354,9 +4446,19 @@
Landroid/R$styleable;->ProgressBar_minHeight:I
Landroid/R$styleable;->ProgressBar_minWidth:I
Landroid/R$styleable;->ProgressBar_progressDrawable:I
+Landroid/R$styleable;->RingtonePreference:[I
+Landroid/R$styleable;->ScrollView:[I
Landroid/R$styleable;->SeekBar:[I
Landroid/R$styleable;->SeekBar_thumb:I
Landroid/R$styleable;->SeekBar_thumbOffset:I
+Landroid/R$styleable;->SlidingDrawer:[I
+Landroid/R$styleable;->SlidingDrawer_allowSingleTap:I
+Landroid/R$styleable;->SlidingDrawer_animateOnClick:I
+Landroid/R$styleable;->SlidingDrawer_bottomOffset:I
+Landroid/R$styleable;->SlidingDrawer_content:I
+Landroid/R$styleable;->SlidingDrawer_handle:I
+Landroid/R$styleable;->SlidingDrawer_orientation:I
+Landroid/R$styleable;->SlidingDrawer_topOffset:I
Landroid/R$styleable;->Switch:[I
Landroid/R$styleable;->Switch_showText:I
Landroid/R$styleable;->Switch_splitTrack:I
@@ -2447,10 +4549,21 @@
Landroid/R$styleable;->TextView_textStyle:I
Landroid/R$styleable;->TextView_typeface:I
Landroid/R$styleable;->TextView_width:I
+Landroid/R$styleable;->Theme:[I
Landroid/R$styleable;->View:[I
Landroid/R$styleable;->ViewDrawableStates:[I
Landroid/R$styleable;->ViewGroup_Layout:[I
+Landroid/R$styleable;->ViewGroup_Layout_layout_height:I
+Landroid/R$styleable;->ViewGroup_Layout_layout_width:I
Landroid/R$styleable;->ViewGroup_MarginLayout:[I
+Landroid/R$styleable;->ViewGroup_MarginLayout_layout_height:I
+Landroid/R$styleable;->ViewGroup_MarginLayout_layout_margin:I
+Landroid/R$styleable;->ViewGroup_MarginLayout_layout_marginBottom:I
+Landroid/R$styleable;->ViewGroup_MarginLayout_layout_marginLeft:I
+Landroid/R$styleable;->ViewGroup_MarginLayout_layout_marginRight:I
+Landroid/R$styleable;->ViewGroup_MarginLayout_layout_marginTop:I
+Landroid/R$styleable;->ViewGroup_MarginLayout_layout_width:I
+Landroid/R$styleable;->View_alpha:I
Landroid/R$styleable;->View_background:I
Landroid/R$styleable;->View_clickable:I
Landroid/R$styleable;->View_contentDescription:I
@@ -2481,7 +4594,12 @@
Landroid/R$styleable;->View_paddingRight:I
Landroid/R$styleable;->View_paddingStart:I
Landroid/R$styleable;->View_paddingTop:I
+Landroid/R$styleable;->View_rotation:I
+Landroid/R$styleable;->View_rotationX:I
+Landroid/R$styleable;->View_rotationY:I
Landroid/R$styleable;->View_saveEnabled:I
+Landroid/R$styleable;->View_scaleX:I
+Landroid/R$styleable;->View_scaleY:I
Landroid/R$styleable;->View_scrollbarDefaultDelayBeforeFade:I
Landroid/R$styleable;->View_scrollbarFadeDuration:I
Landroid/R$styleable;->View_scrollbars:I
@@ -2495,18 +4613,177 @@
Landroid/R$styleable;->View_scrollY:I
Landroid/R$styleable;->View_soundEffectsEnabled:I
Landroid/R$styleable;->View_tag:I
+Landroid/R$styleable;->View_transformPivotX:I
+Landroid/R$styleable;->View_transformPivotY:I
+Landroid/R$styleable;->View_translationX:I
+Landroid/R$styleable;->View_translationY:I
Landroid/R$styleable;->View_visibility:I
Landroid/R$styleable;->Window:[I
Landroid/R$styleable;->Window_windowBackground:I
Landroid/R$styleable;->Window_windowFrame:I
+Landroid/renderscript/BaseObj;->mRS:Landroid/renderscript/RenderScript;
+Landroid/renderscript/Element;->createUser(Landroid/renderscript/RenderScript;Landroid/renderscript/Element$DataType;)Landroid/renderscript/Element;
+Landroid/renderscript/FileA3D$EntryType;->MESH:Landroid/renderscript/FileA3D$EntryType;
+Landroid/renderscript/FileA3D$IndexEntry;->getEntryType()Landroid/renderscript/FileA3D$EntryType;
+Landroid/renderscript/FileA3D$IndexEntry;->getObject()Landroid/renderscript/BaseObj;
+Landroid/renderscript/FileA3D;->createFromResource(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;I)Landroid/renderscript/FileA3D;
+Landroid/renderscript/FileA3D;->getIndexEntry(I)Landroid/renderscript/FileA3D$IndexEntry;
+Landroid/renderscript/Font$Style;->ITALIC:Landroid/renderscript/Font$Style;
+Landroid/renderscript/Font;->create(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;Ljava/lang/String;Landroid/renderscript/Font$Style;F)Landroid/renderscript/Font;
+Landroid/renderscript/Matrix4f;->mMat:[F
+Landroid/renderscript/Mesh$AllocationBuilder;-><init>(Landroid/renderscript/RenderScript;)V
+Landroid/renderscript/Mesh$AllocationBuilder;->addIndexSetAllocation(Landroid/renderscript/Allocation;Landroid/renderscript/Mesh$Primitive;)Landroid/renderscript/Mesh$AllocationBuilder;
+Landroid/renderscript/Mesh$AllocationBuilder;->addIndexSetType(Landroid/renderscript/Mesh$Primitive;)Landroid/renderscript/Mesh$AllocationBuilder;
+Landroid/renderscript/Mesh$AllocationBuilder;->addVertexAllocation(Landroid/renderscript/Allocation;)Landroid/renderscript/Mesh$AllocationBuilder;
+Landroid/renderscript/Mesh$AllocationBuilder;->create()Landroid/renderscript/Mesh;
+Landroid/renderscript/Mesh$Primitive;->POINT:Landroid/renderscript/Mesh$Primitive;
+Landroid/renderscript/Mesh$Primitive;->TRIANGLE:Landroid/renderscript/Mesh$Primitive;
+Landroid/renderscript/Mesh$TriangleMeshBuilder;-><init>(Landroid/renderscript/RenderScript;II)V
+Landroid/renderscript/Mesh$TriangleMeshBuilder;->addTriangle(III)Landroid/renderscript/Mesh$TriangleMeshBuilder;
+Landroid/renderscript/Mesh$TriangleMeshBuilder;->addVertex(FF)Landroid/renderscript/Mesh$TriangleMeshBuilder;
+Landroid/renderscript/Mesh$TriangleMeshBuilder;->create(Z)Landroid/renderscript/Mesh;
+Landroid/renderscript/Mesh;->getVertexAllocation(I)Landroid/renderscript/Allocation;
+Landroid/renderscript/Program$BaseProgramBuilder;-><init>(Landroid/renderscript/RenderScript;)V
+Landroid/renderscript/Program$BaseProgramBuilder;->mConstantCount:I
+Landroid/renderscript/Program$BaseProgramBuilder;->mConstants:[Landroid/renderscript/Type;
+Landroid/renderscript/Program$BaseProgramBuilder;->mInputCount:I
+Landroid/renderscript/Program$BaseProgramBuilder;->mInputs:[Landroid/renderscript/Element;
+Landroid/renderscript/Program$BaseProgramBuilder;->mOutputCount:I
+Landroid/renderscript/Program$BaseProgramBuilder;->mOutputs:[Landroid/renderscript/Element;
+Landroid/renderscript/Program$BaseProgramBuilder;->mRS:Landroid/renderscript/RenderScript;
+Landroid/renderscript/Program$BaseProgramBuilder;->mShader:Ljava/lang/String;
+Landroid/renderscript/Program$BaseProgramBuilder;->mTextureCount:I
+Landroid/renderscript/Program$TextureType;->TEXTURE_2D:Landroid/renderscript/Program$TextureType;
+Landroid/renderscript/ProgramFragment$Builder;-><init>(Landroid/renderscript/RenderScript;)V
+Landroid/renderscript/ProgramFragment$Builder;->create()Landroid/renderscript/ProgramFragment;
+Landroid/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode;->MODULATE:Landroid/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode;
+Landroid/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode;->REPLACE:Landroid/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode;
+Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;->ALPHA:Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;
+Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;->RGB:Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;
+Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;->RGBA:Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;
+Landroid/renderscript/ProgramFragmentFixedFunction$Builder;-><init>(Landroid/renderscript/RenderScript;)V
+Landroid/renderscript/ProgramFragmentFixedFunction$Builder;->create()Landroid/renderscript/ProgramFragmentFixedFunction;
+Landroid/renderscript/ProgramFragmentFixedFunction$Builder;->setTexture(Landroid/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode;Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;I)Landroid/renderscript/ProgramFragmentFixedFunction$Builder;
+Landroid/renderscript/ProgramFragmentFixedFunction$Builder;->setVaryingColor(Z)Landroid/renderscript/ProgramFragmentFixedFunction$Builder;
+Landroid/renderscript/ProgramRaster$Builder;-><init>(Landroid/renderscript/RenderScript;)V
+Landroid/renderscript/ProgramRaster$Builder;->create()Landroid/renderscript/ProgramRaster;
+Landroid/renderscript/ProgramRaster$Builder;->setPointSpriteEnabled(Z)Landroid/renderscript/ProgramRaster$Builder;
+Landroid/renderscript/ProgramStore$BlendDstFunc;->ONE:Landroid/renderscript/ProgramStore$BlendDstFunc;
+Landroid/renderscript/ProgramStore$BlendDstFunc;->ONE_MINUS_SRC_ALPHA:Landroid/renderscript/ProgramStore$BlendDstFunc;
+Landroid/renderscript/ProgramStore$BlendDstFunc;->ZERO:Landroid/renderscript/ProgramStore$BlendDstFunc;
+Landroid/renderscript/ProgramStore$BlendSrcFunc;->ONE:Landroid/renderscript/ProgramStore$BlendSrcFunc;
+Landroid/renderscript/ProgramStore$BlendSrcFunc;->SRC_ALPHA:Landroid/renderscript/ProgramStore$BlendSrcFunc;
+Landroid/renderscript/ProgramStore$Builder;-><init>(Landroid/renderscript/RenderScript;)V
+Landroid/renderscript/ProgramStore$Builder;->create()Landroid/renderscript/ProgramStore;
+Landroid/renderscript/ProgramStore$Builder;->setBlendFunc(Landroid/renderscript/ProgramStore$BlendSrcFunc;Landroid/renderscript/ProgramStore$BlendDstFunc;)Landroid/renderscript/ProgramStore$Builder;
+Landroid/renderscript/ProgramStore$Builder;->setDepthFunc(Landroid/renderscript/ProgramStore$DepthFunc;)Landroid/renderscript/ProgramStore$Builder;
+Landroid/renderscript/ProgramStore$Builder;->setDepthMaskEnabled(Z)Landroid/renderscript/ProgramStore$Builder;
+Landroid/renderscript/ProgramStore$Builder;->setDitherEnabled(Z)Landroid/renderscript/ProgramStore$Builder;
+Landroid/renderscript/ProgramStore$DepthFunc;->ALWAYS:Landroid/renderscript/ProgramStore$DepthFunc;
+Landroid/renderscript/ProgramStore$DepthFunc;->LESS:Landroid/renderscript/ProgramStore$DepthFunc;
+Landroid/renderscript/ProgramStore;->BLEND_ALPHA_DEPTH_NONE(Landroid/renderscript/RenderScript;)Landroid/renderscript/ProgramStore;
+Landroid/renderscript/ProgramVertex$Builder;-><init>(Landroid/renderscript/RenderScript;)V
+Landroid/renderscript/ProgramVertex$Builder;->addInput(Landroid/renderscript/Element;)Landroid/renderscript/ProgramVertex$Builder;
+Landroid/renderscript/ProgramVertex$Builder;->create()Landroid/renderscript/ProgramVertex;
+Landroid/renderscript/ProgramVertexFixedFunction$Builder;-><init>(Landroid/renderscript/RenderScript;)V
+Landroid/renderscript/ProgramVertexFixedFunction$Builder;->create()Landroid/renderscript/ProgramVertexFixedFunction;
+Landroid/renderscript/ProgramVertexFixedFunction$Constants;-><init>(Landroid/renderscript/RenderScript;)V
+Landroid/renderscript/ProgramVertexFixedFunction$Constants;->setProjection(Landroid/renderscript/Matrix4f;)V
+Landroid/renderscript/ProgramVertexFixedFunction;->bindConstants(Landroid/renderscript/ProgramVertexFixedFunction$Constants;)V
Landroid/renderscript/RenderScript;->create(Landroid/content/Context;I)Landroid/renderscript/RenderScript;
Landroid/renderscript/RenderScript;->create(Landroid/content/Context;ILandroid/renderscript/RenderScript$ContextType;I)Landroid/renderscript/RenderScript;
Landroid/renderscript/RenderScript;->getMinorID()J
+Landroid/renderscript/RenderScript;->mMessageCallback:Landroid/renderscript/RenderScript$RSMessageHandler;
+Landroid/renderscript/RenderScript;->nScriptCCreate(Ljava/lang/String;Ljava/lang/String;[BI)J
+Landroid/renderscript/RenderScript;->sPointerSize:I
+Landroid/renderscript/RenderScript;->validate()V
Landroid/renderscript/RenderScriptCacheDir;->mCacheDir:Ljava/io/File;
Landroid/renderscript/RenderScriptCacheDir;->setupDiskCache(Ljava/io/File;)V
+Landroid/renderscript/RenderScriptGL$SurfaceConfig;-><init>()V
+Landroid/renderscript/RenderScriptGL$SurfaceConfig;->setDepth(II)V
+Landroid/renderscript/RenderScriptGL;-><init>(Landroid/content/Context;Landroid/renderscript/RenderScriptGL$SurfaceConfig;)V
+Landroid/renderscript/RenderScriptGL;->bindProgramRaster(Landroid/renderscript/ProgramRaster;)V
+Landroid/renderscript/RenderScriptGL;->bindProgramStore(Landroid/renderscript/ProgramStore;)V
+Landroid/renderscript/RenderScriptGL;->bindProgramVertex(Landroid/renderscript/ProgramVertex;)V
+Landroid/renderscript/RenderScriptGL;->bindRootScript(Landroid/renderscript/Script;)V
+Landroid/renderscript/RenderScriptGL;->setSurface(Landroid/view/SurfaceHolder;II)V
+Landroid/renderscript/RSSurfaceView;-><init>(Landroid/content/Context;)V
+Landroid/renderscript/RSSurfaceView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+Landroid/renderscript/Script$Builder;-><init>(Landroid/renderscript/RenderScript;)V
+Landroid/renderscript/Script$Builder;->mRS:Landroid/renderscript/RenderScript;
+Landroid/security/Credentials;->convertToPem([[Ljava/security/cert/Certificate;)[B
+Landroid/security/Credentials;->getInstance()Landroid/security/Credentials;
+Landroid/security/Credentials;->install(Landroid/content/Context;Ljava/lang/String;[B)V
+Landroid/security/Credentials;->install(Landroid/content/Context;Ljava/security/KeyPair;)V
+Landroid/security/Credentials;->unlock(Landroid/content/Context;)V
+Landroid/security/GateKeeper;->getSecureUserId()J
+Landroid/security/IKeyChainService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/security/IKeyChainService;
+Landroid/security/IKeyChainService;->requestPrivateKey(Ljava/lang/String;)Ljava/lang/String;
+Landroid/security/IKeystoreService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/security/IKeystoreService;
+Landroid/security/IKeystoreService;->clear_uid(J)I
+Landroid/security/IKeystoreService;->del(Ljava/lang/String;I)I
+Landroid/security/IKeystoreService;->exist(Ljava/lang/String;I)I
+Landroid/security/IKeystoreService;->get(Ljava/lang/String;I)[B
+Landroid/security/IKeystoreService;->getState(I)I
+Landroid/security/IKeystoreService;->get_pubkey(Ljava/lang/String;)[B
+Landroid/security/IKeystoreService;->import_key(Ljava/lang/String;[BII)I
+Landroid/security/IKeystoreService;->insert(Ljava/lang/String;[BII)I
+Landroid/security/IKeystoreService;->is_hardware_backed(Ljava/lang/String;)I
+Landroid/security/IKeystoreService;->list(Ljava/lang/String;I)[Ljava/lang/String;
+Landroid/security/IKeystoreService;->reset()I
+Landroid/security/IKeystoreService;->sign(Ljava/lang/String;[B)[B
+Landroid/security/IKeystoreService;->ungrant(Ljava/lang/String;I)I
+Landroid/security/IKeystoreService;->verify(Ljava/lang/String;[B[B)I
+Landroid/security/keymaster/ExportResult;->CREATOR:Landroid/os/Parcelable$Creator;
+Landroid/security/keymaster/KeyCharacteristics;-><init>()V
+Landroid/security/keymaster/KeyCharacteristics;->readFromParcel(Landroid/os/Parcel;)V
+Landroid/security/keymaster/KeymasterArguments;-><init>()V
+Landroid/security/keymaster/KeymasterArguments;->CREATOR:Landroid/os/Parcelable$Creator;
+Landroid/security/keymaster/KeymasterArguments;->readFromParcel(Landroid/os/Parcel;)V
+Landroid/security/keymaster/KeymasterBlob;->CREATOR:Landroid/os/Parcelable$Creator;
+Landroid/security/keymaster/OperationResult;->CREATOR:Landroid/os/Parcelable$Creator;
+Landroid/security/KeyStore$State;->LOCKED:Landroid/security/KeyStore$State;
+Landroid/security/KeyStore$State;->UNLOCKED:Landroid/security/KeyStore$State;
Landroid/security/keystore/AndroidKeyStoreProvider;->getKeyStoreOperationHandle(Ljava/lang/Object;)J
+Landroid/security/keystore/KeyGenParameterSpec;->getUid()I
+Landroid/security/keystore/KeyGenParameterSpec;->isUniqueIdIncluded()Z
+Landroid/security/KeyStore;->delete(Ljava/lang/String;)Z
+Landroid/security/KeyStore;->get(Ljava/lang/String;)[B
+Landroid/security/KeyStore;->getApplicationContext()Landroid/content/Context;
Landroid/security/KeyStore;->getInstance()Landroid/security/KeyStore;
+Landroid/security/KeyStore;->isEmpty()Z
+Landroid/security/KeyStore;->NO_ERROR:I
+Landroid/security/KeyStore;->reset()Z
+Landroid/security/KeyStore;->state()Landroid/security/KeyStore$State;
+Landroid/security/KeyStore;->state(I)Landroid/security/KeyStore$State;
+Landroid/security/KeyStore;->unlock(Ljava/lang/String;)Z
+Landroid/security/KeystoreArguments;-><init>([[B)V
+Landroid/security/KeystoreArguments;->CREATOR:Landroid/os/Parcelable$Creator;
Landroid/security/net/config/RootTrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
+Landroid/service/carrier/ICarrierMessagingCallback$Stub;-><init>()V
+Landroid/service/carrier/ICarrierMessagingService;->filterSms(Landroid/service/carrier/MessagePdu;Ljava/lang/String;IILandroid/service/carrier/ICarrierMessagingCallback;)V
+Landroid/service/dreams/DreamService;->getDozeScreenBrightness()I
+Landroid/service/dreams/DreamService;->setDozeScreenBrightness(I)V
+Landroid/service/dreams/DreamService;->setDozeScreenState(I)V
+Landroid/service/dreams/DreamService;->setWindowless(Z)V
+Landroid/service/dreams/IDreamManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/dreams/IDreamManager;
+Landroid/service/dreams/IDreamManager;->awaken()V
+Landroid/service/dreams/IDreamManager;->dream()V
+Landroid/service/dreams/IDreamManager;->getDreamComponents()[Landroid/content/ComponentName;
+Landroid/service/dreams/IDreamManager;->isDreaming()Z
+Landroid/service/dreams/IDreamManager;->setDreamComponents([Landroid/content/ComponentName;)V
+Landroid/service/euicc/IDeleteSubscriptionCallback;->onComplete(I)V
+Landroid/service/euicc/IDownloadSubscriptionCallback;->onComplete(I)V
+Landroid/service/euicc/IEraseSubscriptionsCallback;->onComplete(I)V
+Landroid/service/euicc/IEuiccService$Stub;-><init>()V
+Landroid/service/euicc/IGetDefaultDownloadableSubscriptionListCallback;->onComplete(Landroid/service/euicc/GetDefaultDownloadableSubscriptionListResult;)V
+Landroid/service/euicc/IGetDownloadableSubscriptionMetadataCallback;->onComplete(Landroid/service/euicc/GetDownloadableSubscriptionMetadataResult;)V
+Landroid/service/euicc/IGetEidCallback;->onSuccess(Ljava/lang/String;)V
+Landroid/service/euicc/IGetEuiccInfoCallback;->onSuccess(Landroid/telephony/euicc/EuiccInfo;)V
+Landroid/service/euicc/IGetEuiccProfileInfoListCallback;->onComplete(Landroid/service/euicc/GetEuiccProfileInfoListResult;)V
+Landroid/service/euicc/IRetainSubscriptionsForFactoryResetCallback;->onComplete(I)V
+Landroid/service/euicc/ISwitchToSubscriptionCallback;->onComplete(I)V
+Landroid/service/euicc/IUpdateSubscriptionNicknameCallback;->onComplete(I)V
Landroid/service/media/IMediaBrowserServiceCallbacks$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/media/IMediaBrowserServiceCallbacks;
Landroid/service/media/IMediaBrowserServiceCallbacks;->onConnect(Ljava/lang/String;Landroid/media/session/MediaSession$Token;Landroid/os/Bundle;)V
Landroid/service/media/IMediaBrowserServiceCallbacks;->onConnectFailed()V
@@ -2514,17 +4791,57 @@
Landroid/service/media/IMediaBrowserServiceCallbacks;->onLoadChildrenWithOptions(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;Landroid/os/Bundle;)V
Landroid/service/media/MediaBrowserService$Result;->mFlags:I
Landroid/service/media/MediaBrowserService;->KEY_MEDIA_ITEM:Ljava/lang/String;
+Landroid/service/notification/INotificationListener$Stub;-><init>()V
+Landroid/service/notification/NotificationListenerService$Ranking;->getVisibilityOverride()I
Landroid/service/notification/NotificationListenerService;->isBound()Z
Landroid/service/notification/NotificationListenerService;->mHandler:Landroid/os/Handler;
Landroid/service/notification/StatusBarNotification;->getInitialPid()I
+Landroid/service/notification/StatusBarNotification;->getOpPkg()Ljava/lang/String;
+Landroid/service/notification/StatusBarNotification;->getPackageContext(Landroid/content/Context;)Landroid/content/Context;
Landroid/service/notification/StatusBarNotification;->getUid()I
+Landroid/service/notification/StatusBarNotification;->uid:I
+Landroid/service/notification/ZenModeConfig$ScheduleInfo;->days:[I
+Landroid/service/notification/ZenModeConfig$ScheduleInfo;->endHour:I
+Landroid/service/notification/ZenModeConfig$ScheduleInfo;->endMinute:I
+Landroid/service/notification/ZenModeConfig$ScheduleInfo;->startHour:I
+Landroid/service/notification/ZenModeConfig$ScheduleInfo;->startMinute:I
+Landroid/service/notification/ZenModeConfig$ZenRule;->conditionId:Landroid/net/Uri;
+Landroid/service/notification/ZenModeConfig$ZenRule;->creationTime:J
+Landroid/service/notification/ZenModeConfig$ZenRule;->enabled:Z
+Landroid/service/notification/ZenModeConfig$ZenRule;->name:Ljava/lang/String;
+Landroid/service/notification/ZenModeConfig$ZenRule;->snoozing:Z
+Landroid/service/notification/ZenModeConfig$ZenRule;->zenMode:I
+Landroid/service/notification/ZenModeConfig;-><init>()V
+Landroid/service/notification/ZenModeConfig;->allowAlarms:Z
+Landroid/service/notification/ZenModeConfig;->automaticRules:Landroid/util/ArrayMap;
+Landroid/service/notification/ZenModeConfig;->tryParseScheduleConditionId(Landroid/net/Uri;)Landroid/service/notification/ZenModeConfig$ScheduleInfo;
Landroid/service/persistentdata/IPersistentDataBlockService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/persistentdata/IPersistentDataBlockService;
Landroid/service/voice/AlwaysOnHotwordDetector$EventPayload;->getCaptureSession()Ljava/lang/Integer;
Landroid/service/voice/VoiceInteractionService;->isKeyphraseAndLocaleSupportedForHotword(Ljava/lang/String;Ljava/util/Locale;)Z
+Landroid/service/vr/IVrManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/vr/IVrManager;
Landroid/service/vr/IVrManager;->getVr2dDisplayId()I
+Landroid/service/vr/IVrManager;->getVrModeState()Z
+Landroid/service/wallpaper/IWallpaperConnection$Stub;-><init>()V
+Landroid/service/wallpaper/IWallpaperEngine;->destroy()V
+Landroid/service/wallpaper/IWallpaperEngine;->dispatchPointer(Landroid/view/MotionEvent;)V
+Landroid/service/wallpaper/IWallpaperEngine;->dispatchWallpaperCommand(Ljava/lang/String;IIILandroid/os/Bundle;)V
+Landroid/service/wallpaper/IWallpaperEngine;->setDesiredSize(II)V
+Landroid/service/wallpaper/IWallpaperEngine;->setVisibility(Z)V
+Landroid/service/wallpaper/IWallpaperService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/wallpaper/IWallpaperService;
+Landroid/service/wallpaper/WallpaperService$Engine;->mPendingXOffset:F
Landroid/service/wallpaper/WallpaperService$Engine;->setFixedSizeAllowed(Z)V
+Landroid/service/wallpaper/WallpaperService;->MSG_WINDOW_RESIZED:I
Landroid/speech/tts/TextToSpeech;->getCurrentEngine()Ljava/lang/String;
+Landroid/speech/tts/TextToSpeech;->mConnectingServiceConnection:Landroid/speech/tts/TextToSpeech$Connection;
+Landroid/speech/tts/TextToSpeech;->mCurrentEngine:Ljava/lang/String;
+Landroid/speech/tts/TextToSpeech;->mInitListener:Landroid/speech/tts/TextToSpeech$OnInitListener;
Landroid/speech/tts/TtsEngines;-><init>(Landroid/content/Context;)V
+Landroid/speech/tts/TtsEngines;->getEngines()Ljava/util/List;
+Landroid/speech/tts/TtsEngines;->getLocalePrefForEngine(Ljava/lang/String;)Ljava/util/Locale;
+Landroid/speech/tts/TtsEngines;->getSettingsIntent(Ljava/lang/String;)Landroid/content/Intent;
+Landroid/speech/tts/TtsEngines;->normalizeTTSLocale(Ljava/util/Locale;)Ljava/util/Locale;
+Landroid/speech/tts/TtsEngines;->parseLocaleString(Ljava/lang/String;)Ljava/util/Locale;
+Landroid/speech/tts/TtsEngines;->updateLocalePrefForEngine(Ljava/lang/String;Ljava/util/Locale;)V
Landroid/system/Int32Ref;->value:I
Landroid/system/OsConstants;-><init>()V
Landroid/system/OsConstants;->AF_NETLINK:I
@@ -2582,14 +4899,68 @@
Landroid/system/OsConstants;->_LINUX_CAPABILITY_VERSION_3:I
Landroid/system/StructTimeval;->fromMillis(J)Landroid/system/StructTimeval;
Landroid/telecom/AudioState;->isMuted:Z
+Landroid/telecom/AudioState;->route:I
+Landroid/telecom/AudioState;->supportedRouteMask:I
+Landroid/telecom/Call$Details;->CAPABILITY_CAN_UPGRADE_TO_VIDEO:I
+Landroid/telecom/Connection$VideoProvider;-><init>(Landroid/os/Looper;)V
+Landroid/telecom/Phone;->setProximitySensorOff(Z)V
+Landroid/telecom/Phone;->setProximitySensorOn()V
Landroid/telecom/TelecomManager;->EXTRA_IS_HANDOVER:Ljava/lang/String;
+Landroid/telecom/TelecomManager;->getCallCapablePhoneAccounts(Z)Ljava/util/List;
+Landroid/telecom/TelecomManager;->getCurrentTtyMode()I
+Landroid/telecom/TelecomManager;->getSimCallManager(I)Landroid/telecom/PhoneAccountHandle;
+Landroid/telecom/TelecomManager;->getSystemDialerPackage()Ljava/lang/String;
Landroid/telecom/TelecomManager;->getUserSelectedOutgoingPhoneAccount()Landroid/telecom/PhoneAccountHandle;
+Landroid/telecom/TelecomManager;->setDefaultDialer(Ljava/lang/String;)Z
Landroid/telecom/TelecomManager;->setUserSelectedOutgoingPhoneAccount(Landroid/telecom/PhoneAccountHandle;)V
+Landroid/telecom/TelecomManager;->TTY_MODE_OFF:I
+Landroid/telecom/VideoCallImpl;->destroy()V
+Landroid/telephony/CarrierConfigManager;->KEY_CARRIER_DEFAULT_ACTIONS_ON_REDIRECTION_STRING_ARRAY:Ljava/lang/String;
+Landroid/telephony/CarrierMessagingServiceManager;-><init>()V
+Landroid/telephony/CellBroadcastMessage;-><init>(Landroid/telephony/SmsCbMessage;)V
+Landroid/telephony/CellBroadcastMessage;->createFromCursor(Landroid/database/Cursor;)Landroid/telephony/CellBroadcastMessage;
+Landroid/telephony/CellBroadcastMessage;->getContentValues()Landroid/content/ContentValues;
+Landroid/telephony/CellBroadcastMessage;->getDeliveryTime()J
+Landroid/telephony/CellBroadcastMessage;->getEtwsWarningInfo()Landroid/telephony/SmsCbEtwsInfo;
+Landroid/telephony/CellBroadcastMessage;->getLanguageCode()Ljava/lang/String;
+Landroid/telephony/CellBroadcastMessage;->getMessageBody()Ljava/lang/String;
+Landroid/telephony/CellBroadcastMessage;->getSerialNumber()I
+Landroid/telephony/CellBroadcastMessage;->getServiceCategory()I
+Landroid/telephony/CellBroadcastMessage;->getSpokenDateString(Landroid/content/Context;)Ljava/lang/String;
+Landroid/telephony/CellBroadcastMessage;->isCmasMessage()Z
+Landroid/telephony/CellBroadcastMessage;->isEmergencyAlertMessage()Z
+Landroid/telephony/CellBroadcastMessage;->isEtwsMessage()Z
+Landroid/telephony/CellBroadcastMessage;->isRead()Z
+Landroid/telephony/CellIdentityCdma;-><init>(IIIII)V
Landroid/telephony/CellIdentityGsm;-><init>()V
+Landroid/telephony/CellIdentityGsm;->mArfcn:I
Landroid/telephony/CellIdentityGsm;->mBsic:I
+Landroid/telephony/CellIdentityLte;-><init>()V
+Landroid/telephony/CellIdentityLte;-><init>(IIIII)V
+Landroid/telephony/CellIdentityLte;->mEarfcn:I
+Landroid/telephony/CellIdentityWcdma;->mUarfcn:I
+Landroid/telephony/CellInfo;->getTimeStampType()I
+Landroid/telephony/CellInfo;->timeStampTypeToString(I)Ljava/lang/String;
+Landroid/telephony/CellInfo;->TIMESTAMP_TYPE_ANTENNA:I
+Landroid/telephony/CellInfo;->TIMESTAMP_TYPE_JAVA_RIL:I
+Landroid/telephony/CellInfo;->TIMESTAMP_TYPE_MODEM:I
+Landroid/telephony/CellInfo;->TIMESTAMP_TYPE_OEM_RIL:I
+Landroid/telephony/CellInfo;->TIMESTAMP_TYPE_UNKNOWN:I
+Landroid/telephony/CellInfoCdma;-><init>()V
+Landroid/telephony/CellInfoCdma;-><init>(Landroid/telephony/CellInfoCdma;)V
+Landroid/telephony/CellInfoCdma;->setCellIdentity(Landroid/telephony/CellIdentityCdma;)V
+Landroid/telephony/CellInfoGsm;-><init>()V
+Landroid/telephony/CellInfoLte;-><init>()V
+Landroid/telephony/CellInfoLte;->setCellIdentity(Landroid/telephony/CellIdentityLte;)V
+Landroid/telephony/CellInfoLte;->setCellSignalStrength(Landroid/telephony/CellSignalStrengthLte;)V
+Landroid/telephony/CellLocation;->fillInNotifierBundle(Landroid/os/Bundle;)V
+Landroid/telephony/CellLocation;->isEmpty()Z
+Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
Landroid/telephony/CellSignalStrengthGsm;-><init>()V
Landroid/telephony/CellSignalStrengthGsm;->mBitErrorRate:I
Landroid/telephony/CellSignalStrengthGsm;->mSignalStrength:I
+Landroid/telephony/CellSignalStrengthGsm;->mTimingAdvance:I
+Landroid/telephony/CellSignalStrengthLte;-><init>()V
Landroid/telephony/CellSignalStrengthLte;->mCqi:I
Landroid/telephony/CellSignalStrengthLte;->mRsrp:I
Landroid/telephony/CellSignalStrengthLte;->mRsrq:I
@@ -2598,40 +4969,151 @@
Landroid/telephony/CellSignalStrengthLte;->mTimingAdvance:I
Landroid/telephony/CellSignalStrengthWcdma;->mBitErrorRate:I
Landroid/telephony/CellSignalStrengthWcdma;->mSignalStrength:I
+Landroid/telephony/DisconnectCause;->toString(I)Ljava/lang/String;
+Landroid/telephony/euicc/EuiccInfo;->osVersion:Ljava/lang/String;
+Landroid/telephony/gsm/GsmCellLocation;->setPsc(I)V
+Landroid/telephony/PhoneNumberFormattingTextWatcher;->mFormatter:Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;
+Landroid/telephony/PhoneNumberUtils;->cdmaCheckAndProcessPlusCode(Ljava/lang/String;)Ljava/lang/String;
+Landroid/telephony/PhoneNumberUtils;->compare(Ljava/lang/String;Ljava/lang/String;Z)Z
+Landroid/telephony/PhoneNumberUtils;->compareLoosely(Ljava/lang/String;Ljava/lang/String;)Z
+Landroid/telephony/PhoneNumberUtils;->compareStrictly(Ljava/lang/String;Ljava/lang/String;)Z
+Landroid/telephony/PhoneNumberUtils;->compareStrictly(Ljava/lang/String;Ljava/lang/String;Z)Z
+Landroid/telephony/PhoneNumberUtils;->convertPreDial(Ljava/lang/String;)Ljava/lang/String;
+Landroid/telephony/PhoneNumberUtils;->extractNetworkPortionAlt(Ljava/lang/String;)Ljava/lang/String;
+Landroid/telephony/PhoneNumberUtils;->getUsernameFromUriNumber(Ljava/lang/String;)Ljava/lang/String;
+Landroid/telephony/PhoneNumberUtils;->isEmergencyNumber(Ljava/lang/String;Ljava/lang/String;)Z
Landroid/telephony/PhoneNumberUtils;->isLocalEmergencyNumber(Landroid/content/Context;ILjava/lang/String;)Z
+Landroid/telephony/PhoneNumberUtils;->isNanp(Ljava/lang/String;)Z
+Landroid/telephony/PhoneNumberUtils;->isUriNumber(Ljava/lang/String;)Z
+Landroid/telephony/PhoneNumberUtils;->isVoiceMailNumber(Landroid/content/Context;ILjava/lang/String;)Z
+Landroid/telephony/PhoneNumberUtils;->MIN_MATCH:I
+Landroid/telephony/PhoneNumberUtils;->ttsSpanAsPhoneNumber(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
+Landroid/telephony/PhoneStateListener;-><init>(Landroid/os/Looper;)V
+Landroid/telephony/PhoneStateListener;->LISTEN_PRECISE_CALL_STATE:I
Landroid/telephony/PhoneStateListener;->mSubId:Ljava/lang/Integer;
+Landroid/telephony/PhoneStateListener;->onDataConnectionRealTimeInfoChanged(Landroid/telephony/DataConnectionRealTimeInfo;)V
+Landroid/telephony/PhoneStateListener;->onOemHookRawEvent([B)V
+Landroid/telephony/PhoneStateListener;->onOtaspChanged(I)V
+Landroid/telephony/PhoneStateListener;->onPreciseCallStateChanged(Landroid/telephony/PreciseCallState;)V
+Landroid/telephony/PhoneStateListener;->onPreciseDataConnectionStateChanged(Landroid/telephony/PreciseDataConnectionState;)V
+Landroid/telephony/PhoneStateListener;->onVoLteServiceStateChanged(Landroid/telephony/VoLteServiceState;)V
+Landroid/telephony/PreciseCallState;-><init>(IIIII)V
+Landroid/telephony/PreciseCallState;->getDisconnectCause()I
+Landroid/telephony/PreciseCallState;->getPreciseDisconnectCause()I
+Landroid/telephony/PreciseCallState;->getRingingCallState()I
+Landroid/telephony/PreciseDataConnectionState;-><init>(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Ljava/lang/String;)V
+Landroid/telephony/PreciseDataConnectionState;->getDataConnectionAPN()Ljava/lang/String;
+Landroid/telephony/PreciseDataConnectionState;->getDataConnectionAPNType()Ljava/lang/String;
+Landroid/telephony/PreciseDataConnectionState;->getDataConnectionChangeReason()Ljava/lang/String;
+Landroid/telephony/PreciseDataConnectionState;->getDataConnectionFailCause()Ljava/lang/String;
+Landroid/telephony/PreciseDataConnectionState;->getDataConnectionLinkProperties()Landroid/net/LinkProperties;
+Landroid/telephony/PreciseDataConnectionState;->getDataConnectionNetworkType()I
+Landroid/telephony/PreciseDataConnectionState;->getDataConnectionState()I
+Landroid/telephony/RadioAccessFamily;->getNetworkTypeFromRaf(I)I
+Landroid/telephony/RadioAccessFamily;->getPhoneId()I
+Landroid/telephony/RadioAccessFamily;->getRadioAccessFamily()I
+Landroid/telephony/Rlog;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
+Landroid/telephony/Rlog;->i(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
Landroid/telephony/Rlog;->v(Ljava/lang/String;Ljava/lang/String;)I
+Landroid/telephony/Rlog;->w(Ljava/lang/String;Ljava/lang/String;)I
+Landroid/telephony/Rlog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
+Landroid/telephony/ServiceState;->bearerBitmapHasCdma(I)Z
+Landroid/telephony/ServiceState;->fillInNotifierBundle(Landroid/os/Bundle;)V
+Landroid/telephony/ServiceState;->getCdmaDefaultRoamingIndicator()I
+Landroid/telephony/ServiceState;->getCdmaEriIconIndex()I
+Landroid/telephony/ServiceState;->getCdmaEriIconMode()I
+Landroid/telephony/ServiceState;->getCdmaRoamingIndicator()I
+Landroid/telephony/ServiceState;->getCssIndicator()I
+Landroid/telephony/ServiceState;->getDataNetworkType()I
+Landroid/telephony/ServiceState;->getDataOperatorAlphaShort()Ljava/lang/String;
+Landroid/telephony/ServiceState;->getDataOperatorNumeric()Ljava/lang/String;
+Landroid/telephony/ServiceState;->getDataRoamingType()I
+Landroid/telephony/ServiceState;->getRadioTechnology()I
+Landroid/telephony/ServiceState;->getRilVoiceRadioTechnology()I
+Landroid/telephony/ServiceState;->getVoiceOperatorAlphaLong()Ljava/lang/String;
+Landroid/telephony/ServiceState;->getVoiceOperatorAlphaShort()Ljava/lang/String;
+Landroid/telephony/ServiceState;->getVoiceOperatorNumeric()Ljava/lang/String;
+Landroid/telephony/ServiceState;->getVoiceRoaming()Z
+Landroid/telephony/ServiceState;->getVoiceRoamingType()I
Landroid/telephony/ServiceState;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/ServiceState;
+Landroid/telephony/ServiceState;->RIL_RADIO_TECHNOLOGY_IWLAN:I
+Landroid/telephony/ServiceState;->setCdmaDefaultRoamingIndicator(I)V
+Landroid/telephony/ServiceState;->setCdmaEriIconIndex(I)V
+Landroid/telephony/ServiceState;->setCdmaEriIconMode(I)V
+Landroid/telephony/ServiceState;->setCdmaRoamingIndicator(I)V
+Landroid/telephony/ServiceState;->setCssIndicator(I)V
+Landroid/telephony/ServiceState;->setDataRegState(I)V
+Landroid/telephony/ServiceState;->setDataRoaming(Z)V
+Landroid/telephony/ServiceState;->setDataRoamingFromRegistration(Z)V
+Landroid/telephony/ServiceState;->setDataRoamingType(I)V
+Landroid/telephony/ServiceState;->setEmergencyOnly(Z)V
+Landroid/telephony/ServiceState;->setOperatorAlphaLong(Ljava/lang/String;)V
+Landroid/telephony/ServiceState;->setVoiceRegState(I)V
+Landroid/telephony/ServiceState;->setVoiceRoaming(Z)V
+Landroid/telephony/ServiceState;->setVoiceRoamingType(I)V
Landroid/telephony/SignalStrength;-><init>()V
+Landroid/telephony/SignalStrength;-><init>(Landroid/telephony/SignalStrength;)V
+Landroid/telephony/SignalStrength;-><init>(Z)V
+Landroid/telephony/SignalStrength;->CREATOR:Landroid/os/Parcelable$Creator;
+Landroid/telephony/SignalStrength;->fillInNotifierBundle(Landroid/os/Bundle;)V
Landroid/telephony/SignalStrength;->getAsuLevel()I
+Landroid/telephony/SignalStrength;->getCdmaAsuLevel()I
Landroid/telephony/SignalStrength;->getCdmaLevel()I
Landroid/telephony/SignalStrength;->getDbm()I
+Landroid/telephony/SignalStrength;->getEvdoAsuLevel()I
Landroid/telephony/SignalStrength;->getEvdoLevel()I
+Landroid/telephony/SignalStrength;->getGsmAsuLevel()I
Landroid/telephony/SignalStrength;->getGsmDbm()I
+Landroid/telephony/SignalStrength;->getGsmLevel()I
+Landroid/telephony/SignalStrength;->getLteAsuLevel()I
Landroid/telephony/SignalStrength;->getLteCqi()I
Landroid/telephony/SignalStrength;->getLteDbm()I
+Landroid/telephony/SignalStrength;->getLteLevel()I
Landroid/telephony/SignalStrength;->getLteRsrp()I
Landroid/telephony/SignalStrength;->getLteRsrq()I
Landroid/telephony/SignalStrength;->getLteRssnr()I
Landroid/telephony/SignalStrength;->getLteSignalStrength()I
+Landroid/telephony/SignalStrength;->getTdScdmaAsuLevel()I
+Landroid/telephony/SignalStrength;->getTdScdmaDbm()I
+Landroid/telephony/SignalStrength;->getTdScdmaLevel()I
Landroid/telephony/SignalStrength;->mGsmBitErrorRate:I
Landroid/telephony/SignalStrength;->mGsmSignalStrength:I
Landroid/telephony/SignalStrength;->mLteCqi:I
Landroid/telephony/SignalStrength;->mLteRsrp:I
+Landroid/telephony/SignalStrength;->mLteRsrpBoost:I
Landroid/telephony/SignalStrength;->mLteRsrq:I
Landroid/telephony/SignalStrength;->mLteRssnr:I
Landroid/telephony/SignalStrength;->mLteSignalStrength:I
+Landroid/telephony/SignalStrength;->mTdScdmaRscp:I
+Landroid/telephony/SignalStrength;->mWcdmaRscp:I
+Landroid/telephony/SignalStrength;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/SignalStrength;
+Landroid/telephony/SignalStrength;->NUM_SIGNAL_STRENGTH_BINS:I
Landroid/telephony/SignalStrength;->SIGNAL_STRENGTH_GOOD:I
Landroid/telephony/SignalStrength;->SIGNAL_STRENGTH_GREAT:I
Landroid/telephony/SignalStrength;->SIGNAL_STRENGTH_MODERATE:I
Landroid/telephony/SignalStrength;->SIGNAL_STRENGTH_NONE_OR_UNKNOWN:I
Landroid/telephony/SignalStrength;->SIGNAL_STRENGTH_POOR:I
+Landroid/telephony/SignalStrength;->validateInput()V
+Landroid/telephony/SmsManager;->copyMessageToIcc([B[BI)Z
Landroid/telephony/SmsManager;->deleteMessageFromIcc(I)Z
+Landroid/telephony/SmsManager;->disableCellBroadcastRange(III)Z
+Landroid/telephony/SmsManager;->enableCellBroadcastRange(III)Z
Landroid/telephony/SmsManager;->getAllMessagesFromIcc()Ljava/util/ArrayList;
+Landroid/telephony/SmsManager;->isSMSPromptEnabled()Z
Landroid/telephony/SmsManager;->sendMultipartTextMessage(Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;IZI)V
Landroid/telephony/SmsManager;->sendTextMessage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;IZI)V
+Landroid/telephony/SmsManager;->sendTextMessageWithoutPersisting(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;IZI)V
+Landroid/telephony/SmsManager;->updateMessageOnIcc(II[B)Z
+Landroid/telephony/SmsMessage;->fragmentText(Ljava/lang/String;)Ljava/util/ArrayList;
Landroid/telephony/SmsMessage;->getSubId()I
+Landroid/telephony/SmsMessage;->mSubId:I
Landroid/telephony/SmsMessage;->mWrappedSmsMessage:Lcom/android/internal/telephony/SmsMessageBase;
+Landroid/telephony/SmsMessage;->setSubId(I)V
+Landroid/telephony/SmsMessage;->useCdmaFormatForMoSms()Z
+Landroid/telephony/SmsMessage;->useCdmaFormatForMoSms(I)Z
+Landroid/telephony/SubscriptionManager;-><init>(Landroid/content/Context;)V
+Landroid/telephony/SubscriptionManager;->CONTENT_URI:Landroid/net/Uri;
+Landroid/telephony/SubscriptionManager;->DEFAULT_SUBSCRIPTION_ID:I
Landroid/telephony/SubscriptionManager;->getActiveSubscriptionIdList()[I
Landroid/telephony/SubscriptionManager;->getAllSubscriptionInfoCount()I
Landroid/telephony/SubscriptionManager;->getAllSubscriptionInfoList()Ljava/util/List;
@@ -2642,40 +5124,75 @@
Landroid/telephony/SubscriptionManager;->getPhoneId(I)I
Landroid/telephony/SubscriptionManager;->getSlotIndex(I)I
Landroid/telephony/SubscriptionManager;->getSubId(I)[I
+Landroid/telephony/SubscriptionManager;->NAME_SOURCE_USER_INPUT:I
+Landroid/telephony/SubscriptionManager;->setDataRoaming(II)I
Landroid/telephony/SubscriptionManager;->setDefaultDataSubId(I)V
Landroid/telephony/SubscriptionManager;->setDefaultSmsSubId(I)V
+Landroid/telephony/TelephonyManager$MultiSimVariants;->TSTS:Landroid/telephony/TelephonyManager$MultiSimVariants;
+Landroid/telephony/TelephonyManager$MultiSimVariants;->UNKNOWN:Landroid/telephony/TelephonyManager$MultiSimVariants;
+Landroid/telephony/TelephonyManager$MultiSimVariants;->values()[Landroid/telephony/TelephonyManager$MultiSimVariants;
Landroid/telephony/TelephonyManager;-><init>()V
Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
+Landroid/telephony/TelephonyManager;->ACTION_PRECISE_DATA_CONNECTION_STATE_CHANGED:Ljava/lang/String;
Landroid/telephony/TelephonyManager;->from(Landroid/content/Context;)Landroid/telephony/TelephonyManager;
Landroid/telephony/TelephonyManager;->getCallState(I)I
+Landroid/telephony/TelephonyManager;->getCdmaEriIconIndex(I)I
+Landroid/telephony/TelephonyManager;->getCdmaEriIconMode(I)I
+Landroid/telephony/TelephonyManager;->getCdmaEriText(I)Ljava/lang/String;
+Landroid/telephony/TelephonyManager;->getCompleteVoiceMailNumber()Ljava/lang/String;
+Landroid/telephony/TelephonyManager;->getCompleteVoiceMailNumber(I)Ljava/lang/String;
Landroid/telephony/TelephonyManager;->getDataNetworkType(I)I
Landroid/telephony/TelephonyManager;->getDefault()Landroid/telephony/TelephonyManager;
+Landroid/telephony/TelephonyManager;->getDeviceSoftwareVersion(I)Ljava/lang/String;
Landroid/telephony/TelephonyManager;->getGroupIdLevel1(I)Ljava/lang/String;
+Landroid/telephony/TelephonyManager;->getIccAuthentication(IIILjava/lang/String;)Ljava/lang/String;
+Landroid/telephony/TelephonyManager;->getIsimImpi()Ljava/lang/String;
+Landroid/telephony/TelephonyManager;->getIsimImpu()[Ljava/lang/String;
+Landroid/telephony/TelephonyManager;->getIsimPcscf()[Ljava/lang/String;
Landroid/telephony/TelephonyManager;->getITelephony()Lcom/android/internal/telephony/ITelephony;
+Landroid/telephony/TelephonyManager;->getLine1AlphaTag(I)Ljava/lang/String;
Landroid/telephony/TelephonyManager;->getLine1Number(I)Ljava/lang/String;
+Landroid/telephony/TelephonyManager;->getLteOnCdmaMode()I
+Landroid/telephony/TelephonyManager;->getLteOnCdmaMode(I)I
+Landroid/telephony/TelephonyManager;->getLteOnCdmaModeStatic()I
+Landroid/telephony/TelephonyManager;->getMergedSubscriberIds()[Ljava/lang/String;
+Landroid/telephony/TelephonyManager;->getMsisdn()Ljava/lang/String;
+Landroid/telephony/TelephonyManager;->getMsisdn(I)Ljava/lang/String;
Landroid/telephony/TelephonyManager;->getMultiSimConfiguration()Landroid/telephony/TelephonyManager$MultiSimVariants;
Landroid/telephony/TelephonyManager;->getNai(I)Ljava/lang/String;
Landroid/telephony/TelephonyManager;->getNetworkClass(I)I
Landroid/telephony/TelephonyManager;->getNetworkCountryIso(I)Ljava/lang/String;
+Landroid/telephony/TelephonyManager;->getNetworkCountryIsoForPhone(I)Ljava/lang/String;
Landroid/telephony/TelephonyManager;->getNetworkOperator(I)Ljava/lang/String;
Landroid/telephony/TelephonyManager;->getNetworkOperatorForPhone(I)Ljava/lang/String;
Landroid/telephony/TelephonyManager;->getNetworkOperatorName(I)Ljava/lang/String;
Landroid/telephony/TelephonyManager;->getNetworkType(I)I
Landroid/telephony/TelephonyManager;->getNetworkTypeName(I)Ljava/lang/String;
+Landroid/telephony/TelephonyManager;->getOtaSpNumberSchemaForPhone(ILjava/lang/String;)Ljava/lang/String;
+Landroid/telephony/TelephonyManager;->getPhoneId(I)I
Landroid/telephony/TelephonyManager;->getPhoneType(I)I
Landroid/telephony/TelephonyManager;->getPhoneTypeFromProperty(I)I
Landroid/telephony/TelephonyManager;->getProcCmdLine()Ljava/lang/String;
Landroid/telephony/TelephonyManager;->getSimCount()I
+Landroid/telephony/TelephonyManager;->getSimCountryIso(I)Ljava/lang/String;
+Landroid/telephony/TelephonyManager;->getSimCountryIsoForPhone(I)Ljava/lang/String;
Landroid/telephony/TelephonyManager;->getSimOperator(I)Ljava/lang/String;
Landroid/telephony/TelephonyManager;->getSimOperatorName(I)Ljava/lang/String;
Landroid/telephony/TelephonyManager;->getSimOperatorNameForPhone(I)Ljava/lang/String;
+Landroid/telephony/TelephonyManager;->getSimOperatorNumeric()Ljava/lang/String;
Landroid/telephony/TelephonyManager;->getSimOperatorNumeric(I)Ljava/lang/String;
Landroid/telephony/TelephonyManager;->getSimOperatorNumericForPhone(I)Ljava/lang/String;
Landroid/telephony/TelephonyManager;->getSimSerialNumber(I)Ljava/lang/String;
+Landroid/telephony/TelephonyManager;->getSlotIndex()I
+Landroid/telephony/TelephonyManager;->getSubId(I)I
Landroid/telephony/TelephonyManager;->getSubIdForPhoneAccount(Landroid/telecom/PhoneAccount;)I
Landroid/telephony/TelephonyManager;->getSubscriberId(I)Ljava/lang/String;
Landroid/telephony/TelephonyManager;->getSubscriberInfo()Lcom/android/internal/telephony/IPhoneSubInfo;
+Landroid/telephony/TelephonyManager;->getTelephonyProperty(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+Landroid/telephony/TelephonyManager;->getTelephonyProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+Landroid/telephony/TelephonyManager;->getVoiceMailAlphaTag(I)Ljava/lang/String;
Landroid/telephony/TelephonyManager;->getVoiceMailNumber(I)Ljava/lang/String;
+Landroid/telephony/TelephonyManager;->getVoiceMessageCount(I)I
Landroid/telephony/TelephonyManager;->hasIccCard(I)Z
Landroid/telephony/TelephonyManager;->isMultiSimEnabled()Z
Landroid/telephony/TelephonyManager;->isNetworkRoaming(I)Z
@@ -2683,22 +5200,85 @@
Landroid/telephony/TelephonyManager;->isVolteAvailable()Z
Landroid/telephony/TelephonyManager;->isWifiCallingAvailable()Z
Landroid/telephony/TelephonyManager;->mSubscriptionManager:Landroid/telephony/SubscriptionManager;
+Landroid/telephony/TelephonyManager;->NETWORK_CLASS_2_G:I
+Landroid/telephony/TelephonyManager;->NETWORK_CLASS_3_G:I
+Landroid/telephony/TelephonyManager;->NETWORK_CLASS_4_G:I
+Landroid/telephony/TelephonyManager;->NETWORK_TYPE_LTE_CA:I
+Landroid/telephony/TelephonyManager;->nvReadItem(I)Ljava/lang/String;
+Landroid/telephony/TelephonyManager;->setBasebandVersionForPhone(ILjava/lang/String;)V
+Landroid/telephony/TelephonyManager;->setDataNetworkTypeForPhone(II)V
+Landroid/telephony/TelephonyManager;->setImsRegistrationState(Z)V
+Landroid/telephony/TelephonyManager;->setNetworkCountryIso(Ljava/lang/String;)V
+Landroid/telephony/TelephonyManager;->setNetworkCountryIsoForPhone(ILjava/lang/String;)V
+Landroid/telephony/TelephonyManager;->setNetworkOperatorNameForPhone(ILjava/lang/String;)V
+Landroid/telephony/TelephonyManager;->setNetworkOperatorNumericForPhone(ILjava/lang/String;)V
+Landroid/telephony/TelephonyManager;->setNetworkRoamingForPhone(IZ)V
+Landroid/telephony/TelephonyManager;->setPhoneType(II)V
+Landroid/telephony/TelephonyManager;->setRoamingOverride(Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;)Z
+Landroid/telephony/TelephonyManager;->setSimCountryIsoForPhone(ILjava/lang/String;)V
+Landroid/telephony/TelephonyManager;->setSimOperatorNameForPhone(ILjava/lang/String;)V
+Landroid/telephony/TelephonyManager;->setSimOperatorNumericForPhone(ILjava/lang/String;)V
+Landroid/telephony/TelephonyManager;->setSimStateForPhone(ILjava/lang/String;)V
+Landroid/telephony/TelephonyManager;->setTelephonyProperty(ILjava/lang/String;Ljava/lang/String;)V
+Landroid/telephony/VoLteServiceState;-><init>(I)V
Landroid/text/AndroidBidi;->bidi(I[C[B)I
Landroid/text/BoringLayout;->isBoring(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;Landroid/text/BoringLayout$Metrics;)Landroid/text/BoringLayout$Metrics;
Landroid/text/DynamicLayout;-><init>(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FFZIIILandroid/text/TextUtils$TruncateAt;I)V
+Landroid/text/DynamicLayout;->getBlockEndLines()[I
+Landroid/text/DynamicLayout;->getBlockIndices()[I
+Landroid/text/DynamicLayout;->getIndexFirstChangedBlock()I
+Landroid/text/DynamicLayout;->getNumberOfBlocks()I
+Landroid/text/DynamicLayout;->setIndexFirstChangedBlock(I)V
Landroid/text/DynamicLayout;->sStaticLayout:Landroid/text/StaticLayout;
+Landroid/text/format/DateFormat;->getTimeFormatString(Landroid/content/Context;)Ljava/lang/String;
+Landroid/text/format/DateFormat;->getTimeFormatString(Landroid/content/Context;I)Ljava/lang/String;
+Landroid/text/format/DateFormat;->hasDesignator(Ljava/lang/CharSequence;C)Z
+Landroid/text/format/DateFormat;->hasSeconds(Ljava/lang/CharSequence;)Z
+Landroid/text/format/DateFormat;->is24HourFormat(Landroid/content/Context;I)Z
+Landroid/text/format/DateUtils;->formatDuration(J)Ljava/lang/CharSequence;
+Landroid/text/format/DateUtils;->formatDuration(JI)Ljava/lang/CharSequence;
+Landroid/text/format/Formatter;->formatBytes(Landroid/content/res/Resources;JI)Landroid/text/format/Formatter$BytesResult;
+Landroid/text/format/Formatter;->formatShortElapsedTime(Landroid/content/Context;J)Ljava/lang/String;
+Landroid/text/format/Formatter;->formatShortElapsedTimeRoundingUpToMinutes(Landroid/content/Context;J)Ljava/lang/String;
Landroid/text/Html;->withinStyle(Ljava/lang/StringBuilder;Ljava/lang/CharSequence;II)V
Landroid/text/InputFilter$LengthFilter;->mMax:I
Landroid/text/Layout$Alignment;->ALIGN_LEFT:Landroid/text/Layout$Alignment;
Landroid/text/Layout$Alignment;->ALIGN_RIGHT:Landroid/text/Layout$Alignment;
Landroid/text/Layout;->DIRS_ALL_LEFT_TO_RIGHT:Landroid/text/Layout$Directions;
+Landroid/text/Layout;->DIRS_ALL_RIGHT_TO_LEFT:Landroid/text/Layout$Directions;
+Landroid/text/Layout;->DIR_REQUEST_DEFAULT_LTR:I
+Landroid/text/Layout;->drawBackground(Landroid/graphics/Canvas;Landroid/graphics/Path;Landroid/graphics/Paint;III)V
+Landroid/text/Layout;->drawText(Landroid/graphics/Canvas;II)V
+Landroid/text/Layout;->getLineRangeForDraw(Landroid/graphics/Canvas;)J
Landroid/text/Layout;->getPrimaryHorizontal(IZ)F
+Landroid/text/Layout;->getSecondaryHorizontal(IZ)F
Landroid/text/Layout;->isLevelBoundary(I)Z
+Landroid/text/Layout;->mPaint:Landroid/text/TextPaint;
+Landroid/text/Layout;->shouldClampCursor(I)Z
Landroid/text/method/AllCapsTransformationMethod;-><init>(Landroid/content/Context;)V
Landroid/text/method/LinkMovementMethod;->sInstance:Landroid/text/method/LinkMovementMethod;
+Landroid/text/method/MetaKeyKeyListener;->startSelecting(Landroid/view/View;Landroid/text/Spannable;)V
+Landroid/text/method/MetaKeyKeyListener;->stopSelecting(Landroid/view/View;Landroid/text/Spannable;)V
+Landroid/text/method/PasswordTransformationMethod;->sInstance:Landroid/text/method/PasswordTransformationMethod;
Landroid/text/method/TransformationMethod2;->setLengthChangesAllowed(Z)V
Landroid/text/method/WordIterator;-><init>(Ljava/util/Locale;)V
+Landroid/text/method/WordIterator;->following(I)I
+Landroid/text/method/WordIterator;->getBeginning(I)I
+Landroid/text/method/WordIterator;->getEnd(I)I
+Landroid/text/method/WordIterator;->getNextWordEndOnTwoWordBoundary(I)I
+Landroid/text/method/WordIterator;->getPrevWordBeginningOnTwoWordsBoundary(I)I
+Landroid/text/method/WordIterator;->getPunctuationBeginning(I)I
+Landroid/text/method/WordIterator;->getPunctuationEnd(I)I
+Landroid/text/method/WordIterator;->isAfterPunctuation(I)Z
+Landroid/text/method/WordIterator;->isBoundary(I)Z
+Landroid/text/method/WordIterator;->isOnPunctuation(I)Z
+Landroid/text/method/WordIterator;->nextBoundary(I)I
+Landroid/text/method/WordIterator;->preceding(I)I
+Landroid/text/method/WordIterator;->prevBoundary(I)I
Landroid/text/method/WordIterator;->setCharSequence(Ljava/lang/CharSequence;II)V
+Landroid/text/Selection;->moveToFollowing(Landroid/text/Spannable;Landroid/text/Selection$PositionIterator;Z)Z
+Landroid/text/Selection;->moveToPreceding(Landroid/text/Spannable;Landroid/text/Selection$PositionIterator;Z)Z
+Landroid/text/SpannableStringBuilder;->getSpans(IILjava/lang/Class;Z)[Ljava/lang/Object;
Landroid/text/SpannableStringBuilder;->mGapLength:I
Landroid/text/SpannableStringBuilder;->mGapStart:I
Landroid/text/SpannableStringBuilder;->mSpanCount:I
@@ -2706,6 +5286,9 @@
Landroid/text/SpannableStringBuilder;->mSpanFlags:[I
Landroid/text/SpannableStringBuilder;->mSpans:[Ljava/lang/Object;
Landroid/text/SpannableStringBuilder;->mSpanStarts:[I
+Landroid/text/SpannableStringBuilder;->mText:[C
+Landroid/text/SpannableStringBuilder;->sendToSpanWatchers(III)V
+Landroid/text/SpannableStringBuilder;->substring(II)Ljava/lang/String;
Landroid/text/SpannableStringInternal;-><init>(Ljava/lang/CharSequence;II)V
Landroid/text/SpannableStringInternal;->charAt(I)C
Landroid/text/SpannableStringInternal;->checkRange(Ljava/lang/String;II)V
@@ -2743,13 +5326,30 @@
Landroid/text/StaticLayout$LineBreaks;->flags:[I
Landroid/text/StaticLayout$LineBreaks;->widths:[F
Landroid/text/StaticLayout;-><init>(Ljava/lang/CharSequence;IILandroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FFZLandroid/text/TextUtils$TruncateAt;II)V
+Landroid/text/StaticLayout;->ELLIPSIS_START:I
Landroid/text/StaticLayout;->getHeight(Z)I
Landroid/text/StaticLayout;->mColumns:I
Landroid/text/StaticLayout;->mLineCount:I
Landroid/text/StaticLayout;->mLineDirections:[Landroid/text/Layout$Directions;
Landroid/text/StaticLayout;->mLines:[I
Landroid/text/StaticLayout;->mMaximumVisibleLineCount:I
+Landroid/text/style/DynamicDrawableSpan;->mDrawableRef:Ljava/lang/ref/WeakReference;
+Landroid/text/style/EasyEditSpan;->getPendingIntent()Landroid/app/PendingIntent;
+Landroid/text/style/EasyEditSpan;->isDeleteEnabled()Z
+Landroid/text/style/EasyEditSpan;->setDeleteEnabled(Z)V
Landroid/text/style/ImageSpan;->mDrawable:Landroid/graphics/drawable/Drawable;
+Landroid/text/style/SpellCheckSpan;-><init>()V
+Landroid/text/style/SpellCheckSpan;-><init>(Landroid/os/Parcel;)V
+Landroid/text/style/SpellCheckSpan;->isSpellCheckInProgress()Z
+Landroid/text/style/SpellCheckSpan;->setSpellCheckInProgress(Z)V
+Landroid/text/style/SuggestionRangeSpan;-><init>()V
+Landroid/text/style/SuggestionRangeSpan;-><init>(Landroid/os/Parcel;)V
+Landroid/text/style/SuggestionRangeSpan;->setBackgroundColor(I)V
+Landroid/text/style/SuggestionSpan;->getNotificationTargetClassName()Ljava/lang/String;
+Landroid/text/style/SuggestionSpan;->getUnderlineColor()I
+Landroid/text/style/SuggestionSpan;->mEasyCorrectUnderlineColor:I
+Landroid/text/style/SuggestionSpan;->mEasyCorrectUnderlineThickness:F
+Landroid/text/style/SuggestionSpan;->notifySelection(Landroid/content/Context;Ljava/lang/String;I)V
Landroid/text/TextLine;->mCharacterStyleSpanSet:Landroid/text/SpanSet;
Landroid/text/TextLine;->mMetricAffectingSpanSpanSet:Landroid/text/SpanSet;
Landroid/text/TextLine;->mReplacementSpanSpanSet:Landroid/text/SpanSet;
@@ -2758,34 +5358,69 @@
Landroid/text/TextLine;->obtain()Landroid/text/TextLine;
Landroid/text/TextLine;->sCached:[Landroid/text/TextLine;
Landroid/text/TextPaint;->setUnderlineText(IF)V
+Landroid/text/TextPaint;->underlineColor:I
+Landroid/text/TextPaint;->underlineThickness:F
Landroid/text/TextUtils$TruncateAt;->END_SMALL:Landroid/text/TextUtils$TruncateAt;
+Landroid/text/TextUtils;->packRangeInLong(II)J
+Landroid/text/TextUtils;->unpackRangeEndFromLong(J)I
+Landroid/text/TextUtils;->unpackRangeStartFromLong(J)I
Landroid/transition/ChangeBounds;->BOTTOM_RIGHT_ONLY_PROPERTY:Landroid/util/Property;
Landroid/transition/ChangeBounds;->POSITION_PROPERTY:Landroid/util/Property;
Landroid/transition/Scene;->mEnterAction:Ljava/lang/Runnable;
Landroid/transition/Scene;->mExitAction:Ljava/lang/Runnable;
Landroid/transition/Scene;->setCurrentScene(Landroid/view/View;Landroid/transition/Scene;)V
+Landroid/transition/Transition;->cancel()V
+Landroid/transition/Transition;->end()V
+Landroid/transition/TransitionManager;->getRunningTransitions()Landroid/util/ArrayMap;
+Landroid/transition/TransitionManager;->sPendingTransitions:Ljava/util/ArrayList;
Landroid/transition/TransitionManager;->sRunningTransitions:Ljava/lang/ThreadLocal;
Landroid/util/ArrayMap;->append(Ljava/lang/Object;Ljava/lang/Object;)V
+Landroid/util/ArrayMap;->CACHE_SIZE:I
+Landroid/util/ArrayMap;->indexOf(Ljava/lang/Object;I)I
+Landroid/util/ArrayMap;->indexOfNull()I
+Landroid/util/ArrayMap;->indexOfValue(Ljava/lang/Object;)I
+Landroid/util/ArrayMap;->mArray:[Ljava/lang/Object;
+Landroid/util/ArrayMap;->mBaseCache:[Ljava/lang/Object;
Landroid/util/ArrayMap;->mBaseCacheSize:I
+Landroid/util/ArrayMap;->mSize:I
+Landroid/util/ArrayMap;->mTwiceBaseCache:[Ljava/lang/Object;
Landroid/util/ArrayMap;->mTwiceBaseCacheSize:I
Landroid/util/ArraySet;-><init>(Ljava/util/Collection;)V
+Landroid/util/ArraySet;->mArray:[Ljava/lang/Object;
+Landroid/util/ArraySet;->mSize:I
+Landroid/util/Base64;-><init>()V
+Landroid/util/Base64OutputStream;-><init>(Ljava/io/OutputStream;IZ)V
+Landroid/util/DebugUtils;->buildShortClassTag(Ljava/lang/Object;Ljava/lang/StringBuilder;)V
Landroid/util/DisplayMetrics;->DENSITY_DEVICE:I
+Landroid/util/DisplayMetrics;->noncompatDensityDpi:I
Landroid/util/DisplayMetrics;->noncompatHeightPixels:I
Landroid/util/DisplayMetrics;->noncompatWidthPixels:I
Landroid/util/EventLog$Event;-><init>([B)V
+Landroid/util/IconDrawableFactory;->getBadgedIcon(Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
+Landroid/util/LocalLog;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+Landroid/util/Log;->println_native(IILjava/lang/String;Ljava/lang/String;)I
Landroid/util/Log;->wtf(ILjava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;ZZ)I
+Landroid/util/LogWriter;-><init>(ILjava/lang/String;)V
Landroid/util/LongSparseLongArray;->mKeys:[J
Landroid/util/LongSparseLongArray;->mSize:I
Landroid/util/LongSparseLongArray;->mValues:[J
+Landroid/util/LruCache;->map:Ljava/util/LinkedHashMap;
+Landroid/util/MathUtils;->abs(F)F
Landroid/util/MathUtils;->constrain(FFF)F
Landroid/util/MathUtils;->constrain(III)I
+Landroid/util/MathUtils;->lerp(FFF)F
Landroid/util/NtpTrustedTime;->forceRefresh()Z
Landroid/util/NtpTrustedTime;->getCachedNtpTime()J
Landroid/util/NtpTrustedTime;->getCachedNtpTimeReference()J
Landroid/util/NtpTrustedTime;->getInstance(Landroid/content/Context;)Landroid/util/NtpTrustedTime;
Landroid/util/NtpTrustedTime;->hasCache()Z
Landroid/util/PathParser;->createPathFromPathData(Ljava/lang/String;)Landroid/graphics/Path;
+Landroid/util/Pools$Pool;->acquire()Ljava/lang/Object;
+Landroid/util/Pools$Pool;->release(Ljava/lang/Object;)Z
+Landroid/util/Pools$SimplePool;-><init>(I)V
+Landroid/util/Pools$SimplePool;->acquire()Ljava/lang/Object;
Landroid/util/Pools$SimplePool;->mPool:[Ljava/lang/Object;
+Landroid/util/Pools$SimplePool;->release(Ljava/lang/Object;)Z
Landroid/util/Pools$SynchronizedPool;-><init>(I)V
Landroid/util/Pools$SynchronizedPool;->acquire()Ljava/lang/Object;
Landroid/util/Pools$SynchronizedPool;->release(Ljava/lang/Object;)Z
@@ -2795,41 +5430,89 @@
Landroid/util/Singleton;->get()Ljava/lang/Object;
Landroid/util/Singleton;->mInstance:Ljava/lang/Object;
Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
+Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
Landroid/util/Slog;->v(Ljava/lang/String;Ljava/lang/String;)I
Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
+Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
+Landroid/util/Slog;->wtf(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
+Landroid/util/SparseArray;->mKeys:[I
+Landroid/util/SparseArray;->mSize:I
+Landroid/util/SparseArray;->mValues:[Ljava/lang/Object;
+Landroid/util/SparseBooleanArray;->mKeys:[I
+Landroid/util/SparseBooleanArray;->mSize:I
+Landroid/util/SparseBooleanArray;->mValues:[Z
Landroid/util/SparseIntArray;->mKeys:[I
Landroid/util/SparseIntArray;->mSize:I
Landroid/util/SparseIntArray;->mValues:[I
+Landroid/util/TimeUtils;->logTimeOfDay(J)Ljava/lang/String;
+Landroid/util/TrustedTime;->currentTimeMillis()J
+Landroid/util/TrustedTime;->forceRefresh()Z
+Landroid/util/TrustedTime;->getCacheAge()J
+Landroid/util/TrustedTime;->hasCache()Z
Landroid/view/accessibility/AccessibilityEvent;->mAction:I
Landroid/view/accessibility/AccessibilityEvent;->mEventType:I
Landroid/view/accessibility/AccessibilityInteractionClient;->clearCache()V
Landroid/view/accessibility/AccessibilityInteractionClient;->getInstance()Landroid/view/accessibility/AccessibilityInteractionClient;
+Landroid/view/accessibility/AccessibilityInteractionClient;->setSameThreadMessage(Landroid/os/Message;)V
Landroid/view/accessibility/AccessibilityManager;->getInstance(Landroid/content/Context;)Landroid/view/accessibility/AccessibilityManager;
Landroid/view/accessibility/AccessibilityManager;->isHighTextContrastEnabled()Z
Landroid/view/accessibility/AccessibilityManager;->mAccessibilityStateChangeListeners:Landroid/util/ArrayMap;
+Landroid/view/accessibility/AccessibilityManager;->mHandler:Landroid/os/Handler;
Landroid/view/accessibility/AccessibilityManager;->mIsEnabled:Z
Landroid/view/accessibility/AccessibilityManager;->mIsHighTextContrastEnabled:Z
+Landroid/view/accessibility/AccessibilityManager;->mLock:Ljava/lang/Object;
+Landroid/view/accessibility/AccessibilityManager;->mService:Landroid/view/accessibility/IAccessibilityManager;
+Landroid/view/accessibility/AccessibilityManager;->mUserId:I
Landroid/view/accessibility/AccessibilityManager;->setStateLocked(I)V
Landroid/view/accessibility/AccessibilityManager;->sInstance:Landroid/view/accessibility/AccessibilityManager;
Landroid/view/accessibility/AccessibilityManager;->sInstanceSync:Ljava/lang/Object;
+Landroid/view/accessibility/AccessibilityNodeInfo;->getAccessibilityViewId(J)I
+Landroid/view/accessibility/AccessibilityNodeInfo;->getSourceNodeId()J
+Landroid/view/accessibility/AccessibilityNodeInfo;->getVirtualDescendantId(J)I
Landroid/view/accessibility/AccessibilityNodeInfo;->isSealed()Z
Landroid/view/accessibility/AccessibilityNodeInfo;->mChildNodeIds:Landroid/util/LongArray;
Landroid/view/accessibility/AccessibilityNodeInfo;->mSealed:Z
+Landroid/view/accessibility/AccessibilityNodeInfo;->mSourceNodeId:J
Landroid/view/accessibility/AccessibilityNodeInfo;->refresh(Landroid/os/Bundle;Z)Z
Landroid/view/accessibility/AccessibilityNodeInfo;->setSealed(Z)V
Landroid/view/accessibility/AccessibilityRecord;->getSourceNodeId()J
+Landroid/view/accessibility/AccessibilityRecord;->mSealed:Z
+Landroid/view/accessibility/AccessibilityRecord;->mSourceNodeId:J
+Landroid/view/accessibility/CaptioningManager$CaptionStyle;->PRESETS:[Landroid/view/accessibility/CaptioningManager$CaptionStyle;
+Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setFindAccessibilityNodeInfoResult(Landroid/view/accessibility/AccessibilityNodeInfo;I)V
+Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setFindAccessibilityNodeInfosResult(Ljava/util/List;I)V
+Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setPerformAccessibilityActionResult(ZI)V
Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+Landroid/view/accessibility/IAccessibilityManager$Stub;-><init>()V
Landroid/view/accessibility/IAccessibilityManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/accessibility/IAccessibilityManager;
Landroid/view/accessibility/IAccessibilityManager;->getEnabledAccessibilityServiceList(II)Ljava/util/List;
+Landroid/view/AccessibilityIterators$AbstractTextSegmentIterator;-><init>()V
+Landroid/view/AccessibilityIterators$AbstractTextSegmentIterator;->mText:Ljava/lang/String;
+Landroid/view/ActionProvider;->reset()V
+Landroid/view/ActionProvider;->setSubUiVisibilityListener(Landroid/view/ActionProvider$SubUiVisibilityListener;)V
Landroid/view/animation/Animation;->detach()V
Landroid/view/animation/Animation;->initializeInvalidateRegion(IIII)V
Landroid/view/animation/Animation;->mListener:Landroid/view/animation/Animation$AnimationListener;
+Landroid/view/animation/Animation;->mPreviousRegion:Landroid/graphics/RectF;
+Landroid/view/animation/Animation;->mPreviousTransformation:Landroid/view/animation/Transformation;
+Landroid/view/animation/Animation;->mRegion:Landroid/graphics/RectF;
+Landroid/view/animation/Animation;->mTransformation:Landroid/view/animation/Transformation;
+Landroid/view/animation/AnimationUtils;->createAnimationFromXml(Landroid/content/Context;Lorg/xmlpull/v1/XmlPullParser;Landroid/view/animation/AnimationSet;Landroid/util/AttributeSet;)Landroid/view/animation/Animation;
+Landroid/view/animation/Transformation;->printShortString(Ljava/io/PrintWriter;)V
+Landroid/view/animation/TranslateAnimation;->mFromXValue:F
+Landroid/view/animation/TranslateAnimation;->mFromYValue:F
+Landroid/view/animation/TranslateAnimation;->mToXValue:F
+Landroid/view/animation/TranslateAnimation;->mToYValue:F
+Landroid/view/animation/TranslateYAnimation;-><init>(IFIF)V
Landroid/view/autofill/IAutoFillManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/view/Choreographer$CallbackQueue;->addCallbackLocked(JLjava/lang/Object;Ljava/lang/Object;)V
+Landroid/view/Choreographer$CallbackRecord;->run(J)V
Landroid/view/Choreographer;->doFrame(JI)V
Landroid/view/Choreographer;->getFrameTime()J
+Landroid/view/Choreographer;->getFrameTimeNanos()J
Landroid/view/Choreographer;->mCallbackQueues:[Landroid/view/Choreographer$CallbackQueue;
+Landroid/view/Choreographer;->mDisplayEventReceiver:Landroid/view/Choreographer$FrameDisplayEventReceiver;
Landroid/view/Choreographer;->mFrameIntervalNanos:J
Landroid/view/Choreographer;->mLastFrameTimeNanos:J
Landroid/view/Choreographer;->mLock:Ljava/lang/Object;
@@ -2842,80 +5525,178 @@
Landroid/view/ContextThemeWrapper;->mTheme:Landroid/content/res/Resources$Theme;
Landroid/view/ContextThemeWrapper;->mThemeResource:I
Landroid/view/Display$HdrCapabilities;-><init>([IFFF)V
+Landroid/view/Display$Mode;-><init>(IIIF)V
+Landroid/view/Display;->getAddress()Ljava/lang/String;
Landroid/view/Display;->getDisplayAdjustments()Landroid/view/DisplayAdjustments;
Landroid/view/Display;->getDisplayInfo(Landroid/view/DisplayInfo;)Z
+Landroid/view/Display;->getMaximumSizeDimension()I
+Landroid/view/Display;->getOwnerPackageName()Ljava/lang/String;
+Landroid/view/Display;->getType()I
+Landroid/view/Display;->mDisplayInfo:Landroid/view/DisplayInfo;
+Landroid/view/Display;->TYPE_HDMI:I
+Landroid/view/Display;->TYPE_UNKNOWN:I
+Landroid/view/Display;->TYPE_VIRTUAL:I
+Landroid/view/Display;->TYPE_WIFI:I
+Landroid/view/DisplayAdjustments;-><init>()V
Landroid/view/DisplayAdjustments;->getConfiguration()Landroid/content/res/Configuration;
Landroid/view/DisplayAdjustments;->setCompatibilityInfo(Landroid/content/res/CompatibilityInfo;)V
+Landroid/view/DisplayEventReceiver;-><init>(Landroid/os/Looper;)V
Landroid/view/DisplayEventReceiver;->dispatchHotplug(JIZ)V
Landroid/view/DisplayEventReceiver;->dispatchVsync(JII)V
+Landroid/view/DisplayEventReceiver;->mReceiverPtr:J
+Landroid/view/DisplayEventReceiver;->onHotplug(JIZ)V
+Landroid/view/DisplayEventReceiver;->onVsync(JII)V
+Landroid/view/DisplayEventReceiver;->scheduleVsync()V
Landroid/view/DisplayInfo;-><init>()V
Landroid/view/DisplayInfo;->displayCutout:Landroid/view/DisplayCutout;
+Landroid/view/DisplayInfo;->logicalHeight:I
+Landroid/view/DisplayInfo;->logicalWidth:I
+Landroid/view/DisplayInfo;->rotation:I
Landroid/view/DisplayListCanvas;->callDrawGLFunction2(J)V
Landroid/view/DisplayListCanvas;->drawGLFunctor2(JLjava/lang/Runnable;)V
+Landroid/view/DragEvent;->mClipData:Landroid/content/ClipData;
+Landroid/view/DragEvent;->mClipDescription:Landroid/content/ClipDescription;
+Landroid/view/DragEvent;->obtain(Landroid/view/DragEvent;)Landroid/view/DragEvent;
Landroid/view/FrameMetrics;->mTimingData:[J
Landroid/view/FrameMetricsObserver;->mFrameMetrics:Landroid/view/FrameMetrics;
Landroid/view/FrameMetricsObserver;->mMessageQueue:Landroid/os/MessageQueue;
Landroid/view/FrameMetricsObserver;->notifyDataAvailable(I)V
Landroid/view/GestureDetector;->LONGPRESS_TIMEOUT:I
+Landroid/view/GestureDetector;->mAlwaysInTapRegion:Z
+Landroid/view/GestureDetector;->mListener:Landroid/view/GestureDetector$OnGestureListener;
Landroid/view/GestureDetector;->mMinimumFlingVelocity:I
Landroid/view/GestureDetector;->mTouchSlopSquare:I
+Landroid/view/GhostView;->addGhost(Landroid/view/View;Landroid/view/ViewGroup;)Landroid/view/GhostView;
Landroid/view/GhostView;->addGhost(Landroid/view/View;Landroid/view/ViewGroup;Landroid/graphics/Matrix;)Landroid/view/GhostView;
Landroid/view/GhostView;->removeGhost(Landroid/view/View;)V
+Landroid/view/IApplicationToken$Stub;-><init>()V
+Landroid/view/IDockedStackListener$Stub;-><init>()V
Landroid/view/IGraphicsStats$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/view/IGraphicsStats$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IGraphicsStats;
Landroid/view/InputChannel;-><init>()V
+Landroid/view/InputChannel;->CREATOR:Landroid/os/Parcelable$Creator;
Landroid/view/InputChannel;->mPtr:J
Landroid/view/InputDevice;-><init>(IIILjava/lang/String;IILjava/lang/String;ZIILandroid/view/KeyCharacterMap;ZZZ)V
Landroid/view/InputDevice;->addMotionRange(IIFFFFF)V
Landroid/view/InputDevice;->isExternal()Z
+Landroid/view/InputDevice;->mIsExternal:Z
Landroid/view/InputEvent;->getSequenceNumber()I
+Landroid/view/InputEventConsistencyVerifier;-><init>(Ljava/lang/Object;I)V
+Landroid/view/InputEventConsistencyVerifier;->isInstrumentationEnabled()Z
+Landroid/view/InputEventConsistencyVerifier;->onTouchEvent(Landroid/view/MotionEvent;I)V
+Landroid/view/InputEventConsistencyVerifier;->onUnhandledEvent(Landroid/view/InputEvent;I)V
Landroid/view/InputEventReceiver;->dispatchBatchedInputEventPending()V
Landroid/view/InputEventReceiver;->dispatchInputEvent(ILandroid/view/InputEvent;I)V
Landroid/view/InputEventSender;->dispatchInputEventFinished(IZ)V
+Landroid/view/InputFilter;-><init>(Landroid/os/Looper;)V
+Landroid/view/InputFilter;->onInputEvent(Landroid/view/InputEvent;I)V
Landroid/view/inputmethod/InputMethodInfo;->mSubtypes:Landroid/view/inputmethod/InputMethodSubtypeArray;
+Landroid/view/inputmethod/InputMethodManager;->checkFocus()V
+Landroid/view/inputmethod/InputMethodManager;->closeCurrentInput()V
Landroid/view/inputmethod/InputMethodManager;->finishInputLocked()V
Landroid/view/inputmethod/InputMethodManager;->focusIn(Landroid/view/View;)V
Landroid/view/inputmethod/InputMethodManager;->focusOut(Landroid/view/View;)V
Landroid/view/inputmethod/InputMethodManager;->getClient()Lcom/android/internal/view/IInputMethodClient;
+Landroid/view/inputmethod/InputMethodManager;->getInputContext()Lcom/android/internal/view/IInputContext;
Landroid/view/inputmethod/InputMethodManager;->getInputMethodWindowVisibleHeight()I
Landroid/view/inputmethod/InputMethodManager;->getInstance()Landroid/view/inputmethod/InputMethodManager;
+Landroid/view/inputmethod/InputMethodManager;->isCursorAnchorInfoEnabled()Z
Landroid/view/inputmethod/InputMethodManager;->mCurId:Ljava/lang/String;
Landroid/view/inputmethod/InputMethodManager;->mCurRootView:Landroid/view/View;
+Landroid/view/inputmethod/InputMethodManager;->mCursorRect:Landroid/graphics/Rect;
Landroid/view/inputmethod/InputMethodManager;->mH:Landroid/view/inputmethod/InputMethodManager$H;
Landroid/view/inputmethod/InputMethodManager;->mNextServedView:Landroid/view/View;
Landroid/view/inputmethod/InputMethodManager;->mServedInputConnectionWrapper:Landroid/view/inputmethod/InputMethodManager$ControlledInputConnectionWrapper;
Landroid/view/inputmethod/InputMethodManager;->mServedView:Landroid/view/View;
Landroid/view/inputmethod/InputMethodManager;->mService:Lcom/android/internal/view/IInputMethodManager;
+Landroid/view/inputmethod/InputMethodManager;->mTmpCursorRect:Landroid/graphics/Rect;
+Landroid/view/inputmethod/InputMethodManager;->notifySuggestionPicked(Landroid/text/style/SuggestionSpan;Ljava/lang/String;I)V
Landroid/view/inputmethod/InputMethodManager;->notifyUserAction()V
+Landroid/view/inputmethod/InputMethodManager;->onPreWindowFocus(Landroid/view/View;Z)V
Landroid/view/inputmethod/InputMethodManager;->peekInstance()Landroid/view/inputmethod/InputMethodManager;
+Landroid/view/inputmethod/InputMethodManager;->registerSuggestionSpansForNotification([Landroid/text/style/SuggestionSpan;)V
+Landroid/view/inputmethod/InputMethodManager;->setUpdateCursorAnchorInfoMode(I)V
Landroid/view/inputmethod/InputMethodManager;->showSoftInputUnchecked(ILandroid/os/ResultReceiver;)V
Landroid/view/inputmethod/InputMethodManager;->sInstance:Landroid/view/inputmethod/InputMethodManager;
Landroid/view/inputmethod/InputMethodManager;->windowDismissed(Landroid/os/IBinder;)V
Landroid/view/inputmethod/InputMethodSubtypeArray;-><init>(Ljava/util/List;)V
Landroid/view/InputQueue;->finishInputEvent(JZ)V
+Landroid/view/IOnKeyguardExitResult;->onKeyguardExitResult(Z)V
Landroid/view/IRecentsAnimationController;->setAnimationTargetsBehindSystemBars(Z)V
+Landroid/view/IRotationWatcher$Stub;-><init>()V
+Landroid/view/IRotationWatcher;->onRotationChanged(I)V
+Landroid/view/IWindow$Stub;-><init>()V
+Landroid/view/IWindow$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IWindow;
+Landroid/view/IWindow;->closeSystemDialogs(Ljava/lang/String;)V
+Landroid/view/IWindow;->dispatchAppVisibility(Z)V
+Landroid/view/IWindow;->dispatchGetNewSurface()V
+Landroid/view/IWindow;->dispatchWallpaperCommand(Ljava/lang/String;IIILandroid/os/Bundle;Z)V
+Landroid/view/IWindow;->dispatchWallpaperOffsets(FFFFZ)V
+Landroid/view/IWindow;->windowFocusChanged(ZZ)V
Landroid/view/IWindowManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/view/IWindowManager$Stub$Proxy;->getBaseDisplayDensity(I)I
Landroid/view/IWindowManager$Stub$Proxy;->getDockedStackSide()I
Landroid/view/IWindowManager$Stub$Proxy;->getInitialDisplayDensity(I)I
Landroid/view/IWindowManager$Stub$Proxy;->hasNavigationBar()Z
+Landroid/view/IWindowManager$Stub$Proxy;->watchRotation(Landroid/view/IRotationWatcher;I)I
+Landroid/view/IWindowManager$Stub;-><init>()V
Landroid/view/IWindowManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IWindowManager;
+Landroid/view/IWindowManager;->executeAppTransition()V
+Landroid/view/IWindowManager;->freezeRotation(I)V
Landroid/view/IWindowManager;->getAnimationScale(I)F
+Landroid/view/IWindowManager;->getAnimationScales()[F
+Landroid/view/IWindowManager;->getBaseDisplaySize(ILandroid/graphics/Point;)V
+Landroid/view/IWindowManager;->getDockedStackSide()I
Landroid/view/IWindowManager;->getInitialDisplayDensity(I)I
+Landroid/view/IWindowManager;->getInitialDisplaySize(ILandroid/graphics/Point;)V
+Landroid/view/IWindowManager;->getPendingAppTransition()I
Landroid/view/IWindowManager;->hasNavigationBar()Z
+Landroid/view/IWindowManager;->inputMethodClientHasFocus(Lcom/android/internal/view/IInputMethodClient;)Z
+Landroid/view/IWindowManager;->isKeyguardLocked()Z
+Landroid/view/IWindowManager;->isKeyguardSecure()Z
+Landroid/view/IWindowManager;->isSafeModeEnabled()Z
+Landroid/view/IWindowManager;->lockNow(Landroid/os/Bundle;)V
+Landroid/view/IWindowManager;->registerDockedStackListener(Landroid/view/IDockedStackListener;)V
+Landroid/view/IWindowManager;->removeRotationWatcher(Landroid/view/IRotationWatcher;)V
Landroid/view/IWindowManager;->setAnimationScale(IF)V
Landroid/view/IWindowManager;->setAnimationScales([F)V
+Landroid/view/IWindowManager;->setInTouchMode(Z)V
Landroid/view/IWindowManager;->setShelfHeight(ZI)V
Landroid/view/IWindowManager;->setStrictModeVisualIndicatorPreference(Ljava/lang/String;)V
+Landroid/view/IWindowManager;->showStrictModeViolation(Z)V
+Landroid/view/IWindowManager;->thawRotation()V
Landroid/view/IWindowSession$Stub$Proxy;->relayout(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/Surface;)I
+Landroid/view/IWindowSession$Stub;-><init>()V
+Landroid/view/IWindowSession$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IWindowSession;
+Landroid/view/IWindowSession;->finishDrawing(Landroid/view/IWindow;)V
+Landroid/view/IWindowSession;->getInTouchMode()Z
+Landroid/view/IWindowSession;->performDrag(Landroid/view/IWindow;ILandroid/view/SurfaceControl;IFFFFLandroid/content/ClipData;)Landroid/os/IBinder;
+Landroid/view/IWindowSession;->performHapticFeedback(Landroid/view/IWindow;IZ)Z
+Landroid/view/IWindowSession;->remove(Landroid/view/IWindow;)V
+Landroid/view/IWindowSession;->setInTouchMode(Z)V
+Landroid/view/IWindowSession;->setTransparentRegion(Landroid/view/IWindow;Landroid/graphics/Region;)V
+Landroid/view/IWindowSession;->wallpaperCommandComplete(Landroid/os/IBinder;Landroid/os/Bundle;)V
+Landroid/view/IWindowSession;->wallpaperOffsetsComplete(Landroid/os/IBinder;)V
Landroid/view/KeyCharacterMap$FallbackAction;->keyCode:I
Landroid/view/KeyCharacterMap$FallbackAction;->metaState:I
Landroid/view/KeyCharacterMap;-><init>(J)V
+Landroid/view/KeyEvent;->actionToString(I)Ljava/lang/String;
Landroid/view/KeyEvent;->isConfirmKey(I)Z
+Landroid/view/KeyEvent;->isDown()Z
Landroid/view/KeyEvent;->mAction:I
Landroid/view/KeyEvent;->mCharacters:Ljava/lang/String;
Landroid/view/KeyEvent;->mDeviceId:I
Landroid/view/KeyEvent;->mDownTime:J
+Landroid/view/KeyEvent;->META_ALL_MASK:I
+Landroid/view/KeyEvent;->META_ALT_LOCKED:I
+Landroid/view/KeyEvent;->META_CAP_LOCKED:I
+Landroid/view/KeyEvent;->META_INVALID_MODIFIER_MASK:I
+Landroid/view/KeyEvent;->META_LOCK_MASK:I
+Landroid/view/KeyEvent;->META_MODIFIER_MASK:I
+Landroid/view/KeyEvent;->META_SELECTING:I
+Landroid/view/KeyEvent;->META_SYMBOLIC_NAMES:[Ljava/lang/String;
+Landroid/view/KeyEvent;->META_SYM_LOCKED:I
+Landroid/view/KeyEvent;->META_SYNTHETIC_MASK:I
Landroid/view/KeyEvent;->mEventTime:J
Landroid/view/KeyEvent;->mFlags:I
Landroid/view/KeyEvent;->mKeyCode:I
@@ -2925,24 +5706,33 @@
Landroid/view/KeyEvent;->mSource:I
Landroid/view/KeyEvent;->obtain(JJIIIIIIIILjava/lang/String;)Landroid/view/KeyEvent;
Landroid/view/KeyEvent;->recycle()V
+Landroid/view/LayoutInflater;->ATTRS_THEME:[I
Landroid/view/LayoutInflater;->createViewFromTag(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
Landroid/view/LayoutInflater;->createViewFromTag(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;Z)Landroid/view/View;
Landroid/view/LayoutInflater;->mConstructorArgs:[Ljava/lang/Object;
+Landroid/view/LayoutInflater;->mConstructorSignature:[Ljava/lang/Class;
Landroid/view/LayoutInflater;->mContext:Landroid/content/Context;
Landroid/view/LayoutInflater;->mFactory2:Landroid/view/LayoutInflater$Factory2;
Landroid/view/LayoutInflater;->mFactory:Landroid/view/LayoutInflater$Factory;
Landroid/view/LayoutInflater;->mFactorySet:Z
Landroid/view/LayoutInflater;->mPrivateFactory:Landroid/view/LayoutInflater$Factory2;
+Landroid/view/LayoutInflater;->parseInclude(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/Context;Landroid/view/View;Landroid/util/AttributeSet;)V
Landroid/view/LayoutInflater;->sConstructorMap:Ljava/util/HashMap;
Landroid/view/LayoutInflater;->setPrivateFactory(Landroid/view/LayoutInflater$Factory2;)V
+Landroid/view/MotionEvent$PointerCoords;->createArray(I)[Landroid/view/MotionEvent$PointerCoords;
Landroid/view/MotionEvent$PointerCoords;->mPackedAxisBits:J
Landroid/view/MotionEvent$PointerCoords;->mPackedAxisValues:[F
+Landroid/view/MotionEvent$PointerProperties;->createArray(I)[Landroid/view/MotionEvent$PointerProperties;
+Landroid/view/MotionEvent;->addBatch(Landroid/view/MotionEvent;)Z
+Landroid/view/MotionEvent;->copy()Landroid/view/MotionEvent;
+Landroid/view/MotionEvent;->getEventTimeNano()J
Landroid/view/MotionEvent;->getPointerIdBits()I
Landroid/view/MotionEvent;->HISTORY_CURRENT:I
Landroid/view/MotionEvent;->mNativePtr:J
Landroid/view/MotionEvent;->nativeGetRawAxisValue(JIII)F
Landroid/view/MotionEvent;->obtain()Landroid/view/MotionEvent;
Landroid/view/MotionEvent;->scale(F)V
+Landroid/view/MotionEvent;->setDownTime(J)V
Landroid/view/MotionEvent;->split(I)Landroid/view/MotionEvent;
Landroid/view/NotificationHeaderView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
Landroid/view/PointerIcon;->load(Landroid/content/Context;)Landroid/view/PointerIcon;
@@ -2965,16 +5755,25 @@
Landroid/view/RemoteAnimationTarget;->taskId:I
Landroid/view/RemoteAnimationTarget;->windowConfiguration:Landroid/app/WindowConfiguration;
Landroid/view/RenderNode;->discardDisplayList()V
+Landroid/view/RenderNode;->offsetLeftAndRight(I)Z
Landroid/view/RenderNode;->output()V
+Landroid/view/RenderNode;->setHasOverlappingRendering(Z)Z
Landroid/view/RenderNodeAnimator;-><init>(IF)V
Landroid/view/RenderNodeAnimator;->callOnFinished(Landroid/view/RenderNodeAnimator;)V
Landroid/view/RenderNodeAnimator;->mapViewPropertyToRenderProperty(I)I
Landroid/view/RenderNodeAnimator;->setTarget(Landroid/view/View;)V
Landroid/view/ScaleGestureDetector;->mListener:Landroid/view/ScaleGestureDetector$OnScaleGestureListener;
Landroid/view/ScaleGestureDetector;->mMinSpan:I
+Landroid/view/ScaleGestureDetector;->mSpanSlop:I
+Landroid/view/Surface;-><init>()V
Landroid/view/Surface;-><init>(J)V
+Landroid/view/Surface;->copyFrom(Landroid/view/SurfaceControl;)V
+Landroid/view/Surface;->destroy()V
Landroid/view/Surface;->mLock:Ljava/lang/Object;
+Landroid/view/Surface;->mLockedObject:J
+Landroid/view/Surface;->mName:Ljava/lang/String;
Landroid/view/Surface;->mNativeObject:J
+Landroid/view/Surface;->nativeRelease(J)V
Landroid/view/Surface;->transferFrom(Landroid/view/Surface;)V
Landroid/view/SurfaceControl$PhysicalDisplayInfo;-><init>()V
Landroid/view/SurfaceControl$PhysicalDisplayInfo;->appVsyncOffsetNanos:J
@@ -2986,12 +5785,40 @@
Landroid/view/SurfaceControl$PhysicalDisplayInfo;->width:I
Landroid/view/SurfaceControl$PhysicalDisplayInfo;->xDpi:F
Landroid/view/SurfaceControl$PhysicalDisplayInfo;->yDpi:F
+Landroid/view/SurfaceControl;->closeTransaction()V
+Landroid/view/SurfaceControl;->createDisplay(Ljava/lang/String;Z)Landroid/os/IBinder;
+Landroid/view/SurfaceControl;->destroyDisplay(Landroid/os/IBinder;)V
+Landroid/view/SurfaceControl;->getBuiltInDisplay(I)Landroid/os/IBinder;
+Landroid/view/SurfaceControl;->getDisplayConfigs(Landroid/os/IBinder;)[Landroid/view/SurfaceControl$PhysicalDisplayInfo;
+Landroid/view/SurfaceControl;->HIDDEN:I
+Landroid/view/SurfaceControl;->hide()V
+Landroid/view/SurfaceControl;->openTransaction()V
+Landroid/view/SurfaceControl;->screenshot(Landroid/graphics/Rect;IIIIZI)Landroid/graphics/Bitmap;
+Landroid/view/SurfaceControl;->screenshot(Landroid/os/IBinder;Landroid/view/Surface;Landroid/graphics/Rect;IIIIZZ)V
+Landroid/view/SurfaceControl;->setDisplayLayerStack(Landroid/os/IBinder;I)V
+Landroid/view/SurfaceControl;->setDisplayProjection(Landroid/os/IBinder;ILandroid/graphics/Rect;Landroid/graphics/Rect;)V
+Landroid/view/SurfaceControl;->setDisplaySurface(Landroid/os/IBinder;Landroid/view/Surface;)V
+Landroid/view/SurfaceControl;->setLayer(I)V
+Landroid/view/SurfaceControl;->setPosition(FF)V
+Landroid/view/SurfaceControl;->show()V
+Landroid/view/SurfaceSession;-><init>()V
+Landroid/view/SurfaceSession;->kill()V
Landroid/view/SurfaceSession;->mNativeClient:J
Landroid/view/SurfaceView;->isFixedSize()Z
Landroid/view/SurfaceView;->mCallbacks:Ljava/util/ArrayList;
+Landroid/view/SurfaceView;->mDrawingStopped:Z
+Landroid/view/SurfaceView;->mDrawListener:Landroid/view/ViewTreeObserver$OnPreDrawListener;
Landroid/view/SurfaceView;->mFormat:I
+Landroid/view/SurfaceView;->mHaveFrame:Z
+Landroid/view/SurfaceView;->mIsCreating:Z
+Landroid/view/SurfaceView;->mLastLockTime:J
Landroid/view/SurfaceView;->mRequestedFormat:I
+Landroid/view/SurfaceView;->mRequestedHeight:I
+Landroid/view/SurfaceView;->mRequestedWidth:I
+Landroid/view/SurfaceView;->mSurface:Landroid/view/Surface;
+Landroid/view/SurfaceView;->mSurfaceFrame:Landroid/graphics/Rect;
Landroid/view/SurfaceView;->mSurfaceHolder:Landroid/view/SurfaceHolder;
+Landroid/view/SurfaceView;->mSurfaceLock:Ljava/util/concurrent/locks/ReentrantLock;
Landroid/view/SurfaceView;->setFrame(IIII)Z
Landroid/view/SurfaceView;->surfacePositionLost_uiRtSync(J)V
Landroid/view/SurfaceView;->updateSurfacePosition_renderWorker(JIIII)V
@@ -3008,7 +5835,10 @@
Landroid/view/textclassifier/TextClassifier;->generateLinks(Ljava/lang/CharSequence;Landroid/view/textclassifier/TextLinks$Options;)Landroid/view/textclassifier/TextLinks;
Landroid/view/textclassifier/TextClassifier;->suggestSelection(Ljava/lang/CharSequence;IILandroid/view/textclassifier/TextSelection$Options;)Landroid/view/textclassifier/TextSelection;
Landroid/view/textclassifier/TextLinks$Options;-><init>()V
+Landroid/view/textservice/TextServicesManager;->getCurrentSpellChecker()Landroid/view/textservice/SpellCheckerInfo;
Landroid/view/textservice/TextServicesManager;->getCurrentSpellCheckerSubtype(Z)Landroid/view/textservice/SpellCheckerSubtype;
+Landroid/view/textservice/TextServicesManager;->getEnabledSpellCheckers()[Landroid/view/textservice/SpellCheckerInfo;
+Landroid/view/textservice/TextServicesManager;->getInstance()Landroid/view/textservice/TextServicesManager;
Landroid/view/textservice/TextServicesManager;->isSpellCheckerEnabled()Z
Landroid/view/TextureView;->destroyHardwareLayer()V
Landroid/view/TextureView;->destroyHardwareResources()V
@@ -3016,6 +5846,7 @@
Landroid/view/TextureView;->mNativeWindow:J
Landroid/view/TextureView;->mSurface:Landroid/graphics/SurfaceTexture;
Landroid/view/TextureView;->mUpdateListener:Landroid/graphics/SurfaceTexture$OnFrameAvailableListener;
+Landroid/view/TextureView;->onDetachedFromWindowInternal()V
Landroid/view/ThreadedRenderer;->setupDiskCache(Ljava/io/File;)V
Landroid/view/TouchDelegate;->mDelegateTargeted:Z
Landroid/view/VelocityTracker$Estimator;->confidence:F
@@ -3023,32 +5854,76 @@
Landroid/view/VelocityTracker$Estimator;->xCoeff:[F
Landroid/view/VelocityTracker$Estimator;->yCoeff:[F
Landroid/view/VelocityTracker;->obtain(Ljava/lang/String;)Landroid/view/VelocityTracker;
+Landroid/view/View$AccessibilityDelegate;->createAccessibilityNodeInfo(Landroid/view/View;)Landroid/view/accessibility/AccessibilityNodeInfo;
+Landroid/view/View$AttachInfo$InvalidateInfo;-><init>()V
+Landroid/view/View$AttachInfo$InvalidateInfo;->bottom:I
+Landroid/view/View$AttachInfo$InvalidateInfo;->left:I
+Landroid/view/View$AttachInfo$InvalidateInfo;->right:I
+Landroid/view/View$AttachInfo$InvalidateInfo;->target:Landroid/view/View;
+Landroid/view/View$AttachInfo$InvalidateInfo;->top:I
+Landroid/view/View$AttachInfo;->mApplicationScale:F
Landroid/view/View$AttachInfo;->mContentInsets:Landroid/graphics/Rect;
+Landroid/view/View$AttachInfo;->mDisplayState:I
Landroid/view/View$AttachInfo;->mDrawingTime:J
+Landroid/view/View$AttachInfo;->mGivenInternalInsets:Landroid/view/ViewTreeObserver$InternalInsetsInfo;
+Landroid/view/View$AttachInfo;->mHandler:Landroid/os/Handler;
+Landroid/view/View$AttachInfo;->mHasWindowFocus:Z
+Landroid/view/View$AttachInfo;->mInTouchMode:Z
+Landroid/view/View$AttachInfo;->mKeepScreenOn:Z
+Landroid/view/View$AttachInfo;->mKeyDispatchState:Landroid/view/KeyEvent$DispatcherState;
+Landroid/view/View$AttachInfo;->mRecomputeGlobalAttributes:Z
+Landroid/view/View$AttachInfo;->mScalingRequired:Z
Landroid/view/View$AttachInfo;->mScrollContainers:Ljava/util/ArrayList;
+Landroid/view/View$AttachInfo;->mSession:Landroid/view/IWindowSession;
Landroid/view/View$AttachInfo;->mStableInsets:Landroid/graphics/Rect;
+Landroid/view/View$AttachInfo;->mTreeObserver:Landroid/view/ViewTreeObserver;
+Landroid/view/View$AttachInfo;->mViewScrollChanged:Z
+Landroid/view/View$AttachInfo;->mViewVisibilityChanged:Z
+Landroid/view/View$AttachInfo;->mVisibleInsets:Landroid/graphics/Rect;
+Landroid/view/View$AttachInfo;->mWindow:Landroid/view/IWindow;
+Landroid/view/View$DragShadowBuilder;->mView:Ljava/lang/ref/WeakReference;
Landroid/view/View$ListenerInfo;-><init>()V
Landroid/view/View$ListenerInfo;->mOnClickListener:Landroid/view/View$OnClickListener;
Landroid/view/View$ListenerInfo;->mOnCreateContextMenuListener:Landroid/view/View$OnCreateContextMenuListener;
Landroid/view/View$ListenerInfo;->mOnDragListener:Landroid/view/View$OnDragListener;
Landroid/view/View$ListenerInfo;->mOnFocusChangeListener:Landroid/view/View$OnFocusChangeListener;
+Landroid/view/View$ListenerInfo;->mOnGenericMotionListener:Landroid/view/View$OnGenericMotionListener;
+Landroid/view/View$ListenerInfo;->mOnHoverListener:Landroid/view/View$OnHoverListener;
+Landroid/view/View$ListenerInfo;->mOnKeyListener:Landroid/view/View$OnKeyListener;
Landroid/view/View$ListenerInfo;->mOnLongClickListener:Landroid/view/View$OnLongClickListener;
Landroid/view/View$ListenerInfo;->mOnTouchListener:Landroid/view/View$OnTouchListener;
+Landroid/view/View$MeasureSpec;->makeSafeMeasureSpec(II)I
+Landroid/view/View$ScrollabilityCache;->host:Landroid/view/View;
Landroid/view/View$ScrollabilityCache;->scrollBar:Landroid/widget/ScrollBarDrawable;
Landroid/view/View$ScrollabilityCache;->state:I
+Landroid/view/View;-><init>()V
Landroid/view/View;->applyDrawableToTransparentRegion(Landroid/graphics/drawable/Drawable;Landroid/graphics/Region;)V
+Landroid/view/View;->assignParent(Landroid/view/ViewParent;)V
+Landroid/view/View;->cancel(Landroid/view/View$SendViewScrolledAccessibilityEvent;)V
Landroid/view/View;->clearAccessibilityFocus()V
Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
Landroid/view/View;->computeOpaqueFlags()V
Landroid/view/View;->createSnapshot(Landroid/view/ViewDebug$CanvasProvider;Z)Landroid/graphics/Bitmap;
+Landroid/view/View;->debug()V
+Landroid/view/View;->debug(I)V
+Landroid/view/View;->DEBUG_LAYOUT_PROPERTY:Ljava/lang/String;
+Landroid/view/View;->destroyHardwareResources()V
Landroid/view/View;->dispatchAttachedToWindow(Landroid/view/View$AttachInfo;I)V
Landroid/view/View;->dispatchDetachedFromWindow()V
+Landroid/view/View;->dispatchPointerEvent(Landroid/view/MotionEvent;)Z
+Landroid/view/View;->drawBackground(Landroid/graphics/Canvas;)V
+Landroid/view/View;->ensureTransformationInfo()V
+Landroid/view/View;->findViewByAccessibilityId(I)Landroid/view/View;
Landroid/view/View;->fitsSystemWindows()Z
+Landroid/view/View;->gatherTransparentRegion(Landroid/graphics/Region;)Z
Landroid/view/View;->getAccessibilityDelegate()Landroid/view/View$AccessibilityDelegate;
Landroid/view/View;->getAccessibilityViewId()I
Landroid/view/View;->getBoundsOnScreen(Landroid/graphics/Rect;)V
+Landroid/view/View;->getBoundsOnScreen(Landroid/graphics/Rect;Z)V
Landroid/view/View;->getHorizontalScrollFactor()F
Landroid/view/View;->getInverseMatrix()Landroid/graphics/Matrix;
+Landroid/view/View;->getIterableTextForAccessibility()Ljava/lang/CharSequence;
+Landroid/view/View;->getIteratorForGranularity(I)Landroid/view/AccessibilityIterators$TextSegmentIterator;
Landroid/view/View;->getListenerInfo()Landroid/view/View$ListenerInfo;
Landroid/view/View;->getLocationOnScreen()[I
Landroid/view/View;->getRawTextAlignment()I
@@ -3057,24 +5932,40 @@
Landroid/view/View;->getVerticalScrollFactor()F
Landroid/view/View;->getViewRootImpl()Landroid/view/ViewRootImpl;
Landroid/view/View;->getWindowDisplayFrame(Landroid/graphics/Rect;)V
+Landroid/view/View;->getWindowSession()Landroid/view/IWindowSession;
+Landroid/view/View;->hasIdentityMatrix()Z
+Landroid/view/View;->hasRtlSupport()Z
Landroid/view/View;->includeForAccessibility()Z
+Landroid/view/View;->initializeScrollbarsInternal(Landroid/content/res/TypedArray;)V
Landroid/view/View;->internalSetPadding(IIII)V
+Landroid/view/View;->invalidate(Z)V
Landroid/view/View;->invalidateParentCaches()V
Landroid/view/View;->invalidateParentIfNeeded()V
+Landroid/view/View;->invalidateViewProperty(ZZ)V
+Landroid/view/View;->isDraggingScrollBar()Z
+Landroid/view/View;->isInScrollingContainer()Z
Landroid/view/View;->isLayoutRtl()Z
+Landroid/view/View;->isOnScrollbarThumb(FF)Z
Landroid/view/View;->isPaddingResolved()Z
Landroid/view/View;->isRootNamespace()Z
Landroid/view/View;->isVisibleToUser()Z
Landroid/view/View;->isVisibleToUser(Landroid/graphics/Rect;)Z
Landroid/view/View;->mAccessibilityDelegate:Landroid/view/View$AccessibilityDelegate;
+Landroid/view/View;->makeOptionalFitsSystemWindows()V
Landroid/view/View;->mAttachInfo:Landroid/view/View$AttachInfo;
Landroid/view/View;->mBackground:Landroid/graphics/drawable/Drawable;
+Landroid/view/View;->mBackgroundResource:I
Landroid/view/View;->mBottom:I
+Landroid/view/View;->mCachingFailed:Z
Landroid/view/View;->mContext:Landroid/content/Context;
Landroid/view/View;->mDrawingCache:Landroid/graphics/Bitmap;
+Landroid/view/View;->mHasPerformedLongPress:Z
+Landroid/view/View;->mKeyedTags:Landroid/util/SparseArray;
Landroid/view/View;->mLayoutParams:Landroid/view/ViewGroup$LayoutParams;
Landroid/view/View;->mLeft:I
Landroid/view/View;->mListenerInfo:Landroid/view/View$ListenerInfo;
+Landroid/view/View;->mMeasuredHeight:I
+Landroid/view/View;->mMeasuredWidth:I
Landroid/view/View;->mMinHeight:I
Landroid/view/View;->mMinWidth:I
Landroid/view/View;->mPaddingBottom:I
@@ -3082,10 +5973,12 @@
Landroid/view/View;->mPaddingRight:I
Landroid/view/View;->mPaddingTop:I
Landroid/view/View;->mParent:Landroid/view/ViewParent;
+Landroid/view/View;->mPendingCheckForTap:Landroid/view/View$CheckForTap;
Landroid/view/View;->mPrivateFlags2:I
Landroid/view/View;->mPrivateFlags3:I
Landroid/view/View;->mPrivateFlags:I
Landroid/view/View;->mRecreateDisplayList:Z
+Landroid/view/View;->mRenderNode:Landroid/view/RenderNode;
Landroid/view/View;->mResources:Landroid/content/res/Resources;
Landroid/view/View;->mRight:I
Landroid/view/View;->mScrollCache:Landroid/view/View$ScrollabilityCache;
@@ -3094,12 +5987,20 @@
Landroid/view/View;->mStartActivityRequestWho:Ljava/lang/String;
Landroid/view/View;->mTag:Ljava/lang/Object;
Landroid/view/View;->mTop:I
+Landroid/view/View;->mTransformationInfo:Landroid/view/View$TransformationInfo;
Landroid/view/View;->mUnscaledDrawingCache:Landroid/graphics/Bitmap;
+Landroid/view/View;->mVerticalScrollbarPosition:I
Landroid/view/View;->mViewFlags:I
+Landroid/view/View;->NAVIGATION_BAR_TRANSIENT:I
Landroid/view/View;->notifySubtreeAccessibilityStateChangedIfNeeded()V
+Landroid/view/View;->notifyViewAccessibilityStateChangedIfNeeded(I)V
+Landroid/view/View;->onCloseSystemDialogs(Ljava/lang/String;)V
Landroid/view/View;->onDrawVerticalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V
+Landroid/view/View;->onFocusLost()V
Landroid/view/View;->performAccessibilityActionInternal(ILandroid/os/Bundle;)Z
+Landroid/view/View;->pointInView(FFF)Z
Landroid/view/View;->recomputePadding()V
+Landroid/view/View;->removePerformClickCallback()V
Landroid/view/View;->requestAccessibilityFocus()Z
Landroid/view/View;->resetDisplayList()V
Landroid/view/View;->resetPaddingToInitialValues()V
@@ -3109,12 +6010,15 @@
Landroid/view/View;->resetResolvedTextAlignment()V
Landroid/view/View;->resetResolvedTextDirection()V
Landroid/view/View;->resetRtlProperties()V
+Landroid/view/View;->resolvePadding()V
Landroid/view/View;->setAlphaNoInvalidation(F)Z
Landroid/view/View;->setAnimationMatrix(Landroid/graphics/Matrix;)V
Landroid/view/View;->setAssistBlocked(Z)V
+Landroid/view/View;->setFlags(II)V
Landroid/view/View;->setFrame(IIII)Z
Landroid/view/View;->setIsRootNamespace(Z)V
Landroid/view/View;->setLeftTopRightBottom(IIII)V
+Landroid/view/View;->setTagInternal(ILjava/lang/Object;)V
Landroid/view/View;->setTransitionAlpha(F)V
Landroid/view/View;->startActivityForResult(Landroid/content/Intent;I)V
Landroid/view/View;->STATUS_BAR_DISABLE_BACK:I
@@ -3127,71 +6031,149 @@
Landroid/view/View;->transformMatrixToLocal(Landroid/graphics/Matrix;)V
Landroid/view/ViewConfiguration;->getDeviceGlobalActionKeyTimeout()J
Landroid/view/ViewConfiguration;->getDoubleTapMinTime()I
+Landroid/view/ViewConfiguration;->getDoubleTapSlop()I
+Landroid/view/ViewConfiguration;->getScaledDoubleTapTouchSlop()I
Landroid/view/ViewConfiguration;->isFadingMarqueeEnabled()Z
Landroid/view/ViewConfiguration;->mFadingMarqueeEnabled:Z
+Landroid/view/ViewConfiguration;->sConfigurations:Landroid/util/SparseArray;
+Landroid/view/ViewConfiguration;->SCROLL_FRICTION:F
Landroid/view/ViewConfiguration;->sHasPermanentMenuKey:Z
Landroid/view/ViewConfiguration;->sHasPermanentMenuKeySet:Z
Landroid/view/ViewDebug;->dispatchCommand(Landroid/view/View;Ljava/lang/String;Ljava/lang/String;Ljava/io/OutputStream;)V
Landroid/view/ViewDebug;->dump(Landroid/view/View;ZZLjava/io/OutputStream;)V
+Landroid/view/ViewDebug;->getViewInstanceCount()J
+Landroid/view/ViewDebug;->getViewRootImplCount()J
+Landroid/view/ViewGroup$LayoutParams;-><init>()V
Landroid/view/ViewGroup$MarginLayoutParams;->endMargin:I
+Landroid/view/ViewGroup$MarginLayoutParams;->setMarginsRelative(IIII)V
Landroid/view/ViewGroup$MarginLayoutParams;->startMargin:I
Landroid/view/ViewGroup$TouchTarget;->child:Landroid/view/View;
+Landroid/view/ViewGroup;->addTransientView(Landroid/view/View;I)V
+Landroid/view/ViewGroup;->cancelTouchTarget(Landroid/view/View;)V
+Landroid/view/ViewGroup;->dispatchAttachedToWindow(Landroid/view/View$AttachInfo;I)V
+Landroid/view/ViewGroup;->dispatchDetachedFromWindow()V
+Landroid/view/ViewGroup;->dispatchGetDisplayList()V
Landroid/view/ViewGroup;->dispatchViewAdded(Landroid/view/View;)V
Landroid/view/ViewGroup;->dispatchViewRemoved(Landroid/view/View;)V
+Landroid/view/ViewGroup;->FLAG_DISALLOW_INTERCEPT:I
Landroid/view/ViewGroup;->FLAG_SUPPORT_STATIC_TRANSFORMATIONS:I
Landroid/view/ViewGroup;->FLAG_USE_CHILD_DRAWING_ORDER:I
+Landroid/view/ViewGroup;->getTransientView(I)Landroid/view/View;
+Landroid/view/ViewGroup;->getTransientViewCount()I
+Landroid/view/ViewGroup;->isTransformedTouchPointInView(FFLandroid/view/View;Landroid/graphics/PointF;)Z
Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V
Landroid/view/ViewGroup;->mChildren:[Landroid/view/View;
Landroid/view/ViewGroup;->mChildrenCount:I
+Landroid/view/ViewGroup;->mDisappearingChildren:Ljava/util/ArrayList;
Landroid/view/ViewGroup;->mFirstTouchTarget:Landroid/view/ViewGroup$TouchTarget;
Landroid/view/ViewGroup;->mGroupFlags:I
Landroid/view/ViewGroup;->mOnHierarchyChangeListener:Landroid/view/ViewGroup$OnHierarchyChangeListener;
Landroid/view/ViewGroup;->mPersistentDrawingCache:I
Landroid/view/ViewGroup;->offsetChildrenTopAndBottom(I)V
Landroid/view/ViewGroup;->onChildVisibilityChanged(Landroid/view/View;II)V
+Landroid/view/ViewGroup;->removeTransientView(Landroid/view/View;)V
Landroid/view/ViewGroup;->resetResolvedDrawables()V
Landroid/view/ViewGroup;->resetResolvedLayoutDirection()V
Landroid/view/ViewGroup;->resetResolvedPadding()V
Landroid/view/ViewGroup;->resetResolvedTextAlignment()V
Landroid/view/ViewGroup;->resetResolvedTextDirection()V
+Landroid/view/ViewGroup;->resolvePadding()V
Landroid/view/ViewGroup;->suppressLayout(Z)V
+Landroid/view/ViewGroup;->transformPointToViewLocal([FLandroid/view/View;)V
+Landroid/view/ViewHierarchyEncoder;->addProperty(Ljava/lang/String;I)V
+Landroid/view/ViewHierarchyEncoder;->addProperty(Ljava/lang/String;Z)V
+Landroid/view/ViewOverlay;->getOverlayView()Landroid/view/ViewGroup;
+Landroid/view/ViewOverlay;->isEmpty()Z
+Landroid/view/ViewRootImpl$CalledFromWrongThreadException;-><init>(Ljava/lang/String;)V
+Landroid/view/ViewRootImpl;->addConfigCallback(Landroid/view/ViewRootImpl$ConfigChangedCallback;)V
+Landroid/view/ViewRootImpl;->cancelInvalidate(Landroid/view/View;)V
Landroid/view/ViewRootImpl;->detachFunctor(J)V
Landroid/view/ViewRootImpl;->dispatchInputEvent(Landroid/view/InputEvent;)V
Landroid/view/ViewRootImpl;->dispatchInputEvent(Landroid/view/InputEvent;Landroid/view/InputEventReceiver;)V
+Landroid/view/ViewRootImpl;->dispatchKeyFromIme(Landroid/view/KeyEvent;)V
+Landroid/view/ViewRootImpl;->dispatchResized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
Landroid/view/ViewRootImpl;->dispatchUnhandledInputEvent(Landroid/view/InputEvent;)V
+Landroid/view/ViewRootImpl;->enableHardwareAcceleration(Landroid/view/WindowManager$LayoutParams;)V
Landroid/view/ViewRootImpl;->enqueueInputEvent(Landroid/view/InputEvent;)V
+Landroid/view/ViewRootImpl;->enqueueInputEvent(Landroid/view/InputEvent;Landroid/view/InputEventReceiver;IZ)V
+Landroid/view/ViewRootImpl;->ensureTouchMode(Z)Z
+Landroid/view/ViewRootImpl;->getAccessibilityFocusedHost()Landroid/view/View;
+Landroid/view/ViewRootImpl;->getAccessibilityFocusedVirtualView()Landroid/view/accessibility/AccessibilityNodeInfo;
+Landroid/view/ViewRootImpl;->getLastTouchPoint(Landroid/graphics/Point;)V
Landroid/view/ViewRootImpl;->getView()Landroid/view/View;
Landroid/view/ViewRootImpl;->getWindowFlags()I
Landroid/view/ViewRootImpl;->invalidate()V
Landroid/view/ViewRootImpl;->invokeFunctor(JZ)V
Landroid/view/ViewRootImpl;->mAdded:Z
+Landroid/view/ViewRootImpl;->mAttachInfo:Landroid/view/View$AttachInfo;
Landroid/view/ViewRootImpl;->mContext:Landroid/content/Context;
+Landroid/view/ViewRootImpl;->mDirty:Landroid/graphics/Rect;
Landroid/view/ViewRootImpl;->mFallbackEventHandler:Landroid/view/FallbackEventHandler;
+Landroid/view/ViewRootImpl;->mHeight:I
Landroid/view/ViewRootImpl;->mLastScrolledFocus:Ljava/lang/ref/WeakReference;
Landroid/view/ViewRootImpl;->mStopped:Z
Landroid/view/ViewRootImpl;->mSurface:Landroid/view/Surface;
Landroid/view/ViewRootImpl;->mView:Landroid/view/View;
+Landroid/view/ViewRootImpl;->mWidth:I
+Landroid/view/ViewRootImpl;->mWindowSession:Landroid/view/IWindowSession;
+Landroid/view/ViewRootImpl;->scheduleTraversals()V
+Landroid/view/ViewRootImpl;->setLocalDragState(Ljava/lang/Object;)V
+Landroid/view/ViewTreeObserver$InternalInsetsInfo;-><init>()V
+Landroid/view/ViewTreeObserver$InternalInsetsInfo;->contentInsets:Landroid/graphics/Rect;
+Landroid/view/ViewTreeObserver$InternalInsetsInfo;->mTouchableInsets:I
+Landroid/view/ViewTreeObserver$InternalInsetsInfo;->set(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
Landroid/view/ViewTreeObserver$InternalInsetsInfo;->setTouchableInsets(I)V
Landroid/view/ViewTreeObserver$InternalInsetsInfo;->touchableRegion:Landroid/graphics/Region;
Landroid/view/ViewTreeObserver$InternalInsetsInfo;->TOUCHABLE_INSETS_REGION:I
+Landroid/view/ViewTreeObserver$InternalInsetsInfo;->visibleInsets:Landroid/graphics/Rect;
Landroid/view/ViewTreeObserver;->addOnComputeInternalInsetsListener(Landroid/view/ViewTreeObserver$OnComputeInternalInsetsListener;)V
+Landroid/view/ViewTreeObserver;->dispatchOnComputeInternalInsets(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
+Landroid/view/ViewTreeObserver;->dispatchOnGlobalFocusChange(Landroid/view/View;Landroid/view/View;)V
+Landroid/view/ViewTreeObserver;->dispatchOnScrollChanged()V
+Landroid/view/ViewTreeObserver;->dispatchOnTouchModeChanged(Z)V
+Landroid/view/ViewTreeObserver;->hasComputeInternalInsetsListeners()Z
+Landroid/view/ViewTreeObserver;->mOnComputeInternalInsetsListeners:Landroid/view/ViewTreeObserver$CopyOnWriteArray;
+Landroid/view/ViewTreeObserver;->mOnGlobalLayoutListeners:Landroid/view/ViewTreeObserver$CopyOnWriteArray;
Landroid/view/ViewTreeObserver;->mOnScrollChangedListeners:Landroid/view/ViewTreeObserver$CopyOnWriteArray;
+Landroid/view/ViewTreeObserver;->mOnTouchModeChangeListeners:Ljava/util/concurrent/CopyOnWriteArrayList;
Landroid/view/ViewTreeObserver;->removeOnComputeInternalInsetsListener(Landroid/view/ViewTreeObserver$OnComputeInternalInsetsListener;)V
Landroid/view/Window;->addPrivateFlags(I)V
+Landroid/view/Window;->alwaysReadCloseOnTouchAttr()V
+Landroid/view/Window;->isDestroyed()Z
Landroid/view/Window;->mAppName:Ljava/lang/String;
Landroid/view/Window;->mAppToken:Landroid/os/IBinder;
Landroid/view/Window;->mCallback:Landroid/view/Window$Callback;
Landroid/view/Window;->mContext:Landroid/content/Context;
+Landroid/view/Window;->mDestroyed:Z
+Landroid/view/Window;->mFeatures:I
Landroid/view/Window;->mHardwareAccelerated:Z
+Landroid/view/Window;->mLocalFeatures:I
+Landroid/view/Window;->mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
Landroid/view/Window;->mWindowStyle:Landroid/content/res/TypedArray;
+Landroid/view/Window;->setCloseOnTouchOutside(Z)V
+Landroid/view/Window;->setCloseOnTouchOutsideIfNotSet(Z)V
Landroid/view/Window;->setNeedsMenuKey(I)V
Landroid/view/WindowAnimationFrameStats;->init(J[J)V
Landroid/view/WindowContentFrameStats;->init(J[J[J[J)V
+Landroid/view/WindowInsets;-><init>(Landroid/graphics/Rect;)V
+Landroid/view/WindowInsets;->CONSUMED:Landroid/view/WindowInsets;
Landroid/view/WindowInsets;->getSystemWindowInsets()Landroid/graphics/Rect;
+Landroid/view/WindowLeaked;-><init>(Ljava/lang/String;)V
+Landroid/view/WindowManager$LayoutParams;->backup()V
+Landroid/view/WindowManager$LayoutParams;->FLAG_SLIPPERY:I
+Landroid/view/WindowManager$LayoutParams;->hasSystemUiListeners:Z
Landroid/view/WindowManager$LayoutParams;->hideTimeoutMilliseconds:J
+Landroid/view/WindowManager$LayoutParams;->inputFeatures:I
+Landroid/view/WindowManager$LayoutParams;->INPUT_FEATURE_DISABLE_USER_ACTIVITY:I
Landroid/view/WindowManager$LayoutParams;->needsMenuKey:I
Landroid/view/WindowManager$LayoutParams;->NEEDS_MENU_SET_FALSE:I
Landroid/view/WindowManager$LayoutParams;->NEEDS_MENU_SET_TRUE:I
+Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAG_SHOW_FOR_ALL_USERS:I
+Landroid/view/WindowManager$LayoutParams;->restore()V
+Landroid/view/WindowManager$LayoutParams;->subtreeSystemUiVisibility:I
+Landroid/view/WindowManager$LayoutParams;->TYPE_APPLICATION_MEDIA_OVERLAY:I
+Landroid/view/WindowManager$LayoutParams;->TYPE_DISPLAY_OVERLAY:I
+Landroid/view/WindowManager$LayoutParams;->TYPE_SECURE_SYSTEM_OVERLAY:I
Landroid/view/WindowManager$LayoutParams;->userActivityTimeout:J
Landroid/view/WindowManagerGlobal;->getInstance()Landroid/view/WindowManagerGlobal;
Landroid/view/WindowManagerGlobal;->getRootView(Ljava/lang/String;)Landroid/view/View;
@@ -3205,12 +6187,20 @@
Landroid/view/WindowManagerGlobal;->mRoots:Ljava/util/ArrayList;
Landroid/view/WindowManagerGlobal;->mViews:Ljava/util/ArrayList;
Landroid/view/WindowManagerGlobal;->peekWindowSession()Landroid/view/IWindowSession;
+Landroid/view/WindowManagerGlobal;->removeView(Landroid/view/View;Z)V
Landroid/view/WindowManagerGlobal;->sDefaultWindowManager:Landroid/view/WindowManagerGlobal;
Landroid/view/WindowManagerGlobal;->sWindowManagerService:Landroid/view/IWindowManager;
Landroid/view/WindowManagerGlobal;->sWindowSession:Landroid/view/IWindowSession;
Landroid/view/WindowManagerGlobal;->trimMemory(I)V
Landroid/view/WindowManagerImpl;->mGlobal:Landroid/view/WindowManagerGlobal;
Landroid/webkit/CacheManager$CacheResult;-><init>()V
+Landroid/webkit/CacheManager$CacheResult;->contentdisposition:Ljava/lang/String;
+Landroid/webkit/CacheManager$CacheResult;->contentLength:J
+Landroid/webkit/CacheManager$CacheResult;->crossDomain:Ljava/lang/String;
+Landroid/webkit/CacheManager$CacheResult;->encoding:Ljava/lang/String;
+Landroid/webkit/CacheManager$CacheResult;->etag:Ljava/lang/String;
+Landroid/webkit/CacheManager$CacheResult;->expires:J
+Landroid/webkit/CacheManager$CacheResult;->expiresString:Ljava/lang/String;
Landroid/webkit/CacheManager$CacheResult;->getContentDisposition()Ljava/lang/String;
Landroid/webkit/CacheManager$CacheResult;->getContentLength()J
Landroid/webkit/CacheManager$CacheResult;->getEncoding()Ljava/lang/String;
@@ -3224,23 +6214,48 @@
Landroid/webkit/CacheManager$CacheResult;->getLocation()Ljava/lang/String;
Landroid/webkit/CacheManager$CacheResult;->getMimeType()Ljava/lang/String;
Landroid/webkit/CacheManager$CacheResult;->getOutputStream()Ljava/io/OutputStream;
+Landroid/webkit/CacheManager$CacheResult;->httpStatusCode:I
+Landroid/webkit/CacheManager$CacheResult;->inStream:Ljava/io/InputStream;
+Landroid/webkit/CacheManager$CacheResult;->lastModified:Ljava/lang/String;
+Landroid/webkit/CacheManager$CacheResult;->localPath:Ljava/lang/String;
+Landroid/webkit/CacheManager$CacheResult;->location:Ljava/lang/String;
+Landroid/webkit/CacheManager$CacheResult;->mimeType:Ljava/lang/String;
+Landroid/webkit/CacheManager$CacheResult;->outFile:Ljava/io/File;
+Landroid/webkit/CacheManager$CacheResult;->outStream:Ljava/io/OutputStream;
Landroid/webkit/CacheManager$CacheResult;->setEncoding(Ljava/lang/String;)V
Landroid/webkit/CacheManager$CacheResult;->setInputStream(Ljava/io/InputStream;)V
Landroid/webkit/CacheManager;->cacheDisabled()Z
Landroid/webkit/CacheManager;->endCacheTransaction()Z
Landroid/webkit/CacheManager;->getCacheFile(Ljava/lang/String;Ljava/util/Map;)Landroid/webkit/CacheManager$CacheResult;
Landroid/webkit/CacheManager;->getCacheFileBaseDir()Ljava/io/File;
+Landroid/webkit/CacheManager;->saveCacheFile(Ljava/lang/String;JLandroid/webkit/CacheManager$CacheResult;)V
Landroid/webkit/CacheManager;->saveCacheFile(Ljava/lang/String;Landroid/webkit/CacheManager$CacheResult;)V
Landroid/webkit/CacheManager;->startCacheTransaction()Z
Landroid/webkit/IWebViewUpdateService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/webkit/IWebViewUpdateService$Stub$Proxy;->waitForAndGetProvider()Landroid/webkit/WebViewProviderResponse;
Landroid/webkit/IWebViewUpdateService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/webkit/IWebViewUpdateService;
+Landroid/webkit/IWebViewUpdateService;->isFallbackPackage(Ljava/lang/String;)Z
Landroid/webkit/JsResult;->mReceiver:Landroid/webkit/JsResult$ResultReceiver;
+Landroid/webkit/PluginData;-><init>(Ljava/io/InputStream;JLjava/util/Map;I)V
+Landroid/webkit/PluginData;->getContentLength()J
+Landroid/webkit/PluginData;->getHeaders()Ljava/util/Map;
+Landroid/webkit/PluginData;->getInputStream()Ljava/io/InputStream;
+Landroid/webkit/PluginData;->getStatusCode()I
+Landroid/webkit/UrlInterceptRegistry;->getPluginData(Ljava/lang/String;Ljava/util/Map;)Landroid/webkit/PluginData;
+Landroid/webkit/UrlInterceptRegistry;->registerHandler(Landroid/webkit/UrlInterceptHandler;)Z
+Landroid/webkit/UrlInterceptRegistry;->setUrlInterceptDisabled(Z)V
+Landroid/webkit/UrlInterceptRegistry;->unregisterHandler(Landroid/webkit/UrlInterceptHandler;)Z
+Landroid/webkit/URLUtil;->isResourceUrl(Ljava/lang/String;)Z
+Landroid/webkit/URLUtil;->parseContentDisposition(Ljava/lang/String;)Ljava/lang/String;
Landroid/webkit/URLUtil;->verifyURLEncoding(Ljava/lang/String;)Z
Landroid/webkit/WebResourceResponse;->mImmutable:Z
Landroid/webkit/WebResourceResponse;->mStatusCode:I
Landroid/webkit/WebSettings$TextSize;->value:I
Landroid/webkit/WebSyncManager;->mHandler:Landroid/os/Handler;
+Landroid/webkit/WebSyncManager;->syncFromRamToFlash()V
+Landroid/webkit/WebView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;IILjava/util/Map;Z)V
+Landroid/webkit/WebView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;ILjava/util/Map;Z)V
+Landroid/webkit/WebView;->checkThread()V
Landroid/webkit/WebView;->debugDump()V
Landroid/webkit/WebView;->disablePlatformNotifications()V
Landroid/webkit/WebView;->emulateShiftHeld()V
@@ -3258,6 +6273,7 @@
Landroid/webkit/WebView;->restorePicture(Landroid/os/Bundle;Ljava/io/File;)Z
Landroid/webkit/WebView;->savePicture(Landroid/os/Bundle;Ljava/io/File;)Z
Landroid/webkit/WebView;->sEnforceThreadChecking:Z
+Landroid/webkit/WebView;->setFrame(IIII)Z
Landroid/webkit/WebViewDelegate;-><init>()V
Landroid/webkit/WebViewFactory;->getProvider()Landroid/webkit/WebViewFactoryProvider;
Landroid/webkit/WebViewFactory;->getProviderClass()Ljava/lang/Class;
@@ -3274,9 +6290,12 @@
Landroid/widget/AbsListView$RecycleBin;->mRecyclerListener:Landroid/widget/AbsListView$RecyclerListener;
Landroid/widget/AbsListView$SavedState;->firstId:J
Landroid/widget/AbsListView$SavedState;->viewTop:I
+Landroid/widget/AbsListView;->findMotionRow(I)I
Landroid/widget/AbsListView;->invokeOnItemScrollListener()V
Landroid/widget/AbsListView;->isVerticalScrollBarHidden()Z
Landroid/widget/AbsListView;->mAdapter:Landroid/widget/ListAdapter;
+Landroid/widget/AbsListView;->mChoiceActionMode:Landroid/view/ActionMode;
+Landroid/widget/AbsListView;->mContextMenuInfo:Landroid/view/ContextMenu$ContextMenuInfo;
Landroid/widget/AbsListView;->mDataSetObserver:Landroid/widget/AbsListView$AdapterDataSetObserver;
Landroid/widget/AbsListView;->mEdgeGlowBottom:Landroid/widget/EdgeEffect;
Landroid/widget/AbsListView;->mEdgeGlowTop:Landroid/widget/EdgeEffect;
@@ -3286,11 +6305,18 @@
Landroid/widget/AbsListView;->mLayoutMode:I
Landroid/widget/AbsListView;->mMaximumVelocity:I
Landroid/widget/AbsListView;->mMotionPosition:I
+Landroid/widget/AbsListView;->mMotionY:I
Landroid/widget/AbsListView;->mOnScrollListener:Landroid/widget/AbsListView$OnScrollListener;
+Landroid/widget/AbsListView;->mOverflingDistance:I
+Landroid/widget/AbsListView;->mOverscrollDistance:I
Landroid/widget/AbsListView;->mPendingCheckForLongPress:Landroid/widget/AbsListView$CheckForLongPress;
Landroid/widget/AbsListView;->mPendingCheckForTap:Landroid/widget/AbsListView$CheckForTap;
+Landroid/widget/AbsListView;->mPopup:Landroid/widget/PopupWindow;
+Landroid/widget/AbsListView;->mPositionScroller:Landroid/widget/AbsListView$AbsPositionScroller;
Landroid/widget/AbsListView;->mRecycler:Landroid/widget/AbsListView$RecycleBin;
+Landroid/widget/AbsListView;->mSelectionBottomPadding:I
Landroid/widget/AbsListView;->mSelectionTopPadding:I
+Landroid/widget/AbsListView;->mSelector:Landroid/graphics/drawable/Drawable;
Landroid/widget/AbsListView;->mSelectorPosition:I
Landroid/widget/AbsListView;->mSelectorRect:Landroid/graphics/Rect;
Landroid/widget/AbsListView;->mTouchMode:I
@@ -3298,14 +6324,35 @@
Landroid/widget/AbsListView;->mVelocityTracker:Landroid/view/VelocityTracker;
Landroid/widget/AbsListView;->performLongPress(Landroid/view/View;IJ)Z
Landroid/widget/AbsListView;->performLongPress(Landroid/view/View;IJFF)Z
+Landroid/widget/AbsListView;->positionSelector(ILandroid/view/View;ZFF)V
Landroid/widget/AbsListView;->reportScrollStateChange(I)V
+Landroid/widget/AbsListView;->resurrectSelectionIfNeeded()Z
Landroid/widget/AbsListView;->smoothScrollBy(IIZZ)V
Landroid/widget/AbsListView;->trackMotionScroll(II)Z
+Landroid/widget/AbsListView;->updateSelectorState()V
+Landroid/widget/AbsSeekBar;->mDisabledAlpha:F
Landroid/widget/AbsSeekBar;->mIsDragging:Z
+Landroid/widget/AbsSeekBar;->mIsUserSeekable:Z
Landroid/widget/AbsSeekBar;->mSplitTrack:Z
Landroid/widget/AbsSeekBar;->mThumb:Landroid/graphics/drawable/Drawable;
Landroid/widget/AbsSeekBar;->mTouchProgressOffset:F
+Landroid/widget/AbsSeekBar;->trackTouchEvent(Landroid/view/MotionEvent;)V
+Landroid/widget/ActionMenuPresenter;->dismissPopupMenus()Z
+Landroid/widget/ActionMenuPresenter;->isOverflowMenuShowing()Z
+Landroid/widget/ActionMenuPresenter;->onRestoreInstanceState(Landroid/os/Parcelable;)V
+Landroid/widget/ActionMenuPresenter;->onSaveInstanceState()Landroid/os/Parcelable;
+Landroid/widget/ActionMenuView$LayoutParams;->isOverflowButton:Z
+Landroid/widget/ActionMenuView;->isOverflowMenuShowPending()Z
+Landroid/widget/ActionMenuView;->isOverflowReserved()Z
+Landroid/widget/ActionMenuView;->peekMenu()Lcom/android/internal/view/menu/MenuBuilder;
+Landroid/widget/ActionMenuView;->setExpandedActionViewsExclusive(Z)V
+Landroid/widget/ActionMenuView;->setMenuCallbacks(Lcom/android/internal/view/menu/MenuPresenter$Callback;Lcom/android/internal/view/menu/MenuBuilder$Callback;)V
+Landroid/widget/ActivityChooserModel;->chooseActivity(I)Landroid/content/Intent;
Landroid/widget/ActivityChooserModel;->get(Landroid/content/Context;Ljava/lang/String;)Landroid/widget/ActivityChooserModel;
+Landroid/widget/ActivityChooserModel;->getActivity(I)Landroid/content/pm/ResolveInfo;
+Landroid/widget/ActivityChooserModel;->getActivityCount()I
+Landroid/widget/ActivityChooserModel;->setIntent(Landroid/content/Intent;)V
+Landroid/widget/ActivityChooserModel;->setOnChooseActivityListener(Landroid/widget/ActivityChooserModel$OnChooseActivityListener;)V
Landroid/widget/ActivityChooserView;->setExpandActivityOverflowButtonDrawable(Landroid/graphics/drawable/Drawable;)V
Landroid/widget/AdapterView;->mDataChanged:Z
Landroid/widget/AdapterView;->mFirstPosition:I
@@ -3313,33 +6360,72 @@
Landroid/widget/AdapterView;->mNextSelectedRowId:J
Landroid/widget/AdapterView;->mOldSelectedPosition:I
Landroid/widget/AdapterView;->mOnItemClickListener:Landroid/widget/AdapterView$OnItemClickListener;
+Landroid/widget/AdapterView;->mOnItemSelectedListener:Landroid/widget/AdapterView$OnItemSelectedListener;
+Landroid/widget/AdapterView;->mSelectedPosition:I
+Landroid/widget/AdapterView;->mSyncPosition:I
+Landroid/widget/AdapterView;->selectionChanged()V
Landroid/widget/AdapterView;->setNextSelectedPositionInt(I)V
Landroid/widget/AdapterView;->setSelectedPositionInt(I)V
+Landroid/widget/AnalogClock;->mDial:Landroid/graphics/drawable/Drawable;
+Landroid/widget/AnalogClock;->mHourHand:Landroid/graphics/drawable/Drawable;
+Landroid/widget/AnalogClock;->mMinuteHand:Landroid/graphics/drawable/Drawable;
+Landroid/widget/AppSecurityPermissions;-><init>(Landroid/content/Context;Ljava/lang/String;)V
+Landroid/widget/AppSecurityPermissions;->getPermissionCount()I
+Landroid/widget/AppSecurityPermissions;->getPermissionsView()Landroid/view/View;
+Landroid/widget/ArrayAdapter;->mLock:Ljava/lang/Object;
+Landroid/widget/ArrayAdapter;->mObjects:Ljava/util/List;
+Landroid/widget/ArrayAdapter;->mOriginalValues:Ljava/util/ArrayList;
Landroid/widget/AutoCompleteTextView;->doAfterTextChanged()V
Landroid/widget/AutoCompleteTextView;->doBeforeTextChanged()V
Landroid/widget/AutoCompleteTextView;->ensureImeVisible(Z)V
+Landroid/widget/AutoCompleteTextView;->isInputMethodNotNeeded()Z
+Landroid/widget/AutoCompleteTextView;->mHintView:Landroid/widget/TextView;
+Landroid/widget/AutoCompleteTextView;->mObserver:Landroid/widget/AutoCompleteTextView$PopupDataSetObserver;
+Landroid/widget/AutoCompleteTextView;->mPassThroughClickListener:Landroid/widget/AutoCompleteTextView$PassThroughClickListener;
Landroid/widget/AutoCompleteTextView;->mPopup:Landroid/widget/ListPopupWindow;
Landroid/widget/AutoCompleteTextView;->setDropDownAlwaysVisible(Z)V
+Landroid/widget/AutoCompleteTextView;->setDropDownAnimationStyle(I)V
Landroid/widget/AutoCompleteTextView;->setForceIgnoreOutsideTouch(Z)V
+Landroid/widget/AutoCompleteTextView;->showDropDownAfterLayout()V
Landroid/widget/BaseAdapter;->mDataSetObservable:Landroid/database/DataSetObservable;
+Landroid/widget/CalendarView;->mDelegate:Landroid/widget/CalendarView$CalendarViewDelegate;
+Landroid/widget/CheckedTextView;->mCheckMarkDrawable:Landroid/graphics/drawable/Drawable;
+Landroid/widget/CheckedTextView;->mCheckMarkGravity:I
Landroid/widget/CompoundButton;->mBroadcasting:Z
Landroid/widget/CompoundButton;->mButtonDrawable:Landroid/graphics/drawable/Drawable;
Landroid/widget/CompoundButton;->mOnCheckedChangeListener:Landroid/widget/CompoundButton$OnCheckedChangeListener;
Landroid/widget/CursorAdapter;->mChangeObserver:Landroid/widget/CursorAdapter$ChangeObserver;
+Landroid/widget/CursorAdapter;->mContext:Landroid/content/Context;
+Landroid/widget/CursorAdapter;->mCursor:Landroid/database/Cursor;
Landroid/widget/CursorAdapter;->mDataSetObserver:Landroid/database/DataSetObserver;
Landroid/widget/CursorAdapter;->mDataValid:Z
Landroid/widget/CursorAdapter;->mRowIDColumn:I
Landroid/widget/DatePicker;->mDelegate:Landroid/widget/DatePicker$DatePickerDelegate;
+Landroid/widget/DatePicker;->setValidationCallback(Landroid/widget/DatePicker$ValidationCallback;)V
Landroid/widget/DateTimeView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+Landroid/widget/DateTimeView;->setTime(J)V
+Landroid/widget/DateTimeView;->update()V
+Landroid/widget/EdgeEffect;->mGlowScaleY:F
Landroid/widget/EdgeEffect;->mPaint:Landroid/graphics/Paint;
+Landroid/widget/Editor$InputContentType;->privateImeOptions:Ljava/lang/String;
Landroid/widget/Editor;->invalidateTextDisplayList()V
+Landroid/widget/Editor;->mCreatedWithASelection:Z
Landroid/widget/Editor;->mInsertionControllerEnabled:Z
Landroid/widget/Editor;->mSelectHandleLeft:Landroid/graphics/drawable/Drawable;
Landroid/widget/Editor;->mSelectionControllerEnabled:Z
Landroid/widget/Editor;->mShowCursor:J
Landroid/widget/Editor;->mShowSoftInputOnFocus:Z
+Landroid/widget/ExpandableListView;->GROUP_STATE_SETS:[[I
Landroid/widget/ExpandableListView;->mChildDivider:Landroid/graphics/drawable/Drawable;
+Landroid/widget/ExpandableListView;->mConnector:Landroid/widget/ExpandableListConnector;
Landroid/widget/ExpandableListView;->mGroupIndicator:Landroid/graphics/drawable/Drawable;
+Landroid/widget/ExpandableListView;->mIndicatorLeft:I
+Landroid/widget/ExpandableListView;->mIndicatorRight:I
+Landroid/widget/ExpandableListView;->mOnChildClickListener:Landroid/widget/ExpandableListView$OnChildClickListener;
+Landroid/widget/ExpandableListView;->mOnGroupClickListener:Landroid/widget/ExpandableListView$OnGroupClickListener;
+Landroid/widget/ExpandableListView;->mOnGroupCollapseListener:Landroid/widget/ExpandableListView$OnGroupCollapseListener;
+Landroid/widget/ExpandableListView;->mOnGroupExpandListener:Landroid/widget/ExpandableListView$OnGroupExpandListener;
+Landroid/widget/FastScroller;-><init>(Landroid/widget/AbsListView;I)V
Landroid/widget/FastScroller;->mContainerRect:Landroid/graphics/Rect;
Landroid/widget/FastScroller;->mHeaderCount:I
Landroid/widget/FastScroller;->mLongList:Z
@@ -3348,73 +6434,153 @@
Landroid/widget/FastScroller;->mThumbImage:Landroid/widget/ImageView;
Landroid/widget/FastScroller;->mTrackDrawable:Landroid/graphics/drawable/Drawable;
Landroid/widget/FastScroller;->mTrackImage:Landroid/widget/ImageView;
+Landroid/widget/FastScroller;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
+Landroid/widget/FastScroller;->onSizeChanged(IIII)V
+Landroid/widget/FastScroller;->onTouchEvent(Landroid/view/MotionEvent;)Z
+Landroid/widget/FastScroller;->remove()V
+Landroid/widget/FastScroller;->setState(I)V
+Landroid/widget/Filter;->setDelayer(Landroid/widget/Filter$Delayer;)V
+Landroid/widget/FrameLayout;->mForegroundPaddingBottom:I
+Landroid/widget/FrameLayout;->mForegroundPaddingLeft:I
+Landroid/widget/FrameLayout;->mForegroundPaddingRight:I
+Landroid/widget/FrameLayout;->mForegroundPaddingTop:I
+Landroid/widget/FrameLayout;->mMeasureAllChildren:Z
Landroid/widget/Gallery$FlingRunnable;->startUsingVelocity(I)V
Landroid/widget/Gallery;->fillToGalleryLeft()V
Landroid/widget/Gallery;->fillToGalleryRight()V
+Landroid/widget/Gallery;->getCenterOfGallery()I
+Landroid/widget/Gallery;->getCenterOfView(Landroid/view/View;)I
Landroid/widget/Gallery;->makeAndAddView(IIIZ)Landroid/view/View;
Landroid/widget/Gallery;->mDownTouchPosition:I
Landroid/widget/Gallery;->mDownTouchView:Landroid/view/View;
Landroid/widget/Gallery;->mFlingRunnable:Landroid/widget/Gallery$FlingRunnable;
+Landroid/widget/Gallery;->mGestureDetector:Landroid/view/GestureDetector;
Landroid/widget/Gallery;->moveDirection(I)Z
+Landroid/widget/Gallery;->mSelectedChild:Landroid/view/View;
Landroid/widget/Gallery;->mSpacing:I
+Landroid/widget/Gallery;->trackMotionScroll(I)V
+Landroid/widget/GridLayout;->UNDEFINED_ALIGNMENT:Landroid/widget/GridLayout$Alignment;
Landroid/widget/GridView;->fillDown(II)Landroid/view/View;
Landroid/widget/GridView;->fillUp(II)Landroid/view/View;
Landroid/widget/GridView;->mColumnWidth:I
Landroid/widget/GridView;->mHorizontalSpacing:I
Landroid/widget/GridView;->mNumColumns:I
+Landroid/widget/GridView;->mRequestedColumnWidth:I
Landroid/widget/GridView;->mRequestedHorizontalSpacing:I
Landroid/widget/GridView;->mRequestedNumColumns:I
Landroid/widget/GridView;->mVerticalSpacing:I
+Landroid/widget/GridView;->sequenceScroll(I)Z
+Landroid/widget/HeaderViewListAdapter;->mAdapter:Landroid/widget/ListAdapter;
+Landroid/widget/HeaderViewListAdapter;->mFooterViewInfos:Ljava/util/ArrayList;
+Landroid/widget/HeaderViewListAdapter;->mHeaderViewInfos:Ljava/util/ArrayList;
Landroid/widget/HorizontalScrollView;->mChildToScrollTo:Landroid/view/View;
Landroid/widget/HorizontalScrollView;->mEdgeGlowLeft:Landroid/widget/EdgeEffect;
Landroid/widget/HorizontalScrollView;->mEdgeGlowRight:Landroid/widget/EdgeEffect;
Landroid/widget/HorizontalScrollView;->mIsBeingDragged:Z
+Landroid/widget/HorizontalScrollView;->mLastMotionX:I
Landroid/widget/HorizontalScrollView;->mScroller:Landroid/widget/OverScroller;
+Landroid/widget/HorizontalScrollView;->mVelocityTracker:Landroid/view/VelocityTracker;
+Landroid/widget/HorizontalScrollView;->recycleVelocityTracker()V
Landroid/widget/ImageView;->animateTransform(Landroid/graphics/Matrix;)V
Landroid/widget/ImageView;->mAdjustViewBounds:Z
Landroid/widget/ImageView;->mAlpha:I
+Landroid/widget/ImageView;->mCropToPadding:Z
Landroid/widget/ImageView;->mDrawable:Landroid/graphics/drawable/Drawable;
+Landroid/widget/ImageView;->mDrawableHeight:I
+Landroid/widget/ImageView;->mDrawableWidth:I
Landroid/widget/ImageView;->mDrawMatrix:Landroid/graphics/Matrix;
Landroid/widget/ImageView;->mMaxHeight:I
Landroid/widget/ImageView;->mMaxWidth:I
Landroid/widget/ImageView;->mRecycleableBitmapDrawable:Landroid/graphics/drawable/BitmapDrawable;
Landroid/widget/ImageView;->mResource:I
Landroid/widget/ImageView;->mUri:Landroid/net/Uri;
+Landroid/widget/ImageView;->resolveUri()V
+Landroid/widget/ImageView;->scaleTypeToScaleToFit(Landroid/widget/ImageView$ScaleType;)Landroid/graphics/Matrix$ScaleToFit;
+Landroid/widget/ImageView;->setImageResourceAsync(I)Ljava/lang/Runnable;
+Landroid/widget/ImageView;->setImageURIAsync(Landroid/net/Uri;)Ljava/lang/Runnable;
Landroid/widget/ImageView;->updateDrawable(Landroid/graphics/drawable/Drawable;)V
+Landroid/widget/LinearLayout$LayoutParams;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
+Landroid/widget/LinearLayout;->INDEX_BOTTOM:I
+Landroid/widget/LinearLayout;->INDEX_TOP:I
+Landroid/widget/LinearLayout;->mDivider:Landroid/graphics/drawable/Drawable;
Landroid/widget/LinearLayout;->mGravity:I
+Landroid/widget/LinearLayout;->mMaxAscent:[I
+Landroid/widget/LinearLayout;->mMaxDescent:[I
Landroid/widget/LinearLayout;->mTotalLength:I
Landroid/widget/LinearLayout;->mUseLargestChild:Z
+Landroid/widget/ListPopupWindow;->buildDropDown()I
+Landroid/widget/ListPopupWindow;->mDropDownList:Landroid/widget/DropDownListView;
Landroid/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
Landroid/widget/ListPopupWindow;->setForceIgnoreOutsideTouch(Z)V
+Landroid/widget/ListPopupWindow;->setListItemExpandMax(I)V
+Landroid/widget/ListView;->arrowScroll(I)Z
Landroid/widget/ListView;->fillDown(II)Landroid/view/View;
Landroid/widget/ListView;->fillSpecific(II)Landroid/view/View;
Landroid/widget/ListView;->fillUp(II)Landroid/view/View;
+Landroid/widget/ListView;->makeAndAddView(IIZIZ)Landroid/view/View;
Landroid/widget/ListView;->mAreAllItemsSelectable:Z
+Landroid/widget/ListView;->mDivider:Landroid/graphics/drawable/Drawable;
+Landroid/widget/ListView;->mDividerHeight:I
+Landroid/widget/ListView;->measureHeightOfChildren(IIIII)I
Landroid/widget/ListView;->mFooterViewInfos:Ljava/util/ArrayList;
Landroid/widget/ListView;->mHeaderViewInfos:Ljava/util/ArrayList;
+Landroid/widget/ListView;->scrollListItemsBy(I)V
Landroid/widget/ListView;->setSelectionInt(I)V
+Landroid/widget/ListView;->trackMotionScroll(II)Z
Landroid/widget/MediaController;->mAnchor:Landroid/view/View;
+Landroid/widget/MediaController;->mContext:Landroid/content/Context;
+Landroid/widget/MediaController;->mCurrentTime:Landroid/widget/TextView;
Landroid/widget/MediaController;->mDecor:Landroid/view/View;
Landroid/widget/MediaController;->mDecorLayoutParams:Landroid/view/WindowManager$LayoutParams;
+Landroid/widget/MediaController;->mEndTime:Landroid/widget/TextView;
+Landroid/widget/MediaController;->mFfwdButton:Landroid/widget/ImageButton;
+Landroid/widget/MediaController;->mFfwdListener:Landroid/view/View$OnClickListener;
+Landroid/widget/MediaController;->mPauseButton:Landroid/widget/ImageButton;
+Landroid/widget/MediaController;->mPlayer:Landroid/widget/MediaController$MediaPlayerControl;
+Landroid/widget/MediaController;->mProgress:Landroid/widget/ProgressBar;
+Landroid/widget/MediaController;->mRewButton:Landroid/widget/ImageButton;
+Landroid/widget/MediaController;->mRewListener:Landroid/view/View$OnClickListener;
+Landroid/widget/MediaController;->mRoot:Landroid/view/View;
+Landroid/widget/MediaController;->mSeekListener:Landroid/widget/SeekBar$OnSeekBarChangeListener;
+Landroid/widget/MediaController;->mShowing:Z
+Landroid/widget/MediaController;->mWindow:Landroid/view/Window;
Landroid/widget/MediaController;->mWindowManager:Landroid/view/WindowManager;
+Landroid/widget/MediaController;->updatePausePlay()V
+Landroid/widget/NumberPicker;->changeValueByOne(Z)V
+Landroid/widget/NumberPicker;->getTwoDigitFormatter()Landroid/widget/NumberPicker$Formatter;
Landroid/widget/NumberPicker;->initializeSelectorWheelIndices()V
+Landroid/widget/NumberPicker;->mFlingScroller:Landroid/widget/Scroller;
Landroid/widget/NumberPicker;->mInputText:Landroid/widget/EditText;
+Landroid/widget/NumberPicker;->mMaximumFlingVelocity:I
Landroid/widget/NumberPicker;->mMaxValue:I
+Landroid/widget/NumberPicker;->mMinHeight:I
+Landroid/widget/NumberPicker;->mMinWidth:I
+Landroid/widget/NumberPicker;->mOnValueChangeListener:Landroid/widget/NumberPicker$OnValueChangeListener;
Landroid/widget/NumberPicker;->mSelectionDivider:Landroid/graphics/drawable/Drawable;
Landroid/widget/NumberPicker;->mSelectionDividerHeight:I
+Landroid/widget/NumberPicker;->mSelectorIndices:[I
Landroid/widget/NumberPicker;->mSelectorWheelPaint:Landroid/graphics/Paint;
+Landroid/widget/NumberPicker;->SELECTOR_MIDDLE_ITEM_INDEX:I
+Landroid/widget/NumberPicker;->SELECTOR_WHEEL_ITEM_COUNT:I
Landroid/widget/OverScroller$SplineOverScroller;->mCurrVelocity:F
+Landroid/widget/OverScroller;-><init>(Landroid/content/Context;Landroid/view/animation/Interpolator;Z)V
+Landroid/widget/OverScroller;->extendDuration(I)V
Landroid/widget/OverScroller;->isScrollingInDirection(FF)Z
Landroid/widget/OverScroller;->mScrollerY:Landroid/widget/OverScroller$SplineOverScroller;
+Landroid/widget/OverScroller;->setInterpolator(Landroid/view/animation/Interpolator;)V
+Landroid/widget/PopupMenu;->mContext:Landroid/content/Context;
Landroid/widget/PopupMenu;->mPopup:Lcom/android/internal/view/menu/MenuPopupHelper;
Landroid/widget/PopupWindow;->computeAnimationResource()I
Landroid/widget/PopupWindow;->createPopupLayoutParams(Landroid/os/IBinder;)Landroid/view/WindowManager$LayoutParams;
Landroid/widget/PopupWindow;->invokePopup(Landroid/view/WindowManager$LayoutParams;)V
Landroid/widget/PopupWindow;->mAboveAnchor:Z
+Landroid/widget/PopupWindow;->mAboveAnchorBackgroundDrawable:Landroid/graphics/drawable/Drawable;
Landroid/widget/PopupWindow;->mAnchor:Ljava/lang/ref/WeakReference;
Landroid/widget/PopupWindow;->mAnimationStyle:I
Landroid/widget/PopupWindow;->mBackgroundView:Landroid/view/View;
+Landroid/widget/PopupWindow;->mBelowAnchorBackgroundDrawable:Landroid/graphics/drawable/Drawable;
Landroid/widget/PopupWindow;->mContentView:Landroid/view/View;
+Landroid/widget/PopupWindow;->mContext:Landroid/content/Context;
Landroid/widget/PopupWindow;->mDecorView:Landroid/widget/PopupWindow$PopupDecorView;
Landroid/widget/PopupWindow;->mHeightMode:I
Landroid/widget/PopupWindow;->mIsDropdown:Z
@@ -3422,26 +6588,40 @@
Landroid/widget/PopupWindow;->mLastHeight:I
Landroid/widget/PopupWindow;->mLastWidth:I
Landroid/widget/PopupWindow;->mLayoutInScreen:Z
+Landroid/widget/PopupWindow;->mNotTouchModal:Z
+Landroid/widget/PopupWindow;->mOnDismissListener:Landroid/widget/PopupWindow$OnDismissListener;
Landroid/widget/PopupWindow;->mOnScrollChangedListener:Landroid/view/ViewTreeObserver$OnScrollChangedListener;
Landroid/widget/PopupWindow;->mOverlapAnchor:Z
Landroid/widget/PopupWindow;->mTouchInterceptor:Landroid/view/View$OnTouchListener;
Landroid/widget/PopupWindow;->mWidthMode:I
Landroid/widget/PopupWindow;->mWindowLayoutType:I
+Landroid/widget/PopupWindow;->mWindowManager:Landroid/view/WindowManager;
Landroid/widget/PopupWindow;->preparePopup(Landroid/view/WindowManager$LayoutParams;)V
+Landroid/widget/PopupWindow;->setAllowScrollingAnchorParent(Z)V
Landroid/widget/PopupWindow;->setClipToScreenEnabled(Z)V
Landroid/widget/PopupWindow;->setEpicenterBounds(Landroid/graphics/Rect;)V
Landroid/widget/PopupWindow;->setLayoutInScreenEnabled(Z)V
Landroid/widget/PopupWindow;->setLayoutInsetDecor(Z)V
Landroid/widget/PopupWindow;->setTouchModal(Z)V
Landroid/widget/PopupWindow;->showAtLocation(Landroid/os/IBinder;III)V
+Landroid/widget/PopupWindow;->updateAboveAnchor(Z)V
Landroid/widget/ProgressBar;->mCurrentDrawable:Landroid/graphics/drawable/Drawable;
Landroid/widget/ProgressBar;->mDuration:I
Landroid/widget/ProgressBar;->mIndeterminate:Z
Landroid/widget/ProgressBar;->mMaxHeight:I
Landroid/widget/ProgressBar;->mMinHeight:I
+Landroid/widget/ProgressBar;->mMinWidth:I
+Landroid/widget/ProgressBar;->mMirrorForRtl:Z
Landroid/widget/ProgressBar;->mOnlyIndeterminate:Z
Landroid/widget/ProgressBar;->setProgressInternal(IZZ)Z
+Landroid/widget/ProgressBar;->startAnimation()V
Landroid/widget/ProgressBar;->stopAnimation()V
+Landroid/widget/ProgressBar;->tileify(Landroid/graphics/drawable/Drawable;Z)Landroid/graphics/drawable/Drawable;
+Landroid/widget/QuickContactBadge;->mOverlay:Landroid/graphics/drawable/Drawable;
+Landroid/widget/RadioGroup;->mChildOnCheckedChangeListener:Landroid/widget/CompoundButton$OnCheckedChangeListener;
+Landroid/widget/RadioGroup;->mOnCheckedChangeListener:Landroid/widget/RadioGroup$OnCheckedChangeListener;
+Landroid/widget/RatingBar;->mOnRatingBarChangeListener:Landroid/widget/RatingBar$OnRatingBarChangeListener;
+Landroid/widget/RelativeLayout$DependencyGraph$Node;-><init>()V
Landroid/widget/RelativeLayout$LayoutParams;->mBottom:I
Landroid/widget/RelativeLayout$LayoutParams;->mLeft:I
Landroid/widget/RelativeLayout$LayoutParams;->mRight:I
@@ -3452,11 +6632,14 @@
Landroid/widget/RemoteViews$BitmapCache;->mBitmaps:Ljava/util/ArrayList;
Landroid/widget/RemoteViews$BitmapReflectionAction;->bitmap:Landroid/graphics/Bitmap;
Landroid/widget/RemoteViews$BitmapReflectionAction;->methodName:Ljava/lang/String;
+Landroid/widget/RemoteViews$OnClickHandler;-><init>()V
+Landroid/widget/RemoteViews$OnClickHandler;->onClickHandler(Landroid/view/View;Landroid/app/PendingIntent;Landroid/content/Intent;)Z
Landroid/widget/RemoteViews$ReflectionAction;->methodName:Ljava/lang/String;
Landroid/widget/RemoteViews$ReflectionAction;->value:Ljava/lang/Object;
Landroid/widget/RemoteViews$SetOnClickPendingIntent;->pendingIntent:Landroid/app/PendingIntent;
Landroid/widget/RemoteViews$SetPendingIntentTemplate;->pendingIntentTemplate:Landroid/app/PendingIntent;
Landroid/widget/RemoteViews$ViewGroupActionAdd;->mNestedViews:Landroid/widget/RemoteViews;
+Landroid/widget/RemoteViews;->addView(ILandroid/widget/RemoteViews;I)V
Landroid/widget/RemoteViews;->estimateMemoryUsage()I
Landroid/widget/RemoteViews;->mActions:Ljava/util/ArrayList;
Landroid/widget/RemoteViews;->mApplication:Landroid/content/pm/ApplicationInfo;
@@ -3464,61 +6647,178 @@
Landroid/widget/RemoteViews;->mergeRemoteViews(Landroid/widget/RemoteViews;)V
Landroid/widget/RemoteViews;->mLayoutId:I
Landroid/widget/RemoteViews;->mPortrait:Landroid/widget/RemoteViews;
+Landroid/widget/RemoteViews;->setRemoteAdapter(ILjava/util/ArrayList;I)V
+Landroid/widget/RemoteViewsAdapter;->getRemoteViewsServiceIntent()Landroid/content/Intent;
+Landroid/widget/RemoteViewsAdapter;->isDataReady()Z
Landroid/widget/RemoteViewsAdapter;->mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache;
Landroid/widget/RemoteViewsAdapter;->mWorkerThread:Landroid/os/HandlerThread;
+Landroid/widget/RemoteViewsAdapter;->saveRemoteViewsCache()V
+Landroid/widget/RemoteViewsAdapter;->setRemoteViewsOnClickHandler(Landroid/widget/RemoteViews$OnClickHandler;)V
+Landroid/widget/RemoteViewsAdapter;->setVisibleRangeHint(II)V
Landroid/widget/ScrollBarDrawable;->mVerticalThumb:Landroid/graphics/drawable/Drawable;
Landroid/widget/ScrollBarDrawable;->setHorizontalThumbDrawable(Landroid/graphics/drawable/Drawable;)V
Landroid/widget/ScrollBarDrawable;->setVerticalThumbDrawable(Landroid/graphics/drawable/Drawable;)V
+Landroid/widget/Scroller;->DECELERATION_RATE:F
+Landroid/widget/Scroller;->INFLEXION:F
+Landroid/widget/Scroller;->mDeceleration:F
+Landroid/widget/Scroller;->mDuration:I
Landroid/widget/Scroller;->mInterpolator:Landroid/view/animation/Interpolator;
+Landroid/widget/Scroller;->mPhysicalCoeff:F
+Landroid/widget/ScrollView;->canScroll()Z
+Landroid/widget/ScrollView;->endDrag()V
Landroid/widget/ScrollView;->mChildToScrollTo:Landroid/view/View;
Landroid/widget/ScrollView;->mEdgeGlowBottom:Landroid/widget/EdgeEffect;
Landroid/widget/ScrollView;->mEdgeGlowTop:Landroid/widget/EdgeEffect;
+Landroid/widget/ScrollView;->mFlingStrictSpan:Landroid/os/StrictMode$Span;
Landroid/widget/ScrollView;->mIsBeingDragged:Z
+Landroid/widget/ScrollView;->mLastMotionY:I
+Landroid/widget/ScrollView;->mLastScroll:J
Landroid/widget/ScrollView;->mMinimumVelocity:I
Landroid/widget/ScrollView;->mOverflingDistance:I
Landroid/widget/ScrollView;->mOverscrollDistance:I
Landroid/widget/ScrollView;->mScroller:Landroid/widget/OverScroller;
+Landroid/widget/ScrollView;->mVelocityTracker:Landroid/view/VelocityTracker;
Landroid/widget/SearchView$SearchAutoComplete;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+Landroid/widget/SearchView;->mClearingFocus:Z
Landroid/widget/SearchView;->mCloseButton:Landroid/widget/ImageView;
+Landroid/widget/SearchView;->mCollapsedImeOptions:I
+Landroid/widget/SearchView;->mExpandedInActionView:Z
+Landroid/widget/SearchView;->mIconified:Z
+Landroid/widget/SearchView;->mIconifiedByDefault:Z
+Landroid/widget/SearchView;->mOnClickListener:Landroid/view/View$OnClickListener;
+Landroid/widget/SearchView;->mOnItemClickListener:Landroid/widget/AdapterView$OnItemClickListener;
+Landroid/widget/SearchView;->mOnQueryChangeListener:Landroid/widget/SearchView$OnQueryTextListener;
Landroid/widget/SearchView;->mSearchButton:Landroid/widget/ImageView;
+Landroid/widget/SearchView;->mSearchEditFrame:Landroid/view/View;
+Landroid/widget/SearchView;->mSearchHintIcon:Landroid/graphics/drawable/Drawable;
Landroid/widget/SearchView;->mSearchPlate:Landroid/view/View;
Landroid/widget/SearchView;->mSearchSrcTextView:Landroid/widget/SearchView$SearchAutoComplete;
+Landroid/widget/SearchView;->mSubmitArea:Landroid/view/View;
+Landroid/widget/SearchView;->mSuggestionsAdapter:Landroid/widget/CursorAdapter;
+Landroid/widget/SearchView;->mUserQuery:Ljava/lang/CharSequence;
+Landroid/widget/SearchView;->mVoiceButton:Landroid/widget/ImageView;
+Landroid/widget/SearchView;->mVoiceButtonEnabled:Z
Landroid/widget/SearchView;->onCloseClicked()V
Landroid/widget/SearchView;->setQuery(Ljava/lang/CharSequence;)V
+Landroid/widget/SearchView;->updateSubmitArea()V
+Landroid/widget/SearchView;->updateSubmitButton(Z)V
+Landroid/widget/SearchView;->updateViewsVisibility(Z)V
+Landroid/widget/SeekBar;->mOnSeekBarChangeListener:Landroid/widget/SeekBar$OnSeekBarChangeListener;
+Landroid/widget/SeekBar;->onProgressRefresh(FZI)V
+Landroid/widget/SimpleCursorAdapter;->mFrom:[I
+Landroid/widget/SimpleCursorAdapter;->mTo:[I
Landroid/widget/SlidingDrawer;->mTopOffset:I
+Landroid/widget/SlidingDrawer;->mTouchDelta:I
+Landroid/widget/SlidingDrawer;->mTracking:Z
+Landroid/widget/SlidingDrawer;->mVelocityTracker:Landroid/view/VelocityTracker;
+Landroid/widget/SlidingDrawer;->prepareContent()V
+Landroid/widget/SlidingDrawer;->prepareTracking(I)V
+Landroid/widget/Spinner$DialogPopup;->isShowing()Z
+Landroid/widget/Spinner$SpinnerPopup;->isShowing()Z
+Landroid/widget/Spinner;->mForwardingListener:Landroid/widget/ForwardingListener;
Landroid/widget/Spinner;->mPopup:Landroid/widget/Spinner$SpinnerPopup;
+Landroid/widget/Spinner;->setOnItemClickListenerInt(Landroid/widget/AdapterView$OnItemClickListener;)V
+Landroid/widget/Switch;->cancelPositionAnimator()V
+Landroid/widget/Switch;->mOffLayout:Landroid/text/Layout;
+Landroid/widget/Switch;->mOnLayout:Landroid/text/Layout;
+Landroid/widget/Switch;->mSwitchHeight:I
+Landroid/widget/Switch;->mSwitchMinWidth:I
Landroid/widget/Switch;->mThumbDrawable:Landroid/graphics/drawable/Drawable;
+Landroid/widget/Switch;->mThumbWidth:I
Landroid/widget/Switch;->mTrackDrawable:Landroid/graphics/drawable/Drawable;
+Landroid/widget/Switch;->setThumbPosition(F)V
Landroid/widget/TabHost$IntentContentStrategy;->getContentView()Landroid/view/View;
Landroid/widget/TabHost$IntentContentStrategy;->tabClosed()V
Landroid/widget/TabHost$TabSpec;->mContentStrategy:Landroid/widget/TabHost$ContentStrategy;
Landroid/widget/TabHost$TabSpec;->mIndicatorStrategy:Landroid/widget/TabHost$IndicatorStrategy;
Landroid/widget/TabHost;->mCurrentTab:I
+Landroid/widget/TabHost;->mOnTabChangeListener:Landroid/widget/TabHost$OnTabChangeListener;
Landroid/widget/TabHost;->mTabSpecs:Ljava/util/List;
Landroid/widget/TabWidget;->mDrawBottomStrips:Z
Landroid/widget/TabWidget;->mSelectedTab:I
Landroid/widget/TabWidget;->setTabSelectionListener(Landroid/widget/TabWidget$OnTabSelectionChanged;)V
+Landroid/widget/TextClock;->getFormat()Ljava/lang/CharSequence;
+Landroid/widget/TextClock;->onTimeChanged()V
+Landroid/widget/TextView$SavedState;->text:Ljava/lang/CharSequence;
Landroid/widget/TextView;->assumeLayout()V
+Landroid/widget/TextView;->bringTextIntoView()Z
+Landroid/widget/TextView;->checkForRelayout()V
+Landroid/widget/TextView;->compressText(F)Z
Landroid/widget/TextView;->createEditorIfNeeded()V
+Landroid/widget/TextView;->deleteText_internal(II)V
+Landroid/widget/TextView;->getHintLayout()Landroid/text/Layout;
Landroid/widget/TextView;->getHorizontallyScrolling()Z
Landroid/widget/TextView;->getIterableTextForAccessibility()Ljava/lang/CharSequence;
+Landroid/widget/TextView;->getLayoutAlignment()Landroid/text/Layout$Alignment;
+Landroid/widget/TextView;->getLineAtCoordinate(F)I
+Landroid/widget/TextView;->getTextDirectionHeuristic()Landroid/text/TextDirectionHeuristic;
+Landroid/widget/TextView;->getTextForAccessibility()Ljava/lang/CharSequence;
+Landroid/widget/TextView;->getTextServicesLocale(Z)Ljava/util/Locale;
+Landroid/widget/TextView;->getUpdatedHighlightPath()Landroid/graphics/Path;
+Landroid/widget/TextView;->getVerticalOffset(Z)I
Landroid/widget/TextView;->isSingleLine()Z
+Landroid/widget/TextView;->isTextEditable()Z
Landroid/widget/TextView;->LINES:I
+Landroid/widget/TextView;->makeNewLayout(IILandroid/text/BoringLayout$Metrics;Landroid/text/BoringLayout$Metrics;IZ)V
+Landroid/widget/TextView;->mAllowTransformationLengthChange:Z
+Landroid/widget/TextView;->mBoring:Landroid/text/BoringLayout$Metrics;
+Landroid/widget/TextView;->mBufferType:Landroid/widget/TextView$BufferType;
+Landroid/widget/TextView;->mChangeWatcher:Landroid/widget/TextView$ChangeWatcher;
+Landroid/widget/TextView;->mCharWrapper:Landroid/widget/TextView$CharWrapper;
Landroid/widget/TextView;->mCursorDrawableRes:I
Landroid/widget/TextView;->mCurTextColor:I
+Landroid/widget/TextView;->mDesiredHeightAtMeasure:I
+Landroid/widget/TextView;->mDrawables:Landroid/widget/TextView$Drawables;
+Landroid/widget/TextView;->mEditableFactory:Landroid/text/Editable$Factory;
Landroid/widget/TextView;->mEditor:Landroid/widget/Editor;
+Landroid/widget/TextView;->mGravity:I
+Landroid/widget/TextView;->mHighlightColor:I
Landroid/widget/TextView;->mHighlightPaint:Landroid/graphics/Paint;
+Landroid/widget/TextView;->mHighlightPathBogus:Z
+Landroid/widget/TextView;->mHintBoring:Landroid/text/BoringLayout$Metrics;
+Landroid/widget/TextView;->mHintLayout:Landroid/text/Layout;
+Landroid/widget/TextView;->mHorizontallyScrolling:Z
+Landroid/widget/TextView;->mIncludePad:Z
Landroid/widget/TextView;->mLayout:Landroid/text/Layout;
Landroid/widget/TextView;->mListeners:Ljava/util/ArrayList;
Landroid/widget/TextView;->mMarquee:Landroid/widget/TextView$Marquee;
+Landroid/widget/TextView;->mMarqueeFadeMode:I
Landroid/widget/TextView;->mMaximum:I
Landroid/widget/TextView;->mMaxMode:I
+Landroid/widget/TextView;->mMaxWidth:I
+Landroid/widget/TextView;->mMaxWidthMode:I
+Landroid/widget/TextView;->mMinimum:I
+Landroid/widget/TextView;->mMinWidth:I
+Landroid/widget/TextView;->mMinWidthMode:I
+Landroid/widget/TextView;->mOldMaximum:I
+Landroid/widget/TextView;->mOldMaxMode:I
+Landroid/widget/TextView;->mRestartMarquee:Z
+Landroid/widget/TextView;->mSavedHintLayout:Landroid/text/BoringLayout;
+Landroid/widget/TextView;->mSavedLayout:Landroid/text/BoringLayout;
+Landroid/widget/TextView;->mSavedMarqueeModeLayout:Landroid/text/Layout;
+Landroid/widget/TextView;->mShadowDx:F
+Landroid/widget/TextView;->mShadowDy:F
Landroid/widget/TextView;->mShadowRadius:F
Landroid/widget/TextView;->mSingleLine:Z
+Landroid/widget/TextView;->mSpacingAdd:F
+Landroid/widget/TextView;->mSpacingMult:F
+Landroid/widget/TextView;->mSpannableFactory:Landroid/text/Spannable$Factory;
Landroid/widget/TextView;->mText:Ljava/lang/CharSequence;
+Landroid/widget/TextView;->mTextDir:Landroid/text/TextDirectionHeuristic;
Landroid/widget/TextView;->mTextPaint:Landroid/text/TextPaint;
Landroid/widget/TextView;->mTextSelectHandleLeftRes:I
+Landroid/widget/TextView;->mTextSelectHandleRes:I
+Landroid/widget/TextView;->mTextSelectHandleRightRes:I
+Landroid/widget/TextView;->mTransformed:Ljava/lang/CharSequence;
+Landroid/widget/TextView;->mUserSetTextScaleX:Z
+Landroid/widget/TextView;->nullLayouts()V
+Landroid/widget/TextView;->setInputType(IZ)V
Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;Landroid/widget/TextView$BufferType;ZI)V
+Landroid/widget/TextView;->startMarquee()V
+Landroid/widget/TextView;->stopTextActionMode()V
+Landroid/widget/TextView;->viewportToContentVerticalOffset()I
+Landroid/widget/TimePicker;->mDelegate:Landroid/widget/TimePicker$TimePickerDelegate;
+Landroid/widget/Toast$TN;->handleHide()V
Landroid/widget/Toast$TN;->mGravity:I
Landroid/widget/Toast$TN;->mNextView:Landroid/view/View;
Landroid/widget/Toast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;
@@ -3530,19 +6830,56 @@
Landroid/widget/Toast;->mDuration:I
Landroid/widget/Toast;->mTN:Landroid/widget/Toast$TN;
Landroid/widget/Toast;->sService:Landroid/app/INotificationManager;
+Landroid/widget/Toolbar;->mNavButtonView:Landroid/widget/ImageButton;
+Landroid/widget/Toolbar;->mTitleMarginBottom:I
+Landroid/widget/Toolbar;->mTitleMarginEnd:I
+Landroid/widget/Toolbar;->mTitleMarginStart:I
+Landroid/widget/Toolbar;->mTitleMarginTop:I
+Landroid/widget/Toolbar;->mTitleTextView:Landroid/widget/TextView;
Landroid/widget/VideoView2$OnViewTypeChangedListener;->onViewTypeChanged(Landroid/view/View;I)V
Landroid/widget/VideoView2;->getMediaController()Landroid/media/session/MediaController;
Landroid/widget/VideoView2;->setOnViewTypeChangedListener(Landroid/widget/VideoView2$OnViewTypeChangedListener;)V
Landroid/widget/VideoView2;->setVideoPath(Ljava/lang/String;)V
Landroid/widget/VideoView;->mCurrentBufferPercentage:I
+Landroid/widget/VideoView;->mCurrentState:I
+Landroid/widget/VideoView;->mErrorListener:Landroid/media/MediaPlayer$OnErrorListener;
+Landroid/widget/VideoView;->mHeaders:Ljava/util/Map;
Landroid/widget/VideoView;->mMediaController:Landroid/widget/MediaController;
+Landroid/widget/VideoView;->mMediaPlayer:Landroid/media/MediaPlayer;
+Landroid/widget/VideoView;->mPreparedListener:Landroid/media/MediaPlayer$OnPreparedListener;
Landroid/widget/VideoView;->mSHCallback:Landroid/view/SurfaceHolder$Callback;
+Landroid/widget/VideoView;->mSurfaceHolder:Landroid/view/SurfaceHolder;
+Landroid/widget/VideoView;->mTargetState:I
Landroid/widget/VideoView;->mUri:Landroid/net/Uri;
Landroid/widget/VideoView;->mVideoHeight:I
Landroid/widget/VideoView;->mVideoWidth:I
+Landroid/widget/VideoView;->release(Z)V
+Landroid/widget/VideoView;->STATE_IDLE:I
Landroid/widget/ViewAnimator;->mFirstTime:Z
Landroid/widget/ViewAnimator;->mWhichChild:I
+Landroid/widget/ViewAnimator;->showOnly(IZ)V
Landroid/widget/ViewFlipper;->mUserPresent:Z
+Landroid/widget/ViewFlipper;->updateRunning(Z)V
+Landroid/widget/ZoomControls;->mZoomIn:Landroid/widget/ZoomButton;
+Landroid/widget/ZoomControls;->mZoomOut:Landroid/widget/ZoomButton;
+Lcom/android/ims/ImsConfigListener$Stub;-><init>()V
+Lcom/android/ims/internal/IImsCallSession$Stub;-><init>()V
+Lcom/android/ims/internal/IImsCallSession$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsCallSession;
+Lcom/android/ims/internal/IImsConfig$Stub;-><init>()V
+Lcom/android/ims/internal/IImsEcbm$Stub;-><init>()V
+Lcom/android/ims/internal/IImsRegistrationListener;->registrationConnected()V
+Lcom/android/ims/internal/IImsService$Stub;-><init>()V
+Lcom/android/ims/internal/IImsService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsService;
+Lcom/android/ims/internal/IImsUt$Stub;-><init>()V
+Lcom/android/ims/internal/IImsVideoCallCallback;->changeCallDataUsage(J)V
+Lcom/android/ims/internal/IImsVideoCallCallback;->changeCameraCapabilities(Landroid/telecom/VideoProfile$CameraCapabilities;)V
+Lcom/android/ims/internal/IImsVideoCallCallback;->changePeerDimensions(II)V
+Lcom/android/ims/internal/IImsVideoCallCallback;->changeVideoQuality(I)V
+Lcom/android/ims/internal/IImsVideoCallCallback;->handleCallSessionEvent(I)V
+Lcom/android/ims/internal/IImsVideoCallCallback;->receiveSessionModifyRequest(Landroid/telecom/VideoProfile;)V
+Lcom/android/ims/internal/IImsVideoCallCallback;->receiveSessionModifyResponse(ILandroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V
+Lcom/android/ims/internal/IImsVideoCallProvider$Stub;-><init>()V
+Lcom/android/ims/internal/IImsVideoCallProvider;->setCallback(Lcom/android/ims/internal/IImsVideoCallCallback;)V
Lcom/android/ims/internal/uce/common/CapInfo;-><init>()V
Lcom/android/ims/internal/uce/common/CapInfo;->setCapTimestamp(J)V
Lcom/android/ims/internal/uce/common/CapInfo;->setCdViaPresenceSupported(Z)V
@@ -3611,22 +6948,119 @@
Lcom/android/ims/internal/uce/presence/PresTupleInfo;->setFeatureTag(Ljava/lang/String;)V
Lcom/android/ims/internal/uce/presence/PresTupleInfo;->setTimestamp(Ljava/lang/String;)V
Lcom/android/ims/internal/uce/uceservice/IUceListener$Stub;-><init>()V
+Lcom/android/internal/app/AlertController$AlertParams;-><init>(Landroid/content/Context;)V
+Lcom/android/internal/app/AlertController$AlertParams;->apply(Lcom/android/internal/app/AlertController;)V
+Lcom/android/internal/app/AlertController$AlertParams;->mAdapter:Landroid/widget/ListAdapter;
+Lcom/android/internal/app/AlertController$AlertParams;->mCancelable:Z
+Lcom/android/internal/app/AlertController$AlertParams;->mCheckedItem:I
+Lcom/android/internal/app/AlertController$AlertParams;->mCheckedItems:[Z
+Lcom/android/internal/app/AlertController$AlertParams;->mContext:Landroid/content/Context;
+Lcom/android/internal/app/AlertController$AlertParams;->mCursor:Landroid/database/Cursor;
+Lcom/android/internal/app/AlertController$AlertParams;->mCustomTitleView:Landroid/view/View;
+Lcom/android/internal/app/AlertController$AlertParams;->mIcon:Landroid/graphics/drawable/Drawable;
+Lcom/android/internal/app/AlertController$AlertParams;->mInflater:Landroid/view/LayoutInflater;
+Lcom/android/internal/app/AlertController$AlertParams;->mIsCheckedColumn:Ljava/lang/String;
+Lcom/android/internal/app/AlertController$AlertParams;->mIsMultiChoice:Z
+Lcom/android/internal/app/AlertController$AlertParams;->mIsSingleChoice:Z
+Lcom/android/internal/app/AlertController$AlertParams;->mItems:[Ljava/lang/CharSequence;
+Lcom/android/internal/app/AlertController$AlertParams;->mLabelColumn:Ljava/lang/String;
+Lcom/android/internal/app/AlertController$AlertParams;->mNeutralButtonListener:Landroid/content/DialogInterface$OnClickListener;
+Lcom/android/internal/app/AlertController$AlertParams;->mNeutralButtonText:Ljava/lang/CharSequence;
+Lcom/android/internal/app/AlertController$AlertParams;->mOnCancelListener:Landroid/content/DialogInterface$OnCancelListener;
+Lcom/android/internal/app/AlertController$AlertParams;->mOnCheckboxClickListener:Landroid/content/DialogInterface$OnMultiChoiceClickListener;
+Lcom/android/internal/app/AlertController$AlertParams;->mOnClickListener:Landroid/content/DialogInterface$OnClickListener;
+Lcom/android/internal/app/AlertController$AlertParams;->mOnDismissListener:Landroid/content/DialogInterface$OnDismissListener;
+Lcom/android/internal/app/AlertController$AlertParams;->mOnItemSelectedListener:Landroid/widget/AdapterView$OnItemSelectedListener;
+Lcom/android/internal/app/AlertController$AlertParams;->mOnKeyListener:Landroid/content/DialogInterface$OnKeyListener;
+Lcom/android/internal/app/AlertController$RecycleListView;-><init>(Landroid/content/Context;)V
Lcom/android/internal/app/AlertController$RecycleListView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+Lcom/android/internal/app/AlertController;-><init>(Landroid/content/Context;Landroid/content/DialogInterface;Landroid/view/Window;)V
+Lcom/android/internal/app/AlertController;->getListView()Landroid/widget/ListView;
+Lcom/android/internal/app/AlertController;->installContent()V
Lcom/android/internal/app/AlertController;->mCustomTitleView:Landroid/view/View;
Lcom/android/internal/app/AlertController;->mForceInverseBackground:Z
Lcom/android/internal/app/AlertController;->mTitle:Ljava/lang/CharSequence;
Lcom/android/internal/app/AlertController;->mView:Landroid/view/View;
+Lcom/android/internal/app/AlertController;->onKeyDown(ILandroid/view/KeyEvent;)Z
+Lcom/android/internal/app/AlertController;->onKeyUp(ILandroid/view/KeyEvent;)Z
+Lcom/android/internal/app/AlertController;->setButton(ILjava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;Landroid/os/Message;)V
+Lcom/android/internal/app/AlertController;->setCustomTitle(Landroid/view/View;)V
+Lcom/android/internal/app/AlertController;->setIcon(I)V
+Lcom/android/internal/app/AlertController;->setIcon(Landroid/graphics/drawable/Drawable;)V
+Lcom/android/internal/app/AlertController;->setMessage(Ljava/lang/CharSequence;)V
+Lcom/android/internal/app/AlertController;->setTitle(Ljava/lang/CharSequence;)V
+Lcom/android/internal/app/AlertController;->setView(Landroid/view/View;)V
Lcom/android/internal/app/IAppOpsService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->checkOperation(IILjava/lang/String;)I
Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->setMode(IILjava/lang/String;I)V
Lcom/android/internal/app/IAppOpsService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IAppOpsService;
+Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_checkAudioOperation:I
+Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_checkOperation:I
+Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_checkPackage:I
+Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_finishOperation:I
+Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_getOpsForPackage:I
+Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_getPackagesForOps:I
+Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_noteOperation:I
+Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_noteProxyOperation:I
+Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_removeUser:I
+Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_resetAllModes:I
+Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_setAudioRestriction:I
+Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_setMode:I
+Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_setUidMode:I
+Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_setUserRestriction:I
+Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_setUserRestrictions:I
+Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_startOperation:I
+Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_startWatchingMode:I
+Lcom/android/internal/app/IAppOpsService$Stub;->TRANSACTION_stopWatchingMode:I
+Lcom/android/internal/app/IAppOpsService;->getOpsForPackage(ILjava/lang/String;[I)Ljava/util/List;
+Lcom/android/internal/app/IAppOpsService;->getPackagesForOps([I)Ljava/util/List;
+Lcom/android/internal/app/IAppOpsService;->resetAllModes(ILjava/lang/String;)V
+Lcom/android/internal/app/IAppOpsService;->setMode(IILjava/lang/String;I)V
Lcom/android/internal/app/IBatteryStats$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+Lcom/android/internal/app/IBatteryStats$Stub;-><init>()V
Lcom/android/internal/app/IBatteryStats$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IBatteryStats;
+Lcom/android/internal/app/IBatteryStats;->computeChargeTimeRemaining()J
+Lcom/android/internal/app/IBatteryStats;->getAwakeTimeBattery()J
Lcom/android/internal/app/IBatteryStats;->getStatistics()[B
+Lcom/android/internal/app/IBatteryStats;->isCharging()Z
+Lcom/android/internal/app/IBatteryStats;->noteFullWifiLockAcquired(I)V
+Lcom/android/internal/app/IBatteryStats;->noteFullWifiLockReleased(I)V
+Lcom/android/internal/app/IBatteryStats;->notePhoneDataConnectionState(IZ)V
+Lcom/android/internal/app/IBatteryStats;->notePhoneOff()V
+Lcom/android/internal/app/IBatteryStats;->notePhoneOn()V
+Lcom/android/internal/app/IBatteryStats;->notePhoneSignalStrength(Landroid/telephony/SignalStrength;)V
+Lcom/android/internal/app/IBatteryStats;->notePhoneState(I)V
+Lcom/android/internal/app/IBatteryStats;->noteScreenBrightness(I)V
+Lcom/android/internal/app/IBatteryStats;->noteStartSensor(II)V
+Lcom/android/internal/app/IBatteryStats;->noteStopSensor(II)V
+Lcom/android/internal/app/IBatteryStats;->noteUserActivity(II)V
+Lcom/android/internal/app/IBatteryStats;->noteWifiMulticastDisabled(I)V
+Lcom/android/internal/app/IBatteryStats;->noteWifiMulticastEnabled(I)V
+Lcom/android/internal/app/IMediaContainerService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IMediaContainerService;
Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->showSessionFromSession(Landroid/os/IBinder;Landroid/os/Bundle;I)Z
Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IVoiceInteractionManagerService;
Lcom/android/internal/app/IVoiceInteractionManagerService;->getKeyphraseSoundModel(ILjava/lang/String;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;
+Lcom/android/internal/appwidget/IAppWidgetHost;->providerChanged(ILandroid/appwidget/AppWidgetProviderInfo;)V
+Lcom/android/internal/appwidget/IAppWidgetHost;->updateAppWidget(ILandroid/widget/RemoteViews;)V
+Lcom/android/internal/appwidget/IAppWidgetService$Stub;-><init>()V
Lcom/android/internal/appwidget/IAppWidgetService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/appwidget/IAppWidgetService;
+Lcom/android/internal/appwidget/IAppWidgetService$Stub;->TRANSACTION_bindAppWidgetId:I
+Lcom/android/internal/appwidget/IAppWidgetService;->bindAppWidgetId(Ljava/lang/String;IILandroid/content/ComponentName;Landroid/os/Bundle;)Z
+Lcom/android/internal/appwidget/IAppWidgetService;->bindRemoteViewsService(Ljava/lang/String;ILandroid/content/Intent;Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/app/IServiceConnection;I)Z
+Lcom/android/internal/appwidget/IAppWidgetService;->getAppWidgetIds(Landroid/content/ComponentName;)[I
+Lcom/android/internal/backup/IBackupTransport$Stub;-><init>()V
+Lcom/android/internal/backup/IBackupTransport$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/backup/IBackupTransport;
+Lcom/android/internal/backup/IBackupTransport;->clearBackupData(Landroid/content/pm/PackageInfo;)I
+Lcom/android/internal/backup/IBackupTransport;->finishBackup()I
+Lcom/android/internal/backup/IBackupTransport;->finishRestore()V
+Lcom/android/internal/backup/IBackupTransport;->getRestoreData(Landroid/os/ParcelFileDescriptor;)I
+Lcom/android/internal/backup/IBackupTransport;->initializeDevice()I
+Lcom/android/internal/backup/IBackupTransport;->requestBackupTime()J
+Lcom/android/internal/backup/IBackupTransport;->startRestore(J[Landroid/content/pm/PackageInfo;)I
+Lcom/android/internal/backup/IBackupTransport;->transportDirName()Ljava/lang/String;
+Lcom/android/internal/content/PackageMonitor;->isPackageDisappearing(Ljava/lang/String;)I
+Lcom/android/internal/content/PackageMonitor;->isPackageModified(Ljava/lang/String;)Z
+Lcom/android/internal/content/PackageMonitor;->onPackageChanged(Ljava/lang/String;I[Ljava/lang/String;)Z
Lcom/android/internal/content/PackageMonitor;->onPackageRemoved(Ljava/lang/String;I)V
Lcom/android/internal/content/PackageMonitor;->register(Landroid/content/Context;Landroid/os/Looper;Z)V
Lcom/android/internal/content/ReferrerIntent;-><init>(Landroid/content/Intent;Ljava/lang/String;)V
@@ -3634,29 +7068,82 @@
Lcom/android/internal/location/ILocationProvider$Stub;-><init>()V
Lcom/android/internal/logging/MetricsLogger;-><init>()V
Lcom/android/internal/logging/MetricsLogger;->write(Landroid/metrics/LogMaker;)V
+Lcom/android/internal/net/LegacyVpnInfo;-><init>()V
+Lcom/android/internal/net/LegacyVpnInfo;->CREATOR:Landroid/os/Parcelable$Creator;
+Lcom/android/internal/net/LegacyVpnInfo;->key:Ljava/lang/String;
+Lcom/android/internal/net/LegacyVpnInfo;->state:I
+Lcom/android/internal/net/VpnConfig;-><init>()V
+Lcom/android/internal/net/VpnProfile;-><init>(Landroid/os/Parcel;)V
+Lcom/android/internal/net/VpnProfile;->decode(Ljava/lang/String;[B)Lcom/android/internal/net/VpnProfile;
+Lcom/android/internal/net/VpnProfile;->key:Ljava/lang/String;
+Lcom/android/internal/net/VpnProfile;->name:Ljava/lang/String;
+Lcom/android/internal/net/VpnProfile;->saveLogin:Z
+Lcom/android/internal/net/VpnProfile;->server:Ljava/lang/String;
+Lcom/android/internal/net/VpnProfile;->type:I
+Lcom/android/internal/net/VpnProfile;->username:Ljava/lang/String;
+Lcom/android/internal/os/AtomicFile;-><init>(Ljava/io/File;)V
+Lcom/android/internal/os/AtomicFile;->failWrite(Ljava/io/FileOutputStream;)V
+Lcom/android/internal/os/AtomicFile;->finishWrite(Ljava/io/FileOutputStream;)V
+Lcom/android/internal/os/AtomicFile;->getBaseFile()Ljava/io/File;
+Lcom/android/internal/os/AtomicFile;->openAppend()Ljava/io/FileOutputStream;
+Lcom/android/internal/os/AtomicFile;->openRead()Ljava/io/FileInputStream;
+Lcom/android/internal/os/AtomicFile;->readFully()[B
+Lcom/android/internal/os/AtomicFile;->startWrite()Ljava/io/FileOutputStream;
+Lcom/android/internal/os/AtomicFile;->truncate()V
+Lcom/android/internal/os/BatterySipper$DrainType;->APP:Lcom/android/internal/os/BatterySipper$DrainType;
+Lcom/android/internal/os/BatterySipper$DrainType;->values()[Lcom/android/internal/os/BatterySipper$DrainType;
Lcom/android/internal/os/BatterySipper;-><init>(Lcom/android/internal/os/BatterySipper$DrainType;Landroid/os/BatteryStats$Uid;D)V
Lcom/android/internal/os/BatterySipper;->add(Lcom/android/internal/os/BatterySipper;)V
+Lcom/android/internal/os/BatterySipper;->cpuFgTimeMs:J
+Lcom/android/internal/os/BatterySipper;->cpuPowerMah:D
+Lcom/android/internal/os/BatterySipper;->cpuTimeMs:J
Lcom/android/internal/os/BatterySipper;->drainType:Lcom/android/internal/os/BatterySipper$DrainType;
+Lcom/android/internal/os/BatterySipper;->getPackages()[Ljava/lang/String;
Lcom/android/internal/os/BatterySipper;->getUid()I
+Lcom/android/internal/os/BatterySipper;->gpsTimeMs:J
Lcom/android/internal/os/BatterySipper;->mPackages:[Ljava/lang/String;
Lcom/android/internal/os/BatterySipper;->packageWithHighestDrain:Ljava/lang/String;
Lcom/android/internal/os/BatterySipper;->totalPowerMah:D
Lcom/android/internal/os/BatterySipper;->uidObj:Landroid/os/BatteryStats$Uid;
+Lcom/android/internal/os/BatterySipper;->usageTimeMs:J
+Lcom/android/internal/os/BatterySipper;->userId:I
+Lcom/android/internal/os/BatterySipper;->wakeLockTimeMs:J
+Lcom/android/internal/os/BatterySipper;->wifiRunningTimeMs:J
+Lcom/android/internal/os/BatteryStatsHelper;-><init>(Landroid/content/Context;)V
+Lcom/android/internal/os/BatteryStatsHelper;-><init>(Landroid/content/Context;Z)V
Lcom/android/internal/os/BatteryStatsHelper;-><init>(Landroid/content/Context;ZZ)V
+Lcom/android/internal/os/BatteryStatsHelper;->clearStats()V
+Lcom/android/internal/os/BatteryStatsHelper;->create(Landroid/os/Bundle;)V
+Lcom/android/internal/os/BatteryStatsHelper;->getBatteryBroadcast()Landroid/content/Intent;
Lcom/android/internal/os/BatteryStatsHelper;->getMaxPower()D
Lcom/android/internal/os/BatteryStatsHelper;->getStats()Landroid/os/BatteryStats;
Lcom/android/internal/os/BatteryStatsHelper;->getTotalPower()D
+Lcom/android/internal/os/BatteryStatsHelper;->getUsageList()Ljava/util/List;
Lcom/android/internal/os/BatteryStatsHelper;->load()V
Lcom/android/internal/os/BatteryStatsHelper;->mBatteryInfo:Lcom/android/internal/app/IBatteryStats;
Lcom/android/internal/os/BatteryStatsHelper;->mPowerProfile:Lcom/android/internal/os/PowerProfile;
Lcom/android/internal/os/BatteryStatsHelper;->mUsageList:Ljava/util/List;
Lcom/android/internal/os/BatteryStatsHelper;->refreshStats(II)V
+Lcom/android/internal/os/BatteryStatsHelper;->refreshStats(ILandroid/util/SparseArray;)V
+Lcom/android/internal/os/BatteryStatsHelper;->refreshStats(ILjava/util/List;)V
+Lcom/android/internal/os/BatteryStatsHelper;->storeState()V
+Lcom/android/internal/os/BatteryStatsImpl$Counter;->mCount:Ljava/util/concurrent/atomic/AtomicInteger;
+Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->detach()V
Lcom/android/internal/os/BatteryStatsImpl$Timer;->getCountLocked(I)I
Lcom/android/internal/os/BatteryStatsImpl$Timer;->getTotalTimeLocked(JI)J
+Lcom/android/internal/os/BatteryStatsImpl$Timer;->writeTimerToParcel(Landroid/os/Parcel;Lcom/android/internal/os/BatteryStatsImpl$Timer;J)V
+Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getBatteryStats()Lcom/android/internal/os/BatteryStatsImpl;
+Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->startLaunchedLocked()V
+Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->startRunningLocked()V
+Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->stopLaunchedLocked()V
+Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->stopRunningLocked()V
+Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addCpuTimeLocked(II)V
+Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addForegroundTimeLocked(J)V
Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getForegroundTime(I)J
Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getStarts(I)I
Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getSystemTime(I)J
Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getUserTime(I)J
+Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->incStartsLocked()V
Lcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->getHandle()I
Lcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->getSensorTime()Lcom/android/internal/os/BatteryStatsImpl$Timer;
Lcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->getWakeTime(I)Lcom/android/internal/os/BatteryStatsImpl$Timer;
@@ -3666,39 +7153,116 @@
Lcom/android/internal/os/BatteryStatsImpl$Uid;->getWakelockStats()Landroid/util/ArrayMap;
Lcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiRunningTime(JI)J
Lcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiScanTime(JI)J
+Lcom/android/internal/os/BatteryStatsImpl;-><init>(Landroid/os/Parcel;)V
+Lcom/android/internal/os/BatteryStatsImpl;->commitPendingDataToDisk()V
Lcom/android/internal/os/BatteryStatsImpl;->computeBatteryRealtime(JI)J
+Lcom/android/internal/os/BatteryStatsImpl;->computeBatteryTimeRemaining(J)J
Lcom/android/internal/os/BatteryStatsImpl;->computeBatteryUptime(JI)J
Lcom/android/internal/os/BatteryStatsImpl;->CREATOR:Landroid/os/Parcelable$Creator;
+Lcom/android/internal/os/BatteryStatsImpl;->getAwakeTimeBattery()J
+Lcom/android/internal/os/BatteryStatsImpl;->getAwakeTimePlugged()J
Lcom/android/internal/os/BatteryStatsImpl;->getBatteryRealtime(J)J
Lcom/android/internal/os/BatteryStatsImpl;->getDischargeAmount(I)I
+Lcom/android/internal/os/BatteryStatsImpl;->getDischargeAmountScreenOff()I
+Lcom/android/internal/os/BatteryStatsImpl;->getDischargeAmountScreenOn()I
Lcom/android/internal/os/BatteryStatsImpl;->getGlobalWifiRunningTime(JI)J
+Lcom/android/internal/os/BatteryStatsImpl;->getKernelWakelockStats()Ljava/util/Map;
+Lcom/android/internal/os/BatteryStatsImpl;->getNextHistoryLocked(Landroid/os/BatteryStats$HistoryItem;)Z
+Lcom/android/internal/os/BatteryStatsImpl;->getPackageStatsLocked(ILjava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;
+Lcom/android/internal/os/BatteryStatsImpl;->getPhoneDataConnectionCount(II)I
+Lcom/android/internal/os/BatteryStatsImpl;->getPhoneDataConnectionTime(IJI)J
+Lcom/android/internal/os/BatteryStatsImpl;->getPhoneSignalStrengthCount(II)I
+Lcom/android/internal/os/BatteryStatsImpl;->getProcessStatsLocked(ILjava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;
Lcom/android/internal/os/BatteryStatsImpl;->getScreenOnTime(JI)J
+Lcom/android/internal/os/BatteryStatsImpl;->getServiceStatsLocked(ILjava/lang/String;Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;
Lcom/android/internal/os/BatteryStatsImpl;->getUidStats()Landroid/util/SparseArray;
Lcom/android/internal/os/BatteryStatsImpl;->getUidStatsLocked(I)Lcom/android/internal/os/BatteryStatsImpl$Uid;
+Lcom/android/internal/os/BatteryStatsImpl;->isOnBattery()Z
+Lcom/android/internal/os/BatteryStatsImpl;->mFullTimers:Ljava/util/ArrayList;
+Lcom/android/internal/os/BatteryStatsImpl;->mPartialTimers:Ljava/util/ArrayList;
+Lcom/android/internal/os/BatteryStatsImpl;->mWindowTimers:Ljava/util/ArrayList;
+Lcom/android/internal/os/BatteryStatsImpl;->noteAudioOffLocked(I)V
+Lcom/android/internal/os/BatteryStatsImpl;->noteAudioOnLocked(I)V
+Lcom/android/internal/os/BatteryStatsImpl;->noteFullWifiLockAcquiredLocked(I)V
+Lcom/android/internal/os/BatteryStatsImpl;->noteFullWifiLockReleasedLocked(I)V
+Lcom/android/internal/os/BatteryStatsImpl;->notePhoneDataConnectionStateLocked(IZ)V
+Lcom/android/internal/os/BatteryStatsImpl;->notePhoneOffLocked()V
+Lcom/android/internal/os/BatteryStatsImpl;->notePhoneOnLocked()V
+Lcom/android/internal/os/BatteryStatsImpl;->notePhoneSignalStrengthLocked(Landroid/telephony/SignalStrength;)V
+Lcom/android/internal/os/BatteryStatsImpl;->noteScreenBrightnessLocked(I)V
+Lcom/android/internal/os/BatteryStatsImpl;->noteUserActivityLocked(II)V
+Lcom/android/internal/os/BatteryStatsImpl;->noteVideoOffLocked(I)V
+Lcom/android/internal/os/BatteryStatsImpl;->noteVideoOnLocked(I)V
+Lcom/android/internal/os/BatteryStatsImpl;->noteWifiMulticastDisabledLocked(I)V
+Lcom/android/internal/os/BatteryStatsImpl;->noteWifiMulticastEnabledLocked(I)V
+Lcom/android/internal/os/BatteryStatsImpl;->readLocked()V
+Lcom/android/internal/os/BatteryStatsImpl;->removeUidStatsLocked(I)V
Lcom/android/internal/os/BatteryStatsImpl;->startIteratingHistoryLocked()Z
Lcom/android/internal/os/FuseAppLoop;->onCommand(IJJJI[B)V
Lcom/android/internal/os/FuseAppLoop;->onOpen(JJ)[B
+Lcom/android/internal/os/HandlerCaller;->obtainMessage(I)Landroid/os/Message;
+Lcom/android/internal/os/HandlerCaller;->obtainMessageIO(IILjava/lang/Object;)Landroid/os/Message;
+Lcom/android/internal/os/HandlerCaller;->obtainMessageIOO(IILjava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
+Lcom/android/internal/os/HandlerCaller;->obtainMessageO(ILjava/lang/Object;)Landroid/os/Message;
+Lcom/android/internal/os/HandlerCaller;->obtainMessageOO(ILjava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
+Lcom/android/internal/os/HandlerCaller;->obtainMessageOOO(ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
+Lcom/android/internal/os/HandlerCaller;->sendMessage(Landroid/os/Message;)V
Lcom/android/internal/os/IDropBoxManagerService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/os/IDropBoxManagerService;
+Lcom/android/internal/os/IDropBoxManagerService;->getNextEntry(Ljava/lang/String;J)Landroid/os/DropBoxManager$Entry;
Lcom/android/internal/os/PowerProfile;-><init>(Landroid/content/Context;)V
Lcom/android/internal/os/PowerProfile;->getAveragePower(Ljava/lang/String;)D
Lcom/android/internal/os/PowerProfile;->getAveragePower(Ljava/lang/String;I)D
Lcom/android/internal/os/PowerProfile;->getBatteryCapacity()D
+Lcom/android/internal/os/PowerProfile;->getNumCpuClusters()I
+Lcom/android/internal/os/PowerProfile;->getNumSpeedStepsInCpuCluster(I)I
+Lcom/android/internal/os/PowerProfile;->POWER_BLUETOOTH_AT_CMD:Ljava/lang/String;
+Lcom/android/internal/os/PowerProfile;->POWER_BLUETOOTH_ON:Ljava/lang/String;
+Lcom/android/internal/os/PowerProfile;->POWER_CPU_ACTIVE:Ljava/lang/String;
+Lcom/android/internal/os/PowerProfile;->POWER_CPU_IDLE:Ljava/lang/String;
+Lcom/android/internal/os/PowerProfile;->POWER_GPS_ON:Ljava/lang/String;
+Lcom/android/internal/os/PowerProfile;->POWER_RADIO_ACTIVE:Ljava/lang/String;
+Lcom/android/internal/os/PowerProfile;->POWER_RADIO_ON:Ljava/lang/String;
+Lcom/android/internal/os/PowerProfile;->POWER_RADIO_SCANNING:Ljava/lang/String;
+Lcom/android/internal/os/PowerProfile;->POWER_SCREEN_FULL:Ljava/lang/String;
+Lcom/android/internal/os/PowerProfile;->POWER_SCREEN_ON:Ljava/lang/String;
+Lcom/android/internal/os/PowerProfile;->POWER_WIFI_ACTIVE:Ljava/lang/String;
+Lcom/android/internal/os/PowerProfile;->POWER_WIFI_ON:Ljava/lang/String;
+Lcom/android/internal/os/PowerProfile;->POWER_WIFI_SCAN:Ljava/lang/String;
Lcom/android/internal/os/SomeArgs;->arg1:Ljava/lang/Object;
+Lcom/android/internal/os/SomeArgs;->argi2:I
+Lcom/android/internal/os/SomeArgs;->argi3:I
+Lcom/android/internal/policy/IKeyguardService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/policy/IKeyguardService;
+Lcom/android/internal/policy/IKeyguardService;->doKeyguardTimeout(Landroid/os/Bundle;)V
+Lcom/android/internal/policy/IKeyguardService;->setKeyguardEnabled(Z)V
+Lcom/android/internal/policy/IKeyguardStateCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/policy/IKeyguardStateCallback;
+Lcom/android/internal/R$anim;->fade_in:I
Lcom/android/internal/R$array;->config_mobile_hotspot_provision_app:I
+Lcom/android/internal/R$array;->config_sms_enabled_locking_shift_tables:I
+Lcom/android/internal/R$array;->config_sms_enabled_single_shift_tables:I
+Lcom/android/internal/R$array;->config_tether_bluetooth_regexs:I
+Lcom/android/internal/R$array;->config_tether_upstream_types:I
+Lcom/android/internal/R$array;->config_tether_usb_regexs:I
Lcom/android/internal/R$array;->config_tether_wifi_regexs:I
Lcom/android/internal/R$array;->maps_starting_lat_lng:I
Lcom/android/internal/R$array;->maps_starting_zoom:I
Lcom/android/internal/R$attr;->actionBarStyle:I
+Lcom/android/internal/R$attr;->buttonStyle:I
+Lcom/android/internal/R$attr;->description:I
Lcom/android/internal/R$attr;->editTextStyle:I
Lcom/android/internal/R$attr;->mapViewStyle:I
+Lcom/android/internal/R$attr;->popupWindowStyle:I
+Lcom/android/internal/R$attr;->state_above_anchor:I
Lcom/android/internal/R$attr;->state_focused:I
Lcom/android/internal/R$attr;->state_pressed:I
Lcom/android/internal/R$attr;->state_selected:I
Lcom/android/internal/R$attr;->switchStyle:I
+Lcom/android/internal/R$attr;->text:I
+Lcom/android/internal/R$attr;->title:I
Lcom/android/internal/R$attr;->webViewStyle:I
Lcom/android/internal/R$bool;->config_mms_content_disposition_support:I
Lcom/android/internal/R$bool;->config_showNavigationBar:I
Lcom/android/internal/R$dimen;-><init>()V
+Lcom/android/internal/R$dimen;->item_touch_helper_max_drag_scroll_per_frame:I
Lcom/android/internal/R$dimen;->navigation_bar_height:I
Lcom/android/internal/R$dimen;->navigation_bar_height_landscape:I
Lcom/android/internal/R$dimen;->navigation_bar_width:I
@@ -3713,36 +7277,119 @@
Lcom/android/internal/R$drawable;->maps_google_logo:I
Lcom/android/internal/R$drawable;->no_tile_256:I
Lcom/android/internal/R$drawable;->reticle:I
+Lcom/android/internal/R$drawable;->stat_sys_download:I
+Lcom/android/internal/R$id;->account_name:I
+Lcom/android/internal/R$id;->account_type:I
+Lcom/android/internal/R$id;->alertTitle:I
+Lcom/android/internal/R$id;->allow_button:I
Lcom/android/internal/R$id;->amPm:I
+Lcom/android/internal/R$id;->authtoken_type:I
+Lcom/android/internal/R$id;->background:I
+Lcom/android/internal/R$id;->back_button:I
+Lcom/android/internal/R$id;->body:I
+Lcom/android/internal/R$id;->buttonPanel:I
+Lcom/android/internal/R$id;->camera:I
+Lcom/android/internal/R$id;->cancel:I
+Lcom/android/internal/R$id;->clip_children_set_tag:I
+Lcom/android/internal/R$id;->clip_children_tag:I
+Lcom/android/internal/R$id;->clip_to_padding_tag:I
+Lcom/android/internal/R$id;->closeButton:I
+Lcom/android/internal/R$id;->content:I
+Lcom/android/internal/R$id;->contentPanel:I
+Lcom/android/internal/R$id;->custom:I
+Lcom/android/internal/R$id;->customPanel:I
+Lcom/android/internal/R$id;->datePicker:I
Lcom/android/internal/R$id;->day:I
+Lcom/android/internal/R$id;->deny_button:I
+Lcom/android/internal/R$id;->description:I
+Lcom/android/internal/R$id;->edit:I
Lcom/android/internal/R$id;->edittext_container:I
+Lcom/android/internal/R$id;->find_next:I
+Lcom/android/internal/R$id;->find_prev:I
Lcom/android/internal/R$id;->icon:I
+Lcom/android/internal/R$id;->keyboard:I
+Lcom/android/internal/R$id;->keyboardView:I
+Lcom/android/internal/R$id;->line1:I
+Lcom/android/internal/R$id;->list_item:I
+Lcom/android/internal/R$id;->matches:I
+Lcom/android/internal/R$id;->mediacontroller_progress:I
+Lcom/android/internal/R$id;->media_actions:I
Lcom/android/internal/R$id;->message:I
Lcom/android/internal/R$id;->minute:I
Lcom/android/internal/R$id;->month:I
+Lcom/android/internal/R$id;->name:I
+Lcom/android/internal/R$id;->notification_header:I
+Lcom/android/internal/R$id;->ok:I
+Lcom/android/internal/R$id;->overlay:I
+Lcom/android/internal/R$id;->packages_list:I
+Lcom/android/internal/R$id;->package_label:I
+Lcom/android/internal/R$id;->parentPanel:I
+Lcom/android/internal/R$id;->pause:I
+Lcom/android/internal/R$id;->pending_intent_tag:I
+Lcom/android/internal/R$id;->progress:I
+Lcom/android/internal/R$id;->redo:I
+Lcom/android/internal/R$id;->remote_input_tag:I
+Lcom/android/internal/R$id;->right_icon:I
+Lcom/android/internal/R$id;->search_src_text:I
+Lcom/android/internal/R$id;->share:I
Lcom/android/internal/R$id;->shortcut:I
+Lcom/android/internal/R$id;->status_bar_latest_event_content:I
+Lcom/android/internal/R$id;->tabcontent:I
+Lcom/android/internal/R$id;->tabs:I
+Lcom/android/internal/R$id;->text1:I
+Lcom/android/internal/R$id;->text2:I
Lcom/android/internal/R$id;->text:I
Lcom/android/internal/R$id;->time:I
Lcom/android/internal/R$id;->timePicker:I
+Lcom/android/internal/R$id;->time_current:I
Lcom/android/internal/R$id;->title:I
+Lcom/android/internal/R$id;->titleDivider:I
+Lcom/android/internal/R$id;->titleDividerTop:I
Lcom/android/internal/R$id;->title_container:I
+Lcom/android/internal/R$id;->title_icon:I
+Lcom/android/internal/R$id;->title_template:I
+Lcom/android/internal/R$id;->topPanel:I
+Lcom/android/internal/R$id;->up:I
Lcom/android/internal/R$id;->year:I
Lcom/android/internal/R$id;->zoomControls:I
Lcom/android/internal/R$id;->zoomMagnify:I
Lcom/android/internal/R$integer;->config_screenBrightnessDim:I
Lcom/android/internal/R$integer;->config_toastDefaultGravity:I
+Lcom/android/internal/R$interpolator;->accelerate_cubic:I
+Lcom/android/internal/R$interpolator;->decelerate_cubic:I
Lcom/android/internal/R$layout;->notification_template_material_base:I
+Lcom/android/internal/R$layout;->preference_header_item:I
Lcom/android/internal/R$layout;->screen_title:I
+Lcom/android/internal/R$layout;->select_dialog:I
Lcom/android/internal/R$layout;->select_dialog_multichoice:I
Lcom/android/internal/R$layout;->select_dialog_singlechoice:I
+Lcom/android/internal/R$layout;->webview_find:I
Lcom/android/internal/R$layout;->zoom_magnify:I
+Lcom/android/internal/R$plurals;->matches_found:I
+Lcom/android/internal/R$raw;->loaderror:I
+Lcom/android/internal/R$raw;->nodomain:I
Lcom/android/internal/R$string;->byteShort:I
+Lcom/android/internal/R$string;->cancel:I
+Lcom/android/internal/R$string;->enable_explore_by_touch_warning_title:I
Lcom/android/internal/R$string;->gigabyteShort:I
Lcom/android/internal/R$string;->kilobyteShort:I
+Lcom/android/internal/R$string;->map:I
Lcom/android/internal/R$string;->megabyteShort:I
+Lcom/android/internal/R$string;->notification_title:I
+Lcom/android/internal/R$string;->no_matches:I
+Lcom/android/internal/R$string;->ok:I
Lcom/android/internal/R$string;->petabyteShort:I
+Lcom/android/internal/R$string;->redo:I
+Lcom/android/internal/R$string;->share:I
Lcom/android/internal/R$string;->terabyteShort:I
+Lcom/android/internal/R$string;->whichApplication:I
+Lcom/android/internal/R$style;->Animation_DropDownDown:I
+Lcom/android/internal/R$style;->Animation_DropDownUp:I
+Lcom/android/internal/R$style;->Animation_PopupWindow:I
Lcom/android/internal/R$style;->Theme:I
+Lcom/android/internal/R$style;->Theme_Dialog_Alert:I
+Lcom/android/internal/R$style;->Theme_Holo_Light:I
+Lcom/android/internal/R$style;->Theme_Light:I
Lcom/android/internal/R$styleable;-><init>()V
Lcom/android/internal/R$styleable;->AbsListView:[I
Lcom/android/internal/R$styleable;->AbsListView_cacheColorHint:I
@@ -3756,6 +7403,7 @@
Lcom/android/internal/R$styleable;->AbsListView_stackFromBottom:I
Lcom/android/internal/R$styleable;->AbsListView_textFilterEnabled:I
Lcom/android/internal/R$styleable;->AbsListView_transcriptMode:I
+Lcom/android/internal/R$styleable;->AbsSpinner:[I
Lcom/android/internal/R$styleable;->AccountAuthenticator:[I
Lcom/android/internal/R$styleable;->AccountAuthenticator_accountPreferences:I
Lcom/android/internal/R$styleable;->AccountAuthenticator_accountType:I
@@ -3763,8 +7411,14 @@
Lcom/android/internal/R$styleable;->AccountAuthenticator_icon:I
Lcom/android/internal/R$styleable;->AccountAuthenticator_label:I
Lcom/android/internal/R$styleable;->AccountAuthenticator_smallIcon:I
+Lcom/android/internal/R$styleable;->ActionMode:[I
+Lcom/android/internal/R$styleable;->AdapterViewAnimator:[I
+Lcom/android/internal/R$styleable;->AdapterViewFlipper:[I
+Lcom/android/internal/R$styleable;->AlertDialog:[I
+Lcom/android/internal/R$styleable;->AnalogClock:[I
Lcom/android/internal/R$styleable;->AndroidManifest:[I
Lcom/android/internal/R$styleable;->AndroidManifestActivity:[I
+Lcom/android/internal/R$styleable;->AndroidManifestActivityAlias:[I
Lcom/android/internal/R$styleable;->AndroidManifestActivity_allowTaskReparenting:I
Lcom/android/internal/R$styleable;->AndroidManifestActivity_configChanges:I
Lcom/android/internal/R$styleable;->AndroidManifestActivity_description:I
@@ -3798,18 +7452,32 @@
Lcom/android/internal/R$styleable;->AndroidManifestApplication_theme:I
Lcom/android/internal/R$styleable;->AndroidManifestApplication_uiOptions:I
Lcom/android/internal/R$styleable;->AndroidManifestData:[I
+Lcom/android/internal/R$styleable;->AndroidManifestGrantUriPermission:[I
+Lcom/android/internal/R$styleable;->AndroidManifestInstrumentation:[I
Lcom/android/internal/R$styleable;->AndroidManifestIntentFilter:[I
Lcom/android/internal/R$styleable;->AndroidManifestIntentFilter_priority:I
Lcom/android/internal/R$styleable;->AndroidManifestMetaData:[I
Lcom/android/internal/R$styleable;->AndroidManifestMetaData_name:I
Lcom/android/internal/R$styleable;->AndroidManifestMetaData_resource:I
Lcom/android/internal/R$styleable;->AndroidManifestMetaData_value:I
+Lcom/android/internal/R$styleable;->AndroidManifestOriginalPackage:[I
+Lcom/android/internal/R$styleable;->AndroidManifestPackageVerifier:[I
+Lcom/android/internal/R$styleable;->AndroidManifestPathPermission:[I
+Lcom/android/internal/R$styleable;->AndroidManifestPermission:[I
+Lcom/android/internal/R$styleable;->AndroidManifestPermissionGroup:[I
+Lcom/android/internal/R$styleable;->AndroidManifestPermissionTree:[I
+Lcom/android/internal/R$styleable;->AndroidManifestProtectedBroadcast:[I
+Lcom/android/internal/R$styleable;->AndroidManifestProvider:[I
Lcom/android/internal/R$styleable;->AndroidManifestService:[I
Lcom/android/internal/R$styleable;->AndroidManifestService_enabled:I
Lcom/android/internal/R$styleable;->AndroidManifestService_exported:I
Lcom/android/internal/R$styleable;->AndroidManifestService_name:I
Lcom/android/internal/R$styleable;->AndroidManifestService_permission:I
Lcom/android/internal/R$styleable;->AndroidManifestService_process:I
+Lcom/android/internal/R$styleable;->AndroidManifestSupportsScreens:[I
+Lcom/android/internal/R$styleable;->AndroidManifestUsesConfiguration:[I
+Lcom/android/internal/R$styleable;->AndroidManifestUsesFeature:[I
+Lcom/android/internal/R$styleable;->AndroidManifestUsesLibrary:[I
Lcom/android/internal/R$styleable;->AndroidManifestUsesPermission:[I
Lcom/android/internal/R$styleable;->AndroidManifestUsesPermission_name:I
Lcom/android/internal/R$styleable;->AndroidManifestUsesSdk:[I
@@ -3820,23 +7488,37 @@
Lcom/android/internal/R$styleable;->AndroidManifest_versionCode:I
Lcom/android/internal/R$styleable;->AndroidManifest_versionName:I
Lcom/android/internal/R$styleable;->AppWidgetProviderInfo:[I
+Lcom/android/internal/R$styleable;->AutoCompleteTextView:[I
Lcom/android/internal/R$styleable;->CheckBoxPreference:[I
Lcom/android/internal/R$styleable;->CheckBoxPreference_disableDependentsState:I
Lcom/android/internal/R$styleable;->CheckBoxPreference_summaryOff:I
Lcom/android/internal/R$styleable;->CheckBoxPreference_summaryOn:I
+Lcom/android/internal/R$styleable;->CheckedTextView:[I
+Lcom/android/internal/R$styleable;->CheckedTextView_checked:I
+Lcom/android/internal/R$styleable;->CheckedTextView_checkMark:I
Lcom/android/internal/R$styleable;->CompoundButton:[I
Lcom/android/internal/R$styleable;->CompoundButton_button:I
Lcom/android/internal/R$styleable;->CompoundButton_checked:I
+Lcom/android/internal/R$styleable;->ContactsDataKind:[I
+Lcom/android/internal/R$styleable;->DatePicker:[I
Lcom/android/internal/R$styleable;->DialogPreference:[I
Lcom/android/internal/R$styleable;->DialogPreference_dialogTitle:I
+Lcom/android/internal/R$styleable;->Dream:[I
Lcom/android/internal/R$styleable;->EdgeEffect:[I
Lcom/android/internal/R$styleable;->EdgeEffect_colorEdgeEffect:I
+Lcom/android/internal/R$styleable;->FastScroll:[I
+Lcom/android/internal/R$styleable;->FrameLayout:[I
Lcom/android/internal/R$styleable;->FrameLayout_Layout:[I
+Lcom/android/internal/R$styleable;->Gallery:[I
Lcom/android/internal/R$styleable;->GridView:[I
Lcom/android/internal/R$styleable;->IconMenuView:[I
Lcom/android/internal/R$styleable;->ImageView:[I
Lcom/android/internal/R$styleable;->ImageView_scaleType:I
Lcom/android/internal/R$styleable;->ImageView_src:I
+Lcom/android/internal/R$styleable;->Keyboard:[I
+Lcom/android/internal/R$styleable;->KeyboardView:[I
+Lcom/android/internal/R$styleable;->Keyboard_Key:[I
+Lcom/android/internal/R$styleable;->Keyboard_Row:[I
Lcom/android/internal/R$styleable;->ListPreference:[I
Lcom/android/internal/R$styleable;->ListPreference_entries:I
Lcom/android/internal/R$styleable;->ListView:[I
@@ -3847,7 +7529,12 @@
Lcom/android/internal/R$styleable;->ListView_headerDividersEnabled:I
Lcom/android/internal/R$styleable;->ListView_overScrollFooter:I
Lcom/android/internal/R$styleable;->ListView_overScrollHeader:I
+Lcom/android/internal/R$styleable;->MapView:[I
+Lcom/android/internal/R$styleable;->MapView_apiKey:I
+Lcom/android/internal/R$styleable;->MenuView:[I
Lcom/android/internal/R$styleable;->PopupWindow:[I
+Lcom/android/internal/R$styleable;->PopupWindow_popupAnimationStyle:I
+Lcom/android/internal/R$styleable;->PopupWindow_popupBackground:I
Lcom/android/internal/R$styleable;->Preference:[I
Lcom/android/internal/R$styleable;->PreferenceGroup:[I
Lcom/android/internal/R$styleable;->PreferenceGroup_orderingFromXml:I
@@ -3865,8 +7552,16 @@
Lcom/android/internal/R$styleable;->Preference_summary:I
Lcom/android/internal/R$styleable;->Preference_title:I
Lcom/android/internal/R$styleable;->Preference_widgetLayout:I
+Lcom/android/internal/R$styleable;->ProgressBar:[I
+Lcom/android/internal/R$styleable;->QuickContactBadge:[I
+Lcom/android/internal/R$styleable;->RingtonePreference:[I
Lcom/android/internal/R$styleable;->ScrollView:[I
Lcom/android/internal/R$styleable;->ScrollView_fillViewport:I
+Lcom/android/internal/R$styleable;->Searchable:[I
+Lcom/android/internal/R$styleable;->SearchableActionKey:[I
+Lcom/android/internal/R$styleable;->SelectionModeDrawables:[I
+Lcom/android/internal/R$styleable;->Switch:[I
+Lcom/android/internal/R$styleable;->SwitchPreference:[I
Lcom/android/internal/R$styleable;->SyncAdapter:[I
Lcom/android/internal/R$styleable;->SyncAdapter_accountType:I
Lcom/android/internal/R$styleable;->SyncAdapter_allowParallelSyncs:I
@@ -3877,6 +7572,7 @@
Lcom/android/internal/R$styleable;->SyncAdapter_userVisible:I
Lcom/android/internal/R$styleable;->TabWidget:[I
Lcom/android/internal/R$styleable;->TextAppearance:[I
+Lcom/android/internal/R$styleable;->TextAppearance_fontFamily:I
Lcom/android/internal/R$styleable;->TextAppearance_textAllCaps:I
Lcom/android/internal/R$styleable;->TextAppearance_textColor:I
Lcom/android/internal/R$styleable;->TextAppearance_textColorHighlight:I
@@ -3885,6 +7581,7 @@
Lcom/android/internal/R$styleable;->TextAppearance_textSize:I
Lcom/android/internal/R$styleable;->TextAppearance_textStyle:I
Lcom/android/internal/R$styleable;->TextAppearance_typeface:I
+Lcom/android/internal/R$styleable;->TextClock:[I
Lcom/android/internal/R$styleable;->TextView:[I
Lcom/android/internal/R$styleable;->TextViewAppearance:[I
Lcom/android/internal/R$styleable;->TextViewAppearance_textAppearance:I
@@ -3959,7 +7656,10 @@
Lcom/android/internal/R$styleable;->TextView_textStyle:I
Lcom/android/internal/R$styleable;->TextView_typeface:I
Lcom/android/internal/R$styleable;->TextView_width:I
+Lcom/android/internal/R$styleable;->Theme:[I
Lcom/android/internal/R$styleable;->View:[I
+Lcom/android/internal/R$styleable;->ViewAnimator:[I
+Lcom/android/internal/R$styleable;->ViewFlipper:[I
Lcom/android/internal/R$styleable;->ViewGroup_Layout:[I
Lcom/android/internal/R$styleable;->ViewGroup_Layout_layout_height:I
Lcom/android/internal/R$styleable;->ViewGroup_Layout_layout_width:I
@@ -3971,19 +7671,93 @@
Lcom/android/internal/R$styleable;->View_focusable:I
Lcom/android/internal/R$styleable;->View_id:I
Lcom/android/internal/R$styleable;->View_longClickable:I
+Lcom/android/internal/R$styleable;->WallpaperPreviewInfo:[I
Lcom/android/internal/R$styleable;->Window:[I
+Lcom/android/internal/R$styleable;->WindowAnimation:[I
Lcom/android/internal/R$styleable;->Window_windowActionBarFullscreenDecorLayout:I
Lcom/android/internal/R$styleable;->Window_windowIsFloating:I
Lcom/android/internal/R$styleable;->Window_windowIsTranslucent:I
Lcom/android/internal/R$styleable;->Window_windowShowWallpaper:I
Lcom/android/internal/R$xml;->power_profile:I
+Lcom/android/internal/statusbar/IStatusBar$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/statusbar/IStatusBar;
+Lcom/android/internal/statusbar/IStatusBarService$Stub;-><init>()V
+Lcom/android/internal/statusbar/IStatusBarService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/statusbar/IStatusBarService;
+Lcom/android/internal/statusbar/IStatusBarService;->collapsePanels()V
+Lcom/android/internal/statusbar/IStatusBarService;->disable(ILandroid/os/IBinder;Ljava/lang/String;)V
+Lcom/android/internal/statusbar/IStatusBarService;->expandNotificationsPanel()V
+Lcom/android/internal/statusbar/IStatusBarService;->handleSystemKey(I)V
+Lcom/android/internal/statusbar/IStatusBarService;->removeIcon(Ljava/lang/String;)V
+Lcom/android/internal/statusbar/IStatusBarService;->setIconVisibility(Ljava/lang/String;Z)V
+Lcom/android/internal/telecom/ITelecomService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/ITelecomService;
+Lcom/android/internal/telecom/ITelecomService;->getCallState()I
+Lcom/android/internal/telephony/CallerInfo;-><init>()V
+Lcom/android/internal/telephony/CallerInfo;->contactIdOrZero:J
+Lcom/android/internal/telephony/CallerInfo;->getCallerInfo(Landroid/content/Context;Landroid/net/Uri;)Lcom/android/internal/telephony/CallerInfo;
+Lcom/android/internal/telephony/CallerInfo;->getCallerInfo(Landroid/content/Context;Ljava/lang/String;)Lcom/android/internal/telephony/CallerInfo;
+Lcom/android/internal/telephony/CallerInfo;->getCallerInfo(Landroid/content/Context;Ljava/lang/String;I)Lcom/android/internal/telephony/CallerInfo;
+Lcom/android/internal/telephony/CallerInfo;->name:Ljava/lang/String;
+Lcom/android/internal/telephony/CallerInfo;->numberLabel:Ljava/lang/String;
+Lcom/android/internal/telephony/CallerInfo;->numberType:I
+Lcom/android/internal/telephony/CallerInfo;->phoneNumber:Ljava/lang/String;
+Lcom/android/internal/telephony/EncodeException;-><init>(C)V
+Lcom/android/internal/telephony/EncodeException;-><init>(Ljava/lang/String;)V
+Lcom/android/internal/telephony/GsmAlphabet$LanguagePairCount;-><init>(I)V
+Lcom/android/internal/telephony/GsmAlphabet$LanguagePairCount;->languageCode:I
+Lcom/android/internal/telephony/GsmAlphabet$LanguagePairCount;->septetCounts:[I
+Lcom/android/internal/telephony/GsmAlphabet$LanguagePairCount;->unencodableCounts:[I
+Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;-><init>()V
+Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;->codeUnitCount:I
+Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;->codeUnitSize:I
+Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;->codeUnitsRemaining:I
+Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;->languageShiftTable:I
+Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;->languageTable:I
+Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;->msgCount:I
+Lcom/android/internal/telephony/GsmAlphabet;->charToGsm(C)I
+Lcom/android/internal/telephony/GsmAlphabet;->charToGsm(CZ)I
+Lcom/android/internal/telephony/GsmAlphabet;->countGsmSeptets(CZ)I
+Lcom/android/internal/telephony/GsmAlphabet;->findGsmSeptetLimitIndex(Ljava/lang/String;IIII)I
+Lcom/android/internal/telephony/GsmAlphabet;->gsm7BitPackedToString([BIIIII)Ljava/lang/String;
+Lcom/android/internal/telephony/GsmAlphabet;->gsm8BitUnpackedToString([BII)Ljava/lang/String;
+Lcom/android/internal/telephony/GsmAlphabet;->gsm8BitUnpackedToString([BIILjava/lang/String;)Ljava/lang/String;
+Lcom/android/internal/telephony/GsmAlphabet;->gsmToChar(I)C
+Lcom/android/internal/telephony/GsmAlphabet;->packSmsChar([BII)V
+Lcom/android/internal/telephony/GsmAlphabet;->sCharsToGsmTables:[Landroid/util/SparseIntArray;
+Lcom/android/internal/telephony/GsmAlphabet;->sCharsToShiftTables:[Landroid/util/SparseIntArray;
+Lcom/android/internal/telephony/GsmAlphabet;->sEnabledLockingShiftTables:[I
+Lcom/android/internal/telephony/GsmAlphabet;->sEnabledSingleShiftTables:[I
+Lcom/android/internal/telephony/GsmAlphabet;->sHighestEnabledSingleShiftCode:I
+Lcom/android/internal/telephony/GsmAlphabet;->sLanguageShiftTables:[Ljava/lang/String;
+Lcom/android/internal/telephony/GsmAlphabet;->sLanguageTables:[Ljava/lang/String;
+Lcom/android/internal/telephony/GsmAlphabet;->stringToGsm7BitPacked(Ljava/lang/String;IZII)[B
+Lcom/android/internal/telephony/GsmAlphabet;->stringToGsm7BitPackedWithHeader(Ljava/lang/String;[BII)[B
+Lcom/android/internal/telephony/GsmAlphabet;->stringToGsm8BitPacked(Ljava/lang/String;)[B
+Lcom/android/internal/telephony/ICarrierConfigLoader;->getConfigForSubId(I)Landroid/os/PersistableBundle;
Lcom/android/internal/telephony/IMms$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IMms;
+Lcom/android/internal/telephony/IPhoneStateListener$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IPhoneStateListener;
+Lcom/android/internal/telephony/IPhoneStateListener;->onCallForwardingIndicatorChanged(Z)V
+Lcom/android/internal/telephony/IPhoneStateListener;->onCallStateChanged(ILjava/lang/String;)V
+Lcom/android/internal/telephony/IPhoneStateListener;->onCellLocationChanged(Landroid/os/Bundle;)V
+Lcom/android/internal/telephony/IPhoneStateListener;->onDataActivity(I)V
+Lcom/android/internal/telephony/IPhoneStateListener;->onDataConnectionStateChanged(II)V
+Lcom/android/internal/telephony/IPhoneStateListener;->onMessageWaitingIndicatorChanged(Z)V
+Lcom/android/internal/telephony/IPhoneStateListener;->onServiceStateChanged(Landroid/telephony/ServiceState;)V
+Lcom/android/internal/telephony/IPhoneStateListener;->onSignalStrengthChanged(I)V
+Lcom/android/internal/telephony/IPhoneStateListener;->onSignalStrengthsChanged(Landroid/telephony/SignalStrength;)V
Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+Lcom/android/internal/telephony/IPhoneSubInfo$Stub;-><init>()V
Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IPhoneSubInfo;
+Lcom/android/internal/telephony/IPhoneSubInfo;->getIccSerialNumber(Ljava/lang/String;)Ljava/lang/String;
+Lcom/android/internal/telephony/IPhoneSubInfo;->getSubscriberId(Ljava/lang/String;)Ljava/lang/String;
+Lcom/android/internal/telephony/ISms$Stub;-><init>()V
Lcom/android/internal/telephony/ISms$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ISms;
Lcom/android/internal/telephony/ISub$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+Lcom/android/internal/telephony/ISub$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ISub;
+Lcom/android/internal/telephony/ISub;->getDefaultDataSubId()I
+Lcom/android/internal/telephony/ISub;->getDefaultSubId()I
+Lcom/android/internal/telephony/ISub;->setDefaultDataSubId(I)V
Lcom/android/internal/telephony/ITelephony$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->endCall()Z
+Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->endCallForSubscriber(I)Z
Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDeviceId(Ljava/lang/String;)Ljava/lang/String;
Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->mRemote:Landroid/os/IBinder;
Lcom/android/internal/telephony/ITelephony$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ITelephony;
@@ -3994,62 +7768,219 @@
Lcom/android/internal/telephony/ITelephony;->call(Ljava/lang/String;Ljava/lang/String;)V
Lcom/android/internal/telephony/ITelephony;->dial(Ljava/lang/String;)V
Lcom/android/internal/telephony/ITelephony;->disableDataConnectivity()Z
+Lcom/android/internal/telephony/ITelephony;->disableLocationUpdates()V
Lcom/android/internal/telephony/ITelephony;->enableDataConnectivity()Z
+Lcom/android/internal/telephony/ITelephony;->enableLocationUpdates()V
Lcom/android/internal/telephony/ITelephony;->endCall()Z
Lcom/android/internal/telephony/ITelephony;->endCallForSubscriber(I)Z
+Lcom/android/internal/telephony/ITelephony;->getActivePhoneType()I
Lcom/android/internal/telephony/ITelephony;->getCallState()I
+Lcom/android/internal/telephony/ITelephony;->getDataActivity()I
Lcom/android/internal/telephony/ITelephony;->getDataState()I
+Lcom/android/internal/telephony/ITelephony;->getNetworkType()I
+Lcom/android/internal/telephony/ITelephony;->getVoiceMessageCount()I
+Lcom/android/internal/telephony/ITelephony;->handlePinMmi(Ljava/lang/String;)Z
+Lcom/android/internal/telephony/ITelephony;->handlePinMmiForSubscriber(ILjava/lang/String;)Z
+Lcom/android/internal/telephony/ITelephony;->hasIccCard()Z
+Lcom/android/internal/telephony/ITelephony;->iccCloseLogicalChannel(II)Z
+Lcom/android/internal/telephony/ITelephony;->iccTransmitApduLogicalChannel(IIIIIIILjava/lang/String;)Ljava/lang/String;
Lcom/android/internal/telephony/ITelephony;->isIdle(Ljava/lang/String;)Z
+Lcom/android/internal/telephony/ITelephony;->isIdleForSubscriber(ILjava/lang/String;)Z
+Lcom/android/internal/telephony/ITelephony;->isRadioOnForSubscriber(ILjava/lang/String;)Z
+Lcom/android/internal/telephony/ITelephony;->isRinging(Ljava/lang/String;)Z
Lcom/android/internal/telephony/ITelephony;->setRadio(Z)Z
Lcom/android/internal/telephony/ITelephony;->silenceRinger()V
+Lcom/android/internal/telephony/ITelephony;->supplyPin(Ljava/lang/String;)Z
+Lcom/android/internal/telephony/ITelephony;->toggleRadioOnOff()V
+Lcom/android/internal/telephony/ITelephony;->updateServiceLocation()V
Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+Lcom/android/internal/telephony/ITelephonyRegistry$Stub;-><init>()V
Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ITelephonyRegistry;
+Lcom/android/internal/telephony/ITelephonyRegistry;->listen(Ljava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;IZ)V
Lcom/android/internal/telephony/ITelephonyRegistry;->notifyCallState(ILjava/lang/String;)V
+Lcom/android/internal/telephony/IWapPushManager$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IWapPushManager;
+Lcom/android/internal/telephony/IWapPushManager;->addPackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZZ)Z
+Lcom/android/internal/telephony/IWapPushManager;->deletePackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
+Lcom/android/internal/telephony/IWapPushManager;->updatePackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZZ)Z
+Lcom/android/internal/telephony/OperatorInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+Lcom/android/internal/telephony/SmsAddress;->origBytes:[B
+Lcom/android/internal/telephony/SmsConstants$MessageClass;->CLASS_0:Lcom/android/internal/telephony/SmsConstants$MessageClass;
+Lcom/android/internal/telephony/SmsConstants$MessageClass;->CLASS_1:Lcom/android/internal/telephony/SmsConstants$MessageClass;
+Lcom/android/internal/telephony/SmsConstants$MessageClass;->CLASS_2:Lcom/android/internal/telephony/SmsConstants$MessageClass;
+Lcom/android/internal/telephony/SmsConstants$MessageClass;->CLASS_3:Lcom/android/internal/telephony/SmsConstants$MessageClass;
+Lcom/android/internal/telephony/SmsConstants$MessageClass;->UNKNOWN:Lcom/android/internal/telephony/SmsConstants$MessageClass;
+Lcom/android/internal/telephony/SmsHeader$ConcatRef;-><init>()V
Lcom/android/internal/telephony/SmsHeader$ConcatRef;->msgCount:I
Lcom/android/internal/telephony/SmsHeader$ConcatRef;->refNumber:I
Lcom/android/internal/telephony/SmsHeader$ConcatRef;->seqNumber:I
+Lcom/android/internal/telephony/SmsHeader$PortAddrs;-><init>()V
+Lcom/android/internal/telephony/SmsHeader$PortAddrs;->destPort:I
+Lcom/android/internal/telephony/SmsHeader$PortAddrs;->origPort:I
+Lcom/android/internal/telephony/SmsHeader;-><init>()V
Lcom/android/internal/telephony/SmsHeader;->concatRef:Lcom/android/internal/telephony/SmsHeader$ConcatRef;
+Lcom/android/internal/telephony/SmsHeader;->fromByteArray([B)Lcom/android/internal/telephony/SmsHeader;
+Lcom/android/internal/telephony/SmsHeader;->languageShiftTable:I
+Lcom/android/internal/telephony/SmsHeader;->languageTable:I
+Lcom/android/internal/telephony/SmsHeader;->portAddrs:Lcom/android/internal/telephony/SmsHeader$PortAddrs;
+Lcom/android/internal/telephony/SmsHeader;->toByteArray(Lcom/android/internal/telephony/SmsHeader;)[B
+Lcom/android/internal/telephony/SmsMessageBase$SubmitPduBase;->encodedMessage:[B
+Lcom/android/internal/telephony/SmsMessageBase$SubmitPduBase;->encodedScAddress:[B
+Lcom/android/internal/telephony/SmsMessageBase;-><init>()V
+Lcom/android/internal/telephony/SmsMessageBase;->getDisplayMessageBody()Ljava/lang/String;
+Lcom/android/internal/telephony/SmsMessageBase;->getDisplayOriginatingAddress()Ljava/lang/String;
+Lcom/android/internal/telephony/SmsMessageBase;->getMessageBody()Ljava/lang/String;
Lcom/android/internal/telephony/SmsMessageBase;->getOriginatingAddress()Ljava/lang/String;
+Lcom/android/internal/telephony/SmsMessageBase;->getProtocolIdentifier()I
Lcom/android/internal/telephony/SmsMessageBase;->getPseudoSubject()Ljava/lang/String;
+Lcom/android/internal/telephony/SmsMessageBase;->getServiceCenterAddress()Ljava/lang/String;
+Lcom/android/internal/telephony/SmsMessageBase;->getTimestampMillis()J
+Lcom/android/internal/telephony/SmsMessageBase;->getUserData()[B
+Lcom/android/internal/telephony/SmsMessageBase;->getUserDataHeader()Lcom/android/internal/telephony/SmsHeader;
+Lcom/android/internal/telephony/SmsMessageBase;->isReplace()Z
+Lcom/android/internal/telephony/SmsMessageBase;->isReplyPathPresent()Z
+Lcom/android/internal/telephony/SmsMessageBase;->isStatusReportMessage()Z
+Lcom/android/internal/telephony/SmsMessageBase;->mIsMwi:Z
+Lcom/android/internal/telephony/SmsMessageBase;->mMessageBody:Ljava/lang/String;
+Lcom/android/internal/telephony/SmsMessageBase;->mMessageRef:I
+Lcom/android/internal/telephony/SmsMessageBase;->mMwiDontStore:Z
+Lcom/android/internal/telephony/SmsMessageBase;->mMwiSense:Z
+Lcom/android/internal/telephony/SmsMessageBase;->mOriginatingAddress:Lcom/android/internal/telephony/SmsAddress;
+Lcom/android/internal/telephony/SmsMessageBase;->mPdu:[B
+Lcom/android/internal/telephony/SmsMessageBase;->mScAddress:Ljava/lang/String;
Lcom/android/internal/telephony/SmsMessageBase;->mUserDataHeader:Lcom/android/internal/telephony/SmsHeader;
Lcom/android/internal/telephony/SmsRawData;-><init>([B)V
Lcom/android/internal/telephony/SmsRawData;->CREATOR:Landroid/os/Parcelable$Creator;
+Lcom/android/internal/telephony/SmsRawData;->getBytes()[B
Lcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+Lcom/android/internal/util/AsyncChannel;->cmdToString(I)Ljava/lang/String;
+Lcom/android/internal/util/AsyncChannel;->CMD_CHANNEL_FULL_CONNECTION:I
+Lcom/android/internal/util/AsyncChannel;->CMD_CHANNEL_HALF_CONNECTED:I
+Lcom/android/internal/util/AsyncChannel;->connected(Landroid/content/Context;Landroid/os/Handler;Landroid/os/Messenger;)V
+Lcom/android/internal/util/AsyncChannel;->connectSync(Landroid/content/Context;Landroid/os/Handler;Landroid/os/Messenger;)I
+Lcom/android/internal/util/AsyncChannel;->disconnect()V
+Lcom/android/internal/util/AsyncChannel;->replyToMessage(Landroid/os/Message;I)V
+Lcom/android/internal/util/AsyncChannel;->replyToMessage(Landroid/os/Message;II)V
+Lcom/android/internal/util/AsyncChannel;->replyToMessage(Landroid/os/Message;IIILjava/lang/Object;)V
+Lcom/android/internal/util/AsyncChannel;->replyToMessage(Landroid/os/Message;ILjava/lang/Object;)V
+Lcom/android/internal/util/AsyncChannel;->replyToMessage(Landroid/os/Message;Landroid/os/Message;)V
+Lcom/android/internal/util/AsyncChannel;->sendMessage(I)V
+Lcom/android/internal/util/AsyncChannel;->sendMessage(II)V
Lcom/android/internal/util/AsyncChannel;->sendMessage(III)V
+Lcom/android/internal/util/AsyncChannel;->sendMessage(IIILjava/lang/Object;)V
+Lcom/android/internal/util/AsyncChannel;->sendMessageSynchronously(III)Landroid/os/Message;
+Lcom/android/internal/util/AsyncChannel;->sendMessageSynchronously(Landroid/os/Message;)Landroid/os/Message;
+Lcom/android/internal/util/AsyncChannel;->STATUS_SUCCESSFUL:I
Lcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/OutputStream;)V
+Lcom/android/internal/util/XmlUtils;->convertValueToBoolean(Ljava/lang/CharSequence;Z)Z
+Lcom/android/internal/util/XmlUtils;->convertValueToInt(Ljava/lang/CharSequence;I)I
Lcom/android/internal/util/XmlUtils;->readMapXml(Ljava/io/InputStream;)Ljava/util/HashMap;
Lcom/android/internal/util/XmlUtils;->skipCurrentTag(Lorg/xmlpull/v1/XmlPullParser;)V
Lcom/android/internal/util/XmlUtils;->writeMapXml(Ljava/util/Map;Ljava/io/OutputStream;)V
+Lcom/android/internal/view/BaseIWindow;-><init>()V
Lcom/android/internal/view/IInputConnectionWrapper;->mInputConnection:Landroid/view/inputmethod/InputConnection;
Lcom/android/internal/view/IInputConnectionWrapper;->mLock:Ljava/lang/Object;
+Lcom/android/internal/view/IInputMethod$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/view/IInputMethod;
+Lcom/android/internal/view/IInputMethod;->attachToken(Landroid/os/IBinder;)V
+Lcom/android/internal/view/IInputMethod;->bindInput(Landroid/view/inputmethod/InputBinding;)V
+Lcom/android/internal/view/IInputMethod;->hideSoftInput(ILandroid/os/ResultReceiver;)V
+Lcom/android/internal/view/IInputMethod;->setSessionEnabled(Lcom/android/internal/view/IInputMethodSession;Z)V
+Lcom/android/internal/view/IInputMethod;->showSoftInput(ILandroid/os/ResultReceiver;)V
+Lcom/android/internal/view/IInputMethod;->unbindInput()V
+Lcom/android/internal/view/IInputMethodClient;->onBindMethod(Lcom/android/internal/view/InputBindResult;)V
+Lcom/android/internal/view/IInputMethodClient;->setUsingInputMethod(Z)V
Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getEnabledInputMethodList()Ljava/util/List;
+Lcom/android/internal/view/IInputMethodManager$Stub;-><init>()V
Lcom/android/internal/view/IInputMethodManager$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/view/IInputMethodManager;
+Lcom/android/internal/view/IInputMethodManager;->addClient(Lcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;II)V
+Lcom/android/internal/view/IInputMethodManager;->removeClient(Lcom/android/internal/view/IInputMethodClient;)V
+Lcom/android/internal/view/IInputMethodSession$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/view/IInputMethodSession;
Lcom/android/internal/view/InputBindResult;->CREATOR:Landroid/os/Parcelable$Creator;
+Lcom/android/internal/view/InputBindResult;->method:Lcom/android/internal/view/IInputMethodSession;
+Lcom/android/internal/view/menu/MenuBuilder$Callback;->onMenuItemSelected(Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/MenuItem;)Z
+Lcom/android/internal/view/menu/MenuBuilder$Callback;->onMenuModeChange(Lcom/android/internal/view/menu/MenuBuilder;)V
Lcom/android/internal/view/menu/MenuBuilder;-><init>(Landroid/content/Context;)V
+Lcom/android/internal/view/menu/MenuBuilder;->addMenuPresenter(Lcom/android/internal/view/menu/MenuPresenter;Landroid/content/Context;)V
+Lcom/android/internal/view/menu/MenuBuilder;->collapseItemActionView(Lcom/android/internal/view/menu/MenuItemImpl;)Z
+Lcom/android/internal/view/menu/MenuBuilder;->getContext()Landroid/content/Context;
+Lcom/android/internal/view/menu/MenuBuilder;->getNonActionItems()Ljava/util/ArrayList;
+Lcom/android/internal/view/menu/MenuBuilder;->getRootMenu()Lcom/android/internal/view/menu/MenuBuilder;
+Lcom/android/internal/view/menu/MenuBuilder;->getVisibleItems()Ljava/util/ArrayList;
Lcom/android/internal/view/menu/MenuBuilder;->mContext:Landroid/content/Context;
+Lcom/android/internal/view/menu/MenuBuilder;->setCallback(Lcom/android/internal/view/menu/MenuBuilder$Callback;)V
Lcom/android/internal/view/menu/MenuBuilder;->setCurrentMenuInfo(Landroid/view/ContextMenu$ContextMenuInfo;)V
Lcom/android/internal/view/menu/MenuBuilder;->setOptionalIconsVisible(Z)V
+Lcom/android/internal/view/menu/MenuItemImpl;->invoke()Z
+Lcom/android/internal/view/menu/MenuItemImpl;->isActionButton()Z
Lcom/android/internal/view/menu/MenuItemImpl;->mIconResId:I
+Lcom/android/internal/view/menu/MenuItemImpl;->requestsActionButton()Z
+Lcom/android/internal/view/menu/MenuItemImpl;->requiresActionButton()Z
+Lcom/android/internal/view/menu/MenuItemImpl;->setActionViewExpanded(Z)V
Lcom/android/internal/view/menu/MenuItemImpl;->setMenuInfo(Landroid/view/ContextMenu$ContextMenuInfo;)V
+Lcom/android/internal/view/menu/MenuPopupHelper;-><init>(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/View;)V
+Lcom/android/internal/view/menu/MenuPopupHelper;->dismiss()V
Lcom/android/internal/view/menu/MenuPopupHelper;->mForceShowIcon:Z
Lcom/android/internal/view/menu/MenuPopupHelper;->setForceShowIcon(Z)V
+Lcom/android/internal/view/menu/MenuPopupHelper;->setGravity(I)V
+Lcom/android/internal/view/menu/MenuPopupHelper;->show()V
+Lcom/android/internal/view/menu/MenuPopupHelper;->tryShow()Z
+Lcom/android/internal/view/menu/MenuPresenter$Callback;->onOpenSubMenu(Lcom/android/internal/view/menu/MenuBuilder;)Z
Lcom/android/internal/view/menu/MenuView$ItemView;->getItemData()Lcom/android/internal/view/menu/MenuItemImpl;
+Lcom/android/internal/view/menu/MenuView;->getWindowAnimations()I
+Lcom/android/internal/view/menu/SubMenuBuilder;->getRootMenu()Lcom/android/internal/view/menu/MenuBuilder;
+Lcom/android/internal/view/menu/SubMenuBuilder;->setCallback(Lcom/android/internal/view/menu/MenuBuilder$Callback;)V
Lcom/android/internal/widget/CachingIconView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+Lcom/android/internal/widget/ILockSettings$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/widget/ILockSettings;
+Lcom/android/internal/widget/ILockSettings;->getBoolean(Ljava/lang/String;ZI)Z
+Lcom/android/internal/widget/ILockSettings;->getLong(Ljava/lang/String;JI)J
+Lcom/android/internal/widget/ILockSettings;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
+Lcom/android/internal/widget/ILockSettings;->havePassword(I)Z
+Lcom/android/internal/widget/ILockSettings;->havePattern(I)Z
+Lcom/android/internal/widget/ILockSettings;->setBoolean(Ljava/lang/String;ZI)V
+Lcom/android/internal/widget/ILockSettings;->setLong(Ljava/lang/String;JI)V
+Lcom/android/internal/widget/ILockSettings;->setString(Ljava/lang/String;Ljava/lang/String;I)V
+Lcom/android/internal/widget/IRemoteViewsFactory$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/widget/IRemoteViewsFactory;
+Lcom/android/internal/widget/IRemoteViewsFactory;->getCount()I
+Lcom/android/internal/widget/IRemoteViewsFactory;->getItemId(I)J
+Lcom/android/internal/widget/IRemoteViewsFactory;->getLoadingView()Landroid/widget/RemoteViews;
+Lcom/android/internal/widget/IRemoteViewsFactory;->getViewAt(I)Landroid/widget/RemoteViews;
+Lcom/android/internal/widget/IRemoteViewsFactory;->getViewTypeCount()I
+Lcom/android/internal/widget/IRemoteViewsFactory;->hasStableIds()Z
+Lcom/android/internal/widget/IRemoteViewsFactory;->isCreated()Z
+Lcom/android/internal/widget/IRemoteViewsFactory;->onDataSetChanged()V
+Lcom/android/internal/widget/ScrollingTabContainerView;->setAllowCollapse(Z)V
+Lcom/android/okhttp/Connection;->getSocket()Ljava/net/Socket;
Lcom/android/okhttp/ConnectionPool;->connections:Ljava/util/Deque;
Lcom/android/okhttp/ConnectionPool;->keepAliveDurationNs:J
Lcom/android/okhttp/ConnectionPool;->maxIdleConnections:I
Lcom/android/okhttp/ConnectionPool;->systemDefault:Lcom/android/okhttp/ConnectionPool;
+Lcom/android/okhttp/HttpUrl$Builder;->build()Lcom/android/okhttp/HttpUrl;
Lcom/android/okhttp/HttpUrl;->encodedPath()Ljava/lang/String;
+Lcom/android/okhttp/HttpUrl;->newBuilder()Lcom/android/okhttp/HttpUrl$Builder;
+Lcom/android/okhttp/HttpUrl;->parse(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl;
Lcom/android/okhttp/HttpUrl;->query()Ljava/lang/String;
+Lcom/android/okhttp/internal/http/HttpEngine;->getConnection()Lcom/android/okhttp/Connection;
+Lcom/android/okhttp/internal/http/HttpEngine;->hasResponse()Z
Lcom/android/okhttp/internal/http/HttpEngine;->httpStream:Lcom/android/okhttp/internal/http/HttpStream;
Lcom/android/okhttp/internal/http/HttpEngine;->networkRequest(Lcom/android/okhttp/Request;)Lcom/android/okhttp/Request;
Lcom/android/okhttp/internal/http/HttpEngine;->networkRequest:Lcom/android/okhttp/Request;
Lcom/android/okhttp/internal/http/HttpEngine;->priorResponse:Lcom/android/okhttp/Response;
+Lcom/android/okhttp/internal/http/HttpEngine;->readResponse()V
+Lcom/android/okhttp/internal/http/HttpEngine;->sendRequest()V
+Lcom/android/okhttp/internal/http/HttpEngine;->sentRequestMillis:J
Lcom/android/okhttp/internal/http/HttpEngine;->userResponse:Lcom/android/okhttp/Response;
+Lcom/android/okhttp/internal/http/HttpEngine;->writingRequestHeaders()V
+Lcom/android/okhttp/internal/http/RouteSelector;->hasNext()Z
+Lcom/android/okhttp/OkHttpClient;-><init>()V
Lcom/android/okhttp/OkHttpClient;->connectionPool:Lcom/android/okhttp/ConnectionPool;
Lcom/android/okhttp/OkHttpClient;->DEFAULT_PROTOCOLS:Ljava/util/List;
Lcom/android/okhttp/OkHttpClient;->dns:Lcom/android/okhttp/Dns;
+Lcom/android/okhttp/OkHttpClient;->getConnectionPool()Lcom/android/okhttp/ConnectionPool;
+Lcom/android/okhttp/OkHttpClient;->getCookieHandler()Ljava/net/CookieHandler;
+Lcom/android/okhttp/OkHttpClient;->getHostnameVerifier()Ljavax/net/ssl/HostnameVerifier;
+Lcom/android/okhttp/OkHttpClient;->getProxy()Ljava/net/Proxy;
+Lcom/android/okhttp/OkHttpClient;->getProxySelector()Ljava/net/ProxySelector;
+Lcom/android/okhttp/OkHttpClient;->getSslSocketFactory()Ljavax/net/ssl/SSLSocketFactory;
Lcom/android/okhttp/OkHttpClient;->setProtocols(Ljava/util/List;)Lcom/android/okhttp/OkHttpClient;
Lcom/android/okhttp/OkHttpClient;->setRetryOnConnectionFailure(Z)V
Lcom/android/okhttp/Request;->headers:Lcom/android/okhttp/Headers;
@@ -4086,6 +8017,10 @@
Lcom/android/org/conscrypt/ConscryptSocketBase;->setHostname(Ljava/lang/String;)V
Lcom/android/org/conscrypt/ConscryptSocketBase;->setSoWriteTimeout(I)V
Lcom/android/org/conscrypt/ConscryptSocketBase;->socket:Ljava/net/Socket;
+Lcom/android/org/conscrypt/OpenSSLKey;-><init>(J)V
+Lcom/android/org/conscrypt/OpenSSLKey;->fromPrivateKey(Ljava/security/PrivateKey;)Lcom/android/org/conscrypt/OpenSSLKey;
+Lcom/android/org/conscrypt/OpenSSLKey;->getNativeRef()Lcom/android/org/conscrypt/NativeRef$EVP_PKEY;
+Lcom/android/org/conscrypt/OpenSSLKey;->getPublicKey()Ljava/security/PublicKey;
Lcom/android/org/conscrypt/OpenSSLSocketImpl;->getAlpnSelectedProtocol()[B
Lcom/android/org/conscrypt/OpenSSLSocketImpl;->getChannelId()[B
Lcom/android/org/conscrypt/OpenSSLSocketImpl;->getHostname()Ljava/lang/String;
@@ -4101,16 +8036,21 @@
Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setNpnProtocols([B)V
Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setSoWriteTimeout(I)V
Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setUseSessionTickets(Z)V
+Lcom/android/org/conscrypt/OpenSSLX509Certificate;->fromX509PemInputStream(Ljava/io/InputStream;)Lcom/android/org/conscrypt/OpenSSLX509Certificate;
Lcom/android/org/conscrypt/OpenSSLX509Certificate;->mContext:J
+Lcom/android/org/conscrypt/TrustedCertificateStore;-><init>()V
+Lcom/android/org/conscrypt/TrustedCertificateStore;->getCertificateChain(Ljava/security/cert/X509Certificate;)Ljava/util/List;
Lcom/android/org/conscrypt/TrustManagerImpl;-><init>(Ljava/security/KeyStore;)V
Lcom/android/org/conscrypt/TrustManagerImpl;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
Ldalvik/system/BaseDexClassLoader;->addDexPath(Ljava/lang/String;)V
Ldalvik/system/BaseDexClassLoader;->getLdLibraryPath()Ljava/lang/String;
Ldalvik/system/BaseDexClassLoader;->pathList:Ldalvik/system/DexPathList;
+Ldalvik/system/BlockGuard$BlockGuardPolicyException;-><init>(IILjava/lang/String;)V
Ldalvik/system/BlockGuard$Policy;->onNetwork()V
Ldalvik/system/BlockGuard$Policy;->onReadFromDisk()V
Ldalvik/system/BlockGuard;->getThreadPolicy()Ldalvik/system/BlockGuard$Policy;
Ldalvik/system/BlockGuard;->LAX_POLICY:Ldalvik/system/BlockGuard$Policy;
+Ldalvik/system/BlockGuard;->setThreadPolicy(Ldalvik/system/BlockGuard$Policy;)V
Ldalvik/system/CloseGuard;->close()V
Ldalvik/system/CloseGuard;->get()Ldalvik/system/CloseGuard;
Ldalvik/system/CloseGuard;->open(Ljava/lang/String;)V
@@ -4145,6 +8085,9 @@
Ldalvik/system/DexPathList;->nativeLibraryPathElements:[Ldalvik/system/DexPathList$NativeLibraryElement;
Ldalvik/system/DexPathList;->splitPaths(Ljava/lang/String;Z)Ljava/util/List;
Ldalvik/system/DexPathList;->systemNativeLibraryDirectories:Ljava/util/List;
+Ldalvik/system/SocketTagger;->get()Ldalvik/system/SocketTagger;
+Ldalvik/system/SocketTagger;->tag(Ljava/net/Socket;)V
+Ldalvik/system/SocketTagger;->untag(Ljava/net/Socket;)V
Ldalvik/system/VMDebug;->dumpReferenceTables()V
Ldalvik/system/VMDebug;->isDebuggerConnected()Z
Ldalvik/system/VMRuntime;->addressOf(Ljava/lang/Object;)J
@@ -4153,6 +8096,7 @@
Ldalvik/system/VMRuntime;->getCurrentInstructionSet()Ljava/lang/String;
Ldalvik/system/VMRuntime;->getExternalBytesAllocated()J
Ldalvik/system/VMRuntime;->getInstructionSet(Ljava/lang/String;)Ljava/lang/String;
+Ldalvik/system/VMRuntime;->getMinimumHeapSize()J
Ldalvik/system/VMRuntime;->getRuntime()Ldalvik/system/VMRuntime;
Ldalvik/system/VMRuntime;->is64Bit()Z
Ldalvik/system/VMRuntime;->is64BitAbi(Ljava/lang/String;)Z
@@ -4160,6 +8104,7 @@
Ldalvik/system/VMRuntime;->registerNativeAllocation(I)V
Ldalvik/system/VMRuntime;->registerNativeFree(I)V
Ldalvik/system/VMRuntime;->runFinalization(J)V
+Ldalvik/system/VMRuntime;->runFinalizationSync()V
Ldalvik/system/VMRuntime;->setMinimumHeapSize(J)J
Ldalvik/system/VMRuntime;->setTargetHeapUtilization(F)F
Ldalvik/system/VMRuntime;->setTargetSdkVersion(I)V
@@ -4170,6 +8115,8 @@
Ldalvik/system/VMStack;->fillStackTraceElements(Ljava/lang/Thread;[Ljava/lang/StackTraceElement;)I
Ldalvik/system/VMStack;->getCallingClassLoader()Ljava/lang/ClassLoader;
Ldalvik/system/VMStack;->getStackClass2()Ljava/lang/Class;
+Ldalvik/system/VMStack;->getThreadStackTrace(Ljava/lang/Thread;)[Ljava/lang/StackTraceElement;
+Ljava/io/Console;->encoding()Ljava/lang/String;
Ljava/io/File;->filePath:Ljava/nio/file/Path;
Ljava/io/File;->fs:Ljava/io/FileSystem;
Ljava/io/File;->path:Ljava/lang/String;
@@ -4180,20 +8127,41 @@
Ljava/io/FileDescriptor;->isSocket$()Z
Ljava/io/FileDescriptor;->setInt$(I)V
Ljava/io/FileInputStream;->fd:Ljava/io/FileDescriptor;
+Ljava/io/FileOutputStream;->channel:Ljava/nio/channels/FileChannel;
Ljava/io/FileOutputStream;->fd:Ljava/io/FileDescriptor;
Ljava/io/ObjectInputStream;->bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
+Ljava/io/ObjectInputStream;->bytesToDoubles([BI[DII)V
+Ljava/io/ObjectInputStream;->bytesToFloats([BI[FII)V
+Ljava/io/ObjectOutputStream;->protocol:I
+Ljava/io/ObjectStreamClass;->computeDefaultSUID(Ljava/lang/Class;)J
+Ljava/io/ObjectStreamClass;->computeFieldOffsets()V
+Ljava/io/ObjectStreamClass;->fields:[Ljava/io/ObjectStreamField;
Ljava/io/ObjectStreamClass;->getConstructorId(Ljava/lang/Class;)J
+Ljava/io/ObjectStreamClass;->getLocalDesc()Ljava/io/ObjectStreamClass;
+Ljava/io/ObjectStreamClass;->getNumObjFields()I
+Ljava/io/ObjectStreamClass;->getPrimDataSize()I
+Ljava/io/ObjectStreamClass;->hasReadObjectMethod()Z
+Ljava/io/ObjectStreamClass;->hasReadObjectNoDataMethod()Z
+Ljava/io/ObjectStreamClass;->hasWriteObjectData()Z
Ljava/io/ObjectStreamClass;->newInstance()Ljava/lang/Object;
Ljava/io/ObjectStreamClass;->newInstance(Ljava/lang/Class;J)Ljava/lang/Object;
+Ljava/io/ObjectStreamField;->getField()Ljava/lang/reflect/Field;
+Ljava/io/RandomAccessFile;->fd:Ljava/io/FileDescriptor;
Ljava/lang/AbstractStringBuilder;->value:[C
Ljava/lang/Boolean;->value:Z
+Ljava/lang/Byte;->toHexString(BZ)Ljava/lang/String;
Ljava/lang/Byte;->value:B
Ljava/lang/Character;->value:C
Ljava/lang/Class;-><init>()V
Ljava/lang/Class;->accessFlags:I
+Ljava/lang/Class;->classLoader:Ljava/lang/ClassLoader;
Ljava/lang/Class;->dexCache:Ljava/lang/Object;
Ljava/lang/Class;->dexClassDefIndex:I
+Ljava/lang/Class;->getDeclaredMethodsUnchecked(Z)[Ljava/lang/reflect/Method;
+Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;Z)Ljava/lang/reflect/Method;
Ljava/lang/Class;->ifTable:[Ljava/lang/Object;
+Ljava/lang/Class;->name:Ljava/lang/String;
+Ljava/lang/Class;->objectSize:I
Ljava/lang/ClassLoader;->parent:Ljava/lang/ClassLoader;
Ljava/lang/Daemons$Daemon;->isRunning()Z
Ljava/lang/Daemons$Daemon;->start()V
@@ -4212,6 +8180,7 @@
Ljava/lang/Integer;->value:I
Ljava/lang/invoke/MethodHandles$Lookup;-><init>(Ljava/lang/Class;I)V
Ljava/lang/Long;->value:J
+Ljava/lang/Object;->identityHashCode(Ljava/lang/Object;)I
Ljava/lang/ref/FinalizerReference;->add(Ljava/lang/Object;)V
Ljava/lang/ref/FinalizerReference;->head:Ljava/lang/ref/FinalizerReference;
Ljava/lang/ref/FinalizerReference;->next:Ljava/lang/ref/FinalizerReference;
@@ -4220,8 +8189,10 @@
Ljava/lang/ref/Reference;->getReferent()Ljava/lang/Object;
Ljava/lang/ref/Reference;->referent:Ljava/lang/Object;
Ljava/lang/ref/ReferenceQueue;->add(Ljava/lang/ref/Reference;)V
+Ljava/lang/reflect/AccessibleObject;->override:Z
Ljava/lang/reflect/Executable;->artMethod:J
Ljava/lang/reflect/Field;->accessFlags:I
+Ljava/lang/reflect/Field;->getOffset()I
Ljava/lang/reflect/Parameter;-><init>(Ljava/lang/String;ILjava/lang/reflect/Executable;I)V
Ljava/lang/reflect/Proxy;->invoke(Ljava/lang/reflect/Proxy;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
Ljava/lang/Runtime;->load(Ljava/lang/String;Ljava/lang/ClassLoader;)V
@@ -4230,19 +8201,35 @@
Ljava/lang/Runtime;->mLibPaths:[Ljava/lang/String;
Ljava/lang/Runtime;->nativeLoad(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/String;
Ljava/lang/Short;->value:S
+Ljava/lang/StackTraceElement;->declaringClass:Ljava/lang/String;
+Ljava/lang/StackTraceElement;->fileName:Ljava/lang/String;
+Ljava/lang/StackTraceElement;->lineNumber:I
+Ljava/lang/StackTraceElement;->methodName:Ljava/lang/String;
Ljava/lang/String;-><init>(II[C)V
Ljava/lang/String;->count:I
Ljava/lang/String;->getCharsNoCheck(II[CI)V
Ljava/lang/String;->hash:I
+Ljava/lang/String;->indexOf([CII[CIII)I
+Ljava/lang/String;->lastIndexOf([CII[CIII)I
Ljava/lang/System;-><init>()V
Ljava/lang/System;->arraycopy([CI[CII)V
+Ljava/lang/System;->arraycopy([FI[FII)V
Ljava/lang/System;->arraycopy([II[III)V
+Ljava/lang/System;->arraycopy([JI[JII)V
+Ljava/lang/System;->arraycopy([SI[SII)V
+Ljava/lang/System;->arraycopy([ZI[ZII)V
+Ljava/lang/System;->log(CLjava/lang/String;Ljava/lang/Throwable;)V
+Ljava/lang/System;->logE(Ljava/lang/String;)V
+Ljava/lang/System;->logE(Ljava/lang/String;Ljava/lang/Throwable;)V
+Ljava/lang/System;->logW(Ljava/lang/String;Ljava/lang/Throwable;)V
Ljava/lang/Thread;-><init>(Ljava/lang/ThreadGroup;Ljava/lang/String;IZ)V
Ljava/lang/Thread;->contextClassLoader:Ljava/lang/ClassLoader;
Ljava/lang/Thread;->daemon:Z
Ljava/lang/Thread;->dispatchUncaughtException(Ljava/lang/Throwable;)V
+Ljava/lang/Thread;->getUncaughtExceptionPreHandler()Ljava/lang/Thread$UncaughtExceptionHandler;
Ljava/lang/Thread;->group:Ljava/lang/ThreadGroup;
Ljava/lang/Thread;->inheritableThreadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
+Ljava/lang/Thread;->inheritedAccessControlContext:Ljava/security/AccessControlContext;
Ljava/lang/Thread;->lock:Ljava/lang/Object;
Ljava/lang/Thread;->name:Ljava/lang/String;
Ljava/lang/Thread;->nativePeer:J
@@ -4250,6 +8237,7 @@
Ljava/lang/Thread;->priority:I
Ljava/lang/Thread;->target:Ljava/lang/Runnable;
Ljava/lang/Thread;->threadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap;
+Ljava/lang/Thread;->threadSeqNumber:J
Ljava/lang/ThreadGroup;->add(Ljava/lang/Thread;)V
Ljava/lang/ThreadGroup;->groups:[Ljava/lang/ThreadGroup;
Ljava/lang/ThreadGroup;->mainThreadGroup:Ljava/lang/ThreadGroup;
@@ -4258,15 +8246,18 @@
Ljava/lang/ThreadGroup;->parent:Ljava/lang/ThreadGroup;
Ljava/lang/ThreadGroup;->systemThreadGroup:Ljava/lang/ThreadGroup;
Ljava/lang/ThreadGroup;->threadTerminated(Ljava/lang/Thread;)V
+Ljava/lang/ThreadLocal;->getMap(Ljava/lang/Thread;)Ljava/lang/ThreadLocal$ThreadLocalMap;
Ljava/lang/Throwable;->backtrace:Ljava/lang/Object;
Ljava/lang/Throwable;->cause:Ljava/lang/Throwable;
Ljava/lang/Throwable;->detailMessage:Ljava/lang/String;
Ljava/lang/Throwable;->getOurStackTrace()[Ljava/lang/StackTraceElement;
Ljava/lang/Throwable;->nativeFillInStackTrace()Ljava/lang/Object;
+Ljava/lang/Throwable;->printStackTrace(Ljava/lang/Throwable$PrintStreamOrWriter;)V
Ljava/lang/Throwable;->stackTrace:[Ljava/lang/StackTraceElement;
Ljava/lang/Throwable;->suppressedExceptions:Ljava/util/List;
Ljava/lang/Void;-><init>()V
Ljava/net/Authenticator;->theAuthenticator:Ljava/net/Authenticator;
+Ljava/net/DatagramSocket;->getFileDescriptor$()Ljava/io/FileDescriptor;
Ljava/net/DatagramSocket;->impl:Ljava/net/DatagramSocketImpl;
Ljava/net/HttpCookie;->assignors:Ljava/util/Map;
Ljava/net/HttpCookie;->comment:Ljava/lang/String;
@@ -4296,22 +8287,31 @@
Ljava/net/InetAddress$InetAddressHolder;->hostName:Ljava/lang/String;
Ljava/net/InetAddress$InetAddressHolder;->originalHostName:Ljava/lang/String;
Ljava/net/InetAddress;->clearDnsCache()V
+Ljava/net/InetAddress;->getAllByNameOnNet(Ljava/lang/String;I)[Ljava/net/InetAddress;
Ljava/net/InetAddress;->holder()Ljava/net/InetAddress$InetAddressHolder;
Ljava/net/InetAddress;->holder:Ljava/net/InetAddress$InetAddressHolder;
Ljava/net/InetAddress;->isNumeric(Ljava/lang/String;)Z
Ljava/net/InetAddress;->parseNumericAddress(Ljava/lang/String;)Ljava/net/InetAddress;
+Ljava/net/InetSocketAddress;->holder:Ljava/net/InetSocketAddress$InetSocketAddressHolder;
Ljava/net/InterfaceAddress;-><init>()V
Ljava/net/Proxy;-><init>()V
+Ljava/net/Socket;->factory:Ljava/net/SocketImplFactory;
Ljava/net/Socket;->getFileDescriptor$()Ljava/io/FileDescriptor;
Ljava/net/Socket;->impl:Ljava/net/SocketImpl;
+Ljava/net/SocketException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
Ljava/net/SocketImpl;->serverSocket:Ljava/net/ServerSocket;
Ljava/net/SocketImpl;->socket:Ljava/net/Socket;
Ljava/net/URI;->fragment:Ljava/lang/String;
Ljava/net/URI;->host:Ljava/lang/String;
Ljava/net/URI;->port:I
+Ljava/net/URI;->query:Ljava/lang/String;
Ljava/net/URI;->string:Ljava/lang/String;
+Ljava/net/URL;->factory:Ljava/net/URLStreamHandlerFactory;
Ljava/net/URL;->handler:Ljava/net/URLStreamHandler;
Ljava/net/URL;->handlers:Ljava/util/Hashtable;
+Ljava/net/URL;->protocol:Ljava/lang/String;
+Ljava/net/URLClassLoader;->acc:Ljava/security/AccessControlContext;
+Ljava/net/URLClassLoader;->ucp:Lsun/misc/URLClassPath;
Ljava/nio/Buffer;->address:J
Ljava/nio/Buffer;->capacity:I
Ljava/nio/Buffer;->limit:I
@@ -4320,25 +8320,40 @@
Ljava/nio/ByteBuffer;->hb:[B
Ljava/nio/ByteBuffer;->isReadOnly:Z
Ljava/nio/ByteBuffer;->offset:I
+Ljava/nio/CharBuffer;->toString(II)Ljava/lang/String;
+Ljava/nio/charset/Charset;->defaultCharset:Ljava/nio/charset/Charset;
Ljava/nio/charset/CharsetEncoder;->canEncode(Ljava/nio/CharBuffer;)Z
Ljava/nio/DirectByteBuffer;-><init>(JI)V
Ljava/nio/NIOAccess;->getBaseArray(Ljava/nio/Buffer;)Ljava/lang/Object;
Ljava/nio/NIOAccess;->getBaseArrayOffset(Ljava/nio/Buffer;)I
Ljava/nio/NIOAccess;->getBasePointer(Ljava/nio/Buffer;)J
+Ljava/nio/NioUtils;->freeDirectBuffer(Ljava/nio/ByteBuffer;)V
+Ljava/nio/NioUtils;->unsafeArray(Ljava/nio/ByteBuffer;)[B
+Ljava/nio/NioUtils;->unsafeArrayOffset(Ljava/nio/ByteBuffer;)I
+Ljava/security/KeyPairGenerator;->getInstance(Lsun/security/jca/GetInstance$Instance;Ljava/lang/String;)Ljava/security/KeyPairGenerator;
+Ljava/security/KeyStore;->keyStoreSpi:Ljava/security/KeyStoreSpi;
+Ljava/security/Signature;->getInstance(Lsun/security/jca/GetInstance$Instance;Ljava/lang/String;)Ljava/security/Signature;
Ljava/security/spec/ECParameterSpec;->getCurveName()Ljava/lang/String;
Ljava/security/spec/ECParameterSpec;->setCurveName(Ljava/lang/String;)V
+Ljava/text/Collator;->icuColl:Landroid/icu/text/Collator;
Ljava/text/DateFormat;->is24Hour:Ljava/lang/Boolean;
+Ljava/text/DecimalFormatSymbols;->getPercentString()Ljava/lang/String;
+Ljava/text/NumberFormat;->getInstance(Ljava/util/Locale;I)Ljava/text/NumberFormat;
Ljava/time/Duration;->toSeconds()Ljava/math/BigDecimal;
Ljava/time/OffsetDateTime;-><init>(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;)V
+Ljava/time/ZoneId;->of(Ljava/lang/String;Z)Ljava/time/ZoneId;
Ljava/util/ArrayDeque;->elements:[Ljava/lang/Object;
Ljava/util/ArrayDeque;->head:I
Ljava/util/ArrayDeque;->tail:I
+Ljava/util/ArrayList$SubList;->offset:I
Ljava/util/ArrayList$SubList;->parent:Ljava/util/AbstractList;
Ljava/util/ArrayList$SubList;->parentOffset:I
Ljava/util/ArrayList$SubList;->size:I
Ljava/util/ArrayList;->elementData:[Ljava/lang/Object;
Ljava/util/ArrayList;->size:I
Ljava/util/Arrays$ArrayList;->a:[Ljava/lang/Object;
+Ljava/util/Arrays;->checkOffsetAndCount(III)V
+Ljava/util/Arrays;->deepToString([Ljava/lang/Object;Ljava/lang/StringBuilder;Ljava/util/Set;)V
Ljava/util/Calendar;->zone:Ljava/util/TimeZone;
Ljava/util/Collections$EmptyList;-><init>()V
Ljava/util/Collections$EmptyMap;-><init>()V
@@ -4349,6 +8364,7 @@
Ljava/util/Collections$UnmodifiableMap;->m:Ljava/util/Map;
Ljava/util/concurrent/atomic/AtomicInteger;->value:I
Ljava/util/concurrent/ConcurrentHashMap$BaseIterator;->hasMoreElements()Z
+Ljava/util/concurrent/CopyOnWriteArrayList;->elements:[Ljava/lang/Object;
Ljava/util/concurrent/CopyOnWriteArraySet;->al:Ljava/util/concurrent/CopyOnWriteArrayList;
Ljava/util/concurrent/Executors$RunnableAdapter;->task:Ljava/lang/Runnable;
Ljava/util/concurrent/FutureTask;->callable:Ljava/util/concurrent/Callable;
@@ -4361,28 +8377,47 @@
Ljava/util/concurrent/LinkedBlockingQueue;->head:Ljava/util/concurrent/LinkedBlockingQueue$Node;
Ljava/util/concurrent/LinkedBlockingQueue;->putLock:Ljava/util/concurrent/locks/ReentrantLock;
Ljava/util/concurrent/LinkedBlockingQueue;->takeLock:Ljava/util/concurrent/locks/ReentrantLock;
+Ljava/util/concurrent/locks/ReentrantLock;->sync:Ljava/util/concurrent/locks/ReentrantLock$Sync;
Ljava/util/concurrent/PriorityBlockingQueue;->lock:Ljava/util/concurrent/locks/ReentrantLock;
Ljava/util/concurrent/ThreadPoolExecutor;->allowCoreThreadTimeOut:Z
Ljava/util/concurrent/ThreadPoolExecutor;->ctl:Ljava/util/concurrent/atomic/AtomicInteger;
+Ljava/util/concurrent/ThreadPoolExecutor;->defaultHandler:Ljava/util/concurrent/RejectedExecutionHandler;
+Ljava/util/concurrent/ThreadPoolExecutor;->mainLock:Ljava/util/concurrent/locks/ReentrantLock;
Ljava/util/EnumMap;->keyType:Ljava/lang/Class;
Ljava/util/EnumSet;->elementType:Ljava/lang/Class;
Ljava/util/HashMap$HashIterator;->hasNext()Z
Ljava/util/HashMap$HashIterator;->remove()V
+Ljava/util/HashMap$Node;->key:Ljava/lang/Object;
+Ljava/util/HashMap$Node;->next:Ljava/util/HashMap$Node;
+Ljava/util/HashMap$Node;->value:Ljava/lang/Object;
Ljava/util/HashMap;->modCount:I
Ljava/util/HashMap;->table:[Ljava/util/HashMap$Node;
Ljava/util/HashSet;->map:Ljava/util/HashMap;
Ljava/util/jar/JarFile;->manifest:Ljava/util/jar/Manifest;
Ljava/util/LinkedHashMap$LinkedHashIterator;->hasNext()Z
+Ljava/util/LinkedHashMap;->accessOrder:Z
Ljava/util/LinkedHashMap;->eldest()Ljava/util/Map$Entry;
+Ljava/util/LinkedList$Node;->item:Ljava/lang/Object;
+Ljava/util/LinkedList$Node;->next:Ljava/util/LinkedList$Node;
+Ljava/util/LinkedList;->first:Ljava/util/LinkedList$Node;
Ljava/util/LinkedList;->size:I
Ljava/util/Locale;->createConstant(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Locale;
+Ljava/util/Locale;->getInstance(Lsun/util/locale/BaseLocale;Lsun/util/locale/LocaleExtensions;)Ljava/util/Locale;
+Ljava/util/logging/Handler;->sealed:Z
+Ljava/util/logging/Logger;->treeLock:Ljava/lang/Object;
+Ljava/util/logging/LogManager;->getFormatterProperty(Ljava/lang/String;Ljava/util/logging/Formatter;)Ljava/util/logging/Formatter;
Ljava/util/PriorityQueue;->modCount:I
+Ljava/util/PriorityQueue;->queue:[Ljava/lang/Object;
Ljava/util/PriorityQueue;->size:I
+Ljava/util/Properties;->saveConvert(Ljava/lang/String;ZZ)Ljava/lang/String;
Ljava/util/Random;->seedUniquifier()J
Ljava/util/regex/Matcher;->appendPos:I
+Ljava/util/TimerTask;->period:J
Ljava/util/UUID;->leastSigBits:J
Ljava/util/UUID;->mostSigBits:J
Ljava/util/Vector;->elementData(I)Ljava/lang/Object;
+Ljava/util/zip/Adler32;->update(II)I
+Ljava/util/zip/CRC32;->update(II)I
Ljava/util/zip/Deflater;->buf:[B
Ljava/util/zip/Deflater;->finish:Z
Ljava/util/zip/Deflater;->finished:Z
@@ -4437,8 +8472,17 @@
Ljava/util/zip/ZipConstants;->LOCTIM:I
Ljava/util/zip/ZipConstants;->LOCVER:I
Ljava/util/zip/ZipEntry;-><init>(Ljava/lang/String;Ljava/lang/String;JJJII[BJ)V
+Ljava/util/zip/ZipEntry;->method:I
+Ljava/util/zip/ZipFile;->close(J)V
+Ljava/util/zip/ZipFile;->getEntry(J[BZ)J
Ljava/util/zip/ZipFile;->jzfile:J
+Ljava/util/zip/ZipInputStream;->flag:I
+Ljava/util/zip/ZipInputStream;->tmpbuf:[B
+Ljava/util/zip/ZipOutputStream;->method:I
+Ljava/util/zip/ZipOutputStream;->written:J
+Ljavax/microedition/khronos/egl/EGL10;->eglReleaseThread()Z
Ljavax/net/ssl/SSLServerSocketFactory;->defaultServerSocketFactory:Ljavax/net/ssl/SSLServerSocketFactory;
+Ljavax/net/ssl/SSLSocketFactory;->createSocket(Ljava/net/Socket;Ljava/io/InputStream;Z)Ljava/net/Socket;
Ljavax/net/ssl/SSLSocketFactory;->defaultSocketFactory:Ljavax/net/ssl/SSLSocketFactory;
Llibcore/util/BasicLruCache;->map:Ljava/util/LinkedHashMap;
Llibcore/util/ZoneInfo;->mTransitions:[J
@@ -4450,6 +8494,16 @@
Lorg/json/JSONArray;->values:Ljava/util/List;
Lorg/json/JSONObject;->append(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
Lorg/json/JSONObject;->keySet()Ljava/util/Set;
+Lorg/json/JSONObject;->nameValuePairs:Ljava/util/LinkedHashMap;
Lorg/json/JSONObject;->writeTo(Lorg/json/JSONStringer;)V
+Lorg/w3c/dom/ls/LSSerializerFilter;->getWhatToShow()I
+Lorg/w3c/dom/traversal/NodeFilter;->acceptNode(Lorg/w3c/dom/Node;)S
+Lorg/w3c/dom/traversal/NodeIterator;->detach()V
Lorg/w3c/dom/traversal/NodeIterator;->nextNode()Lorg/w3c/dom/Node;
Lsun/misc/Unsafe;->theUnsafe:Lsun/misc/Unsafe;
+Lsun/misc/Unsafe;->THE_ONE:Lsun/misc/Unsafe;
+Lsun/misc/URLClassPath$JarLoader;->getJarFile()Ljava/util/jar/JarFile;
+Lsun/misc/URLClassPath;->lmap:Ljava/util/HashMap;
+Lsun/misc/URLClassPath;->loaders:Ljava/util/ArrayList;
+Lsun/misc/URLClassPath;->urls:Ljava/util/Stack;
+Lsun/security/x509/AVA;->hasRFC2253Keyword()Z
diff --git a/core/java/android/app/AppOpsManager.java b/core/java/android/app/AppOpsManager.java
index 07048f9..21a3c07 100644
--- a/core/java/android/app/AppOpsManager.java
+++ b/core/java/android/app/AppOpsManager.java
@@ -118,6 +118,13 @@
*/
public static final int MODE_FOREGROUND = 4;
+ /**
+ * Flag for {@link #startWatchingMode(String, String, int, OnOpChangedListener)}:
+ * Also get reports if the foreground state of an op's uid changes. This only works
+ * when watching a particular op, not when watching a package.
+ * @hide
+ */
+ public static final int WATCH_FOREGROUND_CHANGES = 1 << 0;
/**
* @hide
@@ -1900,6 +1907,21 @@
/**
* Monitor for changes to the operating mode for the given op in the given app package.
+ * You can watch op changes only for your UID.
+ *
+ * @param op The operation to monitor, one of OPSTR_*.
+ * @param packageName The name of the application to monitor.
+ * @param flags Option flags: any combination of {@link #WATCH_FOREGROUND_CHANGES} or 0.
+ * @param callback Where to report changes.
+ * @hide
+ */
+ public void startWatchingMode(String op, String packageName, int flags,
+ final OnOpChangedListener callback) {
+ startWatchingMode(strOpToOp(op), packageName, flags, callback);
+ }
+
+ /**
+ * Monitor for changes to the operating mode for the given op in the given app package.
*
* <p> If you don't hold the {@link android.Manifest.permission#WATCH_APPOPS} permission
* you can watch changes only for your UID.
@@ -1911,6 +1933,24 @@
*/
@RequiresPermission(value=android.Manifest.permission.WATCH_APPOPS, conditional=true)
public void startWatchingMode(int op, String packageName, final OnOpChangedListener callback) {
+ startWatchingMode(op, packageName, 0, callback);
+ }
+
+ /**
+ * Monitor for changes to the operating mode for the given op in the given app package.
+ *
+ * <p> If you don't hold the {@link android.Manifest.permission#WATCH_APPOPS} permission
+ * you can watch changes only for your UID.
+ *
+ * @param op The operation to monitor, one of OP_*.
+ * @param packageName The name of the application to monitor.
+ * @param flags Option flags: any combination of {@link #WATCH_FOREGROUND_CHANGES} or 0.
+ * @param callback Where to report changes.
+ * @hide
+ */
+ @RequiresPermission(value=android.Manifest.permission.WATCH_APPOPS, conditional=true)
+ public void startWatchingMode(int op, String packageName, int flags,
+ final OnOpChangedListener callback) {
synchronized (mModeWatchers) {
IAppOpsCallback cb = mModeWatchers.get(callback);
if (cb == null) {
@@ -1927,7 +1967,7 @@
mModeWatchers.put(callback, cb);
}
try {
- mService.startWatchingMode(op, packageName, cb);
+ mService.startWatchingModeWithFlags(op, packageName, flags, cb);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
@@ -2080,6 +2120,19 @@
}
/**
+ * Like {@link #checkOp} but returns the <em>raw</em> mode associated with the op.
+ * Does not throw a security exception, does not translate {@link #MODE_FOREGROUND}.
+ * @hide
+ */
+ public int unsafeCheckOpRaw(String op, int uid, String packageName) {
+ try {
+ return mService.checkOperation(strOpToOp(op), uid, packageName);
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
* Make note of an application performing an operation. Note that you must pass
* in both the uid and name of the application to be checked; this function will verify
* that these two match, and if not, return {@link #MODE_IGNORED}. If this call
@@ -2217,7 +2270,8 @@
*/
public int checkOpNoThrow(int op, int uid, String packageName) {
try {
- return mService.checkOperation(op, uid, packageName);
+ int mode = mService.checkOperation(op, uid, packageName);
+ return mode == AppOpsManager.MODE_FOREGROUND ? AppOpsManager.MODE_ALLOWED : mode;
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
diff --git a/core/java/android/app/LoadedApk.java b/core/java/android/app/LoadedApk.java
index 4b84ed4..ca3257f 100644
--- a/core/java/android/app/LoadedApk.java
+++ b/core/java/android/app/LoadedApk.java
@@ -736,7 +736,13 @@
}
if (!libPaths.isEmpty() && SystemProperties.getBoolean(PROPERTY_NAME_APPEND_NATIVE, true)) {
- ApplicationLoaders.getDefault().addNative(mClassLoader, libPaths);
+ // Temporarily disable logging of disk reads on the Looper thread as this is necessary
+ StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads();
+ try {
+ ApplicationLoaders.getDefault().addNative(mClassLoader, libPaths);
+ } finally {
+ StrictMode.setThreadPolicy(oldPolicy);
+ }
}
if (addedPaths != null && addedPaths.size() > 0) {
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index 327d4fe..f771cbd 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -7015,7 +7015,12 @@
contentView.setViewLayoutMarginEnd(R.id.notification_messaging,
bindResult.getIconMarginEnd());
contentView.setInt(R.id.status_bar_latest_event_content, "setLayoutColor",
- mBuilder.resolveContrastColor());
+ mBuilder.isColorized() ? mBuilder.getPrimaryTextColor()
+ : mBuilder.resolveContrastColor());
+ contentView.setInt(R.id.status_bar_latest_event_content, "setSenderTextColor",
+ mBuilder.getPrimaryTextColor());
+ contentView.setInt(R.id.status_bar_latest_event_content, "setMessageTextColor",
+ mBuilder.getSecondaryTextColor());
contentView.setBoolean(R.id.status_bar_latest_event_content, "setDisplayImagesAtEnd",
displayImagesAtEnd);
contentView.setIcon(R.id.status_bar_latest_event_content, "setLargeIcon",
diff --git a/core/java/android/content/pm/PackageItemInfo.java b/core/java/android/content/pm/PackageItemInfo.java
index 07fbfb5..52e28a4 100644
--- a/core/java/android/content/pm/PackageItemInfo.java
+++ b/core/java/android/content/pm/PackageItemInfo.java
@@ -16,6 +16,10 @@
package android.content.pm;
+import static java.lang.annotation.RetentionPolicy.SOURCE;
+
+import android.annotation.FloatRange;
+import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.SystemApi;
import android.content.res.XmlResourceParser;
@@ -29,7 +33,11 @@
import android.util.Printer;
import android.util.proto.ProtoOutputStream;
+import com.android.internal.util.Preconditions;
+
+import java.lang.annotation.Retention;
import java.text.Collator;
+import java.util.BitSet;
import java.util.Comparator;
/**
@@ -42,6 +50,47 @@
* in the implementation of Parcelable in subclasses.
*/
public class PackageItemInfo {
+ private static final int LINE_FEED_CODE_POINT = 10;
+ private static final int NBSP_CODE_POINT = 160;
+
+ /**
+ * Flags for {@link #loadSafeLabel(PackageManager, float, int)}
+ *
+ * @hide
+ */
+ @Retention(SOURCE)
+ @IntDef(flag = true, prefix = "SAFE_LABEL_FLAG_",
+ value = {SAFE_LABEL_FLAG_TRIM, SAFE_LABEL_FLAG_SINGLE_LINE,
+ SAFE_LABEL_FLAG_FIRST_LINE})
+ public @interface SafeLabelFlags {}
+
+ /**
+ * Remove {@link Character#isWhitespace(int) whitespace} and non-breaking spaces from the edges
+ * of the label.
+ *
+ * @see #loadSafeLabel(PackageManager, float, int)
+ * @hide
+ */
+ public static final int SAFE_LABEL_FLAG_TRIM = 0x1;
+
+ /**
+ * Force entire string into single line of text (no newlines). Cannot be set at the same time as
+ * {@link #SAFE_LABEL_FLAG_FIRST_LINE}.
+ *
+ * @see #loadSafeLabel(PackageManager, float, int)
+ * @hide
+ */
+ public static final int SAFE_LABEL_FLAG_SINGLE_LINE = 0x2;
+
+ /**
+ * Return only first line of text (truncate at first newline). Cannot be set at the same time as
+ * {@link #SAFE_LABEL_FLAG_SINGLE_LINE}.
+ *
+ * @see #loadSafeLabel(PackageManager, float, int)
+ * @hide
+ */
+ public static final int SAFE_LABEL_FLAG_FIRST_LINE = 0x4;
+
private static final float MAX_LABEL_SIZE_PX = 500f;
/** The maximum length of a safe label, in characters */
private static final int MAX_SAFE_LABEL_LENGTH = 50000;
@@ -164,18 +213,7 @@
}
/**
- * Same as {@link #loadLabel(PackageManager)} with the addition that
- * the returned label is safe for being presented in the UI since it
- * will not contain new lines and the length will be limited to a
- * reasonable amount. This prevents a malicious party to influence UI
- * layout via the app label misleading the user into performing a
- * detrimental for them action. If the label is too long it will be
- * truncated and ellipsized at the end.
- *
- * @param pm A PackageManager from which the label can be loaded; usually
- * the PackageManager from which you originally retrieved this item
- * @return Returns a CharSequence containing the item's label. If the
- * item does not have a label, its name is returned.
+ * Deprecated use loadSafeLabel(PackageManager, float, int) instead
*
* @hide
*/
@@ -225,6 +263,216 @@
TextUtils.TruncateAt.END);
}
+ private static boolean isNewline(int codePoint) {
+ int type = Character.getType(codePoint);
+ return type == Character.PARAGRAPH_SEPARATOR || type == Character.LINE_SEPARATOR
+ || codePoint == LINE_FEED_CODE_POINT;
+ }
+
+ private static boolean isWhiteSpace(int codePoint) {
+ return Character.isWhitespace(codePoint) || codePoint == NBSP_CODE_POINT;
+ }
+
+ /**
+ * A special string manipulation class. Just records removals and executes the when onString()
+ * is called.
+ */
+ private static class StringWithRemovedChars {
+ /** The original string */
+ private final String mOriginal;
+
+ /**
+ * One bit per char in string. If bit is set, character needs to be removed. If whole
+ * bit field is not initialized nothing needs to be removed.
+ */
+ private BitSet mRemovedChars;
+
+ StringWithRemovedChars(@NonNull String original) {
+ mOriginal = original;
+ }
+
+ /**
+ * Mark all chars in a range {@code [firstRemoved - firstNonRemoved[} (not including
+ * firstNonRemoved) as removed.
+ */
+ void removeRange(int firstRemoved, int firstNonRemoved) {
+ if (mRemovedChars == null) {
+ mRemovedChars = new BitSet(mOriginal.length());
+ }
+
+ mRemovedChars.set(firstRemoved, firstNonRemoved);
+ }
+
+ /**
+ * Remove all characters before {@code firstNonRemoved}.
+ */
+ void removeAllCharBefore(int firstNonRemoved) {
+ if (mRemovedChars == null) {
+ mRemovedChars = new BitSet(mOriginal.length());
+ }
+
+ mRemovedChars.set(0, firstNonRemoved);
+ }
+
+ /**
+ * Remove all characters after and including {@code firstRemoved}.
+ */
+ void removeAllCharAfter(int firstRemoved) {
+ if (mRemovedChars == null) {
+ mRemovedChars = new BitSet(mOriginal.length());
+ }
+
+ mRemovedChars.set(firstRemoved, mOriginal.length());
+ }
+
+ @Override
+ public String toString() {
+ // Common case, no chars removed
+ if (mRemovedChars == null) {
+ return mOriginal;
+ }
+
+ StringBuilder sb = new StringBuilder(mOriginal.length());
+ for (int i = 0; i < mOriginal.length(); i++) {
+ if (!mRemovedChars.get(i)) {
+ sb.append(mOriginal.charAt(i));
+ }
+ }
+
+ return sb.toString();
+ }
+
+ /**
+ * Return length or the original string
+ */
+ int length() {
+ return mOriginal.length();
+ }
+
+ /**
+ * Return if a certain {@code offset} of the original string is removed
+ */
+ boolean isRemoved(int offset) {
+ return mRemovedChars != null && mRemovedChars.get(offset);
+ }
+
+ /**
+ * Return codePoint of original string at a certain {@code offset}
+ */
+ int codePointAt(int offset) {
+ return mOriginal.codePointAt(offset);
+ }
+ }
+
+ /**
+ * Load, clean up and truncate label before use.
+ *
+ * <p>This method is meant to remove common mistakes and nefarious formatting from strings that
+ * are used in sensitive parts of the UI.
+ *
+ * <p>This method first treats the string like HTML and then ...
+ * <ul>
+ * <li>Removes new lines or truncates at first new line
+ * <li>Trims the white-space off the end
+ * <li>Truncates the string to a given length
+ * </ul>
+ * ... if specified.
+ *
+ * @param ellipsizeDip Assuming maximum length of the string (in dip), assuming font size 42.
+ * This is roughly 50 characters for {@code ellipsizeDip == 1000}.<br />
+ * Usually ellipsizing should be left to the view showing the string. If a
+ * string is used as an input to another string, it might be useful to
+ * control the length of the input string though. {@code 0} disables this
+ * feature.
+ * @return The safe label
+ * @hide
+ */
+ public @NonNull CharSequence loadSafeLabel(@NonNull PackageManager pm,
+ @FloatRange(from = 0) float ellipsizeDip, @SafeLabelFlags int flags) {
+ boolean onlyKeepFirstLine = ((flags & SAFE_LABEL_FLAG_FIRST_LINE) != 0);
+ boolean forceSingleLine = ((flags & SAFE_LABEL_FLAG_SINGLE_LINE) != 0);
+ boolean trim = ((flags & SAFE_LABEL_FLAG_TRIM) != 0);
+
+ Preconditions.checkNotNull(pm);
+ Preconditions.checkArgument(ellipsizeDip >= 0);
+ Preconditions.checkFlagsArgument(flags, SAFE_LABEL_FLAG_TRIM | SAFE_LABEL_FLAG_SINGLE_LINE
+ | SAFE_LABEL_FLAG_FIRST_LINE);
+ Preconditions.checkArgument(!(onlyKeepFirstLine && forceSingleLine),
+ "Cannot set SAFE_LABEL_FLAG_SINGLE_LINE and SAFE_LABEL_FLAG_FIRST_LINE at the same "
+ + "time");
+
+ // loadLabel() always returns non-null
+ String label = loadUnsafeLabel(pm).toString();
+
+ // Treat string as HTML. This
+ // - converts HTML symbols: e.g. ß -> ß
+ // - applies some HTML tags: e.g. <br> -> \n
+ // - removes invalid characters such as \b
+ // - removes html styling, such as <b>
+ // - applies html formatting: e.g. a<p>b</p>c -> a\n\nb\n\nc
+ // - replaces some html tags by "object replacement" markers: <img> -> \ufffc
+ // - Removes leading white space
+ // - Removes all trailing white space beside a single space
+ // - Collapses double white space
+ StringWithRemovedChars labelStr = new StringWithRemovedChars(
+ Html.fromHtml(label).toString());
+
+ int firstNonWhiteSpace = -1;
+ int firstTrailingWhiteSpace = -1;
+
+ // Remove new lines (if requested) and control characters.
+ int labelLength = labelStr.length();
+ for (int offset = 0; offset < labelLength; ) {
+ int codePoint = labelStr.codePointAt(offset);
+ int type = Character.getType(codePoint);
+ int codePointLen = Character.charCount(codePoint);
+ boolean isNewline = isNewline(codePoint);
+
+ if (offset > MAX_SAFE_LABEL_LENGTH || onlyKeepFirstLine && isNewline) {
+ labelStr.removeAllCharAfter(offset);
+ break;
+ } else if (forceSingleLine && isNewline) {
+ labelStr.removeRange(offset, offset + codePointLen);
+ } else if (type == Character.CONTROL && !isNewline) {
+ labelStr.removeRange(offset, offset + codePointLen);
+ } else if (trim && !isWhiteSpace(codePoint)) {
+ // This is only executed if the code point is not removed
+ if (firstNonWhiteSpace == -1) {
+ firstNonWhiteSpace = offset;
+ }
+ firstTrailingWhiteSpace = offset + codePointLen;
+ }
+
+ offset += codePointLen;
+ }
+
+ if (trim) {
+ // Remove leading and trailing white space
+ if (firstNonWhiteSpace == -1) {
+ // No non whitespace found, remove all
+ labelStr.removeAllCharAfter(0);
+ } else {
+ if (firstNonWhiteSpace > 0) {
+ labelStr.removeAllCharBefore(firstNonWhiteSpace);
+ }
+ if (firstTrailingWhiteSpace < labelLength) {
+ labelStr.removeAllCharAfter(firstTrailingWhiteSpace);
+ }
+ }
+ }
+
+ if (ellipsizeDip == 0) {
+ return labelStr.toString();
+ } else {
+ // Truncate
+ final TextPaint paint = new TextPaint();
+ paint.setTextSize(42);
+
+ return TextUtils.ellipsize(labelStr.toString(), paint, ellipsizeDip,
+ TextUtils.TruncateAt.END);
+ }
+ }
+
/**
* Retrieve the current graphical icon associated with this item. This
* will call back on the given PackageManager to load the icon from
diff --git a/core/java/android/hardware/Camera.java b/core/java/android/hardware/Camera.java
index 1b80d3d5..9154ce0 100644
--- a/core/java/android/hardware/Camera.java
+++ b/core/java/android/hardware/Camera.java
@@ -1660,23 +1660,29 @@
* @see ShutterCallback
*/
public final boolean enableShutterSound(boolean enabled) {
- if (!enabled) {
- IBinder b = ServiceManager.getService(Context.AUDIO_SERVICE);
- IAudioService audioService = IAudioService.Stub.asInterface(b);
- try {
- if (audioService.isCameraSoundForced()) return false;
- } catch (RemoteException e) {
- Log.e(TAG, "Audio service is unavailable for queries");
+ boolean canDisableShutterSound = true;
+ IBinder b = ServiceManager.getService(Context.AUDIO_SERVICE);
+ IAudioService audioService = IAudioService.Stub.asInterface(b);
+ try {
+ if (audioService.isCameraSoundForced()) {
+ canDisableShutterSound = false;
}
+ } catch (RemoteException e) {
+ Log.e(TAG, "Audio service is unavailable for queries");
+ }
+ if (!enabled && !canDisableShutterSound) {
+ return false;
}
synchronized (mShutterSoundLock) {
- if (enabled && mHasAppOpsPlayAudio) {
- Log.i(TAG, "Shutter sound is not allowed by AppOpsManager");
- return false;
- }
+ mShutterSoundEnabledFromApp = enabled;
+ // Return the result of _enableShutterSound(enabled) in all cases.
+ // If the shutter sound can be disabled, disable it when the device is in DnD mode.
boolean ret = _enableShutterSound(enabled);
- if (ret) {
- mShutterSoundEnabledFromApp = enabled;
+ if (enabled && !mHasAppOpsPlayAudio) {
+ Log.i(TAG, "Shutter sound is not allowed by AppOpsManager");
+ if (canDisableShutterSound) {
+ _enableShutterSound(false);
+ }
}
return ret;
}
@@ -1739,9 +1745,18 @@
}
if (oldHasAppOpsPlayAudio != mHasAppOpsPlayAudio) {
if (!mHasAppOpsPlayAudio) {
+ IBinder b = ServiceManager.getService(Context.AUDIO_SERVICE);
+ IAudioService audioService = IAudioService.Stub.asInterface(b);
+ try {
+ if (audioService.isCameraSoundForced()) {
+ return;
+ }
+ } catch (RemoteException e) {
+ Log.e(TAG, "Audio service is unavailable for queries");
+ }
_enableShutterSound(false);
} else {
- _enableShutterSound(mShutterSoundEnabledFromApp);
+ enableShutterSound(mShutterSoundEnabledFromApp);
}
}
}
diff --git a/core/java/android/os/ConfigUpdate.java b/core/java/android/os/ConfigUpdate.java
index dda0ed8..53b1c51 100644
--- a/core/java/android/os/ConfigUpdate.java
+++ b/core/java/android/os/ConfigUpdate.java
@@ -90,6 +90,14 @@
public static final String ACTION_UPDATE_NETWORK_WATCHLIST
= "android.intent.action.UPDATE_NETWORK_WATCHLIST";
+ /**
+ * Update carrier id config file.
+ * @hide
+ */
+ @SystemApi
+ public static final String ACTION_UPDATE_CARRIER_ID_DB
+ = "android.os.action.UPDATE_CARRIER_ID_DB";
+
private ConfigUpdate() {
}
}
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 98d9bea..8543b26 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -8902,6 +8902,14 @@
public static final String PRIV_APP_OOB_ENABLED = "priv_app_oob_enabled";
/**
+ * Comma separated list of privileged package names, which will be running out-of-box APK.
+ * Default: "ALL"
+ *
+ * @hide
+ */
+ public static final String PRIV_APP_OOB_LIST = "priv_app_oob_list";
+
+ /**
* The interval in milliseconds at which location requests will be throttled when they are
* coming from the background.
*
@@ -10417,6 +10425,25 @@
public static final String ACTIVITY_MANAGER_CONSTANTS = "activity_manager_constants";
/**
+ * App ops specific settings.
+ * This is encoded as a key=value list, separated by commas. Ex:
+ *
+ * "state_settle_time=10000"
+ *
+ * The following keys are supported:
+ *
+ * <pre>
+ * state_settle_time (long)
+ * </pre>
+ *
+ * <p>
+ * Type: string
+ * @hide
+ * @see com.android.server.AppOpsService.Constants
+ */
+ public static final String APP_OPS_CONSTANTS = "app_ops_constants";
+
+ /**
* Device Idle (Doze) specific settings.
* This is encoded as a key=value list, separated by commas. Ex:
*
diff --git a/core/java/android/se/omapi/SEService.java b/core/java/android/se/omapi/SEService.java
index 14727f0..00060ab 100644
--- a/core/java/android/se/omapi/SEService.java
+++ b/core/java/android/se/omapi/SEService.java
@@ -253,7 +253,7 @@
* @return String containing the OpenMobile API version (e.g. "3.0").
*/
public @NonNull String getVersion() {
- return "3.2";
+ return "3.3";
}
@NonNull ISecureElementListener getListener() {
diff --git a/core/java/android/security/keystore/recovery/TrustedRootCertificates.java b/core/java/android/security/keystore/recovery/TrustedRootCertificates.java
index c5f82c1..a96dab6 100644
--- a/core/java/android/security/keystore/recovery/TrustedRootCertificates.java
+++ b/core/java/android/security/keystore/recovery/TrustedRootCertificates.java
@@ -73,34 +73,34 @@
"INSECURE_PSWD_";
private static final String GOOGLE_CLOUD_KEY_VAULT_SERVICE_V1_BASE64 = ""
- + "MIIFDzCCAvegAwIBAgIQbNdueU2o0vM9gGq4N6bhjzANBgkqhkiG9w0BAQsFADAx"
- + "MS8wLQYDVQQDEyZHb29nbGUgQ2xvdWQgS2V5IFZhdWx0IFNlcnZpY2UgUm9vdCBD"
- + "QTAeFw0xODA1MDcxODI0MDJaFw0zODA1MDgxOTI0MDJaMDExLzAtBgNVBAMTJkdv"
- + "b2dsZSBDbG91ZCBLZXkgVmF1bHQgU2VydmljZSBSb290IENBMIICIjANBgkqhkiG"
- + "9w0BAQEFAAOCAg8AMIICCgKCAgEArUgzu+4o9yl22eql1BiGBq3gWXooh2ql3J+v"
- + "Vuzf/ThjzdIg0xkkkw/NAFxYFi49Eo1fa/hf8wCIoAqCEs1lD6tE3cCD3T3+EQPq"
- + "uh6CB2KmZDJ6mPnXvVUlUuFr0O2MwZkwylqBETzK0x5NCHgL/p47vkjhHx6LqVao"
- + "bigKlHxszvVi4fkt/qq7KW3YTVxhwdLGEab+OqSfwMxdBLhMfE0K0dvFt8bs8yJA"
- + "F04DJsMbRChFFBpT17Z0u53iIAAu5qVQhKrQXiIAwgboZqd+JkHLXU1fJeVT5WJO"
- + "JgoJFWHkdWkHta4mSYlS72J1Q927JD1JdET1kFtH+EDtYAtx7x7F9xAAbb2tMITw"
- + "s/wwd2rAzZTX/kxRbDlXVLToU05LFYPr+dFV1wvXmi0jlkIxnhdaVBqWC93p528U"
- + "iUcLpib+HVzMWGdYI3G1NOa/lTp0c8LcbJjapiiVneRQJ3cIqDPOSEnEq40hyZd1"
- + "jx3JnOxJMwHs8v4s9GIlb3BcOmDvA/Mu09xEMKwpHBm4TFDKXeGHOWha7ccWEECb"
- + "yO5ncu6XuN2iyz9S+TuMyjZBE552p6Pu5gEC2xk+qab0NGDTHdLKLbyWn3IxdmBH"
- + "yTr7iPCqmpyHngkC/pbGfvGusc5BpBugsBtlz67m4RWLJ72yAeVPO/ly/8w4orNs"
- + "GWjn3s0CAwEAAaMjMCEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8w"
- + "DQYJKoZIhvcNAQELBQADggIBAGiWlu+4qyxgPb6RsA0mwR7V21UJ9rEpYhSN+ARp"
- + "TWGiI22RCJSGK0ZrPGeFQzE2BpnVRdmLTV5jf9JUStjHoPvNYFnwLTJ0E2e9Olj8"
- + "MrHrAucAUFLhl4woWz0kU/X0EB1j6Y2SXrAaZPiMMpq8BKj3mH1MbV4stZ0kiHUp"
- + "Zu6PEmrojYG7FKKN30na2xXfiOfl2JusVsyHDqmUn/HjTh6zASKqE6hxE+FJRl2V"
- + "Q4dcr4SviHtdbimMy2LghLnZ4FE4XhJgRnw9TeRV5C9Sn7pmnAA5X0C8ZXhXvfvr"
- + "dx4fL3UKlk1Lqlb5skxoK1R9wwr+aNIO+cuR8JA5DmEDWFw5Budh/uWWZlBTyVW2"
- + "ybbTB6tkmOc8c08XOgxBaKrsXALmJcluabjmN1jp81ae1epeN31jJ4N5IE5aq7Xb"
- + "TFmKkwpgTTvJmqCR2XzWujlvdbdjfiABliWsnLzLQCP8eZwcM4LA5UK3f1ktHolr"
- + "1OI9etSOkebE2py8LPYBJWlX36tRAagZhU/NoyOtvhRzq9rb3rbf96APEHKUFsXG"
- + "9nBEd2BUKZghLKPf+JNCU/2pOGx0jdMcf+K+a1DeG0YzGYMRkFvpN3hvHYrJdByL"
- + "3kSP3UtD0H2g8Ps7gRLELG2HODxbSn8PV3XtuSvxVanA6uyaaS3AZ6SxeVLvmw50"
- + "7aYI";
+ + "MIIFJjCCAw6gAwIBAgIJAIobXsJlzhNdMA0GCSqGSIb3DQEBDQUAMCAxHjAcBgNV"
+ + "BAMMFUdvb2dsZSBDcnlwdEF1dGhWYXVsdDAeFw0xODAyMDIxOTM5MTRaFw0zODAx"
+ + "MjgxOTM5MTRaMCAxHjAcBgNVBAMMFUdvb2dsZSBDcnlwdEF1dGhWYXVsdDCCAiIw"
+ + "DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK2OT5i40/H7LINg/lq/0G0hR65P"
+ + "Q4Mud3OnuVt6UIYV2T18+v6qW1yJd5FcnND/ZKPau4aUAYklqJuSVjOXQD0BjgS2"
+ + "98Xa4dSn8Ci1rUR+5tdmrxqbYUdT2ZvJIUMMR6fRoqi+LlAbKECrV+zYQTyLU68w"
+ + "V66hQpAButjJKiZzkXjmKLfJ5IWrNEn17XM988rk6qAQn/BYCCQGf3rQuJeksGmA"
+ + "N1lJOwNYxmWUyouVwqwZthNEWqTuEyBFMkAT+99PXW7oVDc7oU5cevuihxQWNTYq"
+ + "viGB8cck6RW3cmqrDSaJF/E+N0cXFKyYC7FDcggt6k3UrxNKTuySdDEa8+2RTQqU"
+ + "Y9npxBlQE+x9Ig56OI1BG3bSBsGdPgjpyHadZeh2tgk+oqlGsSsum24YxaxuSysT"
+ + "Qfcu/XhyfUXavfmGrBOXerTzIl5oBh/F5aHTV85M2tYEG0qsPPvSpZAWtdJ/2rca"
+ + "OxvhwOL+leZKr8McjXVR00lBsRuKXX4nTUMwya09CO3QHFPFZtZvqjy2HaMOnVLQ"
+ + "I6b6dHEfmsHybzVOe3yPEoFQSU9UhUdmi71kwwoanPD3j9fJHmXTx4PzYYBRf1ZE"
+ + "o+uPgMPk7CDKQFZLjnR40z1uzu3O8aZ3AKZzP+j7T4XQKJLQLmllKtPgLgNdJyib"
+ + "2Glg7QhXH/jBTL6hAgMBAAGjYzBhMB0GA1UdDgQWBBSbZfrqOYH54EJpkdKMZjMc"
+ + "z/Hp+DAfBgNVHSMEGDAWgBSbZfrqOYH54EJpkdKMZjMcz/Hp+DAPBgNVHRMBAf8E"
+ + "BTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQ0FAAOCAgEAKh9nm/vW"
+ + "glMWp3vcCwWwJW286ecREDlI+CjGh5h+f2N4QRrXd/tKE3qQJWCqGx8sFfIUjmI7"
+ + "KYdsC2gyQ2cA2zl0w7pB2QkuqE6zVbnh1D17Hwl19IMyAakFaM9ad4/EoH7oQmqX"
+ + "nF/f5QXGZw4kf1HcgKgoCHWXjqR8MqHOcXR8n6WFqxjzJf1jxzi6Yo2dZ7PJbnE6"
+ + "+kHIJuiCpiHL75v5g1HM41gT3ddFFSrn88ThNPWItT5Z8WpFjryVzank2Yt02LLl"
+ + "WqZg9IC375QULc5B58NMnaiVJIDJQ8zoNgj1yaxqtUMnJX570lotO2OXe4ec9aCQ"
+ + "DIJ84YLM/qStFdeZ9416E80dchskbDG04GuVJKlzWjxAQNMRFhyaPUSBTLLg+kwP"
+ + "t9+AMmc+A7xjtFQLZ9fBYHOBsndJOmeSQeYeckl+z/1WQf7DdwXn/yijon7mxz4z"
+ + "cCczfKwTJTwBh3wR5SQr2vQm7qaXM87qxF8PCAZrdZaw5I80QwkgTj0WTZ2/GdSw"
+ + "d3o5SyzzBAjpwtG+4bO/BD9h9wlTsHpT6yWOZs4OYAKU5ykQrncI8OyavMggArh3"
+ + "/oM58v0orUWINtIc2hBlka36PhATYQiLf+AiWKnwhCaaHExoYKfQlMtXBodNvOK8"
+ + "xqx69x05q/qbHKEcTHrsss630vxrp1niXvA=";
private static final String TEST_ONLY_INSECURE_CERTIFICATE_BASE64 = ""
+ "MIIFMDCCAxigAwIBAgIJAIZ9/G8KQie9MA0GCSqGSIb3DQEBDQUAMCUxIzAhBgNV"
@@ -134,6 +134,8 @@
/**
* The X509 certificate of the trusted root CA cert for the recoverable key store service.
+ *
+ * TODO: Change it to the production certificate root CA before the final launch.
*/
private static final X509Certificate GOOGLE_CLOUD_KEY_VAULT_SERVICE_V1_CERTIFICATE =
parseBase64Certificate(GOOGLE_CLOUD_KEY_VAULT_SERVICE_V1_BASE64);
diff --git a/core/java/com/android/internal/app/IAppOpsService.aidl b/core/java/com/android/internal/app/IAppOpsService.aidl
index 2505ea5..0ed9724 100644
--- a/core/java/com/android/internal/app/IAppOpsService.aidl
+++ b/core/java/com/android/internal/app/IAppOpsService.aidl
@@ -54,4 +54,6 @@
void startWatchingActive(in int[] ops, IAppOpsActiveCallback callback);
void stopWatchingActive(IAppOpsActiveCallback callback);
boolean isOperationActive(int code, int uid, String packageName);
+
+ void startWatchingModeWithFlags(int op, String packageName, int flags, IAppOpsCallback callback);
}
diff --git a/core/java/com/android/internal/os/Zygote.java b/core/java/com/android/internal/os/Zygote.java
index cbd3ad5..4ee950a 100644
--- a/core/java/com/android/internal/os/Zygote.java
+++ b/core/java/com/android/internal/os/Zygote.java
@@ -68,6 +68,10 @@
*/
public static final int API_ENFORCEMENT_POLICY_SHIFT =
Integer.numberOfTrailingZeros(API_ENFORCEMENT_POLICY_MASK);
+ /**
+ * Enable system server ART profiling.
+ */
+ public static final int PROFILE_SYSTEM_SERVER = 1 << 14;
/** No external storage should be mounted. */
public static final int MOUNT_EXTERNAL_NONE = IVold.REMOUNT_MODE_NONE;
diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java
index 33049be..da19560 100644
--- a/core/java/com/android/internal/os/ZygoteInit.java
+++ b/core/java/com/android/internal/os/ZygoteInit.java
@@ -702,6 +702,12 @@
ZygoteConnection.applyDebuggerSystemProperty(parsedArgs);
ZygoteConnection.applyInvokeWithSystemProperty(parsedArgs);
+ boolean profileSystemServer = SystemProperties.getBoolean(
+ "dalvik.vm.profilesystemserver", false);
+ if (profileSystemServer) {
+ parsedArgs.runtimeFlags |= Zygote.PROFILE_SYSTEM_SERVER;
+ }
+
/* Request to fork the system server process */
pid = Zygote.forkSystemServer(
parsedArgs.uid, parsedArgs.gid,
diff --git a/core/java/com/android/internal/policy/PhoneFallbackEventHandler.java b/core/java/com/android/internal/policy/PhoneFallbackEventHandler.java
index ebc2c71..1959301 100644
--- a/core/java/com/android/internal/policy/PhoneFallbackEventHandler.java
+++ b/core/java/com/android/internal/policy/PhoneFallbackEventHandler.java
@@ -23,7 +23,7 @@
import android.content.Intent;
import android.content.res.Configuration;
import android.media.AudioManager;
-import android.media.session.MediaSessionLegacyHelper;
+import android.media.session.MediaSessionManager;
import android.os.UserHandle;
import android.provider.Settings;
import android.telephony.TelephonyManager;
@@ -48,6 +48,7 @@
KeyguardManager mKeyguardManager;
SearchManager mSearchManager;
TelephonyManager mTelephonyManager;
+ MediaSessionManager mMediaSessionManager;
public PhoneFallbackEventHandler(Context context) {
mContext = context;
@@ -84,8 +85,7 @@
case KeyEvent.KEYCODE_VOLUME_UP:
case KeyEvent.KEYCODE_VOLUME_DOWN:
case KeyEvent.KEYCODE_VOLUME_MUTE: {
- MediaSessionLegacyHelper.getHelper(mContext).sendVolumeKeyEvent(
- event, AudioManager.USE_DEFAULT_STREAM_TYPE, false);
+ handleVolumeKeyEvent(event);
return true;
}
@@ -216,8 +216,7 @@
case KeyEvent.KEYCODE_VOLUME_DOWN:
case KeyEvent.KEYCODE_VOLUME_MUTE: {
if (!event.isCanceled()) {
- MediaSessionLegacyHelper.getHelper(mContext).sendVolumeKeyEvent(
- event, AudioManager.USE_DEFAULT_STREAM_TYPE, false);
+ handleVolumeKeyEvent(event);
}
return true;
}
@@ -306,12 +305,25 @@
return mAudioManager;
}
+ MediaSessionManager getMediaSessionManager() {
+ if (mMediaSessionManager == null) {
+ mMediaSessionManager =
+ (MediaSessionManager) mContext.getSystemService(Context.MEDIA_SESSION_SERVICE);
+ }
+ return mMediaSessionManager;
+ }
+
void sendCloseSystemWindows() {
PhoneWindow.sendCloseSystemWindows(mContext, null);
}
+ private void handleVolumeKeyEvent(KeyEvent keyEvent) {
+ getMediaSessionManager().dispatchVolumeKeyEventAsSystemService(keyEvent,
+ AudioManager.USE_DEFAULT_STREAM_TYPE);
+ }
+
private void handleMediaKeyEvent(KeyEvent keyEvent) {
- MediaSessionLegacyHelper.getHelper(mContext).sendMediaButtonEvent(keyEvent, false);
+ getMediaSessionManager().dispatchMediaKeyEventAsSystemService(keyEvent);
}
private boolean isUserSetupComplete() {
diff --git a/core/java/com/android/internal/policy/PhoneWindow.java b/core/java/com/android/internal/policy/PhoneWindow.java
index 7ea023e..3fe8f85 100644
--- a/core/java/com/android/internal/policy/PhoneWindow.java
+++ b/core/java/com/android/internal/policy/PhoneWindow.java
@@ -23,6 +23,7 @@
import android.app.ActivityManager;
import android.app.SearchManager;
+import android.media.session.MediaSessionManager;
import android.os.UserHandle;
import android.text.TextUtils;
@@ -74,7 +75,6 @@
import android.graphics.drawable.Drawable;
import android.media.AudioManager;
import android.media.session.MediaController;
-import android.media.session.MediaSessionLegacyHelper;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
@@ -252,6 +252,7 @@
private AudioManager mAudioManager;
private KeyguardManager mKeyguardManager;
+ private MediaSessionManager mMediaSessionManager;
private int mUiOptions = 0;
@@ -1873,22 +1874,10 @@
// If we have a session send it the volume command, otherwise
// use the suggested stream.
if (mMediaController != null) {
- int direction = 0;
- switch (keyCode) {
- case KeyEvent.KEYCODE_VOLUME_UP:
- direction = AudioManager.ADJUST_RAISE;
- break;
- case KeyEvent.KEYCODE_VOLUME_DOWN:
- direction = AudioManager.ADJUST_LOWER;
- break;
- case KeyEvent.KEYCODE_VOLUME_MUTE:
- direction = AudioManager.ADJUST_TOGGLE_MUTE;
- break;
- }
- mMediaController.adjustVolume(direction, AudioManager.FLAG_SHOW_UI);
+ mMediaController.dispatchVolumeButtonEventAsSystemService(event);
} else {
- MediaSessionLegacyHelper.getHelper(getContext()).sendVolumeKeyEvent(
- event, mVolumeControlStreamType, false);
+ getMediaSessionManager().dispatchVolumeKeyEventAsSystemService(event,
+ mVolumeControlStreamType);
}
return true;
}
@@ -1906,7 +1895,7 @@
case KeyEvent.KEYCODE_MEDIA_RECORD:
case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD: {
if (mMediaController != null) {
- if (mMediaController.dispatchMediaButtonEvent(event)) {
+ if (mMediaController.dispatchMediaButtonEventAsSystemService(event)) {
return true;
}
}
@@ -1948,6 +1937,14 @@
return mAudioManager;
}
+ private MediaSessionManager getMediaSessionManager() {
+ if (mMediaSessionManager == null) {
+ mMediaSessionManager = (MediaSessionManager) getContext().getSystemService(
+ Context.MEDIA_SESSION_SERVICE);
+ }
+ return mMediaSessionManager;
+ }
+
/**
* A key was released and not handled by anything else in the window.
*
@@ -1969,12 +1966,10 @@
// If we have a session send it the volume command, otherwise
// use the suggested stream.
if (mMediaController != null) {
- final int flags = AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_VIBRATE
- | AudioManager.FLAG_FROM_KEY;
- mMediaController.adjustVolume(0, flags);
+ mMediaController.dispatchVolumeButtonEventAsSystemService(event);
} else {
- MediaSessionLegacyHelper.getHelper(getContext()).sendVolumeKeyEvent(
- event, mVolumeControlStreamType, false);
+ getMediaSessionManager().dispatchVolumeKeyEventAsSystemService(
+ event, mVolumeControlStreamType);
}
return true;
}
@@ -1983,8 +1978,8 @@
// doesn't have one of these. In this case, we execute it here and
// eat the event instead, because we have mVolumeControlStreamType
// and they don't.
- MediaSessionLegacyHelper.getHelper(getContext()).sendVolumeKeyEvent(
- event, AudioManager.USE_DEFAULT_STREAM_TYPE, false);
+ getMediaSessionManager().dispatchVolumeKeyEventAsSystemService(
+ event, AudioManager.USE_DEFAULT_STREAM_TYPE);
return true;
}
// These are all the recognized media key codes in
@@ -2001,7 +1996,7 @@
case KeyEvent.KEYCODE_MEDIA_RECORD:
case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD: {
if (mMediaController != null) {
- if (mMediaController.dispatchMediaButtonEvent(event)) {
+ if (mMediaController.dispatchMediaButtonEventAsSystemService(event)) {
return true;
}
}
diff --git a/core/java/com/android/internal/util/NotificationColorUtil.java b/core/java/com/android/internal/util/NotificationColorUtil.java
index 0f13078..318bccf 100644
--- a/core/java/com/android/internal/util/NotificationColorUtil.java
+++ b/core/java/com/android/internal/util/NotificationColorUtil.java
@@ -418,10 +418,23 @@
*
* @param isBgDarker {@code true} if {@code bg} is darker than {@code color}.
*/
- private static int ensureTextContrast(int color, int bg, boolean isBgDarker) {
+ public static int ensureTextContrast(int color, int bg, boolean isBgDarker) {
+ return ensureContrast(color, bg, isBgDarker, 4.5);
+ }
+
+ /**
+ * Finds a color with sufficient contrast over bg that has the same or darker hue as the
+ * original color, depending on the value of {@code isBgDarker}.
+ *
+ * @param color the color to start searching from
+ * @param bg the color to ensure contrast against
+ * @param isBgDarker {@code true} if {@code bg} is darker than {@code color}
+ * @param minRatio the minimum contrast ratio required
+ */
+ public static int ensureContrast(int color, int bg, boolean isBgDarker, double minRatio) {
return isBgDarker
- ? findContrastColorAgainstDark(color, bg, true, 4.5)
- : findContrastColor(color, bg, true, 4.5);
+ ? findContrastColorAgainstDark(color, bg, true, minRatio)
+ : findContrastColor(color, bg, true, minRatio);
}
/** Finds a background color for a text view with given text color and hint text color, that
diff --git a/core/java/com/android/internal/widget/MessagingGroup.java b/core/java/com/android/internal/widget/MessagingGroup.java
index b9a8864..7116f3a 100644
--- a/core/java/com/android/internal/widget/MessagingGroup.java
+++ b/core/java/com/android/internal/widget/MessagingGroup.java
@@ -148,8 +148,6 @@
}
mAvatarView.setVisibility(VISIBLE);
mSenderName.setVisibility(TextUtils.isEmpty(nameOverride) ? GONE : VISIBLE);
- mTextColor = getNormalTextColor();
- mSendingTextColor = calculateSendingTextColor();
}
public void setSending(boolean sending) {
@@ -160,10 +158,6 @@
}
}
- private int getNormalTextColor() {
- return mContext.getColor(R.color.notification_secondary_text_color_light);
- }
-
private int calculateSendingTextColor() {
TypedValue alphaValue = new TypedValue();
mContext.getResources().getValue(
@@ -363,6 +357,13 @@
}
}
+ public void setTextColors(int senderTextColor, int messageTextColor) {
+ mTextColor = messageTextColor;
+ mSendingTextColor = calculateSendingTextColor();
+ updateMessageColor();
+ mSenderName.setTextColor(senderTextColor);
+ }
+
public void setLayoutColor(int layoutColor) {
if (layoutColor != mLayoutColor){
mLayoutColor = layoutColor;
diff --git a/core/java/com/android/internal/widget/MessagingLayout.java b/core/java/com/android/internal/widget/MessagingLayout.java
index 538ea11..79576bd 100644
--- a/core/java/com/android/internal/widget/MessagingLayout.java
+++ b/core/java/com/android/internal/widget/MessagingLayout.java
@@ -73,6 +73,8 @@
private ArrayList<MessagingGroup> mGroups = new ArrayList<>();
private TextView mTitleView;
private int mLayoutColor;
+ private int mSenderTextColor;
+ private int mMessageTextColor;
private int mAvatarSize;
private Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
private Paint mTextPaint = new Paint();
@@ -301,6 +303,16 @@
mIsOneToOne = oneToOne;
}
+ @RemotableViewMethod
+ public void setSenderTextColor(int color) {
+ mSenderTextColor = color;
+ }
+
+ @RemotableViewMethod
+ public void setMessageTextColor(int color) {
+ mMessageTextColor = color;
+ }
+
public void setUser(Person user) {
mUser = user;
if (mUser.getIcon() == null) {
@@ -344,6 +356,7 @@
}
newGroup.setDisplayImagesAtEnd(mDisplayImagesAtEnd);
newGroup.setLayoutColor(mLayoutColor);
+ newGroup.setTextColors(mSenderTextColor, mMessageTextColor);
Person sender = senders.get(groupIndex);
CharSequence nameOverride = null;
if (sender != mUser && mNameReplacement != null) {
diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp
index f8dd7ac..9da3b21 100644
--- a/core/jni/AndroidRuntime.cpp
+++ b/core/jni/AndroidRuntime.cpp
@@ -747,6 +747,12 @@
jittransitionweightOptBuf,
"-Xjittransitionweight:");
+ property_get("dalvik.vm.profilebootimage", propBuf, "");
+ if (strcmp(propBuf, "true") == 0) {
+ addOption("-Xps-profile-boot-class-path");
+ addOption("-Xps-profile-aot-code");
+ }
+
/*
* Madvise related options.
*/
diff --git a/core/jni/android/graphics/ImageDecoder.cpp b/core/jni/android/graphics/ImageDecoder.cpp
index 3ea6049..df735ae 100644
--- a/core/jni/android/graphics/ImageDecoder.cpp
+++ b/core/jni/android/graphics/ImageDecoder.cpp
@@ -139,18 +139,9 @@
return throw_exception(env, ImageDecoder::kSourceMalformedData, "Could not open file",
nullptr, source);
}
+
std::unique_ptr<SkFILEStream> fileStream(new SkFILEStream(file));
-
- if (::lseek(descriptor, 0, SEEK_CUR) == 0) {
- return native_create(env, std::move(fileStream), source);
- }
-
- // FIXME: This allows us to pretend the current location is the beginning,
- // but it would be better if SkFILEStream allowed treating its starting
- // point as the beginning.
- std::unique_ptr<SkStream> stream(SkFrontBufferedStream::Make(std::move(fileStream),
- SkCodec::MinBufferedBytesNeeded()));
- return native_create(env, std::move(stream), source);
+ return native_create(env, std::move(fileStream), source);
}
static jobject ImageDecoder_nCreateInputStream(JNIEnv* env, jobject /*clazz*/,
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index 1f8d43c..87d8915 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -4262,7 +4262,7 @@
<receiver android:name="com.android.server.updates.CarrierIdInstallReceiver"
android:permission="android.permission.UPDATE_CONFIG">
<intent-filter>
- <action android:name="com.android.internal.intent.action.UPDATE_CARRIER_ID_DB" />
+ <action android:name="android.os.action.UPDATE_CARRIER_ID_DB" />
<data android:scheme="content" android:host="*" android:mimeType="*/*" />
</intent-filter>
</receiver>
diff --git a/core/res/res/layout/notification_template_material_ambient.xml b/core/res/res/layout/notification_template_material_ambient.xml
index fdc9f01..c8864c2 100644
--- a/core/res/res/layout/notification_template_material_ambient.xml
+++ b/core/res/res/layout/notification_template_material_ambient.xml
@@ -59,7 +59,7 @@
android:singleLine="true"
android:ellipsize="marquee"
android:fadingEdge="horizontal"
- android:textSize="24sp"
+ android:textSize="@dimen/notification_ambient_title_text_size"
android:textColor="#ffffffff"
/>
<TextView android:id="@+id/text"
@@ -70,7 +70,7 @@
android:layout_weight="1"
android:gravity="top|center_horizontal"
android:visibility="gone"
- android:textSize="16sp"
+ android:textSize="@dimen/notification_ambient_text_size"
android:textColor="#eeffffff"
android:layout_marginTop="4dp"
android:ellipsize="end"
diff --git a/core/res/res/values/colors.xml b/core/res/res/values/colors.xml
index 095a632..79a7b90 100644
--- a/core/res/res/values/colors.xml
+++ b/core/res/res/values/colors.xml
@@ -137,7 +137,7 @@
<color name="notification_primary_text_color_light">@color/primary_text_default_material_light</color>
<color name="notification_primary_text_color_dark">@color/primary_text_default_material_dark</color>
<color name="notification_secondary_text_color_light">@color/primary_text_default_material_light</color>
- <item name="notification_secondary_text_disabled_alpha" format="float" type="dimen">0.30</item>
+ <item name="notification_secondary_text_disabled_alpha" format="float" type="dimen">0.38</item>
<color name="notification_secondary_text_color_dark">@color/primary_text_default_material_dark</color>
<color name="notification_default_color_dark">@color/primary_text_default_material_light</color>
<color name="notification_default_color_light">#a3202124</color>
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 780cda2..dd869dc 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -665,7 +665,7 @@
<!-- Wifi driver supports IEEE80211AC for softap -->
<bool translatable="false" name="config_wifi_softap_ieee80211ac_supported">false</bool>
-
+
<!-- Flag indicating whether the we should enable the automatic brightness in Settings.
Software implementation will be used if config_hardware_auto_brightness_available is not set -->
<bool name="config_automatic_brightness_available">false</bool>
@@ -3423,4 +3423,8 @@
<!-- Package name for ManagedProvisioning which is responsible for provisioning work profiles. -->
<string name="config_managed_provisioning_package" translatable="false">com.android.managedprovisioning</string>
+
+ <!-- Whether or not swipe up gesture is enabled by default -->
+ <bool name="config_swipe_up_gesture_default">false</bool>
+
</resources>
diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml
index 791f7c6..2e8c7f9 100644
--- a/core/res/res/values/dimens.xml
+++ b/core/res/res/values/dimens.xml
@@ -374,6 +374,10 @@
<dimen name="notification_title_text_size">14sp</dimen>
<!-- Size of smaller notification text (see TextAppearance.StatusBar.EventContent.Line2, Info, Time) -->
<dimen name="notification_subtext_size">12sp</dimen>
+ <!-- Size of notification text (see TextAppearance.StatusBar.EventContent) -->
+ <dimen name="notification_ambient_text_size">16sp</dimen>
+ <!-- Size of notification text titles (see TextAppearance.StatusBar.EventContent.Title) -->
+ <dimen name="notification_ambient_title_text_size">24sp</dimen>
<!-- Top padding for notifications in the standard layout. -->
<dimen name="notification_top_pad">10dp</dimen>
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index de9f3b0..db2aa8e 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -3301,6 +3301,8 @@
<java-symbol type="string" name="shortcut_restore_signature_mismatch" />
<java-symbol type="string" name="shortcut_restore_unknown_issue" />
+ <java-symbol type="bool" name="config_swipe_up_gesture_default" />
+
<!-- From media projection -->
<java-symbol type="string" name="config_mediaProjectionPermissionDialogComponent" />
<java-symbol type="string" name="config_batterySaverDeviceSpecificConfig" />
diff --git a/core/tests/coretests/src/android/provider/SettingsBackupTest.java b/core/tests/coretests/src/android/provider/SettingsBackupTest.java
index ceb58f6..18bc20c 100644
--- a/core/tests/coretests/src/android/provider/SettingsBackupTest.java
+++ b/core/tests/coretests/src/android/provider/SettingsBackupTest.java
@@ -115,6 +115,7 @@
Settings.Global.APN_DB_UPDATE_CONTENT_URL,
Settings.Global.APN_DB_UPDATE_METADATA_URL,
Settings.Global.APP_IDLE_CONSTANTS,
+ Settings.Global.APP_OPS_CONSTANTS,
Settings.Global.APP_STANDBY_ENABLED,
Settings.Global.ASSISTED_GPS_ENABLED,
Settings.Global.AUDIO_SAFE_VOLUME_STATE,
@@ -357,6 +358,7 @@
Settings.Global.POWER_MANAGER_CONSTANTS,
Settings.Global.PREFERRED_NETWORK_MODE,
Settings.Global.PRIV_APP_OOB_ENABLED,
+ Settings.Global.PRIV_APP_OOB_LIST,
Settings.Global.PROVISIONING_APN_ALARM_DELAY_IN_MS,
Settings.Global.RADIO_BLUETOOTH,
Settings.Global.RADIO_CELL,
diff --git a/media/java/android/media/session/ISessionController.aidl b/media/java/android/media/session/ISessionController.aidl
index 06f5863..b4f52f9 100644
--- a/media/java/android/media/session/ISessionController.aidl
+++ b/media/java/android/media/session/ISessionController.aidl
@@ -37,7 +37,7 @@
*/
interface ISessionController {
void sendCommand(String packageName, String command, in Bundle args, in ResultReceiver cb);
- boolean sendMediaButton(String packageName, in KeyEvent mediaButton);
+ boolean sendMediaButton(String packageName, boolean asSystemService, in KeyEvent mediaButton);
void registerCallbackListener(in ISessionControllerCallback cb);
void unregisterCallbackListener(in ISessionControllerCallback cb);
boolean isTransportControlEnabled();
@@ -46,7 +46,7 @@
PendingIntent getLaunchPendingIntent();
long getFlags();
ParcelableVolumeInfo getVolumeAttributes();
- void adjustVolume(String packageName, int direction, int flags);
+ void adjustVolume(String packageName, boolean asSystemService, int direction, int flags);
void setVolumeTo(String packageName, int value, int flags);
// These commands are for the TransportControls
diff --git a/media/java/android/media/session/ISessionManager.aidl b/media/java/android/media/session/ISessionManager.aidl
index 56664a9..3578c16 100644
--- a/media/java/android/media/session/ISessionManager.aidl
+++ b/media/java/android/media/session/ISessionManager.aidl
@@ -34,9 +34,11 @@
interface ISessionManager {
ISession createSession(String packageName, in ISessionCallback cb, String tag, int userId);
List<IBinder> getSessions(in ComponentName compName, int userId);
- void dispatchMediaKeyEvent(in KeyEvent keyEvent, boolean needWakeLock);
- void dispatchVolumeKeyEvent(in KeyEvent keyEvent, int stream, boolean musicOnly);
- void dispatchAdjustVolume(int suggestedStream, int delta, int flags);
+ void dispatchMediaKeyEvent(String packageName, boolean asSystemService, in KeyEvent keyEvent,
+ boolean needWakeLock);
+ void dispatchVolumeKeyEvent(String packageName, boolean asSystemService, in KeyEvent keyEvent,
+ int stream, boolean musicOnly);
+ void dispatchAdjustVolume(String packageName, int suggestedStream, int delta, int flags);
void addSessionsListener(in IActiveSessionsListener listener, in ComponentName compName,
int userId);
void removeSessionsListener(in IActiveSessionsListener listener);
diff --git a/media/java/android/media/session/MediaController.java b/media/java/android/media/session/MediaController.java
index 84f85e7..8c34a31 100644
--- a/media/java/android/media/session/MediaController.java
+++ b/media/java/android/media/session/MediaController.java
@@ -126,6 +126,27 @@
* @return true if the event was sent to the session, false otherwise.
*/
public boolean dispatchMediaButtonEvent(@NonNull KeyEvent keyEvent) {
+ return dispatchMediButtonEventInternal(false, keyEvent);
+ }
+
+ /**
+ * Dispatches the media button event as system service to the session. This only effects the
+ * {@link MediaSession.Callback#getCurrentControllerInfo()} and doesn't bypass any permission
+ * check done by the system service.
+ * <p>
+ * Should be only called by the {@link com.android.internal.policy.PhoneWindow} when the
+ * foreground activity didn't consume the key from the hardware devices.
+ *
+ * @param keyEvent media key event
+ * @return {@code true} if the event was sent to the session, {@code false} otherwise
+ * @hide
+ */
+ public boolean dispatchMediaButtonEventAsSystemService(@NonNull KeyEvent keyEvent) {
+ return dispatchMediButtonEventInternal(true, keyEvent);
+ }
+
+ private boolean dispatchMediButtonEventInternal(boolean asSystemService,
+ @NonNull KeyEvent keyEvent) {
if (keyEvent == null) {
throw new IllegalArgumentException("KeyEvent may not be null");
}
@@ -133,7 +154,8 @@
return false;
}
try {
- return mSessionBinder.sendMediaButton(mContext.getPackageName(), keyEvent);
+ return mSessionBinder.sendMediaButton(mContext.getPackageName(), asSystemService,
+ keyEvent);
} catch (RemoteException e) {
// System is dead. =(
}
@@ -141,6 +163,52 @@
}
/**
+ * Dispatches the volume button event as system service to the session. This only effects the
+ * {@link MediaSession.Callback#getCurrentControllerInfo()} and doesn't bypass any permission
+ * check done by the system service.
+ * <p>
+ * Should be only called by the {@link com.android.internal.policy.PhoneWindow} when the
+ * foreground activity didn't consume the key from the hardware devices.
+ *
+ * @param keyEvent volume key event
+ * @hide
+ */
+ public void dispatchVolumeButtonEventAsSystemService(@NonNull KeyEvent keyEvent) {
+ switch (keyEvent.getAction()) {
+ case KeyEvent.ACTION_DOWN: {
+ int direction = 0;
+ switch (keyEvent.getKeyCode()) {
+ case KeyEvent.KEYCODE_VOLUME_UP:
+ direction = AudioManager.ADJUST_RAISE;
+ break;
+ case KeyEvent.KEYCODE_VOLUME_DOWN:
+ direction = AudioManager.ADJUST_LOWER;
+ break;
+ case KeyEvent.KEYCODE_VOLUME_MUTE:
+ direction = AudioManager.ADJUST_TOGGLE_MUTE;
+ break;
+ }
+ try {
+ mSessionBinder.adjustVolume(mContext.getPackageName(), true, direction,
+ AudioManager.FLAG_SHOW_UI);
+ } catch (RemoteException e) {
+ Log.wtf(TAG, "Error calling adjustVolumeBy", e);
+ }
+ }
+
+ case KeyEvent.ACTION_UP: {
+ final int flags = AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_VIBRATE
+ | AudioManager.FLAG_FROM_KEY;
+ try {
+ mSessionBinder.adjustVolume(mContext.getPackageName(), true, 0, flags);
+ } catch (RemoteException e) {
+ Log.wtf(TAG, "Error calling adjustVolumeBy", e);
+ }
+ }
+ }
+ }
+
+ /**
* Get the current playback state for this session.
*
* @return The current PlaybackState or null
@@ -322,7 +390,7 @@
*/
public void adjustVolume(int direction, int flags) {
try {
- mSessionBinder.adjustVolume(mContext.getPackageName(), direction, flags);
+ mSessionBinder.adjustVolume(mContext.getPackageName(), false, direction, flags);
} catch (RemoteException e) {
Log.wtf(TAG, "Error calling adjustVolumeBy.", e);
}
diff --git a/media/java/android/media/session/MediaSession.java b/media/java/android/media/session/MediaSession.java
index 5e8b8ca..6f4f20e 100644
--- a/media/java/android/media/session/MediaSession.java
+++ b/media/java/android/media/session/MediaSession.java
@@ -122,6 +122,15 @@
FLAG_EXCLUSIVE_GLOBAL_PRIORITY })
public @interface SessionFlags { }
+ private static final String EXTRA_KEY_CALLING_PACKAGE =
+ "android.media.session.extra.CALLING_PACKAGE";
+ private static final String EXTRA_KEY_CALLING_PID =
+ "android.media.session.extra.CALLING_PID";
+ private static final String EXTRA_KEY_CALLING_UID =
+ "android.media.session.extra.CALLING_UID";
+ private static final String EXTRA_KEY_ORIGINAL_BUNDLE =
+ "android.media.session.extra.ORIGINAL_BUNDLE";
+
private final Object mLock = new Object();
private final int mMaxBitmapSize;
@@ -520,11 +529,15 @@
* @see MediaSessionManager#isTrustedForMediaControl(RemoteUserInfo)
*/
public final @NonNull RemoteUserInfo getCurrentControllerInfo() {
- if (mCallback == null || mCallback.mCurrentControllerInfo == null) {
+ return createRemoteUserInfo(getCurrentData());
+ }
+
+ private @NonNull Bundle getCurrentData() {
+ if (mCallback == null || mCallback.mCurrentData == null) {
throw new IllegalStateException(
"This should be called inside of MediaSession.Callback methods");
}
- return mCallback.mCurrentControllerInfo;
+ return mCallback.mCurrentData;
}
/**
@@ -556,7 +569,7 @@
*/
public String getCallingPackage() {
if (mCallback != null) {
- return mCallback.mCurrentControllerInfo.getPackageName();
+ return createRemoteUserInfo(mCallback.mCurrentData).getPackageName();
}
return null;
}
@@ -659,6 +672,57 @@
}
/**
+ * Creates the extra bundle that includes the caller information.
+ *
+ * @return An extraBundle that contains caller information
+ */
+ private static Bundle createExtraBundle(String packageName, int pid, int uid) {
+ return createExtraBundle(packageName, pid, uid, null);
+ }
+
+ /**
+ * Creates the extra bundle that includes the caller information.
+ *
+ * @param originalBundle bundle
+ * @return An extraBundle that contains caller information
+ */
+ private static Bundle createExtraBundle(String packageName, int pid, int uid,
+ Bundle originalBundle) {
+ Bundle bundle = new Bundle();
+ bundle.putString(EXTRA_KEY_CALLING_PACKAGE, packageName);
+ bundle.putInt(EXTRA_KEY_CALLING_PID, pid);
+ bundle.putInt(EXTRA_KEY_CALLING_UID, uid);
+ if (originalBundle != null) {
+ bundle.putBundle(EXTRA_KEY_ORIGINAL_BUNDLE, originalBundle);
+ }
+ return bundle;
+ }
+
+ /**
+ * Creates the {@link RemoteUserInfo} from the extra bundle created by
+ * {@link #createExtraBundle}.
+ *
+ * @param extraBundle that previously created by createExtraBundle()
+ * @return a RemoteUserInfo
+ */
+ private static RemoteUserInfo createRemoteUserInfo(Bundle extraBundle) {
+ return new RemoteUserInfo(
+ extraBundle.getString(EXTRA_KEY_CALLING_PACKAGE),
+ extraBundle.getInt(EXTRA_KEY_CALLING_PID, INVALID_PID),
+ extraBundle.getInt(EXTRA_KEY_CALLING_UID, INVALID_UID));
+ }
+
+ /**
+ * Gets the original bundle from the extra bundle created by {@link #createExtraBundle}.
+ *
+ * @param extraBundle that previously created by createExtraBundle()
+ * @return a Bundle
+ */
+ private static Bundle getOriginalBundle(Bundle extraBundle) {
+ return extraBundle.getBundle(EXTRA_KEY_ORIGINAL_BUNDLE);
+ }
+
+ /**
* Return true if this is considered an active playback state.
*
* @hide
@@ -755,9 +819,6 @@
private MediaSession mSession;
private CallbackMessageHandler mHandler;
private boolean mMediaPlayPauseKeyPending;
- private String mCallingPackage;
- private int mCallingPid;
- private int mCallingUid;
public Callback() {
}
@@ -811,8 +872,9 @@
}
} else {
mMediaPlayPauseKeyPending = true;
- mHandler.sendEmptyMessageDelayed(CallbackMessageHandler
- .MSG_PLAY_PAUSE_KEY_DOUBLE_TAP_TIMEOUT,
+ mHandler.postDelayed(CallbackMessageHandler
+ .MSG_PLAY_PAUSE_KEY_DOUBLE_TAP_TIMEOUT,
+ mSession.getCurrentData(),
ViewConfiguration.getDoubleTapTimeout());
}
return true;
@@ -1242,22 +1304,6 @@
session.dispatchSetVolumeTo(value, createExtraBundle(packageName, pid, uid));
}
}
-
- private Bundle createExtraBundle(String packageName, int pid, int uid) {
- return createExtraBundle(packageName, pid, uid, null);
- }
-
- private Bundle createExtraBundle(String packageName, int pid, int uid,
- Bundle originalBundle) {
- Bundle bundle = new Bundle();
- bundle.putString(CallbackMessageHandler.EXTRA_KEY_CALLING_PACKAGE, packageName);
- bundle.putInt(CallbackMessageHandler.EXTRA_KEY_CALLING_PID, pid);
- bundle.putInt(CallbackMessageHandler.EXTRA_KEY_CALLING_UID, uid);
- if (originalBundle != null) {
- bundle.putBundle(CallbackMessageHandler.EXTRA_KEY_ORIGINAL_BUNDLE, originalBundle);
- }
- return bundle;
- }
}
/**
@@ -1379,15 +1425,6 @@
private class CallbackMessageHandler extends Handler {
- private static final String EXTRA_KEY_CALLING_PACKAGE =
- "android.media.session.extra.CALLING_PACKAGE";
- private static final String EXTRA_KEY_CALLING_PID =
- "android.media.session.extra.CALLING_PID";
- private static final String EXTRA_KEY_CALLING_UID =
- "android.media.session.extra.CALLING_UID";
- private static final String EXTRA_KEY_ORIGINAL_BUNDLE =
- "android.media.session.extra.ORIGINAL_BUNDLE";
-
private static final int MSG_COMMAND = 1;
private static final int MSG_MEDIA_BUTTON = 2;
private static final int MSG_PREPARE = 3;
@@ -1413,8 +1450,7 @@
private static final int MSG_PLAY_PAUSE_KEY_DOUBLE_TAP_TIMEOUT = 23;
private MediaSession.Callback mCallback;
-
- private RemoteUserInfo mCurrentControllerInfo;
+ private Bundle mCurrentData;
public CallbackMessageHandler(Looper looper, MediaSession.Callback callback) {
super(looper, null, true);
@@ -1422,22 +1458,25 @@
mCallback.mHandler = this;
}
- public void post(int what, Object obj, Bundle bundle) {
+ public void post(int what, Object obj, Bundle data) {
Message msg = obtainMessage(what, obj);
- msg.setData(bundle);
+ msg.setData(data);
msg.sendToTarget();
}
+ public void postDelayed(int what, Bundle data, long delayMs) {
+ Message msg = obtainMessage(what);
+ msg.setData(data);
+ sendMessageDelayed(msg, delayMs);
+ }
+
@Override
public void handleMessage(Message msg) {
VolumeProvider vp;
- Bundle bundle = msg.getData();
- Bundle originalBundle = bundle.getBundle(EXTRA_KEY_ORIGINAL_BUNDLE);
+ Bundle data = msg.getData();
+ Bundle originalBundle = getOriginalBundle(data);
- mCurrentControllerInfo = new RemoteUserInfo(
- bundle.getString(EXTRA_KEY_CALLING_PACKAGE),
- bundle.getInt(EXTRA_KEY_CALLING_PID, INVALID_PID),
- bundle.getInt(EXTRA_KEY_CALLING_UID, INVALID_UID));
+ mCurrentData = data;
switch (msg.what) {
case MSG_COMMAND:
@@ -1521,7 +1560,7 @@
mCallback.handleMediaPlayPauseKeySingleTapIfPending();
break;
}
- mCurrentControllerInfo = null;
+ mCurrentData = null;
}
}
}
diff --git a/media/java/android/media/session/MediaSessionManager.java b/media/java/android/media/session/MediaSessionManager.java
index f358103..f54bfc1 100644
--- a/media/java/android/media/session/MediaSessionManager.java
+++ b/media/java/android/media/session/MediaSessionManager.java
@@ -300,8 +300,28 @@
* @hide
*/
public void dispatchMediaKeyEvent(@NonNull KeyEvent keyEvent, boolean needWakeLock) {
+ dispatchMediaKeyEventInternal(false, keyEvent, needWakeLock);
+ }
+
+ /**
+ * Send a media key event as system component. The receiver will be selected automatically.
+ * <p>
+ * Should be only called by the {@link com.android.internal.policy.PhoneWindow} or
+ * {@link android.view.FallbackEventHandler} when the foreground activity didn't consume the key
+ * from the hardware devices.
+ *
+ * @param keyEvent The KeyEvent to send.
+ * @hide
+ */
+ public void dispatchMediaKeyEventAsSystemService(KeyEvent keyEvent) {
+ dispatchMediaKeyEventInternal(true, keyEvent, false);
+ }
+
+ private void dispatchMediaKeyEventInternal(boolean asSystemService, @NonNull KeyEvent keyEvent,
+ boolean needWakeLock) {
try {
- mService.dispatchMediaKeyEvent(keyEvent, needWakeLock);
+ mService.dispatchMediaKeyEvent(mContext.getPackageName(), asSystemService, keyEvent,
+ needWakeLock);
} catch (RemoteException e) {
Log.e(TAG, "Failed to send key event.", e);
}
@@ -311,12 +331,33 @@
* Send a volume key event. The receiver will be selected automatically.
*
* @param keyEvent The volume KeyEvent to send.
- * @param needWakeLock True if a wake lock should be held while sending the key.
* @hide
*/
public void dispatchVolumeKeyEvent(@NonNull KeyEvent keyEvent, int stream, boolean musicOnly) {
+ dispatchVolumeKeyEventInternal(false, keyEvent, stream, musicOnly);
+ }
+
+ /**
+ * Dispatches the volume button event as system service to the session. This only effects the
+ * {@link MediaSession.Callback#getCurrentControllerInfo()} and doesn't bypass any permission
+ * check done by the system service.
+ * <p>
+ * Should be only called by the {@link com.android.internal.policy.PhoneWindow} or
+ * {@link android.view.FallbackEventHandler} when the foreground activity didn't consume the key
+ * from the hardware devices.
+ *
+ * @param keyEvent The KeyEvent to send.
+ * @hide
+ */
+ public void dispatchVolumeKeyEventAsSystemService(@NonNull KeyEvent keyEvent, int streamType) {
+ dispatchVolumeKeyEventInternal(true, keyEvent, streamType, false);
+ }
+
+ private void dispatchVolumeKeyEventInternal(boolean asSystemService, @NonNull KeyEvent keyEvent,
+ int stream, boolean musicOnly) {
try {
- mService.dispatchVolumeKeyEvent(keyEvent, stream, musicOnly);
+ mService.dispatchVolumeKeyEvent(mContext.getPackageName(), asSystemService, keyEvent,
+ stream, musicOnly);
} catch (RemoteException e) {
Log.e(TAG, "Failed to send volume key event.", e);
}
@@ -336,7 +377,8 @@
*/
public void dispatchAdjustVolume(int suggestedStream, int direction, int flags) {
try {
- mService.dispatchAdjustVolume(suggestedStream, direction, flags);
+ mService.dispatchAdjustVolume(mContext.getPackageName(), suggestedStream, direction,
+ flags);
} catch (RemoteException e) {
Log.e(TAG, "Failed to send adjust volume.", e);
}
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
index 4c98bb8..1c635c4 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
@@ -254,6 +254,7 @@
case Settings.Secure.TOUCH_EXPLORATION_ENABLED:
case Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED:
case Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED:
+ case Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED:
case Settings.Secure.UI_NIGHT_MODE:
return Settings.Secure.getInt(mContext.getContentResolver(), name, 0) != 0;
case Settings.Secure.TOUCH_EXPLORATION_GRANTED_ACCESSIBILITY_SERVICES:
diff --git a/packages/SettingsProvider/test/Android.mk b/packages/SettingsProvider/test/Android.mk
index bd5b1f2..1ca6afe 100644
--- a/packages/SettingsProvider/test/Android.mk
+++ b/packages/SettingsProvider/test/Android.mk
@@ -10,7 +10,9 @@
../src/com/android/providers/settings/SettingsState.java \
../src/com/android/providers/settings/SettingsHelper.java
-LOCAL_STATIC_JAVA_LIBRARIES := android-support-test
+LOCAL_STATIC_JAVA_LIBRARIES := \
+ android-support-test \
+ truth-prebuilt
LOCAL_JAVA_LIBRARIES := android.test.base
diff --git a/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsHelperRestoreTest.java b/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsHelperRestoreTest.java
new file mode 100644
index 0000000..b438e91
--- /dev/null
+++ b/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsHelperRestoreTest.java
@@ -0,0 +1,105 @@
+/*
+ * 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.providers.settings;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.ContentResolver;
+import android.content.ContentValues;
+import android.content.Context;
+import android.net.Uri;
+import android.os.Build;
+import android.provider.Settings;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.runner.AndroidJUnit4;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * Tests for {@link SettingsHelper#restoreValue(Context, ContentResolver, ContentValues, Uri,
+ * String, String, int)}. Specifically verifies that we restore critical accessibility settings only
+ * if the user has not already configured these in SUW.
+ */
+@RunWith(AndroidJUnit4.class)
+public class SettingsHelperRestoreTest {
+ private Context mContext;
+ private ContentResolver mContentResolver;
+ private SettingsHelper mSettingsHelper;
+
+ @Before
+ public void setUp() {
+ mContext = InstrumentationRegistry.getContext();
+ mContentResolver = mContext.getContentResolver();
+ mSettingsHelper = new SettingsHelper(mContext);
+ }
+
+ /** Tests for {@link Settings.Secure#ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED}. */
+ @Test
+ public void
+ restoreAccessibilityDisplayMagnificationNavbarEnabled_alreadyConfigured_doesNotRestore()
+ throws Exception {
+ // Simulate already configuring setting via SUW.
+ Settings.Secure.putInt(
+ mContentResolver,
+ Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED,
+ 1);
+
+ mSettingsHelper.restoreValue(
+ mContext,
+ mContentResolver,
+ new ContentValues(2),
+ Settings.Secure.getUriFor(
+ Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED),
+ Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED,
+ String.valueOf(0),
+ Build.VERSION.SDK_INT);
+
+ assertThat(
+ Settings.Secure.getInt(
+ mContentResolver,
+ Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED))
+ .isEqualTo(1);
+ }
+
+ @Test
+ public void
+ restoreAccessibilityDisplayMagnificationNavbarEnabled_notAlreadyConfigured_restores()
+ throws Exception {
+ // Simulate system default at boot.
+ Settings.Secure.putInt(
+ mContentResolver,
+ Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED,
+ 0);
+
+ mSettingsHelper.restoreValue(
+ mContext,
+ mContentResolver,
+ new ContentValues(2),
+ Settings.Secure.getUriFor(
+ Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED),
+ Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED,
+ String.valueOf(1),
+ Build.VERSION.SDK_INT);
+
+ assertThat(
+ Settings.Secure.getInt(
+ mContentResolver,
+ Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED))
+ .isEqualTo(1);
+ }
+}
diff --git a/packages/SystemUI/res/drawable/smart_reply_button_background.xml b/packages/SystemUI/res/drawable/smart_reply_button_background.xml
index 93adaa0..31119a9 100644
--- a/packages/SystemUI/res/drawable/smart_reply_button_background.xml
+++ b/packages/SystemUI/res/drawable/smart_reply_button_background.xml
@@ -26,7 +26,8 @@
android:insetBottom="8dp">
<shape android:shape="rectangle">
<corners android:radius="8dp" />
- <stroke android:width="1dp" android:color="@color/smart_reply_button_stroke" />
+ <stroke android:width="@dimen/smart_reply_button_stroke_width"
+ android:color="@color/smart_reply_button_stroke" />
<solid android:color="@color/smart_reply_button_background"/>
</shape>
</inset>
diff --git a/packages/SystemUI/res/layout/hybrid_notification.xml b/packages/SystemUI/res/layout/hybrid_notification.xml
index bccf207..23e8a15 100644
--- a/packages/SystemUI/res/layout/hybrid_notification.xml
+++ b/packages/SystemUI/res/layout/hybrid_notification.xml
@@ -25,7 +25,6 @@
android:id="@+id/notification_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:textAppearance="@*android:style/TextAppearance.Material.Notification.Title"
android:singleLine="true"
style="?attr/hybridNotificationTitleStyle"
/>
diff --git a/packages/SystemUI/res/layout/smart_reply_button.xml b/packages/SystemUI/res/layout/smart_reply_button.xml
index a490c4b..9faed18 100644
--- a/packages/SystemUI/res/layout/smart_reply_button.xml
+++ b/packages/SystemUI/res/layout/smart_reply_button.xml
@@ -19,6 +19,7 @@
<!-- android:paddingHorizontal is set dynamically in SmartReplyView. -->
<Button xmlns:android="http://schemas.android.com/apk/res/android"
style="@android:style/Widget.Material.Button"
+ android:stateListAnimator="@null"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:minWidth="0dp"
diff --git a/packages/SystemUI/res/layout/smart_reply_view.xml b/packages/SystemUI/res/layout/smart_reply_view.xml
index aa5549f..9fffc72 100644
--- a/packages/SystemUI/res/layout/smart_reply_view.xml
+++ b/packages/SystemUI/res/layout/smart_reply_view.xml
@@ -25,6 +25,7 @@
android:layout_width="wrap_content"
systemui:spacing="@dimen/smart_reply_button_spacing"
systemui:singleLineButtonPaddingHorizontal="@dimen/smart_reply_button_padding_horizontal_single_line"
- systemui:doubleLineButtonPaddingHorizontal="@dimen/smart_reply_button_padding_horizontal_double_line">
+ systemui:doubleLineButtonPaddingHorizontal="@dimen/smart_reply_button_padding_horizontal_double_line"
+ systemui:buttonStrokeWidth="@dimen/smart_reply_button_stroke_width">
<!-- smart_reply_button(s) will be added here. -->
</com.android.systemui.statusbar.policy.SmartReplyView>
diff --git a/packages/SystemUI/res/values/attrs.xml b/packages/SystemUI/res/values/attrs.xml
index b11266a..2ce9bfc 100644
--- a/packages/SystemUI/res/values/attrs.xml
+++ b/packages/SystemUI/res/values/attrs.xml
@@ -135,6 +135,7 @@
<attr name="spacing" format="dimension" />
<attr name="singleLineButtonPaddingHorizontal" format="dimension" />
<attr name="doubleLineButtonPaddingHorizontal" format="dimension" />
+ <attr name="buttonStrokeWidth" format="dimension" />
</declare-styleable>
<!-- Used to style rotate suggestion button AVD animations -->
diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml
index efcca63..3472477 100644
--- a/packages/SystemUI/res/values/colors.xml
+++ b/packages/SystemUI/res/values/colors.xml
@@ -151,7 +151,8 @@
<color name="zen_introduction">#ffffffff</color>
<color name="smart_reply_button_text">#5F6368</color>
- <color name="smart_reply_button_background">#feffffff</color>
+ <color name="smart_reply_button_text_dark_bg">@*android:color/notification_primary_text_color_dark</color>
+ <color name="smart_reply_button_background">#ffffffff</color>
<color name="smart_reply_button_stroke">#ffdadce0</color>
<!-- Fingerprint dialog colors -->
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index f3fe297..8c3cc42 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -951,6 +951,7 @@
<dimen name="smart_reply_button_padding_horizontal_single_line">20dp</dimen>
<dimen name="smart_reply_button_padding_horizontal_double_line">19dp</dimen>
<dimen name="smart_reply_button_min_height">48dp</dimen>
+ <dimen name="smart_reply_button_stroke_width">1dp</dimen>
<dimen name="smart_reply_button_font_size">14sp</dimen>
<dimen name="smart_reply_button_line_spacing_extra">6sp</dimen> <!-- Total line height 20sp. -->
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index 95ccc3c..654f407 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -623,6 +623,8 @@
<!-- The overflow indicator shown when a group has more notification inside the group than the visible ones. An example is "+ 3" [CHAR LIMIT=5] -->
<string name="notification_group_overflow_indicator">+ <xliff:g id="number" example="3">%s</xliff:g></string>
+ <!-- The overflow indicator shown when a group has more notification inside the group than the visible ones. An example is "New message, +3" [CHAR LIMIT=7] -->
+ <string name="notification_group_overflow_indicator_ambient"><xliff:g id="notification_title" example="New message">%s</xliff:g>, +<xliff:g id="overflow" example="+3">%s</xliff:g></string>
<!-- Content description describing how many more notifications are in a group [CHAR LIMIT=NONE] -->
<plurals name="notification_group_overflow_description">
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index c9b14dc..b3f4534 100644
--- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml
@@ -110,7 +110,6 @@
<item name="android:paddingStart">@*android:dimen/notification_extra_margin_ambient</item>
<item name="android:paddingEnd">@*android:dimen/notification_extra_margin_ambient</item>
<item name="android:orientation">vertical</item>
- <item name="android:paddingBottom">23.5dp</item>
</style>
<style name="hybrid_notification">
@@ -119,22 +118,28 @@
</style>
<style name="hybrid_notification_title_ambient">
+ <item name="android:layout_marginTop">@*android:dimen/notification_header_margin_top_ambient</item>
<item name="android:paddingStart">@*android:dimen/notification_content_margin_start</item>
<item name="android:paddingEnd">@*android:dimen/notification_content_margin_end</item>
- <item name="android:textSize">20sp</item>
+ <item name="android:textAppearance">@*android:style/Notification.Header.Ambient</item>
+ <item name="android:layout_gravity">top|center_horizontal</item>
+ <item name="android:textSize">@*android:dimen/notification_ambient_title_text_size</item>
<item name="android:textColor">#ffffffff</item>
</style>
<style name="hybrid_notification_title">
<item name="android:paddingEnd">4dp</item>
+ <item name="android:textAppearance">@*android:style/TextAppearance.Material.Notification.Title</item>
</style>
<style name="hybrid_notification_text_ambient">
<item name="android:paddingStart">@*android:dimen/notification_content_margin_start</item>
<item name="android:paddingEnd">@*android:dimen/notification_content_margin_end</item>
- <item name="android:textSize">16sp</item>
+ <item name="android:textSize">@*android:dimen/notification_ambient_text_size</item>
<item name="android:textColor">#eeffffff</item>
- <item name="android:layout_marginTop">4dp</item>
+ <item name="android:gravity">top|center_horizontal</item>
+ <item name="android:ellipsize">end</item>
+ <item name="android:maxLines">3</item>
</style>
<style name="hybrid_notification_text"
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardHostView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardHostView.java
index 5b4d652..aa0bcc5 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardHostView.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardHostView.java
@@ -241,6 +241,10 @@
mViewMediatorCallback.resetKeyguard();
}
+ public void resetSecurityContainer() {
+ mSecurityContainer.reset();
+ }
+
@Override
public void onSecurityModeChanged(SecurityMode securityMode, boolean needsInput) {
if (mViewMediatorCallback != null) {
diff --git a/packages/SystemUI/src/com/android/systemui/classifier/FalsingManager.java b/packages/SystemUI/src/com/android/systemui/classifier/FalsingManager.java
index a265a5e..0ca0a11 100644
--- a/packages/SystemUI/src/com/android/systemui/classifier/FalsingManager.java
+++ b/packages/SystemUI/src/com/android/systemui/classifier/FalsingManager.java
@@ -74,6 +74,7 @@
private boolean mEnforceBouncer = false;
private boolean mBouncerOn = false;
+ private boolean mBouncerOffOnDown = false;
private boolean mSessionActive = false;
private boolean mIsTouchScreen = true;
private int mState = StatusBarState.SHADE;
@@ -459,10 +460,19 @@
public void onTouchEvent(MotionEvent event, int width, int height) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
mIsTouchScreen = event.isFromSource(InputDevice.SOURCE_TOUCHSCREEN);
+ // If the bouncer was not shown during the down event,
+ // we want the entire gesture going to HumanInteractionClassifier
+ mBouncerOffOnDown = !mBouncerOn;
}
- if (mSessionActive && !mBouncerOn) {
- mDataCollector.onTouchEvent(event, width, height);
- mHumanInteractionClassifier.onTouchEvent(event);
+ if (mSessionActive) {
+ if (!mBouncerOn) {
+ // In case bouncer is "visible", but onFullyShown has not yet been called,
+ // avoid adding the event to DataCollector
+ mDataCollector.onTouchEvent(event, width, height);
+ }
+ if (mBouncerOffOnDown) {
+ mHumanInteractionClassifier.onTouchEvent(event);
+ }
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
index ea3f95e..4b65288 100644
--- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
+++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
@@ -26,6 +26,7 @@
import android.app.KeyguardManager;
import android.app.WallpaperManager;
import android.app.admin.DevicePolicyManager;
+import android.app.trust.TrustManager;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
@@ -699,6 +700,9 @@
UserHandle.USER_ALL);
try {
WindowManagerGlobal.getWindowManagerService().lockNow(null);
+ // Lock profiles (if any) on the background thread.
+ final Handler bgHandler = new Handler(Dependency.get(Dependency.BG_LOOPER));
+ bgHandler.post(() -> lockProfiles());
} catch (RemoteException e) {
Log.e(TAG, "Error while trying to lock device.", e);
}
@@ -716,6 +720,18 @@
};
}
+ private void lockProfiles() {
+ final UserManager um = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
+ final TrustManager tm = (TrustManager) mContext.getSystemService(Context.TRUST_SERVICE);
+ final int currentUserId = getCurrentUser().id;
+ final int[] profileIds = um.getEnabledProfileIds(currentUserId);
+ for (final int id : profileIds) {
+ if (id != currentUserId) {
+ tm.setDeviceLockedForUser(id, true);
+ }
+ }
+ }
+
private UserInfo getCurrentUser() {
try {
return ActivityManager.getService().getCurrentUser();
diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsOnboarding.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsOnboarding.java
index f60e207..d16e1b1 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/RecentsOnboarding.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsOnboarding.java
@@ -69,7 +69,8 @@
private static final boolean RESET_PREFS_FOR_DEBUG = false;
private static final boolean ONBOARDING_ENABLED = true;
private static final long SHOW_DELAY_MS = 500;
- private static final long SHOW_HIDE_DURATION_MS = 300;
+ private static final long SHOW_DURATION_MS = 300;
+ private static final long HIDE_DURATION_MS = 100;
// Show swipe-up tips after opening overview from home this number of times.
private static final int SWIPE_UP_SHOW_ON_OVERVIEW_OPENED_FROM_HOME_COUNT = 3;
// Show quick scrub tips after opening overview this number of times.
@@ -172,6 +173,11 @@
}
@Override
+ public void onQuickStepStarted() {
+ hide(true);
+ }
+
+ @Override
public void onQuickScrubStarted() {
boolean alreadySeenQuickScrubsOnboarding = hasSeenQuickScrubOnboarding();
if (!alreadySeenQuickScrubsOnboarding) {
@@ -292,7 +298,7 @@
mHasDismissedQuickScrubTip = false;
mNumAppsLaunchedSinceSwipeUpTipDismiss = 0;
mOverviewOpenedCountSinceQuickScrubTipDismiss = 0;
- hide(false);
+ hide(true);
}
public void onConfigurationChanged(Configuration newConfiguration) {
@@ -305,15 +311,12 @@
if (!shouldShow()) {
return;
}
- if (mLayoutAttachedToWindow) {
- hide(false);
- }
mDismissView.setTag(stringRes);
mLayout.setTag(stringRes);
mTextView.setText(stringRes);
// Only show in portrait.
int orientation = mContext.getResources().getConfiguration().orientation;
- if (orientation == Configuration.ORIENTATION_PORTRAIT) {
+ if (!mLayoutAttachedToWindow && orientation == Configuration.ORIENTATION_PORTRAIT) {
mLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
mWindowManager.addView(mLayout, getWindowLayoutParams());
@@ -322,7 +325,7 @@
.alpha(1f)
.withLayer()
.setStartDelay(SHOW_DELAY_MS)
- .setDuration(SHOW_HIDE_DURATION_MS)
+ .setDuration(SHOW_DURATION_MS)
.setInterpolator(new DecelerateInterpolator())
.start();
}
@@ -344,7 +347,8 @@
mLayout.animate()
.alpha(0f)
.withLayer()
- .setDuration(SHOW_HIDE_DURATION_MS)
+ .setStartDelay(0)
+ .setDuration(HIDE_DURATION_MS)
.setInterpolator(new AccelerateInterpolator())
.withEndAction(() -> mWindowManager.removeViewImmediate(mLayout))
.start();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java b/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java
index 8b6b5fe..364ed80 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java
@@ -581,7 +581,7 @@
}
}
- private void setBackgroundTintColor(int color) {
+ protected void setBackgroundTintColor(int color) {
if (color != mCurrentBackgroundTint) {
mCurrentBackgroundTint = color;
if (color == mNormalColor) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java
index 3454fe6..991b47e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java
@@ -1090,6 +1090,15 @@
}
}
+ @Override
+ protected void setBackgroundTintColor(int color) {
+ super.setBackgroundTintColor(color);
+ NotificationContentView view = getShowingLayout();
+ if (view != null) {
+ view.setBackgroundTintColor(color);
+ }
+ }
+
public void closeRemoteInput() {
for (NotificationContentView l : mLayouts) {
l.closeRemoteInput();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java
index 285f639..8fa1b67 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java
@@ -887,6 +887,12 @@
mContainingNotification.setContentBackground(customBackgroundColor, animate, this);
}
+ public void setBackgroundTintColor(int color) {
+ if (mExpandedSmartReplyView != null) {
+ mExpandedSmartReplyView.setBackgroundTintColor(color);
+ }
+ }
+
public int getVisibleType() {
return mVisibleType;
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationInfo.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationInfo.java
index ec49f43..be5e3f4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationInfo.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationInfo.java
@@ -91,22 +91,24 @@
private boolean mIsForBlockingHelper;
private boolean mNegativeUserSentiment;
- /** Counter tag that describes how the user exit or quit out of this view. */
- private String mExitReasonCounter = NotificationCounters.BLOCKING_HELPER_DISMISSED;
+ /**
+ * String that describes how the user exit or quit out of this view, also used as a counter tag.
+ */
+ private String mExitReason = NotificationCounters.BLOCKING_HELPER_DISMISSED;
private OnClickListener mOnKeepShowing = v -> {
- mExitReasonCounter = NotificationCounters.BLOCKING_HELPER_KEEP_SHOWING;
+ mExitReason = NotificationCounters.BLOCKING_HELPER_KEEP_SHOWING;
closeControls(v);
};
private OnClickListener mOnStopOrMinimizeNotifications = v -> {
- mExitReasonCounter = NotificationCounters.BLOCKING_HELPER_STOP_NOTIFICATIONS;
+ mExitReason = NotificationCounters.BLOCKING_HELPER_STOP_NOTIFICATIONS;
swapContent(false);
};
private OnClickListener mOnUndo = v -> {
// Reset exit counter that we'll log and record an undo event separately (not an exit event)
- mExitReasonCounter = NotificationCounters.BLOCKING_HELPER_DISMISSED;
+ mExitReason = NotificationCounters.BLOCKING_HELPER_DISMISSED;
logBlockingHelperCounter(NotificationCounters.BLOCKING_HELPER_UNDO);
swapContent(true);
};
@@ -300,7 +302,9 @@
private void saveImportance() {
if (!mIsNonblockable) {
- if (mCheckSaveListener != null) {
+ // Only go through the lock screen/bouncer if the user didn't hit 'Keep showing'.
+ if (mCheckSaveListener != null
+ && !NotificationCounters.BLOCKING_HELPER_KEEP_SHOWING.equals(mExitReason)) {
mCheckSaveListener.checkSave(this::updateImportance, mSbn);
} else {
updateImportance();
@@ -495,7 +499,7 @@
if (save) {
saveImportance();
}
- logBlockingHelperCounter(mExitReasonCounter);
+ logBlockingHelperCounter(mExitReason);
return false;
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/HybridGroupManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/HybridGroupManager.java
index 3975ec2..a096508 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/HybridGroupManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/HybridGroupManager.java
@@ -151,6 +151,17 @@
return reusableView;
}
+ public TextView bindOverflowNumberAmbient(TextView titleView, Notification notification,
+ int number) {
+ String text = mContext.getResources().getString(
+ R.string.notification_group_overflow_indicator_ambient,
+ resolveTitle(notification), number);
+ if (!text.equals(titleView.getText())) {
+ titleView.setText(text);
+ }
+ return titleView;
+ }
+
public void setOverflowNumberDark(TextView view, boolean dark, boolean fade, long delay) {
mDozer.setIntensityDark((f)->{
mDarkAmount = f;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java
index f134151..48eb3e8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java
@@ -76,7 +76,7 @@
protected KeyguardHostView mKeyguardView;
private final Runnable mResetRunnable = ()-> {
if (mKeyguardView != null) {
- mKeyguardView.reset();
+ mKeyguardView.resetSecurityContainer();
}
};
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/SmartReplyView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/SmartReplyView.java
index 351868d..c279e63 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/SmartReplyView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/SmartReplyView.java
@@ -1,12 +1,17 @@
package com.android.systemui.statusbar.policy;
+import android.annotation.ColorInt;
import android.app.PendingIntent;
import android.app.RemoteInput;
import android.content.Context;
import android.content.Intent;
+import android.content.res.ColorStateList;
import android.content.res.TypedArray;
import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.drawable.Drawable;
import android.graphics.drawable.GradientDrawable;
+import android.graphics.drawable.InsetDrawable;
import android.graphics.drawable.RippleDrawable;
import android.os.Bundle;
import android.text.Layout;
@@ -22,6 +27,7 @@
import android.widget.Button;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.util.NotificationColorUtil;
import com.android.keyguard.KeyguardHostView.OnDismissAction;
import com.android.systemui.Dependency;
import com.android.systemui.R;
@@ -75,6 +81,23 @@
private View mSmartReplyContainer;
+ @ColorInt
+ private int mCurrentBackgroundColor;
+ @ColorInt
+ private final int mDefaultBackgroundColor;
+ @ColorInt
+ private final int mDefaultStrokeColor;
+ @ColorInt
+ private final int mDefaultTextColor;
+ @ColorInt
+ private final int mDefaultTextColorDarkBg;
+ @ColorInt
+ private final int mRippleColorDarkBg;
+ @ColorInt
+ private final int mRippleColor;
+ private final int mStrokeWidth;
+ private final double mMinStrokeContrast;
+
public SmartReplyView(Context context, AttributeSet attrs) {
super(context, attrs);
mConstants = Dependency.get(SmartReplyConstants.class);
@@ -83,9 +106,21 @@
mHeightUpperLimit = NotificationUtils.getFontScaledHeight(mContext,
R.dimen.smart_reply_button_max_height);
+ mCurrentBackgroundColor = context.getColor(R.color.smart_reply_button_background);
+ mDefaultBackgroundColor = mCurrentBackgroundColor;
+ mDefaultTextColor = mContext.getColor(R.color.smart_reply_button_text);
+ mDefaultTextColorDarkBg = mContext.getColor(R.color.smart_reply_button_text_dark_bg);
+ mDefaultStrokeColor = mContext.getColor(R.color.smart_reply_button_stroke);
+ mRippleColor = mContext.getColor(R.color.notification_ripple_untinted_color);
+ mRippleColorDarkBg = Color.argb(Color.alpha(mRippleColor),
+ 255 /* red */, 255 /* green */, 255 /* blue */);
+ mMinStrokeContrast = NotificationColorUtil.calculateContrast(mDefaultStrokeColor,
+ mDefaultBackgroundColor);
+
int spacing = 0;
int singleLineButtonPaddingHorizontal = 0;
int doubleLineButtonPaddingHorizontal = 0;
+ int strokeWidth = 0;
final TypedArray arr = context.obtainStyledAttributes(attrs, R.styleable.SmartReplyView,
0, 0);
@@ -102,10 +137,14 @@
case R.styleable.SmartReplyView_doubleLineButtonPaddingHorizontal:
doubleLineButtonPaddingHorizontal = arr.getDimensionPixelSize(i, 0);
break;
+ case R.styleable.SmartReplyView_buttonStrokeWidth:
+ strokeWidth = arr.getDimensionPixelSize(i, 0);
+ break;
}
}
arr.recycle();
+ mStrokeWidth = strokeWidth;
mSpacing = spacing;
mSingleLineButtonPaddingHorizontal = singleLineButtonPaddingHorizontal;
mDoubleLineButtonPaddingHorizontal = doubleLineButtonPaddingHorizontal;
@@ -139,6 +178,7 @@
View smartReplyContainer) {
mSmartReplyContainer = smartReplyContainer;
removeAllViews();
+ mCurrentBackgroundColor = mDefaultBackgroundColor;
if (remoteInput != null && pendingIntent != null) {
CharSequence[] choices = remoteInput.getChoices();
if (choices != null) {
@@ -194,6 +234,7 @@
}
});
+ setColors(b, mCurrentBackgroundColor, mDefaultStrokeColor, mDefaultTextColor, mRippleColor);
return b;
}
@@ -523,6 +564,51 @@
return lp.show && super.drawChild(canvas, child, drawingTime);
}
+ public void setBackgroundTintColor(int backgroundColor) {
+ if (backgroundColor == mCurrentBackgroundColor) {
+ // Same color ignoring.
+ return;
+ }
+ mCurrentBackgroundColor = backgroundColor;
+
+ final boolean dark = !NotificationColorUtil.isColorLight(backgroundColor);
+
+ int textColor = NotificationColorUtil.ensureTextContrast(
+ dark ? mDefaultTextColorDarkBg : mDefaultTextColor,
+ backgroundColor | 0xff000000, dark);
+ int strokeColor = NotificationColorUtil.ensureContrast(
+ mDefaultStrokeColor, backgroundColor | 0xff000000, dark, mMinStrokeContrast);
+ int rippleColor = dark ? mRippleColorDarkBg : mRippleColor;
+
+ int childCount = getChildCount();
+ for (int i = 0; i < childCount; i++) {
+ final Button child = (Button) getChildAt(i);
+ setColors(child, backgroundColor, strokeColor, textColor, rippleColor);
+ }
+ }
+
+ private void setColors(Button button, int backgroundColor, int strokeColor, int textColor,
+ int rippleColor) {
+ Drawable drawable = button.getBackground();
+ if (drawable instanceof RippleDrawable) {
+ // Mutate in case other notifications are using this drawable.
+ drawable = drawable.mutate();
+ RippleDrawable ripple = (RippleDrawable) drawable;
+ ripple.setColor(ColorStateList.valueOf(rippleColor));
+ Drawable inset = ripple.getDrawable(0);
+ if (inset instanceof InsetDrawable) {
+ Drawable background = ((InsetDrawable) inset).getDrawable();
+ if (background instanceof GradientDrawable) {
+ GradientDrawable gradientDrawable = (GradientDrawable) background;
+ gradientDrawable.setColor(backgroundColor);
+ gradientDrawable.setStroke(mStrokeWidth, strokeColor);
+ }
+ }
+ button.setBackground(drawable);
+ }
+ button.setTextColor(textColor);
+ }
+
@VisibleForTesting
static class LayoutParams extends ViewGroup.LayoutParams {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java
index 8115297..55ec142 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java
@@ -52,7 +52,7 @@
private static final int NUMBER_OF_CHILDREN_WHEN_COLLAPSED = 2;
private static final int NUMBER_OF_CHILDREN_WHEN_SYSTEM_EXPANDED = 5;
private static final int NUMBER_OF_CHILDREN_WHEN_CHILDREN_EXPANDED = 8;
- private static final int NUMBER_OF_CHILDREN_WHEN_AMBIENT = 3;
+ private static final int NUMBER_OF_CHILDREN_WHEN_AMBIENT = 1;
private static final AnimationProperties ALPHA_FADE_IN = new AnimationProperties() {
private AnimationFilter mAnimationFilter = new AnimationFilter().animateAlpha();
@@ -208,9 +208,9 @@
// We need to measure all children even the GONE ones, such that the heights are
// calculated correctly as they are used to calculate how many we can fit on the screen.
boolean isOverflow = i == overflowIndex;
- child.setSingleLineWidthIndention(isOverflow && mOverflowNumber != null
- ? mOverflowNumber.getMeasuredWidth()
- : 0);
+ child.setSingleLineWidthIndention(isOverflow && mOverflowNumber != null &&
+ !mContainingNotification.isShowingAmbient()
+ ? mOverflowNumber.getMeasuredWidth() : 0);
child.measure(widthMeasureSpec, newHeightSpec);
// layout the divider
View divider = mDividers.get(i);
@@ -394,8 +394,19 @@
int childCount = mChildren.size();
int maxAllowedVisibleChildren = getMaxAllowedVisibleChildren(true /* likeCollapsed */);
if (childCount > maxAllowedVisibleChildren) {
- mOverflowNumber = mHybridGroupManager.bindOverflowNumber(
- mOverflowNumber, childCount - maxAllowedVisibleChildren);
+ int number = childCount - maxAllowedVisibleChildren;
+ mOverflowNumber = mHybridGroupManager.bindOverflowNumber(mOverflowNumber, number);
+ if (mContainingNotification.isShowingAmbient()) {
+ ExpandableNotificationRow overflowView = mChildren.get(0);
+ HybridNotificationView ambientSingleLineView = overflowView == null ? null
+ : overflowView.getAmbientSingleLineView();
+ if (ambientSingleLineView != null) {
+ mHybridGroupManager.bindOverflowNumberAmbient(
+ ambientSingleLineView.getTitleView(),
+ mContainingNotification.getStatusBarNotification().getNotification(),
+ number);
+ }
+ }
if (mGroupOverFlowState == null) {
mGroupOverFlowState = new ViewState();
mNeverAppliedGroupState = true;
@@ -617,16 +628,13 @@
}
if (mOverflowNumber != null) {
ExpandableNotificationRow overflowView = mChildren.get(Math.min(
- getMaxAllowedVisibleChildren(true /* likeCollpased */), childCount) - 1);
+ getMaxAllowedVisibleChildren(true /* likeCollapsed */), childCount) - 1);
mGroupOverFlowState.copyFrom(resultState.getViewStateForView(overflowView));
- if (mContainingNotification.isShowingAmbient() || !mChildrenExpanded) {
- HybridNotificationView alignView = null;
- if (mContainingNotification.isShowingAmbient()) {
- alignView = overflowView.getAmbientSingleLineView();
- } else if (mUserLocked) {
- alignView = overflowView.getSingleLineView();
- }
+ if (mContainingNotification.isShowingAmbient()) {
+ mGroupOverFlowState.alpha = 0.0f;
+ } else if (!mChildrenExpanded) {
+ HybridNotificationView alignView = overflowView.getSingleLineView();
if (alignView != null) {
View mirrorView = alignView.getTextView();
if (mirrorView.getVisibility() == GONE) {
@@ -635,9 +643,9 @@
if (mirrorView.getVisibility() == GONE) {
mirrorView = alignView;
}
+ mGroupOverFlowState.alpha = mirrorView.getAlpha();
mGroupOverFlowState.yTranslation += NotificationUtils.getRelativeYOffset(
mirrorView, overflowView);
- mGroupOverFlowState.alpha = mirrorView.getAlpha();
}
} else {
mGroupOverFlowState.yTranslation += mNotificationHeaderMargin;
@@ -881,6 +889,7 @@
public void notifyShowAmbientChanged() {
updateHeaderVisibility(false);
+ updateGroupOverflow();
}
private void updateHeaderVisibility(boolean animate) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
index 5deebff..176905a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
@@ -112,7 +112,6 @@
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
-import java.util.Objects;
import java.util.function.BiConsumer;
/**
@@ -4078,23 +4077,20 @@
int newVisibility = visible ? VISIBLE : GONE;
boolean changedVisibility = oldVisibility != newVisibility;
- if (changedVisibility || newVisibility != GONE) {
+ if (changedVisibility) {
if (newVisibility != GONE) {
- int oldText = mEmptyShadeView.getTextResource();
- int newText;
- if (mStatusBar.areNotificationsHidden()) {
- newText = R.string.dnd_suppressing_shade_text;
- } else {
- newText = R.string.empty_shade_text;
- }
- if (changedVisibility || !Objects.equals(oldText, newText)) {
- mEmptyShadeView.setText(newText);
- showFooterView(mEmptyShadeView);
- }
+ showFooterView(mEmptyShadeView);
} else {
hideFooterView(mEmptyShadeView, true);
}
}
+
+ int oldTextRes = mEmptyShadeView.getTextResource();
+ int newTextRes = mStatusBar.areNotificationsHidden()
+ ? R.string.dnd_suppressing_shade_text : R.string.empty_shade_text;
+ if (oldTextRes != newTextRes) {
+ mEmptyShadeView.setText(newTextRes);
+ }
}
public void updateFooterView(boolean visible, boolean showDismissView) {
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationInfoTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationInfoTest.java
index 65fd7f5..cb509e0 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationInfoTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationInfoTest.java
@@ -509,6 +509,36 @@
anyString(), eq(TEST_UID), eq(true));
}
+
+ @Test
+ public void testCloseControls_nonNullCheckSaveListenerDoesntDelayKeepShowing()
+ throws Exception {
+ NotificationInfo.CheckSaveListener listener =
+ mock(NotificationInfo.CheckSaveListener.class);
+ mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
+ TEST_PACKAGE_NAME, mNotificationChannel /* notificationChannel */,
+ 10 /* numUniqueChannelsInRow */, mSbn, listener /* checkSaveListener */,
+ null /* onSettingsClick */, null /* onAppSettingsClick */ ,
+ false /* isNonblockable */, true /* isForBlockingHelper */,
+ true /* isUserSentimentNegative */);
+
+ NotificationGuts guts = spy(new NotificationGuts(mContext, null));
+ when(guts.getWindowToken()).thenReturn(mock(IBinder.class));
+ doNothing().when(guts).animateClose(anyInt(), anyInt(), anyBoolean());
+ doNothing().when(guts).setExposed(anyBoolean(), anyBoolean());
+ guts.setGutsContent(mNotificationInfo);
+ mNotificationInfo.setGutsParent(guts);
+
+ mNotificationInfo.findViewById(R.id.keep).performClick();
+
+ verify(mBlockingHelperManager).dismissCurrentBlockingHelper();
+ mTestableLooper.processAllMessages();
+ verify(mMockINotificationManager, times(1))
+ .setNotificationsEnabledWithImportanceLockForPackage(
+ anyString(), eq(TEST_UID), eq(true));
+ }
+
+
@Test
public void testCloseControls_blockingHelperDismissedIfShown() throws Exception {
mNotificationInfo.bindNotification(
diff --git a/proto/src/metrics_constants.proto b/proto/src/metrics_constants.proto
index 1541231..0fa5d2b 100644
--- a/proto/src/metrics_constants.proto
+++ b/proto/src/metrics_constants.proto
@@ -5818,6 +5818,11 @@
// Tag used to report whether an activity is being autofilled on compatibility mode.
FIELD_AUTOFILL_COMPAT_MODE = 1414;
+ // OPEN: Settings > Sound > Switch connected devices dialog
+ // CATEGORY: SETTINGS
+ // OS: P
+ DIALOG_UPDATABLE_LIST_PREFERENCE = 1415;
+
// ---- End P Constants, all P constants go above this line ----
// Add new aosp constants above this line.
// END OF AOSP CONSTANTS
diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
index 85b0220..f992049 100644
--- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
+++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
@@ -568,8 +568,9 @@
Context userContext = mContext.createPackageContextAsUser(providerPackage, 0,
UserHandle.of(providerUserId));
PackageManager pm = userContext.getPackageManager();
- Drawable icon = pm.getApplicationInfo(providerPackage, 0).loadUnbadgedIcon(pm);
+ Drawable icon = pm.getApplicationInfo(providerPackage, 0).loadUnbadgedIcon(pm).mutate();
// Create a bitmap of the icon which is what the widget's remoteview requires.
+ icon.setColorFilter(mIconUtilities.getDisabledColorFilter());
return mIconUtilities.createIconBitmap(icon);
} catch (NameNotFoundException e) {
Slog.e(TAG, "Fail to get application icon", e);
diff --git a/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java b/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java
index 6ff9539..4bd8063 100644
--- a/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java
+++ b/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java
@@ -32,6 +32,7 @@
import android.content.ComponentName;
import android.content.Context;
import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageItemInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.ServiceInfo;
@@ -667,7 +668,10 @@
@NonNull
CharSequence getServiceLabel() {
- return mInfo.getServiceInfo().loadLabel(mContext.getPackageManager());
+ final CharSequence label = mInfo.getServiceInfo().loadSafeLabel(
+ mContext.getPackageManager(), 0 /* do not ellipsize */,
+ PackageItemInfo.SAFE_LABEL_FLAG_FIRST_LINE | PackageItemInfo.SAFE_LABEL_FLAG_TRIM);
+ return label;
}
@NonNull
@@ -912,6 +916,7 @@
} else {
pw.println();
mInfo.dump(prefix2, pw);
+ pw.print(prefix); pw.print("Service Label: "); pw.println(getServiceLabel());
}
pw.print(prefix); pw.print("Component from settings: ");
pw.println(getComponentNameFromSettings());
diff --git a/services/core/java/com/android/server/AppOpsService.java b/services/core/java/com/android/server/AppOpsService.java
index 13503e6..7f26575 100644
--- a/services/core/java/com/android/server/AppOpsService.java
+++ b/services/core/java/com/android/server/AppOpsService.java
@@ -21,13 +21,16 @@
import android.app.ActivityThread;
import android.app.AppGlobals;
import android.app.AppOpsManager;
+import android.content.ContentResolver;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.IPackageManager;
import android.content.pm.PackageManager;
import android.content.pm.PackageManagerInternal;
import android.content.pm.UserInfo;
+import android.database.ContentObserver;
import android.media.AudioAttributes;
+import android.net.Uri;
import android.os.AsyncTask;
import android.os.Binder;
import android.os.Bundle;
@@ -43,9 +46,11 @@
import android.os.UserHandle;
import android.os.UserManager;
import android.os.storage.StorageManagerInternal;
+import android.provider.Settings;
import android.util.ArrayMap;
import android.util.ArraySet;
import android.util.AtomicFile;
+import android.util.KeyValueListParser;
import android.util.Slog;
import android.util.SparseArray;
import android.util.SparseBooleanArray;
@@ -109,9 +114,6 @@
// Write at most every 30 minutes.
static final long WRITE_DELAY = DEBUG ? 1000 : 30*60*1000;
- // How long we want for a drop in uid state to settle before applying it.
- static final long STATE_SETTLE_TIME = 10*1000;
-
// Constant meaning that any UID should be matched when dispatching callbacks
private static final int UID_ANY = -2;
@@ -198,6 +200,75 @@
*/
private final ArrayMap<IBinder, ClientRestrictionState> mOpUserRestrictions = new ArrayMap<>();
+ /**
+ * All times are in milliseconds. These constants are kept synchronized with the system
+ * global Settings. Any access to this class or its fields should be done while
+ * holding the AppOpsService lock.
+ */
+ private final class Constants extends ContentObserver {
+ // Key names stored in the settings value.
+ private static final String KEY_STATE_SETTLE_TIME = "state_settle_time";
+
+ /**
+ * How long we want for a drop in uid state to settle before applying it.
+ * @see Settings.Global#APP_OPS_CONSTANTS
+ * @see #KEY_STATE_SETTLE_TIME
+ */
+ public long STATE_SETTLE_TIME;
+
+
+ private final KeyValueListParser mParser = new KeyValueListParser(',');
+ private ContentResolver mResolver;
+
+ public Constants(Handler handler) {
+ super(handler);
+ updateConstants();
+ }
+
+ public void startMonitoring(ContentResolver resolver) {
+ mResolver = resolver;
+ mResolver.registerContentObserver(
+ Settings.Global.getUriFor(Settings.Global.DEVICE_IDLE_CONSTANTS),
+ false, this);
+ updateConstants();
+ }
+
+ @Override
+ public void onChange(boolean selfChange, Uri uri) {
+ updateConstants();
+ }
+
+ private void updateConstants() {
+ synchronized (AppOpsService.this) {
+ try {
+ if (mResolver != null) {
+ mParser.setString(Settings.Global.getString(mResolver,
+ Settings.Global.APP_OPS_CONSTANTS));
+ } else {
+ mParser.setString("");
+ }
+ } catch (IllegalArgumentException e) {
+ // Failed to parse the settings string, log this and move on
+ // with defaults.
+ Slog.e(TAG, "Bad app ops settings", e);
+ }
+
+ STATE_SETTLE_TIME = mParser.getDurationMillis(
+ KEY_STATE_SETTLE_TIME, 10 * 1000L);
+ }
+ }
+
+ void dump(PrintWriter pw) {
+ pw.println(" Settings:");
+
+ pw.print(" "); pw.print(KEY_STATE_SETTLE_TIME); pw.print("=");
+ TimeUtils.formatDuration(STATE_SETTLE_TIME, pw);
+ pw.println();
+ }
+ }
+
+ private final Constants mConstants;
+
@VisibleForTesting
static final class UidState {
public final int uid;
@@ -210,7 +281,9 @@
public ArrayMap<String, Ops> pkgOps;
public SparseIntArray opModes;
+ // true indicates there is an interested observer, false there isn't but it has such an op
public SparseBooleanArray foregroundOps;
+ public boolean hasForegroundWatchers;
public UidState(int uid) {
this.uid = uid;
@@ -234,8 +307,35 @@
return mode;
}
- public void evalForegroundOps() {
+ private void evalForegroundWatchers(int op, SparseArray<ArraySet<ModeCallback>> watchers,
+ SparseBooleanArray which) {
+ boolean curValue = which.get(op, false);
+ ArraySet<ModeCallback> callbacks = watchers.get(op);
+ if (callbacks != null) {
+ for (int cbi = callbacks.size() - 1; !curValue && cbi >= 0; cbi--) {
+ if ((callbacks.valueAt(cbi).mFlags
+ & AppOpsManager.WATCH_FOREGROUND_CHANGES) != 0) {
+ hasForegroundWatchers = true;
+ curValue = true;
+ }
+ }
+ }
+ which.put(op, curValue);
+ }
+
+ public void evalForegroundOps(SparseArray<ArraySet<ModeCallback>> watchers) {
SparseBooleanArray which = null;
+ hasForegroundWatchers = false;
+ if (opModes != null) {
+ for (int i = opModes.size() - 1; i >= 0; i--) {
+ if (opModes.valueAt(i) == AppOpsManager.MODE_FOREGROUND) {
+ if (which == null) {
+ which = new SparseBooleanArray();
+ }
+ evalForegroundWatchers(opModes.keyAt(i), watchers, which);
+ }
+ }
+ }
if (pkgOps != null) {
for (int i = pkgOps.size() - 1; i >= 0; i--) {
Ops ops = pkgOps.valueAt(i);
@@ -244,7 +344,7 @@
if (which == null) {
which = new SparseBooleanArray();
}
- which.put(ops.keyAt(j), true);
+ evalForegroundWatchers(ops.keyAt(j), watchers, which);
}
}
}
@@ -313,13 +413,15 @@
final class ModeCallback implements DeathRecipient {
final IAppOpsCallback mCallback;
final int mWatchingUid;
+ final int mFlags;
final int mCallingUid;
final int mCallingPid;
- ModeCallback(IAppOpsCallback callback, int watchingUid, int callingUid,
+ ModeCallback(IAppOpsCallback callback, int watchingUid, int flags, int callingUid,
int callingPid) {
mCallback = callback;
mWatchingUid = watchingUid;
+ mFlags = flags;
mCallingUid = callingUid;
mCallingPid = callingPid;
try {
@@ -328,6 +430,10 @@
}
}
+ public boolean isWatchingUid(int uid) {
+ return uid == UID_ANY || mWatchingUid < 0 || mWatchingUid == uid;
+ }
+
@Override
public String toString() {
StringBuilder sb = new StringBuilder(128);
@@ -335,6 +441,8 @@
sb.append(Integer.toHexString(System.identityHashCode(this)));
sb.append(" watchinguid=");
UserHandle.formatUid(sb, mWatchingUid);
+ sb.append(" flags=0x");
+ sb.append(Integer.toHexString(mFlags));
sb.append(" from uid=");
UserHandle.formatUid(sb, mCallingUid);
sb.append(" pid=");
@@ -439,6 +547,7 @@
LockGuard.installLock(this, LockGuard.INDEX_APP_OPS);
mFile = new AtomicFile(storagePath, "appops");
mHandler = handler;
+ mConstants = new Constants(mHandler);
readState();
}
@@ -449,6 +558,7 @@
public void systemReady() {
synchronized (this) {
+ mConstants.startMonitoring(mContext.getContentResolver());
boolean changed = false;
for (int i = mUidStates.size() - 1; i >= 0; i--) {
UidState uidState = mUidStates.valueAt(i);
@@ -611,14 +721,16 @@
final UidState uidState = getUidStateLocked(uid, true);
final int newState = PROCESS_STATE_TO_UID_STATE[procState];
if (uidState != null && uidState.pendingState != newState) {
+ final int oldPendingState = uidState.pendingState;
+ uidState.pendingState = newState;
if (newState < uidState.state) {
// We are moving to a more important state, always do it immediately.
- uidState.state = newState;
- uidState.pendingStateCommitTime = 0;
+ commitUidPendingStateLocked(uidState);
} else if (uidState.pendingStateCommitTime == 0) {
// We are moving to a less important state for the first time,
// delay the application for a bit.
- uidState.pendingStateCommitTime = SystemClock.uptimeMillis() + STATE_SETTLE_TIME;
+ uidState.pendingStateCommitTime = SystemClock.uptimeMillis() +
+ mConstants.STATE_SETTLE_TIME;
}
if (uidState.startNesting != 0) {
// There is some actively running operation... need to find it
@@ -629,13 +741,12 @@
for (int j = ops.size() - 1; j >= 0; j--) {
final Op op = ops.valueAt(j);
if (op.startNesting > 0) {
- op.time[uidState.pendingState] = now;
+ op.time[oldPendingState] = now;
op.time[newState] = now;
}
}
}
}
- uidState.pendingState = newState;
}
}
}
@@ -867,7 +978,9 @@
ModeCallback callback = callbacks.valueAt(i);
ArraySet<String> changedPackages = new ArraySet<>();
Collections.addAll(changedPackages, uidPackageNames);
- callbackSpecs = new ArrayMap<>();
+ if (callbackSpecs == null) {
+ callbackSpecs = new ArrayMap<>();
+ }
callbackSpecs.put(callback, changedPackages);
}
}
@@ -932,7 +1045,7 @@
if (op.mode != mode) {
op.mode = mode;
if (uidState != null) {
- uidState.evalForegroundOps();
+ uidState.evalForegroundOps(mOpModeWatchers);
}
ArraySet<ModeCallback> cbs = mOpModeWatchers.get(code);
if (cbs != null) {
@@ -1126,7 +1239,7 @@
mUidStates.remove(uidState.uid);
}
if (uidChanged) {
- uidState.evalForegroundOps();
+ uidState.evalForegroundOps(mOpModeWatchers);
}
}
@@ -1148,8 +1261,23 @@
}
}
+ private void evalAllForegroundOpsLocked() {
+ for (int uidi = mUidStates.size() - 1; uidi >= 0; uidi--) {
+ final UidState uidState = mUidStates.valueAt(uidi);
+ if (uidState.foregroundOps != null) {
+ uidState.evalForegroundOps(mOpModeWatchers);
+ }
+ }
+ }
+
@Override
public void startWatchingMode(int op, String packageName, IAppOpsCallback callback) {
+ startWatchingModeWithFlags(op, packageName, 0, callback);
+ }
+
+ @Override
+ public void startWatchingModeWithFlags(int op, String packageName, int flags,
+ IAppOpsCallback callback) {
int watchedUid = -1;
final int callingUid = Binder.getCallingUid();
final int callingPid = Binder.getCallingPid();
@@ -1166,7 +1294,7 @@
op = (op != AppOpsManager.OP_NONE) ? AppOpsManager.opToSwitch(op) : op;
ModeCallback cb = mModeWatchers.get(callback.asBinder());
if (cb == null) {
- cb = new ModeCallback(callback, watchedUid, callingUid, callingPid);
+ cb = new ModeCallback(callback, watchedUid, flags, callingUid, callingPid);
mModeWatchers.put(callback.asBinder(), cb);
}
if (op != AppOpsManager.OP_NONE) {
@@ -1185,6 +1313,7 @@
}
cbs.add(cb);
}
+ evalAllForegroundOpsLocked();
}
}
@@ -1212,6 +1341,7 @@
}
}
}
+ evalAllForegroundOpsLocked();
}
}
@@ -1249,7 +1379,7 @@
if (op == null) {
return AppOpsManager.opToDefaultMode(code);
}
- return op.mode == AppOpsManager.MODE_FOREGROUND ? AppOpsManager.MODE_ALLOWED : op.mode;
+ return op.mode;
}
}
@@ -1699,13 +1829,11 @@
} else {
if (uidState.pendingStateCommitTime != 0) {
if (uidState.pendingStateCommitTime < mLastUptime) {
- uidState.state = uidState.pendingState;
- uidState.pendingStateCommitTime = 0;
+ commitUidPendingStateLocked(uidState);
} else {
mLastUptime = SystemClock.uptimeMillis();
if (uidState.pendingStateCommitTime < mLastUptime) {
- uidState.state = uidState.pendingState;
- uidState.pendingStateCommitTime = 0;
+ commitUidPendingStateLocked(uidState);
}
}
}
@@ -1713,6 +1841,44 @@
return uidState;
}
+ private void commitUidPendingStateLocked(UidState uidState) {
+ uidState.state = uidState.pendingState;
+ uidState.pendingStateCommitTime = 0;
+ if (uidState.hasForegroundWatchers) {
+ for (int fgi = uidState.foregroundOps.size() - 1; fgi >= 0; fgi--) {
+ if (!uidState.foregroundOps.valueAt(fgi)) {
+ continue;
+ }
+ final int code = uidState.foregroundOps.keyAt(fgi);
+
+ final ArraySet<ModeCallback> callbacks = mOpModeWatchers.get(code);
+ if (callbacks != null) {
+ for (int cbi = callbacks.size() - 1; cbi >= 0; cbi--) {
+ final ModeCallback callback = callbacks.valueAt(cbi);
+ if ((callback.mFlags & AppOpsManager.WATCH_FOREGROUND_CHANGES) == 0
+ || !callback.isWatchingUid(uidState.uid)) {
+ continue;
+ }
+ boolean doAllPackages = uidState.opModes != null
+ && uidState.opModes.get(code) == AppOpsManager.MODE_FOREGROUND;
+ if (uidState.pkgOps != null) {
+ for (int pkgi = uidState.pkgOps.size() - 1; pkgi >= 0; pkgi--) {
+ final Op op = uidState.pkgOps.valueAt(pkgi).get(code);
+ if (doAllPackages || (op != null
+ && op.mode == AppOpsManager.MODE_FOREGROUND)) {
+ mHandler.sendMessage(PooledLambda.obtainMessage(
+ AppOpsService::notifyOpChanged,
+ this, callback, code, uidState.uid,
+ uidState.pkgOps.keyAt(pkgi)));
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
private Ops getOpsRawLocked(int uid, String packageName, boolean edit,
boolean uidMismatchExpected) {
UidState uidState = getUidStateLocked(uid, edit);
@@ -1952,7 +2118,7 @@
}
}
if (changed) {
- uidState.evalForegroundOps();
+ uidState.evalForegroundOps(mOpModeWatchers);
}
}
}
@@ -2151,7 +2317,7 @@
}
UidState uidState = getUidStateLocked(uid, false);
if (uidState != null) {
- uidState.evalForegroundOps();
+ uidState.evalForegroundOps(mOpModeWatchers);
}
}
@@ -2322,7 +2488,7 @@
}
}
- int strModeToMode(String modeStr, PrintWriter err) {
+ static int strModeToMode(String modeStr, PrintWriter err) {
for (int i = AppOpsManager.MODE_NAMES.length - 1; i >= 0; i--) {
if (AppOpsManager.MODE_NAMES[i].equals(modeStr)) {
return i;
@@ -2716,6 +2882,10 @@
pw.println(" Print this help text.");
pw.println(" --op [OP]");
pw.println(" Limit output to data associated with the given app op code.");
+ pw.println(" --mode [MODE]");
+ pw.println(" Limit output to data associated with the given app op mode.");
+ pw.println(" --package [PACKAGE]");
+ pw.println(" Limit output to data associated with the given package name.");
}
private void dumpTimesLocked(PrintWriter pw, String firstPrefix, String prefix, long[] times,
@@ -2751,6 +2921,9 @@
if (!DumpUtils.checkDumpAndUsageStatsPermission(mContext, TAG, pw)) return;
int dumpOp = -1;
+ String dumpPackage = null;
+ int dumpUid = -1;
+ int dumpMode = -1;
if (args != null) {
for (int i=0; i<args.length; i++) {
@@ -2770,6 +2943,34 @@
if (dumpOp < 0) {
return;
}
+ } else if ("--package".equals(arg)) {
+ i++;
+ if (i >= args.length) {
+ pw.println("No argument for --package option");
+ return;
+ }
+ dumpPackage = args[i];
+ try {
+ dumpUid = AppGlobals.getPackageManager().getPackageUid(dumpPackage,
+ PackageManager.MATCH_KNOWN_PACKAGES | PackageManager.MATCH_INSTANT,
+ 0);
+ } catch (RemoteException e) {
+ }
+ if (dumpUid < 0) {
+ pw.println("Unknown package: " + dumpPackage);
+ return;
+ }
+ dumpUid = UserHandle.getAppId(dumpUid);
+ } else if ("--mode".equals(arg)) {
+ i++;
+ if (i >= args.length) {
+ pw.println("No argument for --mode option");
+ return;
+ }
+ dumpMode = Shell.strModeToMode(args[i], pw);
+ if (dumpMode < 0) {
+ return;
+ }
} else if (arg.length() > 0 && arg.charAt(0) == '-'){
pw.println("Unknown option: " + arg);
return;
@@ -2782,6 +2983,8 @@
synchronized (this) {
pw.println("Current AppOps Service state:");
+ mConstants.dump(pw);
+ pw.println();
final long now = System.currentTimeMillis();
final long nowElapsed = SystemClock.elapsedRealtime();
final long nowUptime = SystemClock.uptimeMillis();
@@ -2789,29 +2992,46 @@
final Date date = new Date();
boolean needSep = false;
if (mOpModeWatchers.size() > 0) {
- needSep = true;
boolean printedHeader = false;
for (int i=0; i<mOpModeWatchers.size(); i++) {
if (dumpOp >= 0 && dumpOp != mOpModeWatchers.keyAt(i)) {
continue;
}
- if (!printedHeader) {
- pw.println(" Op mode watchers:");
- printedHeader = true;
- }
- pw.print(" Op "); pw.print(AppOpsManager.opToName(mOpModeWatchers.keyAt(i)));
- pw.println(":");
+ boolean printedOpHeader = false;
ArraySet<ModeCallback> callbacks = mOpModeWatchers.valueAt(i);
for (int j=0; j<callbacks.size(); j++) {
+ final ModeCallback cb = callbacks.valueAt(j);
+ if (dumpPackage != null && cb.mWatchingUid >= 0
+ && dumpUid != UserHandle.getAppId(cb.mWatchingUid)) {
+ continue;
+ }
+ needSep = true;
+ if (!printedHeader) {
+ pw.println(" Op mode watchers:");
+ printedHeader = true;
+ }
+ if (!printedOpHeader) {
+ pw.print(" Op ");
+ pw.print(AppOpsManager.opToName(mOpModeWatchers.keyAt(i)));
+ pw.println(":");
+ printedOpHeader = true;
+ }
pw.print(" #"); pw.print(j); pw.print(": ");
- pw.println(callbacks.valueAt(j));
+ pw.println(cb);
}
}
}
- if (mPackageModeWatchers.size() > 0) {
- needSep = true;
- pw.println(" Package mode watchers:");
+ if (mPackageModeWatchers.size() > 0 && dumpOp < 0) {
+ boolean printedHeader = false;
for (int i=0; i<mPackageModeWatchers.size(); i++) {
+ if (dumpPackage != null && !dumpPackage.equals(mPackageModeWatchers.keyAt(i))) {
+ continue;
+ }
+ needSep = true;
+ if (!printedHeader) {
+ pw.println(" Package mode watchers:");
+ printedHeader = true;
+ }
pw.print(" Pkg "); pw.print(mPackageModeWatchers.keyAt(i));
pw.println(":");
ArraySet<ModeCallback> callbacks = mPackageModeWatchers.valueAt(i);
@@ -2822,15 +3042,24 @@
}
}
if (mModeWatchers.size() > 0 && dumpOp < 0) {
- needSep = true;
- pw.println(" All op mode watchers:");
+ boolean printedHeader = false;
for (int i=0; i<mModeWatchers.size(); i++) {
+ final ModeCallback cb = mModeWatchers.valueAt(i);
+ if (dumpPackage != null && cb.mWatchingUid >= 0
+ && dumpUid != UserHandle.getAppId(cb.mWatchingUid)) {
+ continue;
+ }
+ needSep = true;
+ if (!printedHeader) {
+ pw.println(" All op mode watchers:");
+ printedHeader = true;
+ }
pw.print(" ");
pw.print(Integer.toHexString(System.identityHashCode(mModeWatchers.keyAt(i))));
- pw.print(": "); pw.println(mModeWatchers.valueAt(i));
+ pw.print(": "); pw.println(cb);
}
}
- if (mActiveWatchers.size() > 0) {
+ if (mActiveWatchers.size() > 0 && dumpMode < 0) {
needSep = true;
boolean printedHeader = false;
for (int i = 0; i < mActiveWatchers.size(); i++) {
@@ -2838,9 +3067,14 @@
if (activeWatchers.size() <= 0) {
continue;
}
+ final ActiveCallback cb = activeWatchers.valueAt(0);
if (dumpOp >= 0 && activeWatchers.indexOfKey(dumpOp) < 0) {
continue;
}
+ if (dumpPackage != null && cb.mWatchingUid >= 0
+ && dumpUid != UserHandle.getAppId(cb.mWatchingUid)) {
+ continue;
+ }
if (!printedHeader) {
pw.println(" All op active watchers:");
printedHeader = true;
@@ -2862,10 +3096,10 @@
}
pw.println("]");
pw.print(" ");
- pw.println(activeWatchers.valueAt(0));
+ pw.println(cb);
}
}
- if (mClients.size() > 0) {
+ if (mClients.size() > 0 && dumpMode < 0) {
needSep = true;
boolean printedHeader = false;
for (int i=0; i<mClients.size(); i++) {
@@ -2878,6 +3112,9 @@
if (dumpOp >= 0 && op.op != dumpOp) {
continue;
}
+ if (dumpPackage != null && !dumpPackage.equals(op.packageName)) {
+ continue;
+ }
if (!printedHeader) {
pw.println(" Clients:");
printedHeader = true;
@@ -2898,7 +3135,8 @@
}
}
}
- if (mAudioRestrictions.size() > 0 && dumpOp < 0) {
+ if (mAudioRestrictions.size() > 0 && dumpOp < 0 && dumpPackage != null
+ && dumpMode < 0) {
boolean printedHeader = false;
for (int o=0; o<mAudioRestrictions.size(); o++) {
final String op = AppOpsManager.opToName(mAudioRestrictions.keyAt(o));
@@ -2931,19 +3169,44 @@
final SparseIntArray opModes = uidState.opModes;
final ArrayMap<String, Ops> pkgOps = uidState.pkgOps;
- if (dumpOp >= 0) {
- boolean hasOp = uidState.opModes != null
- && uidState.opModes.indexOfKey(dumpOp) >= 0;
- if (pkgOps != null) {
- for (int pkgi = 0; !hasOp && pkgi < pkgOps.size(); pkgi++) {
- Ops ops = pkgOps.valueAt(pkgi);
- if (ops != null && ops.indexOfKey(dumpOp) >= 0) {
- hasOp = true;
- continue;
+ if (dumpOp >= 0 || dumpPackage != null || dumpMode >= 0) {
+ boolean hasOp = dumpOp < 0 || (uidState.opModes != null
+ && uidState.opModes.indexOfKey(dumpOp) >= 0);
+ boolean hasPackage = dumpPackage == null;
+ boolean hasMode = dumpMode < 0;
+ if (!hasMode && opModes != null) {
+ for (int opi = 0; !hasMode && opi < opModes.size(); opi++) {
+ if (opModes.valueAt(opi) == dumpMode) {
+ hasMode = true;
}
}
}
- if (!hasOp) {
+ if (pkgOps != null) {
+ for (int pkgi = 0;
+ (!hasOp || !hasPackage || !hasMode) && pkgi < pkgOps.size();
+ pkgi++) {
+ Ops ops = pkgOps.valueAt(pkgi);
+ if (!hasOp && ops != null && ops.indexOfKey(dumpOp) >= 0) {
+ hasOp = true;
+ }
+ if (!hasMode) {
+ for (int opi = 0; !hasMode && opi < ops.size(); opi++) {
+ if (ops.valueAt(opi).mode == dumpMode) {
+ hasMode = true;
+ }
+ }
+ }
+ if (!hasPackage && dumpPackage.equals(ops.packageName)) {
+ hasPackage = true;
+ }
+ }
+ }
+ if (uidState.foregroundOps != null && !hasOp) {
+ if (uidState.foregroundOps.indexOfKey(dumpOp) > 0) {
+ hasOp = true;
+ }
+ }
+ if (!hasOp || !hasPackage || !hasMode) {
continue;
}
}
@@ -2964,12 +3227,20 @@
pw.print(" startNesting=");
pw.println(uidState.startNesting);
}
- if (uidState.foregroundOps != null) {
+ if (uidState.foregroundOps != null && (dumpMode < 0
+ || dumpMode == AppOpsManager.MODE_FOREGROUND)) {
pw.println(" foregroundOps:");
for (int j = 0; j < uidState.foregroundOps.size(); j++) {
- pw.print(" ");
- pw.println(AppOpsManager.opToName(uidState.foregroundOps.keyAt(j)));
+ if (dumpOp >= 0 && dumpOp != uidState.foregroundOps.keyAt(j)) {
+ continue;
+ }
+ pw.print(" ");
+ pw.print(AppOpsManager.opToName(uidState.foregroundOps.keyAt(j)));
+ pw.print(": ");
+ pw.println(uidState.foregroundOps.valueAt(j) ? "WATCHER" : "SILENT");
}
+ pw.print(" hasForegroundWatchers=");
+ pw.println(uidState.hasForegroundWatchers);
}
needSep = true;
@@ -2981,6 +3252,9 @@
if (dumpOp >= 0 && dumpOp != code) {
continue;
}
+ if (dumpMode >= 0 && dumpMode != mode) {
+ continue;
+ }
pw.print(" "); pw.print(AppOpsManager.opToName(code));
pw.print(": mode="); pw.println(AppOpsManager.modeToName(mode));
}
@@ -2991,19 +3265,34 @@
}
for (int pkgi = 0; pkgi < pkgOps.size(); pkgi++) {
- Ops ops = pkgOps.valueAt(pkgi);
+ final Ops ops = pkgOps.valueAt(pkgi);
+ if (dumpPackage != null && !dumpPackage.equals(ops.packageName)) {
+ continue;
+ }
boolean printedPackage = false;
for (int j=0; j<ops.size(); j++) {
- Op op = ops.valueAt(j);
+ final Op op = ops.valueAt(j);
if (dumpOp >= 0 && dumpOp != op.op) {
continue;
}
+ if (dumpMode >= 0 && dumpMode != op.mode) {
+ continue;
+ }
if (!printedPackage) {
pw.print(" Package "); pw.print(ops.packageName); pw.println(":");
printedPackage = true;
}
pw.print(" "); pw.print(AppOpsManager.opToName(op.op));
pw.print(" ("); pw.print(AppOpsManager.modeToName(op.mode));
+ final int switchOp = AppOpsManager.opToSwitch(op.op);
+ if (switchOp != op.op) {
+ pw.print(" / switch ");
+ pw.print(AppOpsManager.opToName(switchOp));
+ final Op switchObj = ops.get(switchOp);
+ int mode = switchObj != null
+ ? switchObj.mode : AppOpsManager.opToDefaultMode(switchOp);
+ pw.print("="); pw.print(AppOpsManager.modeToName(mode));
+ }
pw.println("): ");
dumpTimesLocked(pw,
" Access: ",
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index 72f9d74..797cb4b 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -500,24 +500,24 @@
private static final int MAX_VALIDATION_LOGS = 10;
private static class ValidationLog {
final Network mNetwork;
- final String mNetworkExtraInfo;
+ final String mName;
final ReadOnlyLocalLog mLog;
- ValidationLog(Network network, String networkExtraInfo, ReadOnlyLocalLog log) {
+ ValidationLog(Network network, String name, ReadOnlyLocalLog log) {
mNetwork = network;
- mNetworkExtraInfo = networkExtraInfo;
+ mName = name;
mLog = log;
}
}
private final ArrayDeque<ValidationLog> mValidationLogs =
new ArrayDeque<ValidationLog>(MAX_VALIDATION_LOGS);
- private void addValidationLogs(ReadOnlyLocalLog log, Network network, String networkExtraInfo) {
+ private void addValidationLogs(ReadOnlyLocalLog log, Network network, String name) {
synchronized (mValidationLogs) {
while (mValidationLogs.size() >= MAX_VALIDATION_LOGS) {
mValidationLogs.removeLast();
}
- mValidationLogs.addFirst(new ValidationLog(network, networkExtraInfo, log));
+ mValidationLogs.addFirst(new ValidationLog(network, name, log));
}
}
@@ -2097,7 +2097,7 @@
synchronized (mValidationLogs) {
pw.println("mValidationLogs (most recent first):");
for (ValidationLog p : mValidationLogs) {
- pw.println(p.mNetwork + " - " + p.mNetworkExtraInfo);
+ pw.println(p.mNetwork + " - " + p.mName);
pw.increaseIndent();
p.mLog.dump(fd, pw, args);
pw.decreaseIndent();
@@ -4628,8 +4628,10 @@
synchronized (this) {
nai.networkMonitor.systemReady = mSystemReady;
}
- addValidationLogs(nai.networkMonitor.getValidationLogs(), nai.network,
- networkInfo.getExtraInfo());
+ final String extraInfo = networkInfo.getExtraInfo();
+ final String name = TextUtils.isEmpty(extraInfo)
+ ? nai.networkCapabilities.getSSID() : extraInfo;
+ addValidationLogs(nai.networkMonitor.getValidationLogs(), nai.network, name);
if (DBG) log("registerNetworkAgent " + nai);
mHandler.sendMessage(mHandler.obtainMessage(EVENT_REGISTER_NETWORK_AGENT, nai));
return nai.network.netId;
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 58b40b1..48090f2 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -466,6 +466,7 @@
import com.android.server.job.JobSchedulerInternal;
import com.android.server.pm.Installer;
import com.android.server.pm.Installer.InstallerException;
+import com.android.server.pm.dex.DexManager;
import com.android.server.utils.PriorityDump;
import com.android.server.vr.VrManagerInternal;
import com.android.server.wm.PinnedStackWindowController;
@@ -4311,7 +4312,7 @@
}
if (app.info.isPrivilegedApp() &&
- SystemProperties.getBoolean("pm.dexopt.priv-apps-oob", false)) {
+ DexManager.isPackageSelectedToRunOob(app.pkgList.keySet())) {
runtimeFlags |= Zygote.ONLY_USE_SYSTEM_OAT_FILES;
}
@@ -22994,18 +22995,27 @@
}
}
- private final int computeOomAdjLocked(ProcessRecord app, int cachedAdj, ProcessRecord TOP_APP,
+ private final boolean computeOomAdjLocked(ProcessRecord app, int cachedAdj, ProcessRecord TOP_APP,
boolean doingAll, long now) {
if (mAdjSeq == app.adjSeq) {
- // This adjustment has already been computed.
- return app.curRawAdj;
+ if (app.adjSeq == app.completedAdjSeq) {
+ // This adjustment has already been computed successfully.
+ return false;
+ } else {
+ // The process is being computed, so there is a cycle. We cannot
+ // rely on this process's state.
+ app.containsCycle = true;
+ return false;
+ }
}
if (app.thread == null) {
app.adjSeq = mAdjSeq;
app.curSchedGroup = ProcessList.SCHED_GROUP_BACKGROUND;
app.curProcState = ActivityManager.PROCESS_STATE_CACHED_EMPTY;
- return (app.curAdj=app.curRawAdj=ProcessList.CACHED_APP_MAX_ADJ);
+ app.curAdj=app.curRawAdj=ProcessList.CACHED_APP_MAX_ADJ;
+ app.completedAdjSeq = app.adjSeq;
+ return false;
}
app.adjTypeCode = ActivityManager.RunningAppProcessInfo.REASON_UNKNOWN;
@@ -23018,6 +23028,8 @@
final int appUid = app.info.uid;
final int logUid = mCurOomAdjUid;
+ int prevAppAdj = app.curAdj;
+
if (app.maxAdj <= ProcessList.FOREGROUND_APP_ADJ) {
// The max adjustment doesn't allow this app to be anything
// below foreground, so it is not worth doing work for it.
@@ -23062,7 +23074,10 @@
app.curSchedGroup = ProcessList.SCHED_GROUP_RESTRICTED;
}
}
- return (app.curAdj=app.maxAdj);
+ app.curAdj = app.maxAdj;
+ app.completedAdjSeq = app.adjSeq;
+ // if curAdj is less than prevAppAdj, then this process was promoted
+ return app.curAdj < prevAppAdj;
}
app.systemNoUi = false;
@@ -23074,6 +23089,8 @@
int adj;
int schedGroup;
int procState;
+ int cachedAdjSeq;
+
boolean foregroundActivities = false;
mTmpBroadcastQueue.clear();
if (PROCESS_STATE_CUR_TOP == ActivityManager.PROCESS_STATE_TOP && app == TOP_APP) {
@@ -23387,9 +23404,9 @@
// there are applications dependent on our services or providers, but
// this gives us a baseline and makes sure we don't get into an
// infinite recursion.
- app.adjSeq = mAdjSeq;
app.curRawAdj = adj;
app.hasStartedServices = false;
+ app.adjSeq = mAdjSeq;
if (mBackupTarget != null && app == mBackupTarget.app) {
// If possible we want to avoid killing apps while they're being backed up
@@ -23488,8 +23505,15 @@
if ((cr.flags&Context.BIND_WAIVE_PRIORITY) == 0) {
ProcessRecord client = cr.binding.client;
- int clientAdj = computeOomAdjLocked(client, cachedAdj,
- TOP_APP, doingAll, now);
+ computeOomAdjLocked(client, cachedAdj, TOP_APP, doingAll, now);
+ if (client.containsCycle) {
+ // We've detected a cycle. We should ignore this connection and allow
+ // this process to retry computeOomAdjLocked later in case a later-checked
+ // connection from a client would raise its priority legitimately.
+ app.containsCycle = true;
+ continue;
+ }
+ int clientAdj = client.curRawAdj;
int clientProcState = client.curProcState;
if (clientProcState >= ActivityManager.PROCESS_STATE_CACHED_ACTIVITY) {
// If the other app is cached for any reason, for purposes here
@@ -23708,7 +23732,15 @@
// Being our own client is not interesting.
continue;
}
- int clientAdj = computeOomAdjLocked(client, cachedAdj, TOP_APP, doingAll, now);
+ computeOomAdjLocked(client, cachedAdj, TOP_APP, doingAll, now);
+ if (client.containsCycle) {
+ // We've detected a cycle. We should ignore this connection and allow
+ // this process to retry computeOomAdjLocked later in case a later-checked
+ // connection from a client would raise its priority legitimately.
+ app.containsCycle = true;
+ continue;
+ }
+ int clientAdj = client.curRawAdj;
int clientProcState = client.curProcState;
if (clientProcState >= ActivityManager.PROCESS_STATE_CACHED_ACTIVITY) {
// If the other app is cached for any reason, for purposes here
@@ -23936,8 +23968,10 @@
app.curSchedGroup = schedGroup;
app.curProcState = procState;
app.foregroundActivities = foregroundActivities;
+ app.completedAdjSeq = mAdjSeq;
- return app.curRawAdj;
+ // if curAdj is less than prevAppAdj, then this process was promoted
+ return app.curAdj < prevAppAdj;
}
/**
@@ -24911,12 +24945,23 @@
int nextCachedAdj = curCachedAdj+1;
int curEmptyAdj = ProcessList.CACHED_APP_MIN_ADJ;
int nextEmptyAdj = curEmptyAdj+2;
+
+ boolean retryCycles = false;
+
+ // need to reset cycle state before calling computeOomAdjLocked because of service connections
+ for (int i=N-1; i>=0; i--) {
+ ProcessRecord app = mLruProcesses.get(i);
+ app.containsCycle = false;
+ }
for (int i=N-1; i>=0; i--) {
ProcessRecord app = mLruProcesses.get(i);
if (!app.killedByAm && app.thread != null) {
app.procStateChanged = false;
computeOomAdjLocked(app, ProcessList.UNKNOWN_ADJ, TOP_APP, true, now);
+ // if any app encountered a cycle, we need to perform an additional loop later
+ retryCycles |= app.containsCycle;
+
// If we haven't yet assigned the final cached adj
// to the process, do that now.
if (app.curAdj >= ProcessList.UNKNOWN_ADJ) {
@@ -24970,6 +25015,39 @@
}
}
+
+ }
+ }
+
+ // Cycle strategy:
+ // - Retry computing any process that has encountered a cycle.
+ // - Continue retrying until no process was promoted.
+ // - Iterate from least important to most important.
+ int cycleCount = 0;
+ while (retryCycles) {
+ cycleCount++;
+ retryCycles = false;
+
+ for (int i=0; i<N; i++) {
+ ProcessRecord app = mLruProcesses.get(i);
+ if (!app.killedByAm && app.thread != null && app.containsCycle == true) {
+ app.adjSeq--;
+ app.completedAdjSeq--;
+ }
+ }
+
+ for (int i=0; i<N; i++) {
+ ProcessRecord app = mLruProcesses.get(i);
+ if (!app.killedByAm && app.thread != null && app.containsCycle == true) {
+ if (computeOomAdjLocked(app, ProcessList.UNKNOWN_ADJ, TOP_APP, true, now)) {
+ retryCycles = true;
+ }
+ }
+ }
+ }
+ for (int i=N-1; i>=0; i--) {
+ ProcessRecord app = mLruProcesses.get(i);
+ if (!app.killedByAm && app.thread != null) {
applyOomAdjLocked(app, true, now, nowElapsed);
// Count the number of process types.
diff --git a/services/core/java/com/android/server/am/ProcessRecord.java b/services/core/java/com/android/server/am/ProcessRecord.java
index b7fde1d..caf52e3 100644
--- a/services/core/java/com/android/server/am/ProcessRecord.java
+++ b/services/core/java/com/android/server/am/ProcessRecord.java
@@ -149,6 +149,8 @@
String waitingToKill; // Process is waiting to be killed when in the bg, and reason
Object forcingToImportant; // Token that is forcing this process to be important
int adjSeq; // Sequence id for identifying oom_adj assignment cycles
+ int completedAdjSeq; // Sequence id for identifying oom_adj assignment cycles
+ boolean containsCycle; // Whether this app has encountered a cycle in the most recent update
int lruSeq; // Sequence id for identifying LRU update cycles
CompatibilityInfo compat; // last used compatibility mode
IBinder.DeathRecipient deathRecipient; // Who is watching for the death.
diff --git a/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java b/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java
index 02459bd..36a2476 100644
--- a/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java
+++ b/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java
@@ -26,6 +26,7 @@
import android.net.wifi.WifiInfo;
import android.os.UserHandle;
import android.telephony.TelephonyManager;
+import android.text.TextUtils;
import android.util.Slog;
import android.util.SparseArray;
import android.util.SparseIntArray;
@@ -131,16 +132,17 @@
final String tag = tagFor(id);
final int eventId = notifyType.eventId;
final int transportType;
- final String extraInfo;
+ final String name;
if (nai != null) {
transportType = getFirstTransportType(nai);
- extraInfo = nai.networkInfo.getExtraInfo();
+ final String extraInfo = nai.networkInfo.getExtraInfo();
+ name = TextUtils.isEmpty(extraInfo) ? nai.networkCapabilities.getSSID() : extraInfo;
// Only notify for Internet-capable networks.
if (!nai.networkCapabilities.hasCapability(NET_CAPABILITY_INTERNET)) return;
} else {
// Legacy notifications.
transportType = TRANSPORT_CELLULAR;
- extraInfo = null;
+ name = null;
}
// Clear any previous notification with lower priority, otherwise return. http://b/63676954.
@@ -157,9 +159,8 @@
if (DBG) {
Slog.d(TAG, String.format(
- "showNotification tag=%s event=%s transport=%s extraInfo=%s highPrioriy=%s",
- tag, nameOf(eventId), getTransportName(transportType), extraInfo,
- highPriority));
+ "showNotification tag=%s event=%s transport=%s name=%s highPriority=%s",
+ tag, nameOf(eventId), getTransportName(transportType), name, highPriority));
}
Resources r = Resources.getSystem();
@@ -188,7 +189,7 @@
break;
default:
title = r.getString(R.string.network_available_sign_in, 0);
- details = r.getString(R.string.network_available_sign_in_detailed, extraInfo);
+ details = r.getString(R.string.network_available_sign_in_detailed, name);
break;
}
} else if (notifyType == NotificationType.NETWORK_SWITCH) {
diff --git a/services/core/java/com/android/server/display/ColorDisplayService.java b/services/core/java/com/android/server/display/ColorDisplayService.java
index 030c915..213ec36 100644
--- a/services/core/java/com/android/server/display/ColorDisplayService.java
+++ b/services/core/java/com/android/server/display/ColorDisplayService.java
@@ -189,7 +189,7 @@
mController = new ColorDisplayController(getContext(), mCurrentUser);
mController.setListener(this);
- setCoefficientMatrix(getContext(), DisplayTransformManager.isNativeModeEnabled());
+ setCoefficientMatrix(getContext(), DisplayTransformManager.needsLinearColorMatrix());
// Prepare color transformation matrix.
setMatrix(mController.getColorTemperature(), mMatrixNight);
@@ -293,7 +293,7 @@
mColorMatrixAnimator.cancel();
}
- setCoefficientMatrix(getContext(), DisplayTransformManager.isColorModeNative(mode));
+ setCoefficientMatrix(getContext(), DisplayTransformManager.needsLinearColorMatrix(mode));
setMatrix(mController.getColorTemperature(), mMatrixNight);
final DisplayTransformManager dtm = getLocalService(DisplayTransformManager.class);
@@ -306,13 +306,12 @@
}
/**
- * Set coefficients based on native mode. Use DisplayTransformManager#isNativeModeEnabled while
- * setting is stable; when setting is changing, pass native mode selection directly.
+ * Set coefficients based on whether the color matrix is linear or not.
*/
- private void setCoefficientMatrix(Context context, boolean isNative) {
- final String[] coefficients = context.getResources().getStringArray(isNative
- ? R.array.config_nightDisplayColorTemperatureCoefficientsNative
- : R.array.config_nightDisplayColorTemperatureCoefficients);
+ private void setCoefficientMatrix(Context context, boolean needsLinear) {
+ final String[] coefficients = context.getResources().getStringArray(needsLinear
+ ? R.array.config_nightDisplayColorTemperatureCoefficients
+ : R.array.config_nightDisplayColorTemperatureCoefficientsNative);
for (int i = 0; i < 9 && i < coefficients.length; i++) {
mColorTempCoefficients[i] = Float.parseFloat(coefficients[i]);
}
diff --git a/services/core/java/com/android/server/display/DisplayTransformManager.java b/services/core/java/com/android/server/display/DisplayTransformManager.java
index 57d88e1..57a4f0d 100644
--- a/services/core/java/com/android/server/display/DisplayTransformManager.java
+++ b/services/core/java/com/android/server/display/DisplayTransformManager.java
@@ -231,21 +231,19 @@
}
/**
- * Return true when colors are stretched from the working color space to the
- * native color space.
+ * Return true when the color matrix works in linear space.
*/
- public static boolean isNativeModeEnabled() {
+ public static boolean needsLinearColorMatrix() {
return SystemProperties.getInt(PERSISTENT_PROPERTY_DISPLAY_COLOR,
- DISPLAY_COLOR_MANAGED) != DISPLAY_COLOR_MANAGED;
+ DISPLAY_COLOR_UNMANAGED) != DISPLAY_COLOR_UNMANAGED;
}
/**
- * Return true when the specified colorMode stretches colors from the
- * working color space to the native color space.
+ * Return true when the specified colorMode requires the color matrix to
+ * work in linear space.
*/
- public static boolean isColorModeNative(int colorMode) {
- return !(colorMode == ColorDisplayController.COLOR_MODE_NATURAL ||
- colorMode == ColorDisplayController.COLOR_MODE_BOOSTED);
+ public static boolean needsLinearColorMatrix(int colorMode) {
+ return colorMode != ColorDisplayController.COLOR_MODE_SATURATED;
}
public boolean setColorMode(int colorMode, float[] nightDisplayMatrix) {
diff --git a/services/core/java/com/android/server/media/MediaSessionRecord.java b/services/core/java/com/android/server/media/MediaSessionRecord.java
index 0d1644b..b3aa0bf 100644
--- a/services/core/java/com/android/server/media/MediaSessionRecord.java
+++ b/services/core/java/com/android/server/media/MediaSessionRecord.java
@@ -45,6 +45,7 @@
import android.os.IBinder;
import android.os.Looper;
import android.os.Message;
+import android.os.Process;
import android.os.RemoteException;
import android.os.ResultReceiver;
import android.os.SystemClock;
@@ -82,6 +83,7 @@
private final SessionStub mSession;
private final SessionCb mSessionCb;
private final MediaSessionService mService;
+ private final Context mContext;
private final Object mLock = new Object();
private final ArrayList<ISessionControllerCallbackHolder> mControllerCallbackHolders =
@@ -126,8 +128,9 @@
mSession = new SessionStub();
mSessionCb = new SessionCb(cb);
mService = service;
+ mContext = mService.getContext();
mHandler = new MessageHandler(handlerLooper);
- mAudioManager = (AudioManager) service.getContext().getSystemService(Context.AUDIO_SERVICE);
+ mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
mAudioManagerInternal = LocalServices.getService(AudioManagerInternal.class);
mAudioAttrs = new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_MEDIA).build();
}
@@ -232,12 +235,17 @@
* @param packageName The package that made the original volume request.
* @param pid The pid that made the original volume request.
* @param uid The uid that made the original volume request.
+ * @param asSystemService {@code true} if the event sent to the session as if it was come from
+ * the system service instead of the app process. This helps sessions to distinguish
+ * between the key injection by the app and key events from the hardware devices.
+ * Should be used only when the volume key events aren't handled by foreground
+ * activity. {@code false} otherwise to tell session about the real caller.
* @param direction The direction to adjust volume in.
* @param flags Any of the flags from {@link AudioManager}.
* @param useSuggested True to use adjustSuggestedStreamVolume instead of
*/
- public void adjustVolume(String packageName, int pid, int uid, int direction, int flags,
- boolean useSuggested) {
+ public void adjustVolume(String packageName, int pid, int uid, boolean asSystemService,
+ int direction, int flags, boolean useSuggested) {
int previousFlagPlaySound = flags & AudioManager.FLAG_PLAY_SOUND;
if (isPlaybackActive() || hasFlag(MediaSession.FLAG_EXCLUSIVE_GLOBAL_PRIORITY)) {
flags &= ~AudioManager.FLAG_PLAY_SOUND;
@@ -258,7 +266,7 @@
Log.w(TAG, "Muting remote playback is not supported");
return;
}
- mSessionCb.adjustVolume(packageName, pid, uid, direction);
+ mSessionCb.adjustVolume(packageName, pid, uid, asSystemService, direction);
int volumeBefore = (mOptimisticVolume < 0 ? mCurrentVolume : mOptimisticVolume);
mOptimisticVolume = volumeBefore + direction;
@@ -418,9 +426,9 @@
return mSessionCb.mCb;
}
- public void sendMediaButton(String packageName, int pid, int uid, KeyEvent ke, int sequenceId,
- ResultReceiver cb) {
- mSessionCb.sendMediaButton(packageName, pid, uid, ke, sequenceId, cb);
+ public void sendMediaButton(String packageName, int pid, int uid, boolean asSystemService,
+ KeyEvent ke, int sequenceId, ResultReceiver cb) {
+ mSessionCb.sendMediaButton(packageName, pid, uid, asSystemService, ke, sequenceId, cb);
}
public void dump(PrintWriter pw, String prefix) {
@@ -698,11 +706,7 @@
}
private String getPackageName(int uid) {
- Context context = mService.getContext();
- if (context == null) {
- return null;
- }
- String[] packages = context.getPackageManager().getPackagesForUid(uid);
+ String[] packages = mContext.getPackageManager().getPackagesForUid(uid);
if (packages != null && packages.length > 0) {
return packages[0];
}
@@ -907,12 +911,17 @@
mCb = cb;
}
- public boolean sendMediaButton(String packageName, int pid, int uid, KeyEvent keyEvent,
- int sequenceId, ResultReceiver cb) {
+ public boolean sendMediaButton(String packageName, int pid, int uid,
+ boolean asSystemService, KeyEvent keyEvent, int sequenceId, ResultReceiver cb) {
Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
mediaButtonIntent.putExtra(Intent.EXTRA_KEY_EVENT, keyEvent);
try {
- mCb.onMediaButton(packageName, pid, uid, mediaButtonIntent, sequenceId, cb);
+ if (asSystemService) {
+ mCb.onMediaButton(mContext.getPackageName(), Process.myPid(),
+ Process.SYSTEM_UID, mediaButtonIntent, sequenceId, cb);
+ } else {
+ mCb.onMediaButton(packageName, pid, uid, mediaButtonIntent, sequenceId, cb);
+ }
return true;
} catch (RemoteException e) {
Slog.e(TAG, "Remote failure in sendMediaRequest.", e);
@@ -1079,9 +1088,15 @@
}
}
- public void adjustVolume(String packageName, int pid, int uid, int direction) {
+ public void adjustVolume(String packageName, int pid, int uid, boolean asSystemService,
+ int direction) {
try {
- mCb.onAdjustVolume(packageName, pid, uid, direction);
+ if (asSystemService) {
+ mCb.onAdjustVolume(mContext.getPackageName(), Process.myPid(),
+ Process.SYSTEM_UID, direction);
+ } else {
+ mCb.onAdjustVolume(packageName, pid, uid, direction);
+ }
} catch (RemoteException e) {
Slog.e(TAG, "Remote failure in adjustVolume.", e);
}
@@ -1105,9 +1120,10 @@
}
@Override
- public boolean sendMediaButton(String packageName, KeyEvent mediaButtonIntent) {
+ public boolean sendMediaButton(String packageName, boolean asSystemService,
+ KeyEvent mediaButtonIntent) {
return mSessionCb.sendMediaButton(packageName, Binder.getCallingPid(),
- Binder.getCallingUid(), mediaButtonIntent, 0, null);
+ Binder.getCallingUid(), asSystemService, mediaButtonIntent, 0, null);
}
@Override
@@ -1188,13 +1204,14 @@
}
@Override
- public void adjustVolume(String packageName, int direction, int flags) {
+ public void adjustVolume(String packageName, boolean asSystemService, int direction,
+ int flags) {
int pid = Binder.getCallingPid();
int uid = Binder.getCallingUid();
final long token = Binder.clearCallingIdentity();
try {
- MediaSessionRecord.this.adjustVolume(packageName, pid, uid, direction, flags,
- false /* useSuggested */);
+ MediaSessionRecord.this.adjustVolume(packageName, pid, uid, asSystemService,
+ direction, flags, false /* useSuggested */);
} finally {
Binder.restoreCallingIdentity(token);
}
diff --git a/services/core/java/com/android/server/media/MediaSessionService.java b/services/core/java/com/android/server/media/MediaSessionService.java
index a3c6c80..a6e9389 100644
--- a/services/core/java/com/android/server/media/MediaSessionService.java
+++ b/services/core/java/com/android/server/media/MediaSessionService.java
@@ -1093,13 +1093,21 @@
* registered listeners, or if there was none, broadcast an
* ACTION_MEDIA_BUTTON intent to the rest of the system.
*
+ * @param packageName The caller package
+ * @param asSystemService {@code true} if the event sent to the session as if it was come
+ * from the system service instead of the app process. This helps sessions to
+ * distinguish between the key injection by the app and key events from the
+ * hardware devices. Should be used only when the volume key events aren't handled
+ * by foreground activity. {@code false} otherwise to tell session about the real
+ * caller.
* @param keyEvent a non-null KeyEvent whose key code is one of the
* supported media buttons
* @param needWakeLock true if a PARTIAL_WAKE_LOCK needs to be held
* while this key event is dispatched.
*/
@Override
- public void dispatchMediaKeyEvent(KeyEvent keyEvent, boolean needWakeLock) {
+ public void dispatchMediaKeyEvent(String packageName, boolean asSystemService,
+ KeyEvent keyEvent, boolean needWakeLock) {
if (keyEvent == null || !KeyEvent.isMediaKey(keyEvent.getKeyCode())) {
Log.w(TAG, "Attempted to dispatch null or non-media key event.");
return;
@@ -1110,7 +1118,8 @@
final long token = Binder.clearCallingIdentity();
try {
if (DEBUG) {
- Log.d(TAG, "dispatchMediaKeyEvent, pid=" + pid + ", uid=" + uid + ", event="
+ Log.d(TAG, "dispatchMediaKeyEvent, pkg=" + packageName + " pid=" + pid
+ + ", uid=" + uid + ", asSystem=" + asSystemService + ", event="
+ keyEvent);
}
if (!isUserSetupComplete()) {
@@ -1137,7 +1146,8 @@
}
try {
mCurrentFullUserRecord.mOnMediaKeyListener.onMediaKey(keyEvent,
- new MediaKeyListenerResultReceiver(keyEvent, needWakeLock));
+ new MediaKeyListenerResultReceiver(packageName, pid, uid,
+ asSystemService, keyEvent, needWakeLock));
return;
} catch (RemoteException e) {
Log.w(TAG, "Failed to send " + keyEvent
@@ -1146,9 +1156,11 @@
}
}
if (!isGlobalPriorityActive && isVoiceKey(keyEvent.getKeyCode())) {
- handleVoiceKeyEventLocked(keyEvent, needWakeLock);
+ handleVoiceKeyEventLocked(packageName, pid, uid, asSystemService, keyEvent,
+ needWakeLock);
} else {
- dispatchMediaKeyEventLocked(keyEvent, needWakeLock);
+ dispatchMediaKeyEventLocked(packageName, pid, uid, asSystemService,
+ keyEvent, needWakeLock);
}
}
} finally {
@@ -1324,6 +1336,13 @@
* there's no active global priority session, long-pressess will be sent to the
* long-press listener instead of adjusting volume.
*
+ * @param packageName The caller package.
+ * @param asSystemService {@code true} if the event sent to the session as if it was come
+ * from the system service instead of the app process. This helps sessions to
+ * distinguish between the key injection by the app and key events from the
+ * hardware devices. Should be used only when the volume key events aren't handled
+ * by foreground activity. {@code false} otherwise to tell session about the real
+ * caller.
* @param keyEvent a non-null KeyEvent whose key code is one of the
* {@link KeyEvent#KEYCODE_VOLUME_UP},
* {@link KeyEvent#KEYCODE_VOLUME_DOWN},
@@ -1332,7 +1351,8 @@
* @param musicOnly true if both UI nor haptic feedback aren't needed when adjust volume.
*/
@Override
- public void dispatchVolumeKeyEvent(KeyEvent keyEvent, int stream, boolean musicOnly) {
+ public void dispatchVolumeKeyEvent(String packageName, boolean asSystemService,
+ KeyEvent keyEvent, int stream, boolean musicOnly) {
if (keyEvent == null ||
(keyEvent.getKeyCode() != KeyEvent.KEYCODE_VOLUME_UP
&& keyEvent.getKeyCode() != KeyEvent.KEYCODE_VOLUME_DOWN
@@ -1346,15 +1366,16 @@
final long token = Binder.clearCallingIdentity();
if (DEBUG_KEY_EVENT) {
- Log.d(TAG, "dispatchVolumeKeyEvent, pid=" + pid + ", uid=" + uid + ", event="
- + keyEvent);
+ Log.d(TAG, "dispatchVolumeKeyEvent, pkg=" + packageName + ", pid=" + pid + ", uid="
+ + uid + ", asSystem=" + asSystemService + ", event=" + keyEvent);
}
try {
synchronized (mLock) {
if (isGlobalPriorityActiveLocked()
|| mCurrentFullUserRecord.mOnVolumeKeyLongPressListener == null) {
- dispatchVolumeKeyEventLocked(keyEvent, stream, musicOnly);
+ dispatchVolumeKeyEventLocked(packageName, pid, uid, asSystemService,
+ keyEvent, stream, musicOnly);
} else {
// TODO: Consider the case when both volume up and down keys are pressed
// at the same time.
@@ -1387,11 +1408,12 @@
&& mCurrentFullUserRecord.mInitialDownVolumeKeyEvent
.getDownTime() == keyEvent.getDownTime()) {
// Short-press. Should change volume.
- dispatchVolumeKeyEventLocked(
+ dispatchVolumeKeyEventLocked(packageName, pid, uid, asSystemService,
mCurrentFullUserRecord.mInitialDownVolumeKeyEvent,
mCurrentFullUserRecord.mInitialDownVolumeStream,
mCurrentFullUserRecord.mInitialDownMusicOnly);
- dispatchVolumeKeyEventLocked(keyEvent, stream, musicOnly);
+ dispatchVolumeKeyEventLocked(packageName, pid, uid, asSystemService,
+ keyEvent, stream, musicOnly);
} else {
dispatchVolumeKeyLongPressLocked(keyEvent);
}
@@ -1403,8 +1425,8 @@
}
}
- private void dispatchVolumeKeyEventLocked(
- KeyEvent keyEvent, int stream, boolean musicOnly) {
+ private void dispatchVolumeKeyEventLocked(String packageName, int pid, int uid,
+ boolean asSystemService, KeyEvent keyEvent, int stream, boolean musicOnly) {
boolean down = keyEvent.getAction() == KeyEvent.ACTION_DOWN;
boolean up = keyEvent.getAction() == KeyEvent.ACTION_UP;
int direction = 0;
@@ -1438,21 +1460,27 @@
if (up) {
direction = 0;
}
- dispatchAdjustVolumeLocked(stream, direction, flags);
+ dispatchAdjustVolumeLocked(packageName, pid, uid, asSystemService, stream,
+ direction, flags);
} else if (isMute) {
if (down && keyEvent.getRepeatCount() == 0) {
- dispatchAdjustVolumeLocked(stream, AudioManager.ADJUST_TOGGLE_MUTE, flags);
+ dispatchAdjustVolumeLocked(packageName, pid, uid, asSystemService, stream,
+ AudioManager.ADJUST_TOGGLE_MUTE, flags);
}
}
}
}
@Override
- public void dispatchAdjustVolume(int suggestedStream, int delta, int flags) {
+ public void dispatchAdjustVolume(String packageName, int suggestedStream, int delta,
+ int flags) {
+ final int pid = Binder.getCallingPid();
+ final int uid = Binder.getCallingUid();
final long token = Binder.clearCallingIdentity();
try {
synchronized (mLock) {
- dispatchAdjustVolumeLocked(suggestedStream, delta, flags);
+ dispatchAdjustVolumeLocked(packageName, pid, uid, false,
+ suggestedStream, delta, flags);
}
} finally {
Binder.restoreCallingIdentity(token);
@@ -1777,7 +1805,8 @@
return false;
}
- private void dispatchAdjustVolumeLocked(int suggestedStream, int direction, int flags) {
+ private void dispatchAdjustVolumeLocked(String packageName, int pid, int uid,
+ boolean asSystemService, int suggestedStream, int direction, int flags) {
MediaSessionRecord session = isGlobalPriorityActiveLocked() ? mGlobalPrioritySession
: mCurrentFullUserRecord.mPriorityStack.getDefaultVolumeSession();
@@ -1822,12 +1851,13 @@
}
});
} else {
- session.adjustVolume(getContext().getPackageName(), Process.myPid(),
- Process.SYSTEM_UID, direction, flags, true);
+ session.adjustVolume(packageName, pid, uid, asSystemService,
+ direction, flags, true);
}
}
- private void handleVoiceKeyEventLocked(KeyEvent keyEvent, boolean needWakeLock) {
+ private void handleVoiceKeyEventLocked(String packageName, int pid, int uid,
+ boolean asSystemService, KeyEvent keyEvent, boolean needWakeLock) {
int action = keyEvent.getAction();
boolean isLongPress = (keyEvent.getFlags() & KeyEvent.FLAG_LONG_PRESS) != 0;
if (action == KeyEvent.ACTION_DOWN) {
@@ -1844,14 +1874,17 @@
if (!mVoiceButtonHandled && !keyEvent.isCanceled()) {
// Resend the down then send this event through
KeyEvent downEvent = KeyEvent.changeAction(keyEvent, KeyEvent.ACTION_DOWN);
- dispatchMediaKeyEventLocked(downEvent, needWakeLock);
- dispatchMediaKeyEventLocked(keyEvent, needWakeLock);
+ dispatchMediaKeyEventLocked(packageName, pid, uid, asSystemService,
+ downEvent, needWakeLock);
+ dispatchMediaKeyEventLocked(packageName, pid, uid, asSystemService,
+ keyEvent, needWakeLock);
}
}
}
}
- private void dispatchMediaKeyEventLocked(KeyEvent keyEvent, boolean needWakeLock) {
+ private void dispatchMediaKeyEventLocked(String packageName, int pid, int uid,
+ boolean asSystemService, KeyEvent keyEvent, boolean needWakeLock) {
MediaSessionRecord session = mCurrentFullUserRecord.getMediaButtonSessionLocked();
if (session != null) {
if (DEBUG_KEY_EVENT) {
@@ -1861,17 +1894,13 @@
mKeyEventReceiver.aquireWakeLockLocked();
}
// If we don't need a wakelock use -1 as the id so we won't release it later.
- session.sendMediaButton(getContext().getPackageName(),
- Process.myPid(),
- Process.SYSTEM_UID,
- keyEvent,
+ session.sendMediaButton(packageName, pid, uid, asSystemService, keyEvent,
needWakeLock ? mKeyEventReceiver.mLastTimeoutId : -1,
mKeyEventReceiver);
if (mCurrentFullUserRecord.mCallback != null) {
try {
mCurrentFullUserRecord.mCallback.onMediaKeyEventDispatchedToMediaSession(
- keyEvent,
- new MediaSession.Token(session.getControllerBinder()));
+ keyEvent, new MediaSession.Token(session.getControllerBinder()));
} catch (RemoteException e) {
Log.w(TAG, "Failed to send callback", e);
}
@@ -1884,6 +1913,10 @@
Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
mediaButtonIntent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
mediaButtonIntent.putExtra(Intent.EXTRA_KEY_EVENT, keyEvent);
+ // TODO: Find a way to also send PID/UID in secure way.
+ String callerPackageName =
+ (asSystemService) ? getContext().getPackageName() : packageName;
+ mediaButtonIntent.putExtra(Intent.EXTRA_PACKAGE_NAME, callerPackageName);
try {
if (mCurrentFullUserRecord.mLastMediaButtonReceiver != null) {
PendingIntent receiver = mCurrentFullUserRecord.mLastMediaButtonReceiver;
@@ -1984,13 +2017,22 @@
}
private class MediaKeyListenerResultReceiver extends ResultReceiver implements Runnable {
- private KeyEvent mKeyEvent;
- private boolean mNeedWakeLock;
+ private final String mPackageName;
+ private final int mPid;
+ private final int mUid;
+ private final boolean mAsSystemService;
+ private final KeyEvent mKeyEvent;
+ private final boolean mNeedWakeLock;
private boolean mHandled;
- private MediaKeyListenerResultReceiver(KeyEvent keyEvent, boolean needWakeLock) {
+ private MediaKeyListenerResultReceiver(String packageName, int pid, int uid,
+ boolean asSystemService, KeyEvent keyEvent, boolean needWakeLock) {
super(mHandler);
mHandler.postDelayed(this, MEDIA_KEY_LISTENER_TIMEOUT);
+ mPackageName = packageName;
+ mPid = pid;
+ mUid = uid;
+ mAsSystemService = asSystemService;
mKeyEvent = keyEvent;
mNeedWakeLock = needWakeLock;
}
@@ -2020,9 +2062,11 @@
synchronized (mLock) {
if (!isGlobalPriorityActiveLocked()
&& isVoiceKey(mKeyEvent.getKeyCode())) {
- handleVoiceKeyEventLocked(mKeyEvent, mNeedWakeLock);
+ handleVoiceKeyEventLocked(mPackageName, mPid, mUid, mAsSystemService,
+ mKeyEvent, mNeedWakeLock);
} else {
- dispatchMediaKeyEventLocked(mKeyEvent, mNeedWakeLock);
+ dispatchMediaKeyEventLocked(mPackageName, mPid, mUid, mAsSystemService,
+ mKeyEvent, mNeedWakeLock);
}
}
}
diff --git a/services/core/java/com/android/server/pm/PackageDexOptimizer.java b/services/core/java/com/android/server/pm/PackageDexOptimizer.java
index ebab1a7..b0be4a9 100644
--- a/services/core/java/com/android/server/pm/PackageDexOptimizer.java
+++ b/services/core/java/com/android/server/pm/PackageDexOptimizer.java
@@ -34,6 +34,7 @@
import com.android.internal.annotations.GuardedBy;
import com.android.internal.util.IndentingPrintWriter;
import com.android.server.pm.Installer.InstallerException;
+import com.android.server.pm.dex.DexManager;
import com.android.server.pm.dex.DexoptOptions;
import com.android.server.pm.dex.DexoptUtils;
import com.android.server.pm.dex.PackageDexUsage;
@@ -495,10 +496,9 @@
boolean isUsedByOtherApps) {
int flags = info.flags;
boolean vmSafeMode = (flags & ApplicationInfo.FLAG_VM_SAFE_MODE) != 0;
- // When pm.dexopt.priv-apps-oob is true, we only verify privileged apps.
- if (info.isPrivilegedApp() &&
- SystemProperties.getBoolean("pm.dexopt.priv-apps-oob", false)) {
- return "verify";
+ // When a priv app is configured to run out of box, only verify it.
+ if (info.isPrivilegedApp() && DexManager.isPackageSelectedToRunOob(info.packageName)) {
+ return "verify";
}
if (vmSafeMode) {
return getSafeModeCompilerFilter(targetCompilerFilter);
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 00d2f74..2650ef0 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -578,8 +578,6 @@
private static final String PRODUCT_OVERLAY_DIR = "/product/overlay";
- private static final String PROPERTY_NAME_PM_DEXOPT_PRIV_APPS_OOB = "pm.dexopt.priv-apps-oob";
-
/** Canonical intent used to identify what counts as a "web browser" app */
private static final Intent sBrowserIntent;
static {
@@ -2459,7 +2457,7 @@
"*dexopt*");
DexManager.Listener dexManagerListener = DexLogger.getListener(this,
installer, mInstallLock);
- mDexManager = new DexManager(this, mPackageDexOptimizer, installer, mInstallLock,
+ mDexManager = new DexManager(mContext, this, mPackageDexOptimizer, installer, mInstallLock,
dexManagerListener);
mArtManagerService = new ArtManagerService(mContext, this, installer, mInstallLock);
mMoveCallbacks = new MoveCallbacks(FgThread.get().getLooper());
@@ -10428,11 +10426,7 @@
Log.d(TAG, "Scanning package " + pkg.packageName);
}
- if (Build.IS_DEBUGGABLE &&
- pkg.isPrivileged() &&
- SystemProperties.getBoolean(PROPERTY_NAME_PM_DEXOPT_PRIV_APPS_OOB, false)) {
- PackageManagerServiceUtils.logPackageHasUncompressedCode(pkg);
- }
+ DexManager.maybeLogUnexpectedPackageDetails(pkg);
// Initialize package source and resource directories
final File scanFile = new File(pkg.codePath);
@@ -21038,23 +21032,6 @@
.getUriFor(Secure.INSTANT_APPS_ENABLED), false, co, UserHandle.USER_SYSTEM);
co.onChange(true);
- // This observer provides an one directional mapping from Global.PRIV_APP_OOB_ENABLED to
- // pm.dexopt.priv-apps-oob property. This is only for experiment and should be removed once
- // it is done.
- ContentObserver privAppOobObserver = new ContentObserver(mHandler) {
- @Override
- public void onChange(boolean selfChange) {
- int oobEnabled = Global.getInt(resolver, Global.PRIV_APP_OOB_ENABLED, 0);
- SystemProperties.set(PROPERTY_NAME_PM_DEXOPT_PRIV_APPS_OOB,
- oobEnabled == 1 ? "true" : "false");
- }
- };
- mContext.getContentResolver().registerContentObserver(
- Global.getUriFor(Global.PRIV_APP_OOB_ENABLED), false, privAppOobObserver,
- UserHandle.USER_SYSTEM);
- // At boot, restore the value from the setting, which persists across reboot.
- privAppOobObserver.onChange(true);
-
// Disable any carrier apps. We do this very early in boot to prevent the apps from being
// disabled after already being started.
CarrierAppUtils.disableCarrierAppsUntilPrivileged(mContext.getOpPackageName(), this,
@@ -21143,6 +21120,7 @@
storage.registerListener(mStorageListener);
mInstallerService.systemReady();
+ mDexManager.systemReady();
mPackageDexOptimizer.systemReady();
StorageManagerInternal StorageManagerInternal = LocalServices.getService(
diff --git a/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java b/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
index 4b907f4..1aea8f0 100644
--- a/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
+++ b/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
@@ -26,7 +26,6 @@
import static com.android.server.pm.PackageManagerServiceUtils.logCriticalInfo;
import com.android.internal.content.NativeLibraryHelper;
-import com.android.internal.util.ArrayUtils;
import com.android.internal.util.FastPrintWriter;
import com.android.server.EventLogTags;
import com.android.server.pm.dex.DexManager;
@@ -56,7 +55,6 @@
import android.util.Log;
import android.util.PackageUtils;
import android.util.Slog;
-import android.util.jar.StrictJarFile;
import android.util.proto.ProtoOutputStream;
import dalvik.system.VMRuntime;
@@ -85,12 +83,10 @@
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
-import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.function.Predicate;
import java.util.zip.GZIPInputStream;
-import java.util.zip.ZipEntry;
/**
* Class containing helper methods for the PackageManagerService.
@@ -317,61 +313,6 @@
return maxModifiedTime;
}
- /**
- * Checks that the archive located at {@code fileName} has uncompressed dex file and so
- * files that can be direclty mapped.
- */
- public static void logApkHasUncompressedCode(String fileName) {
- StrictJarFile jarFile = null;
- try {
- jarFile = new StrictJarFile(fileName,
- false /*verify*/, false /*signatureSchemeRollbackProtectionsEnforced*/);
- Iterator<ZipEntry> it = jarFile.iterator();
- while (it.hasNext()) {
- ZipEntry entry = it.next();
- if (entry.getName().endsWith(".dex")) {
- if (entry.getMethod() != ZipEntry.STORED) {
- Slog.w(TAG, "APK " + fileName + " has compressed dex code " +
- entry.getName());
- } else if ((entry.getDataOffset() & 0x3) != 0) {
- Slog.w(TAG, "APK " + fileName + " has unaligned dex code " +
- entry.getName());
- }
- } else if (entry.getName().endsWith(".so")) {
- if (entry.getMethod() != ZipEntry.STORED) {
- Slog.w(TAG, "APK " + fileName + " has compressed native code " +
- entry.getName());
- } else if ((entry.getDataOffset() & (0x1000 - 1)) != 0) {
- Slog.w(TAG, "APK " + fileName + " has unaligned native code " +
- entry.getName());
- }
- }
- }
- } catch (IOException ignore) {
- Slog.wtf(TAG, "Error when parsing APK " + fileName);
- } finally {
- try {
- if (jarFile != null) {
- jarFile.close();
- }
- } catch (IOException ignore) {}
- }
- return;
- }
-
- /**
- * Checks that the APKs in the given package have uncompressed dex file and so
- * files that can be direclty mapped.
- */
- public static void logPackageHasUncompressedCode(PackageParser.Package pkg) {
- logApkHasUncompressedCode(pkg.baseCodePath);
- if (!ArrayUtils.isEmpty(pkg.splitCodePaths)) {
- for (int i = 0; i < pkg.splitCodePaths.length; i++) {
- logApkHasUncompressedCode(pkg.splitCodePaths[i]);
- }
- }
- }
-
private static File getSettingsProblemFile() {
File dataDir = Environment.getDataDirectory();
File systemDir = new File(dataDir, "system");
diff --git a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
index a92fbb6..01f84c4 100644
--- a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
+++ b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
@@ -25,6 +25,7 @@
import android.accounts.IAccountManager;
import android.app.ActivityManager;
import android.app.ActivityManagerInternal;
+import android.app.Application;
import android.content.ComponentName;
import android.content.Context;
import android.content.IIntentReceiver;
@@ -53,17 +54,20 @@
import android.content.pm.ResolveInfo;
import android.content.pm.UserInfo;
import android.content.pm.VersionedPackage;
+import android.content.pm.dex.ArtManager;
import android.content.pm.dex.DexMetadataHelper;
+import android.content.pm.dex.ISnapshotRuntimeProfileCallback;
import android.content.res.AssetManager;
import android.content.res.Resources;
import android.net.Uri;
-import android.os.BaseBundle;
import android.os.Binder;
import android.os.Build;
import android.os.Bundle;
import android.os.IBinder;
import android.os.IUserManager;
import android.os.ParcelFileDescriptor;
+import android.os.ParcelFileDescriptor.AutoCloseInputStream;
+import android.os.ParcelFileDescriptor.AutoCloseOutputStream;
import android.os.PersistableBundle;
import android.os.Process;
import android.os.RemoteException;
@@ -78,27 +82,41 @@
import android.text.format.DateUtils;
import android.util.ArraySet;
import android.util.PrintWriterPrinter;
-
import com.android.internal.content.PackageHelper;
import com.android.internal.util.ArrayUtils;
import com.android.server.LocalServices;
import com.android.server.SystemConfig;
-
import dalvik.system.DexFile;
-
-import libcore.io.IoUtils;
-
-import java.io.FileDescriptor;
+import java.io.File;
+import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.URISyntaxException;
-import java.util.*;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.nio.file.StandardCopyOption;
+import java.nio.file.attribute.FileAttribute;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.WeakHashMap;
+import java.util.concurrent.CountDownLatch;
import java.util.concurrent.SynchronousQueue;
import java.util.concurrent.TimeUnit;
+import libcore.io.IoUtils;
+import libcore.io.Streams;
class PackageManagerShellCommand extends ShellCommand {
/** Path for streaming APK content */
private static final String STDIN_PATH = "-";
+ /** Path where ART profiles snapshots are dumped for the shell user */
+ private final static String ART_PROFILE_SNAPSHOT_DEBUG_LOCATION = "/data/misc/profman/";
final IPackageManager mInterface;
final private WeakHashMap<String, Resources> mResourceCache =
@@ -167,6 +185,8 @@
return runDexoptJob();
case "dump-profiles":
return runDumpProfiles();
+ case "snapshot-profile":
+ return runSnapshotProfile();
case "uninstall":
return runUninstall();
case "clear":
@@ -1287,6 +1307,120 @@
return 0;
}
+ private int runSnapshotProfile() throws RemoteException {
+ PrintWriter pw = getOutPrintWriter();
+
+ // Parse the arguments
+ final String packageName = getNextArg();
+ final boolean isBootImage = "android".equals(packageName);
+
+ String codePath = null;
+ String opt;
+ while ((opt = getNextArg()) != null) {
+ switch (opt) {
+ case "--code-path":
+ if (isBootImage) {
+ pw.write("--code-path cannot be used for the boot image.");
+ return -1;
+ }
+ codePath = getNextArg();
+ break;
+ default:
+ pw.write("Unknown arg: " + opt);
+ return -1;
+ }
+ }
+
+ // If no code path was explicitly requested, select the base code path.
+ String baseCodePath = null;
+ if (!isBootImage) {
+ PackageInfo packageInfo = mInterface.getPackageInfo(packageName, /* flags */ 0,
+ /* userId */0);
+ if (packageInfo == null) {
+ pw.write("Package not found " + packageName);
+ return -1;
+ }
+ baseCodePath = packageInfo.applicationInfo.getBaseCodePath();
+ if (codePath == null) {
+ codePath = baseCodePath;
+ }
+ }
+
+ // Create the profile snapshot.
+ final SnapshotRuntimeProfileCallback callback = new SnapshotRuntimeProfileCallback();
+ // The calling package is needed to debug permission access.
+ final String callingPackage = (Binder.getCallingUid() == Process.ROOT_UID)
+ ? "root" : "com.android.shell";
+ final int profileType = isBootImage
+ ? ArtManager.PROFILE_BOOT_IMAGE : ArtManager.PROFILE_APPS;
+ if (!mInterface.getArtManager().isRuntimeProfilingEnabled(profileType, callingPackage)) {
+ pw.println("Error: Runtime profiling is not enabled");
+ return -1;
+ }
+ mInterface.getArtManager().snapshotRuntimeProfile(profileType, packageName,
+ codePath, callback, callingPackage);
+ if (!callback.waitTillDone()) {
+ pw.println("Error: callback not called");
+ return callback.mErrCode;
+ }
+
+ // Copy the snapshot profile to the output profile file.
+ try (InputStream inStream = new AutoCloseInputStream(callback.mProfileReadFd)) {
+ final String outputFileSuffix = isBootImage || Objects.equals(baseCodePath, codePath)
+ ? "" : ("-" + new File(codePath).getName());
+ final String outputProfilePath =
+ ART_PROFILE_SNAPSHOT_DEBUG_LOCATION + packageName + outputFileSuffix + ".prof";
+ try (OutputStream outStream = new FileOutputStream(outputProfilePath)) {
+ Streams.copy(inStream, outStream);
+ }
+ } catch (IOException e) {
+ pw.println("Error when reading the profile fd: " + e.getMessage());
+ e.printStackTrace(pw);
+ return -1;
+ }
+ return 0;
+ }
+
+ private static class SnapshotRuntimeProfileCallback
+ extends ISnapshotRuntimeProfileCallback.Stub {
+ private boolean mSuccess = false;
+ private int mErrCode = -1;
+ private ParcelFileDescriptor mProfileReadFd = null;
+ private CountDownLatch mDoneSignal = new CountDownLatch(1);
+
+ @Override
+ public void onSuccess(ParcelFileDescriptor profileReadFd) {
+ mSuccess = true;
+ try {
+ // We need to dup the descriptor. We are in the same process as system server
+ // and we will be receiving the same object (which will be closed on the
+ // server side).
+ mProfileReadFd = profileReadFd.dup();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ mDoneSignal.countDown();
+ }
+
+ @Override
+ public void onError(int errCode) {
+ mSuccess = false;
+ mErrCode = errCode;
+ mDoneSignal.countDown();
+ }
+
+ boolean waitTillDone() {
+ boolean done = false;
+ try {
+ // The time-out is an arbitrary large value. Since this is a local call the result
+ // will come very fast.
+ done = mDoneSignal.await(10000000, TimeUnit.MILLISECONDS);
+ } catch (InterruptedException ignored) {
+ }
+ return done && mSuccess;
+ }
+ }
+
private int runUninstall() throws RemoteException {
final PrintWriter pw = getOutPrintWriter();
int flags = 0;
@@ -2761,7 +2895,13 @@
pw.println("");
pw.println(" dump-profiles TARGET-PACKAGE");
pw.println(" Dumps method/class profile files to");
- pw.println(" /data/misc/profman/TARGET-PACKAGE.txt");
+ pw.println(" " + ART_PROFILE_SNAPSHOT_DEBUG_LOCATION + "TARGET-PACKAGE.txt");
+ pw.println("");
+ pw.println(" snapshot-profile TARGET-PACKAGE [--code-path path]");
+ pw.println(" Take a snapshot of the package profiles to");
+ pw.println(" " + ART_PROFILE_SNAPSHOT_DEBUG_LOCATION
+ + "TARGET-PACKAGE[-code-path].prof");
+ pw.println(" If TARGET-PACKAGE=android it will take a snapshot of the boot image");
pw.println("");
pw.println(" set-home-activity [--user USER_ID] TARGET-COMPONENT");
pw.println(" Set the default home activity (aka launcher).");
diff --git a/services/core/java/com/android/server/pm/dex/DexManager.java b/services/core/java/com/android/server/pm/dex/DexManager.java
index 3e63fb4..392d4d8 100644
--- a/services/core/java/com/android/server/pm/dex/DexManager.java
+++ b/services/core/java/com/android/server/pm/dex/DexManager.java
@@ -16,17 +16,25 @@
package com.android.server.pm.dex;
+import android.content.ContentResolver;
+import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.IPackageManager;
import android.content.pm.PackageInfo;
+import android.content.pm.PackageParser;
+import android.database.ContentObserver;
+import android.os.Build;
import android.os.FileUtils;
import android.os.RemoteException;
import android.os.storage.StorageManager;
+import android.os.SystemProperties;
import android.os.UserHandle;
-
+import android.provider.Settings.Global;
import android.util.Slog;
+import android.util.jar.StrictJarFile;
import com.android.internal.annotations.GuardedBy;
+import com.android.internal.util.ArrayUtils;
import com.android.server.pm.Installer;
import com.android.server.pm.Installer.InstallerException;
import com.android.server.pm.PackageDexOptimizer;
@@ -36,13 +44,16 @@
import java.io.File;
import java.io.IOException;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
+import java.util.Iterator;
import java.util.List;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
+import java.util.zip.ZipEntry;
import static com.android.server.pm.InstructionSets.getAppDexInstructionSets;
import static com.android.server.pm.dex.PackageDexUsage.PackageUseInfo;
@@ -59,8 +70,14 @@
public class DexManager {
private static final String TAG = "DexManager";
+ private static final String PROPERTY_NAME_PM_DEXOPT_PRIV_APPS_OOB = "pm.dexopt.priv-apps-oob";
+ private static final String PROPERTY_NAME_PM_DEXOPT_PRIV_APPS_OOB_LIST =
+ "pm.dexopt.priv-apps-oob-list";
+
private static final boolean DEBUG = false;
+ private final Context mContext;
+
// Maps package name to code locations.
// It caches the code locations for the installed packages. This allows for
// faster lookups (no locks) when finding what package owns the dex file.
@@ -106,8 +123,9 @@
String dexPath, int storageFlags);
}
- public DexManager(IPackageManager pms, PackageDexOptimizer pdo,
+ public DexManager(Context context, IPackageManager pms, PackageDexOptimizer pdo,
Installer installer, Object installLock, Listener listener) {
+ mContext = context;
mPackageCodeLocationsCache = new HashMap<>();
mPackageDexUsage = new PackageDexUsage();
mPackageManager = pms;
@@ -117,6 +135,10 @@
mListener = listener;
}
+ public void systemReady() {
+ registerSettingObserver();
+ }
+
/**
* Notify about dex files loads.
* Note that this method is invoked when apps load dex files and it should
@@ -641,6 +663,141 @@
mPackageDexUsage.writeNow();
}
+ private void registerSettingObserver() {
+ final ContentResolver resolver = mContext.getContentResolver();
+
+ // This observer provides a one directional mapping from Global.PRIV_APP_OOB_ENABLED to
+ // pm.dexopt.priv-apps-oob property. This is only for experiment and should be removed once
+ // it is done.
+ ContentObserver privAppOobObserver = new ContentObserver(null) {
+ @Override
+ public void onChange(boolean selfChange) {
+ int oobEnabled = Global.getInt(resolver, Global.PRIV_APP_OOB_ENABLED, 0);
+ SystemProperties.set(PROPERTY_NAME_PM_DEXOPT_PRIV_APPS_OOB,
+ oobEnabled == 1 ? "true" : "false");
+ }
+ };
+ resolver.registerContentObserver(
+ Global.getUriFor(Global.PRIV_APP_OOB_ENABLED), false, privAppOobObserver,
+ UserHandle.USER_SYSTEM);
+ // At boot, restore the value from the setting, which persists across reboot.
+ privAppOobObserver.onChange(true);
+
+ ContentObserver privAppOobListObserver = new ContentObserver(null) {
+ @Override
+ public void onChange(boolean selfChange) {
+ String oobList = Global.getString(resolver, Global.PRIV_APP_OOB_LIST);
+ if (oobList == null) {
+ oobList = "ALL";
+ }
+ SystemProperties.set(PROPERTY_NAME_PM_DEXOPT_PRIV_APPS_OOB_LIST, oobList);
+ }
+ };
+ resolver.registerContentObserver(
+ Global.getUriFor(Global.PRIV_APP_OOB_LIST), false, privAppOobListObserver,
+ UserHandle.USER_SYSTEM);
+ // At boot, restore the value from the setting, which persists across reboot.
+ privAppOobListObserver.onChange(true);
+ }
+
+ /**
+ * Returns whether the given package is in the list of privilaged apps that should run out of
+ * box. This only makes sense if PROPERTY_NAME_PM_DEXOPT_PRIV_APPS_OOB is true. Note that when
+ * the the OOB list is empty, all priv apps will run in OOB mode.
+ */
+ public static boolean isPackageSelectedToRunOob(String packageName) {
+ return isPackageSelectedToRunOob(Arrays.asList(packageName));
+ }
+
+ /**
+ * Returns whether any of the given packages are in the list of privilaged apps that should run
+ * out of box. This only makes sense if PROPERTY_NAME_PM_DEXOPT_PRIV_APPS_OOB is true. Note that
+ * when the the OOB list is empty, all priv apps will run in OOB mode.
+ */
+ public static boolean isPackageSelectedToRunOob(Collection<String> packageNamesInSameProcess) {
+ if (!SystemProperties.getBoolean(PROPERTY_NAME_PM_DEXOPT_PRIV_APPS_OOB, false)) {
+ return false;
+ }
+ String oobListProperty = SystemProperties.get(
+ PROPERTY_NAME_PM_DEXOPT_PRIV_APPS_OOB_LIST, "ALL");
+ if ("ALL".equals(oobListProperty)) {
+ return true;
+ }
+ for (String oobPkgName : oobListProperty.split(",")) {
+ if (packageNamesInSameProcess.contains(oobPkgName)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Generates package related log if the package has code stored in unexpected way.
+ */
+ public static void maybeLogUnexpectedPackageDetails(PackageParser.Package pkg) {
+ if (!Build.IS_DEBUGGABLE) {
+ return;
+ }
+
+ if (pkg.isPrivileged() && isPackageSelectedToRunOob(pkg.packageName)) {
+ logIfPackageHasUncompressedCode(pkg);
+ }
+ }
+
+ /**
+ * Generates log if the APKs in the given package have uncompressed dex file and so
+ * files that can be direclty mapped.
+ */
+ private static void logIfPackageHasUncompressedCode(PackageParser.Package pkg) {
+ logIfApkHasUncompressedCode(pkg.baseCodePath);
+ if (!ArrayUtils.isEmpty(pkg.splitCodePaths)) {
+ for (int i = 0; i < pkg.splitCodePaths.length; i++) {
+ logIfApkHasUncompressedCode(pkg.splitCodePaths[i]);
+ }
+ }
+ }
+
+ /**
+ * Generates log if the archive located at {@code fileName} has uncompressed dex file and so
+ * files that can be direclty mapped.
+ */
+ private static void logIfApkHasUncompressedCode(String fileName) {
+ StrictJarFile jarFile = null;
+ try {
+ jarFile = new StrictJarFile(fileName,
+ false /*verify*/, false /*signatureSchemeRollbackProtectionsEnforced*/);
+ Iterator<ZipEntry> it = jarFile.iterator();
+ while (it.hasNext()) {
+ ZipEntry entry = it.next();
+ if (entry.getName().endsWith(".dex")) {
+ if (entry.getMethod() != ZipEntry.STORED) {
+ Slog.w(TAG, "APK " + fileName + " has compressed dex code " +
+ entry.getName());
+ } else if ((entry.getDataOffset() & 0x3) != 0) {
+ Slog.w(TAG, "APK " + fileName + " has unaligned dex code " +
+ entry.getName());
+ }
+ } else if (entry.getName().endsWith(".so")) {
+ if (entry.getMethod() != ZipEntry.STORED) {
+ Slog.w(TAG, "APK " + fileName + " has compressed native code " +
+ entry.getName());
+ } else if ((entry.getDataOffset() & (0x1000 - 1)) != 0) {
+ Slog.w(TAG, "APK " + fileName + " has unaligned native code " +
+ entry.getName());
+ }
+ }
+ }
+ } catch (IOException ignore) {
+ Slog.wtf(TAG, "Error when parsing APK " + fileName);
+ } finally {
+ try {
+ if (jarFile != null) {
+ jarFile.close();
+ }
+ } catch (IOException ignore) {}
+ }
+ }
+
public static class RegisterDexModuleResult {
public RegisterDexModuleResult() {
this(false, null);
diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
index d3526f7..0070ca4 100644
--- a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
+++ b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
@@ -620,9 +620,8 @@
enforcePermissionCapLocked(info, tree);
bp = new BasePermission(info.name, tree.getSourcePackageName(),
BasePermission.TYPE_DYNAMIC);
- } else if (bp.isDynamic()) {
- // TODO: switch this back to SecurityException
- Slog.wtf(TAG, "Not allowed to modify non-dynamic permission "
+ } else if (!bp.isDynamic()) {
+ throw new SecurityException("Not allowed to modify non-dynamic permission "
+ info.name);
}
changed = bp.addToTree(fixedLevel, info, tree);
diff --git a/services/core/java/com/android/server/policy/IconUtilities.java b/services/core/java/com/android/server/policy/IconUtilities.java
index b196dec..884d7d4 100644
--- a/services/core/java/com/android/server/policy/IconUtilities.java
+++ b/services/core/java/com/android/server/policy/IconUtilities.java
@@ -16,6 +16,8 @@
package com.android.server.policy;
+import android.graphics.ColorFilter;
+import android.graphics.ColorMatrixColorFilter;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.PaintDrawable;
@@ -38,24 +40,17 @@
* Various utilities shared amongst the Launcher's classes.
*/
public final class IconUtilities {
- private static final String TAG = "IconUtilities";
-
- private static final int sColors[] = { 0xffff0000, 0xff00ff00, 0xff0000ff };
private int mIconWidth = -1;
private int mIconHeight = -1;
private int mIconTextureWidth = -1;
private int mIconTextureHeight = -1;
- private final Paint mPaint = new Paint();
- private final Paint mBlurPaint = new Paint();
- private final Paint mGlowColorPressedPaint = new Paint();
- private final Paint mGlowColorFocusedPaint = new Paint();
private final Rect mOldBounds = new Rect();
private final Canvas mCanvas = new Canvas();
private final DisplayMetrics mDisplayMetrics;
- private int mColorIndex = 0;
+ private ColorFilter mDisabledColorFilter;
public IconUtilities(Context context) {
final Resources resources = context.getResources();
@@ -65,39 +60,10 @@
mIconWidth = mIconHeight = (int) resources.getDimension(android.R.dimen.app_icon_size);
mIconTextureWidth = mIconTextureHeight = mIconWidth + (int)(blurPx*2);
-
- mBlurPaint.setMaskFilter(new BlurMaskFilter(blurPx, BlurMaskFilter.Blur.NORMAL));
-
- TypedValue value = new TypedValue();
- mGlowColorPressedPaint.setColor(context.getTheme().resolveAttribute(
- android.R.attr.colorPressedHighlight, value, true) ? value.data : 0xffffc300);
- mGlowColorPressedPaint.setMaskFilter(TableMaskFilter.CreateClipTable(0, 30));
- mGlowColorFocusedPaint.setColor(context.getTheme().resolveAttribute(
- android.R.attr.colorFocusedHighlight, value, true) ? value.data : 0xffff8e00);
- mGlowColorFocusedPaint.setMaskFilter(TableMaskFilter.CreateClipTable(0, 30));
-
- ColorMatrix cm = new ColorMatrix();
- cm.setSaturation(0.2f);
-
mCanvas.setDrawFilter(new PaintFlagsDrawFilter(Paint.DITHER_FLAG,
Paint.FILTER_BITMAP_FLAG));
}
- public Drawable createIconDrawable(Drawable src) {
- Bitmap scaled = createIconBitmap(src);
-
- StateListDrawable result = new StateListDrawable();
-
- result.addState(new int[] { android.R.attr.state_focused },
- new BitmapDrawable(createSelectedBitmap(scaled, false)));
- result.addState(new int[] { android.R.attr.state_pressed },
- new BitmapDrawable(createSelectedBitmap(scaled, true)));
- result.addState(new int[0], new BitmapDrawable(scaled));
-
- result.setBounds(0, 0, mIconTextureWidth, mIconTextureHeight);
- return result;
- }
-
/**
* Returns a bitmap suitable for the all apps view. The bitmap will be a power
* of two sized ARGB_8888 bitmap that can be used as a gl texture.
@@ -150,15 +116,6 @@
final int left = (textureWidth-width) / 2;
final int top = (textureHeight-height) / 2;
- if (false) {
- // draw a big box for the icon for debugging
- canvas.drawColor(sColors[mColorIndex]);
- if (++mColorIndex >= sColors.length) mColorIndex = 0;
- Paint debugPaint = new Paint();
- debugPaint.setColor(0xffcccc00);
- canvas.drawRect(left, top, left+width, top+height, debugPaint);
- }
-
mOldBounds.set(icon.getBounds());
icon.setBounds(left, top, left+width, top+height);
icon.draw(canvas);
@@ -167,24 +124,28 @@
return bitmap;
}
- private Bitmap createSelectedBitmap(Bitmap src, boolean pressed) {
- final Bitmap result = Bitmap.createBitmap(mIconTextureWidth, mIconTextureHeight,
- Bitmap.Config.ARGB_8888);
- final Canvas dest = new Canvas(result);
+ public ColorFilter getDisabledColorFilter() {
+ if (mDisabledColorFilter != null) {
+ return mDisabledColorFilter;
+ }
+ ColorMatrix brightnessMatrix = new ColorMatrix();
+ float brightnessF = 0.5f;
+ int brightnessI = (int) (255 * brightnessF);
+ // Brightness: C-new = C-old*(1-amount) + amount
+ float scale = 1f - brightnessF;
+ float[] mat = brightnessMatrix.getArray();
+ mat[0] = scale;
+ mat[6] = scale;
+ mat[12] = scale;
+ mat[4] = brightnessI;
+ mat[9] = brightnessI;
+ mat[14] = brightnessI;
- dest.drawColor(0, PorterDuff.Mode.CLEAR);
+ ColorMatrix filterMatrix = new ColorMatrix();
+ filterMatrix.setSaturation(0);
+ filterMatrix.preConcat(brightnessMatrix);
- int[] xy = new int[2];
- Bitmap mask = src.extractAlpha(mBlurPaint, xy);
-
- dest.drawBitmap(mask, xy[0], xy[1],
- pressed ? mGlowColorPressedPaint : mGlowColorFocusedPaint);
-
- mask.recycle();
-
- dest.drawBitmap(src, 0, 0, mPaint);
- dest.setBitmap(null);
-
- return result;
+ mDisabledColorFilter = new ColorMatrixColorFilter(filterMatrix);
+ return mDisabledColorFilter;
}
}
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index ab93a8a..729dba5 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -5525,9 +5525,11 @@
// If there is a profile owner, redirect to that; otherwise query the device owner.
ComponentName aliasChooser = getProfileOwner(caller.getIdentifier());
if (aliasChooser == null && caller.isSystem()) {
- ActiveAdmin deviceOwnerAdmin = getDeviceOwnerAdminLocked();
- if (deviceOwnerAdmin != null) {
- aliasChooser = deviceOwnerAdmin.info.getComponent();
+ synchronized (getLockObject()) {
+ final ActiveAdmin deviceOwnerAdmin = getDeviceOwnerAdminLocked();
+ if (deviceOwnerAdmin != null) {
+ aliasChooser = deviceOwnerAdmin.info.getComponent();
+ }
}
}
if (aliasChooser == null) {
@@ -5906,35 +5908,41 @@
private void forceWipeDeviceNoLock(boolean wipeExtRequested, String reason, boolean wipeEuicc) {
wtfIfInLock();
-
- if (wipeExtRequested) {
- StorageManager sm = (StorageManager) mContext.getSystemService(
- Context.STORAGE_SERVICE);
- sm.wipeAdoptableDisks();
- }
+ boolean success = false;
try {
+ if (wipeExtRequested) {
+ StorageManager sm = (StorageManager) mContext.getSystemService(
+ Context.STORAGE_SERVICE);
+ sm.wipeAdoptableDisks();
+ }
mInjector.recoverySystemRebootWipeUserData(
- /*shutdown=*/ false, reason, /*force=*/ true, /*wipeEuicc=*/ wipeEuicc);
+ /*shutdown=*/ false, reason, /*force=*/ true, /*wipeEuicc=*/ wipeEuicc);
+ success = true;
} catch (IOException | SecurityException e) {
Slog.w(LOG_TAG, "Failed requesting data wipe", e);
+ } finally {
+ if (!success) SecurityLog.writeEvent(SecurityLog.TAG_WIPE_FAILURE);
}
}
private void forceWipeUser(int userId, String wipeReasonForUser) {
+ boolean success = false;
try {
IActivityManager am = mInjector.getIActivityManager();
if (am.getCurrentUser().id == userId) {
am.switchUser(UserHandle.USER_SYSTEM);
}
- boolean userRemoved = mUserManagerInternal.removeUserEvenWhenDisallowed(userId);
- if (!userRemoved) {
+ success = mUserManagerInternal.removeUserEvenWhenDisallowed(userId);
+ if (!success) {
Slog.w(LOG_TAG, "Couldn't remove user " + userId);
} else if (isManagedProfile(userId)) {
sendWipeProfileNotification(wipeReasonForUser);
}
} catch (RemoteException re) {
// Shouldn't happen
+ } finally {
+ if (!success) SecurityLog.writeEvent(SecurityLog.TAG_WIPE_FAILURE);
}
}
diff --git a/services/net/java/android/net/apf/ApfFilter.java b/services/net/java/android/net/apf/ApfFilter.java
index 2bf6e92..a7209a0 100644
--- a/services/net/java/android/net/apf/ApfFilter.java
+++ b/services/net/java/android/net/apf/ApfFilter.java
@@ -429,9 +429,13 @@
try {
mHardwareAddress = mInterfaceParams.macAddr.toByteArray();
synchronized(this) {
- // Clear APF memory.
- byte[] zeroes = new byte[mApfCapabilities.maximumApfProgramSize];
- mIpClientCallback.installPacketFilter(zeroes);
+ // Clear the APF memory to reset all counters upon connecting to the first AP
+ // in an SSID. This is limited to APFv4 devices because this large write triggers
+ // a crash on some older devices (b/78905546).
+ if (mApfCapabilities.hasDataAccess()) {
+ byte[] zeroes = new byte[mApfCapabilities.maximumApfProgramSize];
+ mIpClientCallback.installPacketFilter(zeroes);
+ }
// Install basic filters
installNewProgramLocked();
diff --git a/services/tests/servicestests/src/com/android/server/am/ActivityStartInterceptorTest.java b/services/tests/servicestests/src/com/android/server/am/ActivityStartInterceptorTest.java
index a14b950..b4b34c5 100644
--- a/services/tests/servicestests/src/com/android/server/am/ActivityStartInterceptorTest.java
+++ b/services/tests/servicestests/src/com/android/server/am/ActivityStartInterceptorTest.java
@@ -40,6 +40,7 @@
import android.support.test.filters.SmallTest;
import android.testing.DexmakerShareClassLoaderRule;
+import com.android.internal.app.SuspendedAppActivity;
import com.android.internal.app.UnlaunchableAppActivity;
import com.android.server.LocalServices;
import com.android.server.pm.PackageManagerService;
@@ -150,6 +151,28 @@
}
@Test
+ public void testSuspendedPackage() {
+ mAInfo.applicationInfo.flags = FLAG_SUSPENDED;
+ final String suspendingPackage = "com.test.suspending.package";
+ final String dialogMessage = "Test Message";
+ when(mPackageManagerInternal.getSuspendingPackage(TEST_PACKAGE_NAME, TEST_USER_ID))
+ .thenReturn(suspendingPackage);
+ when(mPackageManagerInternal.getSuspendedDialogMessage(TEST_PACKAGE_NAME, TEST_USER_ID))
+ .thenReturn(dialogMessage);
+ // THEN calling intercept returns true
+ assertTrue(mInterceptor.intercept(null, null, mAInfo, null, null, 0, 0, null));
+
+ // Check intent parameters
+ assertEquals(dialogMessage,
+ mInterceptor.mIntent.getStringExtra(SuspendedAppActivity.EXTRA_DIALOG_MESSAGE));
+ assertEquals(suspendingPackage,
+ mInterceptor.mIntent.getStringExtra(SuspendedAppActivity.EXTRA_SUSPENDING_PACKAGE));
+ assertEquals(TEST_PACKAGE_NAME,
+ mInterceptor.mIntent.getStringExtra(SuspendedAppActivity.EXTRA_SUSPENDED_PACKAGE));
+ assertEquals(TEST_USER_ID, mInterceptor.mIntent.getIntExtra(Intent.EXTRA_USER_ID, -1000));
+ }
+
+ @Test
public void testInterceptQuietProfile() {
// GIVEN that the user the activity is starting as is currently in quiet mode
when(mUserManager.isQuietModeEnabled(eq(UserHandle.of(TEST_USER_ID)))).thenReturn(true);
diff --git a/services/tests/servicestests/src/com/android/server/locksettings/recoverablekeystore/KeySyncTaskTest.java b/services/tests/servicestests/src/com/android/server/locksettings/recoverablekeystore/KeySyncTaskTest.java
index 90947f4..a9d6c29 100644
--- a/services/tests/servicestests/src/com/android/server/locksettings/recoverablekeystore/KeySyncTaskTest.java
+++ b/services/tests/servicestests/src/com/android/server/locksettings/recoverablekeystore/KeySyncTaskTest.java
@@ -503,8 +503,7 @@
@Test
public void run_sendsEncryptedKeysIfAvailableToSync_withRawPublicKey() throws Exception {
mRecoverableKeyStoreDb.setRecoveryServiceCertPath(
- TEST_USER_ID, TEST_RECOVERY_AGENT_UID, TEST_ROOT_CERT_ALIAS,
- TestData.getInsecureCertPathForEndpoint1());
+ TEST_USER_ID, TEST_RECOVERY_AGENT_UID, TEST_ROOT_CERT_ALIAS, TestData.CERT_PATH_1);
mRecoverableKeyStoreDb.setServerParams(
TEST_USER_ID, TEST_RECOVERY_AGENT_UID, TEST_VAULT_HANDLE);
@@ -529,8 +528,7 @@
lockScreenHash,
keyChainSnapshot.getEncryptedRecoveryKeyBlob(),
/*vaultParams=*/ KeySyncUtils.packVaultParams(
- TestData.getInsecureCertPathForEndpoint1().getCertificates().get(0)
- .getPublicKey(),
+ TestData.CERT_1_PUBLIC_KEY,
counterId,
/*maxAttempts=*/ 10,
TEST_VAULT_HANDLE));
@@ -539,7 +537,7 @@
assertThat(keyChainSnapshot.getCounterId()).isEqualTo(counterId);
assertThat(keyChainSnapshot.getMaxAttempts()).isEqualTo(10);
assertThat(keyChainSnapshot.getTrustedHardwareCertPath())
- .isEqualTo(TestData.getInsecureCertPathForEndpoint1());
+ .isEqualTo(TestData.CERT_PATH_1);
assertThat(keyChainSnapshot.getServerParams()).isEqualTo(TEST_VAULT_HANDLE);
WrappedApplicationKey keyData = applicationKeys.get(0);
assertEquals(TEST_APP_KEY_ALIAS, keyData.getAlias());
@@ -807,7 +805,7 @@
private byte[] decryptThmEncryptedKey(
byte[] lockScreenHash, byte[] encryptedKey, byte[] vaultParams) throws Exception {
byte[] locallyEncryptedKey = SecureBox.decrypt(
- TestData.getInsecurePrivateKeyForEndpoint1(),
+ TestData.CERT_1_PRIVATE_KEY,
/*sharedSecret=*/ KeySyncUtils.calculateThmKfHash(lockScreenHash),
/*header=*/ KeySyncUtils.concat(THM_ENCRYPTED_RECOVERY_KEY_HEADER, vaultParams),
encryptedKey
diff --git a/services/tests/servicestests/src/com/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManagerTest.java b/services/tests/servicestests/src/com/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManagerTest.java
index 8e86a87..e82478f 100644
--- a/services/tests/servicestests/src/com/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManagerTest.java
+++ b/services/tests/servicestests/src/com/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManagerTest.java
@@ -101,22 +101,35 @@
private static final String INSECURE_CERTIFICATE_ALIAS =
TrustedRootCertificates.TEST_ONLY_INSECURE_CERTIFICATE_ALIAS;
private static final String TEST_SESSION_ID = "karlin";
- private static final byte[] TEST_PUBLIC_KEY = TestData.CERT_1_PUBLIC_KEY.getEncoded();
+ private static final byte[] TEST_PUBLIC_KEY = new byte[] {
+ (byte) 0x30, (byte) 0x59, (byte) 0x30, (byte) 0x13, (byte) 0x06, (byte) 0x07, (byte) 0x2a,
+ (byte) 0x86, (byte) 0x48, (byte) 0xce, (byte) 0x3d, (byte) 0x02, (byte) 0x01, (byte) 0x06,
+ (byte) 0x08, (byte) 0x2a, (byte) 0x86, (byte) 0x48, (byte) 0xce, (byte) 0x3d, (byte) 0x03,
+ (byte) 0x01, (byte) 0x07, (byte) 0x03, (byte) 0x42, (byte) 0x00, (byte) 0x04, (byte) 0xb8,
+ (byte) 0x00, (byte) 0x11, (byte) 0x18, (byte) 0x98, (byte) 0x1d, (byte) 0xf0, (byte) 0x6e,
+ (byte) 0xb4, (byte) 0x94, (byte) 0xfe, (byte) 0x86, (byte) 0xda, (byte) 0x1c, (byte) 0x07,
+ (byte) 0x8d, (byte) 0x01, (byte) 0xb4, (byte) 0x3a, (byte) 0xf6, (byte) 0x8d, (byte) 0xdc,
+ (byte) 0x61, (byte) 0xd0, (byte) 0x46, (byte) 0x49, (byte) 0x95, (byte) 0x0f, (byte) 0x10,
+ (byte) 0x86, (byte) 0x93, (byte) 0x24, (byte) 0x66, (byte) 0xe0, (byte) 0x3f, (byte) 0xd2,
+ (byte) 0xdf, (byte) 0xf3, (byte) 0x79, (byte) 0x20, (byte) 0x1d, (byte) 0x91, (byte) 0x55,
+ (byte) 0xb0, (byte) 0xe5, (byte) 0xbd, (byte) 0x7a, (byte) 0x8b, (byte) 0x32, (byte) 0x7d,
+ (byte) 0x25, (byte) 0x53, (byte) 0xa2, (byte) 0xfc, (byte) 0xa5, (byte) 0x65, (byte) 0xe1,
+ (byte) 0xbd, (byte) 0x21, (byte) 0x44, (byte) 0x7e, (byte) 0x78, (byte) 0x52, (byte) 0xfa};
private static final byte[] TEST_SALT = getUtf8Bytes("salt");
private static final byte[] TEST_SECRET = getUtf8Bytes("password1234");
private static final byte[] TEST_VAULT_CHALLENGE = getUtf8Bytes("vault_challenge");
private static final byte[] TEST_VAULT_PARAMS = new byte[] {
// backend_key
- (byte) 0x04, (byte) 0x8e, (byte) 0x0c, (byte) 0x11, (byte) 0x4a, (byte) 0x79, (byte) 0x20,
- (byte) 0x7c, (byte) 0x00, (byte) 0x4c, (byte) 0xd7, (byte) 0xe9, (byte) 0x06, (byte) 0xe2,
- (byte) 0x58, (byte) 0x21, (byte) 0x45, (byte) 0xfa, (byte) 0x24, (byte) 0xcb, (byte) 0x07,
- (byte) 0x66, (byte) 0xde, (byte) 0xfd, (byte) 0xf1, (byte) 0x83, (byte) 0xb4, (byte) 0x26,
- (byte) 0x55, (byte) 0x98, (byte) 0xcb, (byte) 0xa9, (byte) 0xd5, (byte) 0x55, (byte) 0xad,
- (byte) 0x65, (byte) 0xc5, (byte) 0xff, (byte) 0x5c, (byte) 0xfb, (byte) 0x1c, (byte) 0x4e,
- (byte) 0x34, (byte) 0x98, (byte) 0x7e, (byte) 0x4f, (byte) 0x96, (byte) 0xa2, (byte) 0xa3,
- (byte) 0x7e, (byte) 0xf4, (byte) 0x46, (byte) 0x52, (byte) 0x04, (byte) 0xba, (byte) 0x2a,
- (byte) 0xb9, (byte) 0x47, (byte) 0xbb, (byte) 0xc2, (byte) 0x1e, (byte) 0xdd, (byte) 0x15,
- (byte) 0x1a, (byte) 0xc0,
+ (byte) 0x04, (byte) 0xb8, (byte) 0x00, (byte) 0x11, (byte) 0x18, (byte) 0x98, (byte) 0x1d,
+ (byte) 0xf0, (byte) 0x6e, (byte) 0xb4, (byte) 0x94, (byte) 0xfe, (byte) 0x86, (byte) 0xda,
+ (byte) 0x1c, (byte) 0x07, (byte) 0x8d, (byte) 0x01, (byte) 0xb4, (byte) 0x3a, (byte) 0xf6,
+ (byte) 0x8d, (byte) 0xdc, (byte) 0x61, (byte) 0xd0, (byte) 0x46, (byte) 0x49, (byte) 0x95,
+ (byte) 0x0f, (byte) 0x10, (byte) 0x86, (byte) 0x93, (byte) 0x24, (byte) 0x66, (byte) 0xe0,
+ (byte) 0x3f, (byte) 0xd2, (byte) 0xdf, (byte) 0xf3, (byte) 0x79, (byte) 0x20, (byte) 0x1d,
+ (byte) 0x91, (byte) 0x55, (byte) 0xb0, (byte) 0xe5, (byte) 0xbd, (byte) 0x7a, (byte) 0x8b,
+ (byte) 0x32, (byte) 0x7d, (byte) 0x25, (byte) 0x53, (byte) 0xa2, (byte) 0xfc, (byte) 0xa5,
+ (byte) 0x65, (byte) 0xe1, (byte) 0xbd, (byte) 0x21, (byte) 0x44, (byte) 0x7e, (byte) 0x78,
+ (byte) 0x52, (byte) 0xfa,
// counter_id
(byte) 0x31, (byte) 0x32, (byte) 0x33, (byte) 0x34, (byte) 0x00, (byte) 0x00, (byte) 0x00,
(byte) 0x00,
diff --git a/services/tests/servicestests/src/com/android/server/locksettings/recoverablekeystore/TestData.java b/services/tests/servicestests/src/com/android/server/locksettings/recoverablekeystore/TestData.java
index 5d4be1b..64eb49b 100644
--- a/services/tests/servicestests/src/com/android/server/locksettings/recoverablekeystore/TestData.java
+++ b/services/tests/servicestests/src/com/android/server/locksettings/recoverablekeystore/TestData.java
@@ -29,7 +29,6 @@
import java.security.cert.CertificateFactory;
import java.security.cert.CertPath;
import java.security.spec.ECPrivateKeySpec;
-import java.security.spec.PKCS8EncodedKeySpec;
import java.util.Base64;
import javax.crypto.KeyGenerator;
@@ -38,56 +37,56 @@
public final class TestData {
private static final String KEY_ALGORITHM = "AES";
- private static final long DEFAULT_SERIAL = 10001;
+ private static final long DEFAULT_SERIAL = 1000;
private static final String CERT_PATH_ENCODING = "PkiPath";
private static final String CERT_PATH_1_BASE64 = ""
- + "MIIIXTCCBRowggMCoAMCAQICEB35ZwzVpI9ssXg9SAehnU0wDQYJKoZIhvcNAQEL"
- + "BQAwMTEvMC0GA1UEAxMmR29vZ2xlIENsb3VkIEtleSBWYXVsdCBTZXJ2aWNlIFJv"
- + "b3QgQ0EwHhcNMTgwNTA3MTg1ODEwWhcNMjgwNTA4MTg1ODEwWjA5MTcwNQYDVQQD"
- + "Ey5Hb29nbGUgQ2xvdWQgS2V5IFZhdWx0IFNlcnZpY2UgSW50ZXJtZWRpYXRlIENB"
- + "MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA73TrvH3j6zEimpcc32tx"
- + "2iupWwfyzdE5l4Ejc5EBYzx0aZH6b/KDuutwustk0IoyjlGySMBz/21YgWejIm+n"
- + "duAlpk7WY5kYHp0XWtzdmxZknmWTqugPeNZeiKEjoDmpyIbY6N+f13hQ2RVh+WDT"
- + "EowQ/i04WBL75chshlIG+3A42g5Qr7DZEKdT9oJQqkntzj0cGyJ5X8BwjeTiJrvY"
- + "k2Kn/0555/Kpp65G3Rf29VPPU3i67kthAT3SavLBpH03S4WZ+QlfrAiGQziydtz9"
- + "t7mSk1xefjax5ZWAuJAfCbKfI3VWAcaUr4P57BzmDcSi0jgs1aM3t2BrPfAMRxWv"
- + "35yDZnrC+HipzkjyDGBfHmFgoglyhc9e/Kj3mSusO0Rq1wguVXKs2hKXRoaGJuHt"
- + "e3YIwTC1pLznqvolhD1nPoXf8rMzgHRzlc9H8iXsgB1p7975nh5WCPrMDX2eAmYd"
- + "a0xTMccTeBzIM2ohxQsxlh5rsjXVNU3ihbWkHquzIiwFcAtldP3dMksj0dn/DnYD"
- + "yokjEgU/z2I216E93x9hmKkEk6Pp7o8t/z6lwMT9FJIuzp7NREnWCSi+e5s2E7FD"
- + "j6S7xY2zEIUHrmwuuJc0jzJnwdZ+0myinaTmBDvBXR5cU1cmEAZoheCAoRv9Z/6o"
- + "ASczLF0C4uuVfA5GXcAm14cCAwEAAaMmMCQwDgYDVR0PAQH/BAQDAgGGMBIGA1Ud"
- + "EwEB/wQIMAYBAf8CAQEwDQYJKoZIhvcNAQELBQADggIBAEPht79yQm8woQbPB1Bs"
- + "eotkzJtTWTO9fnIWwNiRfQ3vJFXf69ghE77wUS13Ez3FlgNPj0Qxmg5ouE0d2yYV"
- + "4AUrXnEGZELcyN2XHRXyNK0zXgnr3x6eZyY7QfgGKJgkyja5TS6ZPWGyaLKhClS0"
- + "AYZSzWJtz0+AkGCdTbmyy7ShdXJ+GfnmssbndZA62VhcjeQmHsDq7V3PKAsp4/B9"
- + "PzcnTrgkUFNnP1F1pr7JpUUX3xyRFy6gjIrUx1fcOFRxFYPWGLLMZ6P41rafm+M/"
- + "CbBNr5CY7NrZjr34jLqWycfYes49o9OK44X/wPrxj0Sjg+VrW21+AJ9vrM7DS5hE"
- + "QX1lDbDtQGkk3N1vgCTo6xt9LXsEu4xUT5bk7YAfpJqM0ltDFPwYAGCbjSkVT/M5"
- + "JVZkKiUW668Us67x8yZc/5bxbvTA+5xrYhak/VYIBY6qub4J+bKwadw6uBgxnq4P"
- + "hwgwjfaoJy9YAXCswjCtaE9GwkVmRnJE9vFjJ33IGf37hFTYEHBFy4FomVmQwRFZ"
- + "TIe7tkKDq9i18F7lzBPJPO6wEG8bxi4csatrjcVHR9erpY5u6ebtkKG8qsan9qzh"
- + "iWAgSytiT++HejZeoQ+RRgQWjupjdDo5/0oSdQqvaN8Ah6C2J+ecCZ12Lu0FwF+t"
- + "t9Ie3pF6W8TzxzuMdFWq+afvMIIDOzCCASOgAwIBAgIRAOTj/iNQb6/Qit7zAW9n"
- + "cL0wDQYJKoZIhvcNAQELBQAwOTE3MDUGA1UEAxMuR29vZ2xlIENsb3VkIEtleSBW"
- + "YXVsdCBTZXJ2aWNlIEludGVybWVkaWF0ZSBDQTAeFw0xODA1MDcyMjE4MTFaFw0y"
- + "MzA1MDgyMjE4MTFaMDIxMDAuBgNVBAMTJ0dvb2dsZSBDbG91ZCBLZXkgVmF1bHQg"
- + "U2VydmljZSBFbmRwb2ludDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABI4MEUp5"
- + "IHwATNfpBuJYIUX6JMsHZt798YO0JlWYy6nVVa1lxf9c+xxONJh+T5aio370RlIE"
- + "uiq5R7vCHt0VGsCjEDAOMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB"
- + "AGf6QU58lU+gGzy8hnp0suR/ixC++CExtf39pDHkdfU/e3ui4ROR+pjQ5F7okDFW"
- + "eKSCNcJZ7tyXMJ9g7/I0qVY8Bj/gRnlVokdl/wD5PiL9GIzqWfnHNe3T+xrAAAgO"
- + "D0bEmjgwNYmekfUIYQczd04d7ZMGnmAkpVH/0O2mf9q5x9fMlbKuAygUqQ/gmnlg"
- + "xKfl9DSRWi4oMBOqlKlCRP1XAh3anu92+M/EhsFbyc07CWZY0SByX5M/cHVMLhUX"
- + "jZHvcYLyOmJWJmXznidgyNeIR6t9yDB55iCt7WSn3qMY+9vA9ELzt8jYpBNaKc0G"
- + "bWQkRzYWegkf4kMis98eQ3SnAKbRz6669nmuAdxKs9/LK6BlFOFw1xvsTRQ96dBa"
- + "oiX2XGhou+Im0Td/AMs0Aigz2N+Ujq/yW//35GZQfdGGIYtFbkcltStygjIJyAM1"
- + "pBhyBBkJhOhRpO4fXh98aq8H5J7R9i5A9WpnDstAxPxcNCDWn0O/WxhPvVZkFTpi"
- + "NXh9dnlJ/kZe+j+z5ZMaxW435drLPx2AQKjXA9GgGrFPltTUyGycmEGtuxLvSnm/"
- + "zPlmk5FUk7x2wEr0+bZ3cx0JHHgAtgXpe0jkDi8Bw8O3X7mUOjxVhYU6auiYJezW"
- + "9LGmweaKwYvS04UCWOReolUVexob9LI/VX1JrrwD3s7k";
- private static final String CERT_PATH_2_BASE64 = ""
+ + "MIIIPzCCBS8wggMXoAMCAQICAhAAMA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNVBAMM"
+ + "FUdvb2dsZSBDcnlwdEF1dGhWYXVsdDAeFw0xODAyMDMwMDQyMDNaFw0yODAyMDEw"
+ + "MDQyMDNaMC0xKzApBgNVBAMMIkdvb2dsZSBDcnlwdEF1dGhWYXVsdCBJbnRlcm1l"
+ + "ZGlhdGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDckHib0X6rQyDq"
+ + "k4519b5du0OrCPk30XXKwz+Hz5y4cGZaWKGcHOHWS2X9YApRzO00/EbvFkWVUTVG"
+ + "27wJ54V+C3HHSOAUWHhEgfFWvvHwfn9HTDx1BEk79aQqJ7DuJ06Sn/WOiMtKVAT5"
+ + "6Mi8mekBxpMOrdZqwlcLrUVsZxEHsw5/ceZu4cSWzc7SzlnbNK1cCgyRDGqWf6Gp"
+ + "3hGE86kUOtM1i95RgUIpw+w/z0wxpF6kIyQTjK+KjiYH/RBOJIEcm6sSWZlMotKL"
+ + "Sn2lhf+XL8yUxExIHTosfeb077QWW4w2BB2NZM4wPAO3w4aw33FNigDQc2SQYmnU"
+ + "EYmIcD8kx77+JWCgCxBJc2zTHXtBxWuXAQ+iegt8RO+QD97pd6XKM9xPsAOkcWLp"
+ + "79o+AJol4P5fwvgYM69mM4lwH12v86RI4aptPQOag0KDIHXyKbjaQyAgv30l4KkD"
+ + "pf2uWODhOOTwNbVPYUm3sYUlhBcbyhTk8YqN9sPU4QAao5sKTAYZgB/mlheQypTU"
+ + "wyvqz6bRzGehVB3ltP9gCyKdI04VXEUuUBWk3STyV2REQen5/LKAns6v11Cz22Zr"
+ + "EdCvNLgetnyV7CJsOa/wD/GiUWL2Ta7pzshi9ahJqrrcNPRbAzOLcNKZkFexhzPp"
+ + "onuo/pNrcaRda1frepXxVkmbsgOULwIDAQABo2YwZDAdBgNVHQ4EFgQUd6md2hCP"
+ + "lmf3VkEX5FfDxKBLbaAwHwYDVR0jBBgwFoAUm2X66jmB+eBCaZHSjGYzHM/x6fgw"
+ + "EgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQEL"
+ + "BQADggIBAFgShhuW+WVTowN080PLf0TWPlHACHHUPghf7rFGxgUjJypCloE84Beg"
+ + "3ROpP5l19CDqZ9OyPzA1z6VAzeGXyFhZvby7G2tZDBRP/v0u8pnSAdC5F8l8Vh2Y"
+ + "GdgE3sZD25vpdBi7P0Ef6LYQetOJXn86PqgmgW1F6lzxDjKCsi9kpeU0AWwDdOVg"
+ + "748wku50o8UEzsVwxzFd9toGlge/nn3FH5J7EuGzAlFwToHqpwTVEegaAd0l9mr5"
+ + "+rS7Urd3X80BHDqCBcXE7Uqbtzw5Y+lmowMCnW0kFN02dC9dLt2c9IxC+9sPIA5e"
+ + "TkrZBkrkTVRGLj2r29j7nC9m5VaKcBqcLZDWy8pRna8yaZprgNdE8d/WTY9nVsic"
+ + "09N8zNF5Q0bhhWa3QonlB9XW5ZqDguiclvn+5TtREzSAtSOyxM+gfG3l0wjOywIk"
+ + "1aFa52RaqAWPL67KOM6G3vKNpMnW5hrmHrijuKxiarGIoZfkZMR5ijK0uFgv3/p6"
+ + "NHL/YQBaHJJhkKet5ThiPxwW9+1k/ZcXVeY26Xh+22Gp/8to7ZW8guPPiN1hfpD+"
+ + "7f1IdSmHDrsZQQ7bfzV0bppsyNNB7e2Ecyw+GQny27nytBLJDGdRBurbwQvzppQO"
+ + "6Qmlk0rfCszh7bGCoCQNxXmuDsQ5BC+pQUqJplTqds1smyi29xs3MIIDCDCB8aAD"
+ + "AgECAgYBYVkuU0cwDQYJKoZIhvcNAQELBQAwLTErMCkGA1UEAwwiR29vZ2xlIENy"
+ + "eXB0QXV0aFZhdWx0IEludGVybWVkaWF0ZTAeFw0xODAyMDIwMTAxMDNaFw0yMDAy"
+ + "MDMwMTAxMDNaMCkxJzAlBgNVBAMTHkdvb2dsZSBDcnlwdEF1dGhWYXVsdCBJbnN0"
+ + "YW5jZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLgAERiYHfButJT+htocB40B"
+ + "tDr2jdxh0EZJlQ8QhpMkZuA/0t/zeSAdkVWw5b16izJ9JVOi/KVl4b0hRH54Uvow"
+ + "DQYJKoZIhvcNAQELBQADggIBAJ3PM4GNTNYzMr8E/IGsWZkLx9ARAALqBXz7As59"
+ + "F8y5UcLMqkXD/ewOfBZgF5VzjlAePyE/wSw0wc3xzvrDVVDiZaMBW1DVtSlbn25q"
+ + "00m00mmcUeyyMc7vuRkPoDshIMQTc8+U3yyYsVScSV+B4TvSx6wPZ9FpwnSPjVPD"
+ + "2GkqeMTWszuxNVEWq0wmm0K5lMaX0hfiak+4/IZxOPPGIg2py1KLA/H2gdyeqyJR"
+ + "cAsyEkfwLlushR5T9abSiPsIRcYoX8Ck8Lt+gQ7RCMefnm8CoOBKIfcjuV4PGOoe"
+ + "Xrq57VR5SsOeT07bL+D7B+mohYFI1v2G3WClAE8XgM3q8NoFFvaYmoi0+UcTduil"
+ + "47qvozjdNmjRAgu5j6vMKXEdG5Rqsja8hy0LG1hwfnR0gNiwcZ5Le3GyFnwH1Igq"
+ + "vsGOUM0ohnDUAU0zJY7nG0QYrDYe5/QPRNhWDpYkwHDiqcG28wIQCOTPAZHU2EoS"
+ + "KjSqEG2l0S5JPcor2BEde9ikSkcmK8foxlOHIdFn+n7RNF3bSEfKn1IOuXoqPidm"
+ + "eBQLevqG8KTy/C9CHqlaCNlpbIA9h+WVfsjm2s6JXBu0YbcfoIbJAmSuZVeqB/+Z"
+ + "Vvpfiad/jQWzY49fRnsSmV7VveTFPGtJxC89EadbMAinMZo+72u59319RqN5wsP2"
+ + "Zus8";
+ private static String CERT_PATH_2_BASE64 = ""
+ "MIIFMzCCBS8wggMXoAMCAQICAhAAMA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNVBAMM"
+ "FUdvb2dsZSBDcnlwdEF1dGhWYXVsdDAeFw0xODAyMDMwMDQyMDNaFw0yODAyMDEw"
+ "MDQyMDNaMC0xKzApBgNVBAMMIkdvb2dsZSBDcnlwdEF1dGhWYXVsdCBJbnRlcm1l"
@@ -118,44 +117,194 @@
+ "6Qmlk0rfCszh7bGCoCQNxXmuDsQ5BC+pQUqJplTqds1smyi29xs3";
private static final String THM_CERT_XML_BEFORE_SERIAL = ""
- + "<certificate>\n"
- + " <metadata>\n"
- + " <serial>";
- private static final String THM_CERT_XML_AFTER_SERIAL = ""
- + "</serial>\n"
- + " <creation-time>1525817891</creation-time>\n"
- + " <refresh-interval>2592000</refresh-interval>\n"
+ + "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+ + "<certificates>\n"
+ + " <metadata>\n"
+ + " <serial>\n"
+ + " ";
+ private static final String THM_CERT_XML_AFTER_SERIAL = "\n"
+ + " </serial>\n"
+ + " <creation-time>\n"
+ + " 1515697631\n"
+ + " </creation-time>\n"
+ + " <refresh-interval>\n"
+ + " 2592000\n"
+ + " </refresh-interval>\n"
+ " <previous>\n"
- + " <serial>10000</serial>\n"
- + " <hash>ahyI+59KW2tVxi0inRdUSo1Y8kmx5xK1isDvYfzxWbo=</hash>\n"
+ + " <serial>\n"
+ + " 0\n"
+ + " </serial>\n"
+ + " <hash>\n"
+ + " 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=\n"
+ + " </hash>\n"
+ " </previous>\n"
+ " </metadata>\n"
+ " <intermediates>\n"
- + " <cert>MIIFGjCCAwKgAwIBAgIQHflnDNWkj2yxeD1IB6GdTTANBgkqhkiG9w0BAQsFADAxMS8wLQYDVQQDEyZHb29nbGUgQ2xvdWQgS2V5IFZhdWx0IFNlcnZpY2UgUm9vdCBDQTAeFw0xODA1MDcxODU4MTBaFw0yODA1MDgxODU4MTBaMDkxNzA1BgNVBAMTLkdvb2dsZSBDbG91ZCBLZXkgVmF1bHQgU2VydmljZSBJbnRlcm1lZGlhdGUgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDvdOu8fePrMSKalxzfa3HaK6lbB/LN0TmXgSNzkQFjPHRpkfpv8oO663C6y2TQijKOUbJIwHP/bViBZ6Mib6d24CWmTtZjmRgenRda3N2bFmSeZZOq6A941l6IoSOgOanIhtjo35/XeFDZFWH5YNMSjBD+LThYEvvlyGyGUgb7cDjaDlCvsNkQp1P2glCqSe3OPRwbInlfwHCN5OImu9iTYqf/Tnnn8qmnrkbdF/b1U89TeLruS2EBPdJq8sGkfTdLhZn5CV+sCIZDOLJ23P23uZKTXF5+NrHllYC4kB8Jsp8jdVYBxpSvg/nsHOYNxKLSOCzVoze3YGs98AxHFa/fnINmesL4eKnOSPIMYF8eYWCiCXKFz178qPeZK6w7RGrXCC5VcqzaEpdGhoYm4e17dgjBMLWkvOeq+iWEPWc+hd/yszOAdHOVz0fyJeyAHWnv3vmeHlYI+swNfZ4CZh1rTFMxxxN4HMgzaiHFCzGWHmuyNdU1TeKFtaQeq7MiLAVwC2V0/d0ySyPR2f8OdgPKiSMSBT/PYjbXoT3fH2GYqQSTo+nujy3/PqXAxP0Uki7Ons1ESdYJKL57mzYTsUOPpLvFjbMQhQeubC64lzSPMmfB1n7SbKKdpOYEO8FdHlxTVyYQBmiF4IChG/1n/qgBJzMsXQLi65V8DkZdwCbXhwIDAQABoyYwJDAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBATANBgkqhkiG9w0BAQsFAAOCAgEAQ+G3v3JCbzChBs8HUGx6i2TMm1NZM71+chbA2JF9De8kVd/r2CETvvBRLXcTPcWWA0+PRDGaDmi4TR3bJhXgBStecQZkQtzI3ZcdFfI0rTNeCevfHp5nJjtB+AYomCTKNrlNLpk9YbJosqEKVLQBhlLNYm3PT4CQYJ1NubLLtKF1cn4Z+eayxud1kDrZWFyN5CYewOrtXc8oCynj8H0/NydOuCRQU2c/UXWmvsmlRRffHJEXLqCMitTHV9w4VHEVg9YYssxno/jWtp+b4z8JsE2vkJjs2tmOvfiMupbJx9h6zj2j04rjhf/A+vGPRKOD5WtbbX4An2+szsNLmERBfWUNsO1AaSTc3W+AJOjrG30tewS7jFRPluTtgB+kmozSW0MU/BgAYJuNKRVP8zklVmQqJRbrrxSzrvHzJlz/lvFu9MD7nGtiFqT9VggFjqq5vgn5srBp3Dq4GDGerg+HCDCN9qgnL1gBcKzCMK1oT0bCRWZGckT28WMnfcgZ/fuEVNgQcEXLgWiZWZDBEVlMh7u2QoOr2LXwXuXME8k87rAQbxvGLhyxq2uNxUdH16uljm7p5u2Qobyqxqf2rOGJYCBLK2JP74d6Nl6hD5FGBBaO6mN0Ojn/ShJ1Cq9o3wCHoLYn55wJnXYu7QXAX6230h7ekXpbxPPHO4x0Var5p+8=</cert>\n"
+ + " <cert>\n"
+ + " MIIFLzCCAxegAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVR29v\n"
+ + " Z2xlIENyeXB0QXV0aFZhdWx0MB4XDTE4MDIwMzAwNDIwM1oXDTI4MDIwMTAwNDIw\n"
+ + " M1owLTErMCkGA1UEAwwiR29vZ2xlIENyeXB0QXV0aFZhdWx0IEludGVybWVkaWF0\n"
+ + " ZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANyQeJvRfqtDIOqTjnX1\n"
+ + " vl27Q6sI+TfRdcrDP4fPnLhwZlpYoZwc4dZLZf1gClHM7TT8Ru8WRZVRNUbbvAnn\n"
+ + " hX4LccdI4BRYeESB8Va+8fB+f0dMPHUESTv1pConsO4nTpKf9Y6Iy0pUBPnoyLyZ\n"
+ + " 6QHGkw6t1mrCVwutRWxnEQezDn9x5m7hxJbNztLOWds0rVwKDJEMapZ/oaneEYTz\n"
+ + " qRQ60zWL3lGBQinD7D/PTDGkXqQjJBOMr4qOJgf9EE4kgRybqxJZmUyi0otKfaWF\n"
+ + " /5cvzJTETEgdOix95vTvtBZbjDYEHY1kzjA8A7fDhrDfcU2KANBzZJBiadQRiYhw\n"
+ + " PyTHvv4lYKALEElzbNMde0HFa5cBD6J6C3xE75AP3ul3pcoz3E+wA6RxYunv2j4A\n"
+ + " miXg/l/C+Bgzr2YziXAfXa/zpEjhqm09A5qDQoMgdfIpuNpDICC/fSXgqQOl/a5Y\n"
+ + " 4OE45PA1tU9hSbexhSWEFxvKFOTxio32w9ThABqjmwpMBhmAH+aWF5DKlNTDK+rP\n"
+ + " ptHMZ6FUHeW0/2ALIp0jThVcRS5QFaTdJPJXZERB6fn8soCezq/XULPbZmsR0K80\n"
+ + " uB62fJXsImw5r/AP8aJRYvZNrunOyGL1qEmqutw09FsDM4tw0pmQV7GHM+mie6j+\n"
+ + " k2txpF1rV+t6lfFWSZuyA5QvAgMBAAGjZjBkMB0GA1UdDgQWBBR3qZ3aEI+WZ/dW\n"
+ + " QRfkV8PEoEttoDAfBgNVHSMEGDAWgBSbZfrqOYH54EJpkdKMZjMcz/Hp+DASBgNV\n"
+ + " HRMBAf8ECDAGAQH/AgEBMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOC\n"
+ + " AgEAWBKGG5b5ZVOjA3TzQ8t/RNY+UcAIcdQ+CF/usUbGBSMnKkKWgTzgF6DdE6k/\n"
+ + " mXX0IOpn07I/MDXPpUDN4ZfIWFm9vLsba1kMFE/+/S7ymdIB0LkXyXxWHZgZ2ATe\n"
+ + " xkPbm+l0GLs/QR/othB604lefzo+qCaBbUXqXPEOMoKyL2Sl5TQBbAN05WDvjzCS\n"
+ + " 7nSjxQTOxXDHMV322gaWB7+efcUfknsS4bMCUXBOgeqnBNUR6BoB3SX2avn6tLtS\n"
+ + " t3dfzQEcOoIFxcTtSpu3PDlj6WajAwKdbSQU3TZ0L10u3Zz0jEL72w8gDl5OStkG\n"
+ + " SuRNVEYuPavb2PucL2blVopwGpwtkNbLylGdrzJpmmuA10Tx39ZNj2dWyJzT03zM\n"
+ + " 0XlDRuGFZrdCieUH1dblmoOC6JyW+f7lO1ETNIC1I7LEz6B8beXTCM7LAiTVoVrn\n"
+ + " ZFqoBY8vrso4zobe8o2kydbmGuYeuKO4rGJqsYihl+RkxHmKMrS4WC/f+no0cv9h\n"
+ + " AFockmGQp63lOGI/HBb37WT9lxdV5jbpeH7bYan/y2jtlbyC48+I3WF+kP7t/Uh1\n"
+ + " KYcOuxlBDtt/NXRummzI00Ht7YRzLD4ZCfLbufK0EskMZ1EG6tvBC/OmlA7pCaWT\n"
+ + " St8KzOHtsYKgJA3Fea4OxDkEL6lBSommVOp2zWybKLb3Gzc=\n"
+ + " </cert>\n"
+ " </intermediates>\n"
+ " <endpoints>\n"
- // The public key is chosen by using the following hash as the first 32 bytes (x-axis)
- // SHA256("Google Cloud Key Vault Service Test Endpoint") = 8e0c114a79207c004cd7e906e2582145fa24cb0766defdf183b4265598cba9d5
- // so its private key is unknown.
- + " <cert>MIIDOzCCASOgAwIBAgIRAOTj/iNQb6/Qit7zAW9ncL0wDQYJKoZIhvcNAQELBQAwOTE3MDUGA1UEAxMuR29vZ2xlIENsb3VkIEtleSBWYXVsdCBTZXJ2aWNlIEludGVybWVkaWF0ZSBDQTAeFw0xODA1MDcyMjE4MTFaFw0yMzA1MDgyMjE4MTFaMDIxMDAuBgNVBAMTJ0dvb2dsZSBDbG91ZCBLZXkgVmF1bHQgU2VydmljZSBFbmRwb2ludDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABI4MEUp5IHwATNfpBuJYIUX6JMsHZt798YO0JlWYy6nVVa1lxf9c+xxONJh+T5aio370RlIEuiq5R7vCHt0VGsCjEDAOMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAGf6QU58lU+gGzy8hnp0suR/ixC++CExtf39pDHkdfU/e3ui4ROR+pjQ5F7okDFWeKSCNcJZ7tyXMJ9g7/I0qVY8Bj/gRnlVokdl/wD5PiL9GIzqWfnHNe3T+xrAAAgOD0bEmjgwNYmekfUIYQczd04d7ZMGnmAkpVH/0O2mf9q5x9fMlbKuAygUqQ/gmnlgxKfl9DSRWi4oMBOqlKlCRP1XAh3anu92+M/EhsFbyc07CWZY0SByX5M/cHVMLhUXjZHvcYLyOmJWJmXznidgyNeIR6t9yDB55iCt7WSn3qMY+9vA9ELzt8jYpBNaKc0GbWQkRzYWegkf4kMis98eQ3SnAKbRz6669nmuAdxKs9/LK6BlFOFw1xvsTRQ96dBaoiX2XGhou+Im0Td/AMs0Aigz2N+Ujq/yW//35GZQfdGGIYtFbkcltStygjIJyAM1pBhyBBkJhOhRpO4fXh98aq8H5J7R9i5A9WpnDstAxPxcNCDWn0O/WxhPvVZkFTpiNXh9dnlJ/kZe+j+z5ZMaxW435drLPx2AQKjXA9GgGrFPltTUyGycmEGtuxLvSnm/zPlmk5FUk7x2wEr0+bZ3cx0JHHgAtgXpe0jkDi8Bw8O3X7mUOjxVhYU6auiYJezW9LGmweaKwYvS04UCWOReolUVexob9LI/VX1JrrwD3s7k</cert>\n"
+ + " <cert>\n"
+ + " MIIDCDCB8aADAgECAgYBYVkuU0cwDQYJKoZIhvcNAQELBQAwLTErMCkGA1UEAwwi\n"
+ + " R29vZ2xlIENyeXB0QXV0aFZhdWx0IEludGVybWVkaWF0ZTAeFw0xODAyMDIwMTAx\n"
+ + " MDNaFw0yMDAyMDMwMTAxMDNaMCkxJzAlBgNVBAMTHkdvb2dsZSBDcnlwdEF1dGhW\n"
+ + " YXVsdCBJbnN0YW5jZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLgAERiYHfBu\n"
+ + " tJT+htocB40BtDr2jdxh0EZJlQ8QhpMkZuA/0t/zeSAdkVWw5b16izJ9JVOi/KVl\n"
+ + " 4b0hRH54UvowDQYJKoZIhvcNAQELBQADggIBAJ3PM4GNTNYzMr8E/IGsWZkLx9AR\n"
+ + " AALqBXz7As59F8y5UcLMqkXD/ewOfBZgF5VzjlAePyE/wSw0wc3xzvrDVVDiZaMB\n"
+ + " W1DVtSlbn25q00m00mmcUeyyMc7vuRkPoDshIMQTc8+U3yyYsVScSV+B4TvSx6wP\n"
+ + " Z9FpwnSPjVPD2GkqeMTWszuxNVEWq0wmm0K5lMaX0hfiak+4/IZxOPPGIg2py1KL\n"
+ + " A/H2gdyeqyJRcAsyEkfwLlushR5T9abSiPsIRcYoX8Ck8Lt+gQ7RCMefnm8CoOBK\n"
+ + " IfcjuV4PGOoeXrq57VR5SsOeT07bL+D7B+mohYFI1v2G3WClAE8XgM3q8NoFFvaY\n"
+ + " moi0+UcTduil47qvozjdNmjRAgu5j6vMKXEdG5Rqsja8hy0LG1hwfnR0gNiwcZ5L\n"
+ + " e3GyFnwH1IgqvsGOUM0ohnDUAU0zJY7nG0QYrDYe5/QPRNhWDpYkwHDiqcG28wIQ\n"
+ + " COTPAZHU2EoSKjSqEG2l0S5JPcor2BEde9ikSkcmK8foxlOHIdFn+n7RNF3bSEfK\n"
+ + " n1IOuXoqPidmeBQLevqG8KTy/C9CHqlaCNlpbIA9h+WVfsjm2s6JXBu0YbcfoIbJ\n"
+ + " AmSuZVeqB/+ZVvpfiad/jQWzY49fRnsSmV7VveTFPGtJxC89EadbMAinMZo+72u5\n"
+ + " 9319RqN5wsP2Zus8\n"
+ + " </cert>\n"
+ " </endpoints>\n"
- + "</certificate>\n";
+ + "</certificates>\n";
private static final String THM_SIG_XML = ""
+ + "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+ "<signature>\n"
- + " <intermediates></intermediates>\n"
- + " <certificate>MIIFGjCCAwKgAwIBAgIQHflnDNWkj2yxeD1IB6GdTTANBgkqhkiG9w0BAQsFADAxMS8wLQYDVQQDEyZHb29nbGUgQ2xvdWQgS2V5IFZhdWx0IFNlcnZpY2UgUm9vdCBDQTAeFw0xODA1MDcxODU4MTBaFw0yODA1MDgxODU4MTBaMDkxNzA1BgNVBAMTLkdvb2dsZSBDbG91ZCBLZXkgVmF1bHQgU2VydmljZSBJbnRlcm1lZGlhdGUgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDvdOu8fePrMSKalxzfa3HaK6lbB/LN0TmXgSNzkQFjPHRpkfpv8oO663C6y2TQijKOUbJIwHP/bViBZ6Mib6d24CWmTtZjmRgenRda3N2bFmSeZZOq6A941l6IoSOgOanIhtjo35/XeFDZFWH5YNMSjBD+LThYEvvlyGyGUgb7cDjaDlCvsNkQp1P2glCqSe3OPRwbInlfwHCN5OImu9iTYqf/Tnnn8qmnrkbdF/b1U89TeLruS2EBPdJq8sGkfTdLhZn5CV+sCIZDOLJ23P23uZKTXF5+NrHllYC4kB8Jsp8jdVYBxpSvg/nsHOYNxKLSOCzVoze3YGs98AxHFa/fnINmesL4eKnOSPIMYF8eYWCiCXKFz178qPeZK6w7RGrXCC5VcqzaEpdGhoYm4e17dgjBMLWkvOeq+iWEPWc+hd/yszOAdHOVz0fyJeyAHWnv3vmeHlYI+swNfZ4CZh1rTFMxxxN4HMgzaiHFCzGWHmuyNdU1TeKFtaQeq7MiLAVwC2V0/d0ySyPR2f8OdgPKiSMSBT/PYjbXoT3fH2GYqQSTo+nujy3/PqXAxP0Uki7Ons1ESdYJKL57mzYTsUOPpLvFjbMQhQeubC64lzSPMmfB1n7SbKKdpOYEO8FdHlxTVyYQBmiF4IChG/1n/qgBJzMsXQLi65V8DkZdwCbXhwIDAQABoyYwJDAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBATANBgkqhkiG9w0BAQsFAAOCAgEAQ+G3v3JCbzChBs8HUGx6i2TMm1NZM71+chbA2JF9De8kVd/r2CETvvBRLXcTPcWWA0+PRDGaDmi4TR3bJhXgBStecQZkQtzI3ZcdFfI0rTNeCevfHp5nJjtB+AYomCTKNrlNLpk9YbJosqEKVLQBhlLNYm3PT4CQYJ1NubLLtKF1cn4Z+eayxud1kDrZWFyN5CYewOrtXc8oCynj8H0/NydOuCRQU2c/UXWmvsmlRRffHJEXLqCMitTHV9w4VHEVg9YYssxno/jWtp+b4z8JsE2vkJjs2tmOvfiMupbJx9h6zj2j04rjhf/A+vGPRKOD5WtbbX4An2+szsNLmERBfWUNsO1AaSTc3W+AJOjrG30tewS7jFRPluTtgB+kmozSW0MU/BgAYJuNKRVP8zklVmQqJRbrrxSzrvHzJlz/lvFu9MD7nGtiFqT9VggFjqq5vgn5srBp3Dq4GDGerg+HCDCN9qgnL1gBcKzCMK1oT0bCRWZGckT28WMnfcgZ/fuEVNgQcEXLgWiZWZDBEVlMh7u2QoOr2LXwXuXME8k87rAQbxvGLhyxq2uNxUdH16uljm7p5u2Qobyqxqf2rOGJYCBLK2JP74d6Nl6hD5FGBBaO6mN0Ojn/ShJ1Cq9o3wCHoLYn55wJnXYu7QXAX6230h7ekXpbxPPHO4x0Var5p+8=</certificate>\n"
- + " <value>WkmYBCY4heNutMf3tEbyg+Omm+MvWF4EoDmv2vCd259oy3t8URqDqu5vEi3TqQguX0GO3r5mRKCcEYged121xJltC6zShbDMZZNAlB6sqvS6/vIVBBx5jKecUaEpRuQ4ruTyF93YXDi7DgaCNGaYCjkDrnr8lSAyelZl2tfe2BbpOMiwH1fNvI6Xmb++iyMmZGoJo91ovucC635SnnULNUtivL2CjLgU3mKb2uZMB8XPr1t1FOTJEA81ghDU+p3ZrPLxLB3KBTtfAwPQyqStRuY8+3bnPqi7VWeZgfoesvJiPF6q1PraoaL/inlRFo7wr37CS9EtNR/k5cq1UJ4/4Ernvj5k2Zw/IclzYHUGSd3ljCOTJJB6cDtR7WDqprlr1J4nr9hf1Ya4DFJmlX3FXix43Dw6lfk/1gCiWu0y2i1A2NCn0QRxuPh5b385Epj98QlZnd2roB2GfzchJTAxI+oeLc3CowkyLDS5jjuTMERbKbPpkhQu9gtskYtB0I4fEGOMn17+ZrXRcTPJexCS2NGgSqiF4X9Fwe+9XRg3Nk+SoUj9gBCysP8UeSz1POZHQIlZ24mQzxOK2hwGwDtxVchGCrNyf8rh5bZE2hUKHYNH9UWQ+YWrieKeulfP+o1wL9NLZOTz3SHcV/kCv5WqgynzkrKf382FwunxF56NapA=</value>\n"
+ + " <intermediates>\n"
+ + " </intermediates>\n"
+ + " <certificate>\n"
+ + " MIIFLzCCAxegAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UEAwwVR29v\n"
+ + " Z2xlIENyeXB0QXV0aFZhdWx0MB4XDTE4MDIwMzAwNDIwM1oXDTI4MDIwMTAwNDIw\n"
+ + " M1owLTErMCkGA1UEAwwiR29vZ2xlIENyeXB0QXV0aFZhdWx0IEludGVybWVkaWF0\n"
+ + " ZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANyQeJvRfqtDIOqTjnX1\n"
+ + " vl27Q6sI+TfRdcrDP4fPnLhwZlpYoZwc4dZLZf1gClHM7TT8Ru8WRZVRNUbbvAnn\n"
+ + " hX4LccdI4BRYeESB8Va+8fB+f0dMPHUESTv1pConsO4nTpKf9Y6Iy0pUBPnoyLyZ\n"
+ + " 6QHGkw6t1mrCVwutRWxnEQezDn9x5m7hxJbNztLOWds0rVwKDJEMapZ/oaneEYTz\n"
+ + " qRQ60zWL3lGBQinD7D/PTDGkXqQjJBOMr4qOJgf9EE4kgRybqxJZmUyi0otKfaWF\n"
+ + " /5cvzJTETEgdOix95vTvtBZbjDYEHY1kzjA8A7fDhrDfcU2KANBzZJBiadQRiYhw\n"
+ + " PyTHvv4lYKALEElzbNMde0HFa5cBD6J6C3xE75AP3ul3pcoz3E+wA6RxYunv2j4A\n"
+ + " miXg/l/C+Bgzr2YziXAfXa/zpEjhqm09A5qDQoMgdfIpuNpDICC/fSXgqQOl/a5Y\n"
+ + " 4OE45PA1tU9hSbexhSWEFxvKFOTxio32w9ThABqjmwpMBhmAH+aWF5DKlNTDK+rP\n"
+ + " ptHMZ6FUHeW0/2ALIp0jThVcRS5QFaTdJPJXZERB6fn8soCezq/XULPbZmsR0K80\n"
+ + " uB62fJXsImw5r/AP8aJRYvZNrunOyGL1qEmqutw09FsDM4tw0pmQV7GHM+mie6j+\n"
+ + " k2txpF1rV+t6lfFWSZuyA5QvAgMBAAGjZjBkMB0GA1UdDgQWBBR3qZ3aEI+WZ/dW\n"
+ + " QRfkV8PEoEttoDAfBgNVHSMEGDAWgBSbZfrqOYH54EJpkdKMZjMcz/Hp+DASBgNV\n"
+ + " HRMBAf8ECDAGAQH/AgEBMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOC\n"
+ + " AgEAWBKGG5b5ZVOjA3TzQ8t/RNY+UcAIcdQ+CF/usUbGBSMnKkKWgTzgF6DdE6k/\n"
+ + " mXX0IOpn07I/MDXPpUDN4ZfIWFm9vLsba1kMFE/+/S7ymdIB0LkXyXxWHZgZ2ATe\n"
+ + " xkPbm+l0GLs/QR/othB604lefzo+qCaBbUXqXPEOMoKyL2Sl5TQBbAN05WDvjzCS\n"
+ + " 7nSjxQTOxXDHMV322gaWB7+efcUfknsS4bMCUXBOgeqnBNUR6BoB3SX2avn6tLtS\n"
+ + " t3dfzQEcOoIFxcTtSpu3PDlj6WajAwKdbSQU3TZ0L10u3Zz0jEL72w8gDl5OStkG\n"
+ + " SuRNVEYuPavb2PucL2blVopwGpwtkNbLylGdrzJpmmuA10Tx39ZNj2dWyJzT03zM\n"
+ + " 0XlDRuGFZrdCieUH1dblmoOC6JyW+f7lO1ETNIC1I7LEz6B8beXTCM7LAiTVoVrn\n"
+ + " ZFqoBY8vrso4zobe8o2kydbmGuYeuKO4rGJqsYihl+RkxHmKMrS4WC/f+no0cv9h\n"
+ + " AFockmGQp63lOGI/HBb37WT9lxdV5jbpeH7bYan/y2jtlbyC48+I3WF+kP7t/Uh1\n"
+ + " KYcOuxlBDtt/NXRummzI00Ht7YRzLD4ZCfLbufK0EskMZ1EG6tvBC/OmlA7pCaWT\n"
+ + " St8KzOHtsYKgJA3Fea4OxDkEL6lBSommVOp2zWybKLb3Gzc=\n"
+ + " </certificate>\n"
+ + " <value>\n"
+ + " uKJ4W8BPCdVaIBe2ZiMxxk5L5vGBV9QwaOEGU80LgtA/gEqkiO2IMUBlQJFqvvhh6RSph5lWpLuv\n"
+ + " /Xt7WBzDsZOcxXNffg2+pWNpbpwZdHohlwQEI1OqiVYVnfG4euAkzeWZZLsRUuAjHfcWVIzDoSoK\n"
+ + " wC+gqdUQHBV+pWyn6PXVslS0JIldeegbiwF076M1D7ybeCABXoQelSZRHkx1szO8UnxSR3X7Cemu\n"
+ + " p9De/7z9+WPPclqybINVIPy6Kvl8mHrGSlzawQRDKtoMrJa8bo93PookF8sbg5EoGapV0yNpMEiA\n"
+ + " spq3DEcdXB6mGDGPnLbS2WXq4zjKopASRKkZvOMdgfS6NdUMDtKS1TsOrv2KKTkLnGYfvdAeWiMg\n"
+ + " oFbuyYQ0mnDlLH1UW6anI8RxXn+wmdyZA+/ksapGvRmkvz0Mb997WzqNl7v7UTr0SU3Ws01hFsm6\n"
+ + " lW++MsotkyfpR9mWB8/dqVNVShLmIlt7U/YFVfziYSrVdjcAdIlgJ6Ihxb92liQHOU+Qr1YDOmm1\n"
+ + " JSnhlQVvFxWZG7hm5laNL6lqXz5VV6Gk5IeLtMb8kdHz3zj4ascdldapVPLJIa5741GNNgQNU0nH\n"
+ + " FhAyKk0zN7PbL1/XGWPU+s5lai4HE6JM2CKA7jE7cYrdaDZxbba+9iWzQ4YEBDr5Z3OoloK5dvs=\n"
+ + " </value>\n"
+ "</signature>\n";
- public static final CertPath CERT_PATH_1;
- public static final CertPath CERT_PATH_2;
public static final PublicKey CERT_1_PUBLIC_KEY;
+ public static final PrivateKey CERT_1_PRIVATE_KEY;
static {
try {
- CERT_PATH_1 = decodeCertPath(CERT_PATH_1_BASE64);
- CERT_PATH_2 = decodeCertPath(CERT_PATH_2_BASE64);
- CERT_1_PUBLIC_KEY = CERT_PATH_1.getCertificates().get(0).getPublicKey();
+ CERT_1_PUBLIC_KEY =
+ SecureBox.decodePublicKey(
+ new byte[] {
+ (byte) 0x04, (byte) 0xb8, (byte) 0x00, (byte) 0x11, (byte) 0x18,
+ (byte) 0x98, (byte) 0x1d, (byte) 0xf0, (byte) 0x6e, (byte) 0xb4,
+ (byte) 0x94, (byte) 0xfe, (byte) 0x86, (byte) 0xda, (byte) 0x1c,
+ (byte) 0x07, (byte) 0x8d, (byte) 0x01, (byte) 0xb4, (byte) 0x3a,
+ (byte) 0xf6, (byte) 0x8d, (byte) 0xdc, (byte) 0x61, (byte) 0xd0,
+ (byte) 0x46, (byte) 0x49, (byte) 0x95, (byte) 0x0f, (byte) 0x10,
+ (byte) 0x86, (byte) 0x93, (byte) 0x24, (byte) 0x66, (byte) 0xe0,
+ (byte) 0x3f, (byte) 0xd2, (byte) 0xdf, (byte) 0xf3, (byte) 0x79,
+ (byte) 0x20, (byte) 0x1d, (byte) 0x91, (byte) 0x55, (byte) 0xb0,
+ (byte) 0xe5, (byte) 0xbd, (byte) 0x7a, (byte) 0x8b, (byte) 0x32,
+ (byte) 0x7d, (byte) 0x25, (byte) 0x53, (byte) 0xa2, (byte) 0xfc,
+ (byte) 0xa5, (byte) 0x65, (byte) 0xe1, (byte) 0xbd, (byte) 0x21,
+ (byte) 0x44, (byte) 0x7e, (byte) 0x78, (byte) 0x52, (byte) 0xfa
+ });
+ CERT_1_PRIVATE_KEY =
+ decodePrivateKey(
+ new byte[] {
+ (byte) 0x70, (byte) 0x01, (byte) 0xc7, (byte) 0x87, (byte) 0x32,
+ (byte) 0x2f, (byte) 0x1c, (byte) 0x9a, (byte) 0x6e, (byte) 0xb1,
+ (byte) 0x91, (byte) 0xca, (byte) 0x4e, (byte) 0xb5, (byte) 0x44,
+ (byte) 0xba, (byte) 0xc8, (byte) 0x68, (byte) 0xc6, (byte) 0x0a,
+ (byte) 0x76, (byte) 0xcb, (byte) 0xd3, (byte) 0x63, (byte) 0x67,
+ (byte) 0x7c, (byte) 0xb0, (byte) 0x11, (byte) 0x82, (byte) 0x65,
+ (byte) 0x77, (byte) 0x01
+ });
+ } catch (Exception ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+
+ public static byte[] getCertPath1Bytes() {
+ try {
+ return CertUtils.decodeBase64(CERT_PATH_1_BASE64);
+ } catch (Exception e){
+ throw new RuntimeException(e);
+ }
+ }
+
+ public static byte[] getCertPath2Bytes() {
+ try {
+ return CertUtils.decodeBase64(CERT_PATH_2_BASE64);
+ } catch (Exception e){
+ throw new RuntimeException(e);
+ }
+ }
+
+ public static final CertPath CERT_PATH_1;
+ public static final CertPath CERT_PATH_2;
+
+ static {
+ try {
+ CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
+ CERT_PATH_1 = certFactory.generateCertPath(
+ new ByteArrayInputStream(getCertPath1Bytes()), CERT_PATH_ENCODING);
+ CERT_PATH_2 = certFactory.generateCertPath(
+ new ByteArrayInputStream(getCertPath2Bytes()), CERT_PATH_ENCODING);
} catch (Exception e) {
throw new RuntimeException(e);
}
@@ -174,6 +323,13 @@
return THM_SIG_XML.getBytes(StandardCharsets.UTF_8);
}
+ private static PrivateKey decodePrivateKey(byte[] keyBytes) throws Exception {
+ assertThat(keyBytes.length).isEqualTo(32);
+ BigInteger priv = new BigInteger(/*signum=*/ 1, keyBytes);
+ KeyFactory keyFactory = KeyFactory.getInstance("EC");
+ return keyFactory.generatePrivate(new ECPrivateKeySpec(priv, SecureBox.EC_PARAM_SPEC));
+ }
+
public static SecretKey generateKey() throws Exception {
KeyGenerator keyGenerator = KeyGenerator.getInstance(KEY_ALGORITHM);
keyGenerator.init(/*keySize=*/ 256);
@@ -420,10 +576,6 @@
+ "2nxygOQKtfb0EPTvVYMErvWrA69rr+wPMSWPetvcDGEZ8hWFr3iRtduExC9sRqnV"
+ "5DhvZROQSZQtQ+Ja6g8BehUC9gPCES93EOQUYPpRQEeD1CE+1IKTyuH+ApynIKSj"
+ "5+U1x+OE3UZYTTzEck/TJxTm+Sv4FfCvpwdmDAMTjEZXfuFR+7+5Og==";
- private static final String INSECURE_PRIVATE_KEY_FOR_ENDPOINT1_BASE64 = ""
- + "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgdCqcARU7lWJVXKY/"
- + "+DTlFC0dzcTvh1ufkfZdnoZoR7ShRANCAAS3S6JtfbCyXlLSA+WZHwk0Rr2hdjJX"
- + "xGeJLnsAbVkESmoGL9wG2Qty2InpFQ9jFFJHvGR8a73RMQVqmNxwQvFh";
public static byte[] getInsecureCertXmlBytesWithEndpoint1(int serial) {
String str = INSECURE_CERT_XML_HEADER;
@@ -451,13 +603,6 @@
return decodeCertPath(INSECURE_CERT_PATH_FOR_ENDPOINT2_BASE64);
}
- public static PrivateKey getInsecurePrivateKeyForEndpoint1() throws Exception {
- byte[] keyBytes = Base64.getDecoder().decode(INSECURE_PRIVATE_KEY_FOR_ENDPOINT1_BASE64);
- KeyFactory kf = KeyFactory.getInstance("EC");
- PKCS8EncodedKeySpec skSpec = new PKCS8EncodedKeySpec(keyBytes);
- return kf.generatePrivate(skSpec);
- }
-
private static CertPath decodeCertPath(String base64CertPath) throws Exception {
byte[] certPathBytes = Base64.getDecoder().decode(base64CertPath);
CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
diff --git a/services/tests/servicestests/src/com/android/server/pm/dex/DexManagerTests.java b/services/tests/servicestests/src/com/android/server/pm/dex/DexManagerTests.java
index 36d0c8b..147347d 100644
--- a/services/tests/servicestests/src/com/android/server/pm/dex/DexManagerTests.java
+++ b/services/tests/servicestests/src/com/android/server/pm/dex/DexManagerTests.java
@@ -111,7 +111,8 @@
DELEGATE_LAST_CLASS_LOADER_NAME);
mDexManager = new DexManager(
- mPM, /*PackageDexOptimizer*/ null, mInstaller, mInstallLock, mListener);
+ /*Context*/ null, mPM, /*PackageDexOptimizer*/ null, mInstaller, mInstallLock,
+ mListener);
// Foo and Bar are available to user0.
// Only Bar is available to user1;
diff --git a/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java b/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java
index f4bb32d..bafb0a2 100644
--- a/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java
+++ b/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java
@@ -828,7 +828,12 @@
// internalClearGlobalStateLocked() cleans up the telephony and power save listeners.
private void internalClearGlobalStateLocked() {
// Unregister from call state changes.
- mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
+ long token = Binder.clearCallingIdentity();
+ try {
+ mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
+ } finally {
+ Binder.restoreCallingIdentity(token);
+ }
// Unregister from power save mode changes.
if (mPowerSaveModeListener != null) {
diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java
index a9389be..ece646c 100644
--- a/telephony/java/android/telephony/SubscriptionManager.java
+++ b/telephony/java/android/telephony/SubscriptionManager.java
@@ -1016,6 +1016,8 @@
if (iSub != null) {
// FIXME: This returns 1 on success, 0 on error should should we return it?
iSub.addSubInfoRecord(iccId, slotIndex);
+ } else {
+ logd("[addSubscriptionInfoRecord]- ISub service is null");
}
} catch (RemoteException ex) {
// ignore it
diff --git a/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestService.java b/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestService.java
index 00bf33a..b185a26 100644
--- a/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestService.java
+++ b/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestService.java
@@ -435,9 +435,10 @@
if (!file.getName().endsWith(".properties")) {
continue;
}
- try {
+
+ try (FileInputStream in = new FileInputStream(file)) {
Properties properties = new Properties();
- properties.load(new FileInputStream(file));
+ properties.load(in);
createModelInfo(properties);
loadedModel = true;
} catch (Exception e) {