From 191299c4fd3e9f467d75fc13c13933eab54b32b1 Mon Sep 17 00:00:00 2001 From: mateor Date: Fri, 12 Oct 2012 16:32:24 -0500 Subject: [PATCH] Fixes for Pdroid CM10 Hopefully --- auto_patcher | 4 +- patches/pdroid/cm10/20121010/framework.patch | 59107 ++++++------------- patches/pdroid/cm10/20121010/services.patch | 8799 ++- patches/pdroid/cm10/20121010/smali.txt | 1 + .../smali/android/app/ContextImpl$20.smali | 46 + 5 files changed, 23485 insertions(+), 44472 deletions(-) rewrite patches/pdroid/cm10/20121010/framework.patch (61%) create mode 100644 patches/pdroid/cm10/20121010/smali.txt create mode 100644 patches/pdroid/jellybean/provisionals/system/framework/framework.jar.out/smali/android/app/ContextImpl$20.smali diff --git a/auto_patcher b/auto_patcher index 2f7228c..ca9312d 100755 --- a/auto_patcher +++ b/auto_patcher @@ -661,7 +661,7 @@ else echo "### replace ${FAILS[@]} ###" > ${JAR}.log for FAIL in ${FAILS[@]}; do echo "!!! patch error for $FAIL !!!" >> "$LOG" - # cat tmp/$FILE.out/smali/${FAIL}.rej >> "$LOG" + #cat tmp/$FILE.out/smali/${FAIL}.rej >> "$LOG" [[ ${SID[@]} =~ $FAIL ]] && printerror "$FAIL was already replaced before" [ -f patches/$P/$ANDR/provisionals/${FILE}.out/smali/${FAIL} ] || printerror "failed $FAIL in $JAR cannot be remedied" copyfailed || printerror "failed $NAME.patch" @@ -791,7 +791,7 @@ else printtask "### create update.zip ###" jar -cfv tmp.zip ${IID[@]} ${JID[@]} ${AID[@]} ${CID[@]} ${TID[@]} META-INF >> "$LOG" 2>> "$LOG" java -jar signapk.jar updatecert.pem updatekey.pk8 tmp.zip update.zip 2>> "$LOG" - \rm -f tmp.zip + #\rm -f tmp.zip #echo "# miscellaneous log" >> "$LOG" diff --git a/patches/pdroid/cm10/20121010/framework.patch b/patches/pdroid/cm10/20121010/framework.patch dissimilarity index 61% index d40d1ff..cb4c37b 100644 --- a/patches/pdroid/cm10/20121010/framework.patch +++ b/patches/pdroid/cm10/20121010/framework.patch @@ -1,41901 +1,17206 @@ -diff -Npru stock-framework/smali/android/app/ContextImpl$20.smali pdroid-framework/smali/android/app/ContextImpl$20.smali ---- stock-framework/smali/android/app/ContextImpl$20.smali 2012-10-12 12:24:52.484629659 -0500 -+++ pdroid-framework/smali/android/app/ContextImpl$20.smali 2012-10-12 12:32:41.610955933 -0500 -@@ -28,19 +28,19 @@ - .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object; - .registers 5 - -- const-string v1, "location" -+ const-string v2, "location" - -- invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder; -+ invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder; - - move-result-object v0 - -- new-instance v1, Landroid/location/LocationManager; -- - invoke-static {v0}, Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager; - -- move-result-object v2 -+ move-result-object v1 -+ -+ new-instance v2, Landroid/privacy/surrogate/PrivacyLocationManager; - -- invoke-direct {v1, p1, v2}, Landroid/location/LocationManager;->(Landroid/content/Context;Landroid/location/ILocationManager;)V -+ invoke-direct {v2, v1, p1}, Landroid/privacy/surrogate/PrivacyLocationManager;->(Landroid/location/ILocationManager;Landroid/content/Context;)V - -- return-object v1 -+ return-object v2 - .end method -diff -Npru stock-framework/smali/android/app/ContextImpl$29.smali pdroid-framework/smali/android/app/ContextImpl$29.smali ---- stock-framework/smali/android/app/ContextImpl$29.smali 2012-10-12 12:24:52.496629725 -0500 -+++ pdroid-framework/smali/android/app/ContextImpl$29.smali 2012-10-12 12:32:41.614955950 -0500 -@@ -28,13 +28,13 @@ - .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object; - .registers 4 - -- new-instance v0, Landroid/telephony/TelephonyManager; -+ new-instance v0, Landroid/privacy/surrogate/PrivacyTelephonyManager; - - invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context; - - move-result-object v1 - -- invoke-direct {v0, v1}, Landroid/telephony/TelephonyManager;->(Landroid/content/Context;)V -+ invoke-direct {v0, v1}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->(Landroid/content/Context;)V - - return-object v0 - .end method -diff -Npru stock-framework/smali/android/app/ContextImpl$3.smali pdroid-framework/smali/android/app/ContextImpl$3.smali ---- stock-framework/smali/android/app/ContextImpl$3.smali 2012-10-12 12:24:52.520629839 -0500 -+++ pdroid-framework/smali/android/app/ContextImpl$3.smali 2012-10-12 12:32:41.630956032 -0500 -@@ -38,9 +38,9 @@ - - move-result-object v1 - -- new-instance v2, Landroid/accounts/AccountManager; -+ new-instance v2, Landroid/privacy/surrogate/PrivacyAccountManager; - -- invoke-direct {v2, p1, v1}, Landroid/accounts/AccountManager;->(Landroid/content/Context;Landroid/accounts/IAccountManager;)V -+ invoke-direct {v2, p1, v1}, Landroid/privacy/surrogate/PrivacyAccountManager;->(Landroid/content/Context;Landroid/accounts/IAccountManager;)V - - return-object v2 - .end method -diff -Npru stock-framework/smali/android/app/ContextImpl$40.smali pdroid-framework/smali/android/app/ContextImpl$40.smali ---- stock-framework/smali/android/app/ContextImpl$40.smali 1969-12-31 18:00:00.000000000 -0600 -+++ pdroid-framework/smali/android/app/ContextImpl$40.smali 2012-10-12 12:32:41.630956032 -0500 -@@ -0,0 +1,50 @@ -+.class final Landroid/app/ContextImpl$40; -+.super Landroid/app/ContextImpl$StaticServiceFetcher; -+.source "ContextImpl.java" -+ -+ -+# annotations -+.annotation system Ldalvik/annotation/EnclosingClass; -+ value = Landroid/app/ContextImpl; -+.end annotation -+ -+.annotation system Ldalvik/annotation/InnerClass; -+ accessFlags = 0x8 -+ name = null -+.end annotation -+ -+ -+# direct methods -+.method constructor ()V -+ .registers 1 -+ -+ invoke-direct {p0}, Landroid/app/ContextImpl$StaticServiceFetcher;->()V -+ -+ return-void -+.end method -+ -+ -+# virtual methods -+.method public createStaticService()Ljava/lang/Object; -+ .registers 5 -+ -+ const-string/jumbo v2, "privacy" -+ -+ invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder; -+ -+ move-result-object v0 -+ -+ invoke-static {v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager; -+ -+ move-result-object v1 -+ -+ new-instance v2, Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context; -+ -+ move-result-object v3 -+ -+ invoke-direct {v2, v3, v1}, Landroid/privacy/PrivacySettingsManager;->(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V -+ -+ return-object v2 -+.end method -diff -Npru stock-framework/smali/android/app/ContextImpl.smali pdroid-framework/smali/android/app/ContextImpl.smali ---- stock-framework/smali/android/app/ContextImpl.smali 2012-10-12 12:24:52.592630201 -0500 -+++ pdroid-framework/smali/android/app/ContextImpl.smali 2012-10-12 12:32:41.694956351 -0500 -@@ -36,6 +36,8 @@ - - .field private static sNextPerContextServiceCacheIndex:I - -+.field private static sOuterContext:Landroid/content/Context; -+ - .field private static final sSharedPrefs:Ljava/util/HashMap; - .annotation system Ldalvik/annotation/Signature; - value = { -@@ -442,6 +444,14 @@ - - invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V - -+ const-string/jumbo v0, "privacy" -+ -+ new-instance v1, Landroid/app/ContextImpl$40; -+ -+ invoke-direct {v1}, Landroid/app/ContextImpl$40;->()V -+ -+ invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V -+ - return-void - .end method - -@@ -476,6 +486,8 @@ - - iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context; - -+ sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context; -+ - return-void - .end method - -@@ -530,6 +542,8 @@ - - iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context; - -+ sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context; -+ - return-void - .end method - -@@ -999,6 +1013,14 @@ - throw v0 - .end method - -+.method static final getStaticOuterContext()Landroid/content/Context; -+ .registers 1 -+ -+ sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context; -+ -+ return-object v0 -+.end method -+ - .method private getWallpaperManager()Landroid/app/WallpaperManager; - .registers 2 - -@@ -4272,6 +4294,8 @@ - - iput-object p1, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context; - -+ sput-object p1, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context; -+ - return-void - .end method - -diff -Npru stock-framework/smali/android/content/ContentResolver.smali pdroid-framework/smali/android/content/ContentResolver.smali ---- stock-framework/smali/android/content/ContentResolver.smali 2012-10-12 12:24:52.560630036 -0500 -+++ pdroid-framework/smali/android/content/ContentResolver.smali 2012-10-12 12:32:41.662956192 -0500 -@@ -3506,8 +3506,8 @@ - - invoke-virtual {v0, v9}, Landroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V - :try_end_1d -- .catchall {:try_start_a .. :try_end_1d} :catchall_a8 -- .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_9b -+ .catchall {:try_start_a .. :try_end_1d} :catchall_b6 -+ .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_a9 - - :cond_1d - move-object/from16 v4, p1 -@@ -3523,64 +3523,82 @@ - :try_start_27 - invoke-interface/range {v3 .. v9}, Landroid/content/IContentProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/ICancellationSignal;)Landroid/database/Cursor; - :try_end_2a -- .catchall {:try_start_27 .. :try_end_2a} :catchall_a8 -- .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_3e -- .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_9b -+ .catchall {:try_start_27 .. :try_end_2a} :catchall_b6 -+ .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_4c -+ .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_a9 - - move-result-object v19 - - :goto_2b -- if-nez v19, :cond_67 -+ :try_start_2b -+ move-object/from16 v0, p0 -+ -+ iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context; -+ -+ move-object/from16 v0, p1 -+ -+ move-object/from16 v1, p2 -+ -+ move-object/from16 v2, v19 -+ -+ invoke-static {v0, v1, v4, v2}, Landroid/privacy/surrogate/PrivacyContentResolver;->enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor; -+ :try_end_38 -+ .catchall {:try_start_2b .. :try_end_38} :catchall_b6 -+ .catch Landroid/os/RemoteException; {:try_start_2b .. :try_end_38} :catch_a9 -+ -+ move-result-object v19 -+ -+ if-nez v19, :cond_75 - - const/16 v22, 0x0 - -- if-eqz v3, :cond_36 -+ if-eqz v3, :cond_44 - - move-object/from16 v0, p0 - - invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z - -- :cond_36 -+ :cond_44 - if-eqz v10, :cond_8 - -- :goto_38 -+ :goto_46 - move-object/from16 v0, p0 - - invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z - - goto :goto_8 - -- :catch_3e -+ :catch_4c - move-exception v18 - -- :try_start_3f -+ :try_start_4d - move-object/from16 v0, p0 - - invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V - - invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider; -- :try_end_47 -- .catchall {:try_start_3f .. :try_end_47} :catchall_a8 -- .catch Landroid/os/RemoteException; {:try_start_3f .. :try_end_47} :catch_9b -+ :try_end_55 -+ .catchall {:try_start_4d .. :try_end_55} :catchall_b6 -+ .catch Landroid/os/RemoteException; {:try_start_4d .. :try_end_55} :catch_a9 - - move-result-object v10 - -- if-nez v10, :cond_56 -+ if-nez v10, :cond_64 - - const/16 v22, 0x0 - -- if-eqz v3, :cond_53 -+ if-eqz v3, :cond_61 - - move-object/from16 v0, p0 - - invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z - -- :cond_53 -+ :cond_61 - if-eqz v10, :cond_8 - -- goto :goto_38 -+ goto :goto_46 - -- :cond_56 -+ :cond_64 - move-object/from16 v11, p1 - - move-object/from16 v12, p2 -@@ -3593,14 +3611,14 @@ - - move-object/from16 v16, v9 - -- :try_start_62 -+ :try_start_70 - invoke-interface/range {v10 .. v16}, Landroid/content/IContentProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/ICancellationSignal;)Landroid/database/Cursor; - - move-result-object v19 - - goto :goto_2b - -- :cond_67 -+ :cond_75 - invoke-interface/range {v19 .. v19}, Landroid/database/Cursor;->getCount()I - - invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J -@@ -3623,11 +3641,11 @@ - - new-instance v22, Landroid/content/ContentResolver$CursorWrapperInner; - -- if-eqz v10, :cond_96 -+ if-eqz v10, :cond_a4 - - move-object v4, v10 - -- :goto_82 -+ :goto_90 - move-object/from16 v0, v22 - - move-object/from16 v1, p0 -@@ -3635,67 +3653,67 @@ - move-object/from16 v2, v19 - - invoke-direct {v0, v1, v2, v4}, Landroid/content/ContentResolver$CursorWrapperInner;->(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V -- :try_end_8b -- .catchall {:try_start_62 .. :try_end_8b} :catchall_a8 -- .catch Landroid/os/RemoteException; {:try_start_62 .. :try_end_8b} :catch_9b -+ :try_end_99 -+ .catchall {:try_start_70 .. :try_end_99} :catchall_b6 -+ .catch Landroid/os/RemoteException; {:try_start_70 .. :try_end_99} :catch_a9 - - const/4 v10, 0x0 - -- if-eqz v3, :cond_93 -+ if-eqz v3, :cond_a1 - - move-object/from16 v0, p0 - - invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z - -- :cond_93 -+ :cond_a1 - if-eqz v10, :cond_8 - -- goto :goto_38 -+ goto :goto_46 - -- :cond_96 -- :try_start_96 -+ :cond_a4 -+ :try_start_a4 - invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider; -- :try_end_99 -- .catchall {:try_start_96 .. :try_end_99} :catchall_a8 -- .catch Landroid/os/RemoteException; {:try_start_96 .. :try_end_99} :catch_9b -+ :try_end_a7 -+ .catchall {:try_start_a4 .. :try_end_a7} :catchall_b6 -+ .catch Landroid/os/RemoteException; {:try_start_a4 .. :try_end_a7} :catch_a9 - - move-result-object v4 - -- goto :goto_82 -+ goto :goto_90 - -- :catch_9b -+ :catch_a9 - move-exception v18 - - const/16 v22, 0x0 - -- if-eqz v3, :cond_a5 -+ if-eqz v3, :cond_b3 - - move-object/from16 v0, p0 - - invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z - -- :cond_a5 -+ :cond_b3 - if-eqz v10, :cond_8 - -- goto :goto_38 -+ goto :goto_46 - -- :catchall_a8 -+ :catchall_b6 - move-exception v4 - -- if-eqz v3, :cond_b0 -+ if-eqz v3, :cond_be - - move-object/from16 v0, p0 - - invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z - -- :cond_b0 -- if-eqz v10, :cond_b7 -+ :cond_be -+ if-eqz v10, :cond_c5 - - move-object/from16 v0, p0 - - invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z - -- :cond_b7 -+ :cond_c5 - throw v4 - .end method - -diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali ---- stock-framework/smali/android/privacy/IPrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600 -+++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali 2012-10-12 12:32:44.242968987 -0500 -@@ -0,0 +1,104 @@ -+.class public interface abstract Landroid/privacy/IPrivacySettingsManager; -+.super Ljava/lang/Object; -+.source "IPrivacySettingsManager.java" -+ -+# interfaces -+.implements Landroid/os/IInterface; -+ -+ -+# annotations -+.annotation system Ldalvik/annotation/MemberClasses; -+ value = { -+ Landroid/privacy/IPrivacySettingsManager$Stub; -+ } -+.end annotation -+ -+ -+# virtual methods -+.method public abstract addObserver(Ljava/lang/String;)V -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+.end method -+ -+.method public abstract deleteSettings(Ljava/lang/String;)Z -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+.end method -+ -+.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings; -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+.end method -+ -+.method public abstract getVersion()D -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+.end method -+ -+.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+.end method -+ -+.method public abstract purgeSettings()Z -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+.end method -+ -+.method public abstract registerObservers()V -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+.end method -+ -+.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+.end method -+ -+.method public abstract setBootCompleted()V -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+.end method -+ -+.method public abstract setEnabled(Z)Z -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+.end method -+ -+.method public abstract setNotificationsEnabled(Z)Z -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+.end method -diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali ---- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 1969-12-31 18:00:00.000000000 -0600 -+++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 2012-10-12 12:32:44.242968987 -0500 -@@ -0,0 +1,743 @@ -+.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy; -+.super Ljava/lang/Object; -+.source "IPrivacySettingsManager.java" -+ -+# interfaces -+.implements Landroid/privacy/IPrivacySettingsManager; -+ -+ -+# annotations -+.annotation system Ldalvik/annotation/EnclosingClass; -+ value = Landroid/privacy/IPrivacySettingsManager$Stub; -+.end annotation -+ -+.annotation system Ldalvik/annotation/InnerClass; -+ accessFlags = 0xa -+ name = "Proxy" -+.end annotation -+ -+ -+# instance fields -+.field private mRemote:Landroid/os/IBinder; -+ -+ -+# direct methods -+.method constructor (Landroid/os/IBinder;)V -+ .registers 2 -+ -+ invoke-direct {p0}, Ljava/lang/Object;->()V -+ -+ iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; -+ -+ return-void -+.end method -+ -+ -+# virtual methods -+.method public addObserver(Ljava/lang/String;)V -+ .registers 7 -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+ -+ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; -+ -+ move-result-object v0 -+ -+ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; -+ -+ move-result-object v1 -+ -+ :try_start_8 -+ const-string v2, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V -+ -+ invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -+ -+ iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; -+ -+ const/4 v3, 0x6 -+ -+ const/4 v4, 0x0 -+ -+ invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->readException()V -+ :try_end_1a -+ .catchall {:try_start_8 .. :try_end_1a} :catchall_21 -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V -+ -+ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V -+ -+ return-void -+ -+ :catchall_21 -+ move-exception v2 -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V -+ -+ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V -+ -+ throw v2 -+.end method -+ -+.method public asBinder()Landroid/os/IBinder; -+ .registers 2 -+ -+ iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; -+ -+ return-object v0 -+.end method -+ -+.method public deleteSettings(Ljava/lang/String;)Z -+ .registers 8 -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+ -+ const/4 v2, 0x0 -+ -+ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; -+ -+ move-result-object v0 -+ -+ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; -+ -+ move-result-object v1 -+ -+ :try_start_9 -+ const-string v3, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V -+ -+ invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -+ -+ iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; -+ -+ const/4 v4, 0x3 -+ -+ const/4 v5, 0x0 -+ -+ invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->readException()V -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I -+ :try_end_1e -+ .catchall {:try_start_9 .. :try_end_1e} :catchall_29 -+ -+ move-result v3 -+ -+ if-eqz v3, :cond_22 -+ -+ const/4 v2, 0x1 -+ -+ :cond_22 -+ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V -+ -+ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V -+ -+ return v2 -+ -+ :catchall_29 -+ move-exception v3 -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V -+ -+ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V -+ -+ throw v3 -+.end method -+ -+.method public getInterfaceDescriptor()Ljava/lang/String; -+ .registers 2 -+ -+ const-string v0, "android.privacy.IPrivacySettingsManager" -+ -+ return-object v0 -+.end method -+ -+.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings; -+ .registers 8 -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+ -+ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; -+ -+ move-result-object v0 -+ -+ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; -+ -+ move-result-object v1 -+ -+ :try_start_8 -+ const-string v3, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V -+ -+ invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -+ -+ iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; -+ -+ const/4 v4, 0x1 -+ -+ const/4 v5, 0x0 -+ -+ invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->readException()V -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I -+ -+ move-result v3 -+ -+ if-eqz v3, :cond_2f -+ -+ sget-object v3, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator; -+ -+ invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -+ -+ move-result-object v2 -+ -+ check-cast v2, Landroid/privacy/PrivacySettings; -+ :try_end_28 -+ .catchall {:try_start_8 .. :try_end_28} :catchall_31 -+ -+ :goto_28 -+ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V -+ -+ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V -+ -+ return-object v2 -+ -+ :cond_2f -+ const/4 v2, 0x0 -+ -+ goto :goto_28 -+ -+ :catchall_31 -+ move-exception v3 -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V -+ -+ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V -+ -+ throw v3 -+.end method -+ -+.method public getVersion()D -+ .registers 8 -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+ -+ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; -+ -+ move-result-object v0 -+ -+ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; -+ -+ move-result-object v1 -+ -+ :try_start_8 -+ const-string v4, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V -+ -+ iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; -+ -+ const/16 v5, 0x8 -+ -+ const/4 v6, 0x0 -+ -+ invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->readException()V -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->readDouble()D -+ :try_end_1b -+ .catchall {:try_start_8 .. :try_end_1b} :catchall_23 -+ -+ move-result-wide v2 -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V -+ -+ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V -+ -+ return-wide v2 -+ -+ :catchall_23 -+ move-exception v4 -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V -+ -+ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V -+ -+ throw v4 -+.end method -+ -+.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V -+ .registers 10 -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+ -+ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; -+ -+ move-result-object v0 -+ -+ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; -+ -+ move-result-object v1 -+ -+ :try_start_8 -+ const-string v2, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V -+ -+ invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -+ -+ invoke-virtual {v0, p2}, Landroid/os/Parcel;->writeByte(B)V -+ -+ invoke-virtual {v0, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -+ -+ invoke-virtual {v0, p4}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -+ -+ iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; -+ -+ const/4 v3, 0x4 -+ -+ const/4 v4, 0x0 -+ -+ invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->readException()V -+ :try_end_23 -+ .catchall {:try_start_8 .. :try_end_23} :catchall_2a -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V -+ -+ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V -+ -+ return-void -+ -+ :catchall_2a -+ move-exception v2 -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V -+ -+ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V -+ -+ throw v2 -+.end method -+ -+.method public purgeSettings()Z -+ .registers 7 -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+ -+ const/4 v2, 0x0 -+ -+ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; -+ -+ move-result-object v0 -+ -+ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; -+ -+ move-result-object v1 -+ -+ :try_start_9 -+ const-string v3, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V -+ -+ iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; -+ -+ const/4 v4, 0x7 -+ -+ const/4 v5, 0x0 -+ -+ invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->readException()V -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I -+ :try_end_1b -+ .catchall {:try_start_9 .. :try_end_1b} :catchall_26 -+ -+ move-result v3 -+ -+ if-eqz v3, :cond_1f -+ -+ const/4 v2, 0x1 -+ -+ :cond_1f -+ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V -+ -+ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V -+ -+ return v2 -+ -+ :catchall_26 -+ move-exception v3 -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V -+ -+ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V -+ -+ throw v3 -+.end method -+ -+.method public registerObservers()V -+ .registers 6 -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+ -+ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; -+ -+ move-result-object v0 -+ -+ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; -+ -+ move-result-object v1 -+ -+ :try_start_8 -+ const-string v2, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V -+ -+ iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; -+ -+ const/4 v3, 0x5 -+ -+ const/4 v4, 0x0 -+ -+ invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->readException()V -+ :try_end_17 -+ .catchall {:try_start_8 .. :try_end_17} :catchall_1e -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V -+ -+ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V -+ -+ return-void -+ -+ :catchall_1e -+ move-exception v2 -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V -+ -+ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V -+ -+ throw v2 -+.end method -+ -+.method public saveSettings(Landroid/privacy/PrivacySettings;)Z -+ .registers 9 -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+ -+ const/4 v2, 0x1 -+ -+ const/4 v3, 0x0 -+ -+ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; -+ -+ move-result-object v0 -+ -+ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; -+ -+ move-result-object v1 -+ -+ :try_start_a -+ const-string v4, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V -+ -+ if-eqz p1, :cond_30 -+ -+ const/4 v4, 0x1 -+ -+ invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V -+ -+ const/4 v4, 0x0 -+ -+ invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V -+ -+ :goto_19 -+ iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; -+ -+ const/4 v5, 0x2 -+ -+ const/4 v6, 0x0 -+ -+ invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->readException()V -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I -+ :try_end_26 -+ .catchall {:try_start_a .. :try_end_26} :catchall_35 -+ -+ move-result v4 -+ -+ if-eqz v4, :cond_3d -+ -+ :goto_29 -+ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V -+ -+ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V -+ -+ return v2 -+ -+ :cond_30 -+ const/4 v4, 0x0 -+ -+ :try_start_31 -+ invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V -+ :try_end_34 -+ .catchall {:try_start_31 .. :try_end_34} :catchall_35 -+ -+ goto :goto_19 -+ -+ :catchall_35 -+ move-exception v3 -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V -+ -+ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V -+ -+ throw v3 -+ -+ :cond_3d -+ move v2, v3 -+ -+ goto :goto_29 -+.end method -+ -+.method public setBootCompleted()V -+ .registers 6 -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+ -+ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; -+ -+ move-result-object v0 -+ -+ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; -+ -+ move-result-object v1 -+ -+ :try_start_8 -+ const-string v2, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V -+ -+ iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; -+ -+ const/16 v3, 0xb -+ -+ const/4 v4, 0x0 -+ -+ invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->readException()V -+ :try_end_18 -+ .catchall {:try_start_8 .. :try_end_18} :catchall_1f -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V -+ -+ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V -+ -+ return-void -+ -+ :catchall_1f -+ move-exception v2 -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V -+ -+ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V -+ -+ throw v2 -+.end method -+ -+.method public setEnabled(Z)Z -+ .registers 9 -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+ -+ const/4 v2, 0x1 -+ -+ const/4 v3, 0x0 -+ -+ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; -+ -+ move-result-object v0 -+ -+ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; -+ -+ move-result-object v1 -+ -+ :try_start_a -+ const-string v4, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V -+ -+ if-eqz p1, :cond_2d -+ -+ move v4, v2 -+ -+ :goto_12 -+ invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V -+ -+ iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; -+ -+ const/16 v5, 0x9 -+ -+ const/4 v6, 0x0 -+ -+ invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->readException()V -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I -+ :try_end_23 -+ .catchall {:try_start_a .. :try_end_23} :catchall_31 -+ -+ move-result v4 -+ -+ if-eqz v4, :cond_2f -+ -+ :goto_26 -+ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V -+ -+ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V -+ -+ return v2 -+ -+ :cond_2d -+ move v4, v3 -+ -+ goto :goto_12 -+ -+ :cond_2f -+ move v2, v3 -+ -+ goto :goto_26 -+ -+ :catchall_31 -+ move-exception v3 -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V -+ -+ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V -+ -+ throw v3 -+.end method -+ -+.method public setNotificationsEnabled(Z)Z -+ .registers 9 -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+ -+ const/4 v2, 0x1 -+ -+ const/4 v3, 0x0 -+ -+ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; -+ -+ move-result-object v0 -+ -+ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; -+ -+ move-result-object v1 -+ -+ :try_start_a -+ const-string v4, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V -+ -+ if-eqz p1, :cond_2d -+ -+ move v4, v2 -+ -+ :goto_12 -+ invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V -+ -+ iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; -+ -+ const/16 v5, 0xa -+ -+ const/4 v6, 0x0 -+ -+ invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->readException()V -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I -+ :try_end_23 -+ .catchall {:try_start_a .. :try_end_23} :catchall_31 -+ -+ move-result v4 -+ -+ if-eqz v4, :cond_2f -+ -+ :goto_26 -+ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V -+ -+ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V -+ -+ return v2 -+ -+ :cond_2d -+ move v4, v3 -+ -+ goto :goto_12 -+ -+ :cond_2f -+ move v2, v3 -+ -+ goto :goto_26 -+ -+ :catchall_31 -+ move-exception v3 -+ -+ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V -+ -+ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V -+ -+ throw v3 -+.end method -diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali ---- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 1969-12-31 18:00:00.000000000 -0600 -+++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 2012-10-12 12:32:44.242968987 -0500 -@@ -0,0 +1,412 @@ -+.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub; -+.super Landroid/os/Binder; -+.source "IPrivacySettingsManager.java" -+ -+# interfaces -+.implements Landroid/privacy/IPrivacySettingsManager; -+ -+ -+# annotations -+.annotation system Ldalvik/annotation/EnclosingClass; -+ value = Landroid/privacy/IPrivacySettingsManager; -+.end annotation -+ -+.annotation system Ldalvik/annotation/InnerClass; -+ accessFlags = 0x409 -+ name = "Stub" -+.end annotation -+ -+.annotation system Ldalvik/annotation/MemberClasses; -+ value = { -+ Landroid/privacy/IPrivacySettingsManager$Stub$Proxy; -+ } -+.end annotation -+ -+ -+# static fields -+.field private static final DESCRIPTOR:Ljava/lang/String; = "android.privacy.IPrivacySettingsManager" -+ -+.field static final TRANSACTION_addObserver:I = 0x6 -+ -+.field static final TRANSACTION_deleteSettings:I = 0x3 -+ -+.field static final TRANSACTION_getSettings:I = 0x1 -+ -+.field static final TRANSACTION_getVersion:I = 0x8 -+ -+.field static final TRANSACTION_notification:I = 0x4 -+ -+.field static final TRANSACTION_purgeSettings:I = 0x7 -+ -+.field static final TRANSACTION_registerObservers:I = 0x5 -+ -+.field static final TRANSACTION_saveSettings:I = 0x2 -+ -+.field static final TRANSACTION_setBootCompleted:I = 0xb -+ -+.field static final TRANSACTION_setEnabled:I = 0x9 -+ -+.field static final TRANSACTION_setNotificationsEnabled:I = 0xa -+ -+ -+# direct methods -+.method public constructor ()V -+ .registers 2 -+ -+ invoke-direct {p0}, Landroid/os/Binder;->()V -+ -+ const-string v0, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {p0, p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V -+ -+ return-void -+.end method -+ -+.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager; -+ .registers 3 -+ -+ if-nez p0, :cond_4 -+ -+ const/4 v0, 0x0 -+ -+ :goto_3 -+ return-object v0 -+ -+ :cond_4 -+ const-string v1, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-interface {p0, v1}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface; -+ -+ move-result-object v0 -+ -+ if-eqz v0, :cond_13 -+ -+ instance-of v1, v0, Landroid/privacy/IPrivacySettingsManager; -+ -+ if-eqz v1, :cond_13 -+ -+ check-cast v0, Landroid/privacy/IPrivacySettingsManager; -+ -+ goto :goto_3 -+ -+ :cond_13 -+ new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy; -+ -+ invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->(Landroid/os/IBinder;)V -+ -+ goto :goto_3 -+.end method -+ -+ -+# virtual methods -+.method public asBinder()Landroid/os/IBinder; -+ .registers 1 -+ -+ return-object p0 -+.end method -+ -+.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z -+ .registers 14 -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+ -+ const/4 v6, 0x0 -+ -+ const/4 v7, 0x1 -+ -+ sparse-switch p1, :sswitch_data_10e -+ -+ invoke-super {p0, p1, p2, p3, p4}, Landroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z -+ -+ move-result v7 -+ -+ :goto_9 -+ return v7 -+ -+ :sswitch_a -+ const-string v6, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -+ -+ goto :goto_9 -+ -+ :sswitch_10 -+ const-string v8, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V -+ -+ invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v4 -+ -+ invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V -+ -+ if-eqz v4, :cond_29 -+ -+ invoke-virtual {p3, v7}, Landroid/os/Parcel;->writeInt(I)V -+ -+ invoke-virtual {v4, p3, v7}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V -+ -+ goto :goto_9 -+ -+ :cond_29 -+ invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V -+ -+ goto :goto_9 -+ -+ :sswitch_2d -+ const-string v8, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V -+ -+ invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I -+ -+ move-result v8 -+ -+ if-eqz v8, :cond_4e -+ -+ sget-object v8, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator; -+ -+ invoke-interface {v8, p2}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -+ -+ move-result-object v0 -+ -+ check-cast v0, Landroid/privacy/PrivacySettings; -+ -+ :goto_40 -+ invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z -+ -+ move-result v4 -+ -+ invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V -+ -+ if-eqz v4, :cond_4a -+ -+ move v6, v7 -+ -+ :cond_4a -+ invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V -+ -+ goto :goto_9 -+ -+ :cond_4e -+ const/4 v0, 0x0 -+ -+ goto :goto_40 -+ -+ :sswitch_50 -+ const-string v8, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V -+ -+ invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->deleteSettings(Ljava/lang/String;)Z -+ -+ move-result v4 -+ -+ invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V -+ -+ if-eqz v4, :cond_63 -+ -+ move v6, v7 -+ -+ :cond_63 -+ invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V -+ -+ goto :goto_9 -+ -+ :sswitch_67 -+ const-string v6, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V -+ -+ invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ invoke-virtual {p2}, Landroid/os/Parcel;->readByte()B -+ -+ move-result v1 -+ -+ invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String; -+ -+ move-result-object v2 -+ -+ invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String; -+ -+ move-result-object v3 -+ -+ invoke-virtual {p0, v0, v1, v2, v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V -+ -+ invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V -+ -+ goto :goto_9 -+ -+ :sswitch_83 -+ const-string v6, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V -+ -+ invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->registerObservers()V -+ -+ invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V -+ -+ goto/16 :goto_9 -+ -+ :sswitch_90 -+ const-string v6, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V -+ -+ invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->addObserver(Ljava/lang/String;)V -+ -+ invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V -+ -+ goto/16 :goto_9 -+ -+ :sswitch_a1 -+ const-string v8, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V -+ -+ invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->purgeSettings()Z -+ -+ move-result v4 -+ -+ invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V -+ -+ if-eqz v4, :cond_b0 -+ -+ move v6, v7 -+ -+ :cond_b0 -+ invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V -+ -+ goto/16 :goto_9 -+ -+ :sswitch_b5 -+ const-string v6, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V -+ -+ invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getVersion()D -+ -+ move-result-wide v4 -+ -+ invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V -+ -+ invoke-virtual {p3, v4, v5}, Landroid/os/Parcel;->writeDouble(D)V -+ -+ goto/16 :goto_9 -+ -+ :sswitch_c6 -+ const-string v8, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V -+ -+ invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I -+ -+ move-result v8 -+ -+ if-eqz v8, :cond_e1 -+ -+ move v0, v7 -+ -+ :goto_d2 -+ invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z -+ -+ move-result v4 -+ -+ invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V -+ -+ if-eqz v4, :cond_dc -+ -+ move v6, v7 -+ -+ :cond_dc -+ invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V -+ -+ goto/16 :goto_9 -+ -+ :cond_e1 -+ move v0, v6 -+ -+ goto :goto_d2 -+ -+ :sswitch_e3 -+ const-string v8, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V -+ -+ invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I -+ -+ move-result v8 -+ -+ if-eqz v8, :cond_fe -+ -+ move v0, v7 -+ -+ :goto_ef -+ invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z -+ -+ move-result v4 -+ -+ invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V -+ -+ if-eqz v4, :cond_f9 -+ -+ move v6, v7 -+ -+ :cond_f9 -+ invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V -+ -+ goto/16 :goto_9 -+ -+ :cond_fe -+ move v0, v6 -+ -+ goto :goto_ef -+ -+ :sswitch_100 -+ const-string v6, "android.privacy.IPrivacySettingsManager" -+ -+ invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V -+ -+ invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setBootCompleted()V -+ -+ invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V -+ -+ goto/16 :goto_9 -+ -+ nop -+ -+ :sswitch_data_10e -+ .sparse-switch -+ 0x1 -> :sswitch_10 -+ 0x2 -> :sswitch_2d -+ 0x3 -> :sswitch_50 -+ 0x4 -> :sswitch_67 -+ 0x5 -> :sswitch_83 -+ 0x6 -> :sswitch_90 -+ 0x7 -> :sswitch_a1 -+ 0x8 -> :sswitch_b5 -+ 0x9 -> :sswitch_c6 -+ 0xa -> :sswitch_e3 -+ 0xb -> :sswitch_100 -+ 0x5f4e5446 -> :sswitch_a -+ .end sparse-switch -+.end method -diff -Npru stock-framework/smali/android/privacy/PrivacyFileObserver.smali pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali ---- stock-framework/smali/android/privacy/PrivacyFileObserver.smali 1969-12-31 18:00:00.000000000 -0600 -+++ pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali 2012-10-12 12:32:44.242968987 -0500 -@@ -0,0 +1,217 @@ -+.class public Landroid/privacy/PrivacyFileObserver; -+.super Landroid/os/FileObserver; -+.source "PrivacyFileObserver.java" -+ -+ -+# static fields -+.field public static final PACKAGE_PATH_INDEX:I = 0x3 -+ -+.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver" -+ -+ -+# instance fields -+.field public absolutePath:Ljava/lang/String; -+ -+.field public children:Ljava/util/HashMap; -+ .annotation system Ldalvik/annotation/Signature; -+ value = { -+ "Ljava/util/HashMap", -+ "<", -+ "Ljava/lang/String;", -+ "Landroid/privacy/PrivacyFileObserver;", -+ ">;" -+ } -+ .end annotation -+.end field -+ -+.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService; -+ -+ -+# direct methods -+.method public constructor (Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V -+ .registers 12 -+ -+ const/16 v8, 0xfff -+ -+ invoke-direct {p0, p1, v8}, Landroid/os/FileObserver;->(Ljava/lang/String;I)V -+ -+ iput-object p1, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String; -+ -+ iput-object p2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService; -+ -+ new-instance v8, Ljava/util/HashMap; -+ -+ invoke-direct {v8}, Ljava/util/HashMap;->()V -+ -+ iput-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap; -+ -+ new-instance v7, Ljava/io/File; -+ -+ iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String; -+ -+ invoke-direct {v7, v8}, Ljava/io/File;->(Ljava/lang/String;)V -+ -+ invoke-virtual {v7}, Ljava/io/File;->isDirectory()Z -+ -+ move-result v8 -+ -+ if-eqz v8, :cond_42 -+ -+ invoke-virtual {v7}, Ljava/io/File;->listFiles()[Ljava/io/File; -+ -+ move-result-object v6 -+ -+ move-object v0, v6 -+ -+ array-length v4, v0 -+ -+ const/4 v3, 0x0 -+ -+ :goto_24 -+ if-ge v3, v4, :cond_42 -+ -+ aget-object v2, v0, v3 -+ -+ invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ new-instance v1, Landroid/privacy/PrivacyFileObserver; -+ -+ invoke-direct {v1, v5, p2}, Landroid/privacy/PrivacyFileObserver;->(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V -+ -+ iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap; -+ -+ invoke-virtual {v8, v5, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -+ -+ invoke-virtual {v2}, Ljava/io/File;->isFile()Z -+ -+ move-result v8 -+ -+ if-eqz v8, :cond_3f -+ -+ invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V -+ -+ :cond_3f -+ add-int/lit8 v3, v3, 0x1 -+ -+ goto :goto_24 -+ -+ :cond_42 -+ return-void -+.end method -+ -+ -+# virtual methods -+.method public addObserver(Ljava/lang/String;)V -+ .registers 6 -+ -+ new-instance v2, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V -+ -+ iget-object v3, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String; -+ -+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ const-string v3, "/" -+ -+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap; -+ -+ invoke-virtual {v2, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; -+ -+ new-instance v0, Landroid/privacy/PrivacyFileObserver; -+ -+ iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService; -+ -+ invoke-direct {v0, v1, v2}, Landroid/privacy/PrivacyFileObserver;->(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V -+ -+ iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap; -+ -+ invoke-virtual {v2, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -+ -+ return-void -+.end method -+ -+.method public onEvent(ILjava/lang/String;)V -+ .registers 11 -+ -+ and-int/lit8 v4, p1, 0x1 -+ -+ if-eqz v4, :cond_34 -+ -+ new-instance v3, Ljava/util/StringTokenizer; -+ -+ iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String; -+ -+ const-string v5, "/" -+ -+ invoke-direct {v3, v4, v5}, Ljava/util/StringTokenizer;->(Ljava/lang/String;Ljava/lang/String;)V -+ -+ const/4 v0, 0x0 -+ -+ :goto_e -+ const/4 v4, 0x3 -+ -+ if-ge v0, v4, :cond_1d -+ -+ invoke-virtual {v3}, Ljava/util/StringTokenizer;->hasMoreElements()Z -+ -+ move-result v4 -+ -+ if-eqz v4, :cond_1d -+ -+ invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String; -+ -+ add-int/lit8 v0, v0, 0x1 -+ -+ goto :goto_e -+ -+ :cond_1d -+ invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String; -+ -+ move-result-object v2 -+ -+ iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService; -+ -+ invoke-virtual {v4, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v1 -+ -+ iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService; -+ -+ invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B -+ -+ move-result v5 -+ -+ const-string/jumbo v6, "systemLogs" -+ -+ const/4 v7, 0x0 -+ -+ invoke-virtual {v4, v2, v5, v6, v7}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V -+ -+ :cond_34 -+ return-void -+.end method -+ -+.method public startWatching()V -+ .registers 1 -+ -+ invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V -+ -+ return-void -+.end method -diff -Npru stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali ---- stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 1969-12-31 18:00:00.000000000 -0600 -+++ pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 2012-10-12 12:32:44.250969025 -0500 -@@ -0,0 +1,4631 @@ -+.class public Landroid/privacy/PrivacyPersistenceAdapter; -+.super Ljava/lang/Object; -+.source "PrivacyPersistenceAdapter.java" -+ -+ -+# static fields -+.field private static final CREATE_TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );" -+ -+.field private static final CREATE_TABLE_MAP:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );" -+ -+.field private static final CREATE_TABLE_SETTINGS:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS settings ( _id INTEGER PRIMARY KEY AUTOINCREMENT, packageName TEXT, uid INTEGER, deviceIdSetting INTEGER, deviceId TEXT, line1NumberSetting INTEGER, line1Number TEXT, locationGpsSetting INTEGER, locationGpsLat TEXT, locationGpsLon TEXT, locationNetworkSetting INTEGER, locationNetworkLat TEXT, locationNetworkLon TEXT, networkInfoSetting INTEGER, simInfoSetting INTEGER, simSerialNumberSetting INTEGER, simSerialNumber TEXT, subscriberIdSetting INTEGER, subscriberId TEXT, accountsSetting INTEGER, accountsAuthTokensSetting INTEGER, outgoingCallsSetting INTEGER, incomingCallsSetting INTEGER, contactsSetting INTEGER, calendarSetting INTEGER, mmsSetting INTEGER, smsSetting INTEGER, callLogSetting INTEGER, bookmarksSetting INTEGER, systemLogsSetting INTEGER, externalStorageSetting INTEGER, cameraSetting INTEGER, recordAudioSetting INTEGER, notificationSetting INTEGER, intentBootCompletedSetting INTEGER);" -+ -+.field private static final DATABASE_FIELDS:[Ljava/lang/String; = null -+ -+.field private static final DATABASE_FILE:Ljava/lang/String; = "/data/system/privacy.db" -+ -+.field private static final DATABASE_VERSION:I = 0x3 -+ -+.field public static final DUMMY_UID:I = -0x1 -+ -+.field private static final INSERT_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");" -+ -+.field private static final INSERT_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");" -+ -+.field private static final INSERT_VERSION:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);" -+ -+.field private static final RETRY_QUERY_COUNT:I = 0x5 -+ -+.field public static final SETTINGS_DIRECTORY:Ljava/lang/String; = "/data/system/privacy" -+ -+.field public static final SETTING_DB_VERSION:Ljava/lang/String; = "db_version" -+ -+.field public static final SETTING_ENABLED:Ljava/lang/String; = "enabled" -+ -+.field public static final SETTING_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "notifications_enabled" -+ -+.field private static final TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "allowed_contacts" -+ -+.field private static final TABLE_MAP:Ljava/lang/String; = "map" -+ -+.field private static final TABLE_SETTINGS:Ljava/lang/String; = "settings" -+ -+.field private static final TABLE_VERSION:Ljava/lang/String; = "version" -+ -+.field private static final TAG:Ljava/lang/String; = "PrivacyPersistenceAdapter" -+ -+.field public static final VALUE_FALSE:Ljava/lang/String; = "0" -+ -+.field public static final VALUE_TRUE:Ljava/lang/String; = "1" -+ -+.field public static readingThreads:Ljava/lang/Integer; -+ -+ -+# instance fields -+.field private context:Landroid/content/Context; -+ -+.field private db:Landroid/database/sqlite/SQLiteDatabase; -+ -+ -+# direct methods -+.method static constructor ()V -+ .registers 3 -+ -+ const/4 v2, 0x0 -+ -+ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v0 -+ -+ sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ const/16 v0, 0x23 -+ -+ new-array v0, v0, [Ljava/lang/String; -+ -+ const-string v1, "_id" -+ -+ aput-object v1, v0, v2 -+ -+ const/4 v1, 0x1 -+ -+ const-string/jumbo v2, "packageName" -+ -+ aput-object v2, v0, v1 -+ -+ const/4 v1, 0x2 -+ -+ const-string/jumbo v2, "uid" -+ -+ aput-object v2, v0, v1 -+ -+ const/4 v1, 0x3 -+ -+ const-string v2, "deviceIdSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/4 v1, 0x4 -+ -+ const-string v2, "deviceId" -+ -+ aput-object v2, v0, v1 -+ -+ const/4 v1, 0x5 -+ -+ const-string v2, "line1NumberSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/4 v1, 0x6 -+ -+ const-string v2, "line1Number" -+ -+ aput-object v2, v0, v1 -+ -+ const/4 v1, 0x7 -+ -+ const-string v2, "locationGpsSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0x8 -+ -+ const-string v2, "locationGpsLat" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0x9 -+ -+ const-string v2, "locationGpsLon" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0xa -+ -+ const-string v2, "locationNetworkSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0xb -+ -+ const-string v2, "locationNetworkLat" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0xc -+ -+ const-string v2, "locationNetworkLon" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0xd -+ -+ const-string/jumbo v2, "networkInfoSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0xe -+ -+ const-string/jumbo v2, "simInfoSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0xf -+ -+ const-string/jumbo v2, "simSerialNumberSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0x10 -+ -+ const-string/jumbo v2, "simSerialNumber" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0x11 -+ -+ const-string/jumbo v2, "subscriberIdSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0x12 -+ -+ const-string/jumbo v2, "subscriberId" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0x13 -+ -+ const-string v2, "accountsSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0x14 -+ -+ const-string v2, "accountsAuthTokensSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0x15 -+ -+ const-string/jumbo v2, "outgoingCallsSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0x16 -+ -+ const-string v2, "incomingCallsSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0x17 -+ -+ const-string v2, "contactsSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0x18 -+ -+ const-string v2, "calendarSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0x19 -+ -+ const-string/jumbo v2, "mmsSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0x1a -+ -+ const-string/jumbo v2, "smsSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0x1b -+ -+ const-string v2, "callLogSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0x1c -+ -+ const-string v2, "bookmarksSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0x1d -+ -+ const-string/jumbo v2, "systemLogsSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0x1e -+ -+ const-string v2, "externalStorageSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0x1f -+ -+ const-string v2, "cameraSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0x20 -+ -+ const-string/jumbo v2, "recordAudioSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0x21 -+ -+ const-string/jumbo v2, "notificationSetting" -+ -+ aput-object v2, v0, v1 -+ -+ const/16 v1, 0x22 -+ -+ const-string v2, "intentBootCompletedSetting" -+ -+ aput-object v2, v0, v1 -+ -+ sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String; -+ -+ return-void -+.end method -+ -+.method public constructor (Landroid/content/Context;)V -+ .registers 6 -+ -+ invoke-direct {p0}, Ljava/lang/Object;->()V -+ -+ iput-object p1, p0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context; -+ -+ new-instance v2, Ljava/io/File; -+ -+ const-string v3, "/data/system/" -+ -+ invoke-direct {v2, v3}, Ljava/io/File;->(Ljava/lang/String;)V -+ -+ invoke-virtual {v2}, Ljava/io/File;->canWrite()Z -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_3c -+ -+ new-instance v2, Ljava/io/File; -+ -+ const-string v3, "/data/system/privacy.db" -+ -+ invoke-direct {v2, v3}, Ljava/io/File;->(Ljava/lang/String;)V -+ -+ invoke-virtual {v2}, Ljava/io/File;->exists()Z -+ -+ move-result v2 -+ -+ if-nez v2, :cond_22 -+ -+ invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V -+ -+ :cond_22 -+ new-instance v2, Ljava/io/File; -+ -+ const-string v3, "/data/system/privacy" -+ -+ invoke-direct {v2, v3}, Ljava/io/File;->(Ljava/lang/String;)V -+ -+ invoke-virtual {v2}, Ljava/io/File;->exists()Z -+ -+ move-result v2 -+ -+ if-nez v2, :cond_32 -+ -+ invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V -+ -+ :cond_32 -+ invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I -+ -+ move-result v1 -+ -+ const/4 v2, 0x3 -+ -+ if-ge v1, v2, :cond_3c -+ -+ invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase(I)V -+ -+ :cond_3c -+ return-void -+.end method -+ -+.method private declared-synchronized createDatabase()V -+ .registers 6 -+ -+ monitor-enter p0 -+ -+ :try_start_1 -+ const-string v2, "PrivacyPersistenceAdapter" -+ -+ const-string v3, "createDatabase - creating privacy database file" -+ -+ invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I -+ :try_end_8 -+ .catchall {:try_start_1 .. :try_end_8} :catchall_4c -+ -+ :try_start_8 -+ const-string v2, "/data/system/privacy.db" -+ -+ const/4 v3, 0x0 -+ -+ const/high16 v4, 0x1000 -+ -+ invoke-static {v2, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase; -+ -+ move-result-object v0 -+ -+ const-string v2, "PrivacyPersistenceAdapter" -+ -+ const-string v3, "createDatabase - creating privacy database" -+ -+ invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I -+ -+ const-string v2, "CREATE TABLE IF NOT EXISTS settings ( _id INTEGER PRIMARY KEY AUTOINCREMENT, packageName TEXT, uid INTEGER, deviceIdSetting INTEGER, deviceId TEXT, line1NumberSetting INTEGER, line1Number TEXT, locationGpsSetting INTEGER, locationGpsLat TEXT, locationGpsLon TEXT, locationNetworkSetting INTEGER, locationNetworkLat TEXT, locationNetworkLon TEXT, networkInfoSetting INTEGER, simInfoSetting INTEGER, simSerialNumberSetting INTEGER, simSerialNumber TEXT, subscriberIdSetting INTEGER, subscriberId TEXT, accountsSetting INTEGER, accountsAuthTokensSetting INTEGER, outgoingCallsSetting INTEGER, incomingCallsSetting INTEGER, contactsSetting INTEGER, calendarSetting INTEGER, mmsSetting INTEGER, smsSetting INTEGER, callLogSetting INTEGER, bookmarksSetting INTEGER, systemLogsSetting INTEGER, externalStorageSetting INTEGER, cameraSetting INTEGER, recordAudioSetting INTEGER, notificationSetting INTEGER, intentBootCompletedSetting INTEGER);" -+ -+ invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V -+ -+ const-string v2, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );" -+ -+ invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V -+ -+ const-string v2, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );" -+ -+ invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V -+ -+ const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);" -+ -+ invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V -+ -+ const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");" -+ -+ invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V -+ -+ const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");" -+ -+ invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V -+ -+ if-eqz v0, :cond_41 -+ -+ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_41 -+ -+ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V -+ :try_end_41 -+ .catchall {:try_start_8 .. :try_end_41} :catchall_4c -+ .catch Landroid/database/SQLException; {:try_start_8 .. :try_end_41} :catch_43 -+ -+ :cond_41 -+ :goto_41 -+ monitor-exit p0 -+ -+ return-void -+ -+ :catch_43 -+ move-exception v1 -+ -+ :try_start_44 -+ const-string v2, "PrivacyPersistenceAdapter" -+ -+ const-string v3, "createDatabase - failed to create privacy database" -+ -+ invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -+ :try_end_4b -+ .catchall {:try_start_44 .. :try_end_4b} :catchall_4c -+ -+ goto :goto_41 -+ -+ :catchall_4c -+ move-exception v2 -+ -+ monitor-exit p0 -+ -+ throw v2 -+.end method -+ -+.method private declared-synchronized createSettingsDir()V -+ .registers 4 -+ -+ monitor-enter p0 -+ -+ :try_start_1 -+ new-instance v0, Ljava/io/File; -+ -+ const-string v1, "/data/system/privacy/" -+ -+ invoke-direct {v0, v1}, Ljava/io/File;->(Ljava/lang/String;)V -+ -+ invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z -+ -+ const/4 v1, 0x1 -+ -+ const/4 v2, 0x0 -+ -+ invoke-virtual {v0, v1, v2}, Ljava/io/File;->setReadable(ZZ)Z -+ -+ const/4 v1, 0x1 -+ -+ const/4 v2, 0x0 -+ -+ invoke-virtual {v0, v1, v2}, Ljava/io/File;->setExecutable(ZZ)Z -+ :try_end_15 -+ .catchall {:try_start_1 .. :try_end_15} :catchall_17 -+ -+ monitor-exit p0 -+ -+ return-void -+ -+ :catchall_17 -+ move-exception v1 -+ -+ monitor-exit p0 -+ -+ throw v1 -+.end method -+ -+.method private deleteRecursive(Ljava/io/File;)V -+ .registers 7 -+ -+ invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z -+ -+ move-result v4 -+ -+ if-eqz v4, :cond_16 -+ -+ invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File; -+ -+ move-result-object v0 -+ -+ array-length v3, v0 -+ -+ const/4 v2, 0x0 -+ -+ :goto_c -+ if-ge v2, v3, :cond_16 -+ -+ aget-object v1, v0, v2 -+ -+ invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V -+ -+ add-int/lit8 v2, v2, 0x1 -+ -+ goto :goto_c -+ -+ :cond_16 -+ invoke-virtual {p1}, Ljava/io/File;->delete()Z -+ -+ return-void -+.end method -+ -+.method private getDbVersion()I -+ .registers 9 -+ -+ const/4 v4, 0x1 -+ -+ const/4 v3, -0x1 -+ -+ sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v6 -+ -+ add-int/lit8 v6, v6, 0x1 -+ -+ invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v6 -+ -+ sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase; -+ -+ move-result-object v1 -+ -+ :try_start_16 -+ const-string v6, "SELECT name FROM sqlite_master WHERE type=\'table\' AND name=\'map\';" -+ -+ invoke-direct {p0, v1, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor; -+ -+ move-result-object v0 -+ -+ if-eqz v0, :cond_5e -+ -+ invoke-interface {v0}, Landroid/database/Cursor;->getCount()I -+ -+ move-result v6 -+ -+ if-nez v6, :cond_25 -+ -+ const/4 v3, 0x1 -+ -+ :cond_25 -+ invoke-interface {v0}, Landroid/database/Cursor;->close()V -+ -+ sget-object v7, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ monitor-enter v7 -+ :try_end_2b -+ .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_2b} :catch_55 -+ -+ :try_start_2b -+ sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v6 -+ -+ add-int/lit8 v6, v6, -0x1 -+ -+ invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v6 -+ -+ sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v6 -+ -+ if-nez v6, :cond_4e -+ -+ if-eqz v1, :cond_4e -+ -+ invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v6 -+ -+ if-eqz v6, :cond_4e -+ -+ invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V -+ -+ :cond_4e -+ monitor-exit v7 -+ -+ :goto_4f -+ if-ne v3, v4, :cond_66 -+ -+ :goto_51 -+ return v3 -+ -+ :catchall_52 -+ move-exception v6 -+ -+ monitor-exit v7 -+ :try_end_54 -+ .catchall {:try_start_2b .. :try_end_54} :catchall_52 -+ -+ :try_start_54 -+ throw v6 -+ :try_end_55 -+ .catch Ljava/lang/Exception; {:try_start_54 .. :try_end_55} :catch_55 -+ -+ :catch_55 -+ move-exception v2 -+ -+ const-string v6, "PrivacyPersistenceAdapter" -+ -+ const-string v7, "getDbVersion - failed to check if table map exists (exception)" -+ -+ invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ -+ goto :goto_4f -+ -+ :cond_5e -+ :try_start_5e -+ const-string v6, "PrivacyPersistenceAdapter" -+ -+ const-string v7, "getDbVersion - failed to check if table map exists (cursor is null)" -+ -+ invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ :try_end_65 -+ .catch Ljava/lang/Exception; {:try_start_5e .. :try_end_65} :catch_55 -+ -+ goto :goto_4f -+ -+ :cond_66 -+ const-string v6, "db_version" -+ -+ invoke-virtual {p0, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ if-nez v5, :cond_70 -+ -+ move v3, v4 -+ -+ goto :goto_51 -+ -+ :cond_70 -+ :try_start_70 -+ invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I -+ :try_end_73 -+ .catch Ljava/lang/Exception; {:try_start_70 .. :try_end_73} :catch_76 -+ -+ move-result v4 -+ -+ move v3, v4 -+ -+ goto :goto_51 -+ -+ :catch_76 -+ move-exception v2 -+ -+ const-string v6, "PrivacyPersistenceAdapter" -+ -+ const-string v7, "getDbVersion - failed to parse database version; returning 1" -+ -+ invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ -+ move v3, v4 -+ -+ goto :goto_51 -+.end method -+ -+.method private declared-synchronized getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase; -+ .registers 4 -+ -+ monitor-enter p0 -+ -+ :try_start_1 -+ iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase; -+ -+ if-eqz v0, :cond_11 -+ -+ iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase; -+ -+ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_11 -+ -+ iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase; -+ :try_end_f -+ .catchall {:try_start_1 .. :try_end_f} :catchall_1e -+ -+ :goto_f -+ monitor-exit p0 -+ -+ return-object v0 -+ -+ :cond_11 -+ :try_start_11 -+ const-string v0, "/data/system/privacy.db" -+ -+ const/4 v1, 0x0 -+ -+ const/4 v2, 0x1 -+ -+ invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase; -+ -+ move-result-object v0 -+ -+ iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase; -+ -+ iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase; -+ :try_end_1d -+ .catchall {:try_start_11 .. :try_end_1d} :catchall_1e -+ -+ goto :goto_f -+ -+ :catchall_1e -+ move-exception v0 -+ -+ monitor-exit p0 -+ -+ throw v0 -+.end method -+ -+.method private declared-synchronized getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase; -+ .registers 4 -+ -+ monitor-enter p0 -+ -+ :try_start_1 -+ new-instance v0, Ljava/io/File; -+ -+ const-string v1, "/data/system/privacy.db" -+ -+ invoke-direct {v0, v1}, Ljava/io/File;->(Ljava/lang/String;)V -+ -+ invoke-virtual {v0}, Ljava/io/File;->exists()Z -+ -+ move-result v0 -+ -+ if-nez v0, :cond_11 -+ -+ invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V -+ -+ :cond_11 -+ iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase; -+ -+ if-eqz v0, :cond_29 -+ -+ iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase; -+ -+ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_29 -+ -+ iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase; -+ -+ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z -+ -+ move-result v0 -+ -+ if-nez v0, :cond_29 -+ -+ iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase; -+ :try_end_27 -+ .catchall {:try_start_1 .. :try_end_27} :catchall_36 -+ -+ :goto_27 -+ monitor-exit p0 -+ -+ return-object v0 -+ -+ :cond_29 -+ :try_start_29 -+ const-string v0, "/data/system/privacy.db" -+ -+ const/4 v1, 0x0 -+ -+ const/4 v2, 0x0 -+ -+ invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase; -+ -+ move-result-object v0 -+ -+ iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase; -+ -+ iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase; -+ :try_end_35 -+ .catchall {:try_start_29 .. :try_end_35} :catchall_36 -+ -+ goto :goto_27 -+ -+ :catchall_36 -+ move-exception v0 -+ -+ monitor-exit p0 -+ -+ throw v0 -+.end method -+ -+.method private query(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; -+ .registers 16 -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Ljava/lang/Exception; -+ } -+ .end annotation -+ -+ const/4 v0, 0x0 -+ -+ const/4 v3, 0x0 -+ -+ const/4 v2, 0x0 -+ -+ :goto_3 -+ if-nez v3, :cond_27 -+ -+ const/4 v4, 0x5 -+ -+ if-ge v2, v4, :cond_27 -+ -+ if-eqz v0, :cond_d -+ -+ :try_start_a -+ invoke-interface {v0}, Landroid/database/Cursor;->close()V -+ -+ :cond_d -+ invoke-virtual/range {p1 .. p9}, Landroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; -+ :try_end_10 -+ .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15 -+ -+ move-result-object v0 -+ -+ const/4 v3, 0x1 -+ -+ :goto_12 -+ add-int/lit8 v2, v2, 0x1 -+ -+ goto :goto_3 -+ -+ :catch_15 -+ move-exception v1 -+ -+ const/4 v3, 0x0 -+ -+ if-eqz p1, :cond_22 -+ -+ invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v4 -+ -+ if-eqz v4, :cond_22 -+ -+ invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V -+ -+ :cond_22 -+ invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase; -+ -+ move-result-object p1 -+ -+ goto :goto_12 -+ -+ :cond_27 -+ if-nez v3, :cond_32 -+ -+ new-instance v4, Ljava/lang/Exception; -+ -+ const-string/jumbo v5, "query - failed to execute query on the DB" -+ -+ invoke-direct {v4, v5}, Ljava/lang/Exception;->(Ljava/lang/String;)V -+ -+ throw v4 -+ -+ :cond_32 -+ return-object v0 -+.end method -+ -+.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor; -+ .registers 9 -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Ljava/lang/Exception; -+ } -+ .end annotation -+ -+ const/4 v0, 0x0 -+ -+ const/4 v3, 0x0 -+ -+ const/4 v2, 0x0 -+ -+ :goto_3 -+ if-nez v3, :cond_28 -+ -+ const/4 v4, 0x5 -+ -+ if-ge v2, v4, :cond_28 -+ -+ if-eqz v0, :cond_d -+ -+ :try_start_a -+ invoke-interface {v0}, Landroid/database/Cursor;->close()V -+ -+ :cond_d -+ const/4 v4, 0x0 -+ -+ invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor; -+ :try_end_11 -+ .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16 -+ -+ move-result-object v0 -+ -+ const/4 v3, 0x1 -+ -+ :goto_13 -+ add-int/lit8 v2, v2, 0x1 -+ -+ goto :goto_3 -+ -+ :catch_16 -+ move-exception v1 -+ -+ const/4 v3, 0x0 -+ -+ if-eqz p1, :cond_23 -+ -+ invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v4 -+ -+ if-eqz v4, :cond_23 -+ -+ invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V -+ -+ :cond_23 -+ invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase; -+ -+ move-result-object p1 -+ -+ goto :goto_13 -+ -+ :cond_28 -+ if-nez v3, :cond_33 -+ -+ new-instance v4, Ljava/lang/Exception; -+ -+ const-string/jumbo v5, "query - failed to execute query on the DB" -+ -+ invoke-direct {v4, v5}, Ljava/lang/Exception;->(Ljava/lang/String;)V -+ -+ throw v4 -+ -+ :cond_33 -+ return-object v0 -+.end method -+ -+.method private declared-synchronized upgradeDatabase(I)V -+ .registers 23 -+ -+ monitor-enter p0 -+ -+ :try_start_1 -+ const-string v17, "PrivacyPersistenceAdapter" -+ -+ new-instance v18, Ljava/lang/StringBuilder; -+ -+ invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;->()V -+ -+ const-string/jumbo v19, "upgradeDatabase - upgrading DB from version " -+ -+ invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v18 -+ -+ move-object/from16 v0, v18 -+ -+ move/from16 v1, p1 -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v18 -+ -+ const-string v19, " to " -+ -+ invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v18 -+ -+ const/16 v19, 0x3 -+ -+ invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v18 -+ -+ invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v18 -+ -+ invoke-static/range {v17 .. v18}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I -+ -+ new-instance v6, Ljava/io/File; -+ -+ const-string v17, "/data/system/privacy.db" -+ -+ move-object/from16 v0, v17 -+ -+ invoke-direct {v6, v0}, Ljava/io/File;->(Ljava/lang/String;)V -+ -+ new-instance v5, Ljava/io/File; -+ -+ const-string v17, "/data/system/privacy.db.bak" -+ -+ move-object/from16 v0, v17 -+ -+ invoke-direct {v5, v0}, Ljava/io/File;->(Ljava/lang/String;)V -+ :try_end_3c -+ .catchall {:try_start_1 .. :try_end_3c} :catchall_66 -+ -+ :try_start_3c -+ invoke-virtual {v5}, Ljava/io/File;->delete()Z -+ :try_end_3f -+ .catchall {:try_start_3c .. :try_end_3f} :catchall_66 -+ .catch Ljava/lang/SecurityException; {:try_start_3c .. :try_end_3f} :catch_5c -+ -+ :goto_3f -+ :try_start_3f -+ invoke-static {v6, v5}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z -+ -+ invoke-static {}, Ljava/lang/System;->currentTimeMillis()J -+ -+ move-result-wide v17 -+ -+ invoke-virtual {v5}, Ljava/io/File;->lastModified()J -+ -+ move-result-wide v19 -+ -+ sub-long v17, v17, v19 -+ -+ const-wide/16 v19, 0x7d0 -+ -+ cmp-long v17, v17, v19 -+ -+ if-lez v17, :cond_69 -+ -+ const-string v17, "PrivacyPersistenceAdapter" -+ -+ const-string/jumbo v18, "upgradeDatabase - could not create a database backup, aborting..." -+ -+ invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ :try_end_5a -+ .catchall {:try_start_3f .. :try_end_5a} :catchall_66 -+ -+ :goto_5a -+ monitor-exit p0 -+ -+ return-void -+ -+ :catch_5c -+ move-exception v7 -+ -+ :try_start_5d -+ const-string v17, "PrivacyPersistenceAdapter" -+ -+ const-string/jumbo v18, "upgradeDatabase - could not remove old backup" -+ -+ invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I -+ :try_end_65 -+ .catchall {:try_start_5d .. :try_end_65} :catchall_66 -+ -+ goto :goto_3f -+ -+ :catchall_66 -+ move-exception v17 -+ -+ monitor-exit p0 -+ -+ throw v17 -+ -+ :cond_69 -+ :try_start_69 -+ invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase; -+ -+ move-result-object v4 -+ -+ invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V -+ -+ packed-switch p1, :pswitch_data_164 -+ -+ :cond_73 -+ :goto_73 -+ if-eqz v4, :cond_159 -+ -+ invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v17 -+ -+ if-eqz v17, :cond_159 -+ -+ invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V -+ -+ invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V -+ -+ :goto_81 -+ invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z -+ :try_end_84 -+ .catchall {:try_start_69 .. :try_end_84} :catchall_66 -+ -+ goto :goto_5a -+ -+ :pswitch_85 -+ if-eqz v4, :cond_73 -+ -+ :try_start_87 -+ invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v17 -+ -+ if-eqz v17, :cond_73 -+ -+ const-string v17, "DROP TABLE IF EXISTS version;" -+ -+ move-object/from16 v0, v17 -+ -+ invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V -+ -+ const-string v17, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );" -+ -+ move-object/from16 v0, v17 -+ -+ invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V -+ -+ const-string v17, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );" -+ -+ move-object/from16 v0, v17 -+ -+ invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V -+ -+ const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);" -+ -+ move-object/from16 v0, v17 -+ -+ invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V -+ -+ const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");" -+ -+ move-object/from16 v0, v17 -+ -+ invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V -+ -+ const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");" -+ -+ move-object/from16 v0, v17 -+ -+ invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V -+ -+ new-instance v14, Ljava/io/File; -+ -+ const-string v17, "/data/system/privacy" -+ -+ move-object/from16 v0, v17 -+ -+ invoke-direct {v14, v0}, Ljava/io/File;->(Ljava/lang/String;)V -+ -+ invoke-virtual {v14}, Ljava/io/File;->listFiles()[Ljava/io/File; -+ -+ move-result-object v2 -+ -+ array-length v10, v2 -+ -+ const/4 v8, 0x0 -+ -+ move v9, v8 -+ -+ :goto_c7 -+ if-ge v9, v10, :cond_127 -+ -+ aget-object v13, v2, v9 -+ -+ invoke-virtual {v13}, Ljava/io/File;->listFiles()[Ljava/io/File; -+ -+ move-result-object v3 -+ -+ array-length v11, v3 -+ -+ const/4 v8, 0x0 -+ -+ :goto_d1 -+ if-ge v8, v11, :cond_123 -+ -+ aget-object v16, v3, v8 -+ -+ invoke-virtual/range {v16 .. v16}, Ljava/io/File;->isDirectory()Z -+ -+ move-result v17 -+ -+ if-eqz v17, :cond_120 -+ -+ invoke-virtual/range {v16 .. v16}, Ljava/io/File;->listFiles()[Ljava/io/File; -+ -+ move-result-object v15 -+ -+ const/16 v17, 0x0 -+ -+ aget-object v17, v15, v17 -+ -+ if-eqz v17, :cond_120 -+ -+ new-instance v12, Ljava/io/File; -+ -+ new-instance v17, Ljava/lang/StringBuilder; -+ -+ invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;->()V -+ -+ move-object/from16 v0, v17 -+ -+ invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; -+ -+ move-result-object v17 -+ -+ const-string v18, "/" -+ -+ invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v17 -+ -+ const/16 v18, 0x0 -+ -+ aget-object v18, v15, v18 -+ -+ invoke-virtual/range {v18 .. v18}, Ljava/io/File;->getName()Ljava/lang/String; -+ -+ move-result-object v18 -+ -+ invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v17 -+ -+ invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v17 -+ -+ move-object/from16 v0, v17 -+ -+ invoke-direct {v12, v0}, Ljava/io/File;->(Ljava/lang/String;)V -+ -+ invoke-virtual {v12}, Ljava/io/File;->delete()Z -+ -+ const/16 v17, 0x0 -+ -+ aget-object v17, v15, v17 -+ -+ move-object/from16 v0, v17 -+ -+ invoke-virtual {v0, v12}, Ljava/io/File;->renameTo(Ljava/io/File;)Z -+ -+ move-object/from16 v0, p0 -+ -+ move-object/from16 v1, v16 -+ -+ invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V -+ -+ :cond_120 -+ add-int/lit8 v8, v8, 0x1 -+ -+ goto :goto_d1 -+ -+ :cond_123 -+ add-int/lit8 v8, v9, 0x1 -+ -+ move v9, v8 -+ -+ goto :goto_c7 -+ -+ :cond_127 -+ invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V -+ :try_end_12a -+ .catchall {:try_start_87 .. :try_end_12a} :catchall_66 -+ .catch Ljava/lang/Exception; {:try_start_87 .. :try_end_12a} :catch_12c -+ -+ goto/16 :goto_73 -+ -+ :catch_12c -+ move-exception v7 -+ -+ if-eqz v4, :cond_13b -+ -+ :try_start_12f -+ invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v17 -+ -+ if-eqz v17, :cond_13b -+ -+ invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V -+ -+ invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V -+ -+ :cond_13b -+ const-string v17, "PrivacyPersistenceAdapter" -+ -+ const-string/jumbo v18, "upgradeDatabase - could not upgrade DB; will restore backup" -+ -+ move-object/from16 v0, v17 -+ -+ move-object/from16 v1, v18 -+ -+ invoke-static {v0, v1, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -+ -+ invoke-static {v5, v6}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z -+ -+ invoke-virtual {v5}, Ljava/io/File;->delete()Z -+ -+ goto/16 :goto_73 -+ -+ :pswitch_14f -+ const-string v17, "PrivacyPersistenceAdapter" -+ -+ const-string/jumbo v18, "upgradeDatabase - trying to upgrade most current DB version" -+ -+ invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I -+ -+ goto/16 :goto_73 -+ -+ :cond_159 -+ const-string v17, "PrivacyPersistenceAdapter" -+ -+ const-string/jumbo v18, "upgradeDatabase - database is null or closed; cant call endTransaction()" -+ -+ invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ :try_end_161 -+ .catchall {:try_start_12f .. :try_end_161} :catchall_66 -+ -+ goto/16 :goto_81 -+ -+ nop -+ -+ :pswitch_data_164 -+ .packed-switch 0x1 -+ :pswitch_85 -+ :pswitch_85 -+ :pswitch_14f -+ .end packed-switch -+.end method -+ -+ -+# virtual methods -+.method public declared-synchronized deleteSettings(Ljava/lang/String;)Z -+ .registers 16 -+ -+ monitor-enter p0 -+ -+ const/4 v11, 0x1 -+ -+ :try_start_2 -+ invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase; -+ -+ move-result-object v0 -+ -+ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V -+ :try_end_9 -+ .catchall {:try_start_2 .. :try_end_9} :catchall_107 -+ -+ :try_start_9 -+ const-string/jumbo v1, "settings" -+ -+ const/4 v2, 0x1 -+ -+ new-array v2, v2, [Ljava/lang/String; -+ -+ const/4 v3, 0x0 -+ -+ const-string v4, "_id" -+ -+ aput-object v4, v2, v3 -+ -+ const-string/jumbo v3, "packageName=?" -+ -+ const/4 v4, 0x1 -+ -+ new-array v4, v4, [Ljava/lang/String; -+ -+ const/4 v5, 0x0 -+ -+ aput-object p1, v4, v5 -+ -+ const/4 v5, 0x0 -+ -+ const/4 v6, 0x0 -+ -+ const/4 v7, 0x0 -+ -+ invoke-virtual/range {v0 .. v7}, Landroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; -+ -+ move-result-object v8 -+ -+ if-eqz v8, :cond_4c -+ -+ invoke-interface {v8}, Landroid/database/Cursor;->getCount()I -+ -+ move-result v1 -+ -+ if-lez v1, :cond_4c -+ -+ invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z -+ -+ move-result v1 -+ -+ if-eqz v1, :cond_4c -+ -+ const/4 v1, 0x0 -+ -+ invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I -+ -+ move-result v10 -+ -+ const-string v1, "allowed_contacts" -+ -+ const-string/jumbo v2, "settings_id=?" -+ -+ const/4 v3, 0x1 -+ -+ new-array v3, v3, [Ljava/lang/String; -+ -+ const/4 v4, 0x0 -+ -+ invoke-static {v10}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ aput-object v5, v3, v4 -+ -+ invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I -+ -+ invoke-interface {v8}, Landroid/database/Cursor;->close()V -+ -+ :cond_4c -+ const-string/jumbo v1, "settings" -+ -+ const-string/jumbo v2, "packageName=?" -+ -+ const/4 v3, 0x1 -+ -+ new-array v3, v3, [Ljava/lang/String; -+ -+ const/4 v4, 0x0 -+ -+ aput-object p1, v3, v4 -+ -+ invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I -+ -+ move-result v1 -+ -+ if-nez v1, :cond_8d -+ -+ const-string v1, "PrivacyPersistenceAdapter" -+ -+ new-instance v2, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v3, "deleteSettings - database entry for " -+ -+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ const-string v3, " not found" -+ -+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v2 -+ -+ invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ :try_end_7c -+ .catchall {:try_start_9 .. :try_end_7c} :catchall_10a -+ .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_7c} :catch_ef -+ -+ const/4 v1, 0x0 -+ -+ :try_start_7d -+ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V -+ -+ if-eqz v0, :cond_8b -+ -+ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_8b -+ -+ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V -+ :try_end_8b -+ .catchall {:try_start_7d .. :try_end_8b} :catchall_107 -+ -+ :cond_8b -+ :goto_8b -+ monitor-exit p0 -+ -+ return v1 -+ -+ :cond_8d -+ :try_start_8d -+ new-instance v12, Ljava/io/File; -+ -+ new-instance v1, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v2, "/data/system/privacy/" -+ -+ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v1 -+ -+ invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v1 -+ -+ const-string v2, "/" -+ -+ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v1 -+ -+ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-direct {v12, v1}, Ljava/io/File;->(Ljava/lang/String;)V -+ -+ new-instance v13, Ljava/io/File; -+ -+ new-instance v1, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v2, "/data/system/privacy/" -+ -+ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v1 -+ -+ invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v1 -+ -+ const-string v2, "/systemLogsSetting" -+ -+ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v1 -+ -+ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-direct {v13, v1}, Ljava/io/File;->(Ljava/lang/String;)V -+ -+ invoke-virtual {v13}, Ljava/io/File;->delete()Z -+ -+ invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ if-eqz v1, :cond_d9 -+ -+ invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ array-length v1, v1 -+ -+ if-nez v1, :cond_dc -+ -+ :cond_d9 -+ invoke-virtual {v12}, Ljava/io/File;->delete()Z -+ -+ :cond_dc -+ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V -+ :try_end_df -+ .catchall {:try_start_8d .. :try_end_df} :catchall_10a -+ .catch Ljava/lang/Exception; {:try_start_8d .. :try_end_df} :catch_ef -+ -+ :try_start_df -+ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V -+ -+ if-eqz v0, :cond_ed -+ -+ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v1 -+ -+ if-eqz v1, :cond_ed -+ -+ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V -+ :try_end_ed -+ .catchall {:try_start_df .. :try_end_ed} :catchall_107 -+ -+ :cond_ed -+ :goto_ed -+ move v1, v11 -+ -+ goto :goto_8b -+ -+ :catch_ef -+ move-exception v9 -+ -+ const/4 v11, 0x0 -+ -+ :try_start_f1 -+ const-string v1, "PrivacyPersistenceAdapter" -+ -+ const-string v2, "deleteSettings - could not delete settings" -+ -+ invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -+ :try_end_f8 -+ .catchall {:try_start_f1 .. :try_end_f8} :catchall_10a -+ -+ :try_start_f8 -+ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V -+ -+ if-eqz v0, :cond_ed -+ -+ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v1 -+ -+ if-eqz v1, :cond_ed -+ -+ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V -+ :try_end_106 -+ .catchall {:try_start_f8 .. :try_end_106} :catchall_107 -+ -+ goto :goto_ed -+ -+ :catchall_107 -+ move-exception v1 -+ -+ monitor-exit p0 -+ -+ throw v1 -+ -+ :catchall_10a -+ move-exception v1 -+ -+ :try_start_10b -+ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V -+ -+ if-eqz v0, :cond_119 -+ -+ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_119 -+ -+ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V -+ -+ :cond_119 -+ throw v1 -+ :try_end_11a -+ .catchall {:try_start_10b .. :try_end_11a} :catchall_107 -+.end method -+ -+.method public declared-synchronized getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings; -+ .registers 47 -+ -+ monitor-enter p0 -+ -+ const/16 v43, 0x0 -+ -+ if-nez p1, :cond_10 -+ -+ :try_start_5 -+ const-string v1, "PrivacyPersistenceAdapter" -+ -+ const-string v4, "getSettings - insufficient application identifier - package name is required" -+ -+ invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ :try_end_c -+ .catchall {:try_start_5 .. :try_end_c} :catchall_2d8 -+ -+ move-object/from16 v3, v43 -+ -+ :goto_e -+ monitor-exit p0 -+ -+ return-object v43 -+ -+ :cond_10 -+ :try_start_10 -+ sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v1 -+ -+ add-int/lit8 v1, v1, 0x1 -+ -+ invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v1 -+ -+ sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ :try_end_20 -+ .catchall {:try_start_10 .. :try_end_20} :catchall_2d8 -+ -+ :try_start_20 -+ invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase; -+ :try_end_23 -+ .catchall {:try_start_20 .. :try_end_23} :catchall_2d8 -+ .catch Landroid/database/sqlite/SQLiteException; {:try_start_20 .. :try_end_23} :catch_245 -+ -+ move-result-object v2 -+ -+ const/16 v41, 0x0 -+ -+ :try_start_26 -+ const-string/jumbo v3, "settings" -+ -+ sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String; -+ -+ const-string/jumbo v5, "packageName=?" -+ -+ const/4 v1, 0x1 -+ -+ new-array v6, v1, [Ljava/lang/String; -+ -+ const/4 v1, 0x0 -+ -+ aput-object p1, v6, v1 -+ -+ const/4 v7, 0x0 -+ -+ const/4 v8, 0x0 -+ -+ const/4 v9, 0x0 -+ -+ const/4 v10, 0x0 -+ -+ move-object/from16 v1, p0 -+ -+ invoke-direct/range {v1 .. v10}, Landroid/privacy/PrivacyPersistenceAdapter;->query(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; -+ -+ move-result-object v41 -+ -+ if-eqz v41, :cond_2dc -+ -+ invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToFirst()Z -+ -+ move-result v1 -+ -+ if-eqz v1, :cond_2dc -+ -+ new-instance v3, Landroid/privacy/PrivacySettings; -+ -+ const/4 v1, 0x0 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I -+ -+ move-result v1 -+ -+ invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v4 -+ -+ const/4 v1, 0x1 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ const/4 v1, 0x2 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I -+ -+ move-result v6 -+ -+ const/4 v1, 0x3 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v7, v1 -+ -+ const/4 v1, 0x4 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; -+ -+ move-result-object v8 -+ -+ const/4 v1, 0x5 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v9, v1 -+ -+ const/4 v1, 0x6 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; -+ -+ move-result-object v10 -+ -+ const/4 v1, 0x7 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v11, v1 -+ -+ const/16 v1, 0x8 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; -+ -+ move-result-object v12 -+ -+ const/16 v1, 0x9 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; -+ -+ move-result-object v13 -+ -+ const/16 v1, 0xa -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v14, v1 -+ -+ const/16 v1, 0xb -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; -+ -+ move-result-object v15 -+ -+ const/16 v1, 0xc -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; -+ -+ move-result-object v16 -+ -+ const/16 v1, 0xd -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v0, v1 -+ -+ move/from16 v17, v0 -+ -+ const/16 v1, 0xe -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v0, v1 -+ -+ move/from16 v18, v0 -+ -+ const/16 v1, 0xf -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v0, v1 -+ -+ move/from16 v19, v0 -+ -+ const/16 v1, 0x10 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; -+ -+ move-result-object v20 -+ -+ const/16 v1, 0x11 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v0, v1 -+ -+ move/from16 v21, v0 -+ -+ const/16 v1, 0x12 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; -+ -+ move-result-object v22 -+ -+ const/16 v1, 0x13 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v0, v1 -+ -+ move/from16 v23, v0 -+ -+ const/16 v1, 0x14 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v0, v1 -+ -+ move/from16 v24, v0 -+ -+ const/16 v1, 0x15 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v0, v1 -+ -+ move/from16 v25, v0 -+ -+ const/16 v1, 0x16 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v0, v1 -+ -+ move/from16 v26, v0 -+ -+ const/16 v1, 0x17 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v0, v1 -+ -+ move/from16 v27, v0 -+ -+ const/16 v1, 0x18 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v0, v1 -+ -+ move/from16 v28, v0 -+ -+ const/16 v1, 0x19 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v0, v1 -+ -+ move/from16 v29, v0 -+ -+ const/16 v1, 0x1a -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v0, v1 -+ -+ move/from16 v30, v0 -+ -+ const/16 v1, 0x1b -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v0, v1 -+ -+ move/from16 v31, v0 -+ -+ const/16 v1, 0x1c -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v0, v1 -+ -+ move/from16 v32, v0 -+ -+ const/16 v1, 0x1d -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v0, v1 -+ -+ move/from16 v33, v0 -+ -+ const/16 v1, 0x1e -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v0, v1 -+ -+ move/from16 v34, v0 -+ -+ const/16 v1, 0x1f -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v0, v1 -+ -+ move/from16 v35, v0 -+ -+ const/16 v1, 0x20 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v0, v1 -+ -+ move/from16 v36, v0 -+ -+ const/16 v1, 0x21 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v0, v1 -+ -+ move/from16 v37, v0 -+ -+ const/16 v1, 0x22 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v1 -+ -+ int-to-byte v0, v1 -+ -+ move/from16 v38, v0 -+ -+ const/16 v39, 0x0 -+ -+ invoke-direct/range {v3 .. v39}, Landroid/privacy/PrivacySettings;->(Ljava/lang/Integer;Ljava/lang/String;IBLjava/lang/String;BLjava/lang/String;BLjava/lang/String;Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;BBBLjava/lang/String;BLjava/lang/String;BBBBBBBBBBBBBBBB[I)V -+ :try_end_1a1 -+ .catchall {:try_start_26 .. :try_end_1a1} :catchall_29b -+ .catch Ljava/lang/Exception; {:try_start_26 .. :try_end_1a1} :catch_2d3 -+ -+ :try_start_1a1 -+ new-instance v1, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v4, "SELECT * FROM allowed_contacts WHERE settings_id=" -+ -+ invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v1 -+ -+ invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer; -+ -+ move-result-object v4 -+ -+ invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v4 -+ -+ invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; -+ -+ move-result-object v4 -+ -+ invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v1 -+ -+ const-string v4, ";" -+ -+ invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v1 -+ -+ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ move-object/from16 v0, p0 -+ -+ invoke-direct {v0, v2, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor; -+ -+ move-result-object v41 -+ -+ if-eqz v41, :cond_268 -+ -+ invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I -+ -+ move-result v1 -+ -+ if-lez v1, :cond_268 -+ -+ invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I -+ -+ move-result v1 -+ -+ new-array v0, v1, [I -+ -+ move-object/from16 v40, v0 -+ -+ :goto_1dc -+ invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToNext()Z -+ -+ move-result v1 -+ -+ if-eqz v1, :cond_263 -+ -+ invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getPosition()I -+ -+ move-result v1 -+ -+ const/4 v4, 0x1 -+ -+ move-object/from16 v0, v41 -+ -+ invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I -+ -+ move-result v4 -+ -+ aput v4, v40, v1 -+ :try_end_1ef -+ .catchall {:try_start_1a1 .. :try_end_1ef} :catchall_2d1 -+ .catch Ljava/lang/Exception; {:try_start_1a1 .. :try_end_1ef} :catch_1f0 -+ -+ goto :goto_1dc -+ -+ :catch_1f0 -+ move-exception v42 -+ -+ :goto_1f1 -+ :try_start_1f1 -+ const-string v1, "PrivacyPersistenceAdapter" -+ -+ new-instance v4, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v4}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v5, "getSettings - failed to get settings for package: " -+ -+ invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, p1 -+ -+ invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v4 -+ -+ invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v42 -+ -+ invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -+ -+ invoke-virtual/range {v42 .. v42}, Ljava/lang/Exception;->printStackTrace()V -+ -+ if-eqz v41, :cond_215 -+ -+ invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V -+ :try_end_215 -+ .catchall {:try_start_1f1 .. :try_end_215} :catchall_2d1 -+ -+ :cond_215 -+ if-eqz v41, :cond_21a -+ -+ :try_start_217 -+ invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V -+ -+ :cond_21a -+ sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ monitor-enter v4 -+ :try_end_21d -+ .catchall {:try_start_217 .. :try_end_21d} :catchall_298 -+ -+ :try_start_21d -+ sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v1 -+ -+ add-int/lit8 v1, v1, -0x1 -+ -+ invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v1 -+ -+ sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v1 -+ -+ if-nez v1, :cond_240 -+ -+ if-eqz v2, :cond_240 -+ -+ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v1 -+ -+ if-eqz v1, :cond_240 -+ -+ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V -+ -+ :cond_240 -+ monitor-exit v4 -+ :try_end_241 -+ .catchall {:try_start_21d .. :try_end_241} :catchall_2ce -+ -+ :goto_241 -+ move-object/from16 v43, v3 -+ -+ goto/16 :goto_e -+ -+ :catch_245 -+ move-exception v42 -+ -+ :try_start_246 -+ const-string v1, "PrivacyPersistenceAdapter" -+ -+ const-string v4, "getSettings - database could not be opened" -+ -+ move-object/from16 v0, v42 -+ -+ invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -+ -+ sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v1 -+ -+ add-int/lit8 v1, v1, -0x1 -+ -+ invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v1 -+ -+ sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ :try_end_25f -+ .catchall {:try_start_246 .. :try_end_25f} :catchall_2d8 -+ -+ move-object/from16 v3, v43 -+ -+ goto/16 :goto_e -+ -+ :cond_263 -+ :try_start_263 -+ move-object/from16 v0, v40 -+ -+ invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V -+ :try_end_268 -+ .catchall {:try_start_263 .. :try_end_268} :catchall_2d1 -+ .catch Ljava/lang/Exception; {:try_start_263 .. :try_end_268} :catch_1f0 -+ -+ :cond_268 -+ :goto_268 -+ if-eqz v41, :cond_26d -+ -+ :try_start_26a -+ invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V -+ -+ :cond_26d -+ sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ monitor-enter v4 -+ :try_end_270 -+ .catchall {:try_start_26a .. :try_end_270} :catchall_298 -+ -+ :try_start_270 -+ sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v1 -+ -+ add-int/lit8 v1, v1, -0x1 -+ -+ invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v1 -+ -+ sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v1 -+ -+ if-nez v1, :cond_293 -+ -+ if-eqz v2, :cond_293 -+ -+ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v1 -+ -+ if-eqz v1, :cond_293 -+ -+ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V -+ -+ :cond_293 -+ monitor-exit v4 -+ -+ goto :goto_241 -+ -+ :catchall_295 -+ move-exception v1 -+ -+ monitor-exit v4 -+ :try_end_297 -+ .catchall {:try_start_270 .. :try_end_297} :catchall_295 -+ -+ :try_start_297 -+ throw v1 -+ :try_end_298 -+ .catchall {:try_start_297 .. :try_end_298} :catchall_298 -+ -+ :catchall_298 -+ move-exception v1 -+ -+ :goto_299 -+ monitor-exit p0 -+ -+ throw v1 -+ -+ :catchall_29b -+ move-exception v1 -+ -+ move-object/from16 v3, v43 -+ -+ :goto_29e -+ if-eqz v41, :cond_2a3 -+ -+ :try_start_2a0 -+ invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V -+ -+ :cond_2a3 -+ sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ monitor-enter v4 -+ :try_end_2a6 -+ .catchall {:try_start_2a0 .. :try_end_2a6} :catchall_298 -+ -+ :try_start_2a6 -+ sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v5 -+ -+ add-int/lit8 v5, v5, -0x1 -+ -+ invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v5 -+ -+ sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v5 -+ -+ if-nez v5, :cond_2c9 -+ -+ if-eqz v2, :cond_2c9 -+ -+ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v5 -+ -+ if-eqz v5, :cond_2c9 -+ -+ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V -+ -+ :cond_2c9 -+ monitor-exit v4 -+ :try_end_2ca -+ .catchall {:try_start_2a6 .. :try_end_2ca} :catchall_2cb -+ -+ :try_start_2ca -+ throw v1 -+ :try_end_2cb -+ .catchall {:try_start_2ca .. :try_end_2cb} :catchall_298 -+ -+ :catchall_2cb -+ move-exception v1 -+ -+ :try_start_2cc -+ monitor-exit v4 -+ :try_end_2cd -+ .catchall {:try_start_2cc .. :try_end_2cd} :catchall_2cb -+ -+ :try_start_2cd -+ throw v1 -+ :try_end_2ce -+ .catchall {:try_start_2cd .. :try_end_2ce} :catchall_298 -+ -+ :catchall_2ce -+ move-exception v1 -+ -+ :try_start_2cf -+ monitor-exit v4 -+ :try_end_2d0 -+ .catchall {:try_start_2cf .. :try_end_2d0} :catchall_2ce -+ -+ :try_start_2d0 -+ throw v1 -+ :try_end_2d1 -+ .catchall {:try_start_2d0 .. :try_end_2d1} :catchall_298 -+ -+ :catchall_2d1 -+ move-exception v1 -+ -+ goto :goto_29e -+ -+ :catch_2d3 -+ move-exception v42 -+ -+ move-object/from16 v3, v43 -+ -+ goto/16 :goto_1f1 -+ -+ :catchall_2d8 -+ move-exception v1 -+ -+ move-object/from16 v3, v43 -+ -+ goto :goto_299 -+ -+ :cond_2dc -+ move-object/from16 v3, v43 -+ -+ goto :goto_268 -+.end method -+ -+.method public getValue(Ljava/lang/String;)Ljava/lang/String; -+ .registers 15 -+ -+ sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v0 -+ -+ add-int/lit8 v0, v0, 0x1 -+ -+ invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v0 -+ -+ sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase; -+ -+ move-result-object v1 -+ -+ const/4 v12, 0x0 -+ -+ :try_start_15 -+ const-string/jumbo v2, "map" -+ -+ const/4 v0, 0x1 -+ -+ new-array v3, v0, [Ljava/lang/String; -+ -+ const/4 v0, 0x0 -+ -+ const-string/jumbo v4, "value" -+ -+ aput-object v4, v3, v0 -+ -+ const-string/jumbo v4, "name=?" -+ -+ const/4 v0, 0x1 -+ -+ new-array v5, v0, [Ljava/lang/String; -+ -+ const/4 v0, 0x0 -+ -+ aput-object p1, v5, v0 -+ -+ const/4 v6, 0x0 -+ -+ const/4 v7, 0x0 -+ -+ const/4 v8, 0x0 -+ -+ const/4 v9, 0x0 -+ -+ move-object v0, p0 -+ -+ invoke-direct/range {v0 .. v9}, Landroid/privacy/PrivacyPersistenceAdapter;->query(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; -+ -+ move-result-object v10 -+ -+ if-eqz v10, :cond_77 -+ -+ invoke-interface {v10}, Landroid/database/Cursor;->getCount()I -+ -+ move-result v0 -+ -+ if-lez v0, :cond_77 -+ -+ invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_77 -+ -+ const-string/jumbo v0, "value" -+ -+ invoke-interface {v10, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I -+ -+ move-result v0 -+ -+ invoke-interface {v10, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; -+ -+ move-result-object v12 -+ -+ invoke-interface {v10}, Landroid/database/Cursor;->close()V -+ :try_end_4f -+ .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_4f} :catch_90 -+ -+ :goto_4f -+ sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ monitor-enter v2 -+ -+ :try_start_52 -+ sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v0 -+ -+ add-int/lit8 v0, v0, -0x1 -+ -+ invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v0 -+ -+ sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v0 -+ -+ if-nez v0, :cond_75 -+ -+ if-eqz v1, :cond_75 -+ -+ invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_75 -+ -+ invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V -+ -+ :cond_75 -+ monitor-exit v2 -+ :try_end_76 -+ .catchall {:try_start_52 .. :try_end_76} :catchall_aa -+ -+ return-object v12 -+ -+ :cond_77 -+ :try_start_77 -+ const-string v0, "PrivacyPersistenceAdapter" -+ -+ new-instance v2, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v3, "getValue - could not get value for name: " -+ -+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v2 -+ -+ invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I -+ :try_end_8f -+ .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_8f} :catch_90 -+ -+ goto :goto_4f -+ -+ :catch_90 -+ move-exception v11 -+ -+ const-string v0, "PrivacyPersistenceAdapter" -+ -+ new-instance v2, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v3, "getValue - could not get value for name: " -+ -+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v2 -+ -+ invoke-static {v0, v2, v11}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -+ -+ goto :goto_4f -+ -+ :catchall_aa -+ move-exception v0 -+ -+ :try_start_ab -+ monitor-exit v2 -+ :try_end_ac -+ .catchall {:try_start_ab .. :try_end_ac} :catchall_aa -+ -+ throw v0 -+.end method -+ -+.method public purgeSettings()Z -+ .registers 28 -+ -+ const/16 v25, 0x1 -+ -+ new-instance v13, Ljava/util/ArrayList; -+ -+ invoke-direct {v13}, Ljava/util/ArrayList;->()V -+ -+ move-object/from16 v0, p0 -+ -+ iget-object v2, v0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context; -+ -+ invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager; -+ -+ move-result-object v21 -+ -+ const/16 v2, 0x80 -+ -+ move-object/from16 v0, v21 -+ -+ invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List; -+ -+ move-result-object v19 -+ -+ invoke-interface/range {v19 .. v19}, Ljava/util/List;->iterator()Ljava/util/Iterator; -+ -+ move-result-object v18 -+ -+ :goto_1b -+ invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->hasNext()Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_2d -+ -+ invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->next()Ljava/lang/Object; -+ -+ move-result-object v12 -+ -+ check-cast v12, Landroid/content/pm/ApplicationInfo; -+ -+ iget-object v2, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String; -+ -+ invoke-interface {v13, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z -+ -+ goto :goto_1b -+ -+ :cond_2d -+ new-instance v26, Ljava/io/File; -+ -+ const-string v2, "/data/system/privacy" -+ -+ move-object/from16 v0, v26 -+ -+ invoke-direct {v0, v2}, Ljava/io/File;->(Ljava/lang/String;)V -+ -+ invoke-virtual/range {v26 .. v26}, Ljava/io/File;->listFiles()[Ljava/io/File; -+ -+ move-result-object v15 -+ -+ array-length v0, v15 -+ -+ move/from16 v20, v0 -+ -+ const/16 v18, 0x0 -+ -+ :goto_3f -+ move/from16 v0, v18 -+ -+ move/from16 v1, v20 -+ -+ if-ge v0, v1, :cond_5d -+ -+ aget-object v23, v15, v18 -+ -+ invoke-virtual/range {v23 .. v23}, Ljava/io/File;->getName()Ljava/lang/String; -+ -+ move-result-object v24 -+ -+ move-object/from16 v0, v24 -+ -+ invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z -+ -+ move-result v2 -+ -+ if-nez v2, :cond_5a -+ -+ move-object/from16 v0, p0 -+ -+ move-object/from16 v1, v23 -+ -+ invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V -+ -+ :cond_5a -+ add-int/lit8 v18, v18, 0x1 -+ -+ goto :goto_3f -+ -+ :cond_5d -+ sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v2 -+ -+ add-int/lit8 v2, v2, 0x1 -+ -+ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v2 -+ -+ sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase; -+ -+ move-result-object v3 -+ -+ const/16 v16, 0x0 -+ -+ :try_start_73 -+ const-string/jumbo v4, "settings" -+ -+ const/4 v2, 0x1 -+ -+ new-array v5, v2, [Ljava/lang/String; -+ -+ const/4 v2, 0x0 -+ -+ const-string/jumbo v6, "packageName" -+ -+ aput-object v6, v5, v2 -+ -+ const/4 v6, 0x0 -+ -+ const/4 v7, 0x0 -+ -+ const/4 v8, 0x0 -+ -+ const/4 v9, 0x0 -+ -+ const/4 v10, 0x0 -+ -+ const/4 v11, 0x0 -+ -+ move-object/from16 v2, p0 -+ -+ invoke-direct/range {v2 .. v11}, Landroid/privacy/PrivacyPersistenceAdapter;->query(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; -+ -+ move-result-object v16 -+ -+ new-instance v14, Ljava/util/ArrayList; -+ -+ invoke-direct {v14}, Ljava/util/ArrayList;->()V -+ -+ :goto_90 -+ invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->moveToNext()Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_142 -+ -+ const/4 v2, 0x0 -+ -+ move-object/from16 v0, v16 -+ -+ invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; -+ -+ move-result-object v24 -+ -+ move-object/from16 v0, v24 -+ -+ invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z -+ -+ move-result v2 -+ -+ if-nez v2, :cond_e7 -+ -+ move-object/from16 v0, p0 -+ -+ move-object/from16 v1, v24 -+ -+ invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z -+ :try_end_ac -+ .catchall {:try_start_73 .. :try_end_ac} :catchall_107 -+ .catch Ljava/lang/Exception; {:try_start_73 .. :try_end_ac} :catch_ad -+ -+ goto :goto_90 -+ -+ :catch_ad -+ move-exception v17 -+ -+ :try_start_ae -+ const-string v2, "PrivacyPersistenceAdapter" -+ -+ const-string/jumbo v4, "purgeSettings - purging DB failed" -+ -+ move-object/from16 v0, v17 -+ -+ invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -+ :try_end_b8 -+ .catchall {:try_start_ae .. :try_end_b8} :catchall_107 -+ -+ const/16 v25, 0x0 -+ -+ if-eqz v16, :cond_bf -+ -+ invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V -+ -+ :cond_bf -+ sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ monitor-enter v4 -+ -+ :try_start_c2 -+ sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v2 -+ -+ add-int/lit8 v2, v2, -0x1 -+ -+ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v2 -+ -+ sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v2 -+ -+ if-nez v2, :cond_e5 -+ -+ if-eqz v3, :cond_e5 -+ -+ invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_e5 -+ -+ invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V -+ -+ :cond_e5 -+ monitor-exit v4 -+ :try_end_e6 -+ .catchall {:try_start_c2 .. :try_end_e6} :catchall_13f -+ -+ :goto_e6 -+ return v25 -+ -+ :cond_e7 -+ :try_start_e7 -+ move-object/from16 v0, v24 -+ -+ invoke-interface {v14, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_135 -+ -+ const/4 v2, 0x0 -+ -+ move-object/from16 v0, p0 -+ -+ move-object/from16 v1, v24 -+ -+ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v22 -+ -+ move-object/from16 v0, p0 -+ -+ move-object/from16 v1, v24 -+ -+ invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z -+ -+ move-object/from16 v0, p0 -+ -+ move-object/from16 v1, v22 -+ -+ invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z -+ :try_end_106 -+ .catchall {:try_start_e7 .. :try_end_106} :catchall_107 -+ .catch Ljava/lang/Exception; {:try_start_e7 .. :try_end_106} :catch_ad -+ -+ goto :goto_90 -+ -+ :catchall_107 -+ move-exception v2 -+ -+ if-eqz v16, :cond_10d -+ -+ invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V -+ -+ :cond_10d -+ sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ monitor-enter v4 -+ -+ :try_start_110 -+ sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v5 -+ -+ add-int/lit8 v5, v5, -0x1 -+ -+ invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v5 -+ -+ sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v5 -+ -+ if-nez v5, :cond_133 -+ -+ if-eqz v3, :cond_133 -+ -+ invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v5 -+ -+ if-eqz v5, :cond_133 -+ -+ invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V -+ -+ :cond_133 -+ monitor-exit v4 -+ :try_end_134 -+ .catchall {:try_start_110 .. :try_end_134} :catchall_13c -+ -+ throw v2 -+ -+ :cond_135 -+ :try_start_135 -+ move-object/from16 v0, v24 -+ -+ invoke-interface {v14, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z -+ :try_end_13a -+ .catchall {:try_start_135 .. :try_end_13a} :catchall_107 -+ .catch Ljava/lang/Exception; {:try_start_135 .. :try_end_13a} :catch_ad -+ -+ goto/16 :goto_90 -+ -+ :catchall_13c -+ move-exception v2 -+ -+ :try_start_13d -+ monitor-exit v4 -+ :try_end_13e -+ .catchall {:try_start_13d .. :try_end_13e} :catchall_13c -+ -+ throw v2 -+ -+ :catchall_13f -+ move-exception v2 -+ -+ :try_start_140 -+ monitor-exit v4 -+ :try_end_141 -+ .catchall {:try_start_140 .. :try_end_141} :catchall_13f -+ -+ throw v2 -+ -+ :cond_142 -+ if-eqz v16, :cond_147 -+ -+ invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V -+ -+ :cond_147 -+ sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ monitor-enter v4 -+ -+ :try_start_14a -+ sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v2 -+ -+ add-int/lit8 v2, v2, -0x1 -+ -+ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v2 -+ -+ sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v2 -+ -+ if-nez v2, :cond_16d -+ -+ if-eqz v3, :cond_16d -+ -+ invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_16d -+ -+ invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V -+ -+ :cond_16d -+ monitor-exit v4 -+ -+ goto/16 :goto_e6 -+ -+ :catchall_170 -+ move-exception v2 -+ -+ monitor-exit v4 -+ :try_end_172 -+ .catchall {:try_start_14a .. :try_end_172} :catchall_170 -+ -+ throw v2 -+.end method -+ -+.method public declared-synchronized saveSettings(Landroid/privacy/PrivacySettings;)Z -+ .registers 27 -+ -+ monitor-enter p0 -+ -+ const/16 v18, 0x1 -+ -+ :try_start_3 -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v17 -+ -+ if-eqz v17, :cond_f -+ -+ invoke-virtual/range {v17 .. v17}, Ljava/lang/String;->isEmpty()Z -+ -+ move-result v3 -+ -+ if-eqz v3, :cond_1a -+ -+ :cond_f -+ const-string v3, "PrivacyPersistenceAdapter" -+ -+ const-string/jumbo v4, "saveSettings - either package name, UID or both is missing" -+ -+ invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ :try_end_17 -+ .catchall {:try_start_3 .. :try_end_17} :catchall_2c2 -+ -+ const/4 v3, 0x0 -+ -+ :goto_18 -+ monitor-exit p0 -+ -+ return v3 -+ -+ :cond_1a -+ :try_start_1a -+ new-instance v23, Landroid/content/ContentValues; -+ -+ invoke-direct/range {v23 .. v23}, Landroid/content/ContentValues;->()V -+ -+ const-string/jumbo v3, "packageName" -+ -+ move-object/from16 v0, v23 -+ -+ move-object/from16 v1, v17 -+ -+ invoke-virtual {v0, v3, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V -+ -+ const-string/jumbo v3, "uid" -+ -+ const/4 v4, -0x1 -+ -+ invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V -+ -+ const-string v3, "deviceIdSetting" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B -+ -+ move-result v4 -+ -+ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V -+ -+ const-string v3, "deviceId" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V -+ -+ const-string v3, "line1NumberSetting" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B -+ -+ move-result v4 -+ -+ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V -+ -+ const-string v3, "line1Number" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V -+ -+ const-string v3, "locationGpsSetting" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B -+ -+ move-result v4 -+ -+ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V -+ -+ const-string v3, "locationGpsLat" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V -+ -+ const-string v3, "locationGpsLon" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V -+ -+ const-string v3, "locationNetworkSetting" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B -+ -+ move-result v4 -+ -+ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V -+ -+ const-string v3, "locationNetworkLat" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V -+ -+ const-string v3, "locationNetworkLon" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V -+ -+ const-string/jumbo v3, "networkInfoSetting" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B -+ -+ move-result v4 -+ -+ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V -+ -+ const-string/jumbo v3, "simInfoSetting" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B -+ -+ move-result v4 -+ -+ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V -+ -+ const-string/jumbo v3, "simSerialNumberSetting" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B -+ -+ move-result v4 -+ -+ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V -+ -+ const-string/jumbo v3, "simSerialNumber" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V -+ -+ const-string/jumbo v3, "subscriberIdSetting" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B -+ -+ move-result v4 -+ -+ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V -+ -+ const-string/jumbo v3, "subscriberId" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V -+ -+ const-string v3, "accountsSetting" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B -+ -+ move-result v4 -+ -+ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V -+ -+ const-string v3, "accountsAuthTokensSetting" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B -+ -+ move-result v4 -+ -+ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V -+ -+ const-string/jumbo v3, "outgoingCallsSetting" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B -+ -+ move-result v4 -+ -+ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V -+ -+ const-string v3, "incomingCallsSetting" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B -+ -+ move-result v4 -+ -+ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V -+ -+ const-string v3, "contactsSetting" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getContactsSetting()B -+ -+ move-result v4 -+ -+ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V -+ -+ const-string v3, "calendarSetting" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B -+ -+ move-result v4 -+ -+ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V -+ -+ const-string/jumbo v3, "mmsSetting" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getMmsSetting()B -+ -+ move-result v4 -+ -+ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V -+ -+ const-string/jumbo v3, "smsSetting" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSetting()B -+ -+ move-result v4 -+ -+ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V -+ -+ const-string v3, "callLogSetting" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B -+ -+ move-result v4 -+ -+ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V -+ -+ const-string v3, "bookmarksSetting" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B -+ -+ move-result v4 -+ -+ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V -+ -+ const-string/jumbo v3, "systemLogsSetting" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B -+ -+ move-result v4 -+ -+ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V -+ -+ const-string/jumbo v3, "notificationSetting" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNotificationSetting()B -+ -+ move-result v4 -+ -+ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V -+ -+ const-string v3, "intentBootCompletedSetting" -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B -+ -+ move-result v4 -+ -+ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; -+ -+ move-result-object v4 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V -+ -+ sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v3 -+ -+ add-int/lit8 v3, v3, 0x1 -+ -+ invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v3 -+ -+ sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V -+ :try_end_1eb -+ .catchall {:try_start_1a .. :try_end_1eb} :catchall_2c2 -+ -+ const/4 v11, 0x0 -+ -+ :try_start_1ec -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer; -+ -+ move-result-object v15 -+ -+ if-eqz v15, :cond_2c8 -+ -+ const-string/jumbo v3, "settings" -+ -+ const-string v4, "_id=?" -+ -+ const/4 v5, 0x1 -+ -+ new-array v5, v5, [Ljava/lang/String; -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String; -+ -+ move-result-object v7 -+ -+ aput-object v7, v5, v6 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v2, v3, v0, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I -+ -+ move-result v3 -+ -+ const/4 v4, 0x1 -+ -+ if-ge v3, v4, :cond_249 -+ -+ new-instance v3, Ljava/lang/Exception; -+ -+ const-string/jumbo v4, "saveSettings - failed to update database entry" -+ -+ invoke-direct {v3, v4}, Ljava/lang/Exception;->(Ljava/lang/String;)V -+ -+ throw v3 -+ :try_end_213 -+ .catchall {:try_start_1ec .. :try_end_213} :catchall_291 -+ .catch Ljava/lang/Exception; {:try_start_1ec .. :try_end_213} :catch_213 -+ -+ :catch_213 -+ move-exception v13 -+ -+ const/16 v18, 0x0 -+ -+ :try_start_216 -+ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V -+ -+ if-eqz v11, :cond_21e -+ -+ invoke-interface {v11}, Landroid/database/Cursor;->close()V -+ -+ :cond_21e -+ sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ monitor-enter v4 -+ :try_end_221 -+ .catchall {:try_start_216 .. :try_end_221} :catchall_2c2 -+ -+ :try_start_221 -+ sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v3 -+ -+ add-int/lit8 v3, v3, -0x1 -+ -+ invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v3 -+ -+ sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v3 -+ -+ if-nez v3, :cond_244 -+ -+ if-eqz v2, :cond_244 -+ -+ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v3 -+ -+ if-eqz v3, :cond_244 -+ -+ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V -+ -+ :cond_244 -+ monitor-exit v4 -+ :try_end_245 -+ .catchall {:try_start_221 .. :try_end_245} :catchall_4ca -+ -+ :goto_245 -+ move/from16 v3, v18 -+ -+ goto/16 :goto_18 -+ -+ :cond_249 -+ :try_start_249 -+ const-string v3, "allowed_contacts" -+ -+ const-string/jumbo v4, "settings_id=?" -+ -+ const/4 v5, 0x1 -+ -+ new-array v5, v5, [Ljava/lang/String; -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String; -+ -+ move-result-object v7 -+ -+ aput-object v7, v5, v6 -+ -+ invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I -+ -+ move-result-object v10 -+ -+ if-eqz v10, :cond_3f2 -+ -+ new-instance v12, Landroid/content/ContentValues; -+ -+ invoke-direct {v12}, Landroid/content/ContentValues;->()V -+ -+ const/4 v14, 0x0 -+ -+ :goto_267 -+ array-length v3, v10 -+ -+ if-ge v14, v3, :cond_3f2 -+ -+ const-string/jumbo v3, "settings_id" -+ -+ invoke-virtual {v12, v3, v15}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V -+ -+ const-string v3, "contact_id" -+ -+ aget v4, v10, v14 -+ -+ invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v4 -+ -+ invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V -+ -+ const-string v3, "allowed_contacts" -+ -+ const/4 v4, 0x0 -+ -+ invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J -+ -+ move-result-wide v3 -+ -+ const-wide/16 v5, -0x1 -+ -+ cmp-long v3, v3, v5 -+ -+ if-nez v3, :cond_2c5 -+ -+ new-instance v3, Ljava/lang/Exception; -+ -+ const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)" -+ -+ invoke-direct {v3, v4}, Ljava/lang/Exception;->(Ljava/lang/String;)V -+ -+ throw v3 -+ :try_end_291 -+ .catchall {:try_start_249 .. :try_end_291} :catchall_291 -+ .catch Ljava/lang/Exception; {:try_start_249 .. :try_end_291} :catch_213 -+ -+ :catchall_291 -+ move-exception v3 -+ -+ :try_start_292 -+ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V -+ -+ if-eqz v11, :cond_29a -+ -+ invoke-interface {v11}, Landroid/database/Cursor;->close()V -+ -+ :cond_29a -+ sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ monitor-enter v4 -+ :try_end_29d -+ .catchall {:try_start_292 .. :try_end_29d} :catchall_2c2 -+ -+ :try_start_29d -+ sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v5 -+ -+ add-int/lit8 v5, v5, -0x1 -+ -+ invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v5 -+ -+ sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v5 -+ -+ if-nez v5, :cond_2c0 -+ -+ if-eqz v2, :cond_2c0 -+ -+ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v5 -+ -+ if-eqz v5, :cond_2c0 -+ -+ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V -+ -+ :cond_2c0 -+ monitor-exit v4 -+ :try_end_2c1 -+ .catchall {:try_start_29d .. :try_end_2c1} :catchall_4cd -+ -+ :try_start_2c1 -+ throw v3 -+ :try_end_2c2 -+ .catchall {:try_start_2c1 .. :try_end_2c2} :catchall_2c2 -+ -+ :catchall_2c2 -+ move-exception v3 -+ -+ monitor-exit p0 -+ -+ throw v3 -+ -+ :cond_2c5 -+ add-int/lit8 v14, v14, 0x1 -+ -+ goto :goto_267 -+ -+ :cond_2c8 -+ :try_start_2c8 -+ const-string/jumbo v3, "settings" -+ -+ const/4 v4, 0x1 -+ -+ new-array v4, v4, [Ljava/lang/String; -+ -+ const/4 v5, 0x0 -+ -+ const-string v6, "_id" -+ -+ aput-object v6, v4, v5 -+ -+ const-string/jumbo v5, "packageName=?" -+ -+ const/4 v6, 0x1 -+ -+ new-array v6, v6, [Ljava/lang/String; -+ -+ const/4 v7, 0x0 -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v8 -+ -+ aput-object v8, v6, v7 -+ -+ const/4 v7, 0x0 -+ -+ const/4 v8, 0x0 -+ -+ const/4 v9, 0x0 -+ -+ invoke-virtual/range {v2 .. v9}, Landroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; -+ -+ move-result-object v11 -+ -+ if-eqz v11, :cond_3e7 -+ -+ invoke-interface {v11}, Landroid/database/Cursor;->getCount()I -+ -+ move-result v3 -+ -+ const/4 v4, 0x1 -+ -+ if-ne v3, v4, :cond_36e -+ -+ const-string/jumbo v3, "settings" -+ -+ const-string/jumbo v4, "packageName=?" -+ -+ const/4 v5, 0x1 -+ -+ new-array v5, v5, [Ljava/lang/String; -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v7 -+ -+ aput-object v7, v5, v6 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v2, v3, v0, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I -+ -+ move-result v3 -+ -+ const/4 v4, 0x1 -+ -+ if-ge v3, v4, :cond_312 -+ -+ new-instance v3, Ljava/lang/Exception; -+ -+ const-string/jumbo v4, "saveSettings - failed to update database entry" -+ -+ invoke-direct {v3, v4}, Ljava/lang/Exception;->(Ljava/lang/String;)V -+ -+ throw v3 -+ -+ :cond_312 -+ invoke-interface {v11}, Landroid/database/Cursor;->moveToFirst()Z -+ -+ move-result v3 -+ -+ if-eqz v3, :cond_3f2 -+ -+ const/4 v3, 0x0 -+ -+ invoke-interface {v11, v3}, Landroid/database/Cursor;->getInt(I)I -+ -+ move-result v3 -+ -+ invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v16 -+ -+ const-string v3, "allowed_contacts" -+ -+ const-string/jumbo v4, "settings_id=?" -+ -+ const/4 v5, 0x1 -+ -+ new-array v5, v5, [Ljava/lang/String; -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String; -+ -+ move-result-object v7 -+ -+ aput-object v7, v5, v6 -+ -+ invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I -+ -+ move-result-object v10 -+ -+ if-eqz v10, :cond_3f2 -+ -+ new-instance v12, Landroid/content/ContentValues; -+ -+ invoke-direct {v12}, Landroid/content/ContentValues;->()V -+ -+ const/4 v14, 0x0 -+ -+ :goto_33f -+ array-length v3, v10 -+ -+ if-ge v14, v3, :cond_3f2 -+ -+ const-string/jumbo v3, "settings_id" -+ -+ move-object/from16 v0, v16 -+ -+ invoke-virtual {v12, v3, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V -+ -+ const-string v3, "contact_id" -+ -+ aget v4, v10, v14 -+ -+ invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v4 -+ -+ invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V -+ -+ const-string v3, "allowed_contacts" -+ -+ const/4 v4, 0x0 -+ -+ invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J -+ -+ move-result-wide v3 -+ -+ const-wide/16 v5, -0x1 -+ -+ cmp-long v3, v3, v5 -+ -+ if-nez v3, :cond_36b -+ -+ new-instance v3, Ljava/lang/Exception; -+ -+ const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)" -+ -+ invoke-direct {v3, v4}, Ljava/lang/Exception;->(Ljava/lang/String;)V -+ -+ throw v3 -+ -+ :cond_36b -+ add-int/lit8 v14, v14, 0x1 -+ -+ goto :goto_33f -+ -+ :cond_36e -+ invoke-interface {v11}, Landroid/database/Cursor;->getCount()I -+ -+ move-result v3 -+ -+ if-nez v3, :cond_3dc -+ -+ const-string/jumbo v3, "settings" -+ -+ const/4 v4, 0x0 -+ -+ move-object/from16 v0, v23 -+ -+ invoke-virtual {v2, v3, v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J -+ -+ move-result-wide v19 -+ -+ const-wide/16 v3, -0x1 -+ -+ cmp-long v3, v19, v3 -+ -+ if-nez v3, :cond_38d -+ -+ new-instance v3, Ljava/lang/Exception; -+ -+ const-string/jumbo v4, "saveSettings - failed to insert new record into DB" -+ -+ invoke-direct {v3, v4}, Ljava/lang/Exception;->(Ljava/lang/String;)V -+ -+ throw v3 -+ -+ :cond_38d -+ const-string v3, "allowed_contacts" -+ -+ const-string/jumbo v4, "settings_id=?" -+ -+ const/4 v5, 0x1 -+ -+ new-array v5, v5, [Ljava/lang/String; -+ -+ const/4 v6, 0x0 -+ -+ invoke-static/range {v19 .. v20}, Ljava/lang/Long;->toString(J)Ljava/lang/String; -+ -+ move-result-object v7 -+ -+ aput-object v7, v5, v6 -+ -+ invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I -+ -+ move-result-object v10 -+ -+ if-eqz v10, :cond_3f2 -+ -+ new-instance v12, Landroid/content/ContentValues; -+ -+ invoke-direct {v12}, Landroid/content/ContentValues;->()V -+ -+ const/4 v14, 0x0 -+ -+ :goto_3ab -+ array-length v3, v10 -+ -+ if-ge v14, v3, :cond_3f2 -+ -+ const-string/jumbo v3, "settings_id" -+ -+ invoke-static/range {v19 .. v20}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; -+ -+ move-result-object v4 -+ -+ invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V -+ -+ const-string v3, "contact_id" -+ -+ aget v4, v10, v14 -+ -+ invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v4 -+ -+ invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V -+ -+ const-string v3, "allowed_contacts" -+ -+ const/4 v4, 0x0 -+ -+ invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J -+ -+ move-result-wide v3 -+ -+ const-wide/16 v5, -0x1 -+ -+ cmp-long v3, v3, v5 -+ -+ if-nez v3, :cond_3d9 -+ -+ new-instance v3, Ljava/lang/Exception; -+ -+ const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)" -+ -+ invoke-direct {v3, v4}, Ljava/lang/Exception;->(Ljava/lang/String;)V -+ -+ throw v3 -+ -+ :cond_3d9 -+ add-int/lit8 v14, v14, 0x1 -+ -+ goto :goto_3ab -+ -+ :cond_3dc -+ const/16 v18, 0x0 -+ -+ new-instance v3, Ljava/lang/Exception; -+ -+ const-string/jumbo v4, "saveSettings - duplicate entries in the privacy.db" -+ -+ invoke-direct {v3, v4}, Ljava/lang/Exception;->(Ljava/lang/String;)V -+ -+ throw v3 -+ -+ :cond_3e7 -+ const/16 v18, 0x0 -+ -+ new-instance v3, Ljava/lang/Exception; -+ -+ const-string/jumbo v4, "saveSettings - cursor is null, database access failed" -+ -+ invoke-direct {v3, v4}, Ljava/lang/Exception;->(Ljava/lang/String;)V -+ -+ throw v3 -+ -+ :cond_3f2 -+ new-instance v21, Ljava/io/File; -+ -+ new-instance v3, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v4, "/data/system/privacy/" -+ -+ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ move-object/from16 v0, v17 -+ -+ invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ const-string v4, "/" -+ -+ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v3 -+ -+ move-object/from16 v0, v21 -+ -+ invoke-direct {v0, v3}, Ljava/io/File;->(Ljava/lang/String;)V -+ -+ new-instance v22, Ljava/io/File; -+ -+ new-instance v3, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v4, "/data/system/privacy/" -+ -+ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ move-object/from16 v0, v17 -+ -+ invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ const-string v4, "/" -+ -+ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ const-string v4, "/systemLogsSetting" -+ -+ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v3 -+ -+ move-object/from16 v0, v22 -+ -+ invoke-direct {v0, v3}, Ljava/io/File;->(Ljava/lang/String;)V -+ :try_end_43c -+ .catchall {:try_start_2c8 .. :try_end_43c} :catchall_291 -+ .catch Ljava/lang/Exception; {:try_start_2c8 .. :try_end_43c} :catch_213 -+ -+ :try_start_43c -+ invoke-virtual/range {v21 .. v21}, Ljava/io/File;->mkdirs()Z -+ -+ const/4 v3, 0x1 -+ -+ const/4 v4, 0x0 -+ -+ move-object/from16 v0, v21 -+ -+ invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z -+ -+ const/4 v3, 0x1 -+ -+ const/4 v4, 0x0 -+ -+ move-object/from16 v0, v21 -+ -+ invoke-virtual {v0, v3, v4}, Ljava/io/File;->setExecutable(ZZ)Z -+ -+ invoke-virtual/range {v22 .. v22}, Ljava/io/File;->createNewFile()Z -+ -+ const/4 v3, 0x1 -+ -+ const/4 v4, 0x0 -+ -+ move-object/from16 v0, v22 -+ -+ invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z -+ -+ new-instance v24, Ljava/io/OutputStreamWriter; -+ -+ new-instance v3, Ljava/io/FileOutputStream; -+ -+ move-object/from16 v0, v22 -+ -+ invoke-direct {v3, v0}, Ljava/io/FileOutputStream;->(Ljava/io/File;)V -+ -+ move-object/from16 v0, v24 -+ -+ invoke-direct {v0, v3}, Ljava/io/OutputStreamWriter;->(Ljava/io/OutputStream;)V -+ -+ new-instance v3, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V -+ -+ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B -+ -+ move-result v4 -+ -+ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ const-string v4, "" -+ -+ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v3 -+ -+ move-object/from16 v0, v24 -+ -+ invoke-virtual {v0, v3}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer; -+ -+ invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->flush()V -+ -+ invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->close()V -+ :try_end_487 -+ .catchall {:try_start_43c .. :try_end_487} :catchall_291 -+ .catch Ljava/io/IOException; {:try_start_43c .. :try_end_487} :catch_4be -+ .catch Ljava/lang/Exception; {:try_start_43c .. :try_end_487} :catch_213 -+ -+ :try_start_487 -+ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V -+ :try_end_48a -+ .catchall {:try_start_487 .. :try_end_48a} :catchall_291 -+ .catch Ljava/lang/Exception; {:try_start_487 .. :try_end_48a} :catch_213 -+ -+ :try_start_48a -+ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V -+ -+ if-eqz v11, :cond_492 -+ -+ invoke-interface {v11}, Landroid/database/Cursor;->close()V -+ -+ :cond_492 -+ sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ monitor-enter v4 -+ :try_end_495 -+ .catchall {:try_start_48a .. :try_end_495} :catchall_2c2 -+ -+ :try_start_495 -+ sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v3 -+ -+ add-int/lit8 v3, v3, -0x1 -+ -+ invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v3 -+ -+ sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v3 -+ -+ if-nez v3, :cond_4b8 -+ -+ if-eqz v2, :cond_4b8 -+ -+ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v3 -+ -+ if-eqz v3, :cond_4b8 -+ -+ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V -+ -+ :cond_4b8 -+ monitor-exit v4 -+ -+ goto/16 :goto_245 -+ -+ :catchall_4bb -+ move-exception v3 -+ -+ monitor-exit v4 -+ :try_end_4bd -+ .catchall {:try_start_495 .. :try_end_4bd} :catchall_4bb -+ -+ :try_start_4bd -+ throw v3 -+ :try_end_4be -+ .catchall {:try_start_4bd .. :try_end_4be} :catchall_2c2 -+ -+ :catch_4be -+ move-exception v13 -+ -+ const/16 v18, 0x0 -+ -+ :try_start_4c1 -+ new-instance v3, Ljava/lang/Exception; -+ -+ const-string/jumbo v4, "saveSettings - could not write settings to file" -+ -+ invoke-direct {v3, v4, v13}, Ljava/lang/Exception;->(Ljava/lang/String;Ljava/lang/Throwable;)V -+ -+ throw v3 -+ :try_end_4ca -+ .catchall {:try_start_4c1 .. :try_end_4ca} :catchall_291 -+ .catch Ljava/lang/Exception; {:try_start_4c1 .. :try_end_4ca} :catch_213 -+ -+ :catchall_4ca -+ move-exception v3 -+ -+ :try_start_4cb -+ monitor-exit v4 -+ :try_end_4cc -+ .catchall {:try_start_4cb .. :try_end_4cc} :catchall_4ca -+ -+ :try_start_4cc -+ throw v3 -+ :try_end_4cd -+ .catchall {:try_start_4cc .. :try_end_4cd} :catchall_2c2 -+ -+ :catchall_4cd -+ move-exception v3 -+ -+ :try_start_4ce -+ monitor-exit v4 -+ :try_end_4cf -+ .catchall {:try_start_4ce .. :try_end_4cf} :catchall_4cd -+ -+ :try_start_4cf -+ throw v3 -+ :try_end_4d0 -+ .catchall {:try_start_4cf .. :try_end_4d0} :catchall_2c2 -+.end method -+ -+.method public declared-synchronized setValue(Ljava/lang/String;Ljava/lang/String;)Z -+ .registers 10 -+ -+ monitor-enter p0 -+ -+ :try_start_1 -+ const-string v3, "PrivacyPersistenceAdapter" -+ -+ new-instance v4, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v4}, Ljava/lang/StringBuilder;->()V -+ -+ const-string/jumbo v5, "setValue - name " -+ -+ invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v4 -+ -+ invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v4 -+ -+ const-string v5, " value " -+ -+ invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v4 -+ -+ invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v4 -+ -+ invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v4 -+ -+ invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ -+ new-instance v2, Landroid/content/ContentValues; -+ -+ invoke-direct {v2}, Landroid/content/ContentValues;->()V -+ -+ const-string/jumbo v3, "name" -+ -+ invoke-virtual {v2, v3, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V -+ -+ const-string/jumbo v3, "value" -+ -+ invoke-virtual {v2, v3, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V -+ -+ invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase; -+ -+ move-result-object v0 -+ -+ const-string/jumbo v3, "map" -+ -+ const/4 v4, 0x0 -+ -+ invoke-virtual {v0, v3, v4, v2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J -+ -+ move-result-wide v3 -+ -+ const-wide/16 v5, -0x1 -+ -+ cmp-long v3, v3, v5 -+ -+ if-eqz v3, :cond_5d -+ -+ const/4 v1, 0x1 -+ -+ :goto_48 -+ sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; -+ -+ invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v3 -+ -+ if-nez v3, :cond_5b -+ -+ if-eqz v0, :cond_5b -+ -+ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z -+ -+ move-result v3 -+ -+ if-eqz v3, :cond_5b -+ -+ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V -+ :try_end_5b -+ .catchall {:try_start_1 .. :try_end_5b} :catchall_5f -+ -+ :cond_5b -+ monitor-exit p0 -+ -+ return v1 -+ -+ :cond_5d -+ const/4 v1, 0x0 -+ -+ goto :goto_48 -+ -+ :catchall_5f -+ move-exception v3 -+ -+ monitor-exit p0 -+ -+ throw v3 -+.end method -diff -Npru stock-framework/smali/android/privacy/PrivacySettings$1.smali pdroid-framework/smali/android/privacy/PrivacySettings$1.smali ---- stock-framework/smali/android/privacy/PrivacySettings$1.smali 1969-12-31 18:00:00.000000000 -0600 -+++ pdroid-framework/smali/android/privacy/PrivacySettings$1.smali 2012-10-12 12:32:44.250969025 -0500 -@@ -0,0 +1,77 @@ -+.class final Landroid/privacy/PrivacySettings$1; -+.super Ljava/lang/Object; -+.source "PrivacySettings.java" -+ -+# interfaces -+.implements Landroid/os/Parcelable$Creator; -+ -+ -+# annotations -+.annotation system Ldalvik/annotation/EnclosingClass; -+ value = Landroid/privacy/PrivacySettings; -+.end annotation -+ -+.annotation system Ldalvik/annotation/InnerClass; -+ accessFlags = 0x8 -+ name = null -+.end annotation -+ -+.annotation system Ldalvik/annotation/Signature; -+ value = { -+ "Ljava/lang/Object;", -+ "Landroid/os/Parcelable$Creator", -+ "<", -+ "Landroid/privacy/PrivacySettings;", -+ ">;" -+ } -+.end annotation -+ -+ -+# direct methods -+.method constructor ()V -+ .registers 1 -+ -+ invoke-direct {p0}, Ljava/lang/Object;->()V -+ -+ return-void -+.end method -+ -+ -+# virtual methods -+.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings; -+ .registers 3 -+ -+ new-instance v0, Landroid/privacy/PrivacySettings; -+ -+ invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;->(Landroid/os/Parcel;)V -+ -+ return-object v0 -+.end method -+ -+.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -+ .registers 3 -+ -+ invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v0 -+ -+ return-object v0 -+.end method -+ -+.method public newArray(I)[Landroid/privacy/PrivacySettings; -+ .registers 3 -+ -+ new-array v0, p1, [Landroid/privacy/PrivacySettings; -+ -+ return-object v0 -+.end method -+ -+.method public bridge synthetic newArray(I)[Ljava/lang/Object; -+ .registers 3 -+ -+ invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings; -+ -+ move-result-object v0 -+ -+ return-object v0 -+.end method -diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali ---- stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali 1969-12-31 18:00:00.000000000 -0600 -+++ pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali 2012-10-12 12:32:44.254969053 -0500 -@@ -0,0 +1,535 @@ -+.class public Landroid/privacy/PrivacySettingsManagerService; -+.super Landroid/privacy/IPrivacySettingsManager$Stub; -+.source "PrivacySettingsManagerService.java" -+ -+ -+# static fields -+.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManagerService" -+ -+.field private static final VERSION:D = 1.32 -+ -+.field private static final WRITE_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.WRITE_PRIVACY_SETTINGS" -+ -+.field public static obs:Landroid/privacy/PrivacyFileObserver; -+ -+ -+# instance fields -+.field private bootCompleted:Z -+ -+.field private context:Landroid/content/Context; -+ -+.field private enabled:Z -+ -+.field private notificationsEnabled:Z -+ -+.field private persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter; -+ -+ -+# direct methods -+.method public constructor (Landroid/content/Context;)V -+ .registers 5 -+ -+ invoke-direct {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->()V -+ -+ const-string v0, "PrivacySettingsManagerService" -+ -+ new-instance v1, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v2, "PrivacySettingsManagerService - initializing for package: " -+ -+ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v1 -+ -+ invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v1 -+ -+ const-string v2, " UID: " -+ -+ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v1 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v2 -+ -+ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v1 -+ -+ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I -+ -+ iput-object p1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context; -+ -+ new-instance v0, Landroid/privacy/PrivacyPersistenceAdapter; -+ -+ invoke-direct {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->(Landroid/content/Context;)V -+ -+ iput-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter; -+ -+ new-instance v0, Landroid/privacy/PrivacyFileObserver; -+ -+ const-string v1, "/data/system/privacy" -+ -+ invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;->(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V -+ -+ sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver; -+ -+ iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter; -+ -+ const-string v1, "enabled" -+ -+ invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ const-string v1, "1" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v0 -+ -+ iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z -+ -+ iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter; -+ -+ const-string/jumbo v1, "notifications_enabled" -+ -+ invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ const-string v1, "1" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v0 -+ -+ iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z -+ -+ const/4 v0, 0x0 -+ -+ iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z -+ -+ return-void -+.end method -+ -+ -+# virtual methods -+.method public addObserver(Ljava/lang/String;)V -+ .registers 5 -+ -+ iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context; -+ -+ const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS" -+ -+ const-string v2, "Requires WRITE_PRIVACY_SETTINGS" -+ -+ invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V -+ -+ sget-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver; -+ -+ invoke-virtual {v0, p1}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V -+ -+ return-void -+.end method -+ -+.method public deleteSettings(Ljava/lang/String;)Z -+ .registers 8 -+ -+ const/4 v5, 0x1 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v2 -+ -+ const/16 v3, 0x3e8 -+ -+ if-eq v2, v3, :cond_12 -+ -+ iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context; -+ -+ const-string v3, "android.privacy.WRITE_PRIVACY_SETTINGS" -+ -+ const-string v4, "Requires WRITE_PRIVACY_SETTINGS" -+ -+ invoke-virtual {v2, v3, v4}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V -+ -+ :cond_12 -+ iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter; -+ -+ invoke-virtual {v2, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z -+ -+ move-result v1 -+ -+ new-instance v2, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v3, "/data/system/privacy/" -+ -+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ new-instance v2, Ljava/io/File; -+ -+ invoke-direct {v2, v0}, Ljava/io/File;->(Ljava/lang/String;)V -+ -+ invoke-virtual {v2}, Ljava/io/File;->exists()Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_3e -+ -+ if-ne v1, v5, :cond_3e -+ -+ sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver; -+ -+ invoke-virtual {v2, v0}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V -+ -+ :cond_3d -+ :goto_3d -+ return v1 -+ -+ :cond_3e -+ if-ne v1, v5, :cond_3d -+ -+ sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver; -+ -+ iget-object v2, v2, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap; -+ -+ invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; -+ -+ goto :goto_3d -+.end method -+ -+.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings; -+ .registers 4 -+ -+ iget-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z -+ -+ if-nez v0, :cond_12 -+ -+ iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context; -+ -+ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ const-string v1, "com.privacy.pdroid" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_1a -+ -+ :cond_12 -+ iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter; -+ -+ const/4 v1, 0x0 -+ -+ invoke-virtual {v0, p1, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v0 -+ -+ :goto_19 -+ return-object v0 -+ -+ :cond_1a -+ const/4 v0, 0x0 -+ -+ goto :goto_19 -+.end method -+ -+.method public getVersion()D -+ .registers 3 -+ -+ const-wide v0, 0x3ff51eb851eb851fL -+ -+ return-wide v0 -+.end method -+ -+.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V -+ .registers 8 -+ -+ iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z -+ -+ if-eqz v1, :cond_34 -+ -+ iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z -+ -+ if-eqz v1, :cond_34 -+ -+ new-instance v0, Landroid/content/Intent; -+ -+ invoke-direct {v0}, Landroid/content/Intent;->()V -+ -+ const-string v1, "com.privacy.pdroid.PRIVACY_NOTIFICATION" -+ -+ invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent; -+ -+ const-string/jumbo v1, "packageName" -+ -+ invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; -+ -+ const-string/jumbo v1, "uid" -+ -+ const/4 v2, -0x1 -+ -+ invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent; -+ -+ const-string v1, "accessMode" -+ -+ invoke-virtual {v0, v1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;B)Landroid/content/Intent; -+ -+ const-string v1, "dataType" -+ -+ invoke-virtual {v0, v1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; -+ -+ const-string/jumbo v1, "output" -+ -+ invoke-virtual {v0, v1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; -+ -+ iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context; -+ -+ invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V -+ -+ :cond_34 -+ return-void -+.end method -+ -+.method public purgeSettings()Z -+ .registers 2 -+ -+ iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter; -+ -+ invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z -+ -+ move-result v0 -+ -+ return v0 -+.end method -+ -+.method public registerObservers()V -+ .registers 4 -+ -+ iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context; -+ -+ const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS" -+ -+ const-string v2, "Requires WRITE_PRIVACY_SETTINGS" -+ -+ invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V -+ -+ new-instance v0, Landroid/privacy/PrivacyFileObserver; -+ -+ const-string v1, "/data/system/privacy" -+ -+ invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;->(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V -+ -+ sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver; -+ -+ return-void -+.end method -+ -+.method public saveSettings(Landroid/privacy/PrivacySettings;)Z -+ .registers 6 -+ -+ const-string v1, "PrivacySettingsManagerService" -+ -+ new-instance v2, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V -+ -+ const-string/jumbo v3, "saveSettings - checking if caller (UID: " -+ -+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v3 -+ -+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ const-string v3, ") has sufficient permissions" -+ -+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v2 -+ -+ invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v1 -+ -+ const/16 v2, 0x3e8 -+ -+ if-eq v1, v2, :cond_34 -+ -+ iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context; -+ -+ const-string v2, "android.privacy.WRITE_PRIVACY_SETTINGS" -+ -+ const-string v3, "Requires WRITE_PRIVACY_SETTINGS" -+ -+ invoke-virtual {v1, v2, v3}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V -+ -+ :cond_34 -+ const-string v1, "PrivacySettingsManagerService" -+ -+ new-instance v2, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V -+ -+ const-string/jumbo v3, "saveSettings - " -+ -+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v2 -+ -+ invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -+ -+ iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter; -+ -+ invoke-virtual {v1, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z -+ -+ move-result v0 -+ -+ const/4 v1, 0x1 -+ -+ if-ne v0, v1, :cond_5f -+ -+ sget-object v1, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver; -+ -+ invoke-virtual {p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v1, v2}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V -+ -+ :cond_5f -+ return v0 -+.end method -+ -+.method public setBootCompleted()V -+ .registers 2 -+ -+ const/4 v0, 0x1 -+ -+ iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z -+ -+ return-void -+.end method -+ -+.method public setEnabled(Z)Z -+ .registers 6 -+ -+ const/4 v1, 0x1 -+ -+ if-eqz p1, :cond_12 -+ -+ const-string v0, "1" -+ -+ :goto_5 -+ iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter; -+ -+ const-string v3, "enabled" -+ -+ invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_15 -+ -+ iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z -+ -+ :goto_11 -+ return v1 -+ -+ :cond_12 -+ const-string v0, "0" -+ -+ goto :goto_5 -+ -+ :cond_15 -+ const/4 v1, 0x0 -+ -+ goto :goto_11 -+.end method -+ -+.method public setNotificationsEnabled(Z)Z -+ .registers 6 -+ -+ const/4 v1, 0x1 -+ -+ if-eqz p1, :cond_15 -+ -+ const-string v0, "1" -+ -+ :goto_5 -+ iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter; -+ -+ const-string/jumbo v3, "notifications_enabled" -+ -+ invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_18 -+ -+ iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z -+ -+ iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z -+ -+ :goto_14 -+ return v1 -+ -+ :cond_15 -+ const-string v0, "0" -+ -+ goto :goto_5 -+ -+ :cond_18 -+ const/4 v1, 0x0 -+ -+ goto :goto_14 -+.end method -diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManager.smali pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali ---- stock-framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600 -+++ pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali 2012-10-12 12:32:44.254969053 -0500 -@@ -0,0 +1,531 @@ -+.class public Landroid/privacy/PrivacySettingsManager; -+.super Ljava/lang/Object; -+.source "PrivacySettingsManager.java" -+ -+ -+# static fields -+.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION" -+ -+.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager" -+ -+ -+# instance fields -+.field private service:Landroid/privacy/IPrivacySettingsManager; -+ -+ -+# direct methods -+.method public constructor (Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V -+ .registers 3 -+ -+ invoke-direct {p0}, Ljava/lang/Object;->()V -+ -+ iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ return-void -+.end method -+ -+ -+# virtual methods -+.method public addObserver(Ljava/lang/String;)V -+ .registers 5 -+ -+ :try_start_0 -+ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ if-eqz v1, :cond_a -+ -+ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V -+ -+ :goto_9 -+ return-void -+ -+ :cond_a -+ const-string v1, "PrivacySettingsManager" -+ -+ const-string v2, "deleteSettings - PrivacySettingsManagerService is null" -+ -+ invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ :try_end_11 -+ .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12 -+ -+ goto :goto_9 -+ -+ :catch_12 -+ move-exception v0 -+ -+ const-string v1, "PrivacySettingsManager" -+ -+ const-string v2, "RemoteException in addObserver: " -+ -+ invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -+ -+ goto :goto_9 -+.end method -+ -+.method public deleteSettings(Ljava/lang/String;)Z -+ .registers 3 -+ -+ invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z -+ -+ move-result v0 -+ -+ return v0 -+.end method -+ -+.method public deleteSettings(Ljava/lang/String;I)Z -+ .registers 7 -+ -+ const/4 v1, 0x0 -+ -+ :try_start_1 -+ iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ if-eqz v2, :cond_c -+ -+ iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z -+ -+ move-result v1 -+ -+ :goto_b -+ return v1 -+ -+ :cond_c -+ const-string v2, "PrivacySettingsManager" -+ -+ const-string v3, "deleteSettings - PrivacySettingsManagerService is null" -+ -+ invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ :try_end_13 -+ .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14 -+ -+ goto :goto_b -+ -+ :catch_14 -+ move-exception v0 -+ -+ const-string v2, "PrivacySettingsManager" -+ -+ const-string v3, "RemoteException in deleteSettings: " -+ -+ invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -+ -+ goto :goto_b -+.end method -+ -+.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings; -+ .registers 6 -+ -+ const/4 v1, 0x0 -+ -+ :try_start_1 -+ iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ if-eqz v2, :cond_c -+ -+ iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v1 -+ -+ :goto_b -+ return-object v1 -+ -+ :cond_c -+ const-string v2, "PrivacySettingsManager" -+ -+ const-string v3, "getSettings - PrivacySettingsManagerService is null" -+ -+ invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ :try_end_13 -+ .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14 -+ -+ goto :goto_b -+ -+ :catch_14 -+ move-exception v0 -+ -+ invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V -+ -+ goto :goto_b -+.end method -+ -+.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ .registers 4 -+ -+ invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v0 -+ -+ return-object v0 -+.end method -+ -+.method public getVersion()D -+ .registers 4 -+ -+ :try_start_0 -+ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ if-eqz v1, :cond_b -+ -+ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D -+ -+ move-result-wide v1 -+ -+ :goto_a -+ return-wide v1 -+ -+ :cond_b -+ const-string v1, "PrivacySettingsManager" -+ -+ const-string v2, "getVersion - PrivacySettingsManagerService is null" -+ -+ invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ :try_end_12 -+ .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15 -+ -+ :goto_12 -+ const-wide/16 v1, 0x0 -+ -+ goto :goto_a -+ -+ :catch_15 -+ move-exception v0 -+ -+ const-string v1, "PrivacySettingsManager" -+ -+ const-string v2, "RemoteException in getVersion: " -+ -+ invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -+ -+ goto :goto_12 -+.end method -+ -+.method public isServiceAvailable()Z -+ .registers 2 -+ -+ iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ if-eqz v0, :cond_6 -+ -+ const/4 v0, 0x1 -+ -+ :goto_5 -+ return v0 -+ -+ :cond_6 -+ const/4 v0, 0x0 -+ -+ goto :goto_5 -+.end method -+ -+.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ .registers 9 -+ -+ :try_start_0 -+ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ if-eqz v1, :cond_a -+ -+ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V -+ -+ :goto_9 -+ return-void -+ -+ :cond_a -+ const-string v1, "PrivacySettingsManager" -+ -+ const-string v2, "deleteSettings - PrivacySettingsManagerService is null" -+ -+ invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ :try_end_11 -+ .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12 -+ -+ goto :goto_9 -+ -+ :catch_12 -+ move-exception v0 -+ -+ const-string v1, "PrivacySettingsManager" -+ -+ const-string v2, "RemoteException in notification: " -+ -+ invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -+ -+ goto :goto_9 -+.end method -+ -+.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ .registers 13 -+ -+ move-object v0, p0 -+ -+ move-object v1, p1 -+ -+ move v2, p3 -+ -+ move-object v3, p4 -+ -+ move-object v4, p5 -+ -+ move-object v5, p6 -+ -+ invoke-virtual/range {v0 .. v5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ return-void -+.end method -+ -+.method public purgeSettings()Z -+ .registers 4 -+ -+ :try_start_0 -+ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ if-eqz v1, :cond_b -+ -+ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z -+ -+ move-result v1 -+ -+ :goto_a -+ return v1 -+ -+ :cond_b -+ const-string v1, "PrivacySettingsManager" -+ -+ const-string v2, "deleteSettings - PrivacySettingsManagerService is null" -+ -+ invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ :try_end_12 -+ .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14 -+ -+ :goto_12 -+ const/4 v1, 0x0 -+ -+ goto :goto_a -+ -+ :catch_14 -+ move-exception v0 -+ -+ const-string v1, "PrivacySettingsManager" -+ -+ const-string v2, "RemoteException in purgeSettings: " -+ -+ invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -+ -+ goto :goto_12 -+.end method -+ -+.method public registerObservers()V -+ .registers 4 -+ -+ :try_start_0 -+ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ if-eqz v1, :cond_a -+ -+ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V -+ -+ :goto_9 -+ return-void -+ -+ :cond_a -+ const-string v1, "PrivacySettingsManager" -+ -+ const-string v2, "deleteSettings - PrivacySettingsManagerService is null" -+ -+ invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ :try_end_11 -+ .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12 -+ -+ goto :goto_9 -+ -+ :catch_12 -+ move-exception v0 -+ -+ const-string v1, "PrivacySettingsManager" -+ -+ const-string v2, "RemoteException in registerObservers: " -+ -+ invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -+ -+ goto :goto_9 -+.end method -+ -+.method public saveSettings(Landroid/privacy/PrivacySettings;)Z -+ .registers 6 -+ -+ const/4 v1, 0x0 -+ -+ :try_start_1 -+ iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ if-eqz v2, :cond_c -+ -+ iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z -+ -+ move-result v1 -+ -+ :goto_b -+ return v1 -+ -+ :cond_c -+ const-string v2, "PrivacySettingsManager" -+ -+ const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null" -+ -+ invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ :try_end_14 -+ .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15 -+ -+ goto :goto_b -+ -+ :catch_15 -+ move-exception v0 -+ -+ const-string v2, "PrivacySettingsManager" -+ -+ const-string v3, "RemoteException in saveSettings: " -+ -+ invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -+ -+ goto :goto_b -+.end method -+ -+.method public setBootCompleted()V -+ .registers 4 -+ -+ :try_start_0 -+ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ if-eqz v1, :cond_a -+ -+ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V -+ -+ :goto_9 -+ return-void -+ -+ :cond_a -+ const-string v1, "PrivacySettingsManager" -+ -+ const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null" -+ -+ invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ :try_end_12 -+ .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13 -+ -+ goto :goto_9 -+ -+ :catch_13 -+ move-exception v0 -+ -+ const-string v1, "PrivacySettingsManager" -+ -+ const-string v2, "RemoteException in setBootCompleted: " -+ -+ invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -+ -+ goto :goto_9 -+.end method -+ -+.method public setEnabled(Z)Z -+ .registers 5 -+ -+ :try_start_0 -+ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ if-eqz v1, :cond_b -+ -+ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z -+ -+ move-result v1 -+ -+ :goto_a -+ return v1 -+ -+ :cond_b -+ const-string v1, "PrivacySettingsManager" -+ -+ const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null" -+ -+ invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ :try_end_13 -+ .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15 -+ -+ :goto_13 -+ const/4 v1, 0x0 -+ -+ goto :goto_a -+ -+ :catch_15 -+ move-exception v0 -+ -+ const-string v1, "PrivacySettingsManager" -+ -+ const-string v2, "RemoteException in setEnabled: " -+ -+ invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -+ -+ goto :goto_13 -+.end method -+ -+.method public setNotificationsEnabled(Z)Z -+ .registers 5 -+ -+ :try_start_0 -+ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ if-eqz v1, :cond_b -+ -+ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; -+ -+ invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z -+ -+ move-result v1 -+ -+ :goto_a -+ return v1 -+ -+ :cond_b -+ const-string v1, "PrivacySettingsManager" -+ -+ const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null" -+ -+ invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ :try_end_13 -+ .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15 -+ -+ :goto_13 -+ const/4 v1, 0x0 -+ -+ goto :goto_a -+ -+ :catch_15 -+ move-exception v0 -+ -+ const-string v1, "PrivacySettingsManager" -+ -+ const-string v2, "RemoteException in setNotificationsEnabled: " -+ -+ invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -+ -+ goto :goto_13 -+.end method -diff -Npru stock-framework/smali/android/privacy/PrivacySettings.smali pdroid-framework/smali/android/privacy/PrivacySettings.smali ---- stock-framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 18:00:00.000000000 -0600 -+++ pdroid-framework/smali/android/privacy/PrivacySettings.smali 2012-10-12 12:32:44.250969025 -0500 -@@ -0,0 +1,2109 @@ -+.class public final Landroid/privacy/PrivacySettings; -+.super Ljava/lang/Object; -+.source "PrivacySettings.java" -+ -+# interfaces -+.implements Landroid/os/Parcelable; -+ -+ -+# static fields -+.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null -+ .annotation system Ldalvik/annotation/Signature; -+ value = { -+ "Landroid/os/Parcelable$Creator", -+ "<", -+ "Landroid/privacy/PrivacySettings;", -+ ">;" -+ } -+ .end annotation -+.end field -+ -+.field public static final CUSTOM:B = 0x2t -+ -+.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList" -+ -+.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens" -+ -+.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks" -+ -+.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar" -+ -+.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog" -+ -+.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts" -+ -+.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID" -+ -+.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall" -+ -+.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted" -+ -+.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number" -+ -+.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS" -+ -+.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork" -+ -+.field public static final DATA_MMS:Ljava/lang/String; = "mms" -+ -+.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms" -+ -+.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent" -+ -+.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM" -+ -+.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall" -+ -+.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial" -+ -+.field public static final DATA_SMS:Ljava/lang/String; = "sms" -+ -+.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID" -+ -+.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs" -+ -+.field public static final EMPTY:B = 0x1t -+ -+.field public static final RANDOM:B = 0x3t -+ -+.field public static final REAL:B = 0x0t -+ -+.field public static final SETTING_NOTIFY_OFF:B = 0x0t -+ -+.field public static final SETTING_NOTIFY_ON:B = 0x1t -+ -+ -+# instance fields -+.field private final _id:Ljava/lang/Integer; -+ -+.field private accountsAuthTokensSetting:B -+ -+.field private accountsSetting:B -+ -+.field private allowedContacts:[I -+ -+.field private bookmarksSetting:B -+ -+.field private calendarSetting:B -+ -+.field private callLogSetting:B -+ -+.field private contactsSetting:B -+ -+.field private deviceId:Ljava/lang/String; -+ -+.field private deviceIdSetting:B -+ -+.field private incomingCallsSetting:B -+ -+.field private intentBootCompletedSetting:B -+ -+.field private line1Number:Ljava/lang/String; -+ -+.field private line1NumberSetting:B -+ -+.field private locationGpsLat:Ljava/lang/String; -+ -+.field private locationGpsLon:Ljava/lang/String; -+ -+.field private locationGpsSetting:B -+ -+.field private locationNetworkLat:Ljava/lang/String; -+ -+.field private locationNetworkLon:Ljava/lang/String; -+ -+.field private locationNetworkSetting:B -+ -+.field private mmsSetting:B -+ -+.field private networkInfoSetting:B -+ -+.field private notificationSetting:B -+ -+.field private outgoingCallsSetting:B -+ -+.field private packageName:Ljava/lang/String; -+ -+.field private simInfoSetting:B -+ -+.field private simSerialNumber:Ljava/lang/String; -+ -+.field private simSerialNumberSetting:B -+ -+.field private smsSetting:B -+ -+.field private subscriberId:Ljava/lang/String; -+ -+.field private subscriberIdSetting:B -+ -+.field private systemLogsSetting:B -+ -+.field private uid:I -+ -+ -+# direct methods -+.method static constructor ()V -+ .registers 1 -+ -+ new-instance v0, Landroid/privacy/PrivacySettings$1; -+ -+ invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;->()V -+ -+ sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator; -+ -+ return-void -+.end method -+ -+.method public constructor (Landroid/os/Parcel;)V -+ .registers 4 -+ -+ invoke-direct {p0}, Ljava/lang/Object;->()V -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -+ -+ move-result v0 -+ -+ const/4 v1, -0x1 -+ -+ if-ne v0, v1, :cond_ce -+ -+ const/4 v1, 0x0 -+ -+ :goto_b -+ iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer; -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String; -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -+ -+ move-result v1 -+ -+ iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B -+ -+ move-result v1 -+ -+ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String; -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B -+ -+ move-result v1 -+ -+ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String; -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B -+ -+ move-result v1 -+ -+ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String; -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String; -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B -+ -+ move-result v1 -+ -+ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String; -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String; -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B -+ -+ move-result v1 -+ -+ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B -+ -+ move-result v1 -+ -+ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B -+ -+ move-result v1 -+ -+ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String; -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B -+ -+ move-result v1 -+ -+ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String; -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B -+ -+ move-result v1 -+ -+ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B -+ -+ move-result v1 -+ -+ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B -+ -+ move-result v1 -+ -+ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B -+ -+ move-result v1 -+ -+ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B -+ -+ move-result v1 -+ -+ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B -+ -+ move-result v1 -+ -+ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B -+ -+ move-result v1 -+ -+ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B -+ -+ move-result v1 -+ -+ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B -+ -+ move-result v1 -+ -+ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B -+ -+ move-result v1 -+ -+ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B -+ -+ move-result v1 -+ -+ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B -+ -+ move-result v1 -+ -+ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B -+ -+ move-result v1 -+ -+ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B -+ -+ invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I -+ -+ move-result-object v1 -+ -+ iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I -+ -+ return-void -+ -+ :cond_ce -+ invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -+ -+ move-result-object v1 -+ -+ goto/16 :goto_b -+.end method -+ -+.method public constructor (Ljava/lang/Integer;Ljava/lang/String;I)V -+ .registers 6 -+ -+ const/4 v1, 0x0 -+ -+ const/4 v0, 0x0 -+ -+ invoke-direct {p0}, Ljava/lang/Object;->()V -+ -+ iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer; -+ -+ iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String; -+ -+ iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B -+ -+ iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String; -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B -+ -+ iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String; -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B -+ -+ iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String; -+ -+ iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String; -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B -+ -+ iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String; -+ -+ iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String; -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B -+ -+ iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String; -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B -+ -+ iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String; -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B -+ -+ iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I -+ -+ return-void -+.end method -+ -+.method public constructor (Ljava/lang/Integer;Ljava/lang/String;IBLjava/lang/String;BLjava/lang/String;BLjava/lang/String;Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;BBBLjava/lang/String;BLjava/lang/String;BBBBBBBBBBBBBBBB[I)V -+ .registers 38 -+ -+ invoke-direct {p0}, Ljava/lang/Object;->()V -+ -+ iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer; -+ -+ iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String; -+ -+ iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I -+ -+ iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B -+ -+ iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String; -+ -+ iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B -+ -+ iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String; -+ -+ iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B -+ -+ iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String; -+ -+ iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String; -+ -+ iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B -+ -+ iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String; -+ -+ iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String; -+ -+ iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B -+ -+ move/from16 v0, p15 -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B -+ -+ move/from16 v0, p16 -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B -+ -+ move-object/from16 v0, p17 -+ -+ iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String; -+ -+ move/from16 v0, p18 -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B -+ -+ move-object/from16 v0, p19 -+ -+ iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String; -+ -+ move/from16 v0, p20 -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B -+ -+ move/from16 v0, p21 -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B -+ -+ move/from16 v0, p22 -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B -+ -+ move/from16 v0, p23 -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B -+ -+ move/from16 v0, p24 -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B -+ -+ move/from16 v0, p25 -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B -+ -+ move/from16 v0, p26 -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B -+ -+ move/from16 v0, p27 -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B -+ -+ move/from16 v0, p28 -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B -+ -+ move/from16 v0, p29 -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B -+ -+ move/from16 v0, p30 -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B -+ -+ move/from16 v0, p34 -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B -+ -+ move/from16 v0, p35 -+ -+ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B -+ -+ move-object/from16 v0, p36 -+ -+ iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I -+ -+ return-void -+.end method -+ -+.method private getRandomLat()Ljava/lang/String; -+ .registers 10 -+ -+ const-wide v7, 0x4056800000000000L -+ -+ invoke-static {}, Ljava/lang/Math;->random()D -+ -+ move-result-wide v3 -+ -+ const-wide v5, 0x4066800000000000L -+ -+ mul-double v0, v3, v5 -+ -+ cmpl-double v3, v0, v7 -+ -+ if-lez v3, :cond_35 -+ -+ new-instance v2, Ljava/math/BigDecimal; -+ -+ sub-double v3, v0, v7 -+ -+ invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;->(D)V -+ -+ :goto_1b -+ new-instance v3, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V -+ -+ const/4 v4, 0x6 -+ -+ const/4 v5, 0x4 -+ -+ invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal; -+ -+ move-result-object v4 -+ -+ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ const-string v4, "" -+ -+ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v3 -+ -+ return-object v3 -+ -+ :cond_35 -+ new-instance v2, Ljava/math/BigDecimal; -+ -+ neg-double v3, v0 -+ -+ invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;->(D)V -+ -+ goto :goto_1b -+.end method -+ -+.method private getRandomLon()Ljava/lang/String; -+ .registers 10 -+ -+ const-wide v7, 0x4066800000000000L -+ -+ invoke-static {}, Ljava/lang/Math;->random()D -+ -+ move-result-wide v3 -+ -+ const-wide v5, 0x4076800000000000L -+ -+ mul-double v0, v3, v5 -+ -+ cmpl-double v3, v0, v7 -+ -+ if-lez v3, :cond_35 -+ -+ new-instance v2, Ljava/math/BigDecimal; -+ -+ sub-double v3, v0, v7 -+ -+ invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;->(D)V -+ -+ :goto_1b -+ new-instance v3, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V -+ -+ const/4 v4, 0x6 -+ -+ const/4 v5, 0x4 -+ -+ invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal; -+ -+ move-result-object v4 -+ -+ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ const-string v4, "" -+ -+ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v3 -+ -+ return-object v3 -+ -+ :cond_35 -+ new-instance v2, Ljava/math/BigDecimal; -+ -+ neg-double v3, v0 -+ -+ invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;->(D)V -+ -+ goto :goto_1b -+.end method -+ -+ -+# virtual methods -+.method public describeContents()I -+ .registers 2 -+ -+ const/4 v0, 0x0 -+ -+ return v0 -+.end method -+ -+.method public getAccountsAuthTokensSetting()B -+ .registers 2 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B -+ -+ return v0 -+.end method -+ -+.method public getAccountsSetting()B -+ .registers 2 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B -+ -+ return v0 -+.end method -+ -+.method public getAllowedContacts()[I -+ .registers 2 -+ -+ iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I -+ -+ return-object v0 -+.end method -+ -+.method public getBookmarksSetting()B -+ .registers 2 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B -+ -+ return v0 -+.end method -+ -+.method public getCalendarSetting()B -+ .registers 2 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B -+ -+ return v0 -+.end method -+ -+.method public getCallLogSetting()B -+ .registers 2 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B -+ -+ return v0 -+.end method -+ -+.method public getContactsSetting()B -+ .registers 2 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B -+ -+ return v0 -+.end method -+ -+.method public getDeviceId()Ljava/lang/String; -+ .registers 6 -+ -+ iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B -+ -+ const/4 v3, 0x1 -+ -+ if-ne v2, v3, :cond_8 -+ -+ const-string v2, "" -+ -+ :goto_7 -+ return-object v2 -+ -+ :cond_8 -+ iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B -+ -+ const/4 v3, 0x3 -+ -+ if-ne v2, v3, :cond_35 -+ -+ new-instance v0, Ljava/util/Random; -+ -+ invoke-direct {v0}, Ljava/util/Random;->()V -+ -+ new-instance v2, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V -+ -+ invoke-virtual {v0}, Ljava/util/Random;->nextLong()J -+ -+ move-result-wide v3 -+ -+ invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J -+ -+ move-result-wide v3 -+ -+ invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ const-string v3, "" -+ -+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ const/4 v2, 0x0 -+ -+ const/16 v3, 0xf -+ -+ invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String; -+ -+ move-result-object v2 -+ -+ goto :goto_7 -+ -+ :cond_35 -+ iget-object v2, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String; -+ -+ goto :goto_7 -+.end method -+ -+.method public getDeviceIdSetting()B -+ .registers 2 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B -+ -+ return v0 -+.end method -+ -+.method public getIncomingCallsSetting()B -+ .registers 2 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B -+ -+ return v0 -+.end method -+ -+.method public getIntentBootCompletedSetting()B -+ .registers 2 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B -+ -+ return v0 -+.end method -+ -+.method public getLine1Number()Ljava/lang/String; -+ .registers 6 -+ -+ iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B -+ -+ const/4 v3, 0x1 -+ -+ if-ne v2, v3, :cond_8 -+ -+ const-string v2, "" -+ -+ :goto_7 -+ return-object v2 -+ -+ :cond_8 -+ iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B -+ -+ const/4 v3, 0x3 -+ -+ if-ne v2, v3, :cond_3b -+ -+ new-instance v0, Ljava/util/Random; -+ -+ invoke-direct {v0}, Ljava/util/Random;->()V -+ -+ new-instance v2, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v3, "+" -+ -+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v0}, Ljava/util/Random;->nextLong()J -+ -+ move-result-wide v3 -+ -+ invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J -+ -+ move-result-wide v3 -+ -+ invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ const-string v3, "" -+ -+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ const/4 v2, 0x0 -+ -+ const/16 v3, 0xd -+ -+ invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String; -+ -+ move-result-object v2 -+ -+ goto :goto_7 -+ -+ :cond_3b -+ iget-object v2, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String; -+ -+ goto :goto_7 -+.end method -+ -+.method public getLine1NumberSetting()B -+ .registers 2 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B -+ -+ return v0 -+.end method -+ -+.method public getLocationGpsLat()Ljava/lang/String; -+ .registers 3 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B -+ -+ const/4 v1, 0x1 -+ -+ if-ne v0, v1, :cond_8 -+ -+ const-string v0, "" -+ -+ :goto_7 -+ return-object v0 -+ -+ :cond_8 -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B -+ -+ const/4 v1, 0x3 -+ -+ if-ne v0, v1, :cond_12 -+ -+ invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ goto :goto_7 -+ -+ :cond_12 -+ iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String; -+ -+ goto :goto_7 -+.end method -+ -+.method public getLocationGpsLon()Ljava/lang/String; -+ .registers 3 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B -+ -+ const/4 v1, 0x1 -+ -+ if-ne v0, v1, :cond_8 -+ -+ const-string v0, "" -+ -+ :goto_7 -+ return-object v0 -+ -+ :cond_8 -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B -+ -+ const/4 v1, 0x3 -+ -+ if-ne v0, v1, :cond_12 -+ -+ invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ goto :goto_7 -+ -+ :cond_12 -+ iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String; -+ -+ goto :goto_7 -+.end method -+ -+.method public getLocationGpsSetting()B -+ .registers 2 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B -+ -+ return v0 -+.end method -+ -+.method public getLocationNetworkLat()Ljava/lang/String; -+ .registers 3 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B -+ -+ const/4 v1, 0x1 -+ -+ if-ne v0, v1, :cond_8 -+ -+ const-string v0, "" -+ -+ :goto_7 -+ return-object v0 -+ -+ :cond_8 -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B -+ -+ const/4 v1, 0x3 -+ -+ if-ne v0, v1, :cond_12 -+ -+ invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ goto :goto_7 -+ -+ :cond_12 -+ iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String; -+ -+ goto :goto_7 -+.end method -+ -+.method public getLocationNetworkLon()Ljava/lang/String; -+ .registers 3 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B -+ -+ const/4 v1, 0x1 -+ -+ if-ne v0, v1, :cond_8 -+ -+ const-string v0, "" -+ -+ :goto_7 -+ return-object v0 -+ -+ :cond_8 -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B -+ -+ const/4 v1, 0x3 -+ -+ if-ne v0, v1, :cond_12 -+ -+ invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ goto :goto_7 -+ -+ :cond_12 -+ iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String; -+ -+ goto :goto_7 -+.end method -+ -+.method public getLocationNetworkSetting()B -+ .registers 2 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B -+ -+ return v0 -+.end method -+ -+.method public getMmsSetting()B -+ .registers 2 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B -+ -+ return v0 -+.end method -+ -+.method public getNetworkInfoSetting()B -+ .registers 2 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B -+ -+ return v0 -+.end method -+ -+.method public getNotificationSetting()B -+ .registers 2 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B -+ -+ return v0 -+.end method -+ -+.method public getOutgoingCallsSetting()B -+ .registers 2 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B -+ -+ return v0 -+.end method -+ -+.method public getPackageName()Ljava/lang/String; -+ .registers 2 -+ -+ iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String; -+ -+ return-object v0 -+.end method -+ -+.method public getSimInfoSetting()B -+ .registers 2 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B -+ -+ return v0 -+.end method -+ -+.method public getSimSerialNumber()Ljava/lang/String; -+ .registers 5 -+ -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B -+ -+ const/4 v2, 0x1 -+ -+ if-ne v1, v2, :cond_8 -+ -+ const-string v1, "" -+ -+ :goto_7 -+ return-object v1 -+ -+ :cond_8 -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B -+ -+ const/4 v2, 0x3 -+ -+ if-ne v1, v2, :cond_2e -+ -+ new-instance v0, Ljava/util/Random; -+ -+ invoke-direct {v0}, Ljava/util/Random;->()V -+ -+ new-instance v1, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -+ -+ invoke-virtual {v0}, Ljava/util/Random;->nextLong()J -+ -+ move-result-wide v2 -+ -+ invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J -+ -+ move-result-wide v2 -+ -+ invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; -+ -+ move-result-object v1 -+ -+ const-string v2, "" -+ -+ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v1 -+ -+ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ goto :goto_7 -+ -+ :cond_2e -+ iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String; -+ -+ goto :goto_7 -+.end method -+ -+.method public getSimSerialNumberSetting()B -+ .registers 2 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B -+ -+ return v0 -+.end method -+ -+.method public getSmsSetting()B -+ .registers 2 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B -+ -+ return v0 -+.end method -+ -+.method public getSubscriberId()Ljava/lang/String; -+ .registers 6 -+ -+ iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B -+ -+ const/4 v3, 0x1 -+ -+ if-ne v2, v3, :cond_8 -+ -+ const-string v2, "" -+ -+ :goto_7 -+ return-object v2 -+ -+ :cond_8 -+ iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B -+ -+ const/4 v3, 0x3 -+ -+ if-ne v2, v3, :cond_35 -+ -+ new-instance v0, Ljava/util/Random; -+ -+ invoke-direct {v0}, Ljava/util/Random;->()V -+ -+ new-instance v2, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V -+ -+ invoke-virtual {v0}, Ljava/util/Random;->nextLong()J -+ -+ move-result-wide v3 -+ -+ invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J -+ -+ move-result-wide v3 -+ -+ invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ const-string v3, "" -+ -+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ const/4 v2, 0x0 -+ -+ const/16 v3, 0xf -+ -+ invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String; -+ -+ move-result-object v2 -+ -+ goto :goto_7 -+ -+ :cond_35 -+ iget-object v2, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String; -+ -+ goto :goto_7 -+.end method -+ -+.method public getSubscriberIdSetting()B -+ .registers 2 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B -+ -+ return v0 -+.end method -+ -+.method public getSystemLogsSetting()B -+ .registers 2 -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B -+ -+ return v0 -+.end method -+ -+.method public getUid()I -+ .registers 2 -+ -+ iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I -+ -+ return v0 -+.end method -+ -+.method public get_id()Ljava/lang/Integer; -+ .registers 2 -+ -+ iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer; -+ -+ return-object v0 -+.end method -+ -+.method public setAccountsAuthTokensSetting(B)V -+ .registers 2 -+ -+ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B -+ -+ return-void -+.end method -+ -+.method public setAccountsSetting(B)V -+ .registers 2 -+ -+ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B -+ -+ return-void -+.end method -+ -+.method public setAllowedContacts([I)V -+ .registers 2 -+ -+ iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I -+ -+ return-void -+.end method -+ -+.method public setBookmarksSetting(B)V -+ .registers 2 -+ -+ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B -+ -+ return-void -+.end method -+ -+.method public setCalendarSetting(B)V -+ .registers 2 -+ -+ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B -+ -+ return-void -+.end method -+ -+.method public setCallLogSetting(B)V -+ .registers 2 -+ -+ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B -+ -+ return-void -+.end method -+ -+.method public setContactsSetting(B)V -+ .registers 2 -+ -+ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B -+ -+ return-void -+.end method -+ -+.method public setDeviceId(Ljava/lang/String;)V -+ .registers 2 -+ -+ iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String; -+ -+ return-void -+.end method -+ -+.method public setDeviceIdSetting(B)V -+ .registers 2 -+ -+ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B -+ -+ return-void -+.end method -+ -+.method public setIncomingCallsSetting(B)V -+ .registers 2 -+ -+ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B -+ -+ return-void -+.end method -+ -+.method public setIntentBootCompletedSetting(B)V -+ .registers 2 -+ -+ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B -+ -+ return-void -+.end method -+ -+.method public setLine1Number(Ljava/lang/String;)V -+ .registers 2 -+ -+ iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String; -+ -+ return-void -+.end method -+ -+.method public setLine1NumberSetting(B)V -+ .registers 2 -+ -+ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B -+ -+ return-void -+.end method -+ -+.method public setLocationGpsLat(Ljava/lang/String;)V -+ .registers 2 -+ -+ iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String; -+ -+ return-void -+.end method -+ -+.method public setLocationGpsLon(Ljava/lang/String;)V -+ .registers 2 -+ -+ iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String; -+ -+ return-void -+.end method -+ -+.method public setLocationGpsSetting(B)V -+ .registers 2 -+ -+ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B -+ -+ return-void -+.end method -+ -+.method public setLocationNetworkLat(Ljava/lang/String;)V -+ .registers 2 -+ -+ iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String; -+ -+ return-void -+.end method -+ -+.method public setLocationNetworkLon(Ljava/lang/String;)V -+ .registers 2 -+ -+ iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String; -+ -+ return-void -+.end method -+ -+.method public setLocationNetworkSetting(B)V -+ .registers 2 -+ -+ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B -+ -+ return-void -+.end method -+ -+.method public setMmsSetting(B)V -+ .registers 2 -+ -+ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B -+ -+ return-void -+.end method -+ -+.method public setNetworkInfoSetting(B)V -+ .registers 2 -+ -+ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B -+ -+ return-void -+.end method -+ -+.method public setNotificationSetting(B)V -+ .registers 2 -+ -+ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B -+ -+ return-void -+.end method -+ -+.method public setOutgoingCallsSetting(B)V -+ .registers 2 -+ -+ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B -+ -+ return-void -+.end method -+ -+.method public setPackageName(Ljava/lang/String;)V -+ .registers 2 -+ -+ iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String; -+ -+ return-void -+.end method -+ -+.method public setSimInfoSetting(B)V -+ .registers 2 -+ -+ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B -+ -+ return-void -+.end method -+ -+.method public setSimSerialNumber(Ljava/lang/String;)V -+ .registers 2 -+ -+ iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String; -+ -+ return-void -+.end method -+ -+.method public setSimSerialNumberSetting(B)V -+ .registers 2 -+ -+ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B -+ -+ return-void -+.end method -+ -+.method public setSmsSetting(B)V -+ .registers 2 -+ -+ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B -+ -+ return-void -+.end method -+ -+.method public setSubscriberId(Ljava/lang/String;)V -+ .registers 2 -+ -+ iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String; -+ -+ return-void -+.end method -+ -+.method public setSubscriberIdSetting(B)V -+ .registers 2 -+ -+ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B -+ -+ return-void -+.end method -+ -+.method public setSystemLogsSetting(B)V -+ .registers 2 -+ -+ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B -+ -+ return-void -+.end method -+ -+.method public setUid(I)V -+ .registers 2 -+ -+ iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I -+ -+ return-void -+.end method -+ -+.method public toString()Ljava/lang/String; -+ .registers 3 -+ -+ new-instance v0, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v1, "PrivacySettings [_id=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer; -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", accountsAuthTokensSetting=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", accountsSetting=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", bookmarksSetting=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", calendarSetting=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", callLogSetting=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", contactsSetting=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", deviceId=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String; -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", deviceIdSetting=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", incomingCallsSetting=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", intentBootCompletedSetting=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", line1Number=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String; -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", line1NumberSetting=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", locationGpsLat=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String; -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", locationGpsLon=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String; -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", locationGpsSetting=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", locationNetworkLat=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String; -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", locationNetworkLon=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String; -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", locationNetworkSetting=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", mmsSetting=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", networkInfoSetting=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", notificationSetting=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", outgoingCallsSetting=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", packageName=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String; -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", simInfoSetting=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", simSerialNumber=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String; -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", simSerialNumberSetting=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", smsSetting=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", subscriberId=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String; -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", subscriberIdSetting=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", systemLogsSetting=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, ", uid=" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ const-string v1, "]" -+ -+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v0 -+ -+ invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ return-object v0 -+.end method -+ -+.method public writeToParcel(Landroid/os/Parcel;I)V -+ .registers 4 -+ -+ iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer; -+ -+ if-nez v0, :cond_a9 -+ -+ const/4 v0, -0x1 -+ -+ :goto_5 -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V -+ -+ iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String; -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -+ -+ iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V -+ -+ iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String; -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V -+ -+ iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String; -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V -+ -+ iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String; -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -+ -+ iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String; -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V -+ -+ iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String; -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -+ -+ iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String; -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V -+ -+ iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String; -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V -+ -+ iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String; -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V -+ -+ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V -+ -+ iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I -+ -+ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V -+ -+ return-void -+ -+ :cond_a9 -+ iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer; -+ -+ invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I -+ -+ move-result v0 -+ -+ goto/16 :goto_5 -+.end method -diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali ---- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 18:00:00.000000000 -0600 -+++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2012-10-12 12:32:44.254969053 -0500 -@@ -0,0 +1,129 @@ -+.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture; -+.super Ljava/lang/Object; -+.source "PrivacyAccountManager.java" -+ -+# interfaces -+.implements Landroid/accounts/AccountManagerFuture; -+ -+ -+# annotations -+.annotation system Ldalvik/annotation/EnclosingClass; -+ value = Landroid/privacy/surrogate/PrivacyAccountManager; -+.end annotation -+ -+.annotation system Ldalvik/annotation/InnerClass; -+ accessFlags = 0x2 -+ name = "PrivacyAccountManagerFuture" -+.end annotation -+ -+.annotation system Ldalvik/annotation/Signature; -+ value = { -+ "", -+ "Ljava/lang/Object;", -+ "Landroid/accounts/AccountManagerFuture", -+ ";" -+ } -+.end annotation -+ -+ -+# instance fields -+.field private result:Ljava/lang/Object; -+ .annotation system Ldalvik/annotation/Signature; -+ value = { -+ "TV;" -+ } -+ .end annotation -+.end field -+ -+.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager; -+ -+ -+# direct methods -+.method public constructor (Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V -+ .registers 3 -+ .annotation system Ldalvik/annotation/Signature; -+ value = { -+ "(TV;)V" -+ } -+ .end annotation -+ -+ iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager; -+ -+ invoke-direct {p0}, Ljava/lang/Object;->()V -+ -+ iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object; -+ -+ return-void -+.end method -+ -+ -+# virtual methods -+.method public cancel(Z)Z -+ .registers 3 -+ -+ const/4 v0, 0x0 -+ -+ return v0 -+.end method -+ -+.method public getResult()Ljava/lang/Object; -+ .registers 2 -+ .annotation system Ldalvik/annotation/Signature; -+ value = { -+ "()TV;" -+ } -+ .end annotation -+ -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/accounts/OperationCanceledException;, -+ Ljava/io/IOException;, -+ Landroid/accounts/AuthenticatorException; -+ } -+ .end annotation -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object; -+ -+ return-object v0 -+.end method -+ -+.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object; -+ .registers 5 -+ .annotation system Ldalvik/annotation/Signature; -+ value = { -+ "(J", -+ "Ljava/util/concurrent/TimeUnit;", -+ ")TV;" -+ } -+ .end annotation -+ -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/accounts/OperationCanceledException;, -+ Ljava/io/IOException;, -+ Landroid/accounts/AuthenticatorException; -+ } -+ .end annotation -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object; -+ -+ return-object v0 -+.end method -+ -+.method public isCancelled()Z -+ .registers 2 -+ -+ const/4 v0, 0x0 -+ -+ return v0 -+.end method -+ -+.method public isDone()Z -+ .registers 2 -+ -+ const/4 v0, 0x1 -+ -+ return v0 -+.end method -diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali ---- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 18:00:00.000000000 -0600 -+++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2012-10-12 12:32:44.254969053 -0500 -@@ -0,0 +1,701 @@ -+.class public final Landroid/privacy/surrogate/PrivacyAccountManager; -+.super Landroid/accounts/AccountManager; -+.source "PrivacyAccountManager.java" -+ -+ -+# annotations -+.annotation system Ldalvik/annotation/MemberClasses; -+ value = { -+ Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture; -+ } -+.end annotation -+ -+ -+# static fields -+.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager" -+ -+ -+# instance fields -+.field private context:Landroid/content/Context; -+ -+.field private pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ -+# direct methods -+.method public constructor (Landroid/content/Context;Landroid/accounts/IAccountManager;)V -+ .registers 5 -+ -+ invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;->(Landroid/content/Context;Landroid/accounts/IAccountManager;)V -+ -+ iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context; -+ -+ new-instance v0, Landroid/privacy/PrivacySettingsManager; -+ -+ const-string/jumbo v1, "privacy" -+ -+ invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder; -+ -+ move-result-object v1 -+ -+ invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager; -+ -+ move-result-object v1 -+ -+ invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;->(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V -+ -+ iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ return-void -+.end method -+ -+.method public constructor (Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V -+ .registers 6 -+ -+ invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V -+ -+ iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context; -+ -+ new-instance v0, Landroid/privacy/PrivacySettingsManager; -+ -+ const-string/jumbo v1, "privacy" -+ -+ invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder; -+ -+ move-result-object v1 -+ -+ invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager; -+ -+ move-result-object v1 -+ -+ invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;->(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V -+ -+ iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ return-void -+.end method -+ -+ -+# virtual methods -+.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String; -+ .registers 12 -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/accounts/OperationCanceledException;, -+ Ljava/io/IOException;, -+ Landroid/accounts/AuthenticatorException; -+ } -+ .end annotation -+ -+ const/4 v5, 0x0 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v6 -+ -+ if-eqz v6, :cond_23 -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_23 -+ -+ const/4 v7, 0x0 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v3, 0x1 -+ -+ const-string v4, "authTokens" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ :goto_22 -+ return-object v7 -+ -+ :cond_23 -+ invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String; -+ -+ move-result-object v7 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v3, 0x0 -+ -+ const-string v4, "authTokens" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_22 -+.end method -+ -+.method public getAccounts()[Landroid/accounts/Account; -+ .registers 10 -+ -+ const/4 v5, 0x0 -+ -+ const/4 v3, 0x0 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v6 -+ -+ if-eqz v6, :cond_27 -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_27 -+ -+ const-string v8, "[empty accounts list]" -+ -+ new-array v7, v3, [Landroid/accounts/Account; -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v3, 0x1 -+ -+ const-string v4, "accountsList" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ :goto_26 -+ return-object v7 -+ -+ :cond_27 -+ const-string v8, "[real value]" -+ -+ invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account; -+ -+ move-result-object v7 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const-string v4, "accountsList" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_26 -+.end method -+ -+.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account; -+ .registers 11 -+ -+ const/4 v5, 0x0 -+ -+ const/4 v3, 0x0 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v6 -+ -+ if-eqz v6, :cond_27 -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_27 -+ -+ const-string v8, "[empty accounts list]" -+ -+ new-array v7, v3, [Landroid/accounts/Account; -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v3, 0x1 -+ -+ const-string v4, "accountsList" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ :goto_26 -+ return-object v7 -+ -+ :cond_27 -+ const-string v8, "[real value]" -+ -+ invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account; -+ -+ move-result-object v7 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const-string v4, "accountsList" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_26 -+.end method -+ -+.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture; -+ .registers 14 -+ .annotation system Ldalvik/annotation/Signature; -+ value = { -+ "(", -+ "Ljava/lang/String;", -+ "[", -+ "Ljava/lang/String;", -+ "Landroid/accounts/AccountManagerCallback", -+ "<[", -+ "Landroid/accounts/Account;", -+ ">;", -+ "Landroid/os/Handler;", -+ ")", -+ "Landroid/accounts/AccountManagerFuture", -+ "<[", -+ "Landroid/accounts/Account;", -+ ">;" -+ } -+ .end annotation -+ -+ const/4 v5, 0x0 -+ -+ const/4 v3, 0x0 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v6 -+ -+ if-eqz v6, :cond_2c -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_2c -+ -+ const-string v8, "[false]" -+ -+ new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture; -+ -+ new-array v0, v3, [Landroid/accounts/Account; -+ -+ invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v3, 0x1 -+ -+ const-string v4, "accountsList" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ :goto_2b -+ return-object v7 -+ -+ :cond_2c -+ const-string v8, "[real value]" -+ -+ invoke-super {p0, p1, p2, p3, p4}, Landroid/accounts/AccountManager;->getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture; -+ -+ move-result-object v7 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const-string v4, "accountsList" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_2b -+.end method -+ -+.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture; -+ .registers 16 -+ .annotation system Ldalvik/annotation/Signature; -+ value = { -+ "(", -+ "Landroid/accounts/Account;", -+ "Ljava/lang/String;", -+ "Landroid/os/Bundle;", -+ "Landroid/app/Activity;", -+ "Landroid/accounts/AccountManagerCallback", -+ "<", -+ "Landroid/os/Bundle;", -+ ">;", -+ "Landroid/os/Handler;", -+ ")", -+ "Landroid/accounts/AccountManagerFuture", -+ "<", -+ "Landroid/os/Bundle;", -+ ">;" -+ } -+ .end annotation -+ -+ const/4 v5, 0x0 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v6 -+ -+ if-eqz v6, :cond_2e -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_2e -+ -+ const-string v8, "[empty]" -+ -+ new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture; -+ -+ new-instance v0, Landroid/os/Bundle; -+ -+ invoke-direct {v0}, Landroid/os/Bundle;->()V -+ -+ invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v3, 0x1 -+ -+ const-string v4, "authTokens" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ :goto_2d -+ return-object v7 -+ -+ :cond_2e -+ const-string v8, "[real value]" -+ -+ invoke-super/range {p0 .. p6}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture; -+ -+ move-result-object v7 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v3, 0x0 -+ -+ const-string v4, "authTokens" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_2d -+.end method -+ -+.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture; -+ .registers 15 -+ .annotation system Ldalvik/annotation/Signature; -+ value = { -+ "(", -+ "Landroid/accounts/Account;", -+ "Ljava/lang/String;", -+ "Z", -+ "Landroid/accounts/AccountManagerCallback", -+ "<", -+ "Landroid/os/Bundle;", -+ ">;", -+ "Landroid/os/Handler;", -+ ")", -+ "Landroid/accounts/AccountManagerFuture", -+ "<", -+ "Landroid/os/Bundle;", -+ ">;" -+ } -+ .end annotation -+ -+ const/4 v5, 0x0 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v6 -+ -+ if-eqz v6, :cond_2e -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_2e -+ -+ const-string v8, "[empty]" -+ -+ new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture; -+ -+ new-instance v0, Landroid/os/Bundle; -+ -+ invoke-direct {v0}, Landroid/os/Bundle;->()V -+ -+ invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v3, 0x1 -+ -+ const-string v4, "authTokens" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ :goto_2d -+ return-object v7 -+ -+ :cond_2e -+ const-string v8, "[real value]" -+ -+ invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture; -+ -+ move-result-object v7 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v3, 0x0 -+ -+ const-string v4, "authTokens" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_2d -+.end method -+ -+.method public getAuthTokenByFeatures(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/app/Activity;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture; -+ .registers 18 -+ .annotation system Ldalvik/annotation/Signature; -+ value = { -+ "(", -+ "Ljava/lang/String;", -+ "Ljava/lang/String;", -+ "[", -+ "Ljava/lang/String;", -+ "Landroid/app/Activity;", -+ "Landroid/os/Bundle;", -+ "Landroid/os/Bundle;", -+ "Landroid/accounts/AccountManagerCallback", -+ "<", -+ "Landroid/os/Bundle;", -+ ">;", -+ "Landroid/os/Handler;", -+ ")", -+ "Landroid/accounts/AccountManagerFuture", -+ "<", -+ "Landroid/os/Bundle;", -+ ">;" -+ } -+ .end annotation -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v6 -+ -+ if-eqz v6, :cond_2e -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_2e -+ -+ const-string v8, "[empty]" -+ -+ new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture; -+ -+ new-instance v0, Landroid/os/Bundle; -+ -+ invoke-direct {v0}, Landroid/os/Bundle;->()V -+ -+ invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v3, 0x1 -+ -+ const-string v4, "authTokens" -+ -+ const/4 v5, 0x0 -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ :goto_2d -+ return-object v7 -+ -+ :cond_2e -+ const-string v8, "[real value]" -+ -+ invoke-super/range {p0 .. p8}, Landroid/accounts/AccountManager;->getAuthTokenByFeatures(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/app/Activity;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture; -+ -+ move-result-object v7 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v3, 0x0 -+ -+ const-string v4, "authTokens" -+ -+ const/4 v5, 0x0 -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_2d -+.end method -+ -+.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture; -+ .registers 14 -+ .annotation system Ldalvik/annotation/Signature; -+ value = { -+ "(", -+ "Landroid/accounts/Account;", -+ "[", -+ "Ljava/lang/String;", -+ "Landroid/accounts/AccountManagerCallback", -+ "<", -+ "Ljava/lang/Boolean;", -+ ">;", -+ "Landroid/os/Handler;", -+ ")", -+ "Landroid/accounts/AccountManagerFuture", -+ "<", -+ "Ljava/lang/Boolean;", -+ ">;" -+ } -+ .end annotation -+ -+ const/4 v5, 0x0 -+ -+ const/4 v3, 0x0 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v6 -+ -+ if-eqz v6, :cond_2e -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_2e -+ -+ const-string v8, "[false]" -+ -+ new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture; -+ -+ invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; -+ -+ move-result-object v0 -+ -+ invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v3, 0x1 -+ -+ const-string v4, "accountsList" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ :goto_2d -+ return-object v7 -+ -+ :cond_2e -+ const-string v8, "[real value]" -+ -+ invoke-super {p0, p1, p2, p3, p4}, Landroid/accounts/AccountManager;->hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture; -+ -+ move-result-object v7 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const-string v4, "accountsList" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_2d -+.end method -diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali ---- stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 18:00:00.000000000 -0600 -+++ pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2012-10-12 12:32:44.258969067 -0500 -@@ -0,0 +1,1087 @@ -+.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService; -+.super Ljava/lang/Object; -+.source "PrivacyActivityManagerService.java" -+ -+ -+# static fields -+.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService" -+ -+.field private static pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+.field private static tmpIn:Landroid/content/Intent; -+ -+.field private static tmpInHash:J -+ -+.field private static tmpInReceivers:I -+ -+.field private static tmpMms:Landroid/content/Intent; -+ -+.field private static tmpMmsHash:J -+ -+.field private static tmpMmsReceivers:I -+ -+.field private static tmpOut:Landroid/content/Intent; -+ -+.field private static tmpOutHash:J -+ -+.field private static tmpOutReceivers:I -+ -+.field private static tmpPackageAddedHash:J -+ -+.field private static tmpSms:Landroid/content/Intent; -+ -+.field private static tmpSmsHash:J -+ -+.field private static tmpSmsReceivers:I -+ -+ -+# direct methods -+.method static constructor ()V -+ .registers 3 -+ -+ const/4 v2, 0x0 -+ -+ const-wide/16 v0, 0x0 -+ -+ sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J -+ -+ sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I -+ -+ sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J -+ -+ sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I -+ -+ sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J -+ -+ sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I -+ -+ sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J -+ -+ sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I -+ -+ sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J -+ -+ return-void -+.end method -+ -+.method public constructor ()V -+ .registers 1 -+ -+ invoke-direct {p0}, Ljava/lang/Object;->()V -+ -+ return-void -+.end method -+ -+.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V -+ .registers 22 -+ -+ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ if-nez v2, :cond_11 -+ -+ const-string/jumbo v2, "privacy" -+ -+ move-object/from16 v0, p3 -+ -+ invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; -+ -+ move-result-object v2 -+ -+ check-cast v2, Landroid/privacy/PrivacySettingsManager; -+ -+ sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ :cond_11 -+ invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String; -+ -+ move-result-object v9 -+ -+ const-string v2, "android.intent.action.NEW_OUTGOING_CALL" -+ -+ invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_ad -+ -+ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ move-object/from16 v0, p0 -+ -+ move/from16 v1, p1 -+ -+ invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v8 -+ -+ const-string v2, "android.intent.extra.PHONE_NUMBER" -+ -+ move-object/from16 v0, p2 -+ -+ invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String; -+ -+ move-result-object v16 -+ -+ sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J -+ -+ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J -+ -+ move-result-wide v4 -+ -+ cmp-long v2, v2, v4 -+ -+ if-eqz v2, :cond_49 -+ -+ invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object; -+ -+ move-result-object v2 -+ -+ check-cast v2, Landroid/content/Intent; -+ -+ sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent; -+ -+ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J -+ -+ move-result-wide v2 -+ -+ sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J -+ -+ sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I -+ -+ :cond_49 -+ if-eqz v8, :cond_76 -+ -+ :try_start_4b -+ invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_76 -+ -+ const-string v16, "" -+ -+ const-string v2, "android.intent.extra.PHONE_NUMBER" -+ -+ move-object/from16 v0, p2 -+ -+ move-object/from16 v1, v16 -+ -+ invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; -+ -+ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v5, 0x1 -+ -+ const-string/jumbo v6, "outgoingCall" -+ -+ const/4 v7, 0x0 -+ -+ move-object/from16 v3, p0 -+ -+ move/from16 v4, p1 -+ -+ invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ :try_end_6a -+ .catch Ljava/lang/Exception; {:try_start_4b .. :try_end_6a} :catch_a0 -+ -+ :cond_6a -+ :goto_6a -+ sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I -+ -+ const/4 v3, 0x1 -+ -+ if-le v2, v3, :cond_a9 -+ -+ sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I -+ -+ add-int/lit8 v2, v2, -0x1 -+ -+ sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I -+ -+ :cond_75 -+ :goto_75 -+ return-void -+ -+ :cond_76 -+ :try_start_76 -+ sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J -+ -+ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J -+ -+ move-result-wide v4 -+ -+ cmp-long v2, v2, v4 -+ -+ if-nez v2, :cond_6a -+ -+ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent; -+ -+ const-string v3, "android.intent.extra.PHONE_NUMBER" -+ -+ invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String; -+ -+ move-result-object v16 -+ -+ const-string v2, "android.intent.extra.PHONE_NUMBER" -+ -+ move-object/from16 v0, p2 -+ -+ move-object/from16 v1, v16 -+ -+ invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; -+ -+ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v5, 0x0 -+ -+ const-string/jumbo v6, "outgoingCall" -+ -+ const/4 v7, 0x0 -+ -+ move-object/from16 v3, p0 -+ -+ move/from16 v4, p1 -+ -+ invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ :try_end_9f -+ .catch Ljava/lang/Exception; {:try_start_76 .. :try_end_9f} :catch_a0 -+ -+ goto :goto_6a -+ -+ :catch_a0 -+ move-exception v13 -+ -+ const-string v2, "PrivacyActivityManagerService" -+ -+ const-string v3, "failed to enforce intent broadcast permission" -+ -+ invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -+ -+ goto :goto_6a -+ -+ :cond_a9 -+ const/4 v2, 0x0 -+ -+ sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent; -+ -+ goto :goto_75 -+ -+ :cond_ad -+ const-string v2, "android.intent.action.PHONE_STATE" -+ -+ invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_14d -+ -+ const-string v2, "incoming_number" -+ -+ move-object/from16 v0, p2 -+ -+ invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String; -+ -+ move-result-object v16 -+ -+ if-eqz v16, :cond_75 -+ -+ invoke-virtual/range {v16 .. v16}, Ljava/lang/String;->isEmpty()Z -+ -+ move-result v2 -+ -+ if-nez v2, :cond_75 -+ -+ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ move-object/from16 v0, p0 -+ -+ move/from16 v1, p1 -+ -+ invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v8 -+ -+ sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J -+ -+ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J -+ -+ move-result-wide v4 -+ -+ cmp-long v2, v2, v4 -+ -+ if-eqz v2, :cond_e9 -+ -+ invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object; -+ -+ move-result-object v2 -+ -+ check-cast v2, Landroid/content/Intent; -+ -+ sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent; -+ -+ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J -+ -+ move-result-wide v2 -+ -+ sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J -+ -+ sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I -+ -+ :cond_e9 -+ if-eqz v8, :cond_116 -+ -+ :try_start_eb -+ invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_116 -+ -+ const-string v16, "" -+ -+ const-string v2, "incoming_number" -+ -+ move-object/from16 v0, p2 -+ -+ move-object/from16 v1, v16 -+ -+ invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; -+ -+ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v5, 0x1 -+ -+ const-string v6, "incomingCall" -+ -+ const/4 v7, 0x0 -+ -+ move-object/from16 v3, p0 -+ -+ move/from16 v4, p1 -+ -+ invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ :try_end_109 -+ .catch Ljava/lang/Exception; {:try_start_eb .. :try_end_109} :catch_13f -+ -+ :cond_109 -+ :goto_109 -+ sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I -+ -+ const/4 v3, 0x1 -+ -+ if-le v2, v3, :cond_148 -+ -+ sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I -+ -+ add-int/lit8 v2, v2, -0x1 -+ -+ sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I -+ -+ goto/16 :goto_75 -+ -+ :cond_116 -+ :try_start_116 -+ sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J -+ -+ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J -+ -+ move-result-wide v4 -+ -+ cmp-long v2, v2, v4 -+ -+ if-nez v2, :cond_109 -+ -+ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent; -+ -+ const-string v3, "incoming_number" -+ -+ invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String; -+ -+ move-result-object v16 -+ -+ const-string v2, "incoming_number" -+ -+ move-object/from16 v0, p2 -+ -+ move-object/from16 v1, v16 -+ -+ invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; -+ -+ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v5, 0x0 -+ -+ const-string v6, "incomingCall" -+ -+ const/4 v7, 0x0 -+ -+ move-object/from16 v3, p0 -+ -+ move/from16 v4, p1 -+ -+ invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ :try_end_13e -+ .catch Ljava/lang/Exception; {:try_start_116 .. :try_end_13e} :catch_13f -+ -+ goto :goto_109 -+ -+ :catch_13f -+ move-exception v13 -+ -+ const-string v2, "PrivacyActivityManagerService" -+ -+ const-string v3, "failed to enforce intent broadcast permission" -+ -+ invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -+ -+ goto :goto_109 -+ -+ :cond_148 -+ const/4 v2, 0x0 -+ -+ sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent; -+ -+ goto/16 :goto_75 -+ -+ :cond_14d -+ const-string v2, "android.provider.Telephony.SMS_RECEIVED" -+ -+ invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_222 -+ -+ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ move-object/from16 v0, p0 -+ -+ move/from16 v1, p1 -+ -+ invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v8 -+ -+ const-string v16, "[real]" -+ -+ const-string/jumbo v2, "pdus" -+ -+ move-object/from16 v0, p2 -+ -+ invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable; -+ -+ move-result-object v2 -+ -+ check-cast v2, [Ljava/lang/Object; -+ -+ move-object v15, v2 -+ -+ check-cast v15, [Ljava/lang/Object; -+ -+ if-eqz v15, :cond_1cd -+ -+ const/4 v2, 0x0 -+ -+ aget-object v2, v15, v2 -+ -+ check-cast v2, [B -+ -+ check-cast v2, [B -+ -+ move-object v12, v2 -+ -+ :goto_179 -+ sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J -+ -+ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J -+ -+ move-result-wide v4 -+ -+ cmp-long v2, v2, v4 -+ -+ if-eqz v2, :cond_193 -+ -+ invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object; -+ -+ move-result-object v2 -+ -+ check-cast v2, Landroid/content/Intent; -+ -+ sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent; -+ -+ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J -+ -+ move-result-wide v2 -+ -+ sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J -+ -+ sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I -+ -+ :cond_193 -+ if-eqz v8, :cond_1cf -+ -+ :try_start_195 -+ invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_1cf -+ -+ const-string v16, "[empty]" -+ -+ const/4 v2, 0x1 -+ -+ new-array v14, v2, [Ljava/lang/Object; -+ -+ const/4 v2, 0x0 -+ -+ const/16 v3, 0x10 -+ -+ new-array v3, v3, [B -+ -+ fill-array-data v3, :array_350 -+ -+ aput-object v3, v14, v2 -+ -+ const-string/jumbo v2, "pdus" -+ -+ move-object/from16 v0, p2 -+ -+ invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent; -+ -+ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v5, 0x1 -+ -+ const-string/jumbo v6, "sms" -+ -+ const/4 v7, 0x0 -+ -+ move-object/from16 v3, p0 -+ -+ move/from16 v4, p1 -+ -+ invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ :try_end_1c0 -+ .catch Ljava/lang/Exception; {:try_start_195 .. :try_end_1c0} :catch_212 -+ -+ :cond_1c0 -+ :goto_1c0 -+ sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I -+ -+ const/4 v3, 0x1 -+ -+ if-le v2, v3, :cond_21d -+ -+ sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I -+ -+ add-int/lit8 v2, v2, -0x1 -+ -+ sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I -+ -+ goto/16 :goto_75 -+ -+ :cond_1cd -+ const/4 v12, 0x0 -+ -+ goto :goto_179 -+ -+ :cond_1cf -+ :try_start_1cf -+ sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J -+ -+ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J -+ -+ move-result-wide v4 -+ -+ cmp-long v2, v2, v4 -+ -+ if-nez v2, :cond_1c0 -+ -+ const-string/jumbo v2, "pdus" -+ -+ sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent; -+ -+ const-string/jumbo v4, "pdus" -+ -+ invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable; -+ -+ move-result-object v3 -+ -+ move-object/from16 v0, p2 -+ -+ invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent; -+ -+ const-string/jumbo v2, "pdus" -+ -+ move-object/from16 v0, p2 -+ -+ invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable; -+ -+ move-result-object v2 -+ -+ check-cast v2, [Ljava/lang/Object; -+ -+ move-object v0, v2 -+ -+ check-cast v0, [Ljava/lang/Object; -+ -+ move-object v15, v0 -+ -+ if-eqz v15, :cond_21b -+ -+ const/4 v2, 0x0 -+ -+ aget-object v2, v15, v2 -+ -+ check-cast v2, [B -+ -+ check-cast v2, [B -+ -+ move-object v12, v2 -+ -+ :goto_203 -+ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v5, 0x0 -+ -+ const-string/jumbo v6, "sms" -+ -+ const/4 v7, 0x0 -+ -+ move-object/from16 v3, p0 -+ -+ move/from16 v4, p1 -+ -+ invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ :try_end_211 -+ .catch Ljava/lang/Exception; {:try_start_1cf .. :try_end_211} :catch_212 -+ -+ goto :goto_1c0 -+ -+ :catch_212 -+ move-exception v13 -+ -+ const-string v2, "PrivacyActivityManagerService" -+ -+ const-string v3, "failed to enforce intent broadcast permission" -+ -+ invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -+ -+ goto :goto_1c0 -+ -+ :cond_21b -+ const/4 v12, 0x0 -+ -+ goto :goto_203 -+ -+ :cond_21d -+ const/4 v2, 0x0 -+ -+ sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent; -+ -+ goto/16 :goto_75 -+ -+ :cond_222 -+ const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED" -+ -+ invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v2 -+ -+ if-nez v2, :cond_232 -+ -+ const-string v2, "android.intent.action.DATA_SMS_RECEIVED" -+ -+ invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_2ff -+ -+ :cond_232 -+ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ move-object/from16 v0, p0 -+ -+ move/from16 v1, p1 -+ -+ invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v8 -+ -+ const-string v16, "[real]" -+ -+ const-string/jumbo v2, "pdus" -+ -+ move-object/from16 v0, p2 -+ -+ invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable; -+ -+ move-result-object v2 -+ -+ check-cast v2, [Ljava/lang/Object; -+ -+ move-object v15, v2 -+ -+ check-cast v15, [Ljava/lang/Object; -+ -+ if-eqz v15, :cond_2aa -+ -+ const/4 v2, 0x0 -+ -+ aget-object v2, v15, v2 -+ -+ check-cast v2, [B -+ -+ check-cast v2, [B -+ -+ move-object v12, v2 -+ -+ :goto_256 -+ sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J -+ -+ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J -+ -+ move-result-wide v4 -+ -+ cmp-long v2, v2, v4 -+ -+ if-eqz v2, :cond_270 -+ -+ invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object; -+ -+ move-result-object v2 -+ -+ check-cast v2, Landroid/content/Intent; -+ -+ sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent; -+ -+ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J -+ -+ move-result-wide v2 -+ -+ sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J -+ -+ sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I -+ -+ :cond_270 -+ if-eqz v8, :cond_2ac -+ -+ :try_start_272 -+ invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_2ac -+ -+ const-string v16, "[empty]" -+ -+ const/4 v2, 0x1 -+ -+ new-array v14, v2, [Ljava/lang/Object; -+ -+ const/4 v2, 0x0 -+ -+ const/16 v3, 0x10 -+ -+ new-array v3, v3, [B -+ -+ fill-array-data v3, :array_35c -+ -+ aput-object v3, v14, v2 -+ -+ const-string/jumbo v2, "pdus" -+ -+ move-object/from16 v0, p2 -+ -+ invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent; -+ -+ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v5, 0x1 -+ -+ const-string/jumbo v6, "mms" -+ -+ const/4 v7, 0x0 -+ -+ move-object/from16 v3, p0 -+ -+ move/from16 v4, p1 -+ -+ invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ :try_end_29d -+ .catch Ljava/lang/Exception; {:try_start_272 .. :try_end_29d} :catch_2ef -+ -+ :cond_29d -+ :goto_29d -+ sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I -+ -+ const/4 v3, 0x1 -+ -+ if-le v2, v3, :cond_2fa -+ -+ sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I -+ -+ add-int/lit8 v2, v2, -0x1 -+ -+ sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I -+ -+ goto/16 :goto_75 -+ -+ :cond_2aa -+ const/4 v12, 0x0 -+ -+ goto :goto_256 -+ -+ :cond_2ac -+ :try_start_2ac -+ sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J -+ -+ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J -+ -+ move-result-wide v4 -+ -+ cmp-long v2, v2, v4 -+ -+ if-nez v2, :cond_29d -+ -+ const-string/jumbo v2, "pdus" -+ -+ sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent; -+ -+ const-string/jumbo v4, "pdus" -+ -+ invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable; -+ -+ move-result-object v3 -+ -+ move-object/from16 v0, p2 -+ -+ invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent; -+ -+ const-string/jumbo v2, "pdus" -+ -+ move-object/from16 v0, p2 -+ -+ invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable; -+ -+ move-result-object v2 -+ -+ check-cast v2, [Ljava/lang/Object; -+ -+ move-object v0, v2 -+ -+ check-cast v0, [Ljava/lang/Object; -+ -+ move-object v15, v0 -+ -+ if-eqz v15, :cond_2f8 -+ -+ const/4 v2, 0x0 -+ -+ aget-object v2, v15, v2 -+ -+ check-cast v2, [B -+ -+ check-cast v2, [B -+ -+ move-object v12, v2 -+ -+ :goto_2e0 -+ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v5, 0x0 -+ -+ const-string/jumbo v6, "mms" -+ -+ const/4 v7, 0x0 -+ -+ move-object/from16 v3, p0 -+ -+ move/from16 v4, p1 -+ -+ invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ :try_end_2ee -+ .catch Ljava/lang/Exception; {:try_start_2ac .. :try_end_2ee} :catch_2ef -+ -+ goto :goto_29d -+ -+ :catch_2ef -+ move-exception v13 -+ -+ const-string v2, "PrivacyActivityManagerService" -+ -+ const-string v3, "failed to enforce intent broadcast permission" -+ -+ invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -+ -+ goto :goto_29d -+ -+ :cond_2f8 -+ const/4 v12, 0x0 -+ -+ goto :goto_2e0 -+ -+ :cond_2fa -+ const/4 v2, 0x0 -+ -+ sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent; -+ -+ goto/16 :goto_75 -+ -+ :cond_2ff -+ const-string v2, "android.intent.action.BOOT_COMPLETED" -+ -+ invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_30e -+ -+ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V -+ -+ goto/16 :goto_75 -+ -+ :cond_30e -+ const-string v2, "android.intent.action.PACKAGE_ADDED" -+ -+ invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_75 -+ -+ sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J -+ -+ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J -+ -+ move-result-wide v4 -+ -+ cmp-long v2, v2, v4 -+ -+ if-eqz v2, :cond_75 -+ -+ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J -+ -+ move-result-wide v2 -+ -+ sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J -+ -+ invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String; -+ -+ move-result-object v10 -+ -+ invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle; -+ -+ move-result-object v2 -+ -+ const-string v3, "android.intent.extra.UID" -+ -+ invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I -+ -+ move-result v11 -+ -+ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v2, v10, v11}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v8 -+ -+ if-eqz v8, :cond_75 -+ -+ invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I -+ -+ move-result v2 -+ -+ if-eq v2, v11, :cond_75 -+ -+ invoke-virtual {v8, v11}, Landroid/privacy/PrivacySettings;->setUid(I)V -+ -+ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z -+ -+ goto/16 :goto_75 -+ -+ :array_350 -+ .array-data 0x1 -+ 0x0t -+ 0x20t -+ 0x1t -+ 0x81t -+ 0xf0t -+ 0x0t -+ 0x0t -+ 0x11t -+ 0x90t -+ 0x1t -+ 0x30t -+ 0x22t -+ 0x22t -+ 0x80t -+ 0x1t -+ 0x20t -+ .end array-data -+ -+ :array_35c -+ .array-data 0x1 -+ 0x0t -+ 0x20t -+ 0x1t -+ 0x81t -+ 0xf0t -+ 0x0t -+ 0x0t -+ 0x11t -+ 0x90t -+ 0x1t -+ 0x30t -+ 0x22t -+ 0x22t -+ 0x80t -+ 0x1t -+ 0x20t -+ .end array-data -+.end method -+ -+.method private static hashCode(Landroid/content/Intent;)J -+ .registers 7 -+ -+ const-wide/16 v3, 0x0 -+ -+ const-string/jumbo v2, "privacy_hash" -+ -+ invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J -+ -+ move-result-wide v0 -+ -+ cmp-long v2, v0, v3 -+ -+ if-nez v2, :cond_1e -+ -+ invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I -+ -+ move-result v2 -+ -+ int-to-long v2, v2 -+ -+ invoke-static {}, Ljava/lang/System;->currentTimeMillis()J -+ -+ move-result-wide v4 -+ -+ add-long v0, v2, v4 -+ -+ const-string/jumbo v2, "privacy_hash" -+ -+ invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent; -+ -+ :cond_1e -+ return-wide v0 -+.end method -diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali ---- stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 18:00:00.000000000 -0600 -+++ pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2012-10-12 12:32:44.258969067 -0500 -@@ -0,0 +1,624 @@ -+.class public final Landroid/privacy/surrogate/PrivacyContentResolver; -+.super Ljava/lang/Object; -+.source "PrivacyContentResolver.java" -+ -+ -+# static fields -+.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver" -+ -+.field private static pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ -+# direct methods -+.method public constructor ()V -+ .registers 1 -+ -+ invoke-direct {p0}, Ljava/lang/Object;->()V -+ -+ return-void -+.end method -+ -+.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String; -+ .registers 8 -+ -+ new-instance v4, Ljava/lang/StringBuffer; -+ -+ invoke-direct {v4}, Ljava/lang/StringBuffer;->()V -+ -+ if-eqz p0, :cond_2d -+ -+ move-object v0, p0 -+ -+ array-length v3, v0 -+ -+ const/4 v2, 0x0 -+ -+ :goto_a -+ if-ge v2, v3, :cond_30 -+ -+ aget-object v1, v0, v2 -+ -+ new-instance v5, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v5}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v6, "[" -+ -+ invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ const-string v6, "]" -+ -+ invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; -+ -+ add-int/lit8 v2, v2, 0x1 -+ -+ goto :goto_a -+ -+ :cond_2d -+ const-string v5, "" -+ -+ :goto_2f -+ return-object v5 -+ -+ :cond_30 -+ invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ goto :goto_2f -+.end method -+ -+.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor; -+ .registers 21 -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Landroid/os/RemoteException; -+ } -+ .end annotation -+ -+ if-eqz p0, :cond_1e4 -+ -+ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ if-nez v1, :cond_13 -+ -+ const-string/jumbo v1, "privacy" -+ -+ move-object/from16 v0, p2 -+ -+ invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; -+ -+ move-result-object v1 -+ -+ check-cast v1, Landroid/privacy/PrivacySettingsManager; -+ -+ sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ :cond_13 -+ invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v2 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v3 -+ -+ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v7 -+ -+ invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String; -+ -+ move-result-object v9 -+ -+ const-string v15, "[real]" -+ -+ move-object/from16 v13, p3 -+ -+ if-eqz v9, :cond_54 -+ -+ const-string v1, "contacts" -+ -+ invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v1 -+ -+ if-nez v1, :cond_3b -+ -+ const-string v1, "com.android.contacts" -+ -+ invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v1 -+ -+ if-eqz v1, :cond_ab -+ -+ :cond_3b -+ if-eqz v7, :cond_54 -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B -+ -+ move-result v1 -+ -+ const/4 v4, 0x1 -+ -+ if-ne v1, v4, :cond_55 -+ -+ const-string v15, "[empty]" -+ -+ new-instance v13, Landroid/privacy/surrogate/PrivacyCursor; -+ -+ invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;->()V -+ -+ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x1 -+ -+ const-string v5, "contacts" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ :cond_54 -+ :goto_54 -+ return-object v13 -+ -+ :cond_55 -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B -+ -+ move-result v1 -+ -+ const/4 v4, 0x2 -+ -+ if-ne v1, v4, :cond_a1 -+ -+ invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri; -+ -+ invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String; -+ -+ move-result-object v4 -+ -+ invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z -+ -+ move-result v1 -+ -+ if-eqz v1, :cond_a1 -+ -+ const/4 v11, 0x0 -+ -+ if-eqz p1, :cond_82 -+ -+ move-object/from16 v8, p1 -+ -+ array-length v12, v8 -+ -+ const/4 v10, 0x0 -+ -+ :goto_73 -+ if-ge v10, v12, :cond_82 -+ -+ aget-object v16, v8, v10 -+ -+ const-string v1, "_id" -+ -+ move-object/from16 v0, v16 -+ -+ invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v1 -+ -+ if-eqz v1, :cond_93 -+ -+ const/4 v11, 0x1 -+ -+ :cond_82 -+ if-nez v11, :cond_96 -+ -+ new-instance v13, Landroid/privacy/surrogate/PrivacyCursor; -+ -+ invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;->()V -+ -+ :goto_89 -+ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x2 -+ -+ const-string v5, "contacts" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_54 -+ -+ :cond_93 -+ add-int/lit8 v10, v10, 0x1 -+ -+ goto :goto_73 -+ -+ :cond_96 -+ new-instance v14, Landroid/privacy/surrogate/PrivacyCursor; -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I -+ -+ move-result-object v1 -+ -+ invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;->(Landroid/database/Cursor;[I)V -+ -+ move-object v13, v14 -+ -+ goto :goto_89 -+ -+ :cond_a1 -+ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x0 -+ -+ const-string v5, "contacts" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_54 -+ -+ :cond_ab -+ const-string v1, "com.android.calendar" -+ -+ invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v1 -+ -+ if-eqz v1, :cond_d8 -+ -+ if-eqz v7, :cond_cd -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B -+ -+ move-result v1 -+ -+ const/4 v4, 0x1 -+ -+ if-ne v1, v4, :cond_cd -+ -+ const-string v15, "[empty]" -+ -+ new-instance v13, Landroid/privacy/surrogate/PrivacyCursor; -+ -+ invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;->()V -+ -+ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x1 -+ -+ const-string v5, "calendar" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_54 -+ -+ :cond_cd -+ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x0 -+ -+ const-string v5, "calendar" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_54 -+ -+ :cond_d8 -+ sget-object v1, Landroid/provider/Telephony$Mms;->CONTENT_URI:Landroid/net/Uri; -+ -+ invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v1 -+ -+ if-eqz v1, :cond_10c -+ -+ if-eqz v7, :cond_100 -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B -+ -+ move-result v1 -+ -+ const/4 v4, 0x1 -+ -+ if-ne v1, v4, :cond_100 -+ -+ const-string v15, "[empty]" -+ -+ new-instance v13, Landroid/privacy/surrogate/PrivacyCursor; -+ -+ invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;->()V -+ -+ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x1 -+ -+ const-string/jumbo v5, "mms" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_54 -+ -+ :cond_100 -+ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x0 -+ -+ const-string/jumbo v5, "mms" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_54 -+ -+ :cond_10c -+ sget-object v1, Landroid/provider/Telephony$Sms;->CONTENT_URI:Landroid/net/Uri; -+ -+ invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v1 -+ -+ if-eqz v1, :cond_140 -+ -+ if-eqz v7, :cond_134 -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B -+ -+ move-result v1 -+ -+ const/4 v4, 0x1 -+ -+ if-ne v1, v4, :cond_134 -+ -+ const-string v15, "[empty]" -+ -+ new-instance v13, Landroid/privacy/surrogate/PrivacyCursor; -+ -+ invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;->()V -+ -+ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x1 -+ -+ const-string/jumbo v5, "sms" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_54 -+ -+ :cond_134 -+ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x0 -+ -+ const-string/jumbo v5, "sms" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_54 -+ -+ :cond_140 -+ sget-object v1, Landroid/provider/Telephony$MmsSms;->CONTENT_URI:Landroid/net/Uri; -+ -+ invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v1 -+ -+ if-nez v1, :cond_155 -+ -+ const-string/jumbo v1, "mms-sms-v2" -+ -+ invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v1 -+ -+ if-eqz v1, :cond_184 -+ -+ :cond_155 -+ if-eqz v7, :cond_178 -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B -+ -+ move-result v1 -+ -+ const/4 v4, 0x1 -+ -+ if-eq v1, v4, :cond_165 -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B -+ -+ move-result v1 -+ -+ const/4 v4, 0x1 -+ -+ if-ne v1, v4, :cond_178 -+ -+ :cond_165 -+ const-string v15, "[empty]" -+ -+ new-instance v13, Landroid/privacy/surrogate/PrivacyCursor; -+ -+ invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;->()V -+ -+ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x1 -+ -+ const-string/jumbo v5, "mmsSms" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_54 -+ -+ :cond_178 -+ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x0 -+ -+ const-string/jumbo v5, "mmsSms" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_54 -+ -+ :cond_184 -+ const-string v1, "call_log" -+ -+ invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v1 -+ -+ if-eqz v1, :cond_1b2 -+ -+ if-eqz v7, :cond_1a7 -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B -+ -+ move-result v1 -+ -+ const/4 v4, 0x1 -+ -+ if-ne v1, v4, :cond_1a7 -+ -+ const-string v15, "[empty]" -+ -+ new-instance v13, Landroid/privacy/surrogate/PrivacyCursor; -+ -+ invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;->()V -+ -+ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x1 -+ -+ const-string v5, "callLog" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_54 -+ -+ :cond_1a7 -+ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x0 -+ -+ const-string v5, "callLog" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_54 -+ -+ :cond_1b2 -+ sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri; -+ -+ invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v1 -+ -+ if-eqz v1, :cond_54 -+ -+ if-eqz v7, :cond_1d9 -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B -+ -+ move-result v1 -+ -+ const/4 v4, 0x1 -+ -+ if-ne v1, v4, :cond_1d9 -+ -+ const-string v15, "[empty]" -+ -+ new-instance v13, Landroid/privacy/surrogate/PrivacyCursor; -+ -+ invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;->()V -+ -+ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x1 -+ -+ const-string v5, "bookmarks" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_54 -+ -+ :cond_1d9 -+ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x0 -+ -+ const-string v5, "bookmarks" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_54 -+ -+ :cond_1e4 -+ move-object/from16 v13, p3 -+ -+ goto/16 :goto_54 -+.end method -diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali ---- stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 18:00:00.000000000 -0600 -+++ pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2012-10-12 12:32:44.258969067 -0500 -@@ -0,0 +1,1225 @@ -+.class public Landroid/privacy/surrogate/PrivacyCursor; -+.super Ljava/lang/Object; -+.source "PrivacyCursor.java" -+ -+# interfaces -+.implements Landroid/database/Cursor; -+ -+ -+# static fields -+.field private static final TAG:Ljava/lang/String; = "PrivacyCursor" -+ -+ -+# instance fields -+.field private allowedIdMapping:[I -+ -+.field private allowedIds:[I -+ -+.field private realCursor:Landroid/database/Cursor; -+ -+ -+# direct methods -+.method public constructor ()V -+ .registers 1 -+ -+ invoke-direct {p0}, Ljava/lang/Object;->()V -+ -+ return-void -+.end method -+ -+.method public constructor (Landroid/database/Cursor;[I)V -+ .registers 7 -+ -+ invoke-direct {p0}, Ljava/lang/Object;->()V -+ -+ if-eqz p2, :cond_8 -+ -+ array-length v2, p2 -+ -+ if-nez v2, :cond_9 -+ -+ :cond_8 -+ const/4 p1, 0x0 -+ -+ :cond_9 -+ iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I -+ -+ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v2, :cond_3f -+ -+ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I -+ -+ move-result v0 -+ -+ array-length v2, p2 -+ -+ new-array v2, v2, [I -+ -+ iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I -+ -+ const/4 v1, 0x0 -+ -+ :cond_1d -+ :goto_1d -+ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_3a -+ -+ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_1d -+ -+ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I -+ -+ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I -+ -+ move-result v3 -+ -+ aput v3, v2, v1 -+ -+ add-int/lit8 v1, v1, 0x1 -+ -+ goto :goto_1d -+ -+ :cond_3a -+ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z -+ -+ :cond_3f -+ return-void -+.end method -+ -+.method private getContactId(Landroid/database/Cursor;)I -+ .registers 5 -+ -+ const-string v2, "_id" -+ -+ invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I -+ -+ move-result v0 -+ -+ const/4 v1, -0x1 -+ -+ const/4 v2, -0x1 -+ -+ if-eq v0, v2, :cond_e -+ -+ invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I -+ -+ move-result v1 -+ -+ :cond_e -+ return v1 -+.end method -+ -+.method private getMappedPos(I)I -+ .registers 4 -+ -+ const/4 v0, 0x0 -+ -+ :goto_1 -+ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I -+ -+ array-length v1, v1 -+ -+ if-ge v0, v1, :cond_10 -+ -+ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I -+ -+ aget v1, v1, v0 -+ -+ if-ne v1, p1, :cond_d -+ -+ :goto_c -+ return v0 -+ -+ :cond_d -+ add-int/lit8 v0, v0, 0x1 -+ -+ goto :goto_1 -+ -+ :cond_10 -+ const/4 v0, -0x1 -+ -+ goto :goto_c -+.end method -+ -+.method private isAllowed(I)Z -+ .registers 7 -+ -+ const/4 v4, 0x0 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I -+ -+ array-length v3, v0 -+ -+ const/4 v2, 0x0 -+ -+ :goto_5 -+ if-ge v2, v3, :cond_c -+ -+ aget v1, v0, v2 -+ -+ if-ne p1, v1, :cond_d -+ -+ const/4 v4, 0x1 -+ -+ :cond_c -+ return v4 -+ -+ :cond_d -+ add-int/lit8 v2, v2, 0x1 -+ -+ goto :goto_5 -+.end method -+ -+.method private isAllowed(Landroid/database/Cursor;)Z -+ .registers 3 -+ -+ invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I -+ -+ move-result v0 -+ -+ invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z -+ -+ move-result v0 -+ -+ return v0 -+.end method -+ -+ -+# virtual methods -+.method public close()V -+ .registers 2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_9 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0}, Landroid/database/Cursor;->close()V -+ -+ :cond_9 -+ return-void -+.end method -+ -+.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V -+ .registers 4 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_9 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V -+ -+ :cond_9 -+ return-void -+.end method -+ -+.method public deactivate()V -+ .registers 2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_9 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V -+ -+ :cond_9 -+ return-void -+.end method -+ -+.method public getBlob(I)[B -+ .registers 3 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_b -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B -+ -+ move-result-object v0 -+ -+ :goto_a -+ return-object v0 -+ -+ :cond_b -+ const/4 v0, 0x0 -+ -+ new-array v0, v0, [B -+ -+ goto :goto_a -+.end method -+ -+.method public getColumnCount()I -+ .registers 2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_b -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I -+ -+ move-result v0 -+ -+ :goto_a -+ return v0 -+ -+ :cond_b -+ const/4 v0, 0x0 -+ -+ goto :goto_a -+.end method -+ -+.method public getColumnIndex(Ljava/lang/String;)I -+ .registers 3 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_b -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I -+ -+ move-result v0 -+ -+ :goto_a -+ return v0 -+ -+ :cond_b -+ const/4 v0, -0x1 -+ -+ goto :goto_a -+.end method -+ -+.method public getColumnIndexOrThrow(Ljava/lang/String;)I -+ .registers 3 -+ .annotation system Ldalvik/annotation/Throws; -+ value = { -+ Ljava/lang/IllegalArgumentException; -+ } -+ .end annotation -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_b -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I -+ -+ move-result v0 -+ -+ :goto_a -+ return v0 -+ -+ :cond_b -+ const/4 v0, -0x1 -+ -+ goto :goto_a -+.end method -+ -+.method public getColumnName(I)Ljava/lang/String; -+ .registers 3 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_b -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ :goto_a -+ return-object v0 -+ -+ :cond_b -+ const-string v0, "" -+ -+ goto :goto_a -+.end method -+ -+.method public getColumnNames()[Ljava/lang/String; -+ .registers 4 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_b -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ :goto_a -+ return-object v0 -+ -+ :cond_b -+ const/4 v0, 0x1 -+ -+ new-array v0, v0, [Ljava/lang/String; -+ -+ const/4 v1, 0x0 -+ -+ const-string v2, "" -+ -+ aput-object v2, v0, v1 -+ -+ goto :goto_a -+.end method -+ -+.method public getCount()I -+ .registers 4 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_23 -+ -+ const-string v0, "PrivacyCursor" -+ -+ new-instance v1, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v2, "getCount: " -+ -+ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v1 -+ -+ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I -+ -+ array-length v2, v2 -+ -+ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v1 -+ -+ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I -+ -+ array-length v0, v0 -+ -+ :goto_22 -+ return v0 -+ -+ :cond_23 -+ const/4 v0, 0x0 -+ -+ goto :goto_22 -+.end method -+ -+.method public getDouble(I)D -+ .registers 4 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_b -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D -+ -+ move-result-wide v0 -+ -+ :goto_a -+ return-wide v0 -+ -+ :cond_b -+ const-wide/16 v0, 0x0 -+ -+ goto :goto_a -+.end method -+ -+.method public getExtras()Landroid/os/Bundle; -+ .registers 2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_b -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle; -+ -+ move-result-object v0 -+ -+ :goto_a -+ return-object v0 -+ -+ :cond_b -+ new-instance v0, Landroid/os/Bundle; -+ -+ invoke-direct {v0}, Landroid/os/Bundle;->()V -+ -+ goto :goto_a -+.end method -+ -+.method public getFloat(I)F -+ .registers 3 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_b -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F -+ -+ move-result v0 -+ -+ :goto_a -+ return v0 -+ -+ :cond_b -+ const/4 v0, 0x0 -+ -+ goto :goto_a -+.end method -+ -+.method public getInt(I)I -+ .registers 4 -+ -+ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v1, :cond_b -+ -+ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I -+ -+ move-result v0 -+ -+ :goto_a -+ return v0 -+ -+ :cond_b -+ const/4 v0, 0x0 -+ -+ goto :goto_a -+.end method -+ -+.method public getLong(I)J -+ .registers 4 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_b -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J -+ -+ move-result-wide v0 -+ -+ :goto_a -+ return-wide v0 -+ -+ :cond_b -+ const-wide/16 v0, 0x0 -+ -+ goto :goto_a -+.end method -+ -+.method public getPosition()I -+ .registers 5 -+ -+ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v1, :cond_37 -+ -+ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I -+ -+ move-result v1 -+ -+ invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I -+ -+ move-result v0 -+ -+ const-string v1, "PrivacyCursor" -+ -+ new-instance v2, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v3, "getPosition - mapped position: " -+ -+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ const-string v3, " real position: " -+ -+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I -+ -+ move-result v3 -+ -+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v2 -+ -+ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v2 -+ -+ invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -+ -+ :goto_36 -+ return v0 -+ -+ :cond_37 -+ const/4 v0, -0x1 -+ -+ goto :goto_36 -+.end method -+ -+.method public getShort(I)S -+ .registers 3 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_b -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S -+ -+ move-result v0 -+ -+ :goto_a -+ return v0 -+ -+ :cond_b -+ const/4 v0, 0x0 -+ -+ goto :goto_a -+.end method -+ -+.method public getString(I)Ljava/lang/String; -+ .registers 3 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_b -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ :goto_a -+ return-object v0 -+ -+ :cond_b -+ const-string v0, "" -+ -+ goto :goto_a -+.end method -+ -+.method public getType(I)I -+ .registers 3 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_b -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0, p1}, Landroid/database/Cursor;->getType(I)I -+ -+ move-result v0 -+ -+ :goto_a -+ return v0 -+ -+ :cond_b -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ const/4 v0, 0x0 -+ -+ goto :goto_a -+.end method -+ -+.method public getWantsAllOnMoveCalls()Z -+ .registers 2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_b -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z -+ -+ move-result v0 -+ -+ :goto_a -+ return v0 -+ -+ :cond_b -+ const/4 v0, 0x0 -+ -+ goto :goto_a -+.end method -+ -+.method public isAfterLast()Z -+ .registers 2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_b -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z -+ -+ move-result v0 -+ -+ :goto_a -+ return v0 -+ -+ :cond_b -+ const/4 v0, 0x0 -+ -+ goto :goto_a -+.end method -+ -+.method public isBeforeFirst()Z -+ .registers 2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_b -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0}, Landroid/database/Cursor;->isBeforeFirst()Z -+ -+ move-result v0 -+ -+ :goto_a -+ return v0 -+ -+ :cond_b -+ const/4 v0, 0x0 -+ -+ goto :goto_a -+.end method -+ -+.method public isClosed()Z -+ .registers 2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_b -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z -+ -+ move-result v0 -+ -+ :goto_a -+ return v0 -+ -+ :cond_b -+ const/4 v0, 0x0 -+ -+ goto :goto_a -+.end method -+ -+.method public isFirst()Z -+ .registers 4 -+ -+ const/4 v0, 0x0 -+ -+ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v1, :cond_12 -+ -+ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I -+ -+ move-result v1 -+ -+ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I -+ -+ aget v2, v2, v0 -+ -+ if-ne v1, v2, :cond_12 -+ -+ const/4 v0, 0x1 -+ -+ :cond_12 -+ return v0 -+.end method -+ -+.method public isLast()Z -+ .registers 4 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_17 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I -+ -+ move-result v0 -+ -+ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I -+ -+ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I -+ -+ array-length v2, v2 -+ -+ add-int/lit8 v2, v2, -0x1 -+ -+ aget v1, v1, v2 -+ -+ if-ne v0, v1, :cond_17 -+ -+ const/4 v0, 0x1 -+ -+ :goto_16 -+ return v0 -+ -+ :cond_17 -+ const/4 v0, 0x0 -+ -+ goto :goto_16 -+.end method -+ -+.method public isNull(I)Z -+ .registers 3 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_b -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z -+ -+ move-result v0 -+ -+ :goto_a -+ return v0 -+ -+ :cond_b -+ const/4 v0, 0x0 -+ -+ goto :goto_a -+.end method -+ -+.method public move(I)Z -+ .registers 8 -+ -+ const/4 v2, 0x0 -+ -+ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v3, :cond_33 -+ -+ const-string v3, "PrivacyCursor" -+ -+ new-instance v4, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v4}, Ljava/lang/StringBuilder;->()V -+ -+ const-string/jumbo v5, "move - offset: " -+ -+ invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v4 -+ -+ invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -+ -+ move-result-object v4 -+ -+ invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v4 -+ -+ invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -+ -+ :try_start_1e -+ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I -+ -+ iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I -+ -+ move-result v4 -+ -+ invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I -+ -+ move-result v4 -+ -+ add-int/2addr v4, p1 -+ -+ aget v1, v3, v4 -+ -+ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z -+ :try_end_32 -+ .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_1e .. :try_end_32} :catch_34 -+ -+ move-result v2 -+ -+ :cond_33 -+ :goto_33 -+ return v2 -+ -+ :catch_34 -+ move-exception v0 -+ -+ goto :goto_33 -+.end method -+ -+.method public moveToFirst()Z -+ .registers 4 -+ -+ const/4 v0, 0x0 -+ -+ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v1, :cond_f -+ -+ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I -+ -+ aget v2, v2, v0 -+ -+ invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z -+ -+ move-result v0 -+ -+ :cond_f -+ return v0 -+.end method -+ -+.method public moveToLast()Z -+ .registers 5 -+ -+ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v1, :cond_14 -+ -+ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I -+ -+ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I -+ -+ array-length v3, v3 -+ -+ add-int/lit8 v3, v3, -0x1 -+ -+ aget v2, v2, v3 -+ -+ invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z -+ -+ move-result v0 -+ -+ :goto_13 -+ return v0 -+ -+ :cond_14 -+ const/4 v0, 0x0 -+ -+ goto :goto_13 -+.end method -+ -+.method public moveToNext()Z -+ .registers 3 -+ -+ const/4 v0, 0x0 -+ -+ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v1, :cond_d -+ -+ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z -+ -+ move-result v1 -+ -+ if-nez v1, :cond_e -+ -+ :cond_d -+ return v0 -+ -+ :cond_e -+ const/4 v0, 0x1 -+ -+ :goto_f -+ const/4 v1, 0x1 -+ -+ if-ne v0, v1, :cond_d -+ -+ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z -+ -+ move-result v1 -+ -+ if-nez v1, :cond_d -+ -+ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z -+ -+ move-result v0 -+ -+ goto :goto_f -+.end method -+ -+.method public moveToPosition(I)Z -+ .registers 6 -+ -+ const/4 v1, 0x0 -+ -+ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v2, :cond_f -+ -+ :try_start_5 -+ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I -+ -+ aget v3, v3, p1 -+ -+ invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z -+ :try_end_e -+ .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_5 .. :try_end_e} :catch_10 -+ -+ move-result v1 -+ -+ :cond_f -+ :goto_f -+ return v1 -+ -+ :catch_10 -+ move-exception v0 -+ -+ goto :goto_f -+.end method -+ -+.method public moveToPrevious()Z -+ .registers 3 -+ -+ const/4 v0, 0x0 -+ -+ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v1, :cond_d -+ -+ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z -+ -+ move-result v1 -+ -+ if-nez v1, :cond_e -+ -+ :cond_d -+ return v0 -+ -+ :cond_e -+ const/4 v0, 0x1 -+ -+ :goto_f -+ const/4 v1, 0x1 -+ -+ if-ne v0, v1, :cond_d -+ -+ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z -+ -+ move-result v1 -+ -+ if-nez v1, :cond_d -+ -+ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z -+ -+ move-result v0 -+ -+ goto :goto_f -+.end method -+ -+.method public registerContentObserver(Landroid/database/ContentObserver;)V -+ .registers 3 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_9 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V -+ -+ :cond_9 -+ return-void -+.end method -+ -+.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V -+ .registers 3 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_9 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V -+ -+ :cond_9 -+ return-void -+.end method -+ -+.method public requery()Z -+ .registers 2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_b -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0}, Landroid/database/Cursor;->requery()Z -+ -+ move-result v0 -+ -+ :goto_a -+ return v0 -+ -+ :cond_b -+ const/4 v0, 0x0 -+ -+ goto :goto_a -+.end method -+ -+.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle; -+ .registers 3 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_b -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle; -+ -+ move-result-object v0 -+ -+ :goto_a -+ return-object v0 -+ -+ :cond_b -+ new-instance v0, Landroid/os/Bundle; -+ -+ invoke-direct {v0}, Landroid/os/Bundle;->()V -+ -+ goto :goto_a -+.end method -+ -+.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V -+ .registers 4 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_9 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V -+ -+ :cond_9 -+ return-void -+.end method -+ -+.method public unregisterContentObserver(Landroid/database/ContentObserver;)V -+ .registers 3 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_9 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V -+ -+ :cond_9 -+ return-void -+.end method -+ -+.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V -+ .registers 3 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ if-eqz v0, :cond_9 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; -+ -+ invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V -+ -+ :cond_9 -+ return-void -+.end method -diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali ---- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 18:00:00.000000000 -0600 -+++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2012-10-12 12:32:44.258969067 -0500 -@@ -0,0 +1,134 @@ -+.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater; -+.super Ljava/lang/Thread; -+.source "PrivacyLocationManager.java" -+ -+ -+# annotations -+.annotation system Ldalvik/annotation/EnclosingClass; -+ value = Landroid/privacy/surrogate/PrivacyLocationManager; -+.end annotation -+ -+.annotation system Ldalvik/annotation/InnerClass; -+ accessFlags = 0x2 -+ name = "PrivacyLocationUpdater" -+.end annotation -+ -+ -+# instance fields -+.field private intent:Landroid/app/PendingIntent; -+ -+.field private latitude:D -+ -+.field private listener:Landroid/location/LocationListener; -+ -+.field private longitude:D -+ -+.field private provider:Ljava/lang/String; -+ -+.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager; -+ -+ -+# direct methods -+.method public constructor (Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V -+ .registers 9 -+ -+ iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager; -+ -+ invoke-direct {p0}, Ljava/lang/Thread;->()V -+ -+ iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String; -+ -+ iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener; -+ -+ iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent; -+ -+ iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D -+ -+ iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D -+ -+ return-void -+.end method -+ -+ -+# virtual methods -+.method public run()V -+ .registers 8 -+ -+ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String; -+ -+ if-eqz v3, :cond_43 -+ -+ new-instance v2, Landroid/location/Location; -+ -+ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String; -+ -+ invoke-direct {v2, v3}, Landroid/location/Location;->(Ljava/lang/String;)V -+ -+ iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D -+ -+ invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V -+ -+ iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D -+ -+ invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V -+ -+ const/4 v1, 0x0 -+ -+ :goto_16 -+ const/4 v3, 0x5 -+ -+ if-ge v1, v3, :cond_43 -+ -+ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener; -+ -+ if-eqz v3, :cond_34 -+ -+ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener; -+ -+ invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V -+ -+ :cond_22 -+ :goto_22 -+ :try_start_22 -+ invoke-static {}, Ljava/lang/Math;->random()D -+ -+ move-result-wide v3 -+ -+ const-wide v5, 0x408f400000000000L -+ -+ mul-double/2addr v3, v5 -+ -+ double-to-int v3, v3 -+ -+ int-to-long v3, v3 -+ -+ invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V -+ :try_end_31 -+ .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e -+ -+ :goto_31 -+ add-int/lit8 v1, v1, 0x1 -+ -+ goto :goto_16 -+ -+ :cond_34 -+ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent; -+ -+ if-eqz v3, :cond_22 -+ -+ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent; -+ -+ invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V -+ -+ goto :goto_22 -+ -+ :catch_3e -+ move-exception v0 -+ -+ invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V -+ -+ goto :goto_31 -+ -+ :cond_43 -+ return-void -+.end method -diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali ---- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 18:00:00.000000000 -0600 -+++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2012-10-12 12:32:44.262969082 -0500 -@@ -0,0 +1,2091 @@ -+.class public final Landroid/privacy/surrogate/PrivacyLocationManager; -+.super Landroid/location/LocationManager; -+.source "PrivacyLocationManager.java" -+ -+ -+# annotations -+.annotation system Ldalvik/annotation/MemberClasses; -+ value = { -+ Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater; -+ } -+.end annotation -+ -+ -+# static fields -+.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5 -+ -+.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager" -+ -+ -+# instance fields -+.field private context:Landroid/content/Context; -+ -+.field private lock:Ljava/lang/Object; -+ -+.field private pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ -+# direct methods -+.method public constructor (Landroid/location/ILocationManager;Landroid/content/Context;)V -+ .registers 5 -+ -+ invoke-direct {p0, p2, p1}, Landroid/location/LocationManager;->(Landroid/content/Context;Landroid/location/ILocationManager;)V -+ -+ new-instance v0, Ljava/lang/Object; -+ -+ invoke-direct {v0}, Ljava/lang/Object;->()V -+ -+ iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object; -+ -+ iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context; -+ -+ new-instance v0, Landroid/privacy/PrivacySettingsManager; -+ -+ const-string/jumbo v1, "privacy" -+ -+ invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder; -+ -+ move-result-object v1 -+ -+ invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager; -+ -+ move-result-object v1 -+ -+ invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;->(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V -+ -+ iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ return-void -+.end method -+ -+.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z -+ .registers 7 -+ -+ const/4 v2, 0x3 -+ -+ if-nez p1, :cond_5 -+ -+ const/4 v0, 0x0 -+ -+ :goto_4 -+ return v0 -+ -+ :cond_5 -+ invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I -+ -+ move-result v0 -+ -+ const/4 v1, 0x1 -+ -+ if-eq v0, v1, :cond_24 -+ -+ invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I -+ -+ move-result v0 -+ -+ if-eq v0, v2, :cond_24 -+ -+ invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I -+ -+ move-result v0 -+ -+ if-eq v0, v2, :cond_24 -+ -+ invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I -+ -+ move-result v0 -+ -+ if-eq v0, v2, :cond_24 -+ -+ invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I -+ -+ move-result v0 -+ -+ if-ne v0, v2, :cond_2b -+ -+ :cond_24 -+ const-string v0, "gps" -+ -+ invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z -+ -+ move-result v0 -+ -+ goto :goto_4 -+ -+ :cond_2b -+ const-string/jumbo v0, "network" -+ -+ invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z -+ -+ move-result v0 -+ -+ goto :goto_4 -+.end method -+ -+.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z -+ .registers 24 -+ -+ move-object/from16 v0, p0 -+ -+ iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object; -+ -+ move-object/from16 v19, v0 -+ -+ monitor-enter v19 -+ -+ :try_start_7 -+ move-object/from16 v0, p0 -+ -+ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v2 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v3 -+ -+ move-object/from16 v0, p0 -+ -+ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v7 -+ -+ const/16 v18, 0x0 -+ -+ if-eqz v7, :cond_239 -+ -+ const-string v1, "gps" -+ -+ move-object/from16 v0, p1 -+ -+ invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v1 -+ -+ if-eqz v1, :cond_111 -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B -+ -+ move-result v1 -+ -+ packed-switch v1, :pswitch_data_25e -+ -+ :cond_30 -+ :goto_30 -+ monitor-exit v19 -+ -+ return v18 -+ -+ :pswitch_32 -+ move-object/from16 v0, p0 -+ -+ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x0 -+ -+ const-string v5, "locationGPS" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_30 -+ -+ :catchall_3e -+ move-exception v1 -+ -+ monitor-exit v19 -+ :try_end_40 -+ .catchall {:try_start_7 .. :try_end_40} :catchall_3e -+ -+ throw v1 -+ -+ :pswitch_41 -+ if-eqz p3, :cond_46 -+ -+ :try_start_43 -+ invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V -+ -+ :cond_46 -+ const/16 v18, 0x1 -+ -+ move-object/from16 v0, p0 -+ -+ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x1 -+ -+ const-string v5, "locationGPS" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ :try_end_53 -+ .catchall {:try_start_43 .. :try_end_53} :catchall_3e -+ -+ goto :goto_30 -+ -+ :pswitch_54 -+ :try_start_54 -+ new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater; -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D -+ -+ move-result-wide v13 -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D -+ -+ move-result-wide v15 -+ -+ move-object/from16 v9, p0 -+ -+ move-object/from16 v10, p1 -+ -+ move-object/from16 v11, p2 -+ -+ move-object/from16 v12, p3 -+ -+ invoke-direct/range {v8 .. v16}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V -+ -+ invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V -+ :try_end_74 -+ .catchall {:try_start_54 .. :try_end_74} :catchall_3e -+ .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6 -+ -+ const/16 v18, 0x1 -+ -+ :goto_76 -+ :try_start_76 -+ move-object/from16 v0, p0 -+ -+ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x2 -+ -+ const-string v5, "locationGPS" -+ -+ new-instance v6, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v8, "Lat: " -+ -+ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v6 -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String; -+ -+ move-result-object v8 -+ -+ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v6 -+ -+ const-string v8, " Lon: " -+ -+ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v6 -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String; -+ -+ move-result-object v8 -+ -+ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v6 -+ -+ invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v6 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_30 -+ -+ :catch_a6 -+ move-exception v17 -+ -+ const-string v1, "PrivacyLocationManager" -+ -+ const-string/jumbo v4, "requestLocationUpdates: invalid coordinates" -+ -+ invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ :try_end_af -+ .catchall {:try_start_76 .. :try_end_af} :catchall_3e -+ -+ const/16 v18, 0x1 -+ -+ goto :goto_76 -+ -+ :pswitch_b2 -+ :try_start_b2 -+ new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater; -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D -+ -+ move-result-wide v13 -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D -+ -+ move-result-wide v15 -+ -+ move-object/from16 v9, p0 -+ -+ move-object/from16 v10, p1 -+ -+ move-object/from16 v11, p2 -+ -+ move-object/from16 v12, p3 -+ -+ invoke-direct/range {v8 .. v16}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V -+ -+ invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V -+ :try_end_d2 -+ .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e -+ .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105 -+ -+ const/16 v18, 0x1 -+ -+ :goto_d4 -+ :try_start_d4 -+ move-object/from16 v0, p0 -+ -+ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x3 -+ -+ const-string v5, "locationGPS" -+ -+ new-instance v6, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v8, "Lat: " -+ -+ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v6 -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String; -+ -+ move-result-object v8 -+ -+ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v6 -+ -+ const-string v8, " Lon: " -+ -+ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v6 -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String; -+ -+ move-result-object v8 -+ -+ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v6 -+ -+ invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v6 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_30 -+ -+ :catch_105 -+ move-exception v17 -+ -+ const-string v1, "PrivacyLocationManager" -+ -+ const-string/jumbo v4, "requestLocationUpdates: invalid coordinates" -+ -+ invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ -+ const/16 v18, 0x1 -+ -+ goto :goto_d4 -+ -+ :cond_111 -+ const-string/jumbo v1, "network" -+ -+ move-object/from16 v0, p1 -+ -+ invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v1 -+ -+ if-eqz v1, :cond_204 -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B -+ -+ move-result v1 -+ -+ packed-switch v1, :pswitch_data_26a -+ -+ goto/16 :goto_30 -+ -+ :pswitch_125 -+ move-object/from16 v0, p0 -+ -+ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x0 -+ -+ const-string v5, "locationNetwork" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_30 -+ -+ :pswitch_132 -+ if-eqz p3, :cond_137 -+ -+ invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V -+ -+ :cond_137 -+ const/16 v18, 0x1 -+ -+ move-object/from16 v0, p0 -+ -+ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x1 -+ -+ const-string v5, "locationNetwork" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ :try_end_144 -+ .catchall {:try_start_d4 .. :try_end_144} :catchall_3e -+ -+ goto/16 :goto_30 -+ -+ :pswitch_146 -+ :try_start_146 -+ new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater; -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D -+ -+ move-result-wide v13 -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D -+ -+ move-result-wide v15 -+ -+ move-object/from16 v9, p0 -+ -+ move-object/from16 v10, p1 -+ -+ move-object/from16 v11, p2 -+ -+ move-object/from16 v12, p3 -+ -+ invoke-direct/range {v8 .. v16}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V -+ -+ invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V -+ :try_end_166 -+ .catchall {:try_start_146 .. :try_end_166} :catchall_3e -+ .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199 -+ -+ const/16 v18, 0x1 -+ -+ :goto_168 -+ :try_start_168 -+ move-object/from16 v0, p0 -+ -+ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x2 -+ -+ const-string v5, "locationNetwork" -+ -+ new-instance v6, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v8, "Lat: " -+ -+ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v6 -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String; -+ -+ move-result-object v8 -+ -+ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v6 -+ -+ const-string v8, " Lon: " -+ -+ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v6 -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String; -+ -+ move-result-object v8 -+ -+ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v6 -+ -+ invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v6 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_30 -+ -+ :catch_199 -+ move-exception v17 -+ -+ const-string v1, "PrivacyLocationManager" -+ -+ const-string/jumbo v4, "requestLocationUpdates: invalid coordinates" -+ -+ invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ :try_end_1a2 -+ .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e -+ -+ const/16 v18, 0x1 -+ -+ goto :goto_168 -+ -+ :pswitch_1a5 -+ :try_start_1a5 -+ new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater; -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D -+ -+ move-result-wide v13 -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D -+ -+ move-result-wide v15 -+ -+ move-object/from16 v9, p0 -+ -+ move-object/from16 v10, p1 -+ -+ move-object/from16 v11, p2 -+ -+ move-object/from16 v12, p3 -+ -+ invoke-direct/range {v8 .. v16}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V -+ -+ invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V -+ :try_end_1c5 -+ .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e -+ .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8 -+ -+ const/16 v18, 0x1 -+ -+ :goto_1c7 -+ :try_start_1c7 -+ move-object/from16 v0, p0 -+ -+ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x3 -+ -+ const-string v5, "locationNetwork" -+ -+ new-instance v6, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v8, "Lat: " -+ -+ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v6 -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String; -+ -+ move-result-object v8 -+ -+ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v6 -+ -+ const-string v8, " Lon: " -+ -+ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v6 -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String; -+ -+ move-result-object v8 -+ -+ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v6 -+ -+ invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v6 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_30 -+ -+ :catch_1f8 -+ move-exception v17 -+ -+ const-string v1, "PrivacyLocationManager" -+ -+ const-string/jumbo v4, "requestLocationUpdates: invalid coordinates" -+ -+ invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -+ -+ const/16 v18, 0x1 -+ -+ goto :goto_1c7 -+ -+ :cond_204 -+ const-string/jumbo v1, "passive" -+ -+ move-object/from16 v0, p1 -+ -+ invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v1 -+ -+ if-eqz v1, :cond_30 -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B -+ -+ move-result v1 -+ -+ if-nez v1, :cond_22a -+ -+ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B -+ -+ move-result v1 -+ -+ if-nez v1, :cond_22a -+ -+ const/16 v18, 0x0 -+ -+ move-object/from16 v0, p0 -+ -+ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x0 -+ -+ const-string v5, "locationGPS" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_30 -+ -+ :cond_22a -+ const/16 v18, 0x1 -+ -+ move-object/from16 v0, p0 -+ -+ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x1 -+ -+ const-string v5, "locationGPS" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_30 -+ -+ :cond_239 -+ const-string/jumbo v1, "network" -+ -+ move-object/from16 v0, p1 -+ -+ invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v1 -+ -+ if-eqz v1, :cond_251 -+ -+ move-object/from16 v0, p0 -+ -+ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x0 -+ -+ const-string v5, "locationNetwork" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_30 -+ -+ :cond_251 -+ move-object/from16 v0, p0 -+ -+ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v4, 0x0 -+ -+ const-string v5, "locationGPS" -+ -+ const/4 v6, 0x0 -+ -+ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ :try_end_25c -+ .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e -+ -+ goto/16 :goto_30 -+ -+ :pswitch_data_25e -+ .packed-switch 0x0 -+ :pswitch_32 -+ :pswitch_41 -+ :pswitch_54 -+ :pswitch_b2 -+ .end packed-switch -+ -+ :pswitch_data_26a -+ .packed-switch 0x0 -+ :pswitch_125 -+ :pswitch_132 -+ :pswitch_146 -+ :pswitch_1a5 -+ .end packed-switch -+.end method -+ -+ -+# virtual methods -+.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z -+ .registers 10 -+ -+ const/4 v5, 0x0 -+ -+ const/4 v7, 0x0 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v6 -+ -+ if-eqz v6, :cond_24 -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_24 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v3, 0x1 -+ -+ const-string v4, "locationGPS" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ move v0, v7 -+ -+ :goto_23 -+ return v0 -+ -+ :cond_24 -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const-string v4, "locationGPS" -+ -+ move v3, v7 -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z -+ -+ move-result v0 -+ -+ goto :goto_23 -+.end method -+ -+.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location; -+ .registers 14 -+ -+ const/4 v11, 0x3 -+ -+ const/4 v10, 0x2 -+ -+ const/4 v8, 0x1 -+ -+ const/4 v3, 0x0 -+ -+ const/4 v5, 0x0 -+ -+ if-nez p1, :cond_c -+ -+ invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location; -+ -+ move-result-object v7 -+ -+ :cond_b -+ :goto_b -+ return-object v7 -+ -+ :cond_c -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v6 -+ -+ const/4 v7, 0x0 -+ -+ if-eqz v6, :cond_22c -+ -+ const-string v0, "gps" -+ -+ invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_ff -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B -+ -+ move-result v0 -+ -+ packed-switch v0, :pswitch_data_29a -+ -+ goto :goto_b -+ -+ :pswitch_2f -+ invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location; -+ -+ move-result-object v7 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const-string v4, "locationGPS" -+ -+ if-eqz v7, :cond_5e -+ -+ new-instance v5, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v5}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v8, "Lat: " -+ -+ invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D -+ -+ move-result-wide v8 -+ -+ invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ const-string v8, " Lon: " -+ -+ invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D -+ -+ move-result-wide v8 -+ -+ invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ :cond_5e -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_b -+ -+ :pswitch_62 -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const-string v4, "locationGPS" -+ -+ move v3, v8 -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_b -+ -+ :pswitch_6b -+ new-instance v7, Landroid/location/Location; -+ -+ invoke-direct {v7, p1}, Landroid/location/Location;->(Ljava/lang/String;)V -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D -+ -+ move-result-wide v3 -+ -+ invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D -+ -+ move-result-wide v3 -+ -+ invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const-string v4, "locationGPS" -+ -+ new-instance v3, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v5, "Lat: " -+ -+ invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D -+ -+ move-result-wide v8 -+ -+ invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ const-string v5, " Lon: " -+ -+ invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D -+ -+ move-result-wide v8 -+ -+ invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ move v3, v10 -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_b -+ -+ :pswitch_b5 -+ new-instance v7, Landroid/location/Location; -+ -+ invoke-direct {v7, p1}, Landroid/location/Location;->(Ljava/lang/String;)V -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D -+ -+ move-result-wide v3 -+ -+ invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D -+ -+ move-result-wide v3 -+ -+ invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const-string v4, "locationGPS" -+ -+ new-instance v3, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v5, "Lat: " -+ -+ invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D -+ -+ move-result-wide v8 -+ -+ invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ const-string v5, " Lon: " -+ -+ invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D -+ -+ move-result-wide v8 -+ -+ invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ move v3, v11 -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_b -+ -+ :cond_ff -+ const-string/jumbo v0, "network" -+ -+ invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_1e3 -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B -+ -+ move-result v0 -+ -+ packed-switch v0, :pswitch_data_2a6 -+ -+ goto/16 :goto_b -+ -+ :pswitch_111 -+ invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location; -+ -+ move-result-object v7 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const-string v4, "locationNetwork" -+ -+ if-eqz v7, :cond_140 -+ -+ new-instance v5, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v5}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v8, "Lat: " -+ -+ invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D -+ -+ move-result-wide v8 -+ -+ invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ const-string v8, " Lon: " -+ -+ invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D -+ -+ move-result-wide v8 -+ -+ invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ :cond_140 -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_b -+ -+ :pswitch_145 -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const-string v4, "locationNetwork" -+ -+ move v3, v8 -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_b -+ -+ :pswitch_14f -+ new-instance v7, Landroid/location/Location; -+ -+ invoke-direct {v7, p1}, Landroid/location/Location;->(Ljava/lang/String;)V -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D -+ -+ move-result-wide v3 -+ -+ invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D -+ -+ move-result-wide v3 -+ -+ invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const-string v4, "locationNetwork" -+ -+ new-instance v3, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v5, "Lat: " -+ -+ invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D -+ -+ move-result-wide v8 -+ -+ invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ const-string v5, " Lon: " -+ -+ invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D -+ -+ move-result-wide v8 -+ -+ invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ move v3, v10 -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_b -+ -+ :pswitch_199 -+ new-instance v7, Landroid/location/Location; -+ -+ invoke-direct {v7, p1}, Landroid/location/Location;->(Ljava/lang/String;)V -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D -+ -+ move-result-wide v3 -+ -+ invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D -+ -+ move-result-wide v3 -+ -+ invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const-string v4, "locationNetwork" -+ -+ new-instance v3, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v5, "Lat: " -+ -+ invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D -+ -+ move-result-wide v8 -+ -+ invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ const-string v5, " Lon: " -+ -+ invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D -+ -+ move-result-wide v8 -+ -+ invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; -+ -+ move-result-object v3 -+ -+ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ move v3, v11 -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_b -+ -+ :cond_1e3 -+ const-string/jumbo v0, "passive" -+ -+ invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_b -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B -+ -+ move-result v0 -+ -+ if-nez v0, :cond_b -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B -+ -+ move-result v0 -+ -+ if-nez v0, :cond_b -+ -+ invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location; -+ -+ move-result-object v7 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const-string v4, "locationGPS" -+ -+ if-eqz v7, :cond_227 -+ -+ new-instance v5, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v5}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v8, "Lat: " -+ -+ invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D -+ -+ move-result-wide v8 -+ -+ invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ const-string v8, " Lon: " -+ -+ invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D -+ -+ move-result-wide v8 -+ -+ invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ :cond_227 -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_b -+ -+ :cond_22c -+ invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location; -+ -+ move-result-object v7 -+ -+ const-string/jumbo v0, "network" -+ -+ invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_269 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const-string v4, "locationNetwork" -+ -+ if-eqz v7, :cond_264 -+ -+ new-instance v5, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v5}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v8, "Lat: " -+ -+ invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D -+ -+ move-result-wide v8 -+ -+ invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ const-string v8, " Lon: " -+ -+ invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D -+ -+ move-result-wide v8 -+ -+ invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ :cond_264 -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_b -+ -+ :cond_269 -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const-string v4, "locationGPS" -+ -+ if-eqz v7, :cond_294 -+ -+ new-instance v5, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v5}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v8, "Lat: " -+ -+ invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D -+ -+ move-result-wide v8 -+ -+ invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ const-string v8, " Lon: " -+ -+ invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D -+ -+ move-result-wide v8 -+ -+ invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; -+ -+ move-result-object v5 -+ -+ invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ :cond_294 -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto/16 :goto_b -+ -+ nop -+ -+ :pswitch_data_29a -+ .packed-switch 0x0 -+ :pswitch_2f -+ :pswitch_62 -+ :pswitch_6b -+ :pswitch_b5 -+ .end packed-switch -+ -+ :pswitch_data_2a6 -+ .packed-switch 0x0 -+ :pswitch_111 -+ :pswitch_145 -+ :pswitch_14f -+ :pswitch_199 -+ .end packed-switch -+.end method -+ -+.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider; -+ .registers 7 -+ -+ if-nez p1, :cond_7 -+ -+ invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider; -+ -+ move-result-object v0 -+ -+ :cond_6 -+ :goto_6 -+ return-object v0 -+ -+ :cond_7 -+ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v3 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v4 -+ -+ invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v1 -+ -+ const/4 v0, 0x0 -+ -+ if-eqz v1, :cond_5f -+ -+ const-string v2, "gps" -+ -+ invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_2f -+ -+ invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B -+ -+ move-result v2 -+ -+ packed-switch v2, :pswitch_data_64 -+ -+ :pswitch_29 -+ goto :goto_6 -+ -+ :pswitch_2a -+ invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider; -+ -+ move-result-object v0 -+ -+ goto :goto_6 -+ -+ :cond_2f -+ const-string/jumbo v2, "network" -+ -+ invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_45 -+ -+ invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B -+ -+ move-result v2 -+ -+ packed-switch v2, :pswitch_data_70 -+ -+ :pswitch_3f -+ goto :goto_6 -+ -+ :pswitch_40 -+ invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider; -+ -+ move-result-object v0 -+ -+ goto :goto_6 -+ -+ :cond_45 -+ const-string/jumbo v2, "passive" -+ -+ invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_6 -+ -+ invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_5a -+ -+ invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B -+ -+ move-result v2 -+ -+ if-nez v2, :cond_6 -+ -+ :cond_5a -+ invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider; -+ -+ move-result-object v0 -+ -+ goto :goto_6 -+ -+ :cond_5f -+ invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider; -+ -+ move-result-object v0 -+ -+ goto :goto_6 -+ -+ :pswitch_data_64 -+ .packed-switch 0x0 -+ :pswitch_2a -+ :pswitch_29 -+ :pswitch_2a -+ :pswitch_2a -+ .end packed-switch -+ -+ :pswitch_data_70 -+ .packed-switch 0x0 -+ :pswitch_40 -+ :pswitch_3f -+ :pswitch_40 -+ :pswitch_40 -+ .end packed-switch -+.end method -+ -+.method public isProviderEnabled(Ljava/lang/String;)Z -+ .registers 7 -+ -+ if-nez p1, :cond_7 -+ -+ invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z -+ -+ move-result v0 -+ -+ :cond_6 -+ :goto_6 -+ :pswitch_6 -+ return v0 -+ -+ :cond_7 -+ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v3 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v4 -+ -+ invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v1 -+ -+ const/4 v0, 0x0 -+ -+ if-eqz v1, :cond_65 -+ -+ const-string v2, "gps" -+ -+ invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_31 -+ -+ invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B -+ -+ move-result v2 -+ -+ packed-switch v2, :pswitch_data_6a -+ -+ goto :goto_6 -+ -+ :pswitch_2a -+ invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z -+ -+ move-result v0 -+ -+ goto :goto_6 -+ -+ :pswitch_2f -+ const/4 v0, 0x1 -+ -+ goto :goto_6 -+ -+ :cond_31 -+ const-string/jumbo v2, "network" -+ -+ invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_49 -+ -+ invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B -+ -+ move-result v2 -+ -+ packed-switch v2, :pswitch_data_76 -+ -+ goto :goto_6 -+ -+ :pswitch_42 -+ invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z -+ -+ move-result v0 -+ -+ goto :goto_6 -+ -+ :pswitch_47 -+ const/4 v0, 0x1 -+ -+ goto :goto_6 -+ -+ :cond_49 -+ const-string/jumbo v2, "passive" -+ -+ invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_6 -+ -+ invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B -+ -+ move-result v2 -+ -+ if-eqz v2, :cond_5e -+ -+ invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B -+ -+ move-result v2 -+ -+ if-nez v2, :cond_63 -+ -+ :cond_5e -+ invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z -+ -+ move-result v0 -+ -+ goto :goto_6 -+ -+ :cond_63 -+ const/4 v0, 0x0 -+ -+ goto :goto_6 -+ -+ :cond_65 -+ invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z -+ -+ move-result v0 -+ -+ goto :goto_6 -+ -+ :pswitch_data_6a -+ .packed-switch 0x0 -+ :pswitch_2a -+ :pswitch_6 -+ :pswitch_2f -+ :pswitch_2f -+ .end packed-switch -+ -+ :pswitch_data_76 -+ .packed-switch 0x0 -+ :pswitch_42 -+ :pswitch_6 -+ :pswitch_47 -+ :pswitch_47 -+ .end packed-switch -+.end method -+ -+.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V -+ .registers 7 -+ -+ if-eqz p4, :cond_4 -+ -+ if-nez p5, :cond_8 -+ -+ :cond_4 -+ invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V -+ -+ :cond_7 -+ :goto_7 -+ return-void -+ -+ :cond_8 -+ const/4 v0, 0x0 -+ -+ invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z -+ -+ move-result v0 -+ -+ if-nez v0, :cond_7 -+ -+ invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V -+ -+ goto :goto_7 -+.end method -+ -+.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V -+ .registers 8 -+ -+ if-eqz p4, :cond_4 -+ -+ if-nez p5, :cond_8 -+ -+ :cond_4 -+ invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V -+ -+ :cond_7 -+ :goto_7 -+ return-void -+ -+ :cond_8 -+ const/4 v0, 0x0 -+ -+ invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z -+ -+ move-result v0 -+ -+ if-nez v0, :cond_7 -+ -+ invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V -+ -+ goto :goto_7 -+.end method -+ -+.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V -+ .registers 7 -+ -+ if-eqz p1, :cond_4 -+ -+ if-nez p5, :cond_8 -+ -+ :cond_4 -+ invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V -+ -+ :cond_7 -+ :goto_7 -+ return-void -+ -+ :cond_8 -+ const/4 v0, 0x0 -+ -+ invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z -+ -+ move-result v0 -+ -+ if-nez v0, :cond_7 -+ -+ invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V -+ -+ goto :goto_7 -+.end method -+ -+.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V -+ .registers 7 -+ -+ if-eqz p1, :cond_4 -+ -+ if-nez p5, :cond_8 -+ -+ :cond_4 -+ invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V -+ -+ :cond_7 -+ :goto_7 -+ return-void -+ -+ :cond_8 -+ const/4 v0, 0x0 -+ -+ invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z -+ -+ move-result v0 -+ -+ if-nez v0, :cond_7 -+ -+ invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V -+ -+ goto :goto_7 -+.end method -+ -+.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V -+ .registers 8 -+ -+ if-eqz p1, :cond_4 -+ -+ if-nez p5, :cond_8 -+ -+ :cond_4 -+ invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V -+ -+ :cond_7 -+ :goto_7 -+ return-void -+ -+ :cond_8 -+ const/4 v0, 0x0 -+ -+ invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z -+ -+ move-result v0 -+ -+ if-nez v0, :cond_7 -+ -+ invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V -+ -+ goto :goto_7 -+.end method -+ -+.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V -+ .registers 4 -+ -+ if-eqz p1, :cond_4 -+ -+ if-nez p2, :cond_8 -+ -+ :cond_4 -+ invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V -+ -+ :cond_7 -+ :goto_7 -+ return-void -+ -+ :cond_8 -+ const/4 v0, 0x0 -+ -+ invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z -+ -+ move-result v0 -+ -+ if-nez v0, :cond_7 -+ -+ invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V -+ -+ goto :goto_7 -+.end method -+ -+.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V -+ .registers 5 -+ -+ if-eqz p1, :cond_4 -+ -+ if-nez p2, :cond_8 -+ -+ :cond_4 -+ invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V -+ -+ :cond_7 -+ :goto_7 -+ return-void -+ -+ :cond_8 -+ const/4 v0, 0x0 -+ -+ invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z -+ -+ move-result v0 -+ -+ if-nez v0, :cond_7 -+ -+ invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V -+ -+ goto :goto_7 -+.end method -+ -+.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V -+ .registers 4 -+ -+ if-eqz p1, :cond_4 -+ -+ if-nez p2, :cond_8 -+ -+ :cond_4 -+ invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V -+ -+ :cond_7 -+ :goto_7 -+ return-void -+ -+ :cond_8 -+ const/4 v0, 0x0 -+ -+ invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z -+ -+ move-result v0 -+ -+ if-nez v0, :cond_7 -+ -+ invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V -+ -+ goto :goto_7 -+.end method -+ -+.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V -+ .registers 5 -+ -+ if-eqz p1, :cond_4 -+ -+ if-nez p2, :cond_8 -+ -+ :cond_4 -+ invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V -+ -+ :cond_7 -+ :goto_7 -+ return-void -+ -+ :cond_8 -+ const/4 v0, 0x0 -+ -+ invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z -+ -+ move-result v0 -+ -+ if-nez v0, :cond_7 -+ -+ invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V -+ -+ goto :goto_7 -+.end method -diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali ---- stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 18:00:00.000000000 -0600 -+++ pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2012-10-12 12:32:44.266969100 -0500 -@@ -0,0 +1,731 @@ -+.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager; -+.super Landroid/telephony/TelephonyManager; -+.source "PrivacyTelephonyManager.java" -+ -+ -+# static fields -+.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager" -+ -+ -+# instance fields -+.field private context:Landroid/content/Context; -+ -+.field private pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ -+# direct methods -+.method public constructor (Landroid/content/Context;)V -+ .registers 4 -+ -+ invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;->(Landroid/content/Context;)V -+ -+ iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context; -+ -+ new-instance v0, Landroid/privacy/PrivacySettingsManager; -+ -+ const-string/jumbo v1, "privacy" -+ -+ invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder; -+ -+ move-result-object v1 -+ -+ invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager; -+ -+ move-result-object v1 -+ -+ invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;->(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V -+ -+ iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ return-void -+.end method -+ -+.method private getNetworkInfo()Ljava/lang/String; -+ .registers 8 -+ -+ const/4 v5, 0x0 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v6 -+ -+ if-eqz v6, :cond_25 -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_25 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v3, 0x1 -+ -+ const-string/jumbo v4, "networkInfoCurrent" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ const-string v5, "" -+ -+ :goto_24 -+ return-object v5 -+ -+ :cond_25 -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v3, 0x0 -+ -+ const-string/jumbo v4, "networkInfoCurrent" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_24 -+.end method -+ -+.method private getSimInfo()Ljava/lang/String; -+ .registers 8 -+ -+ const/4 v5, 0x0 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v6 -+ -+ if-eqz v6, :cond_25 -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_25 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v3, 0x1 -+ -+ const-string/jumbo v4, "networkInfoSIM" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ const-string v5, "" -+ -+ :goto_24 -+ return-object v5 -+ -+ :cond_25 -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v3, 0x0 -+ -+ const-string/jumbo v4, "networkInfoSIM" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_24 -+.end method -+ -+ -+# virtual methods -+.method public getDeviceId()Ljava/lang/String; -+ .registers 8 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v6 -+ -+ if-eqz v6, :cond_28 -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_28 -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B -+ -+ move-result v3 -+ -+ const-string v4, "deviceID" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ :goto_27 -+ return-object v5 -+ -+ :cond_28 -+ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v3, 0x0 -+ -+ const-string v4, "deviceID" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_27 -+.end method -+ -+.method public getLine1Number()Ljava/lang/String; -+ .registers 8 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v6 -+ -+ if-eqz v6, :cond_28 -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_28 -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B -+ -+ move-result v3 -+ -+ const-string v4, "line1Number" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ :goto_27 -+ return-object v5 -+ -+ :cond_28 -+ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v3, 0x0 -+ -+ const-string v4, "line1Number" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_27 -+.end method -+ -+.method public getNeighboringCellInfo()Ljava/util/List; -+ .registers 10 -+ .annotation system Ldalvik/annotation/Signature; -+ value = { -+ "()", -+ "Ljava/util/List", -+ "<", -+ "Landroid/telephony/NeighboringCellInfo;", -+ ">;" -+ } -+ .end annotation -+ -+ iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v7 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v8 -+ -+ invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v5 -+ -+ const/4 v3, 0x0 -+ -+ const-string v4, "[null]" -+ -+ if-eqz v5, :cond_1c -+ -+ invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B -+ -+ move-result v6 -+ -+ const/4 v7, 0x1 -+ -+ if-ne v6, v7, :cond_1d -+ -+ :cond_1c -+ :goto_1c -+ return-object v3 -+ -+ :cond_1d -+ invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B -+ -+ move-result v6 -+ -+ if-eqz v6, :cond_2b -+ -+ new-instance v3, Ljava/util/ArrayList; -+ -+ invoke-direct {v3}, Ljava/util/ArrayList;->()V -+ -+ const-string v4, "[empty list of cells]" -+ -+ goto :goto_1c -+ -+ :cond_2b -+ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List; -+ -+ move-result-object v3 -+ -+ const-string v0, "" -+ -+ invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator; -+ -+ move-result-object v2 -+ -+ :goto_35 -+ invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z -+ -+ move-result v6 -+ -+ if-eqz v6, :cond_5f -+ -+ invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object; -+ -+ move-result-object v1 -+ -+ check-cast v1, Landroid/telephony/NeighboringCellInfo; -+ -+ new-instance v6, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -+ -+ invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v6 -+ -+ const-string v7, "\t" -+ -+ invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v6 -+ -+ invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; -+ -+ move-result-object v6 -+ -+ const-string v7, "\n" -+ -+ invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v6 -+ -+ invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ goto :goto_35 -+ -+ :cond_5f -+ new-instance v6, Ljava/lang/StringBuilder; -+ -+ invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -+ -+ const-string v7, "[real value]:\n" -+ -+ invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v6 -+ -+ invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -+ -+ move-result-object v6 -+ -+ invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -+ -+ move-result-object v4 -+ -+ goto :goto_1c -+.end method -+ -+.method public getNetworkCountryIso()Ljava/lang/String; -+ .registers 2 -+ -+ invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ if-nez v0, :cond_a -+ -+ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ :cond_a -+ return-object v0 -+.end method -+ -+.method public getNetworkOperator()Ljava/lang/String; -+ .registers 2 -+ -+ invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ if-nez v0, :cond_a -+ -+ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ :cond_a -+ return-object v0 -+.end method -+ -+.method public getNetworkOperatorName()Ljava/lang/String; -+ .registers 2 -+ -+ invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ if-nez v0, :cond_a -+ -+ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ :cond_a -+ return-object v0 -+.end method -+ -+.method public getSimCountryIso()Ljava/lang/String; -+ .registers 2 -+ -+ invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ if-nez v0, :cond_a -+ -+ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ :cond_a -+ return-object v0 -+.end method -+ -+.method public getSimOperator()Ljava/lang/String; -+ .registers 2 -+ -+ invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ if-nez v0, :cond_a -+ -+ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ :cond_a -+ return-object v0 -+.end method -+ -+.method public getSimOperatorName()Ljava/lang/String; -+ .registers 2 -+ -+ invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ if-nez v0, :cond_a -+ -+ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ :cond_a -+ return-object v0 -+.end method -+ -+.method public getSimSerialNumber()Ljava/lang/String; -+ .registers 8 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v6 -+ -+ if-eqz v6, :cond_29 -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_29 -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B -+ -+ move-result v3 -+ -+ const-string/jumbo v4, "simSerial" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ :goto_28 -+ return-object v5 -+ -+ :cond_29 -+ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v3, 0x0 -+ -+ const-string/jumbo v4, "simSerial" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_28 -+.end method -+ -+.method public getSubscriberId()Ljava/lang/String; -+ .registers 8 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v6 -+ -+ if-eqz v6, :cond_29 -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_29 -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B -+ -+ move-result v3 -+ -+ const-string/jumbo v4, "subscriberID" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ :goto_28 -+ return-object v5 -+ -+ :cond_29 -+ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v3, 0x0 -+ -+ const-string/jumbo v4, "subscriberID" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_28 -+.end method -+ -+.method public getVoiceMailNumber()Ljava/lang/String; -+ .registers 8 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v2 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v6 -+ -+ if-eqz v6, :cond_28 -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B -+ -+ move-result v0 -+ -+ if-eqz v0, :cond_28 -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B -+ -+ move-result v3 -+ -+ const-string v4, "line1Number" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ :goto_27 -+ return-object v5 -+ -+ :cond_28 -+ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String; -+ -+ move-result-object v5 -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; -+ -+ const/4 v3, 0x0 -+ -+ const-string v4, "line1Number" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_27 -+.end method -+ -+.method public listen(Landroid/telephony/PhoneStateListener;I)V -+ .registers 4 -+ -+ and-int/lit8 v0, p2, 0x10 -+ -+ if-nez v0, :cond_8 -+ -+ and-int/lit8 v0, p2, 0x20 -+ -+ if-eqz v0, :cond_21 -+ -+ :cond_8 -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V -+ -+ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context; -+ -+ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; -+ -+ move-result-object v0 -+ -+ invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V -+ -+ invoke-static {}, Landroid/os/Binder;->getCallingUid()I -+ -+ move-result v0 -+ -+ invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setUid(I)V -+ -+ invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V -+ -+ :goto_20 -+ return-void -+ -+ :cond_21 -+ invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V -+ -+ goto :goto_20 -+.end method -diff -Npru stock-framework/smali/android/telephony/PhoneStateListener$1.smali pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali ---- stock-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-10-12 12:24:58.832661139 -0500 -+++ pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-10-12 12:32:44.510970315 -0500 -@@ -64,23 +64,196 @@ - .end method - - .method public onCallStateChanged(ILjava/lang/String;)V -- .registers 6 -+ .registers 19 - -- iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; -+ move-object/from16 v0, p0 - -- iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler; -+ iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; - -- const/16 v1, 0x20 -+ #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context; -+ invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context; - -- const/4 v2, 0x0 -+ move-result-object v3 - -- invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message; -+ if-eqz v3, :cond_99 - -- move-result-object v0 -+ if-eqz p2, :cond_99 - -- invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V -+ invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z -+ -+ move-result v3 -+ -+ if-nez v3, :cond_99 -+ -+ move-object/from16 v0, p0 -+ -+ iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; -+ -+ #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context; -+ invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context; -+ -+ move-result-object v3 -+ -+ const-string/jumbo v4, "privacy" -+ -+ invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; -+ -+ move-result-object v2 -+ -+ check-cast v2, Landroid/privacy/PrivacySettingsManager; -+ -+ move-object/from16 v0, p0 -+ -+ iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; -+ -+ #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String; -+ invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String; -+ -+ move-result-object v3 -+ -+ move-object/from16 v0, p0 -+ -+ iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; -+ -+ #getter for: Landroid/telephony/PhoneStateListener;->uid:I -+ invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I -+ -+ move-result v4 -+ -+ invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v8 -+ -+ if-eqz v8, :cond_6a -+ -+ invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B -+ -+ move-result v3 -+ -+ if-eqz v3, :cond_6a -+ -+ const-string v7, "" -+ -+ move-object/from16 v0, p0 -+ -+ iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; -+ -+ iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler; -+ -+ const/16 v4, 0x20 -+ -+ const/4 v5, 0x0 -+ -+ move/from16 v0, p1 - -+ invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message; -+ -+ move-result-object v3 -+ -+ invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V -+ -+ move-object/from16 v0, p0 -+ -+ iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; -+ -+ #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String; -+ invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String; -+ -+ move-result-object v3 -+ -+ move-object/from16 v0, p0 -+ -+ iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; -+ -+ #getter for: Landroid/telephony/PhoneStateListener;->uid:I -+ invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I -+ -+ move-result v4 -+ -+ const/4 v5, 0x1 -+ -+ const-string v6, "incomingCall" -+ -+ invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ :goto_69 - return-void -+ -+ :cond_6a -+ move-object/from16 v0, p0 -+ -+ iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; -+ -+ iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler; -+ -+ const/16 v4, 0x20 -+ -+ const/4 v5, 0x0 -+ -+ move/from16 v0, p1 -+ -+ move-object/from16 v1, p2 -+ -+ invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message; -+ -+ move-result-object v3 -+ -+ invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V -+ -+ move-object/from16 v0, p0 -+ -+ iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; -+ -+ #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String; -+ invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String; -+ -+ move-result-object v10 -+ -+ move-object/from16 v0, p0 -+ -+ iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; -+ -+ #getter for: Landroid/telephony/PhoneStateListener;->uid:I -+ invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I -+ -+ move-result v11 -+ -+ const/4 v12, 0x0 -+ -+ const-string v13, "incomingCall" -+ -+ move-object v9, v2 -+ -+ move-object/from16 v14, p2 -+ -+ move-object v15, v8 -+ -+ invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_69 -+ -+ :cond_99 -+ move-object/from16 v0, p0 -+ -+ iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; -+ -+ iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler; -+ -+ const/16 v4, 0x20 -+ -+ const/4 v5, 0x0 -+ -+ move/from16 v0, p1 -+ -+ move-object/from16 v1, p2 -+ -+ invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message; -+ -+ move-result-object v3 -+ -+ invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V -+ -+ goto :goto_69 - .end method - - .method public onCellInfoChanged(Landroid/telephony/CellInfo;)V -@@ -104,27 +277,124 @@ - .end method - - .method public onCellLocationChanged(Landroid/os/Bundle;)V -- .registers 6 -+ .registers 10 -+ -+ const/4 v5, 0x0 - - const/4 v3, 0x0 - - invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation; - -+ move-result-object v7 -+ -+ iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; -+ -+ #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context; -+ invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context; -+ -+ move-result-object v1 -+ -+ if-eqz v1, :cond_4a -+ -+ iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; -+ -+ #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context; -+ invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context; -+ -+ move-result-object v1 -+ -+ const-string/jumbo v2, "privacy" -+ -+ invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; -+ - move-result-object v0 - -+ check-cast v0, Landroid/privacy/PrivacySettingsManager; -+ -+ iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; -+ -+ #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String; -+ invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; -+ -+ #getter for: Landroid/telephony/PhoneStateListener;->uid:I -+ invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I -+ -+ move-result v2 -+ -+ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; -+ -+ move-result-object v6 -+ -+ if-eqz v6, :cond_4b -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B -+ -+ move-result v1 -+ -+ if-eqz v1, :cond_4b -+ -+ iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; -+ -+ #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String; -+ invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; -+ -+ #getter for: Landroid/telephony/PhoneStateListener;->uid:I -+ invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I -+ -+ move-result v2 -+ -+ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B -+ -+ move-result v3 -+ -+ const-string v4, "locationNetwork" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ :cond_4a -+ :goto_4a -+ return-void -+ -+ :cond_4b - iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; - - iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler; - - const/16 v2, 0x10 - -- invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message; -+ invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message; - - move-result-object v1 - - invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V - -- return-void -+ iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; -+ -+ #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String; -+ invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String; -+ -+ move-result-object v1 -+ -+ iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; -+ -+ #getter for: Landroid/telephony/PhoneStateListener;->uid:I -+ invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I -+ -+ move-result v2 -+ -+ const-string v4, "locationNetwork" -+ -+ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V -+ -+ goto :goto_4a - .end method - - .method public onDataActivity(I)V -diff -Npru stock-framework/smali/android/telephony/PhoneStateListener.smali pdroid-framework/smali/android/telephony/PhoneStateListener.smali ---- stock-framework/smali/android/telephony/PhoneStateListener.smali 2012-10-12 12:24:56.944651777 -0500 -+++ pdroid-framework/smali/android/telephony/PhoneStateListener.smali 2012-10-12 12:32:43.538965497 -0500 -@@ -31,12 +31,20 @@ - - .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100 - -+.field private static final TAG:Ljava/lang/String; = "PhoneStateListener" -+ - - # instance fields - .field callback:Lcom/android/internal/telephony/IPhoneStateListener; - -+.field private context:Landroid/content/Context; -+ - .field mHandler:Landroid/os/Handler; - -+.field private packageName:Ljava/lang/String; -+ -+.field private uid:I -+ - - # direct methods - .method public constructor ()V -@@ -59,6 +67,30 @@ - return-void - .end method - -+.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context; -+ .registers 2 -+ -+ iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context; -+ -+ return-object v0 -+.end method -+ -+.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String; -+ .registers 2 -+ -+ iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String; -+ -+ return-object v0 -+.end method -+ -+.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I -+ .registers 2 -+ -+ iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I -+ -+ return v0 -+.end method -+ - - # virtual methods - .method public onCallForwardingIndicatorChanged(Z)V -@@ -134,3 +166,27 @@ - - return-void - .end method -+ -+.method public setContext(Landroid/content/Context;)V -+ .registers 2 -+ -+ iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context; -+ -+ return-void -+.end method -+ -+.method public setPackageName(Ljava/lang/String;)V -+ .registers 2 -+ -+ iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String; -+ -+ return-void -+.end method -+ -+.method public setUid(I)V -+ .registers 2 -+ -+ iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I -+ -+ return-void -+.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/HTCQualcommRIL.smali pdroid-framework/smali/com/android/internal/telephony/HTCQualcommRIL.smali ---- stock-framework/smali/com/android/internal/telephony/HTCQualcommRIL.smali 2012-10-12 12:25:01.996676833 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/HTCQualcommRIL.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,613 +0,0 @@ --.class public Lcom/android/internal/telephony/HTCQualcommRIL; --.super Lcom/android/internal/telephony/QualcommSharedRIL; --.source "HTCQualcommRIL.java" -- --# interfaces --.implements Lcom/android/internal/telephony/CommandsInterface; -- -- --# instance fields --.field private final RIL_INT_RADIO_OFF:I -- --.field private final RIL_INT_RADIO_ON:I -- --.field private final RIL_INT_RADIO_UNAVAILABLE:I -- -- --# direct methods --.method public constructor (Landroid/content/Context;II)V -- .registers 5 -- -- invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/QualcommSharedRIL;->(Landroid/content/Context;II)V -- -- const/4 v0, 0x0 -- -- iput v0, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->RIL_INT_RADIO_OFF:I -- -- const/4 v0, 0x1 -- -- iput v0, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->RIL_INT_RADIO_UNAVAILABLE:I -- -- const/16 v0, 0xd -- -- iput v0, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->RIL_INT_RADIO_ON:I -- -- return-void --.end method -- --.method private setRadioStateFromRILInt(I)V -- .registers 8 -- -- const/4 v4, 0x0 -- -- sparse-switch p1, :sswitch_data_56 -- -- new-instance v3, Ljava/lang/RuntimeException; -- -- new-instance v4, Ljava/lang/StringBuilder; -- -- invoke-direct {v4}, Ljava/lang/StringBuilder;->()V -- -- const-string v5, "Unrecognized RIL_RadioState: " -- -- invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v4 -- -- invoke-direct {v3, v4}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V -- -- throw v3 -- -- :sswitch_1d -- sget-object v2, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_OFF:Lcom/android/internal/telephony/CommandsInterface$RadioState; -- -- iget-object v3, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->mIccHandler:Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler; -- -- if-eqz v3, :cond_27 -- -- iput-object v4, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->mIccThread:Landroid/os/HandlerThread; -- -- iput-object v4, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->mIccHandler:Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler; -- -- :cond_27 -- :goto_27 -- invoke-virtual {p0, v2}, Lcom/android/internal/telephony/HTCQualcommRIL;->setRadioState(Lcom/android/internal/telephony/CommandsInterface$RadioState;)V -- -- return-void -- -- :sswitch_2b -- sget-object v2, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_UNAVAILABLE:Lcom/android/internal/telephony/CommandsInterface$RadioState; -- -- goto :goto_27 -- -- :sswitch_2e -- iget-object v3, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->mIccHandler:Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler; -- -- if-nez v3, :cond_52 -- -- new-instance v0, Landroid/os/HandlerThread; -- -- const-string v3, "IccHandler" -- -- invoke-direct {v0, v3}, Landroid/os/HandlerThread;->(Ljava/lang/String;)V -- -- iput-object v0, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->mIccThread:Landroid/os/HandlerThread; -- -- iget-object v3, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->mIccThread:Landroid/os/HandlerThread; -- -- invoke-virtual {v3}, Landroid/os/HandlerThread;->start()V -- -- iget-object v3, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->mIccThread:Landroid/os/HandlerThread; -- -- invoke-virtual {v3}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper; -- -- move-result-object v1 -- -- new-instance v3, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler; -- -- invoke-direct {v3, p0, p0, v1}, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler;->(Lcom/android/internal/telephony/QualcommSharedRIL;Lcom/android/internal/telephony/RIL;Landroid/os/Looper;)V -- -- iput-object v3, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->mIccHandler:Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler; -- -- iget-object v3, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->mIccHandler:Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler; -- -- invoke-virtual {v3}, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler;->run()V -- -- :cond_52 -- sget-object v2, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_ON:Lcom/android/internal/telephony/CommandsInterface$RadioState; -- -- goto :goto_27 -- -- nop -- -- :sswitch_data_56 -- .sparse-switch -- 0x0 -> :sswitch_1d -- 0x1 -> :sswitch_2b -- 0xd -> :sswitch_2e -- .end sparse-switch --.end method -- -- --# virtual methods --.method protected processUnsolicited(Landroid/os/Parcel;)V -- .registers 9 -- -- const/4 v6, 0x0 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->dataPosition()I -- -- move-result v0 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v1 -- -- sparse-switch v1, :sswitch_data_48 -- -- invoke-virtual {p1, v0}, Landroid/os/Parcel;->setDataPosition(I)V -- -- invoke-super {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->processUnsolicited(Landroid/os/Parcel;)V -- -- :cond_12 -- :goto_12 -- return-void -- -- :sswitch_13 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/HTCQualcommRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- :goto_17 -- sparse-switch v1, :sswitch_data_5a -- -- goto :goto_12 -- -- :sswitch_1b -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v3 -- -- invoke-direct {p0, v3}, Lcom/android/internal/telephony/HTCQualcommRIL;->setRadioStateFromRILInt(I)V -- -- goto :goto_12 -- -- :sswitch_23 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/HTCQualcommRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_17 -- -- :sswitch_28 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/HTCQualcommRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_17 -- -- :sswitch_2d -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/HTCQualcommRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_17 -- -- :sswitch_32 -- iget-boolean v4, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->RILJ_LOGD:Z -- -- if-eqz v4, :cond_39 -- -- invoke-virtual {p0, v1, v2}, Lcom/android/internal/telephony/HTCQualcommRIL;->unsljLogRet(ILjava/lang/Object;)V -- -- :cond_39 -- iget-object v4, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->mExitEmergencyCallbackModeRegistrants:Landroid/os/RegistrantList; -- -- if-eqz v4, :cond_12 -- -- iget-object v4, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->mExitEmergencyCallbackModeRegistrants:Landroid/os/RegistrantList; -- -- new-instance v5, Landroid/os/AsyncResult; -- -- invoke-direct {v5, v6, v6, v6}, Landroid/os/AsyncResult;->(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V -- -- invoke-virtual {v4, v5}, Landroid/os/RegistrantList;->notifyRegistrants(Landroid/os/AsyncResult;)V -- -- goto :goto_12 -- -- :sswitch_data_48 -- .sparse-switch -- 0x3e8 -> :sswitch_13 -- 0x520c -> :sswitch_23 -- 0x520d -> :sswitch_28 -- 0x520f -> :sswitch_2d -- .end sparse-switch -- -- :sswitch_data_5a -- .sparse-switch -- 0x3e8 -> :sswitch_1b -- 0x520c -> :sswitch_32 -- 0x520d -> :sswitch_32 -- 0x520f -> :sswitch_32 -- .end sparse-switch --.end method -- --.method protected responseIccCardStatus(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 13 -- -- const-string/jumbo v8, "subscriptionFromSource" -- -- invoke-virtual {p0, v8}, Lcom/android/internal/telephony/HTCQualcommRIL;->needsOldRilFeature(Ljava/lang/String;)Z -- -- move-result v7 -- -- const-string v8, "icccardstatus" -- -- invoke-virtual {p0, v8}, Lcom/android/internal/telephony/HTCQualcommRIL;->needsOldRilFeature(Ljava/lang/String;)Z -- -- move-result v5 -- -- new-instance v6, Lcom/android/internal/telephony/IccCardStatus; -- -- invoke-direct {v6}, Lcom/android/internal/telephony/IccCardStatus;->()V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- invoke-virtual {v6, v8}, Lcom/android/internal/telephony/IccCardStatus;->setCardState(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- invoke-virtual {v6, v8}, Lcom/android/internal/telephony/IccCardStatus;->setUniversalPinState(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- invoke-virtual {v6, v8}, Lcom/android/internal/telephony/IccCardStatus;->setGsmUmtsSubscriptionAppIndex(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- invoke-virtual {v6, v8}, Lcom/android/internal/telephony/IccCardStatus;->setCdmaSubscriptionAppIndex(I)V -- -- if-nez v5, :cond_37 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- invoke-virtual {v6, v8}, Lcom/android/internal/telephony/IccCardStatus;->setImsSubscriptionAppIndex(I)V -- -- :cond_37 -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- const/16 v8, 0x8 -- -- if-le v4, v8, :cond_41 -- -- const/16 v4, 0x8 -- -- :cond_41 -- invoke-virtual {v6, v4}, Lcom/android/internal/telephony/IccCardStatus;->setNumApplications(I)V -- -- const/4 v3, 0x0 -- -- :goto_45 -- if-ge v3, v4, :cond_ba -- -- new-instance v2, Lcom/android/internal/telephony/IccCardApplication; -- -- invoke-direct {v2}, Lcom/android/internal/telephony/IccCardApplication;->()V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- invoke-virtual {v2, v8}, Lcom/android/internal/telephony/IccCardApplication;->AppTypeFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- move-result-object v8 -- -- iput-object v8, v2, Lcom/android/internal/telephony/IccCardApplication;->app_type:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- invoke-virtual {v2, v8}, Lcom/android/internal/telephony/IccCardApplication;->AppStateFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- move-result-object v8 -- -- iput-object v8, v2, Lcom/android/internal/telephony/IccCardApplication;->app_state:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- invoke-virtual {v2, v8}, Lcom/android/internal/telephony/IccCardApplication;->PersoSubstateFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- move-result-object v8 -- -- iput-object v8, v2, Lcom/android/internal/telephony/IccCardApplication;->perso_substate:Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- iget-object v8, v2, Lcom/android/internal/telephony/IccCardApplication;->app_state:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- sget-object v9, Lcom/android/internal/telephony/IccCardApplication$AppState;->APPSTATE_SUBSCRIPTION_PERSO:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- if-ne v8, v9, :cond_8e -- -- iget-object v8, v2, Lcom/android/internal/telephony/IccCardApplication;->perso_substate:Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- sget-object v9, Lcom/android/internal/telephony/IccCardApplication$PersoSubState;->PERSOSUBSTATE_READY:Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- if-eq v8, v9, :cond_7c -- -- iget-object v8, v2, Lcom/android/internal/telephony/IccCardApplication;->perso_substate:Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- sget-object v9, Lcom/android/internal/telephony/IccCardApplication$PersoSubState;->PERSOSUBSTATE_UNKNOWN:Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- if-ne v8, v9, :cond_8e -- -- :cond_7c -- sget-object v8, Lcom/android/internal/telephony/IccCardApplication$AppState;->APPSTATE_UNKNOWN:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- iput-object v8, v2, Lcom/android/internal/telephony/IccCardApplication;->app_state:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- const-string v8, "RILJ" -- -- const-string v9, "ca.app_state == AppState.APPSTATE_SUBSCRIPTION_PERSO" -- -- invoke-static {v8, v9}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v8, "RILJ" -- -- const-string v9, "ca.perso_substate == PersoSubState.PERSOSUBSTATE_READY" -- -- invoke-static {v8, v9}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :cond_8e -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v8 -- -- iput-object v8, v2, Lcom/android/internal/telephony/IccCardApplication;->aid:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v8 -- -- iput-object v8, v2, Lcom/android/internal/telephony/IccCardApplication;->app_label:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- iput v8, v2, Lcom/android/internal/telephony/IccCardApplication;->pin1_replaced:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- invoke-virtual {v2, v8}, Lcom/android/internal/telephony/IccCardApplication;->PinStateFromRILInt(I)Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- move-result-object v8 -- -- iput-object v8, v2, Lcom/android/internal/telephony/IccCardApplication;->pin1:Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- invoke-virtual {v2, v8}, Lcom/android/internal/telephony/IccCardApplication;->PinStateFromRILInt(I)Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- move-result-object v8 -- -- iput-object v8, v2, Lcom/android/internal/telephony/IccCardApplication;->pin2:Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- invoke-virtual {v6, v2}, Lcom/android/internal/telephony/IccCardStatus;->addApplication(Lcom/android/internal/telephony/IccCardApplication;)V -- -- add-int/lit8 v3, v3, 0x1 -- -- goto :goto_45 -- -- :cond_ba -- if-eqz v7, :cond_bd -- -- :cond_bc -- :goto_bc -- return-object v6 -- -- :cond_bd -- const/4 v0, -0x1 -- -- iget v8, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->mPhoneType:I -- -- const/4 v9, 0x2 -- -- if-ne v8, v9, :cond_11d -- -- invoke-virtual {v6}, Lcom/android/internal/telephony/IccCardStatus;->getCdmaSubscriptionAppIndex()I -- -- move-result v0 -- -- const-string v8, "RILJ" -- -- new-instance v9, Ljava/lang/StringBuilder; -- -- invoke-direct {v9}, Ljava/lang/StringBuilder;->()V -- -- const-string v10, "This is a CDMA PHONE " -- -- invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v9 -- -- invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v9 -- -- invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v9 -- -- invoke-static {v8, v9}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :goto_df -- if-lez v4, :cond_bc -- -- invoke-virtual {v6, v0}, Lcom/android/internal/telephony/IccCardStatus;->getApplication(I)Lcom/android/internal/telephony/IccCardApplication; -- -- move-result-object v1 -- -- iget-object v8, v1, Lcom/android/internal/telephony/IccCardApplication;->aid:Ljava/lang/String; -- -- iput-object v8, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->mAid:Ljava/lang/String; -- -- iget-object v8, v1, Lcom/android/internal/telephony/IccCardApplication;->app_type:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- sget-object v9, Lcom/android/internal/telephony/IccCardApplication$AppType;->APPTYPE_USIM:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- if-ne v8, v9, :cond_13a -- -- const/4 v8, 0x1 -- -- :goto_f0 -- iput-boolean v8, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->mUSIM:Z -- -- iget v8, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->mPreferredNetworkType:I -- -- iput v8, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->mSetPreferredNetworkType:I -- -- iget-object v8, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->mAid:Ljava/lang/String; -- -- invoke-static {v8}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v8 -- -- if-eqz v8, :cond_102 -- -- const-string v8, "" -- -- iput-object v8, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->mAid:Ljava/lang/String; -- -- :cond_102 -- const-string v8, "RILJ" -- -- new-instance v9, Ljava/lang/StringBuilder; -- -- invoke-direct {v9}, Ljava/lang/StringBuilder;->()V -- -- const-string v10, "mAid " -- -- invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v9 -- -- iget-object v10, p0, Lcom/android/internal/telephony/HTCQualcommRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v9 -- -- invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v9 -- -- invoke-static {v8, v9}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- goto :goto_bc -- -- :cond_11d -- invoke-virtual {v6}, Lcom/android/internal/telephony/IccCardStatus;->getGsmUmtsSubscriptionAppIndex()I -- -- move-result v0 -- -- const-string v8, "RILJ" -- -- new-instance v9, Ljava/lang/StringBuilder; -- -- invoke-direct {v9}, Ljava/lang/StringBuilder;->()V -- -- const-string v10, "This is a GSM PHONE " -- -- invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v9 -- -- invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v9 -- -- invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v9 -- -- invoke-static {v8, v9}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- goto :goto_df -- -- :cond_13a -- const/4 v8, 0x0 -- -- goto :goto_f0 --.end method -- --.method protected responseSignalStrength(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 7 -- -- const/16 v1, 0xe -- -- new-array v2, v1, [I -- -- const/4 v0, 0x0 -- -- :goto_5 -- if-ge v0, v1, :cond_20 -- -- const/16 v3, 0x8 -- -- if-le v0, v3, :cond_19 -- -- add-int/lit8 v3, v0, -0x2 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- aput v4, v2, v3 -- -- const/4 v3, -0x1 -- -- aput v3, v2, v0 -- -- :goto_16 -- add-int/lit8 v0, v0, 0x1 -- -- goto :goto_5 -- -- :cond_19 -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v3 -- -- aput v3, v2, v0 -- -- goto :goto_16 -- -- :cond_20 -- return-object v2 --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/LGEQualcommRIL.smali pdroid-framework/smali/com/android/internal/telephony/LGEQualcommRIL.smali ---- stock-framework/smali/com/android/internal/telephony/LGEQualcommRIL.smali 2012-10-12 12:25:02.168677687 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/LGEQualcommRIL.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,1627 +0,0 @@ --.class public Lcom/android/internal/telephony/LGEQualcommRIL; --.super Lcom/android/internal/telephony/QualcommSharedRIL; --.source "LGEQualcommRIL.java" -- --# interfaces --.implements Lcom/android/internal/telephony/CommandsInterface; -- -- --# instance fields --.field RILJ_LOGD:Z -- --.field RILJ_LOGV:Z -- --.field protected mPinState:I -- -- --# direct methods --.method public constructor (Landroid/content/Context;II)V -- .registers 5 -- -- const/4 v0, 0x1 -- -- invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/QualcommSharedRIL;->(Landroid/content/Context;II)V -- -- iput-boolean v0, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->RILJ_LOGV:Z -- -- iput-boolean v0, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->RILJ_LOGD:Z -- -- return-void --.end method -- -- --# virtual methods --.method public changeIccPin(Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- .registers 7 -- -- const/4 v1, 0x6 -- -- invoke-static {v1, p3}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->RILJ_LOGD:Z -- -- if-eqz v1, :cond_2d -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/LGEQualcommRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/LGEQualcommRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_2d -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- iget-object v2, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p2}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/LGEQualcommRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void --.end method -- --.method public changeIccPin2(Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- .registers 7 -- -- const/4 v1, 0x7 -- -- invoke-static {v1, p3}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->RILJ_LOGD:Z -- -- if-eqz v1, :cond_2d -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/LGEQualcommRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/LGEQualcommRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_2d -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- iget-object v2, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p2}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/LGEQualcommRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void --.end method -- --.method public getBasebandVersion(Landroid/os/Message;)V -- .registers 5 -- -- const-string/jumbo v1, "ro.cm.device" -- -- invoke-static {v1}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v1 -- -- const-string v2, "e73" -- -- invoke-virtual {v1, v2}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I -- -- move-result v1 -- -- if-nez v1, :cond_41 -- -- const/16 v1, 0xdc -- -- invoke-static {v1, p1}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->RILJ_LOGD:Z -- -- if-eqz v1, :cond_3d -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/LGEQualcommRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/LGEQualcommRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_3d -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/LGEQualcommRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- :goto_40 -- return-void -- -- :cond_41 -- invoke-super {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->getBasebandVersion(Landroid/os/Message;)V -- -- goto :goto_40 --.end method -- --.method protected getDataCallState(Landroid/os/Parcel;I)Lcom/android/internal/telephony/DataCallState; -- .registers 10 -- -- new-instance v1, Lcom/android/internal/telephony/DataCallState; -- -- invoke-direct {v1}, Lcom/android/internal/telephony/DataCallState;->()V -- -- const-string v3, "datacall" -- -- invoke-virtual {p0, v3}, Lcom/android/internal/telephony/LGEQualcommRIL;->needsOldRilFeature(Ljava/lang/String;)Z -- -- move-result v2 -- -- if-nez v2, :cond_12 -- -- invoke-super {p0, p1, p2}, Lcom/android/internal/telephony/QualcommSharedRIL;->getDataCallState(Landroid/os/Parcel;I)Lcom/android/internal/telephony/DataCallState; -- -- move-result-object v1 -- -- :goto_11 -- return-object v1 -- -- :cond_12 -- const/4 v3, 0x3 -- -- iput v3, v1, Lcom/android/internal/telephony/DataCallState;->version:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v3 -- -- iput v3, v1, Lcom/android/internal/telephony/DataCallState;->cid:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v3 -- -- iput v3, v1, Lcom/android/internal/telephony/DataCallState;->active:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v3 -- -- iput-object v3, v1, Lcom/android/internal/telephony/DataCallState;->type:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v0 -- -- invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v3 -- -- if-nez v3, :cond_3c -- -- const-string v3, " " -- -- invoke-virtual {v0, v3}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; -- -- move-result-object v3 -- -- iput-object v3, v1, Lcom/android/internal/telephony/DataCallState;->addresses:[Ljava/lang/String; -- -- :cond_3c -- const-string/jumbo v3, "rmnet0" -- -- iput-object v3, v1, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- const/4 v3, 0x2 -- -- new-array v3, v3, [Ljava/lang/String; -- -- iput-object v3, v1, Lcom/android/internal/telephony/DataCallState;->dnses:[Ljava/lang/String; -- -- iget-object v3, v1, Lcom/android/internal/telephony/DataCallState;->dnses:[Ljava/lang/String; -- -- const/4 v4, 0x0 -- -- new-instance v5, Ljava/lang/StringBuilder; -- -- invoke-direct {v5}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v6, "net." -- -- invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v5 -- -- iget-object v6, v1, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v5 -- -- const-string v6, ".dns1" -- -- invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v5 -- -- invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v5 -- -- invoke-static {v5}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v5 -- -- aput-object v5, v3, v4 -- -- iget-object v3, v1, Lcom/android/internal/telephony/DataCallState;->dnses:[Ljava/lang/String; -- -- const/4 v4, 0x1 -- -- new-instance v5, Ljava/lang/StringBuilder; -- -- invoke-direct {v5}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v6, "net." -- -- invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v5 -- -- iget-object v6, v1, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v5 -- -- const-string v6, ".dns2" -- -- invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v5 -- -- invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v5 -- -- invoke-static {v5}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v5 -- -- aput-object v5, v3, v4 -- -- goto/16 :goto_11 --.end method -- --.method public getIMSI(Landroid/os/Message;)V -- .registers 6 -- -- const/16 v3, 0xb -- -- invoke-static {v3, p1}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- iget-object v2, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->RILJ_LOGD:Z -- -- if-eqz v1, :cond_4b -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> getIMSI:RIL_REQUEST_GET_IMSI " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " aid: " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget-object v2, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/LGEQualcommRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/LGEQualcommRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_4b -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/LGEQualcommRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void --.end method -- --.method public iccIO(IILjava/lang/String;IIILjava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- .registers 13 -- -- const/16 v1, 0x1c -- -- invoke-static {v1, p9}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- iget-object v2, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p1}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p4}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p5}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p6}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p7}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p8}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->RILJ_LOGD:Z -- -- if-eqz v1, :cond_b9 -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> iccIO: " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " aid: " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget-object v2, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/LGEQualcommRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " 0x" -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-static {p1}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " 0x" -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-static {p2}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " path: " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "," -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, p4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "," -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, p5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "," -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, p6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/LGEQualcommRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_b9 -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/LGEQualcommRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void --.end method -- --.method public queryFacilityLock(Ljava/lang/String;Ljava/lang/String;ILandroid/os/Message;)V -- .registers 9 -- -- const/16 v2, 0x2a -- -- invoke-static {v2, p4}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v1 -- -- iget-boolean v2, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->RILJ_LOGD:Z -- -- if-eqz v2, :cond_44 -- -- new-instance v2, Ljava/lang/StringBuilder; -- -- invoke-direct {v2}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v1}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v3 -- -- invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- const-string v3, "> " -- -- invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- iget v3, v1, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v3}, Lcom/android/internal/telephony/LGEQualcommRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v3 -- -- invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- const-string v3, " aid: " -- -- invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- iget-object v3, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- const-string v3, " facility: " -- -- invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {p0, v2}, Lcom/android/internal/telephony/LGEQualcommRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_44 -- const-string v2, "SC" -- -- invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -- -- move-result v2 -- -- if-eqz v2, :cond_6b -- -- const-string/jumbo v2, "ro.cm.device" -- -- invoke-static {v2}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v2 -- -- const-string v3, "e73" -- -- invoke-virtual {v2, v3}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I -- -- move-result v2 -- -- if-nez v2, :cond_6b -- -- const/4 v2, 0x1 -- -- new-array v0, v2, [I -- -- const/4 v2, 0x0 -- -- iget v3, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->mPinState:I -- -- aput v3, v0, v2 -- -- const/4 v2, 0x0 -- -- invoke-static {p4, v0, v2}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult; -- -- invoke-virtual {p4}, Landroid/os/Message;->sendToTarget()V -- -- :goto_6a -- return-void -- -- :cond_6b -- iget-object v2, v1, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const/4 v3, 0x4 -- -- invoke-virtual {v2, v3}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v2, v1, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- iget-object v3, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v2, v3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v2, v1, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v2, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v2, v1, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v2, p2}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v2, v1, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-static {p3}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; -- -- move-result-object v3 -- -- invoke-virtual {v2, v3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/LGEQualcommRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- goto :goto_6a --.end method -- --.method protected responseIccCardStatus(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 13 -- -- new-instance v7, Lcom/android/internal/telephony/IccCardStatus; -- -- invoke-direct {v7}, Lcom/android/internal/telephony/IccCardStatus;->()V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- invoke-virtual {v7, v8}, Lcom/android/internal/telephony/IccCardStatus;->setCardState(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- invoke-virtual {v7, v8}, Lcom/android/internal/telephony/IccCardStatus;->setUniversalPinState(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- const/4 v5, 0x0 -- -- :goto_18 -- if-ge v5, v4, :cond_2a -- -- if-nez v5, :cond_26 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- invoke-virtual {v7, v8}, Lcom/android/internal/telephony/IccCardStatus;->setGsmUmtsSubscriptionAppIndex(I)V -- -- :goto_23 -- add-int/lit8 v5, v5, 0x1 -- -- goto :goto_18 -- -- :cond_26 -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- goto :goto_23 -- -- :cond_2a -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v3 -- -- const/4 v5, 0x0 -- -- :goto_2f -- if-ge v5, v3, :cond_41 -- -- if-nez v5, :cond_3d -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- invoke-virtual {v7, v8}, Lcom/android/internal/telephony/IccCardStatus;->setCdmaSubscriptionAppIndex(I)V -- -- :goto_3a -- add-int/lit8 v5, v5, 0x1 -- -- goto :goto_2f -- -- :cond_3d -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- goto :goto_3a -- -- :cond_41 -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- const/16 v8, 0x8 -- -- if-le v6, v8, :cond_4b -- -- const/16 v6, 0x8 -- -- :cond_4b -- invoke-virtual {v7, v6}, Lcom/android/internal/telephony/IccCardStatus;->setNumApplications(I)V -- -- const/4 v5, 0x0 -- -- :goto_4f -- if-ge v5, v6, :cond_ac -- -- new-instance v2, Lcom/android/internal/telephony/IccCardApplication; -- -- invoke-direct {v2}, Lcom/android/internal/telephony/IccCardApplication;->()V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- invoke-virtual {v2, v8}, Lcom/android/internal/telephony/IccCardApplication;->AppTypeFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- move-result-object v8 -- -- iput-object v8, v2, Lcom/android/internal/telephony/IccCardApplication;->app_type:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- invoke-virtual {v2, v8}, Lcom/android/internal/telephony/IccCardApplication;->AppStateFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- move-result-object v8 -- -- iput-object v8, v2, Lcom/android/internal/telephony/IccCardApplication;->app_state:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- invoke-virtual {v2, v8}, Lcom/android/internal/telephony/IccCardApplication;->PersoSubstateFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- move-result-object v8 -- -- iput-object v8, v2, Lcom/android/internal/telephony/IccCardApplication;->perso_substate:Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v8 -- -- iput-object v8, v2, Lcom/android/internal/telephony/IccCardApplication;->aid:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v8 -- -- iput-object v8, v2, Lcom/android/internal/telephony/IccCardApplication;->app_label:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- iput v8, v2, Lcom/android/internal/telephony/IccCardApplication;->pin1_replaced:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- invoke-virtual {v2, v8}, Lcom/android/internal/telephony/IccCardApplication;->PinStateFromRILInt(I)Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- move-result-object v8 -- -- iput-object v8, v2, Lcom/android/internal/telephony/IccCardApplication;->pin1:Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- invoke-virtual {v2, v8}, Lcom/android/internal/telephony/IccCardApplication;->PinStateFromRILInt(I)Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- move-result-object v8 -- -- iput-object v8, v2, Lcom/android/internal/telephony/IccCardApplication;->pin2:Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- invoke-virtual {v7, v2}, Lcom/android/internal/telephony/IccCardStatus;->addApplication(Lcom/android/internal/telephony/IccCardApplication;)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- add-int/lit8 v5, v5, 0x1 -- -- goto :goto_4f -- -- :cond_ac -- const/4 v0, -0x1 -- -- iget v8, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->mPhoneType:I -- -- const/4 v9, 0x2 -- -- if-ne v8, v9, :cond_e6 -- -- invoke-virtual {v7}, Lcom/android/internal/telephony/IccCardStatus;->getCdmaSubscriptionAppIndex()I -- -- move-result v0 -- -- const-string v8, "RILJ" -- -- new-instance v9, Ljava/lang/StringBuilder; -- -- invoke-direct {v9}, Ljava/lang/StringBuilder;->()V -- -- const-string v10, "This is a CDMA PHONE " -- -- invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v9 -- -- invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v9 -- -- invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v9 -- -- invoke-static {v8, v9}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :goto_ce -- invoke-virtual {v7, v0}, Lcom/android/internal/telephony/IccCardStatus;->getApplication(I)Lcom/android/internal/telephony/IccCardApplication; -- -- move-result-object v1 -- -- iget-object v8, v1, Lcom/android/internal/telephony/IccCardApplication;->aid:Ljava/lang/String; -- -- iput-object v8, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->mAid:Ljava/lang/String; -- -- iget-object v8, v1, Lcom/android/internal/telephony/IccCardApplication;->pin1:Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- sget-object v9, Lcom/android/internal/telephony/IccCardStatus$PinState;->PINSTATE_DISABLED:Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- if-eq v8, v9, :cond_e2 -- -- iget-object v8, v1, Lcom/android/internal/telephony/IccCardApplication;->pin1:Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- sget-object v9, Lcom/android/internal/telephony/IccCardStatus$PinState;->PINSTATE_UNKNOWN:Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- if-ne v8, v9, :cond_103 -- -- :cond_e2 -- const/4 v8, 0x0 -- -- :goto_e3 -- iput v8, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->mPinState:I -- -- return-object v7 -- -- :cond_e6 -- invoke-virtual {v7}, Lcom/android/internal/telephony/IccCardStatus;->getGsmUmtsSubscriptionAppIndex()I -- -- move-result v0 -- -- const-string v8, "RILJ" -- -- new-instance v9, Ljava/lang/StringBuilder; -- -- invoke-direct {v9}, Ljava/lang/StringBuilder;->()V -- -- const-string v10, "This is a GSM PHONE " -- -- invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v9 -- -- invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v9 -- -- invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v9 -- -- invoke-static {v8, v9}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- goto :goto_ce -- -- :cond_103 -- const/4 v8, 0x1 -- -- goto :goto_e3 --.end method -- --.method public setFacilityLock(Ljava/lang/String;ZLjava/lang/String;ILandroid/os/Message;)V -- .registers 10 -- -- const/16 v2, 0x2b -- -- invoke-static {v2, p5}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v1 -- -- iget-boolean v2, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->RILJ_LOGD:Z -- -- if-eqz v2, :cond_4e -- -- new-instance v2, Ljava/lang/StringBuilder; -- -- invoke-direct {v2}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v1}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v3 -- -- invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- const-string v3, "> " -- -- invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- iget v3, v1, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v3}, Lcom/android/internal/telephony/LGEQualcommRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v3 -- -- invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- const-string v3, " aid: " -- -- invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- iget-object v3, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- const-string v3, " facility: " -- -- invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- const-string v3, " lockstate: " -- -- invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {p0, v2}, Lcom/android/internal/telephony/LGEQualcommRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_4e -- iget-object v2, v1, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const/4 v3, 0x5 -- -- invoke-virtual {v2, v3}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v2, v1, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- iget-object v3, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v2, v3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v2, v1, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v2, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- if-eqz p2, :cond_7b -- -- const-string v0, "1" -- -- :goto_64 -- iget-object v2, v1, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v2, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v2, v1, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v2, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v2, v1, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-static {p4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; -- -- move-result-object v3 -- -- invoke-virtual {v2, v3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/LGEQualcommRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void -- -- :cond_7b -- const-string v0, "0" -- -- goto :goto_64 --.end method -- --.method public setupDataCall(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- .registers 12 -- -- const/16 v1, 0x1b -- -- invoke-static {v1, p8}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const/4 v2, 0x7 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p2}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p4}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p5}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const-string v2, "IP" -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->RILJ_LOGD:Z -- -- if-eqz v1, :cond_9f -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/LGEQualcommRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, p5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, p6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, p7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/LGEQualcommRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_9f -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/LGEQualcommRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void --.end method -- --.method public supplyIccPin(Ljava/lang/String;Landroid/os/Message;)V -- .registers 6 -- -- const/4 v1, 0x2 -- -- invoke-static {v1, p2}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->RILJ_LOGD:Z -- -- if-eqz v1, :cond_2d -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/LGEQualcommRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/LGEQualcommRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_2d -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- iget-object v2, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/LGEQualcommRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void --.end method -- --.method public supplyIccPin2(Ljava/lang/String;Landroid/os/Message;)V -- .registers 6 -- -- const/4 v1, 0x4 -- -- invoke-static {v1, p2}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->RILJ_LOGD:Z -- -- if-eqz v1, :cond_2d -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/LGEQualcommRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/LGEQualcommRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_2d -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- iget-object v2, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/LGEQualcommRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void --.end method -- --.method public supplyIccPuk(Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- .registers 7 -- -- const/4 v1, 0x3 -- -- invoke-static {v1, p3}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->RILJ_LOGD:Z -- -- if-eqz v1, :cond_2d -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/LGEQualcommRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/LGEQualcommRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_2d -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- iget-object v2, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p2}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/LGEQualcommRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void --.end method -- --.method public supplyIccPuk2(Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- .registers 7 -- -- const/4 v1, 0x5 -- -- invoke-static {v1, p3}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->RILJ_LOGD:Z -- -- if-eqz v1, :cond_2d -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/LGEQualcommRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/LGEQualcommRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_2d -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- iget-object v2, p0, Lcom/android/internal/telephony/LGEQualcommRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p2}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/LGEQualcommRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/LGEQualcommUiccRIL.smali pdroid-framework/smali/com/android/internal/telephony/LGEQualcommUiccRIL.smali ---- stock-framework/smali/com/android/internal/telephony/LGEQualcommUiccRIL.smali 2012-10-12 12:25:02.172677702 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/LGEQualcommUiccRIL.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,420 +0,0 @@ --.class public Lcom/android/internal/telephony/LGEQualcommUiccRIL; --.super Lcom/android/internal/telephony/QualcommSharedRIL; --.source "LGEQualcommUiccRIL.java" -- --# interfaces --.implements Lcom/android/internal/telephony/CommandsInterface; -- -- --# instance fields --.field RILJ_LOGD:Z -- --.field RILJ_LOGV:Z -- -- --# direct methods --.method public constructor (Landroid/content/Context;II)V -- .registers 5 -- -- const/4 v0, 0x1 -- -- invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/QualcommSharedRIL;->(Landroid/content/Context;II)V -- -- iput-boolean v0, p0, Lcom/android/internal/telephony/LGEQualcommUiccRIL;->RILJ_LOGV:Z -- -- iput-boolean v0, p0, Lcom/android/internal/telephony/LGEQualcommUiccRIL;->RILJ_LOGD:Z -- -- return-void --.end method -- -- --# virtual methods --.method protected responseIccCardStatus(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 11 -- -- new-instance v5, Lcom/android/internal/telephony/IccCardStatus; -- -- invoke-direct {v5}, Lcom/android/internal/telephony/IccCardStatus;->()V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v5, v6}, Lcom/android/internal/telephony/IccCardStatus;->setCardState(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v5, v6}, Lcom/android/internal/telephony/IccCardStatus;->setUniversalPinState(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v5, v6}, Lcom/android/internal/telephony/IccCardStatus;->setGsmUmtsSubscriptionAppIndex(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v5, v6}, Lcom/android/internal/telephony/IccCardStatus;->setCdmaSubscriptionAppIndex(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v5, v6}, Lcom/android/internal/telephony/IccCardStatus;->setImsSubscriptionAppIndex(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- const/16 v6, 0x8 -- -- if-le v4, v6, :cond_32 -- -- const/16 v4, 0x8 -- -- :cond_32 -- invoke-virtual {v5, v4}, Lcom/android/internal/telephony/IccCardStatus;->setNumApplications(I)V -- -- const/4 v3, 0x0 -- -- :goto_36 -- if-ge v3, v4, :cond_93 -- -- new-instance v2, Lcom/android/internal/telephony/IccCardApplication; -- -- invoke-direct {v2}, Lcom/android/internal/telephony/IccCardApplication;->()V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v2, v6}, Lcom/android/internal/telephony/IccCardApplication;->AppTypeFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- move-result-object v6 -- -- iput-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->app_type:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v2, v6}, Lcom/android/internal/telephony/IccCardApplication;->AppStateFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- move-result-object v6 -- -- iput-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->app_state:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v2, v6}, Lcom/android/internal/telephony/IccCardApplication;->PersoSubstateFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- move-result-object v6 -- -- iput-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->perso_substate:Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v6 -- -- iput-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->aid:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v6 -- -- iput-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->app_label:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- iput v6, v2, Lcom/android/internal/telephony/IccCardApplication;->pin1_replaced:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v2, v6}, Lcom/android/internal/telephony/IccCardApplication;->PinStateFromRILInt(I)Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- move-result-object v6 -- -- iput-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->pin1:Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v2, v6}, Lcom/android/internal/telephony/IccCardApplication;->PinStateFromRILInt(I)Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- move-result-object v6 -- -- iput-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->pin2:Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {v5, v2}, Lcom/android/internal/telephony/IccCardStatus;->addApplication(Lcom/android/internal/telephony/IccCardApplication;)V -- -- add-int/lit8 v3, v3, 0x1 -- -- goto :goto_36 -- -- :cond_93 -- const/4 v0, -0x1 -- -- iget v6, p0, Lcom/android/internal/telephony/LGEQualcommUiccRIL;->mPhoneType:I -- -- const/4 v7, 0x2 -- -- if-ne v6, v7, :cond_f3 -- -- invoke-virtual {v5}, Lcom/android/internal/telephony/IccCardStatus;->getCdmaSubscriptionAppIndex()I -- -- move-result v0 -- -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, "This is a CDMA PHONE " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :goto_b5 -- if-lez v4, :cond_f2 -- -- invoke-virtual {v5, v0}, Lcom/android/internal/telephony/IccCardStatus;->getApplication(I)Lcom/android/internal/telephony/IccCardApplication; -- -- move-result-object v1 -- -- iget-object v6, v1, Lcom/android/internal/telephony/IccCardApplication;->aid:Ljava/lang/String; -- -- iput-object v6, p0, Lcom/android/internal/telephony/LGEQualcommUiccRIL;->mAid:Ljava/lang/String; -- -- iget-object v6, v1, Lcom/android/internal/telephony/IccCardApplication;->app_type:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- sget-object v7, Lcom/android/internal/telephony/IccCardApplication$AppType;->APPTYPE_USIM:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- if-ne v6, v7, :cond_110 -- -- const/4 v6, 0x1 -- -- :goto_c6 -- iput-boolean v6, p0, Lcom/android/internal/telephony/LGEQualcommUiccRIL;->mUSIM:Z -- -- iget v6, p0, Lcom/android/internal/telephony/LGEQualcommUiccRIL;->mPreferredNetworkType:I -- -- iput v6, p0, Lcom/android/internal/telephony/LGEQualcommUiccRIL;->mSetPreferredNetworkType:I -- -- iget-object v6, p0, Lcom/android/internal/telephony/LGEQualcommUiccRIL;->mAid:Ljava/lang/String; -- -- invoke-static {v6}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v6 -- -- if-eqz v6, :cond_d8 -- -- const-string v6, "" -- -- iput-object v6, p0, Lcom/android/internal/telephony/LGEQualcommUiccRIL;->mAid:Ljava/lang/String; -- -- :cond_d8 -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, "mAid " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- iget-object v8, p0, Lcom/android/internal/telephony/LGEQualcommUiccRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :cond_f2 -- return-object v5 -- -- :cond_f3 -- invoke-virtual {v5}, Lcom/android/internal/telephony/IccCardStatus;->getGsmUmtsSubscriptionAppIndex()I -- -- move-result v0 -- -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, "This is a GSM PHONE " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- goto :goto_b5 -- -- :cond_110 -- const/4 v6, 0x0 -- -- goto :goto_c6 --.end method -- --.method protected responseSetupDataCall(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 4 -- -- const-string v1, "datacall" -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/LGEQualcommUiccRIL;->needsOldRilFeature(Ljava/lang/String;)Z -- -- move-result v0 -- -- if-nez v0, :cond_d -- -- invoke-super {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseSetupDataCall(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- :goto_c -- return-object v1 -- -- :cond_d -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- invoke-super {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseSetupDataCall(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto :goto_c --.end method -- --.method protected responseSignalStrength(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 10 -- -- const/4 v7, -0x1 -- -- const/16 v2, 0xc -- -- const-string/jumbo v5, "signalstrength" -- -- invoke-virtual {p0, v5}, Lcom/android/internal/telephony/LGEQualcommUiccRIL;->needsOldRilFeature(Ljava/lang/String;)Z -- -- move-result v3 -- -- const/4 v1, 0x0 -- -- new-array v4, v2, [I -- -- const/4 v0, 0x0 -- -- :goto_e -- if-ge v0, v2, :cond_41 -- -- if-nez v3, :cond_14 -- -- if-eqz v1, :cond_3a -- -- :cond_14 -- const/4 v5, 0x6 -- -- if-le v0, v5, :cond_3a -- -- const/16 v5, 0xc -- -- if-ge v0, v5, :cond_3a -- -- aput v7, v4, v0 -- -- :goto_1d -- const/4 v5, 0x7 -- -- if-ne v0, v5, :cond_29 -- -- aget v5, v4, v0 -- -- const/16 v6, 0x63 -- -- if-ne v5, v6, :cond_29 -- -- aput v7, v4, v0 -- -- const/4 v1, 0x1 -- -- :cond_29 -- const/16 v5, 0x8 -- -- if-ne v0, v5, :cond_37 -- -- if-nez v1, :cond_37 -- -- if-nez v3, :cond_37 -- -- aget v5, v4, v0 -- -- mul-int/lit8 v5, v5, -0x1 -- -- aput v5, v4, v0 -- -- :cond_37 -- add-int/lit8 v0, v0, 0x1 -- -- goto :goto_e -- -- :cond_3a -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v5 -- -- aput v5, v4, v0 -- -- goto :goto_1d -- -- :cond_41 -- return-object v4 --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/MotoWrigley3GRIL.smali pdroid-framework/smali/com/android/internal/telephony/MotoWrigley3GRIL.smali ---- stock-framework/smali/com/android/internal/telephony/MotoWrigley3GRIL.smali 2012-10-12 12:25:02.192677802 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/MotoWrigley3GRIL.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,425 +0,0 @@ --.class public Lcom/android/internal/telephony/MotoWrigley3GRIL; --.super Lcom/android/internal/telephony/RIL; --.source "MotoWrigley3GRIL.java" -- -- --# direct methods --.method public constructor (Landroid/content/Context;II)V -- .registers 4 -- -- invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/RIL;->(Landroid/content/Context;II)V -- -- return-void --.end method -- -- --# virtual methods --.method protected responseCallList(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 16 -- -- const/4 v10, 0x0 -- -- const/4 v9, 0x1 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v3 -- -- new-instance v4, Ljava/util/ArrayList; -- -- invoke-direct {v4, v3}, Ljava/util/ArrayList;->(I)V -- -- const/4 v1, 0x0 -- -- :goto_c -- if-ge v1, v3, :cond_14b -- -- new-instance v0, Lcom/android/internal/telephony/DriverCall; -- -- invoke-direct {v0}, Lcom/android/internal/telephony/DriverCall;->()V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- invoke-static {v8}, Lcom/android/internal/telephony/DriverCall;->stateFromCLCC(I)Lcom/android/internal/telephony/DriverCall$State; -- -- move-result-object v8 -- -- iput-object v8, v0, Lcom/android/internal/telephony/DriverCall;->state:Lcom/android/internal/telephony/DriverCall$State; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- iput v8, v0, Lcom/android/internal/telephony/DriverCall;->index:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- iput v8, v0, Lcom/android/internal/telephony/DriverCall;->TOA:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- if-eqz v8, :cond_12e -- -- move v8, v9 -- -- :goto_30 -- iput-boolean v8, v0, Lcom/android/internal/telephony/DriverCall;->isMpty:Z -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- if-eqz v8, :cond_131 -- -- move v8, v9 -- -- :goto_39 -- iput-boolean v8, v0, Lcom/android/internal/telephony/DriverCall;->isMT:Z -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- iput v8, v0, Lcom/android/internal/telephony/DriverCall;->als:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v7 -- -- if-nez v7, :cond_134 -- -- move v8, v10 -- -- :goto_48 -- iput-boolean v8, v0, Lcom/android/internal/telephony/DriverCall;->isVoice:Z -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- if-eqz v8, :cond_137 -- -- move v8, v9 -- -- :goto_51 -- iput-boolean v8, v0, Lcom/android/internal/telephony/DriverCall;->isVoicePrivacy:Z -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v8 -- -- iput-object v8, v0, Lcom/android/internal/telephony/DriverCall;->number:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v2 -- -- iget-boolean v8, v0, Lcom/android/internal/telephony/DriverCall;->isMT:Z -- -- if-nez v8, :cond_62 -- -- const/4 v2, 0x0 -- -- :cond_62 -- invoke-static {v2}, Lcom/android/internal/telephony/DriverCall;->presentationFromCLIP(I)I -- -- move-result v8 -- -- iput v8, v0, Lcom/android/internal/telephony/DriverCall;->numberPresentation:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v8 -- -- iput-object v8, v0, Lcom/android/internal/telephony/DriverCall;->name:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- iput v8, v0, Lcom/android/internal/telephony/DriverCall;->namePresentation:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- if-ne v6, v9, :cond_13a -- -- new-instance v8, Lcom/android/internal/telephony/UUSInfo; -- -- invoke-direct {v8}, Lcom/android/internal/telephony/UUSInfo;->()V -- -- iput-object v8, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- iget-object v8, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v11 -- -- invoke-virtual {v8, v11}, Lcom/android/internal/telephony/UUSInfo;->setType(I)V -- -- iget-object v8, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v11 -- -- invoke-virtual {v8, v11}, Lcom/android/internal/telephony/UUSInfo;->setDcs(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->createByteArray()[B -- -- move-result-object v5 -- -- iget-object v8, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v8, v5}, Lcom/android/internal/telephony/UUSInfo;->setUserData([B)V -- -- const-string v8, "Incoming UUS : type=%d, dcs=%d, length=%d" -- -- const/4 v11, 0x3 -- -- new-array v11, v11, [Ljava/lang/Object; -- -- iget-object v12, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v12}, Lcom/android/internal/telephony/UUSInfo;->getType()I -- -- move-result v12 -- -- invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -- -- move-result-object v12 -- -- aput-object v12, v11, v10 -- -- iget-object v12, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v12}, Lcom/android/internal/telephony/UUSInfo;->getDcs()I -- -- move-result v12 -- -- invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -- -- move-result-object v12 -- -- aput-object v12, v11, v9 -- -- const/4 v12, 0x2 -- -- iget-object v13, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v13}, Lcom/android/internal/telephony/UUSInfo;->getUserData()[B -- -- move-result-object v13 -- -- array-length v13, v13 -- -- invoke-static {v13}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -- -- move-result-object v13 -- -- aput-object v13, v11, v12 -- -- invoke-static {v8, v11}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; -- -- move-result-object v8 -- -- invoke-virtual {p0, v8}, Lcom/android/internal/telephony/MotoWrigley3GRIL;->riljLogv(Ljava/lang/String;)V -- -- new-instance v8, Ljava/lang/StringBuilder; -- -- invoke-direct {v8}, Ljava/lang/StringBuilder;->()V -- -- const-string v11, "Incoming UUS : data (string)=" -- -- invoke-virtual {v8, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v8 -- -- new-instance v11, Ljava/lang/String; -- -- iget-object v12, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v12}, Lcom/android/internal/telephony/UUSInfo;->getUserData()[B -- -- move-result-object v12 -- -- invoke-direct {v11, v12}, Ljava/lang/String;->([B)V -- -- invoke-virtual {v8, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v8 -- -- invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v8 -- -- invoke-virtual {p0, v8}, Lcom/android/internal/telephony/MotoWrigley3GRIL;->riljLogv(Ljava/lang/String;)V -- -- new-instance v8, Ljava/lang/StringBuilder; -- -- invoke-direct {v8}, Ljava/lang/StringBuilder;->()V -- -- const-string v11, "Incoming UUS : data (hex): " -- -- invoke-virtual {v8, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v8 -- -- iget-object v11, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v11}, Lcom/android/internal/telephony/UUSInfo;->getUserData()[B -- -- move-result-object v11 -- -- invoke-static {v11}, Lcom/android/internal/telephony/IccUtils;->bytesToHexString([B)Ljava/lang/String; -- -- move-result-object v11 -- -- invoke-virtual {v8, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v8 -- -- invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v8 -- -- invoke-virtual {p0, v8}, Lcom/android/internal/telephony/MotoWrigley3GRIL;->riljLogv(Ljava/lang/String;)V -- -- :goto_10f -- iget-object v8, v0, Lcom/android/internal/telephony/DriverCall;->number:Ljava/lang/String; -- -- iget v11, v0, Lcom/android/internal/telephony/DriverCall;->TOA:I -- -- invoke-static {v8, v11}, Landroid/telephony/PhoneNumberUtils;->stringFromStringAndTOA(Ljava/lang/String;I)Ljava/lang/String; -- -- move-result-object v8 -- -- iput-object v8, v0, Lcom/android/internal/telephony/DriverCall;->number:Ljava/lang/String; -- -- invoke-virtual {v4, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z -- -- iget-boolean v8, v0, Lcom/android/internal/telephony/DriverCall;->isVoicePrivacy:Z -- -- if-eqz v8, :cond_140 -- -- iget-object v8, p0, Lcom/android/internal/telephony/MotoWrigley3GRIL;->mVoicePrivacyOnRegistrants:Landroid/os/RegistrantList; -- -- invoke-virtual {v8}, Landroid/os/RegistrantList;->notifyRegistrants()V -- -- const-string v8, "InCall VoicePrivacy is enabled" -- -- invoke-virtual {p0, v8}, Lcom/android/internal/telephony/MotoWrigley3GRIL;->riljLog(Ljava/lang/String;)V -- -- :goto_12a -- add-int/lit8 v1, v1, 0x1 -- -- goto/16 :goto_c -- -- :cond_12e -- move v8, v10 -- -- goto/16 :goto_30 -- -- :cond_131 -- move v8, v10 -- -- goto/16 :goto_39 -- -- :cond_134 -- move v8, v9 -- -- goto/16 :goto_48 -- -- :cond_137 -- move v8, v10 -- -- goto/16 :goto_51 -- -- :cond_13a -- const-string v8, "Incoming UUS : NOT present!" -- -- invoke-virtual {p0, v8}, Lcom/android/internal/telephony/MotoWrigley3GRIL;->riljLogv(Ljava/lang/String;)V -- -- goto :goto_10f -- -- :cond_140 -- iget-object v8, p0, Lcom/android/internal/telephony/MotoWrigley3GRIL;->mVoicePrivacyOffRegistrants:Landroid/os/RegistrantList; -- -- invoke-virtual {v8}, Landroid/os/RegistrantList;->notifyRegistrants()V -- -- const-string v8, "InCall VoicePrivacy is disabled" -- -- invoke-virtual {p0, v8}, Lcom/android/internal/telephony/MotoWrigley3GRIL;->riljLog(Ljava/lang/String;)V -- -- goto :goto_12a -- -- :cond_14b -- invoke-static {v4}, Ljava/util/Collections;->sort(Ljava/util/List;)V -- -- return-object v4 --.end method -- --.method protected responseSuppServiceNotification(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 5 -- -- new-instance v0, Lcom/android/internal/telephony/gsm/SuppServiceNotification; -- -- invoke-direct {v0}, Lcom/android/internal/telephony/gsm/SuppServiceNotification;->()V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v1 -- -- iput v1, v0, Lcom/android/internal/telephony/gsm/SuppServiceNotification;->notificationType:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v1 -- -- iput v1, v0, Lcom/android/internal/telephony/gsm/SuppServiceNotification;->code:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v1 -- -- iput v1, v0, Lcom/android/internal/telephony/gsm/SuppServiceNotification;->index:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v1 -- -- iput v1, v0, Lcom/android/internal/telephony/gsm/SuppServiceNotification;->type:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v1 -- -- iput-object v1, v0, Lcom/android/internal/telephony/gsm/SuppServiceNotification;->number:Ljava/lang/String; -- -- iget v1, v0, Lcom/android/internal/telephony/gsm/SuppServiceNotification;->notificationType:I -- -- const/4 v2, 0x1 -- -- if-ne v1, v2, :cond_31 -- -- iget v1, v0, Lcom/android/internal/telephony/gsm/SuppServiceNotification;->code:I -- -- const/16 v2, 0xa -- -- if-ne v1, v2, :cond_31 -- -- const/4 v1, 0x0 -- -- iput v1, v0, Lcom/android/internal/telephony/gsm/SuppServiceNotification;->code:I -- -- :cond_31 -- return-object v0 --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/QualcommSharedRIL$1.smali pdroid-framework/smali/com/android/internal/telephony/QualcommSharedRIL$1.smali ---- stock-framework/smali/com/android/internal/telephony/QualcommSharedRIL$1.smali 2012-10-12 12:25:02.256678123 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/QualcommSharedRIL$1.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,174 +0,0 @@ --.class synthetic Lcom/android/internal/telephony/QualcommSharedRIL$1; --.super Ljava/lang/Object; --.source "QualcommSharedRIL.java" -- -- --# annotations --.annotation system Ldalvik/annotation/EnclosingClass; -- value = Lcom/android/internal/telephony/QualcommSharedRIL; --.end annotation -- --.annotation system Ldalvik/annotation/InnerClass; -- accessFlags = 0x1008 -- name = null --.end annotation -- -- --# static fields --.field static final synthetic $SwitchMap$com$android$internal$telephony$IccCardApplication$AppState:[I -- --.field static final synthetic $SwitchMap$com$android$internal$telephony$IccCardApplication$AppType:[I -- -- --# direct methods --.method static constructor ()V -- .registers 3 -- -- invoke-static {}, Lcom/android/internal/telephony/IccCardApplication$AppState;->values()[Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- move-result-object v0 -- -- array-length v0, v0 -- -- new-array v0, v0, [I -- -- sput-object v0, Lcom/android/internal/telephony/QualcommSharedRIL$1;->$SwitchMap$com$android$internal$telephony$IccCardApplication$AppState:[I -- -- :try_start_9 -- sget-object v0, Lcom/android/internal/telephony/QualcommSharedRIL$1;->$SwitchMap$com$android$internal$telephony$IccCardApplication$AppState:[I -- -- sget-object v1, Lcom/android/internal/telephony/IccCardApplication$AppState;->APPSTATE_PIN:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- invoke-virtual {v1}, Lcom/android/internal/telephony/IccCardApplication$AppState;->ordinal()I -- -- move-result v1 -- -- const/4 v2, 0x1 -- -- aput v2, v0, v1 -- :try_end_14 -- .catch Ljava/lang/NoSuchFieldError; {:try_start_9 .. :try_end_14} :catch_5f -- -- :goto_14 -- :try_start_14 -- sget-object v0, Lcom/android/internal/telephony/QualcommSharedRIL$1;->$SwitchMap$com$android$internal$telephony$IccCardApplication$AppState:[I -- -- sget-object v1, Lcom/android/internal/telephony/IccCardApplication$AppState;->APPSTATE_PUK:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- invoke-virtual {v1}, Lcom/android/internal/telephony/IccCardApplication$AppState;->ordinal()I -- -- move-result v1 -- -- const/4 v2, 0x2 -- -- aput v2, v0, v1 -- :try_end_1f -- .catch Ljava/lang/NoSuchFieldError; {:try_start_14 .. :try_end_1f} :catch_5d -- -- :goto_1f -- :try_start_1f -- sget-object v0, Lcom/android/internal/telephony/QualcommSharedRIL$1;->$SwitchMap$com$android$internal$telephony$IccCardApplication$AppState:[I -- -- sget-object v1, Lcom/android/internal/telephony/IccCardApplication$AppState;->APPSTATE_READY:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- invoke-virtual {v1}, Lcom/android/internal/telephony/IccCardApplication$AppState;->ordinal()I -- -- move-result v1 -- -- const/4 v2, 0x3 -- -- aput v2, v0, v1 -- :try_end_2a -- .catch Ljava/lang/NoSuchFieldError; {:try_start_1f .. :try_end_2a} :catch_5b -- -- :goto_2a -- invoke-static {}, Lcom/android/internal/telephony/IccCardApplication$AppType;->values()[Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- move-result-object v0 -- -- array-length v0, v0 -- -- new-array v0, v0, [I -- -- sput-object v0, Lcom/android/internal/telephony/QualcommSharedRIL$1;->$SwitchMap$com$android$internal$telephony$IccCardApplication$AppType:[I -- -- :try_start_33 -- sget-object v0, Lcom/android/internal/telephony/QualcommSharedRIL$1;->$SwitchMap$com$android$internal$telephony$IccCardApplication$AppType:[I -- -- sget-object v1, Lcom/android/internal/telephony/IccCardApplication$AppType;->APPTYPE_SIM:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- invoke-virtual {v1}, Lcom/android/internal/telephony/IccCardApplication$AppType;->ordinal()I -- -- move-result v1 -- -- const/4 v2, 0x1 -- -- aput v2, v0, v1 -- :try_end_3e -- .catch Ljava/lang/NoSuchFieldError; {:try_start_33 .. :try_end_3e} :catch_59 -- -- :goto_3e -- :try_start_3e -- sget-object v0, Lcom/android/internal/telephony/QualcommSharedRIL$1;->$SwitchMap$com$android$internal$telephony$IccCardApplication$AppType:[I -- -- sget-object v1, Lcom/android/internal/telephony/IccCardApplication$AppType;->APPTYPE_USIM:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- invoke-virtual {v1}, Lcom/android/internal/telephony/IccCardApplication$AppType;->ordinal()I -- -- move-result v1 -- -- const/4 v2, 0x2 -- -- aput v2, v0, v1 -- :try_end_49 -- .catch Ljava/lang/NoSuchFieldError; {:try_start_3e .. :try_end_49} :catch_57 -- -- :goto_49 -- :try_start_49 -- sget-object v0, Lcom/android/internal/telephony/QualcommSharedRIL$1;->$SwitchMap$com$android$internal$telephony$IccCardApplication$AppType:[I -- -- sget-object v1, Lcom/android/internal/telephony/IccCardApplication$AppType;->APPTYPE_RUIM:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- invoke-virtual {v1}, Lcom/android/internal/telephony/IccCardApplication$AppType;->ordinal()I -- -- move-result v1 -- -- const/4 v2, 0x3 -- -- aput v2, v0, v1 -- :try_end_54 -- .catch Ljava/lang/NoSuchFieldError; {:try_start_49 .. :try_end_54} :catch_55 -- -- :goto_54 -- return-void -- -- :catch_55 -- move-exception v0 -- -- goto :goto_54 -- -- :catch_57 -- move-exception v0 -- -- goto :goto_49 -- -- :catch_59 -- move-exception v0 -- -- goto :goto_3e -- -- :catch_5b -- move-exception v0 -- -- goto :goto_2a -- -- :catch_5d -- move-exception v0 -- -- goto :goto_1f -- -- :catch_5f -- move-exception v0 -- -- goto :goto_14 --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/QualcommSharedRIL$IccHandler.smali pdroid-framework/smali/com/android/internal/telephony/QualcommSharedRIL$IccHandler.smali ---- stock-framework/smali/com/android/internal/telephony/QualcommSharedRIL$IccHandler.smali 2012-10-12 12:25:02.256678123 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/QualcommSharedRIL$IccHandler.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,430 +0,0 @@ --.class Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler; --.super Landroid/os/Handler; --.source "QualcommSharedRIL.java" -- --# interfaces --.implements Ljava/lang/Runnable; -- -- --# annotations --.annotation system Ldalvik/annotation/EnclosingClass; -- value = Lcom/android/internal/telephony/QualcommSharedRIL; --.end annotation -- --.annotation system Ldalvik/annotation/InnerClass; -- accessFlags = 0x0 -- name = "IccHandler" --.end annotation -- -- --# static fields --.field private static final EVENT_GET_ICC_STATUS_DONE:I = 0x3 -- --.field private static final EVENT_ICC_STATUS_CHANGED:I = 0x2 -- --.field private static final EVENT_RADIO_OFF_OR_UNAVAILABLE:I = 0x4 -- --.field private static final EVENT_RADIO_ON:I = 0x1 -- -- --# instance fields --.field private mRadioOn:Z -- --.field private mRil:Lcom/android/internal/telephony/RIL; -- --.field final synthetic this$0:Lcom/android/internal/telephony/QualcommSharedRIL; -- -- --# direct methods --.method public constructor (Lcom/android/internal/telephony/QualcommSharedRIL;Lcom/android/internal/telephony/RIL;Landroid/os/Looper;)V -- .registers 5 -- -- iput-object p1, p0, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler;->this$0:Lcom/android/internal/telephony/QualcommSharedRIL; -- -- invoke-direct {p0, p3}, Landroid/os/Handler;->(Landroid/os/Looper;)V -- -- const/4 v0, 0x0 -- -- iput-boolean v0, p0, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler;->mRadioOn:Z -- -- iput-object p2, p0, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler;->mRil:Lcom/android/internal/telephony/RIL; -- -- return-void --.end method -- -- --# virtual methods --.method public handleMessage(Landroid/os/Message;)V -- .registers 11 -- -- const/4 v8, 0x2 -- -- iget v6, p1, Landroid/os/Message;->what:I -- -- packed-switch v6, :pswitch_data_13a -- -- :goto_6 -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, " Unknown Event " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- iget v8, p1, Landroid/os/Message;->what:I -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -- -- :cond_20 -- :goto_20 -- return-void -- -- :pswitch_21 -- const/4 v6, 0x1 -- -- iput-boolean v6, p0, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler;->mRadioOn:Z -- -- const-string v6, "RILJ" -- -- const-string v7, "Radio on -> Forcing sim status update" -- -- invoke-static {v6, v7}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- invoke-virtual {p0, v8}, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler;->obtainMessage(I)Landroid/os/Message; -- -- move-result-object v6 -- -- invoke-virtual {p0, v6}, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler;->sendMessage(Landroid/os/Message;)Z -- -- goto :goto_20 -- -- :pswitch_33 -- iget-object v4, p1, Landroid/os/Message;->obj:Ljava/lang/Object; -- -- check-cast v4, Landroid/os/AsyncResult; -- -- iget-object v6, v4, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable; -- -- if-eqz v6, :cond_45 -- -- const-string v6, "RILJ" -- -- const-string v7, "IccCardStatusDone shouldn\'t return exceptions!" -- -- iget-object v8, v4, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable; -- -- invoke-static {v6, v7, v8}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -- -- goto :goto_20 -- -- :cond_45 -- iget-object v5, v4, Landroid/os/AsyncResult;->result:Ljava/lang/Object; -- -- check-cast v5, Lcom/android/internal/telephony/IccCardStatus; -- -- invoke-virtual {v5}, Lcom/android/internal/telephony/IccCardStatus;->getNumApplications()I -- -- move-result v6 -- -- if-nez v6, :cond_63 -- -- iget-object v6, p0, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler;->mRil:Lcom/android/internal/telephony/RIL; -- -- invoke-virtual {v6}, Lcom/android/internal/telephony/RIL;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState; -- -- move-result-object v6 -- -- invoke-virtual {v6}, Lcom/android/internal/telephony/CommandsInterface$RadioState;->isOn()Z -- -- move-result v6 -- -- if-eqz v6, :cond_20 -- -- iget-object v6, p0, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler;->mRil:Lcom/android/internal/telephony/RIL; -- -- sget-object v7, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_ON:Lcom/android/internal/telephony/CommandsInterface$RadioState; -- -- invoke-virtual {v6, v7}, Lcom/android/internal/telephony/RIL;->setRadioState(Lcom/android/internal/telephony/CommandsInterface$RadioState;)V -- -- goto :goto_20 -- -- :cond_63 -- const/4 v0, -0x1 -- -- iget-object v6, p0, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler;->this$0:Lcom/android/internal/telephony/QualcommSharedRIL; -- -- iget v6, v6, Lcom/android/internal/telephony/QualcommSharedRIL;->mPhoneType:I -- -- if-ne v6, v8, :cond_bf -- -- invoke-virtual {v5}, Lcom/android/internal/telephony/IccCardStatus;->getCdmaSubscriptionAppIndex()I -- -- move-result v0 -- -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, "This is a CDMA PHONE " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :goto_86 -- invoke-virtual {v5, v0}, Lcom/android/internal/telephony/IccCardStatus;->getApplication(I)Lcom/android/internal/telephony/IccCardApplication; -- -- move-result-object v3 -- -- iget-object v1, v3, Lcom/android/internal/telephony/IccCardApplication;->app_state:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- iget-object v2, v3, Lcom/android/internal/telephony/IccCardApplication;->app_type:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- sget-object v6, Lcom/android/internal/telephony/QualcommSharedRIL$1;->$SwitchMap$com$android$internal$telephony$IccCardApplication$AppState:[I -- -- invoke-virtual {v1}, Lcom/android/internal/telephony/IccCardApplication$AppState;->ordinal()I -- -- move-result v7 -- -- aget v6, v6, v7 -- -- packed-switch v6, :pswitch_data_146 -- -- goto :goto_20 -- -- :pswitch_9a -- sget-object v6, Lcom/android/internal/telephony/QualcommSharedRIL$1;->$SwitchMap$com$android$internal$telephony$IccCardApplication$AppType:[I -- -- invoke-virtual {v2}, Lcom/android/internal/telephony/IccCardApplication$AppType;->ordinal()I -- -- move-result v7 -- -- aget v6, v6, v7 -- -- packed-switch v6, :pswitch_data_150 -- -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, "Currently we don\'t handle SIMs of type: " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -- -- goto/16 :goto_20 -- -- :cond_bf -- invoke-virtual {v5}, Lcom/android/internal/telephony/IccCardStatus;->getGsmUmtsSubscriptionAppIndex()I -- -- move-result v0 -- -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, "This is a GSM PHONE " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- goto :goto_86 -- -- :pswitch_dc -- iget-object v6, p0, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler;->mRil:Lcom/android/internal/telephony/RIL; -- -- sget-object v7, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_ON:Lcom/android/internal/telephony/CommandsInterface$RadioState; -- -- invoke-virtual {v6, v7}, Lcom/android/internal/telephony/RIL;->setRadioState(Lcom/android/internal/telephony/CommandsInterface$RadioState;)V -- -- goto/16 :goto_20 -- -- :pswitch_e5 -- sget-object v6, Lcom/android/internal/telephony/QualcommSharedRIL$1;->$SwitchMap$com$android$internal$telephony$IccCardApplication$AppType:[I -- -- invoke-virtual {v2}, Lcom/android/internal/telephony/IccCardApplication$AppType;->ordinal()I -- -- move-result v7 -- -- aget v6, v6, v7 -- -- packed-switch v6, :pswitch_data_15a -- -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, "Currently we don\'t handle SIMs of type: " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -- -- goto/16 :goto_20 -- -- :pswitch_10a -- iget-object v6, p0, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler;->mRil:Lcom/android/internal/telephony/RIL; -- -- sget-object v7, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_ON:Lcom/android/internal/telephony/CommandsInterface$RadioState; -- -- invoke-virtual {v6, v7}, Lcom/android/internal/telephony/RIL;->setRadioState(Lcom/android/internal/telephony/CommandsInterface$RadioState;)V -- -- goto/16 :goto_20 -- -- :pswitch_113 -- iget-boolean v6, p0, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler;->mRadioOn:Z -- -- if-eqz v6, :cond_12c -- -- const-string v6, "RILJ" -- -- const-string v7, "Received EVENT_ICC_STATUS_CHANGED, calling getIccCardStatus" -- -- invoke-static {v6, v7}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- iget-object v6, p0, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler;->mRil:Lcom/android/internal/telephony/RIL; -- -- const/4 v7, 0x3 -- -- iget-object v8, p1, Landroid/os/Message;->obj:Ljava/lang/Object; -- -- invoke-virtual {p0, v7, v8}, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; -- -- move-result-object v7 -- -- invoke-virtual {v6, v7}, Lcom/android/internal/telephony/RIL;->getIccCardStatus(Landroid/os/Message;)V -- -- goto/16 :goto_20 -- -- :cond_12c -- const-string v6, "RILJ" -- -- const-string v7, "Received EVENT_ICC_STATUS_CHANGED while radio is not ON. Ignoring" -- -- invoke-static {v6, v7}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- goto/16 :goto_20 -- -- :pswitch_135 -- const/4 v6, 0x0 -- -- iput-boolean v6, p0, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler;->mRadioOn:Z -- -- goto/16 :goto_6 -- -- :pswitch_data_13a -- .packed-switch 0x1 -- :pswitch_21 -- :pswitch_113 -- :pswitch_33 -- :pswitch_135 -- .end packed-switch -- -- :pswitch_data_146 -- .packed-switch 0x1 -- :pswitch_9a -- :pswitch_9a -- :pswitch_e5 -- .end packed-switch -- -- :pswitch_data_150 -- .packed-switch 0x1 -- :pswitch_dc -- :pswitch_dc -- :pswitch_dc -- .end packed-switch -- -- :pswitch_data_15a -- .packed-switch 0x1 -- :pswitch_10a -- :pswitch_10a -- :pswitch_10a -- .end packed-switch --.end method -- --.method public run()V -- .registers 5 -- -- iget-object v1, p0, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler;->mRil:Lcom/android/internal/telephony/RIL; -- -- const/4 v2, 0x2 -- -- const/4 v3, 0x0 -- -- invoke-virtual {v1, p0, v2, v3}, Lcom/android/internal/telephony/RIL;->registerForIccStatusChanged(Landroid/os/Handler;ILjava/lang/Object;)V -- -- const/4 v1, 0x1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler;->obtainMessage(I)Landroid/os/Message; -- -- move-result-object v0 -- -- iget-object v1, p0, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler;->mRil:Lcom/android/internal/telephony/RIL; -- -- invoke-virtual {v1, v0}, Lcom/android/internal/telephony/RIL;->getIccCardStatus(Landroid/os/Message;)V -- -- return-void --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/QualcommSharedRIL.smali pdroid-framework/smali/com/android/internal/telephony/QualcommSharedRIL.smali ---- stock-framework/smali/com/android/internal/telephony/QualcommSharedRIL.smali 2012-10-12 12:25:01.996676833 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/QualcommSharedRIL.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,3047 +0,0 @@ --.class public Lcom/android/internal/telephony/QualcommSharedRIL; --.super Lcom/android/internal/telephony/RIL; --.source "QualcommSharedRIL.java" -- --# interfaces --.implements Lcom/android/internal/telephony/CommandsInterface; -- -- --# annotations --.annotation system Ldalvik/annotation/MemberClasses; -- value = { -- Lcom/android/internal/telephony/QualcommSharedRIL$1;, -- Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler; -- } --.end annotation -- -- --# instance fields --.field RILJ_LOGD:Z -- --.field RILJ_LOGV:Z -- --.field private final RIL_INT_RADIO_OFF:I -- --.field private final RIL_INT_RADIO_ON:I -- --.field private final RIL_INT_RADIO_ON_HTC:I -- --.field private final RIL_INT_RADIO_ON_NG:I -- --.field private final RIL_INT_RADIO_UNAVALIABLE:I -- --.field protected mAid:Ljava/lang/String; -- --.field protected mIccHandler:Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler; -- --.field protected mIccThread:Landroid/os/HandlerThread; -- --.field protected mLastDataIface:[Ljava/lang/String; -- --.field protected mUSIM:Z -- -- --# direct methods --.method public constructor (Landroid/content/Context;II)V -- .registers 7 -- -- const/4 v2, 0x0 -- -- const/4 v1, 0x1 -- -- invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/RIL;->(Landroid/content/Context;II)V -- -- iput-boolean v2, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mUSIM:Z -- -- const/16 v0, 0x14 -- -- new-array v0, v0, [Ljava/lang/String; -- -- iput-object v0, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mLastDataIface:[Ljava/lang/String; -- -- iput-boolean v1, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->RILJ_LOGV:Z -- -- iput-boolean v1, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->RILJ_LOGD:Z -- -- iput v2, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->RIL_INT_RADIO_OFF:I -- -- iput v1, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->RIL_INT_RADIO_UNAVALIABLE:I -- -- const/4 v0, 0x2 -- -- iput v0, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->RIL_INT_RADIO_ON:I -- -- const/16 v0, 0xa -- -- iput v0, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->RIL_INT_RADIO_ON_NG:I -- -- const/16 v0, 0xd -- -- iput v0, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->RIL_INT_RADIO_ON_HTC:I -- -- const/4 v0, -0x1 -- -- iput v0, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mSetPreferredNetworkType:I -- -- const/4 v0, 0x5 -- -- iput v0, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mQANElements:I -- -- return-void --.end method -- --.method private notifyRegistrantsRilConnectionChanged(I)V -- .registers 6 -- -- const/4 v3, 0x0 -- -- iput p1, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mRilVersion:I -- -- iget-object v0, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mRilConnectedRegistrants:Landroid/os/RegistrantList; -- -- if-eqz v0, :cond_16 -- -- iget-object v0, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mRilConnectedRegistrants:Landroid/os/RegistrantList; -- -- new-instance v1, Landroid/os/AsyncResult; -- -- new-instance v2, Ljava/lang/Integer; -- -- invoke-direct {v2, p1}, Ljava/lang/Integer;->(I)V -- -- invoke-direct {v1, v3, v2, v3}, Landroid/os/AsyncResult;->(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V -- -- invoke-virtual {v0, v1}, Landroid/os/RegistrantList;->notifyRegistrants(Landroid/os/AsyncResult;)V -- -- :cond_16 -- return-void --.end method -- --.method private setRadioStateFromRILInt(I)V -- .registers 8 -- -- const/4 v4, 0x0 -- -- sparse-switch p1, :sswitch_data_56 -- -- new-instance v3, Ljava/lang/RuntimeException; -- -- new-instance v4, Ljava/lang/StringBuilder; -- -- invoke-direct {v4}, Ljava/lang/StringBuilder;->()V -- -- const-string v5, "Unrecognized RIL_RadioState: " -- -- invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v4 -- -- invoke-direct {v3, v4}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V -- -- throw v3 -- -- :sswitch_1d -- sget-object v2, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_OFF:Lcom/android/internal/telephony/CommandsInterface$RadioState; -- -- iget-object v3, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mIccHandler:Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler; -- -- if-eqz v3, :cond_27 -- -- iput-object v4, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mIccThread:Landroid/os/HandlerThread; -- -- iput-object v4, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mIccHandler:Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler; -- -- :cond_27 -- :goto_27 -- invoke-virtual {p0, v2}, Lcom/android/internal/telephony/QualcommSharedRIL;->setRadioState(Lcom/android/internal/telephony/CommandsInterface$RadioState;)V -- -- return-void -- -- :sswitch_2b -- sget-object v2, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_UNAVAILABLE:Lcom/android/internal/telephony/CommandsInterface$RadioState; -- -- goto :goto_27 -- -- :sswitch_2e -- iget-object v3, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mIccHandler:Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler; -- -- if-nez v3, :cond_52 -- -- new-instance v0, Landroid/os/HandlerThread; -- -- const-string v3, "IccHandler" -- -- invoke-direct {v0, v3}, Landroid/os/HandlerThread;->(Ljava/lang/String;)V -- -- iput-object v0, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mIccThread:Landroid/os/HandlerThread; -- -- iget-object v3, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mIccThread:Landroid/os/HandlerThread; -- -- invoke-virtual {v3}, Landroid/os/HandlerThread;->start()V -- -- iget-object v3, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mIccThread:Landroid/os/HandlerThread; -- -- invoke-virtual {v3}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper; -- -- move-result-object v1 -- -- new-instance v3, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler; -- -- invoke-direct {v3, p0, p0, v1}, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler;->(Lcom/android/internal/telephony/QualcommSharedRIL;Lcom/android/internal/telephony/RIL;Landroid/os/Looper;)V -- -- iput-object v3, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mIccHandler:Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler; -- -- iget-object v3, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mIccHandler:Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler; -- -- invoke-virtual {v3}, Lcom/android/internal/telephony/QualcommSharedRIL$IccHandler;->run()V -- -- :cond_52 -- sget-object v2, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_ON:Lcom/android/internal/telephony/CommandsInterface$RadioState; -- -- goto :goto_27 -- -- nop -- -- :sswitch_data_56 -- .sparse-switch -- 0x0 -> :sswitch_1d -- 0x1 -> :sswitch_2b -- 0x2 -> :sswitch_2e -- 0xa -> :sswitch_2e -- 0xd -> :sswitch_2e -- .end sparse-switch --.end method -- -- --# virtual methods --.method public changeIccPin2(Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- .registers 5 -- -- iget-object v0, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {p0, p1, p2, v0, p3}, Lcom/android/internal/telephony/QualcommSharedRIL;->changeIccPin2ForApp(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- -- return-void --.end method -- --.method protected getDataCallState(Landroid/os/Parcel;I)Lcom/android/internal/telephony/DataCallState; -- .registers 12 -- -- const/4 v8, 0x0 -- -- new-instance v1, Lcom/android/internal/telephony/DataCallState; -- -- invoke-direct {v1}, Lcom/android/internal/telephony/DataCallState;->()V -- -- const-string v5, "datacall" -- -- invoke-virtual {p0, v5}, Lcom/android/internal/telephony/QualcommSharedRIL;->needsOldRilFeature(Ljava/lang/String;)Z -- -- move-result v4 -- -- if-nez v4, :cond_16 -- -- const/4 v5, 0x5 -- -- if-ge p2, v5, :cond_16 -- -- invoke-super {p0, p1, p2}, Lcom/android/internal/telephony/RIL;->getDataCallState(Landroid/os/Parcel;I)Lcom/android/internal/telephony/DataCallState; -- -- move-result-object v1 -- -- :cond_15 -- :goto_15 -- return-object v1 -- -- :cond_16 -- if-nez v4, :cond_93 -- -- iput p2, v1, Lcom/android/internal/telephony/DataCallState;->version:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v5 -- -- iput v5, v1, Lcom/android/internal/telephony/DataCallState;->status:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v5 -- -- iput v5, v1, Lcom/android/internal/telephony/DataCallState;->suggestedRetryTime:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v5 -- -- iput v5, v1, Lcom/android/internal/telephony/DataCallState;->cid:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v5 -- -- iput v5, v1, Lcom/android/internal/telephony/DataCallState;->active:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v5 -- -- iput-object v5, v1, Lcom/android/internal/telephony/DataCallState;->type:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v5 -- -- iput-object v5, v1, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- iget v5, v1, Lcom/android/internal/telephony/DataCallState;->status:I -- -- sget-object v6, Lcom/android/internal/telephony/DataConnection$FailCause;->NONE:Lcom/android/internal/telephony/DataConnection$FailCause; -- -- invoke-virtual {v6}, Lcom/android/internal/telephony/DataConnection$FailCause;->getErrorCode()I -- -- move-result v6 -- -- if-ne v5, v6, :cond_5c -- -- iget-object v5, v1, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- invoke-static {v5}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v5 -- -- if-eqz v5, :cond_5c -- -- iget v5, v1, Lcom/android/internal/telephony/DataCallState;->active:I -- -- if-eqz v5, :cond_5c -- -- new-instance v5, Ljava/lang/RuntimeException; -- -- const-string v6, "getDataCallState, no ifname" -- -- invoke-direct {v5, v6}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V -- -- throw v5 -- -- :cond_5c -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v0 -- -- invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v5 -- -- if-nez v5, :cond_6e -- -- const-string v5, " " -- -- invoke-virtual {v0, v5}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; -- -- move-result-object v5 -- -- iput-object v5, v1, Lcom/android/internal/telephony/DataCallState;->addresses:[Ljava/lang/String; -- -- :cond_6e -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-static {v2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v5 -- -- if-nez v5, :cond_80 -- -- const-string v5, " " -- -- invoke-virtual {v2, v5}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; -- -- move-result-object v5 -- -- iput-object v5, v1, Lcom/android/internal/telephony/DataCallState;->dnses:[Ljava/lang/String; -- -- :cond_80 -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v3 -- -- invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v5 -- -- if-nez v5, :cond_15 -- -- const-string v5, " " -- -- invoke-virtual {v3, v5}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; -- -- move-result-object v5 -- -- iput-object v5, v1, Lcom/android/internal/telephony/DataCallState;->gateways:[Ljava/lang/String; -- -- goto :goto_15 -- -- :cond_93 -- const/4 v5, 0x4 -- -- iput v5, v1, Lcom/android/internal/telephony/DataCallState;->version:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v5 -- -- iput v5, v1, Lcom/android/internal/telephony/DataCallState;->cid:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v5 -- -- iput v5, v1, Lcom/android/internal/telephony/DataCallState;->active:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v5 -- -- iput-object v5, v1, Lcom/android/internal/telephony/DataCallState;->type:Ljava/lang/String; -- -- iget-object v5, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mLastDataIface:[Ljava/lang/String; -- -- iget v6, v1, Lcom/android/internal/telephony/DataCallState;->cid:I -- -- aget-object v5, v5, v6 -- -- iput-object v5, v1, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- iget-object v5, v1, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- invoke-static {v5}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v5 -- -- if-eqz v5, :cond_c1 -- -- iget-object v5, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mLastDataIface:[Ljava/lang/String; -- -- aget-object v5, v5, v8 -- -- iput-object v5, v1, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- :cond_c1 -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v0 -- -- invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v5 -- -- if-nez v5, :cond_d3 -- -- const-string v5, " " -- -- invoke-virtual {v0, v5}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; -- -- move-result-object v5 -- -- iput-object v5, v1, Lcom/android/internal/telephony/DataCallState;->addresses:[Ljava/lang/String; -- -- :cond_d3 -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- const/4 v5, 0x2 -- -- new-array v5, v5, [Ljava/lang/String; -- -- iput-object v5, v1, Lcom/android/internal/telephony/DataCallState;->dnses:[Ljava/lang/String; -- -- iget-object v5, v1, Lcom/android/internal/telephony/DataCallState;->dnses:[Ljava/lang/String; -- -- new-instance v6, Ljava/lang/StringBuilder; -- -- invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v7, "net." -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- iget-object v7, v1, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- const-string v7, ".dns1" -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-static {v6}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v6 -- -- aput-object v6, v5, v8 -- -- iget-object v5, v1, Lcom/android/internal/telephony/DataCallState;->dnses:[Ljava/lang/String; -- -- const/4 v6, 0x1 -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v8, "net." -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- iget-object v8, v1, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- const-string v8, ".dns2" -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v7}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v7 -- -- aput-object v7, v5, v6 -- -- goto/16 :goto_15 --.end method -- --.method public getIMSI(Landroid/os/Message;)V -- .registers 6 -- -- const/16 v3, 0xb -- -- invoke-static {v3, p1}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const/4 v2, 0x1 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- iget-object v2, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->RILJ_LOGD:Z -- -- if-eqz v1, :cond_51 -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> getIMSI:RIL_REQUEST_GET_IMSI " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " aid: " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget-object v2, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/QualcommSharedRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/QualcommSharedRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_51 -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/QualcommSharedRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void --.end method -- --.method public getNeighboringCids(Landroid/os/Message;)V -- .registers 5 -- -- invoke-virtual {p0}, Lcom/android/internal/telephony/QualcommSharedRIL;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Lcom/android/internal/telephony/CommandsInterface$RadioState;->isOn()Z -- -- move-result v1 -- -- if-nez v1, :cond_b -- -- :goto_a -- return-void -- -- :cond_b -- const/16 v1, 0x4b -- -- invoke-static {v1, p1}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->RILJ_LOGD:Z -- -- if-eqz v1, :cond_39 -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/QualcommSharedRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/QualcommSharedRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_39 -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/QualcommSharedRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- goto :goto_a --.end method -- --.method public iccIO(IILjava/lang/String;IIILjava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- .registers 13 -- -- const/16 v1, 0x1c -- -- invoke-static {v1, p9}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mUSIM:Z -- -- if-eqz v1, :cond_12 -- -- const-string v1, "7F20$" -- -- const-string v2, "7FFF" -- -- invoke-virtual {p3, v1, v2}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object p3 -- -- :cond_12 -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p1}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p4}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p5}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p6}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p7}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p8}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- iget-object v2, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->RILJ_LOGD:Z -- -- if-eqz v1, :cond_c5 -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> iccIO: " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " aid: " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget-object v2, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/QualcommSharedRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " 0x" -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-static {p1}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " 0x" -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-static {p2}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " path: " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "," -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, p4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "," -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, p5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "," -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, p6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/QualcommSharedRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_c5 -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/QualcommSharedRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void --.end method -- --.method protected processSolicited(Landroid/os/Parcel;)V -- .registers 12 -- -- const/4 v9, 0x0 -- -- const/4 v1, 0x0 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v0 -- -- invoke-virtual {p0, v4}, Lcom/android/internal/telephony/QualcommSharedRIL;->findAndRemoveRequestFromList(I)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v3 -- -- if-nez v3, :cond_33 -- -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, "Unexpected solicited response! sn: " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- const-string v8, " error: " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I -- -- :goto_32 -- return-void -- -- :cond_33 -- const/4 v2, 0x0 -- -- if-eqz v0, :cond_3c -- -- invoke-virtual {p1}, Landroid/os/Parcel;->dataAvail()I -- -- move-result v6 -- -- if-lez v6, :cond_b9 -- -- :cond_3c -- const-string/jumbo v6, "ro.cm.device" -- -- invoke-static {v6}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v6 -- -- const-string v7, "e73" -- -- invoke-virtual {v6, v7}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I -- -- move-result v6 -- -- if-nez v6, :cond_55 -- -- iget v6, v3, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- const/16 v7, 0xdc -- -- if-ne v6, v7, :cond_55 -- -- const/16 v6, 0x33 -- -- iput v6, v3, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- :cond_55 -- :try_start_55 -- iget v6, v3, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- packed-switch v6, :pswitch_data_37a -- -- new-instance v6, Ljava/lang/RuntimeException; -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, "Unrecognized solicited response: " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- iget v8, v3, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-direct {v6, v7}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V -- -- throw v6 -- :try_end_75 -- .catch Ljava/lang/Throwable; {:try_start_55 .. :try_end_75} :catch_75 -- -- :catch_75 -- move-exception v5 -- -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v3}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v8 -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- const-string v8, "< " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- iget v8, v3, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v8}, Lcom/android/internal/telephony/QualcommSharedRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v8 -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- const-string v8, " exception, possible invalid RIL response" -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7, v5}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -- -- iget-object v6, v3, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- if-eqz v6, :cond_b0 -- -- iget-object v6, v3, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- invoke-static {v6, v9, v5}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult; -- -- iget-object v6, v3, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- invoke-virtual {v6}, Landroid/os/Message;->sendToTarget()V -- -- :cond_b0 -- invoke-virtual {v3}, Lcom/android/internal/telephony/RILRequest;->release()V -- -- goto/16 :goto_32 -- -- :pswitch_b5 -- :try_start_b5 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseIccCardStatus(Landroid/os/Parcel;)Ljava/lang/Object; -- :try_end_b8 -- .catch Ljava/lang/Throwable; {:try_start_b5 .. :try_end_b8} :catch_75 -- -- move-result-object v2 -- -- :cond_b9 -- :goto_b9 -- if-eqz v0, :cond_32e -- -- invoke-virtual {v3, v0, v2}, Lcom/android/internal/telephony/RILRequest;->onError(ILjava/lang/Object;)V -- -- invoke-virtual {v3}, Lcom/android/internal/telephony/RILRequest;->release()V -- -- goto/16 :goto_32 -- -- :pswitch_c3 -- :try_start_c3 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_c8 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_cd -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_d2 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_d7 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_dc -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_e1 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_e6 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseCallList(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_eb -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_f0 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_f5 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_fa -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_ff -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_104 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_109 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_10e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_113 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_118 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseSignalStrength(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_11d -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_122 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_127 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_12c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_131 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_b9 -- -- :pswitch_136 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseSMS(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_13c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseSMS(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_142 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseSetupDataCall(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_148 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseICC_IO(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_14e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_154 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_15a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_160 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_166 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseCallForward(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_16c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_172 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_178 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_17e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_184 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_18a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_190 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_196 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_19c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_1a2 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_1a8 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_1ae -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_1b4 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_1ba -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_1c0 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseOperatorInfos(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_1c6 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_1cc -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_1d2 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_1d8 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_1de -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_1e4 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_1ea -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_1f0 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_1f6 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseDataCallList(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_1fc -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_202 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseRaw(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_208 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_20e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_214 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_21a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_220 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_226 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_22c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_232 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_238 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_23e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_244 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_24a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_250 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_256 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_25c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseGetPreferredNetworkType(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_262 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseCellList(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_268 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_26e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_274 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_27a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_280 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_286 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_28c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_292 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_298 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_29e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_2a4 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseSMS(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_2aa -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_2b0 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseGmsBroadcastConfig(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_2b6 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_2bc -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_2c2 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseCdmaBroadcastConfig(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_2c8 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_2ce -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_2d4 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_2da -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_2e0 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_2e6 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_2ec -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_2f2 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_2f8 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_2fe -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_304 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_30a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_310 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_316 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_31c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_322 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :pswitch_328 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- :try_end_32b -- .catch Ljava/lang/Throwable; {:try_start_c3 .. :try_end_32b} :catch_75 -- -- move-result-object v2 -- -- goto/16 :goto_b9 -- -- :cond_32e -- iget-boolean v6, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->RILJ_LOGD:Z -- -- if-eqz v6, :cond_366 -- -- new-instance v6, Ljava/lang/StringBuilder; -- -- invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v3}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- const-string v7, "< " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- iget v7, v3, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v7}, Lcom/android/internal/telephony/QualcommSharedRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- const-string v7, " " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- iget v7, v3, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-virtual {p0, v7, v2}, Lcom/android/internal/telephony/QualcommSharedRIL;->retToString(ILjava/lang/Object;)Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-virtual {p0, v6}, Lcom/android/internal/telephony/QualcommSharedRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_366 -- iget-object v6, v3, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- if-eqz v6, :cond_374 -- -- iget-object v6, v3, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- invoke-static {v6, v2, v9}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult; -- -- iget-object v6, v3, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- invoke-virtual {v6}, Landroid/os/Message;->sendToTarget()V -- -- :cond_374 -- invoke-virtual {v3}, Lcom/android/internal/telephony/RILRequest;->release()V -- -- goto/16 :goto_32 -- -- nop -- -- :pswitch_data_37a -- .packed-switch 0x1 -- :pswitch_b5 -- :pswitch_c3 -- :pswitch_c8 -- :pswitch_cd -- :pswitch_d2 -- :pswitch_d7 -- :pswitch_dc -- :pswitch_e1 -- :pswitch_e6 -- :pswitch_eb -- :pswitch_f0 -- :pswitch_f5 -- :pswitch_fa -- :pswitch_ff -- :pswitch_104 -- :pswitch_109 -- :pswitch_10e -- :pswitch_113 -- :pswitch_118 -- :pswitch_11d -- :pswitch_122 -- :pswitch_127 -- :pswitch_12c -- :pswitch_131 -- :pswitch_136 -- :pswitch_13c -- :pswitch_142 -- :pswitch_148 -- :pswitch_14e -- :pswitch_154 -- :pswitch_15a -- :pswitch_160 -- :pswitch_166 -- :pswitch_16c -- :pswitch_172 -- :pswitch_178 -- :pswitch_17e -- :pswitch_184 -- :pswitch_18a -- :pswitch_190 -- :pswitch_196 -- :pswitch_19c -- :pswitch_1a2 -- :pswitch_1a8 -- :pswitch_1ae -- :pswitch_1b4 -- :pswitch_1ba -- :pswitch_1c0 -- :pswitch_1c6 -- :pswitch_1cc -- :pswitch_1d2 -- :pswitch_1d8 -- :pswitch_1de -- :pswitch_1e4 -- :pswitch_1ea -- :pswitch_1f0 -- :pswitch_1f6 -- :pswitch_1fc -- :pswitch_202 -- :pswitch_208 -- :pswitch_20e -- :pswitch_214 -- :pswitch_21a -- :pswitch_220 -- :pswitch_226 -- :pswitch_22c -- :pswitch_232 -- :pswitch_238 -- :pswitch_23e -- :pswitch_244 -- :pswitch_24a -- :pswitch_250 -- :pswitch_256 -- :pswitch_25c -- :pswitch_262 -- :pswitch_268 -- :pswitch_26e -- :pswitch_274 -- :pswitch_27a -- :pswitch_280 -- :pswitch_286 -- :pswitch_28c -- :pswitch_292 -- :pswitch_298 -- :pswitch_29e -- :pswitch_2d4 -- :pswitch_2a4 -- :pswitch_2aa -- :pswitch_2b0 -- :pswitch_2b6 -- :pswitch_2bc -- :pswitch_2c2 -- :pswitch_2c8 -- :pswitch_2ce -- :pswitch_2da -- :pswitch_2e0 -- :pswitch_2e6 -- :pswitch_2ec -- :pswitch_2fe -- :pswitch_2f2 -- :pswitch_2f8 -- :pswitch_304 -- :pswitch_30a -- :pswitch_310 -- :pswitch_316 -- :pswitch_31c -- :pswitch_322 -- :pswitch_328 -- .end packed-switch --.end method -- --.method protected processUnsolicited(Landroid/os/Parcel;)V -- .registers 9 -- -- const/4 v6, 0x0 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->dataPosition()I -- -- move-result v0 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v1 -- -- const-string v4, "datacall" -- -- invoke-virtual {p0, v4}, Lcom/android/internal/telephony/QualcommSharedRIL;->needsOldRilFeature(Ljava/lang/String;)Z -- -- move-result v4 -- -- if-eqz v4, :cond_14 -- -- packed-switch v1, :pswitch_data_70 -- -- :cond_14 -- packed-switch v1, :pswitch_data_7c -- -- invoke-virtual {p1, v0}, Landroid/os/Parcel;->setDataPosition(I)V -- -- invoke-super {p0, p1}, Lcom/android/internal/telephony/RIL;->processUnsolicited(Landroid/os/Parcel;)V -- -- :cond_1d -- :goto_1d -- :sswitch_1d -- return-void -- -- :pswitch_1e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_1d -- -- :pswitch_23 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- :goto_27 -- sparse-switch v1, :sswitch_data_8a -- -- goto :goto_1d -- -- :sswitch_2b -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v3 -- -- invoke-direct {p0, v3}, Lcom/android/internal/telephony/QualcommSharedRIL;->setRadioStateFromRILInt(I)V -- -- goto :goto_1d -- -- :pswitch_33 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_27 -- -- :pswitch_38 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_27 -- -- :pswitch_3d -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_27 -- -- :pswitch_42 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_27 -- -- :sswitch_47 -- iget-boolean v4, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->RILJ_LOGD:Z -- -- if-eqz v4, :cond_4e -- -- invoke-virtual {p0, v1, v2}, Lcom/android/internal/telephony/QualcommSharedRIL;->unsljLogRet(ILjava/lang/Object;)V -- -- :cond_4e -- check-cast v2, [I -- -- check-cast v2, [I -- -- const/4 v4, 0x0 -- -- aget v4, v2, v4 -- -- invoke-direct {p0, v4}, Lcom/android/internal/telephony/QualcommSharedRIL;->notifyRegistrantsRilConnectionChanged(I)V -- -- goto :goto_1d -- -- :sswitch_59 -- iget-boolean v4, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->RILJ_LOGD:Z -- -- if-eqz v4, :cond_60 -- -- invoke-virtual {p0, v1, v2}, Lcom/android/internal/telephony/QualcommSharedRIL;->unsljLogRet(ILjava/lang/Object;)V -- -- :cond_60 -- iget-object v4, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mExitEmergencyCallbackModeRegistrants:Landroid/os/RegistrantList; -- -- if-eqz v4, :cond_1d -- -- iget-object v4, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mExitEmergencyCallbackModeRegistrants:Landroid/os/RegistrantList; -- -- new-instance v5, Landroid/os/AsyncResult; -- -- invoke-direct {v5, v6, v6, v6}, Landroid/os/AsyncResult;->(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V -- -- invoke-virtual {v4, v5}, Landroid/os/RegistrantList;->notifyRegistrants(Landroid/os/AsyncResult;)V -- -- goto :goto_1d -- -- nop -- -- :pswitch_data_70 -- .packed-switch 0x407 -- :pswitch_1e -- :pswitch_1e -- :pswitch_1e -- :pswitch_1e -- .end packed-switch -- -- :pswitch_data_7c -- .packed-switch 0x40a -- :pswitch_23 -- :pswitch_33 -- :pswitch_38 -- :pswitch_3d -- :pswitch_42 -- .end packed-switch -- -- :sswitch_data_8a -- .sparse-switch -- 0x3e8 -> :sswitch_2b -- 0x40a -> :sswitch_47 -- 0x40b -> :sswitch_1d -- 0x40c -> :sswitch_1d -- 0x40d -> :sswitch_59 -- .end sparse-switch --.end method -- --.method public queryFacilityLock(Ljava/lang/String;Ljava/lang/String;ILandroid/os/Message;)V -- .registers 11 -- -- iget-object v4, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mAid:Ljava/lang/String; -- -- move-object v0, p0 -- -- move-object v1, p1 -- -- move-object v2, p2 -- -- move v3, p3 -- -- move-object v5, p4 -- -- invoke-virtual/range {v0 .. v5}, Lcom/android/internal/telephony/QualcommSharedRIL;->queryFacilityLockForApp(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Landroid/os/Message;)V -- -- return-void --.end method -- --.method protected responseIccCardStatus(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 11 -- -- new-instance v5, Lcom/android/internal/telephony/IccCardStatus; -- -- invoke-direct {v5}, Lcom/android/internal/telephony/IccCardStatus;->()V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v5, v6}, Lcom/android/internal/telephony/IccCardStatus;->setCardState(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v5, v6}, Lcom/android/internal/telephony/IccCardStatus;->setUniversalPinState(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v5, v6}, Lcom/android/internal/telephony/IccCardStatus;->setGsmUmtsSubscriptionAppIndex(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v5, v6}, Lcom/android/internal/telephony/IccCardStatus;->setCdmaSubscriptionAppIndex(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v5, v6}, Lcom/android/internal/telephony/IccCardStatus;->setImsSubscriptionAppIndex(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- const/16 v6, 0x8 -- -- if-le v4, v6, :cond_32 -- -- const/16 v4, 0x8 -- -- :cond_32 -- invoke-virtual {v5, v4}, Lcom/android/internal/telephony/IccCardStatus;->setNumApplications(I)V -- -- const/4 v3, 0x0 -- -- :goto_36 -- if-ge v3, v4, :cond_93 -- -- new-instance v2, Lcom/android/internal/telephony/IccCardApplication; -- -- invoke-direct {v2}, Lcom/android/internal/telephony/IccCardApplication;->()V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v2, v6}, Lcom/android/internal/telephony/IccCardApplication;->AppTypeFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- move-result-object v6 -- -- iput-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->app_type:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v2, v6}, Lcom/android/internal/telephony/IccCardApplication;->AppStateFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- move-result-object v6 -- -- iput-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->app_state:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v2, v6}, Lcom/android/internal/telephony/IccCardApplication;->PersoSubstateFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- move-result-object v6 -- -- iput-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->perso_substate:Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v6 -- -- iput-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->aid:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v6 -- -- iput-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->app_label:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- iput v6, v2, Lcom/android/internal/telephony/IccCardApplication;->pin1_replaced:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v2, v6}, Lcom/android/internal/telephony/IccCardApplication;->PinStateFromRILInt(I)Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- move-result-object v6 -- -- iput-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->pin1:Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v2, v6}, Lcom/android/internal/telephony/IccCardApplication;->PinStateFromRILInt(I)Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- move-result-object v6 -- -- iput-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->pin2:Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {v5, v2}, Lcom/android/internal/telephony/IccCardStatus;->addApplication(Lcom/android/internal/telephony/IccCardApplication;)V -- -- add-int/lit8 v3, v3, 0x1 -- -- goto :goto_36 -- -- :cond_93 -- const/4 v0, -0x1 -- -- iget v6, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mPhoneType:I -- -- const/4 v7, 0x2 -- -- if-ne v6, v7, :cond_f3 -- -- invoke-virtual {v5}, Lcom/android/internal/telephony/IccCardStatus;->getCdmaSubscriptionAppIndex()I -- -- move-result v0 -- -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, "This is a CDMA PHONE " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :goto_b5 -- if-lez v4, :cond_f2 -- -- invoke-virtual {v5, v0}, Lcom/android/internal/telephony/IccCardStatus;->getApplication(I)Lcom/android/internal/telephony/IccCardApplication; -- -- move-result-object v1 -- -- iget-object v6, v1, Lcom/android/internal/telephony/IccCardApplication;->aid:Ljava/lang/String; -- -- iput-object v6, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mAid:Ljava/lang/String; -- -- iget-object v6, v1, Lcom/android/internal/telephony/IccCardApplication;->app_type:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- sget-object v7, Lcom/android/internal/telephony/IccCardApplication$AppType;->APPTYPE_USIM:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- if-ne v6, v7, :cond_110 -- -- const/4 v6, 0x1 -- -- :goto_c6 -- iput-boolean v6, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mUSIM:Z -- -- iget v6, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mPreferredNetworkType:I -- -- iput v6, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mSetPreferredNetworkType:I -- -- iget-object v6, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mAid:Ljava/lang/String; -- -- invoke-static {v6}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v6 -- -- if-eqz v6, :cond_d8 -- -- const-string v6, "" -- -- iput-object v6, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mAid:Ljava/lang/String; -- -- :cond_d8 -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, "mAid " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- iget-object v8, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :cond_f2 -- return-object v5 -- -- :cond_f3 -- invoke-virtual {v5}, Lcom/android/internal/telephony/IccCardStatus;->getGsmUmtsSubscriptionAppIndex()I -- -- move-result v0 -- -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, "This is a GSM PHONE " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- goto :goto_b5 -- -- :cond_110 -- const/4 v6, 0x0 -- -- goto :goto_c6 --.end method -- --.method protected responseSetupDataCall(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 10 -- -- const/4 v7, 0x1 -- -- const/4 v6, 0x0 -- -- const-string v3, "datacall" -- -- invoke-virtual {p0, v3}, Lcom/android/internal/telephony/QualcommSharedRIL;->needsOldRilFeature(Ljava/lang/String;)Z -- -- move-result v2 -- -- if-nez v2, :cond_f -- -- invoke-super {p0, p1}, Lcom/android/internal/telephony/RIL;->responseSetupDataCall(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- :goto_e -- return-object v1 -- -- :cond_f -- new-instance v1, Lcom/android/internal/telephony/DataCallState; -- -- invoke-direct {v1}, Lcom/android/internal/telephony/DataCallState;->()V -- -- const/4 v3, 0x4 -- -- iput v3, v1, Lcom/android/internal/telephony/DataCallState;->version:I -- -- iput v6, v1, Lcom/android/internal/telephony/DataCallState;->cid:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v3 -- -- iput-object v3, v1, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- iget v3, v1, Lcom/android/internal/telephony/DataCallState;->status:I -- -- sget-object v4, Lcom/android/internal/telephony/DataConnection$FailCause;->NONE:Lcom/android/internal/telephony/DataConnection$FailCause; -- -- invoke-virtual {v4}, Lcom/android/internal/telephony/DataConnection$FailCause;->getErrorCode()I -- -- move-result v4 -- -- if-ne v3, v4, :cond_40 -- -- iget-object v3, v1, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v3 -- -- if-eqz v3, :cond_40 -- -- iget v3, v1, Lcom/android/internal/telephony/DataCallState;->active:I -- -- if-eqz v3, :cond_40 -- -- new-instance v3, Ljava/lang/RuntimeException; -- -- const-string v4, "RIL_REQUEST_SETUP_DATA_CALL response, no ifname" -- -- invoke-direct {v3, v4}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V -- -- throw v3 -- -- :cond_40 -- const-string/jumbo v3, "singlepdp" -- -- invoke-virtual {p0, v3}, Lcom/android/internal/telephony/QualcommSharedRIL;->needsOldRilFeature(Ljava/lang/String;)Z -- -- move-result v3 -- -- if-nez v3, :cond_5d -- -- iget-object v3, v1, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- iget-object v4, v1, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- invoke-virtual {v4}, Ljava/lang/String;->length()I -- -- move-result v4 -- -- add-int/lit8 v4, v4, -0x1 -- -- invoke-virtual {v3, v4}, Ljava/lang/String;->substring(I)Ljava/lang/String; -- -- move-result-object v3 -- -- invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I -- -- move-result v3 -- -- iput v3, v1, Lcom/android/internal/telephony/DataCallState;->cid:I -- -- :cond_5d -- iget-object v3, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mLastDataIface:[Ljava/lang/String; -- -- iget v4, v1, Lcom/android/internal/telephony/DataCallState;->cid:I -- -- iget-object v5, v1, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- aput-object v5, v3, v4 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v0 -- -- invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v3 -- -- if-nez v3, :cond_77 -- -- const-string v3, " " -- -- invoke-virtual {v0, v3}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; -- -- move-result-object v3 -- -- iput-object v3, v1, Lcom/android/internal/telephony/DataCallState;->addresses:[Ljava/lang/String; -- -- :cond_77 -- const/4 v3, 0x2 -- -- new-array v3, v3, [Ljava/lang/String; -- -- iput-object v3, v1, Lcom/android/internal/telephony/DataCallState;->dnses:[Ljava/lang/String; -- -- iget-object v3, v1, Lcom/android/internal/telephony/DataCallState;->dnses:[Ljava/lang/String; -- -- new-instance v4, Ljava/lang/StringBuilder; -- -- invoke-direct {v4}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v5, "net." -- -- invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- iget-object v5, v1, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v5, ".dns1" -- -- invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v4 -- -- invoke-static {v4}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v4 -- -- aput-object v4, v3, v6 -- -- iget-object v3, v1, Lcom/android/internal/telephony/DataCallState;->dnses:[Ljava/lang/String; -- -- new-instance v4, Ljava/lang/StringBuilder; -- -- invoke-direct {v4}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v5, "net." -- -- invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- iget-object v5, v1, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v5, ".dns2" -- -- invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v4 -- -- invoke-static {v4}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v4 -- -- aput-object v4, v3, v7 -- -- iput v7, v1, Lcom/android/internal/telephony/DataCallState;->active:I -- -- iput v6, v1, Lcom/android/internal/telephony/DataCallState;->status:I -- -- goto/16 :goto_e --.end method -- --.method protected responseSignalStrength(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 10 -- -- const/4 v7, -0x1 -- -- const/16 v2, 0xc -- -- const-string/jumbo v5, "signalstrength" -- -- invoke-virtual {p0, v5}, Lcom/android/internal/telephony/QualcommSharedRIL;->needsOldRilFeature(Ljava/lang/String;)Z -- -- move-result v3 -- -- const/4 v1, 0x0 -- -- new-array v4, v2, [I -- -- const/4 v0, 0x0 -- -- :goto_e -- if-ge v0, v2, :cond_41 -- -- if-nez v3, :cond_14 -- -- if-eqz v1, :cond_3a -- -- :cond_14 -- const/4 v5, 0x6 -- -- if-le v0, v5, :cond_3a -- -- const/16 v5, 0xc -- -- if-ge v0, v5, :cond_3a -- -- aput v7, v4, v0 -- -- :goto_1d -- const/4 v5, 0x7 -- -- if-ne v0, v5, :cond_29 -- -- aget v5, v4, v0 -- -- const/16 v6, 0x63 -- -- if-ne v5, v6, :cond_29 -- -- aput v7, v4, v0 -- -- const/4 v1, 0x1 -- -- :cond_29 -- const/16 v5, 0x8 -- -- if-ne v0, v5, :cond_37 -- -- if-nez v1, :cond_37 -- -- if-nez v3, :cond_37 -- -- aget v5, v4, v0 -- -- mul-int/lit8 v5, v5, -0x1 -- -- aput v5, v4, v0 -- -- :cond_37 -- add-int/lit8 v0, v0, 0x1 -- -- goto :goto_e -- -- :cond_3a -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v5 -- -- aput v5, v4, v0 -- -- goto :goto_1d -- -- :cond_41 -- return-object v4 --.end method -- --.method public setCurrentPreferredNetworkType()V -- .registers 3 -- -- iget-boolean v0, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->RILJ_LOGD:Z -- -- if-eqz v0, :cond_1d -- -- new-instance v0, Ljava/lang/StringBuilder; -- -- invoke-direct {v0}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v1, "setCurrentPreferredNetworkType: " -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- iget v1, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mSetPreferredNetworkType:I -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v0 -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/QualcommSharedRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_1d -- iget v0, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mSetPreferredNetworkType:I -- -- const/4 v1, 0x0 -- -- invoke-virtual {p0, v0, v1}, Lcom/android/internal/telephony/QualcommSharedRIL;->setPreferredNetworkType(ILandroid/os/Message;)V -- -- return-void --.end method -- --.method public setFacilityLock(Ljava/lang/String;ZLjava/lang/String;ILandroid/os/Message;)V -- .registers 13 -- -- iget-object v5, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mAid:Ljava/lang/String; -- -- move-object v0, p0 -- -- move-object v1, p1 -- -- move v2, p2 -- -- move-object v3, p3 -- -- move v4, p4 -- -- move-object v6, p5 -- -- invoke-virtual/range {v0 .. v6}, Lcom/android/internal/telephony/QualcommSharedRIL;->setFacilityLockForApp(Ljava/lang/String;ZLjava/lang/String;ILjava/lang/String;Landroid/os/Message;)V -- -- return-void --.end method -- --.method public setNetworkSelectionModeManual(Ljava/lang/String;Landroid/os/Message;)V -- .registers 6 -- -- const/16 v1, 0x2f -- -- invoke-static {v1, p2}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->RILJ_LOGD:Z -- -- if-eqz v1, :cond_38 -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/QualcommSharedRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/QualcommSharedRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_38 -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const/4 v2, 0x2 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const-string v2, "NOCHANGE" -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/QualcommSharedRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void --.end method -- --.method public setPreferredNetworkType(ILandroid/os/Message;)V -- .registers 4 -- -- iget-boolean v0, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mUSIM:Z -- -- if-nez v0, :cond_d -- -- const/16 v0, 0x9 -- -- if-ne p1, v0, :cond_d -- -- iget v0, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mSetPreferredNetworkType:I -- -- if-ltz v0, :cond_d -- -- const/4 p1, 0x0 -- -- :cond_d -- iput p1, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mSetPreferredNetworkType:I -- -- invoke-super {p0, p1, p2}, Lcom/android/internal/telephony/RIL;->setPreferredNetworkType(ILandroid/os/Message;)V -- -- return-void --.end method -- --.method public supplyIccPin2(Ljava/lang/String;Landroid/os/Message;)V -- .registers 4 -- -- iget-object v0, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {p0, p1, v0, p2}, Lcom/android/internal/telephony/QualcommSharedRIL;->supplyIccPin2ForApp(Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- -- return-void --.end method -- --.method public supplyIccPuk(Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- .registers 5 -- -- iget-object v0, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {p0, p1, p2, v0, p3}, Lcom/android/internal/telephony/QualcommSharedRIL;->supplyIccPukForApp(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- -- return-void --.end method -- --.method public supplyIccPuk2(Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- .registers 5 -- -- iget-object v0, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {p0, p1, p2, v0, p3}, Lcom/android/internal/telephony/QualcommSharedRIL;->supplyIccPuk2ForApp(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- -- return-void --.end method -- --.method public supplyNetworkDepersonalization(Ljava/lang/String;Landroid/os/Message;)V -- .registers 6 -- -- const/16 v1, 0x8 -- -- invoke-static {v1, p2}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/QualcommSharedRIL;->RILJ_LOGD:Z -- -- if-eqz v1, :cond_2e -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/QualcommSharedRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/QualcommSharedRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_2e -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const/4 v2, 0x3 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/QualcommSharedRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/SamsungCDMAQualcommRIL.smali pdroid-framework/smali/com/android/internal/telephony/SamsungCDMAQualcommRIL.smali ---- stock-framework/smali/com/android/internal/telephony/SamsungCDMAQualcommRIL.smali 2012-10-12 12:25:02.316678420 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/SamsungCDMAQualcommRIL.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,899 +0,0 @@ --.class public Lcom/android/internal/telephony/SamsungCDMAQualcommRIL; --.super Lcom/android/internal/telephony/QualcommSharedRIL; --.source "SamsungCDMAQualcommRIL.java" -- --# interfaces --.implements Lcom/android/internal/telephony/CommandsInterface; -- -- --# static fields --.field public static final SEND_SMS_TIMEOUT_IN_MS:J = 0x7530L -- -- --# instance fields --.field private mIsSendingSMS:Z -- --.field private mSMSLock:Ljava/lang/Object; -- -- --# direct methods --.method public constructor (Landroid/content/Context;II)V -- .registers 5 -- -- invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/QualcommSharedRIL;->(Landroid/content/Context;II)V -- -- new-instance v0, Ljava/lang/Object; -- -- invoke-direct {v0}, Ljava/lang/Object;->()V -- -- iput-object v0, p0, Lcom/android/internal/telephony/SamsungCDMAQualcommRIL;->mSMSLock:Ljava/lang/Object; -- -- const/4 v0, 0x0 -- -- iput-boolean v0, p0, Lcom/android/internal/telephony/SamsungCDMAQualcommRIL;->mIsSendingSMS:Z -- -- return-void --.end method -- -- --# virtual methods --.method protected notifyRegistrantsCdmaInfoRec(Lcom/android/internal/telephony/cdma/CdmaInformationRecords;)V -- .registers 8 -- -- const/16 v5, 0x403 -- -- const/16 v0, 0x403 -- -- iget-object v2, p1, Lcom/android/internal/telephony/cdma/CdmaInformationRecords;->record:Ljava/lang/Object; -- -- instance-of v2, v2, Lcom/android/internal/telephony/cdma/CdmaInformationRecords$CdmaSignalInfoRec; -- -- if-eqz v2, :cond_53 -- -- iget-object v1, p1, Lcom/android/internal/telephony/cdma/CdmaInformationRecords;->record:Ljava/lang/Object; -- -- check-cast v1, Lcom/android/internal/telephony/cdma/CdmaInformationRecords$CdmaSignalInfoRec; -- -- if-eqz v1, :cond_53 -- -- iget-boolean v2, v1, Lcom/android/internal/telephony/cdma/CdmaInformationRecords$CdmaSignalInfoRec;->isPresent:Z -- -- if-eqz v2, :cond_53 -- -- iget v2, v1, Lcom/android/internal/telephony/cdma/CdmaInformationRecords$CdmaSignalInfoRec;->signalType:I -- -- const/4 v3, 0x2 -- -- if-ne v2, v3, :cond_53 -- -- iget v2, v1, Lcom/android/internal/telephony/cdma/CdmaInformationRecords$CdmaSignalInfoRec;->alertPitch:I -- -- if-nez v2, :cond_53 -- -- iget v2, v1, Lcom/android/internal/telephony/cdma/CdmaInformationRecords$CdmaSignalInfoRec;->signal:I -- -- const/4 v3, 0x1 -- -- if-ne v2, v3, :cond_53 -- -- const-string v2, "RILJ" -- -- new-instance v3, Ljava/lang/StringBuilder; -- -- invoke-direct {v3}, Ljava/lang/StringBuilder;->()V -- -- const-string v4, "Dropping \"" -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- invoke-static {v5}, Lcom/android/internal/telephony/SamsungCDMAQualcommRIL;->responseToString(I)Ljava/lang/String; -- -- move-result-object v4 -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- const-string v4, " " -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- invoke-virtual {p0, v5, v1}, Lcom/android/internal/telephony/SamsungCDMAQualcommRIL;->retToString(ILjava/lang/Object;)Ljava/lang/String; -- -- move-result-object v4 -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- const-string v4, "\" to prevent \"ring of death\" bug." -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v3 -- -- invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :goto_52 -- return-void -- -- :cond_53 -- invoke-super {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->notifyRegistrantsCdmaInfoRec(Lcom/android/internal/telephony/cdma/CdmaInformationRecords;)V -- -- goto :goto_52 --.end method -- --.method protected responseCallList(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 16 -- -- const/4 v10, 0x0 -- -- const/4 v9, 0x1 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v3 -- -- new-instance v4, Ljava/util/ArrayList; -- -- invoke-direct {v4, v3}, Ljava/util/ArrayList;->(I)V -- -- const/4 v1, 0x0 -- -- :goto_c -- if-ge v1, v3, :cond_162 -- -- new-instance v0, Lcom/android/internal/telephony/DriverCall; -- -- invoke-direct {v0}, Lcom/android/internal/telephony/DriverCall;->()V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- invoke-static {v8}, Lcom/android/internal/telephony/DriverCall;->stateFromCLCC(I)Lcom/android/internal/telephony/DriverCall$State; -- -- move-result-object v8 -- -- iput-object v8, v0, Lcom/android/internal/telephony/DriverCall;->state:Lcom/android/internal/telephony/DriverCall$State; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- iput v8, v0, Lcom/android/internal/telephony/DriverCall;->index:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- iput v8, v0, Lcom/android/internal/telephony/DriverCall;->TOA:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- if-eqz v8, :cond_145 -- -- move v8, v9 -- -- :goto_30 -- iput-boolean v8, v0, Lcom/android/internal/telephony/DriverCall;->isMpty:Z -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- if-eqz v8, :cond_148 -- -- move v8, v9 -- -- :goto_39 -- iput-boolean v8, v0, Lcom/android/internal/telephony/DriverCall;->isMT:Z -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- iput v8, v0, Lcom/android/internal/telephony/DriverCall;->als:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v7 -- -- if-nez v7, :cond_14b -- -- move v8, v10 -- -- :goto_48 -- iput-boolean v8, v0, Lcom/android/internal/telephony/DriverCall;->isVoice:Z -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- if-eqz v8, :cond_14e -- -- move v8, v9 -- -- :goto_51 -- iput-boolean v8, v0, Lcom/android/internal/telephony/DriverCall;->isVoicePrivacy:Z -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v7 -- -- const-string v8, "RILJ" -- -- new-instance v11, Ljava/lang/StringBuilder; -- -- invoke-direct {v11}, Ljava/lang/StringBuilder;->()V -- -- const-string v12, "Samsung magic = " -- -- invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v11 -- -- invoke-virtual {v11, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v11 -- -- invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v11 -- -- invoke-static {v8, v11}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v8 -- -- iput-object v8, v0, Lcom/android/internal/telephony/DriverCall;->number:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v2 -- -- invoke-static {v2}, Lcom/android/internal/telephony/DriverCall;->presentationFromCLIP(I)I -- -- move-result v8 -- -- iput v8, v0, Lcom/android/internal/telephony/DriverCall;->numberPresentation:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v8 -- -- iput-object v8, v0, Lcom/android/internal/telephony/DriverCall;->name:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- iput v8, v0, Lcom/android/internal/telephony/DriverCall;->namePresentation:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- if-ne v6, v9, :cond_151 -- -- new-instance v8, Lcom/android/internal/telephony/UUSInfo; -- -- invoke-direct {v8}, Lcom/android/internal/telephony/UUSInfo;->()V -- -- iput-object v8, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- iget-object v8, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v11 -- -- invoke-virtual {v8, v11}, Lcom/android/internal/telephony/UUSInfo;->setType(I)V -- -- iget-object v8, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v11 -- -- invoke-virtual {v8, v11}, Lcom/android/internal/telephony/UUSInfo;->setDcs(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->createByteArray()[B -- -- move-result-object v5 -- -- iget-object v8, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v8, v5}, Lcom/android/internal/telephony/UUSInfo;->setUserData([B)V -- -- const-string v8, "Incoming UUS : type=%d, dcs=%d, length=%d" -- -- const/4 v11, 0x3 -- -- new-array v11, v11, [Ljava/lang/Object; -- -- iget-object v12, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v12}, Lcom/android/internal/telephony/UUSInfo;->getType()I -- -- move-result v12 -- -- invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -- -- move-result-object v12 -- -- aput-object v12, v11, v10 -- -- iget-object v12, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v12}, Lcom/android/internal/telephony/UUSInfo;->getDcs()I -- -- move-result v12 -- -- invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -- -- move-result-object v12 -- -- aput-object v12, v11, v9 -- -- const/4 v12, 0x2 -- -- iget-object v13, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v13}, Lcom/android/internal/telephony/UUSInfo;->getUserData()[B -- -- move-result-object v13 -- -- array-length v13, v13 -- -- invoke-static {v13}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -- -- move-result-object v13 -- -- aput-object v13, v11, v12 -- -- invoke-static {v8, v11}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; -- -- move-result-object v8 -- -- invoke-virtual {p0, v8}, Lcom/android/internal/telephony/SamsungCDMAQualcommRIL;->riljLogv(Ljava/lang/String;)V -- -- new-instance v8, Ljava/lang/StringBuilder; -- -- invoke-direct {v8}, Ljava/lang/StringBuilder;->()V -- -- const-string v11, "Incoming UUS : data (string)=" -- -- invoke-virtual {v8, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v8 -- -- new-instance v11, Ljava/lang/String; -- -- iget-object v12, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v12}, Lcom/android/internal/telephony/UUSInfo;->getUserData()[B -- -- move-result-object v12 -- -- invoke-direct {v11, v12}, Ljava/lang/String;->([B)V -- -- invoke-virtual {v8, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v8 -- -- invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v8 -- -- invoke-virtual {p0, v8}, Lcom/android/internal/telephony/SamsungCDMAQualcommRIL;->riljLogv(Ljava/lang/String;)V -- -- new-instance v8, Ljava/lang/StringBuilder; -- -- invoke-direct {v8}, Ljava/lang/StringBuilder;->()V -- -- const-string v11, "Incoming UUS : data (hex): " -- -- invoke-virtual {v8, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v8 -- -- iget-object v11, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v11}, Lcom/android/internal/telephony/UUSInfo;->getUserData()[B -- -- move-result-object v11 -- -- invoke-static {v11}, Lcom/android/internal/telephony/IccUtils;->bytesToHexString([B)Ljava/lang/String; -- -- move-result-object v11 -- -- invoke-virtual {v8, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v8 -- -- invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v8 -- -- invoke-virtual {p0, v8}, Lcom/android/internal/telephony/SamsungCDMAQualcommRIL;->riljLogv(Ljava/lang/String;)V -- -- :goto_126 -- iget-object v8, v0, Lcom/android/internal/telephony/DriverCall;->number:Ljava/lang/String; -- -- iget v11, v0, Lcom/android/internal/telephony/DriverCall;->TOA:I -- -- invoke-static {v8, v11}, Landroid/telephony/PhoneNumberUtils;->stringFromStringAndTOA(Ljava/lang/String;I)Ljava/lang/String; -- -- move-result-object v8 -- -- iput-object v8, v0, Lcom/android/internal/telephony/DriverCall;->number:Ljava/lang/String; -- -- invoke-virtual {v4, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z -- -- iget-boolean v8, v0, Lcom/android/internal/telephony/DriverCall;->isVoicePrivacy:Z -- -- if-eqz v8, :cond_157 -- -- iget-object v8, p0, Lcom/android/internal/telephony/SamsungCDMAQualcommRIL;->mVoicePrivacyOnRegistrants:Landroid/os/RegistrantList; -- -- invoke-virtual {v8}, Landroid/os/RegistrantList;->notifyRegistrants()V -- -- const-string v8, "InCall VoicePrivacy is enabled" -- -- invoke-virtual {p0, v8}, Lcom/android/internal/telephony/SamsungCDMAQualcommRIL;->riljLog(Ljava/lang/String;)V -- -- :goto_141 -- add-int/lit8 v1, v1, 0x1 -- -- goto/16 :goto_c -- -- :cond_145 -- move v8, v10 -- -- goto/16 :goto_30 -- -- :cond_148 -- move v8, v10 -- -- goto/16 :goto_39 -- -- :cond_14b -- move v8, v9 -- -- goto/16 :goto_48 -- -- :cond_14e -- move v8, v10 -- -- goto/16 :goto_51 -- -- :cond_151 -- const-string v8, "Incoming UUS : NOT present!" -- -- invoke-virtual {p0, v8}, Lcom/android/internal/telephony/SamsungCDMAQualcommRIL;->riljLogv(Ljava/lang/String;)V -- -- goto :goto_126 -- -- :cond_157 -- iget-object v8, p0, Lcom/android/internal/telephony/SamsungCDMAQualcommRIL;->mVoicePrivacyOffRegistrants:Landroid/os/RegistrantList; -- -- invoke-virtual {v8}, Landroid/os/RegistrantList;->notifyRegistrants()V -- -- const-string v8, "InCall VoicePrivacy is disabled" -- -- invoke-virtual {p0, v8}, Lcom/android/internal/telephony/SamsungCDMAQualcommRIL;->riljLog(Ljava/lang/String;)V -- -- goto :goto_141 -- -- :cond_162 -- invoke-static {v4}, Ljava/util/Collections;->sort(Ljava/util/List;)V -- -- return-object v4 --.end method -- --.method protected responseIccCardStatus(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 8 -- -- new-instance v3, Lcom/android/internal/telephony/IccCardStatus; -- -- invoke-direct {v3}, Lcom/android/internal/telephony/IccCardStatus;->()V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v3, v4}, Lcom/android/internal/telephony/IccCardStatus;->setCardState(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v3, v4}, Lcom/android/internal/telephony/IccCardStatus;->setUniversalPinState(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v3, v4}, Lcom/android/internal/telephony/IccCardStatus;->setGsmUmtsSubscriptionAppIndex(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v3, v4}, Lcom/android/internal/telephony/IccCardStatus;->setCdmaSubscriptionAppIndex(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v3, v4}, Lcom/android/internal/telephony/IccCardStatus;->setImsSubscriptionAppIndex(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v2 -- -- const/16 v4, 0x8 -- -- if-le v2, v4, :cond_32 -- -- const/16 v2, 0x8 -- -- :cond_32 -- invoke-virtual {v3, v2}, Lcom/android/internal/telephony/IccCardStatus;->setNumApplications(I)V -- -- const/4 v1, 0x0 -- -- :goto_36 -- if-ge v1, v2, :cond_bb -- -- new-instance v0, Lcom/android/internal/telephony/IccCardApplication; -- -- invoke-direct {v0}, Lcom/android/internal/telephony/IccCardApplication;->()V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v0, v4}, Lcom/android/internal/telephony/IccCardApplication;->AppTypeFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- move-result-object v4 -- -- iput-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->app_type:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v0, v4}, Lcom/android/internal/telephony/IccCardApplication;->AppStateFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- move-result-object v4 -- -- iput-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->app_state:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v0, v4}, Lcom/android/internal/telephony/IccCardApplication;->PersoSubstateFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- move-result-object v4 -- -- iput-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->perso_substate:Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- iget-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->app_state:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- sget-object v5, Lcom/android/internal/telephony/IccCardApplication$AppState;->APPSTATE_SUBSCRIPTION_PERSO:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- if-ne v4, v5, :cond_7f -- -- iget-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->perso_substate:Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- sget-object v5, Lcom/android/internal/telephony/IccCardApplication$PersoSubState;->PERSOSUBSTATE_READY:Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- if-eq v4, v5, :cond_6d -- -- iget-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->perso_substate:Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- sget-object v5, Lcom/android/internal/telephony/IccCardApplication$PersoSubState;->PERSOSUBSTATE_UNKNOWN:Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- if-ne v4, v5, :cond_7f -- -- :cond_6d -- sget-object v4, Lcom/android/internal/telephony/IccCardApplication$AppState;->APPSTATE_UNKNOWN:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- iput-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->app_state:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- const-string v4, "RILJ" -- -- const-string v5, "ca.app_state == AppState.APPSTATE_SUBSCRIPTION_PERSO" -- -- invoke-static {v4, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v4, "RILJ" -- -- const-string v5, "ca.perso_substate == PersoSubState.PERSOSUBSTATE_READY" -- -- invoke-static {v4, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :cond_7f -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v4 -- -- iput-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->aid:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v4 -- -- iput-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->app_label:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- iput v4, v0, Lcom/android/internal/telephony/IccCardApplication;->pin1_replaced:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v0, v4}, Lcom/android/internal/telephony/IccCardApplication;->PinStateFromRILInt(I)Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- move-result-object v4 -- -- iput-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->pin1:Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v0, v4}, Lcom/android/internal/telephony/IccCardApplication;->PinStateFromRILInt(I)Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- move-result-object v4 -- -- iput-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->pin2:Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {v3, v0}, Lcom/android/internal/telephony/IccCardStatus;->addApplication(Lcom/android/internal/telephony/IccCardApplication;)V -- -- add-int/lit8 v1, v1, 0x1 -- -- goto/16 :goto_36 -- -- :cond_bb -- return-object v3 --.end method -- --.method protected responseSMS(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 4 -- -- iget-object v1, p0, Lcom/android/internal/telephony/SamsungCDMAQualcommRIL;->mSMSLock:Ljava/lang/Object; -- -- monitor-enter v1 -- -- const/4 v0, 0x0 -- -- :try_start_4 -- iput-boolean v0, p0, Lcom/android/internal/telephony/SamsungCDMAQualcommRIL;->mIsSendingSMS:Z -- -- iget-object v0, p0, Lcom/android/internal/telephony/SamsungCDMAQualcommRIL;->mSMSLock:Ljava/lang/Object; -- -- invoke-virtual {v0}, Ljava/lang/Object;->notify()V -- -- monitor-exit v1 -- :try_end_c -- .catchall {:try_start_4 .. :try_end_c} :catchall_11 -- -- invoke-super {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseSMS(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v0 -- -- return-object v0 -- -- :catchall_11 -- move-exception v0 -- -- :try_start_12 -- monitor-exit v1 -- :try_end_13 -- .catchall {:try_start_12 .. :try_end_13} :catchall_11 -- -- throw v0 --.end method -- --.method protected responseSignalStrength(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 10 -- -- const/16 v7, 0x8 -- -- const/4 v6, 0x7 -- -- const/4 v5, -0x1 -- -- const/16 v1, 0xc -- -- new-array v2, v1, [I -- -- const/4 v0, 0x0 -- -- :goto_9 -- if-ge v0, v1, :cond_14 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v3 -- -- aput v3, v2, v0 -- -- add-int/lit8 v0, v0, 0x1 -- -- goto :goto_9 -- -- :cond_14 -- const/4 v3, 0x2 -- -- aget v4, v2, v3 -- -- rem-int/lit16 v4, v4, 0x100 -- -- aput v4, v2, v3 -- -- const/4 v3, 0x4 -- -- aget v4, v2, v3 -- -- rem-int/lit16 v4, v4, 0x100 -- -- aput v4, v2, v3 -- -- aget v3, v2, v6 -- -- const/16 v4, 0x63 -- -- if-ne v3, v4, :cond_39 -- -- aput v5, v2, v6 -- -- aput v5, v2, v7 -- -- const/16 v3, 0x9 -- -- aput v5, v2, v3 -- -- const/16 v3, 0xa -- -- aput v5, v2, v3 -- -- const/16 v3, 0xb -- -- aput v5, v2, v3 -- -- :goto_38 -- return-object v2 -- -- :cond_39 -- aget v3, v2, v7 -- -- mul-int/lit8 v3, v3, -0x1 -- -- aput v3, v2, v7 -- -- goto :goto_38 --.end method -- --.method public sendCdmaSms([BLandroid/os/Message;)V -- .registers 15 -- -- const-wide/16 v10, 0x0 -- -- iget-object v5, p0, Lcom/android/internal/telephony/SamsungCDMAQualcommRIL;->mSMSLock:Ljava/lang/Object; -- -- monitor-enter v5 -- -- :try_start_5 -- invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J -- -- move-result-wide v6 -- -- const-wide/16 v8, 0x7530 -- -- add-long v0, v6, v8 -- -- const-wide/16 v2, 0x7530 -- -- :goto_f -- iget-boolean v4, p0, Lcom/android/internal/telephony/SamsungCDMAQualcommRIL;->mIsSendingSMS:Z -- -- if-eqz v4, :cond_2b -- -- cmp-long v4, v2, v10 -- -- if-lez v4, :cond_2b -- -- const-string v4, "RILJ" -- -- const-string/jumbo v6, "sendCdmaSms() waiting for response of previous CDMA_SEND_SMS" -- -- invoke-static {v4, v6}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- :try_end_1f -- .catchall {:try_start_5 .. :try_end_1f} :catchall_3f -- -- :try_start_1f -- iget-object v4, p0, Lcom/android/internal/telephony/SamsungCDMAQualcommRIL;->mSMSLock:Ljava/lang/Object; -- -- invoke-virtual {v4, v2, v3}, Ljava/lang/Object;->wait(J)V -- :try_end_24 -- .catchall {:try_start_1f .. :try_end_24} :catchall_3f -- .catch Ljava/lang/InterruptedException; {:try_start_1f .. :try_end_24} :catch_42 -- -- :goto_24 -- :try_start_24 -- invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J -- -- move-result-wide v6 -- -- sub-long v2, v0, v6 -- -- goto :goto_f -- -- :cond_2b -- cmp-long v4, v2, v10 -- -- if-gtz v4, :cond_37 -- -- const-string v4, "RILJ" -- -- const-string/jumbo v6, "sendCdmaSms() timed out waiting for response of previous CDMA_SEND_SMS" -- -- invoke-static {v4, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -- -- :cond_37 -- const/4 v4, 0x1 -- -- iput-boolean v4, p0, Lcom/android/internal/telephony/SamsungCDMAQualcommRIL;->mIsSendingSMS:Z -- -- monitor-exit v5 -- :try_end_3b -- .catchall {:try_start_24 .. :try_end_3b} :catchall_3f -- -- invoke-super {p0, p1, p2}, Lcom/android/internal/telephony/QualcommSharedRIL;->sendCdmaSms([BLandroid/os/Message;)V -- -- return-void -- -- :catchall_3f -- move-exception v4 -- -- :try_start_40 -- monitor-exit v5 -- :try_end_41 -- .catchall {:try_start_40 .. :try_end_41} :catchall_3f -- -- throw v4 -- -- :catch_42 -- move-exception v4 -- -- goto :goto_24 --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/SamsungCDMAv6RIL$1.smali pdroid-framework/smali/com/android/internal/telephony/SamsungCDMAv6RIL$1.smali ---- stock-framework/smali/com/android/internal/telephony/SamsungCDMAv6RIL$1.smali 2012-10-12 12:25:02.316678420 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/SamsungCDMAv6RIL$1.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,14 +0,0 @@ --.class synthetic Lcom/android/internal/telephony/SamsungCDMAv6RIL$1; --.super Ljava/lang/Object; --.source "SamsungCDMAv6RIL.java" -- -- --# annotations --.annotation system Ldalvik/annotation/EnclosingClass; -- value = Lcom/android/internal/telephony/SamsungCDMAv6RIL; --.end annotation -- --.annotation system Ldalvik/annotation/InnerClass; -- accessFlags = 0x1008 -- name = null --.end annotation -diff -Npru stock-framework/smali/com/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler$ConnectivityBroadcastReceiver.smali pdroid-framework/smali/com/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler$ConnectivityBroadcastReceiver.smali ---- stock-framework/smali/com/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler$ConnectivityBroadcastReceiver.smali 2012-10-12 12:25:02.316678420 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler$ConnectivityBroadcastReceiver.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,135 +0,0 @@ --.class Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler$ConnectivityBroadcastReceiver; --.super Landroid/content/BroadcastReceiver; --.source "SamsungCDMAv6RIL.java" -- -- --# annotations --.annotation system Ldalvik/annotation/EnclosingClass; -- value = Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler; --.end annotation -- --.annotation system Ldalvik/annotation/InnerClass; -- accessFlags = 0x2 -- name = "ConnectivityBroadcastReceiver" --.end annotation -- -- --# instance fields --.field final synthetic this$1:Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler; -- -- --# direct methods --.method private constructor (Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;)V -- .registers 2 -- -- iput-object p1, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->this$1:Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler; -- -- invoke-direct {p0}, Landroid/content/BroadcastReceiver;->()V -- -- return-void --.end method -- --.method synthetic constructor (Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;Lcom/android/internal/telephony/SamsungCDMAv6RIL$1;)V -- .registers 3 -- -- invoke-direct {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->(Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;)V -- -- return-void --.end method -- -- --# virtual methods --.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V -- .registers 9 -- -- invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String; -- -- move-result-object v0 -- -- const-string v2, "android.net.conn.CONNECTIVITY_CHANGE" -- -- invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -- -- move-result v2 -- -- if-nez v2, :cond_26 -- -- const-string v2, "RILJ" -- -- new-instance v3, Ljava/lang/StringBuilder; -- -- invoke-direct {v3}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v4, "onReceived() called with " -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- invoke-virtual {v3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v3 -- -- invoke-static {v2, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I -- -- :cond_25 -- :goto_25 -- return-void -- -- :cond_26 -- const-string/jumbo v2, "noConnectivity" -- -- const/4 v3, 0x0 -- -- invoke-virtual {p2, v2, v3}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z -- -- move-result v1 -- -- if-eqz v1, :cond_25 -- -- const-string v2, "RILJ" -- -- const-string v3, "Mobile Dataconnection is now down setting preferred NetworkType" -- -- invoke-static {v2, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I -- -- iget-object v2, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->this$1:Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler; -- -- #calls: Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->stopListening()V -- invoke-static {v2}, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->access$100(Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;)V -- -- iget-object v2, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->this$1:Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler; -- -- iget-object v2, v2, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->this$0:Lcom/android/internal/telephony/SamsungCDMAv6RIL; -- -- iget-object v3, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->this$1:Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler; -- -- #getter for: Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->mDesiredNetworkType:I -- invoke-static {v3}, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->access$200(Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;)I -- -- move-result v3 -- -- iget-object v4, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->this$1:Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler; -- -- const/16 v5, 0x1e -- -- invoke-virtual {v4, v5}, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->obtainMessage(I)Landroid/os/Message; -- -- move-result-object v4 -- -- #calls: Lcom/android/internal/telephony/SamsungCDMAv6RIL;->sendPreferredNetworkType(ILandroid/os/Message;)V -- invoke-static {v2, v3, v4}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->access$300(Lcom/android/internal/telephony/SamsungCDMAv6RIL;ILandroid/os/Message;)V -- -- iget-object v2, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->this$1:Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler; -- -- const/4 v3, -0x1 -- -- #setter for: Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->mDesiredNetworkType:I -- invoke-static {v2, v3}, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->access$202(Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;I)I -- -- goto :goto_25 --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler.smali pdroid-framework/smali/com/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler.smali ---- stock-framework/smali/com/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler.smali 2012-10-12 12:25:02.316678420 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,218 +0,0 @@ --.class Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler; --.super Landroid/os/Handler; --.source "SamsungCDMAv6RIL.java" -- -- --# annotations --.annotation system Ldalvik/annotation/EnclosingClass; -- value = Lcom/android/internal/telephony/SamsungCDMAv6RIL; --.end annotation -- --.annotation system Ldalvik/annotation/InnerClass; -- accessFlags = 0x2 -- name = "ConnectivityHandler" --.end annotation -- --.annotation system Ldalvik/annotation/MemberClasses; -- value = { -- Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler$ConnectivityBroadcastReceiver; -- } --.end annotation -- -- --# static fields --.field private static final MESSAGE_SET_PREFERRED_NETWORK_TYPE:I = 0x1e -- -- --# instance fields --.field private mConnectivityReceiver:Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler$ConnectivityBroadcastReceiver; -- --.field private mContext:Landroid/content/Context; -- --.field private mDesiredNetworkType:I -- --.field private mNetworktypeResponse:Landroid/os/Message; -- --.field final synthetic this$0:Lcom/android/internal/telephony/SamsungCDMAv6RIL; -- -- --# direct methods --.method public constructor (Lcom/android/internal/telephony/SamsungCDMAv6RIL;Landroid/content/Context;)V -- .registers 5 -- -- iput-object p1, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->this$0:Lcom/android/internal/telephony/SamsungCDMAv6RIL; -- -- invoke-direct {p0}, Landroid/os/Handler;->()V -- -- new-instance v0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler$ConnectivityBroadcastReceiver; -- -- const/4 v1, 0x0 -- -- invoke-direct {v0, p0, v1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->(Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;Lcom/android/internal/telephony/SamsungCDMAv6RIL$1;)V -- -- iput-object v0, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->mConnectivityReceiver:Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler$ConnectivityBroadcastReceiver; -- -- iput-object p2, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->mContext:Landroid/content/Context; -- -- return-void --.end method -- --.method static synthetic access$100(Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;)V -- .registers 1 -- -- invoke-direct {p0}, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->stopListening()V -- -- return-void --.end method -- --.method static synthetic access$200(Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;)I -- .registers 2 -- -- iget v0, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->mDesiredNetworkType:I -- -- return v0 --.end method -- --.method static synthetic access$202(Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;I)I -- .registers 2 -- -- iput p1, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->mDesiredNetworkType:I -- -- return p1 --.end method -- --.method private startListening()V -- .registers 4 -- -- new-instance v0, Landroid/content/IntentFilter; -- -- invoke-direct {v0}, Landroid/content/IntentFilter;->()V -- -- const-string v1, "android.net.conn.CONNECTIVITY_CHANGE" -- -- invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V -- -- iget-object v1, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->mContext:Landroid/content/Context; -- -- iget-object v2, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->mConnectivityReceiver:Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler$ConnectivityBroadcastReceiver; -- -- invoke-virtual {v1, v2, v0}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent; -- -- return-void --.end method -- --.method private declared-synchronized stopListening()V -- .registers 3 -- -- monitor-enter p0 -- -- :try_start_1 -- iget-object v0, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->mContext:Landroid/content/Context; -- -- iget-object v1, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->mConnectivityReceiver:Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler$ConnectivityBroadcastReceiver; -- -- invoke-virtual {v0, v1}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V -- :try_end_8 -- .catchall {:try_start_1 .. :try_end_8} :catchall_a -- -- monitor-exit p0 -- -- return-void -- -- :catchall_a -- move-exception v0 -- -- monitor-exit p0 -- -- throw v0 --.end method -- -- --# virtual methods --.method public handleMessage(Landroid/os/Message;)V -- .registers 6 -- -- const/4 v3, 0x0 -- -- iget v1, p1, Landroid/os/Message;->what:I -- -- packed-switch v1, :pswitch_data_32 -- -- new-instance v1, Ljava/lang/RuntimeException; -- -- const-string/jumbo v2, "unexpected event not handled" -- -- invoke-direct {v1, v2}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V -- -- throw v1 -- -- :pswitch_f -- iget-object v1, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->mContext:Landroid/content/Context; -- -- const-string v2, "connectivity" -- -- invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; -- -- move-result-object v0 -- -- check-cast v0, Landroid/net/ConnectivityManager; -- -- const-string v1, "RILJ" -- -- const-string/jumbo v2, "preferred NetworkType set upping Mobile Dataconnection" -- -- invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const/4 v1, 0x1 -- -- invoke-virtual {v0, v1}, Landroid/net/ConnectivityManager;->setMobileDataEnabled(Z)V -- -- iget-object v1, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->mNetworktypeResponse:Landroid/os/Message; -- -- invoke-static {v1, v3, v3}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult; -- -- iget-object v1, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->mNetworktypeResponse:Landroid/os/Message; -- -- invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V -- -- iput-object v3, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->mNetworktypeResponse:Landroid/os/Message; -- -- return-void -- -- :pswitch_data_32 -- .packed-switch 0x1e -- :pswitch_f -- .end packed-switch --.end method -- --.method public setPreferedNetworkType(ILandroid/os/Message;)V -- .registers 6 -- -- const-string v1, "RILJ" -- -- const-string v2, "Mobile Dataconnection is online setting it down" -- -- invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- iput p1, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->mDesiredNetworkType:I -- -- iput-object p2, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->mNetworktypeResponse:Landroid/os/Message; -- -- iget-object v1, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->mContext:Landroid/content/Context; -- -- const-string v2, "connectivity" -- -- invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; -- -- move-result-object v0 -- -- check-cast v0, Landroid/net/ConnectivityManager; -- -- invoke-direct {p0}, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->startListening()V -- -- const/4 v1, 0x0 -- -- invoke-virtual {v0, v1}, Landroid/net/ConnectivityManager;->setMobileDataEnabled(Z)V -- -- return-void --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/SamsungCDMAv6RIL$SamsungDriverCall.smali pdroid-framework/smali/com/android/internal/telephony/SamsungCDMAv6RIL$SamsungDriverCall.smali ---- stock-framework/smali/com/android/internal/telephony/SamsungCDMAv6RIL$SamsungDriverCall.smali 2012-10-12 12:25:02.316678420 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/SamsungCDMAv6RIL$SamsungDriverCall.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,244 +0,0 @@ --.class public Lcom/android/internal/telephony/SamsungCDMAv6RIL$SamsungDriverCall; --.super Lcom/android/internal/telephony/DriverCall; --.source "SamsungCDMAv6RIL.java" -- -- --# annotations --.annotation system Ldalvik/annotation/EnclosingClass; -- value = Lcom/android/internal/telephony/SamsungCDMAv6RIL; --.end annotation -- --.annotation system Ldalvik/annotation/InnerClass; -- accessFlags = 0x4 -- name = "SamsungDriverCall" --.end annotation -- -- --# instance fields --.field final synthetic this$0:Lcom/android/internal/telephony/SamsungCDMAv6RIL; -- -- --# direct methods --.method protected constructor (Lcom/android/internal/telephony/SamsungCDMAv6RIL;)V -- .registers 2 -- -- iput-object p1, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$SamsungDriverCall;->this$0:Lcom/android/internal/telephony/SamsungCDMAv6RIL; -- -- invoke-direct {p0}, Lcom/android/internal/telephony/DriverCall;->()V -- -- return-void --.end method -- -- --# virtual methods --.method public toString()Ljava/lang/String; -- .registers 3 -- -- new-instance v0, Ljava/lang/StringBuilder; -- -- invoke-direct {v0}, Ljava/lang/StringBuilder;->()V -- -- const-string v1, "id=" -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- iget v1, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$SamsungDriverCall;->index:I -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "," -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- iget-object v1, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$SamsungDriverCall;->state:Lcom/android/internal/telephony/DriverCall$State; -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "," -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string/jumbo v1, "toa=" -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- iget v1, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$SamsungDriverCall;->TOA:I -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "," -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget-boolean v0, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$SamsungDriverCall;->isMpty:Z -- -- if-eqz v0, :cond_c3 -- -- const-string v0, "conf" -- -- :goto_3c -- invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "," -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget-boolean v0, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$SamsungDriverCall;->isMT:Z -- -- if-eqz v0, :cond_c8 -- -- const-string/jumbo v0, "mt" -- -- :goto_4d -- invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "," -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "als=" -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- iget v1, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$SamsungDriverCall;->als:I -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "," -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget-boolean v0, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$SamsungDriverCall;->isVoice:Z -- -- if-eqz v0, :cond_cc -- -- const-string/jumbo v0, "voc" -- -- :goto_70 -- invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "," -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string/jumbo v1, "nonvid" -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "," -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- iget-object v1, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$SamsungDriverCall;->number:Ljava/lang/String; -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "," -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "cli=" -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- iget v1, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$SamsungDriverCall;->numberPresentation:I -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "," -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string/jumbo v1, "name=" -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- iget-object v1, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$SamsungDriverCall;->name:Ljava/lang/String; -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "," -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- iget v1, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL$SamsungDriverCall;->namePresentation:I -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v0 -- -- return-object v0 -- -- :cond_c3 -- const-string/jumbo v0, "norm" -- -- goto/16 :goto_3c -- -- :cond_c8 -- const-string/jumbo v0, "mo" -- -- goto :goto_4d -- -- :cond_cc -- const-string/jumbo v0, "nonvoc" -- -- goto :goto_70 --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/SamsungCDMAv6RIL.smali pdroid-framework/smali/com/android/internal/telephony/SamsungCDMAv6RIL.smali ---- stock-framework/smali/com/android/internal/telephony/SamsungCDMAv6RIL.smali 2012-10-12 12:25:02.352678599 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/SamsungCDMAv6RIL.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,4001 +0,0 @@ --.class public Lcom/android/internal/telephony/SamsungCDMAv6RIL; --.super Lcom/android/internal/telephony/RIL; --.source "SamsungCDMAv6RIL.java" -- --# interfaces --.implements Lcom/android/internal/telephony/CommandsInterface; -- -- --# annotations --.annotation system Ldalvik/annotation/MemberClasses; -- value = { -- Lcom/android/internal/telephony/SamsungCDMAv6RIL$1;, -- Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;, -- Lcom/android/internal/telephony/SamsungCDMAv6RIL$SamsungDriverCall; -- } --.end annotation -- -- --# static fields --.field static final RIL_REQUEST_DIAL_EMERGENCY:I = 0x2720 -- --.field static final RIL_UNSOL_AM:I = 0x2b02 -- --.field static final RIL_UNSOL_DATA_SUSPEND_RESUME:I = 0x2b04 -- --.field static final RIL_UNSOL_DEVICE_READY_NOTI:I = 0x2b00 -- --.field static final RIL_UNSOL_DUN_PIN_CONTROL_SIGNAL:I = 0x2b03 -- --.field static final RIL_UNSOL_GPS_NOTI:I = 0x2b01 -- --.field static final RIL_UNSOL_HSDPA_STATE_CHANGED:I = 0x2b08 -- --.field static final RIL_UNSOL_O2_HOME_ZONE_INFO:I = 0x2aff -- -- --# direct methods --.method public constructor (Landroid/content/Context;II)V -- .registers 4 -- -- invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/RIL;->(Landroid/content/Context;II)V -- -- return-void --.end method -- --.method static synthetic access$300(Lcom/android/internal/telephony/SamsungCDMAv6RIL;ILandroid/os/Message;)V -- .registers 3 -- -- invoke-direct {p0, p1, p2}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->sendPreferredNetworkType(ILandroid/os/Message;)V -- -- return-void --.end method -- --.method static requestToString(I)Ljava/lang/String; -- .registers 2 -- -- packed-switch p0, :pswitch_data_c -- -- invoke-static {p0}, Lcom/android/internal/telephony/RIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v0 -- -- :goto_7 -- return-object v0 -- -- :pswitch_8 -- const-string v0, "DIAL_EMERGENCY" -- -- goto :goto_7 -- -- nop -- -- :pswitch_data_c -- .packed-switch 0x2720 -- :pswitch_8 -- .end packed-switch --.end method -- --.method static samsungResponseToString(I)Ljava/lang/String; -- .registers 3 -- -- packed-switch p0, :pswitch_data_26 -- -- new-instance v0, Ljava/lang/StringBuilder; -- -- invoke-direct {v0}, Ljava/lang/StringBuilder;->()V -- -- const-string v1, "append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, ">" -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v0 -- -- :goto_1c -- return-object v0 -- -- :pswitch_1d -- const-string v0, "RIL_UNSOL_AM" -- -- goto :goto_1c -- -- :pswitch_20 -- const-string v0, "RIL_UNSOL_DUN_PIN_CONTROL_SIGNAL" -- -- goto :goto_1c -- -- :pswitch_23 -- const-string v0, "RIL_UNSOL_DATA_SUSPEND_RESUME" -- -- goto :goto_1c -- -- :pswitch_data_26 -- .packed-switch 0x2b02 -- :pswitch_1d -- :pswitch_20 -- :pswitch_23 -- .end packed-switch --.end method -- --.method private sendPreferredNetworkType(ILandroid/os/Message;)V -- .registers 6 -- -- const/16 v1, 0x49 -- -- invoke-static {v1, p2}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const/4 v2, 0x1 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p1}, Landroid/os/Parcel;->writeInt(I)V -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " : " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->riljLog(Ljava/lang/String;)V -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void --.end method -- --.method private startPppdCdmaService(Ljava/lang/String;)Z -- .registers 8 -- -- const/16 v5, 0xa -- -- const/4 v4, 0x2 -- -- const/4 v1, 0x1 -- -- const-string/jumbo v2, "net.cdma.datalinkinterface" -- -- invoke-static {v2, p1}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V -- -- const-string/jumbo v2, "ril.cdma.data_state" -- -- const-string v3, "1" -- -- invoke-static {v2, v3}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V -- -- const-string v2, "RILJ" -- -- const-string v3, "Set ril.cdma.data_state=1, waiting for ril.cdma.data_state=2." -- -- invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const/4 v0, 0x0 -- -- :goto_1a -- if-ge v0, v5, :cond_35 -- -- const-wide/16 v2, 0x64 -- -- :try_start_1e -- invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V -- :try_end_21 -- .catch Ljava/lang/InterruptedException; {:try_start_1e .. :try_end_21} :catch_62 -- -- :goto_21 -- const-string/jumbo v2, "ril.cdma.data_state" -- -- invoke-static {v2, v1}, Landroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I -- -- move-result v2 -- -- if-ne v2, v4, :cond_32 -- -- const-string v2, "RILJ" -- -- const-string v3, "Got ril.cdma.data_state=2, connected." -- -- invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :goto_31 -- return v1 -- -- :cond_32 -- add-int/lit8 v0, v0, 0x1 -- -- goto :goto_1a -- -- :cond_35 -- const/4 v0, 0x1 -- -- :goto_36 -- if-ge v0, v5, :cond_51 -- -- const-wide/16 v2, 0x3e8 -- -- :try_start_3a -- invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V -- :try_end_3d -- .catch Ljava/lang/InterruptedException; {:try_start_3a .. :try_end_3d} :catch_64 -- -- :goto_3d -- const-string/jumbo v2, "ril.cdma.data_state" -- -- invoke-static {v2, v1}, Landroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I -- -- move-result v2 -- -- if-ne v2, v4, :cond_4e -- -- const-string v2, "RILJ" -- -- const-string v3, "Got ril.cdma.data_state=2, connected." -- -- invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- goto :goto_31 -- -- :cond_4e -- add-int/lit8 v0, v0, 0x1 -- -- goto :goto_36 -- -- :cond_51 -- const-string v1, "RILJ" -- -- const-string v2, "Didn\'t get ril.cdma.data_state=2 timely, aborting." -- -- invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string/jumbo v1, "ril.cdma.data_state" -- -- const-string v2, "0" -- -- invoke-static {v1, v2}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V -- -- const/4 v1, 0x0 -- -- goto :goto_31 -- -- :catch_62 -- move-exception v2 -- -- goto :goto_21 -- -- :catch_64 -- move-exception v2 -- -- goto :goto_3d --.end method -- -- --# virtual methods --.method public deactivateDataCall(IILandroid/os/Message;)V -- .registers 6 -- -- const-string v0, "RILJ" -- -- const-string v1, "Set ril.cdma.data_state=0." -- -- invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string/jumbo v0, "ril.cdma.data_state" -- -- const-string v1, "0" -- -- invoke-static {v0, v1}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V -- -- invoke-super {p0, p1, p2, p3}, Lcom/android/internal/telephony/RIL;->deactivateDataCall(IILandroid/os/Message;)V -- -- return-void --.end method -- --.method public dial(Ljava/lang/String;ILcom/android/internal/telephony/UUSInfo;Landroid/os/Message;)V -- .registers 8 -- -- const/4 v2, 0x0 -- -- const/16 v1, 0xa -- -- invoke-static {v1, p4}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- if-nez p3, :cond_45 -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- :goto_1d -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->riljLog(Ljava/lang/String;)V -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void -- -- :cond_45 -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const/4 v2, 0x1 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {p3}, Lcom/android/internal/telephony/UUSInfo;->getType()I -- -- move-result v2 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {p3}, Lcom/android/internal/telephony/UUSInfo;->getDcs()I -- -- move-result v2 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {p3}, Lcom/android/internal/telephony/UUSInfo;->getUserData()[B -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeByteArray([B)V -- -- goto :goto_1d --.end method -- --.method public dialEmergencyCall(Ljava/lang/String;ILandroid/os/Message;)V -- .registers 9 -- -- const/4 v4, 0x0 -- -- const-string v1, "RILJ" -- -- new-instance v2, Ljava/lang/StringBuilder; -- -- invoke-direct {v2}, Ljava/lang/StringBuilder;->()V -- -- const-string v3, "Emergency dial: " -- -- invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-static {v1, v2}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I -- -- const/16 v1, 0x2720 -- -- invoke-static {v1, p3}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- new-instance v2, Ljava/lang/StringBuilder; -- -- invoke-direct {v2}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- const-string v3, "/" -- -- invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, v4}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, v4}, Landroid/os/Parcel;->writeInt(I)V -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->riljLog(Ljava/lang/String;)V -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void --.end method -- --.method protected getDataCallState(Landroid/os/Parcel;I)Lcom/android/internal/telephony/DataCallState; -- .registers 9 -- -- new-instance v1, Lcom/android/internal/telephony/DataCallState; -- -- invoke-direct {v1}, Lcom/android/internal/telephony/DataCallState;->()V -- -- iput p2, v1, Lcom/android/internal/telephony/DataCallState;->version:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- iput v4, v1, Lcom/android/internal/telephony/DataCallState;->status:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- iput v4, v1, Lcom/android/internal/telephony/DataCallState;->suggestedRetryTime:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- iput v4, v1, Lcom/android/internal/telephony/DataCallState;->cid:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- iput v4, v1, Lcom/android/internal/telephony/DataCallState;->active:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v4 -- -- iput-object v4, v1, Lcom/android/internal/telephony/DataCallState;->type:Ljava/lang/String; -- -- const-string/jumbo v4, "net.cdma.ppp.interface" -- -- invoke-static {v4}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v4 -- -- iput-object v4, v1, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- iget v4, v1, Lcom/android/internal/telephony/DataCallState;->status:I -- -- sget-object v5, Lcom/android/internal/telephony/DataConnection$FailCause;->NONE:Lcom/android/internal/telephony/DataConnection$FailCause; -- -- invoke-virtual {v5}, Lcom/android/internal/telephony/DataConnection$FailCause;->getErrorCode()I -- -- move-result v5 -- -- if-ne v4, v5, :cond_48 -- -- iget-object v4, v1, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- invoke-static {v4}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v4 -- -- if-eqz v4, :cond_48 -- -- new-instance v4, Ljava/lang/RuntimeException; -- -- const-string v5, "getDataCallState, no ifname" -- -- invoke-direct {v4, v5}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V -- -- throw v4 -- -- :cond_48 -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v0 -- -- invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v4 -- -- if-nez v4, :cond_5a -- -- const-string v4, " " -- -- invoke-virtual {v0, v4}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; -- -- move-result-object v4 -- -- iput-object v4, v1, Lcom/android/internal/telephony/DataCallState;->addresses:[Ljava/lang/String; -- -- :cond_5a -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-static {v2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v4 -- -- if-nez v4, :cond_6c -- -- const-string v4, " " -- -- invoke-virtual {v2, v4}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; -- -- move-result-object v4 -- -- iput-object v4, v1, Lcom/android/internal/telephony/DataCallState;->dnses:[Ljava/lang/String; -- -- :cond_6c -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v3 -- -- invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v4 -- -- if-nez v4, :cond_7e -- -- const-string v4, " " -- -- invoke-virtual {v3, v4}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; -- -- move-result-object v4 -- -- iput-object v4, v1, Lcom/android/internal/telephony/DataCallState;->gateways:[Ljava/lang/String; -- -- :cond_7e -- return-object v1 --.end method -- --.method protected notifyRegistrantsCdmaInfoRec(Lcom/android/internal/telephony/cdma/CdmaInformationRecords;)V -- .registers 8 -- -- const/16 v5, 0x403 -- -- const/16 v0, 0x403 -- -- iget-object v2, p1, Lcom/android/internal/telephony/cdma/CdmaInformationRecords;->record:Ljava/lang/Object; -- -- instance-of v2, v2, Lcom/android/internal/telephony/cdma/CdmaInformationRecords$CdmaSignalInfoRec; -- -- if-eqz v2, :cond_53 -- -- iget-object v1, p1, Lcom/android/internal/telephony/cdma/CdmaInformationRecords;->record:Ljava/lang/Object; -- -- check-cast v1, Lcom/android/internal/telephony/cdma/CdmaInformationRecords$CdmaSignalInfoRec; -- -- if-eqz v1, :cond_53 -- -- iget-boolean v2, v1, Lcom/android/internal/telephony/cdma/CdmaInformationRecords$CdmaSignalInfoRec;->isPresent:Z -- -- if-eqz v2, :cond_53 -- -- iget v2, v1, Lcom/android/internal/telephony/cdma/CdmaInformationRecords$CdmaSignalInfoRec;->signalType:I -- -- const/4 v3, 0x2 -- -- if-ne v2, v3, :cond_53 -- -- iget v2, v1, Lcom/android/internal/telephony/cdma/CdmaInformationRecords$CdmaSignalInfoRec;->alertPitch:I -- -- if-nez v2, :cond_53 -- -- iget v2, v1, Lcom/android/internal/telephony/cdma/CdmaInformationRecords$CdmaSignalInfoRec;->signal:I -- -- const/4 v3, 0x1 -- -- if-ne v2, v3, :cond_53 -- -- const-string v2, "RILJ" -- -- new-instance v3, Ljava/lang/StringBuilder; -- -- invoke-direct {v3}, Ljava/lang/StringBuilder;->()V -- -- const-string v4, "Dropping \"" -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- invoke-static {v5}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseToString(I)Ljava/lang/String; -- -- move-result-object v4 -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- const-string v4, " " -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- invoke-virtual {p0, v5, v1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->retToString(ILjava/lang/Object;)Ljava/lang/String; -- -- move-result-object v4 -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- const-string v4, "\" to prevent \"ring of death\" bug." -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v3 -- -- invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :goto_52 -- return-void -- -- :cond_53 -- invoke-super {p0, p1}, Lcom/android/internal/telephony/RIL;->notifyRegistrantsCdmaInfoRec(Lcom/android/internal/telephony/cdma/CdmaInformationRecords;)V -- -- goto :goto_52 --.end method -- --.method protected processSolicited(Landroid/os/Parcel;)V -- .registers 11 -- -- const/4 v8, 0x0 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v3 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v0 -- -- const-string v5, "RILJ" -- -- new-instance v6, Ljava/lang/StringBuilder; -- -- invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -- -- const-string v7, "Serial: " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-static {v5, v6}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v5, "RILJ" -- -- new-instance v6, Ljava/lang/StringBuilder; -- -- invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -- -- const-string v7, "Error: " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-static {v5, v6}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- invoke-virtual {p0, v3}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->findAndRemoveRequestFromList(I)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v2 -- -- if-nez v2, :cond_62 -- -- const-string v5, "RILJ" -- -- new-instance v6, Ljava/lang/StringBuilder; -- -- invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -- -- const-string v7, "Unexpected solicited response! sn: " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- const-string v7, " error: " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-static {v5, v6}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I -- -- :goto_61 -- return-void -- -- :cond_62 -- const/4 v1, 0x0 -- -- if-eqz v0, :cond_6b -- -- invoke-virtual {p1}, Landroid/os/Parcel;->dataAvail()I -- -- move-result v5 -- -- if-lez v5, :cond_ce -- -- :cond_6b -- :try_start_6b -- iget v5, v2, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- sparse-switch v5, :sswitch_data_3ca -- -- new-instance v5, Ljava/lang/RuntimeException; -- -- new-instance v6, Ljava/lang/StringBuilder; -- -- invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -- -- const-string v7, "Unrecognized solicited response: " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- iget v7, v2, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-direct {v5, v6}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V -- -- throw v5 -- :try_end_8b -- .catch Ljava/lang/Throwable; {:try_start_6b .. :try_end_8b} :catch_8b -- -- :catch_8b -- move-exception v4 -- -- const-string v5, "RILJ" -- -- new-instance v6, Ljava/lang/StringBuilder; -- -- invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v2}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- const-string v7, "< " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- iget v7, v2, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v7}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- const-string v7, " exception, possible invalid RIL response" -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-static {v5, v6, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -- -- iget-object v5, v2, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- if-eqz v5, :cond_c6 -- -- iget-object v5, v2, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- invoke-static {v5, v8, v4}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult; -- -- iget-object v5, v2, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- invoke-virtual {v5}, Landroid/os/Message;->sendToTarget()V -- -- :cond_c6 -- invoke-virtual {v2}, Lcom/android/internal/telephony/RILRequest;->release()V -- -- goto :goto_61 -- -- :sswitch_ca -- :try_start_ca -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseIccCardStatus(Landroid/os/Parcel;)Ljava/lang/Object; -- :try_end_cd -- .catch Ljava/lang/Throwable; {:try_start_ca .. :try_end_cd} :catch_8b -- -- move-result-object v1 -- -- :cond_ce -- :goto_ce -- if-eqz v0, :cond_dd -- -- const/4 v5, -0x1 -- -- if-ne v0, v5, :cond_3c1 -- -- iget v5, v2, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- const/16 v6, 0x19 -- -- if-ne v5, v6, :cond_3c1 -- -- :try_start_d9 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseSMS(Landroid/os/Parcel;)Ljava/lang/Object; -- :try_end_dc -- .catch Ljava/lang/Throwable; {:try_start_d9 .. :try_end_dc} :catch_38c -- -- move-result-object v1 -- -- :cond_dd -- new-instance v5, Ljava/lang/StringBuilder; -- -- invoke-direct {v5}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v2}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v5 -- -- const-string v6, "< " -- -- invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v5 -- -- iget v6, v2, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v6}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v5 -- -- const-string v6, " " -- -- invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v5 -- -- iget v6, v2, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-virtual {p0, v6, v1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->retToString(ILjava/lang/Object;)Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v5 -- -- invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v5 -- -- invoke-virtual {p0, v5}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->riljLog(Ljava/lang/String;)V -- -- iget-object v5, v2, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- if-eqz v5, :cond_11f -- -- iget-object v5, v2, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- invoke-static {v5, v1, v8}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult; -- -- iget-object v5, v2, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- invoke-virtual {v5}, Landroid/os/Message;->sendToTarget()V -- -- :cond_11f -- invoke-virtual {v2}, Lcom/android/internal/telephony/RILRequest;->release()V -- -- goto/16 :goto_61 -- -- :sswitch_124 -- :try_start_124 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto :goto_ce -- -- :sswitch_129 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto :goto_ce -- -- :sswitch_12e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto :goto_ce -- -- :sswitch_133 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto :goto_ce -- -- :sswitch_138 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto :goto_ce -- -- :sswitch_13d -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto :goto_ce -- -- :sswitch_142 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto :goto_ce -- -- :sswitch_147 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseCallList(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto :goto_ce -- -- :sswitch_14c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_152 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_158 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_15e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_164 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_16a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_170 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_176 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_17c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseLastCallFailCause(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_182 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseSignalStrength(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_188 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoiceRegistrationState(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_18e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_194 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_19a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1a0 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1a6 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseSMS(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1ac -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseSMS(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1b2 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseSetupDataCall(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1b8 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseICC_IO(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1be -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1c4 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1ca -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1d0 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1d6 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseCallForward(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1dc -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1e2 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1e8 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1ee -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1f4 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1fa -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_200 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_206 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_20c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_212 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_218 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_21e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_224 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_22a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_230 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseOperatorInfos(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_236 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_23c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_242 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_248 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_24e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_254 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_25a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_260 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_266 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseDataCallList(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_26c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_272 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseRaw(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_278 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_27e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_284 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_28a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_290 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_296 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_29c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2a2 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2a8 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2ae -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2b4 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2ba -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2c0 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2c6 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2cc -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseNetworkType(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2d2 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseCellList(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2d8 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2de -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2e4 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2ea -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2f0 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2f6 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2fc -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_302 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_308 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_30e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_314 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseSMS(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_31a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_320 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseGmsBroadcastConfig(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_326 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_32c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_332 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseCdmaBroadcastConfig(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_338 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_33e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_344 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_34a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseCdmaSubscription(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_350 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_356 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_35c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_362 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_368 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_36e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_374 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_37a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_380 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_386 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- :try_end_389 -- .catch Ljava/lang/Throwable; {:try_start_124 .. :try_end_389} :catch_8b -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :catch_38c -- move-exception v4 -- -- const-string v5, "RILJ" -- -- new-instance v6, Ljava/lang/StringBuilder; -- -- invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v2}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- const-string v7, "< " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- iget v7, v2, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v7}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- const-string v7, " exception, Processing Samsung SMS fix " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-static {v5, v6, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -- -- invoke-virtual {v2, v0, v1}, Lcom/android/internal/telephony/RILRequest;->onError(ILjava/lang/Object;)V -- -- invoke-virtual {v2}, Lcom/android/internal/telephony/RILRequest;->release()V -- -- goto/16 :goto_61 -- -- :cond_3c1 -- invoke-virtual {v2, v0, v1}, Lcom/android/internal/telephony/RILRequest;->onError(ILjava/lang/Object;)V -- -- invoke-virtual {v2}, Lcom/android/internal/telephony/RILRequest;->release()V -- -- goto/16 :goto_61 -- -- nop -- -- :sswitch_data_3ca -- .sparse-switch -- 0x1 -> :sswitch_ca -- 0x2 -> :sswitch_124 -- 0x3 -> :sswitch_129 -- 0x4 -> :sswitch_12e -- 0x5 -> :sswitch_133 -- 0x6 -> :sswitch_138 -- 0x7 -> :sswitch_13d -- 0x8 -> :sswitch_142 -- 0x9 -> :sswitch_147 -- 0xa -> :sswitch_14c -- 0xb -> :sswitch_152 -- 0xc -> :sswitch_158 -- 0xd -> :sswitch_15e -- 0xe -> :sswitch_164 -- 0xf -> :sswitch_16a -- 0x10 -> :sswitch_170 -- 0x11 -> :sswitch_176 -- 0x12 -> :sswitch_17c -- 0x13 -> :sswitch_182 -- 0x14 -> :sswitch_188 -- 0x15 -> :sswitch_18e -- 0x16 -> :sswitch_194 -- 0x17 -> :sswitch_19a -- 0x18 -> :sswitch_1a0 -- 0x19 -> :sswitch_1a6 -- 0x1a -> :sswitch_1ac -- 0x1b -> :sswitch_1b2 -- 0x1c -> :sswitch_1b8 -- 0x1d -> :sswitch_1be -- 0x1e -> :sswitch_1c4 -- 0x1f -> :sswitch_1ca -- 0x20 -> :sswitch_1d0 -- 0x21 -> :sswitch_1d6 -- 0x22 -> :sswitch_1dc -- 0x23 -> :sswitch_1e2 -- 0x24 -> :sswitch_1e8 -- 0x25 -> :sswitch_1ee -- 0x26 -> :sswitch_1f4 -- 0x27 -> :sswitch_1fa -- 0x28 -> :sswitch_200 -- 0x29 -> :sswitch_206 -- 0x2a -> :sswitch_20c -- 0x2b -> :sswitch_212 -- 0x2c -> :sswitch_218 -- 0x2d -> :sswitch_21e -- 0x2e -> :sswitch_224 -- 0x2f -> :sswitch_22a -- 0x30 -> :sswitch_230 -- 0x31 -> :sswitch_236 -- 0x32 -> :sswitch_23c -- 0x33 -> :sswitch_242 -- 0x34 -> :sswitch_248 -- 0x35 -> :sswitch_24e -- 0x36 -> :sswitch_254 -- 0x37 -> :sswitch_25a -- 0x38 -> :sswitch_260 -- 0x39 -> :sswitch_266 -- 0x3a -> :sswitch_26c -- 0x3b -> :sswitch_272 -- 0x3c -> :sswitch_278 -- 0x3d -> :sswitch_27e -- 0x3e -> :sswitch_284 -- 0x3f -> :sswitch_28a -- 0x40 -> :sswitch_290 -- 0x41 -> :sswitch_296 -- 0x42 -> :sswitch_29c -- 0x43 -> :sswitch_2a2 -- 0x44 -> :sswitch_2a8 -- 0x45 -> :sswitch_2ae -- 0x46 -> :sswitch_2b4 -- 0x47 -> :sswitch_2ba -- 0x48 -> :sswitch_2c0 -- 0x49 -> :sswitch_2c6 -- 0x4a -> :sswitch_2cc -- 0x4b -> :sswitch_2d2 -- 0x4c -> :sswitch_2d8 -- 0x4d -> :sswitch_2de -- 0x4e -> :sswitch_2e4 -- 0x4f -> :sswitch_2ea -- 0x50 -> :sswitch_2f0 -- 0x51 -> :sswitch_2f6 -- 0x52 -> :sswitch_2fc -- 0x53 -> :sswitch_302 -- 0x54 -> :sswitch_308 -- 0x55 -> :sswitch_30e -- 0x56 -> :sswitch_344 -- 0x57 -> :sswitch_314 -- 0x58 -> :sswitch_31a -- 0x59 -> :sswitch_320 -- 0x5a -> :sswitch_326 -- 0x5b -> :sswitch_32c -- 0x5c -> :sswitch_332 -- 0x5d -> :sswitch_338 -- 0x5e -> :sswitch_33e -- 0x5f -> :sswitch_34a -- 0x60 -> :sswitch_350 -- 0x61 -> :sswitch_356 -- 0x62 -> :sswitch_35c -- 0x63 -> :sswitch_36e -- 0x64 -> :sswitch_362 -- 0x65 -> :sswitch_368 -- 0x66 -> :sswitch_374 -- 0x67 -> :sswitch_37a -- 0x40a -> :sswitch_386 -- 0x2720 -> :sswitch_380 -- .end sparse-switch --.end method -- --.method protected processUnsolicited(Landroid/os/Parcel;)V -- .registers 26 -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->dataPosition()I -- -- move-result v7 -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v16 -- -- sparse-switch v16, :sswitch_data_22e -- -- move-object/from16 v0, p1 -- -- invoke-virtual {v0, v7}, Landroid/os/Parcel;->setDataPosition(I)V -- -- invoke-super/range {p0 .. p1}, Lcom/android/internal/telephony/RIL;->processUnsolicited(Landroid/os/Parcel;)V -- -- :cond_13 -- :goto_13 -- :sswitch_13 -- return-void -- -- :sswitch_14 -- invoke-virtual/range {p0 .. p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v18 -- -- :goto_18 -- sparse-switch v16, :sswitch_data_25c -- -- goto :goto_13 -- -- :sswitch_1c -- move-object/from16 v0, p0 -- -- move/from16 v1, v16 -- -- move-object/from16 v2, v18 -- -- invoke-virtual {v0, v1, v2}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->unsljLogRet(ILjava/lang/Object;)V -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readLong()J -- -- move-result-wide v13 -- -- const/16 v19, 0x2 -- -- move/from16 v0, v19 -- -- new-array v0, v0, [Ljava/lang/Object; -- -- move-object/from16 v17, v0 -- -- move-object/from16 v12, v18 -- -- check-cast v12, Ljava/lang/String; -- -- new-instance v19, Ljava/lang/StringBuilder; -- -- invoke-direct/range {v19 .. v19}, Ljava/lang/StringBuilder;->()V -- -- const-string v20, " RIL_UNSOL_NITZ_TIME_RECEIVED length = " -- -- invoke-virtual/range {v19 .. v20}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v19 -- -- const-string v20, "[/:,+-]" -- -- move-object/from16 v0, v20 -- -- invoke-virtual {v12, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; -- -- move-result-object v20 -- -- move-object/from16 v0, v20 -- -- array-length v0, v0 -- -- move/from16 v20, v0 -- -- invoke-virtual/range {v19 .. v20}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v19 -- -- invoke-virtual/range {v19 .. v19}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v19 -- -- move-object/from16 v0, p0 -- -- move-object/from16 v1, v19 -- -- invoke-virtual {v0, v1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->riljLog(Ljava/lang/String;)V -- -- const-string v19, "[/:,+-]" -- -- move-object/from16 v0, v19 -- -- invoke-virtual {v12, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; -- -- move-result-object v19 -- -- move-object/from16 v0, v19 -- -- array-length v0, v0 -- -- move/from16 v19, v0 -- -- const/16 v20, 0x9 -- -- move/from16 v0, v19 -- -- move/from16 v1, v20 -- -- if-lt v0, v1, :cond_83 -- -- const/16 v19, 0x0 -- -- const-string v20, "," -- -- move-object/from16 v0, v20 -- -- invoke-virtual {v12, v0}, Ljava/lang/String;->lastIndexOf(Ljava/lang/String;)I -- -- move-result v20 -- -- move/from16 v0, v19 -- -- move/from16 v1, v20 -- -- invoke-virtual {v12, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String; -- -- move-result-object v12 -- -- :cond_83 -- new-instance v19, Ljava/lang/StringBuilder; -- -- invoke-direct/range {v19 .. v19}, Ljava/lang/StringBuilder;->()V -- -- const-string v20, " RIL_UNSOL_NITZ_TIME_RECEIVED striped nitz = " -- -- invoke-virtual/range {v19 .. v20}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v19 -- -- move-object/from16 v0, v19 -- -- invoke-virtual {v0, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v19 -- -- invoke-virtual/range {v19 .. v19}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v19 -- -- move-object/from16 v0, p0 -- -- move-object/from16 v1, v19 -- -- invoke-virtual {v0, v1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->riljLog(Ljava/lang/String;)V -- -- const/16 v19, 0x0 -- -- aput-object v12, v17, v19 -- -- const/16 v19, 0x1 -- -- invoke-static {v13, v14}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; -- -- move-result-object v20 -- -- aput-object v20, v17, v19 -- -- move-object/from16 v0, p0 -- -- iget-object v0, v0, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->mNITZTimeRegistrant:Landroid/os/Registrant; -- -- move-object/from16 v19, v0 -- -- if-eqz v19, :cond_15b -- -- move-object/from16 v0, p0 -- -- iget-object v0, v0, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->mNITZTimeRegistrant:Landroid/os/Registrant; -- -- move-object/from16 v19, v0 -- -- new-instance v20, Landroid/os/AsyncResult; -- -- const/16 v21, 0x0 -- -- const/16 v22, 0x0 -- -- move-object/from16 v0, v20 -- -- move-object/from16 v1, v21 -- -- move-object/from16 v2, v17 -- -- move-object/from16 v3, v22 -- -- invoke-direct {v0, v1, v2, v3}, Landroid/os/AsyncResult;->(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V -- -- invoke-virtual/range {v19 .. v20}, Landroid/os/Registrant;->notifyRegistrant(Landroid/os/AsyncResult;)V -- -- goto/16 :goto_13 -- -- :sswitch_cf -- invoke-virtual/range {p0 .. p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseSignalStrength(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v18 -- -- goto/16 :goto_18 -- -- :sswitch_d5 -- invoke-virtual/range {p0 .. p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseCdmaInformationRecord(Landroid/os/Parcel;)Ljava/util/ArrayList; -- -- move-result-object v18 -- -- goto/16 :goto_18 -- -- :sswitch_db -- invoke-virtual/range {p0 .. p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v18 -- -- goto/16 :goto_18 -- -- :sswitch_e1 -- invoke-virtual/range {p0 .. p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v18 -- -- goto/16 :goto_18 -- -- :sswitch_e7 -- invoke-virtual/range {p0 .. p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v18 -- -- goto/16 :goto_18 -- -- :sswitch_ed -- invoke-virtual/range {p0 .. p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v18 -- -- goto/16 :goto_18 -- -- :sswitch_f3 -- invoke-virtual/range {p0 .. p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v18 -- -- goto/16 :goto_18 -- -- :sswitch_f9 -- invoke-virtual/range {p0 .. p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v18 -- -- goto/16 :goto_18 -- -- :sswitch_ff -- invoke-virtual/range {p0 .. p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v18 -- -- goto/16 :goto_18 -- -- :sswitch_105 -- invoke-virtual/range {p0 .. p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v18 -- -- goto/16 :goto_18 -- -- :sswitch_10b -- move-object/from16 v0, p0 -- -- move/from16 v1, v16 -- -- invoke-virtual {v0, v1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->unsljLog(I)V -- -- check-cast v18, [I -- -- check-cast v18, [I -- -- const/16 v19, 0x0 -- -- aget v19, v18, v19 -- -- const/16 v20, 0x1 -- -- move/from16 v0, v19 -- -- move/from16 v1, v20 -- -- if-ne v0, v1, :cond_14d -- -- const/4 v11, 0x1 -- -- :goto_123 -- const-string v19, "gsm.network.type" -- -- invoke-static/range {v19 .. v19}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v6 -- -- const/4 v5, 0x0 -- -- const-string v19, "HSDPA:9" -- -- move-object/from16 v0, v19 -- -- invoke-virtual {v6, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -- -- move-result v19 -- -- if-eqz v19, :cond_14f -- -- const/4 v5, 0x1 -- -- :cond_135 -- if-eq v5, v11, :cond_13 -- -- move-object/from16 v0, p0 -- -- iget-object v0, v0, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->mVoiceNetworkStateRegistrants:Landroid/os/RegistrantList; -- -- move-object/from16 v19, v0 -- -- new-instance v20, Landroid/os/AsyncResult; -- -- const/16 v21, 0x0 -- -- const/16 v22, 0x0 -- -- const/16 v23, 0x0 -- -- invoke-direct/range {v20 .. v23}, Landroid/os/AsyncResult;->(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V -- -- invoke-virtual/range {v19 .. v20}, Landroid/os/RegistrantList;->notifyRegistrants(Landroid/os/AsyncResult;)V -- -- goto/16 :goto_13 -- -- :cond_14d -- const/4 v11, 0x0 -- -- goto :goto_123 -- -- :cond_14f -- const-string v19, "UMTS:3" -- -- move-object/from16 v0, v19 -- -- invoke-virtual {v6, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -- -- move-result v19 -- -- if-nez v19, :cond_135 -- -- goto/16 :goto_13 -- -- :cond_15b -- move-object/from16 v0, p0 -- -- iput-object v12, v0, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->mLastNITZTimeInfo:Ljava/lang/Object; -- -- goto/16 :goto_13 -- -- :sswitch_161 -- move-object/from16 v0, p0 -- -- iget-object v0, v0, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->mSignalStrengthRegistrant:Landroid/os/Registrant; -- -- move-object/from16 v19, v0 -- -- if-eqz v19, :cond_13 -- -- move-object/from16 v0, p0 -- -- iget-object v0, v0, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->mSignalStrengthRegistrant:Landroid/os/Registrant; -- -- move-object/from16 v19, v0 -- -- new-instance v20, Landroid/os/AsyncResult; -- -- const/16 v21, 0x0 -- -- const/16 v22, 0x0 -- -- move-object/from16 v0, v20 -- -- move-object/from16 v1, v21 -- -- move-object/from16 v2, v18 -- -- move-object/from16 v3, v22 -- -- invoke-direct {v0, v1, v2, v3}, Landroid/os/AsyncResult;->(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V -- -- invoke-virtual/range {v19 .. v20}, Landroid/os/Registrant;->notifyRegistrant(Landroid/os/AsyncResult;)V -- -- goto/16 :goto_13 -- -- :sswitch_185 -- :try_start_185 -- move-object/from16 v0, v18 -- -- check-cast v0, Ljava/util/ArrayList; -- -- move-object v10, v0 -- :try_end_18a -- .catch Ljava/lang/ClassCastException; {:try_start_185 .. :try_end_18a} :catch_1a7 -- -- invoke-virtual {v10}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; -- -- move-result-object v9 -- -- :goto_18e -- invoke-interface {v9}, Ljava/util/Iterator;->hasNext()Z -- -- move-result v19 -- -- if-eqz v19, :cond_13 -- -- invoke-interface {v9}, Ljava/util/Iterator;->next()Ljava/lang/Object; -- -- move-result-object v15 -- -- check-cast v15, Lcom/android/internal/telephony/cdma/CdmaInformationRecords; -- -- move-object/from16 v0, p0 -- -- move/from16 v1, v16 -- -- invoke-virtual {v0, v1, v15}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->unsljLogRet(ILjava/lang/Object;)V -- -- move-object/from16 v0, p0 -- -- invoke-virtual {v0, v15}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->notifyRegistrantsCdmaInfoRec(Lcom/android/internal/telephony/cdma/CdmaInformationRecords;)V -- -- goto :goto_18e -- -- :catch_1a7 -- move-exception v8 -- -- const-string v19, "RILJ" -- -- const-string v20, "Unexpected exception casting to listInfoRecs" -- -- move-object/from16 v0, v19 -- -- move-object/from16 v1, v20 -- -- invoke-static {v0, v1, v8}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -- -- goto/16 :goto_13 -- -- :sswitch_1b5 -- move-object/from16 v4, v18 -- -- check-cast v4, Ljava/lang/String; -- -- const-string v19, "RILJ" -- -- new-instance v20, Ljava/lang/StringBuilder; -- -- invoke-direct/range {v20 .. v20}, Ljava/lang/StringBuilder;->()V -- -- const-string v21, "Executing AM: " -- -- invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v20 -- -- move-object/from16 v0, v20 -- -- invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v20 -- -- invoke-virtual/range {v20 .. v20}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v20 -- -- invoke-static/range {v19 .. v20}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :try_start_1d3 -- invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime; -- -- move-result-object v19 -- -- new-instance v20, Ljava/lang/StringBuilder; -- -- invoke-direct/range {v20 .. v20}, Ljava/lang/StringBuilder;->()V -- -- const-string v21, "am " -- -- invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v20 -- -- move-object/from16 v0, v20 -- -- invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v20 -- -- invoke-virtual/range {v20 .. v20}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v20 -- -- invoke-virtual/range {v19 .. v20}, Ljava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process; -- :try_end_1ef -- .catch Ljava/io/IOException; {:try_start_1d3 .. :try_end_1ef} :catch_1f1 -- -- goto/16 :goto_13 -- -- :catch_1f1 -- move-exception v8 -- -- invoke-virtual {v8}, Ljava/io/IOException;->printStackTrace()V -- -- const-string v19, "RILJ" -- -- new-instance v20, Ljava/lang/StringBuilder; -- -- invoke-direct/range {v20 .. v20}, Ljava/lang/StringBuilder;->()V -- -- const-string v21, "am " -- -- invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v20 -- -- move-object/from16 v0, v20 -- -- invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v20 -- -- const-string v21, " could not be executed." -- -- invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v20 -- -- invoke-virtual/range {v20 .. v20}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v20 -- -- invoke-static/range {v19 .. v20}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -- -- goto/16 :goto_13 -- -- :sswitch_217 -- move-object/from16 v0, p0 -- -- move/from16 v1, v16 -- -- move-object/from16 v2, v18 -- -- invoke-virtual {v0, v1, v2}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->samsungUnsljLogRet(ILjava/lang/Object;)V -- -- goto/16 :goto_13 -- -- :sswitch_222 -- move-object/from16 v0, p0 -- -- move/from16 v1, v16 -- -- move-object/from16 v2, v18 -- -- invoke-virtual {v0, v1, v2}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->samsungUnsljLogRet(ILjava/lang/Object;)V -- -- goto/16 :goto_13 -- -- nop -- -- :sswitch_data_22e -- .sparse-switch -- 0x3f0 -> :sswitch_14 -- 0x3f1 -> :sswitch_cf -- 0x403 -> :sswitch_d5 -- 0x40a -> :sswitch_105 -- 0x2aff -> :sswitch_e1 -- 0x2b00 -> :sswitch_e7 -- 0x2b01 -> :sswitch_ed -- 0x2b02 -> :sswitch_f3 -- 0x2b03 -> :sswitch_f9 -- 0x2b04 -> :sswitch_ff -- 0x2b08 -> :sswitch_db -- .end sparse-switch -- -- :sswitch_data_25c -- .sparse-switch -- 0x3f0 -> :sswitch_1c -- 0x3f1 -> :sswitch_161 -- 0x403 -> :sswitch_185 -- 0x40a -> :sswitch_13 -- 0x2b02 -> :sswitch_1b5 -- 0x2b03 -> :sswitch_217 -- 0x2b04 -> :sswitch_222 -- 0x2b08 -> :sswitch_10b -- .end sparse-switch --.end method -- --.method protected responseCallList(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 19 -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->dataAvail()I -- -- move-result v1 -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->dataPosition()I -- -- move-result v7 -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->dataSize()I -- -- move-result v9 -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "Parcel size = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "Parcel pos = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "Parcel dataAvail = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- new-instance v8, Ljava/util/ArrayList; -- -- invoke-direct {v8, v6}, Ljava/util/ArrayList;->(I)V -- -- const/4 v3, 0x0 -- -- :goto_5e -- if-ge v3, v6, :cond_314 -- -- new-instance v2, Lcom/android/internal/telephony/SamsungCDMAv6RIL$SamsungDriverCall; -- -- move-object/from16 v0, p0 -- -- invoke-direct {v2, v0}, Lcom/android/internal/telephony/SamsungCDMAv6RIL$SamsungDriverCall;->(Lcom/android/internal/telephony/SamsungCDMAv6RIL;)V -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- invoke-static {v12}, Lcom/android/internal/telephony/DriverCall;->stateFromCLCC(I)Lcom/android/internal/telephony/DriverCall$State; -- -- move-result-object v12 -- -- iput-object v12, v2, Lcom/android/internal/telephony/DriverCall;->state:Lcom/android/internal/telephony/DriverCall$State; -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- iput v12, v2, Lcom/android/internal/telephony/DriverCall;->index:I -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- iput v12, v2, Lcom/android/internal/telephony/DriverCall;->TOA:I -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- if-eqz v12, :cond_2ee -- -- const/4 v12, 0x1 -- -- :goto_84 -- iput-boolean v12, v2, Lcom/android/internal/telephony/DriverCall;->isMpty:Z -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- if-eqz v12, :cond_2f1 -- -- const/4 v12, 0x1 -- -- :goto_8d -- iput-boolean v12, v2, Lcom/android/internal/telephony/DriverCall;->isMT:Z -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- iput v12, v2, Lcom/android/internal/telephony/DriverCall;->als:I -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- if-eqz v12, :cond_2f4 -- -- const/4 v12, 0x1 -- -- :goto_9c -- iput-boolean v12, v2, Lcom/android/internal/telephony/DriverCall;->isVoice:Z -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- if-eqz v12, :cond_2f7 -- -- const/4 v4, 0x1 -- -- :goto_a5 -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- if-eqz v12, :cond_2fa -- -- const/4 v12, 0x1 -- -- :goto_ac -- iput-boolean v12, v2, Lcom/android/internal/telephony/DriverCall;->isVoicePrivacy:Z -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v12 -- -- iput-object v12, v2, Lcom/android/internal/telephony/DriverCall;->number:Ljava/lang/String; -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v5 -- -- invoke-static {v5}, Lcom/android/internal/telephony/DriverCall;->presentationFromCLIP(I)I -- -- move-result v12 -- -- iput v12, v2, Lcom/android/internal/telephony/DriverCall;->numberPresentation:I -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v12 -- -- iput-object v12, v2, Lcom/android/internal/telephony/DriverCall;->name:Ljava/lang/String; -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- iput v12, v2, Lcom/android/internal/telephony/DriverCall;->namePresentation:I -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v11 -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v14, "state = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget-object v14, v2, Lcom/android/internal/telephony/DriverCall;->state:Lcom/android/internal/telephony/DriverCall$State; -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "index = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget v14, v2, Lcom/android/internal/telephony/DriverCall;->index:I -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v14, "state = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget v14, v2, Lcom/android/internal/telephony/DriverCall;->TOA:I -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "isMpty = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget-boolean v14, v2, Lcom/android/internal/telephony/DriverCall;->isMpty:Z -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "isMT = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget-boolean v14, v2, Lcom/android/internal/telephony/DriverCall;->isMT:Z -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "als = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget v14, v2, Lcom/android/internal/telephony/DriverCall;->als:I -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "isVoice = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget-boolean v14, v2, Lcom/android/internal/telephony/DriverCall;->isVoice:Z -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "isVideo = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13, v4}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v14, "number = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget-object v14, v2, Lcom/android/internal/telephony/DriverCall;->number:Ljava/lang/String; -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v14, "numberPresentation = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v14, "name = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget-object v14, v2, Lcom/android/internal/telephony/DriverCall;->name:Ljava/lang/String; -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v14, "namePresentation = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget v14, v2, Lcom/android/internal/telephony/DriverCall;->namePresentation:I -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v14, "uusInfoPresent = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const/4 v12, 0x1 -- -- if-ne v11, v12, :cond_2fd -- -- new-instance v12, Lcom/android/internal/telephony/UUSInfo; -- -- invoke-direct {v12}, Lcom/android/internal/telephony/UUSInfo;->()V -- -- iput-object v12, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- iget-object v12, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v13 -- -- invoke-virtual {v12, v13}, Lcom/android/internal/telephony/UUSInfo;->setType(I)V -- -- iget-object v12, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v13 -- -- invoke-virtual {v12, v13}, Lcom/android/internal/telephony/UUSInfo;->setDcs(I)V -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->createByteArray()[B -- -- move-result-object v10 -- -- iget-object v12, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v12, v10}, Lcom/android/internal/telephony/UUSInfo;->setUserData([B)V -- -- const-string v12, "RILJ" -- -- const-string v13, "Incoming UUS : type=%d, dcs=%d, length=%d" -- -- const/4 v14, 0x3 -- -- new-array v14, v14, [Ljava/lang/Object; -- -- const/4 v15, 0x0 -- -- iget-object v0, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- move-object/from16 v16, v0 -- -- invoke-virtual/range {v16 .. v16}, Lcom/android/internal/telephony/UUSInfo;->getType()I -- -- move-result v16 -- -- invoke-static/range {v16 .. v16}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -- -- move-result-object v16 -- -- aput-object v16, v14, v15 -- -- const/4 v15, 0x1 -- -- iget-object v0, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- move-object/from16 v16, v0 -- -- invoke-virtual/range {v16 .. v16}, Lcom/android/internal/telephony/UUSInfo;->getDcs()I -- -- move-result v16 -- -- invoke-static/range {v16 .. v16}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -- -- move-result-object v16 -- -- aput-object v16, v14, v15 -- -- const/4 v15, 0x2 -- -- iget-object v0, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- move-object/from16 v16, v0 -- -- invoke-virtual/range {v16 .. v16}, Lcom/android/internal/telephony/UUSInfo;->getUserData()[B -- -- move-result-object v16 -- -- move-object/from16 v0, v16 -- -- array-length v0, v0 -- -- move/from16 v16, v0 -- -- invoke-static/range {v16 .. v16}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -- -- move-result-object v16 -- -- aput-object v16, v14, v15 -- -- invoke-static {v13, v14}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "Incoming UUS : data (string)=" -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- new-instance v14, Ljava/lang/String; -- -- iget-object v15, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v15}, Lcom/android/internal/telephony/UUSInfo;->getUserData()[B -- -- move-result-object v15 -- -- invoke-direct {v14, v15}, Ljava/lang/String;->([B)V -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "Incoming UUS : data (hex): " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget-object v14, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v14}, Lcom/android/internal/telephony/UUSInfo;->getUserData()[B -- -- move-result-object v14 -- -- invoke-static {v14}, Lcom/android/internal/telephony/IccUtils;->bytesToHexString([B)Ljava/lang/String; -- -- move-result-object v14 -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I -- -- :goto_2cb -- iget-object v12, v2, Lcom/android/internal/telephony/DriverCall;->number:Ljava/lang/String; -- -- iget v13, v2, Lcom/android/internal/telephony/DriverCall;->TOA:I -- -- invoke-static {v12, v13}, Landroid/telephony/PhoneNumberUtils;->stringFromStringAndTOA(Ljava/lang/String;I)Ljava/lang/String; -- -- move-result-object v12 -- -- iput-object v12, v2, Lcom/android/internal/telephony/DriverCall;->number:Ljava/lang/String; -- -- invoke-virtual {v8, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z -- -- iget-boolean v12, v2, Lcom/android/internal/telephony/DriverCall;->isVoicePrivacy:Z -- -- if-eqz v12, :cond_305 -- -- move-object/from16 v0, p0 -- -- iget-object v12, v0, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->mVoicePrivacyOnRegistrants:Landroid/os/RegistrantList; -- -- invoke-virtual {v12}, Landroid/os/RegistrantList;->notifyRegistrants()V -- -- const-string v12, "RILJ" -- -- const-string v13, "InCall VoicePrivacy is enabled" -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :goto_2ea -- add-int/lit8 v3, v3, 0x1 -- -- goto/16 :goto_5e -- -- :cond_2ee -- const/4 v12, 0x0 -- -- goto/16 :goto_84 -- -- :cond_2f1 -- const/4 v12, 0x0 -- -- goto/16 :goto_8d -- -- :cond_2f4 -- const/4 v12, 0x0 -- -- goto/16 :goto_9c -- -- :cond_2f7 -- const/4 v4, 0x0 -- -- goto/16 :goto_a5 -- -- :cond_2fa -- const/4 v12, 0x0 -- -- goto/16 :goto_ac -- -- :cond_2fd -- const-string v12, "RILJ" -- -- const-string v13, "Incoming UUS : NOT present!" -- -- invoke-static {v12, v13}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I -- -- goto :goto_2cb -- -- :cond_305 -- move-object/from16 v0, p0 -- -- iget-object v12, v0, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->mVoicePrivacyOffRegistrants:Landroid/os/RegistrantList; -- -- invoke-virtual {v12}, Landroid/os/RegistrantList;->notifyRegistrants()V -- -- const-string v12, "RILJ" -- -- const-string v13, "InCall VoicePrivacy is disabled" -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- goto :goto_2ea -- -- :cond_314 -- invoke-static {v8}, Ljava/util/Collections;->sort(Ljava/util/List;)V -- -- return-object v8 --.end method -- --.method protected responseCdmaSubscription(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 12 -- -- const/4 v9, 0x4 -- -- const/4 v8, 0x3 -- -- const/4 v7, 0x2 -- -- const/4 v6, 0x0 -- -- const/4 v5, 0x1 -- -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v3 -- -- check-cast v3, [Ljava/lang/String; -- -- move-object v1, v3 -- -- check-cast v1, [Ljava/lang/String; -- -- array-length v3, v1 -- -- if-ne v3, v9, :cond_36 -- -- const-string/jumbo v3, "ril.prl_ver_1" -- -- invoke-static {v3}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v3 -- -- const-string v4, ":" -- -- invoke-virtual {v3, v4}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; -- -- move-result-object v3 -- -- aget-object v0, v3, v5 -- -- const/4 v3, 0x5 -- -- new-array v2, v3, [Ljava/lang/String; -- -- aget-object v3, v1, v6 -- -- aput-object v3, v2, v6 -- -- aget-object v3, v1, v5 -- -- aput-object v3, v2, v5 -- -- aget-object v3, v1, v7 -- -- aput-object v3, v2, v7 -- -- aget-object v3, v1, v8 -- -- aput-object v3, v2, v8 -- -- aput-object v0, v2, v9 -- -- move-object v1, v2 -- -- :cond_36 -- return-object v1 --.end method -- --.method protected responseLastCallFailCause(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 6 -- -- const/4 v3, 0x0 -- -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- check-cast v1, [I -- -- move-object v0, v1 -- -- check-cast v0, [I -- -- array-length v1, v0 -- -- if-lez v1, :cond_1f -- -- aget v1, v0, v3 -- -- const v2, 0xffff -- -- if-ne v1, v2, :cond_1f -- -- const-string v1, "RILJ" -- -- const-string v2, "Overriding ERROR_UNSPECIFIED fail cause with NORMAL_CLEARING." -- -- invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const/16 v1, 0x10 -- -- aput v1, v0, v3 -- -- :cond_1f -- return-object v0 --.end method -- --.method protected responseNetworkType(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 4 -- -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- check-cast v1, [I -- -- move-object v0, v1 -- -- check-cast v0, [I -- -- return-object v0 --.end method -- --.method protected responseSetupDataCall(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 11 -- -- const/4 v8, 0x2 -- -- const/4 v7, 0x1 -- -- const/4 v6, 0x0 -- -- new-instance v0, Lcom/android/internal/telephony/DataCallState; -- -- invoke-direct {v0}, Lcom/android/internal/telephony/DataCallState;->()V -- -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v3 -- -- check-cast v3, [Ljava/lang/String; -- -- move-object v2, v3 -- -- check-cast v2, [Ljava/lang/String; -- -- array-length v3, v2 -- -- if-lt v3, v8, :cond_be -- -- aget-object v3, v2, v6 -- -- invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I -- -- move-result v3 -- -- iput v3, v0, Lcom/android/internal/telephony/DataCallState;->cid:I -- -- aget-object v3, v2, v7 -- -- invoke-direct {p0, v3}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->startPppdCdmaService(Ljava/lang/String;)Z -- -- move-result v3 -- -- if-nez v3, :cond_2d -- -- sget-object v3, Lcom/android/internal/telephony/DataConnection$FailCause;->ERROR_UNSPECIFIED:Lcom/android/internal/telephony/DataConnection$FailCause; -- -- invoke-virtual {v3}, Lcom/android/internal/telephony/DataConnection$FailCause;->getErrorCode()I -- -- move-result v3 -- -- iput v3, v0, Lcom/android/internal/telephony/DataCallState;->status:I -- -- :goto_2c -- return-object v0 -- -- :cond_2d -- const-string/jumbo v3, "net.cdma.ppp.interface" -- -- invoke-static {v3}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v3 -- -- iput-object v3, v0, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- new-instance v3, Ljava/lang/StringBuilder; -- -- invoke-direct {v3}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v4, "net." -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- iget-object v4, v0, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- new-array v3, v7, [Ljava/lang/String; -- -- new-instance v4, Ljava/lang/StringBuilder; -- -- invoke-direct {v4}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v5, ".local-ip" -- -- invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v4 -- -- invoke-static {v4}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v4 -- -- aput-object v4, v3, v6 -- -- iput-object v3, v0, Lcom/android/internal/telephony/DataCallState;->addresses:[Ljava/lang/String; -- -- new-array v3, v7, [Ljava/lang/String; -- -- new-instance v4, Ljava/lang/StringBuilder; -- -- invoke-direct {v4}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v5, ".remote-ip" -- -- invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v4 -- -- invoke-static {v4}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v4 -- -- aput-object v4, v3, v6 -- -- iput-object v3, v0, Lcom/android/internal/telephony/DataCallState;->gateways:[Ljava/lang/String; -- -- new-array v3, v8, [Ljava/lang/String; -- -- new-instance v4, Ljava/lang/StringBuilder; -- -- invoke-direct {v4}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v5, ".dns1" -- -- invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v4 -- -- invoke-static {v4}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v4 -- -- aput-object v4, v3, v6 -- -- new-instance v4, Ljava/lang/StringBuilder; -- -- invoke-direct {v4}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v5, ".dns2" -- -- invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v4 -- -- invoke-static {v4}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v4 -- -- aput-object v4, v3, v7 -- -- iput-object v3, v0, Lcom/android/internal/telephony/DataCallState;->dnses:[Ljava/lang/String; -- -- goto/16 :goto_2c -- -- :cond_be -- const-string v3, "RILJ" -- -- const-string v4, "Set ril.cdma.data_state=0 to make sure pppd_cdma is stopped." -- -- invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string/jumbo v3, "ril.cdma.data_state" -- -- const-string v4, "0" -- -- invoke-static {v3, v4}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V -- -- sget-object v3, Lcom/android/internal/telephony/DataConnection$FailCause;->ERROR_UNSPECIFIED:Lcom/android/internal/telephony/DataConnection$FailCause; -- -- invoke-virtual {v3}, Lcom/android/internal/telephony/DataConnection$FailCause;->getErrorCode()I -- -- move-result v3 -- -- iput v3, v0, Lcom/android/internal/telephony/DataCallState;->status:I -- -- goto/16 :goto_2c --.end method -- --.method protected responseSignalStrength(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 8 -- -- const/4 v4, 0x3 -- -- const/4 v5, 0x2 -- -- const/16 v1, 0xc -- -- new-array v2, v1, [I -- -- const/4 v0, 0x0 -- -- :goto_7 -- const/4 v3, 0x7 -- -- if-ge v0, v3, :cond_13 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v3 -- -- aput v3, v2, v0 -- -- add-int/lit8 v0, v0, 0x1 -- -- goto :goto_7 -- -- :cond_13 -- aget v3, v2, v4 -- -- if-gez v3, :cond_1c -- -- aget v3, v2, v4 -- -- neg-int v3, v3 -- -- aput v3, v2, v4 -- -- :cond_1c -- aget v3, v2, v5 -- -- const/16 v4, 0x5f -- -- if-le v3, v4, :cond_2c -- -- aget v3, v2, v5 -- -- add-int/lit8 v3, v3, -0x60 -- -- div-int/lit8 v3, v3, 0x2 -- -- add-int/lit8 v3, v3, 0x60 -- -- aput v3, v2, v5 -- -- :cond_2c -- return-object v2 --.end method -- --.method protected responseVoiceRegistrationState(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 8 -- -- const/4 v5, 0x6 -- -- const/4 v4, 0x5 -- -- const/4 v3, 0x4 -- -- const/16 v2, 0x10 -- -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- check-cast v1, [Ljava/lang/String; -- -- move-object v0, v1 -- -- check-cast v0, [Ljava/lang/String; -- -- aget-object v1, v0, v3 -- -- invoke-static {v1, v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I -- -- move-result v1 -- -- invoke-static {v1}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; -- -- move-result-object v1 -- -- aput-object v1, v0, v3 -- -- aget-object v1, v0, v4 -- -- invoke-static {v1, v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I -- -- move-result v1 -- -- invoke-static {v1}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; -- -- move-result-object v1 -- -- aput-object v1, v0, v4 -- -- aget-object v1, v0, v5 -- -- invoke-static {v1, v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I -- -- move-result v1 -- -- invoke-static {v1}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; -- -- move-result-object v1 -- -- aput-object v1, v0, v5 -- -- return-object v0 --.end method -- --.method protected samsungUnsljLogRet(ILjava/lang/Object;)V -- .registers 5 -- -- new-instance v0, Ljava/lang/StringBuilder; -- -- invoke-direct {v0}, Ljava/lang/StringBuilder;->()V -- -- const-string v1, "[UNSL]< " -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- invoke-static {p1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->samsungResponseToString(I)Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, " " -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->retToString(ILjava/lang/Object;)Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v0 -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->riljLog(Ljava/lang/String;)V -- -- return-void --.end method -- --.method public setCurrentPreferredNetworkType()V -- .registers 2 -- -- const-string/jumbo v0, "setCurrentPreferredNetworkType IGNORED" -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->riljLog(Ljava/lang/String;)V -- -- return-void --.end method -- --.method public setPreferredNetworkType(ILandroid/os/Message;)V -- .registers 7 -- -- iget-object v2, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->mContext:Landroid/content/Context; -- -- const-string v3, "connectivity" -- -- invoke-virtual {v2, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; -- -- move-result-object v0 -- -- check-cast v0, Landroid/net/ConnectivityManager; -- -- invoke-virtual {v0}, Landroid/net/ConnectivityManager;->getMobileDataEnabled()Z -- -- move-result v2 -- -- if-eqz v2, :cond_1b -- -- new-instance v1, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler; -- -- iget-object v2, p0, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->mContext:Landroid/content/Context; -- -- invoke-direct {v1, p0, v2}, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->(Lcom/android/internal/telephony/SamsungCDMAv6RIL;Landroid/content/Context;)V -- -- invoke-virtual {v1, p1, p2}, Lcom/android/internal/telephony/SamsungCDMAv6RIL$ConnectivityHandler;->setPreferedNetworkType(ILandroid/os/Message;)V -- -- :goto_1a -- return-void -- -- :cond_1b -- invoke-direct {p0, p1, p2}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->sendPreferredNetworkType(ILandroid/os/Message;)V -- -- goto :goto_1a --.end method -- --.method public setRadioPower(ZLandroid/os/Message;)V -- .registers 7 -- -- const/4 v2, 0x1 -- -- const/4 v3, 0x0 -- -- const/16 v1, 0x17 -- -- invoke-static {v1, p2}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- if-eqz p1, :cond_3c -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- :goto_14 -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->riljLog(Ljava/lang/String;)V -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/SamsungCDMAv6RIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void -- -- :cond_3c -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const/4 v2, 0x2 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, v3}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, v3}, Landroid/os/Parcel;->writeInt(I)V -- -- goto :goto_14 --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/SamsungHCRIL.smali pdroid-framework/smali/com/android/internal/telephony/SamsungHCRIL.smali ---- stock-framework/smali/com/android/internal/telephony/SamsungHCRIL.smali 2012-10-12 12:25:02.352678599 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/SamsungHCRIL.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,332 +0,0 @@ --.class public Lcom/android/internal/telephony/SamsungHCRIL; --.super Lcom/android/internal/telephony/RIL; --.source "SamsungHCRIL.java" -- --# interfaces --.implements Lcom/android/internal/telephony/CommandsInterface; -- -- --# static fields --.field static final LOG_TAG:Ljava/lang/String; = "RILJ" -- --.field static final RIL_REQUEST_DIAL_EMERGENCY:I = 0x2720 -- --.field static final RIL_UNSOL_DEVICE_READY_NOTI:I = 0x2b00 -- --.field static final RIL_UNSOL_HSDPA_STATE_CHANGED:I = 0x2b08 -- --.field static final RIL_UNSOL_O2_HOME_ZONE_INFO:I = 0x2aff -- --.field static final RIL_UNSOL_SAMSUNG_UNKNOWN_MAGIC_REQUEST:I = 0x2b04 -- --.field static final RIL_UNSOL_SAMSUNG_UNKNOWN_MAGIC_REQUEST_2:I = 0x2b03 -- --.field static final RIL_UNSOL_SAMSUNG_UNKNOWN_MAGIC_REQUEST_3:I = 0x2b02 -- --.field static final RIL_UNSOL_STK_SEND_SMS_RESULT:I = 0x2afa -- -- --# instance fields --.field private mSignalbarCount:Z -- -- --# direct methods --.method public constructor (Landroid/content/Context;II)V -- .registers 7 -- -- const/4 v0, 0x1 -- -- const/4 v1, 0x0 -- -- invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/RIL;->(Landroid/content/Context;II)V -- -- const-string/jumbo v2, "ro.telephony.sends_barcount" -- -- invoke-static {v2, v1}, Landroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I -- -- move-result v2 -- -- if-ne v2, v0, :cond_11 -- -- :goto_e -- iput-boolean v0, p0, Lcom/android/internal/telephony/SamsungHCRIL;->mSignalbarCount:Z -- -- return-void -- -- :cond_11 -- move v0, v1 -- -- goto :goto_e --.end method -- -- --# virtual methods --.method protected responseSignalStrength(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 13 -- -- const/4 v10, 0x3 -- -- const/4 v9, 0x2 -- -- const/4 v8, 0x6 -- -- const/4 v7, 0x0 -- -- const/4 v5, -0x1 -- -- const/16 v1, 0xc -- -- const-string/jumbo v4, "signalstrength" -- -- invoke-virtual {p0, v4}, Lcom/android/internal/telephony/SamsungHCRIL;->needsOldRilFeature(Ljava/lang/String;)Z -- -- move-result v2 -- -- new-array v3, v1, [I -- -- const/4 v0, 0x0 -- -- :goto_11 -- if-ge v0, v1, :cond_27 -- -- if-eqz v2, :cond_20 -- -- if-le v0, v8, :cond_20 -- -- const/16 v4, 0xc -- -- if-ge v0, v4, :cond_20 -- -- aput v5, v3, v0 -- -- :goto_1d -- add-int/lit8 v0, v0, 0x1 -- -- goto :goto_11 -- -- :cond_20 -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- aput v4, v3, v0 -- -- goto :goto_1d -- -- :cond_27 -- iget-boolean v4, p0, Lcom/android/internal/telephony/SamsungHCRIL;->mSignalbarCount:Z -- -- if-eqz v4, :cond_6a -- -- aget v4, v3, v7 -- -- const v6, 0xff00 -- -- and-int/2addr v4, v6 -- -- shr-int/lit8 v4, v4, 0x8 -- -- mul-int/lit8 v4, v4, 0x3 -- -- aput v4, v3, v7 -- -- :goto_37 -- const/4 v4, 0x1 -- -- aput v5, v3, v4 -- -- aget v4, v3, v9 -- -- if-gez v4, :cond_71 -- -- const/16 v4, -0x78 -- -- :goto_40 -- aput v4, v3, v9 -- -- aget v4, v3, v10 -- -- if-gez v4, :cond_75 -- -- const/16 v4, -0xa0 -- -- :goto_48 -- aput v4, v3, v10 -- -- const/4 v6, 0x4 -- -- const/4 v4, 0x4 -- -- aget v4, v3, v4 -- -- if-gez v4, :cond_79 -- -- const/16 v4, -0x78 -- -- :goto_52 -- aput v4, v3, v6 -- -- const/4 v6, 0x5 -- -- const/4 v4, 0x5 -- -- aget v4, v3, v4 -- -- if-gez v4, :cond_7e -- -- move v4, v5 -- -- :goto_5b -- aput v4, v3, v6 -- -- aget v4, v3, v8 -- -- if-ltz v4, :cond_67 -- -- aget v4, v3, v8 -- -- const/16 v6, 0x8 -- -- if-le v4, v6, :cond_69 -- -- :cond_67 -- aput v5, v3, v8 -- -- :cond_69 -- return-object v3 -- -- :cond_6a -- aget v4, v3, v7 -- -- and-int/lit16 v4, v4, 0xff -- -- aput v4, v3, v7 -- -- goto :goto_37 -- -- :cond_71 -- aget v4, v3, v9 -- -- neg-int v4, v4 -- -- goto :goto_40 -- -- :cond_75 -- aget v4, v3, v10 -- -- neg-int v4, v4 -- -- goto :goto_48 -- -- :cond_79 -- const/4 v4, 0x4 -- -- aget v4, v3, v4 -- -- neg-int v4, v4 -- -- goto :goto_52 -- -- :cond_7e -- const/4 v4, 0x5 -- -- aget v4, v3, v4 -- -- neg-int v4, v4 -- -- goto :goto_5b --.end method -- --.method public setRadioPower(ZLandroid/os/Message;)V -- .registers 7 -- -- const/4 v2, 0x1 -- -- const/4 v3, 0x0 -- -- const/16 v1, 0x17 -- -- invoke-static {v1, p2}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- if-eqz p1, :cond_44 -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- :goto_14 -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/SamsungHCRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- if-eqz p1, :cond_55 -- -- const-string v1, " on" -- -- :goto_35 -- invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/SamsungHCRIL;->riljLog(Ljava/lang/String;)V -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/SamsungHCRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void -- -- :cond_44 -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const/4 v2, 0x2 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, v3}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, v3}, Landroid/os/Parcel;->writeInt(I)V -- -- goto :goto_14 -- -- :cond_55 -- const-string v1, " off" -- -- goto :goto_35 --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/SamsungQualcommD2RIL.smali pdroid-framework/smali/com/android/internal/telephony/SamsungQualcommD2RIL.smali ---- stock-framework/smali/com/android/internal/telephony/SamsungQualcommD2RIL.smali 2012-10-12 12:25:02.364678658 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/SamsungQualcommD2RIL.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,390 +0,0 @@ --.class public Lcom/android/internal/telephony/SamsungQualcommD2RIL; --.super Lcom/android/internal/telephony/SamsungQualcommUiccRIL; --.source "SamsungQualcommD2RIL.java" -- --# interfaces --.implements Lcom/android/internal/telephony/CommandsInterface; -- -- --# direct methods --.method public constructor (Landroid/content/Context;II)V -- .registers 4 -- -- invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->(Landroid/content/Context;II)V -- -- return-void --.end method -- -- --# virtual methods --.method protected responseCallList(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 16 -- -- const/4 v10, 0x0 -- -- const/4 v9, 0x1 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v3 -- -- new-instance v4, Ljava/util/ArrayList; -- -- invoke-direct {v4, v3}, Ljava/util/ArrayList;->(I)V -- -- const/4 v1, 0x0 -- -- :goto_c -- if-ge v1, v3, :cond_162 -- -- new-instance v0, Lcom/android/internal/telephony/DriverCall; -- -- invoke-direct {v0}, Lcom/android/internal/telephony/DriverCall;->()V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- invoke-static {v8}, Lcom/android/internal/telephony/DriverCall;->stateFromCLCC(I)Lcom/android/internal/telephony/DriverCall$State; -- -- move-result-object v8 -- -- iput-object v8, v0, Lcom/android/internal/telephony/DriverCall;->state:Lcom/android/internal/telephony/DriverCall$State; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- iput v8, v0, Lcom/android/internal/telephony/DriverCall;->index:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- iput v8, v0, Lcom/android/internal/telephony/DriverCall;->TOA:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- if-eqz v8, :cond_145 -- -- move v8, v9 -- -- :goto_30 -- iput-boolean v8, v0, Lcom/android/internal/telephony/DriverCall;->isMpty:Z -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- if-eqz v8, :cond_148 -- -- move v8, v9 -- -- :goto_39 -- iput-boolean v8, v0, Lcom/android/internal/telephony/DriverCall;->isMT:Z -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- iput v8, v0, Lcom/android/internal/telephony/DriverCall;->als:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v7 -- -- if-nez v7, :cond_14b -- -- move v8, v10 -- -- :goto_48 -- iput-boolean v8, v0, Lcom/android/internal/telephony/DriverCall;->isVoice:Z -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- if-eqz v8, :cond_14e -- -- move v8, v9 -- -- :goto_51 -- iput-boolean v8, v0, Lcom/android/internal/telephony/DriverCall;->isVoicePrivacy:Z -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v7 -- -- const-string v8, "RILJ" -- -- new-instance v11, Ljava/lang/StringBuilder; -- -- invoke-direct {v11}, Ljava/lang/StringBuilder;->()V -- -- const-string v12, "Samsung magic = " -- -- invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v11 -- -- invoke-virtual {v11, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v11 -- -- invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v11 -- -- invoke-static {v8, v11}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v8 -- -- iput-object v8, v0, Lcom/android/internal/telephony/DriverCall;->number:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v2 -- -- invoke-static {v2}, Lcom/android/internal/telephony/DriverCall;->presentationFromCLIP(I)I -- -- move-result v8 -- -- iput v8, v0, Lcom/android/internal/telephony/DriverCall;->numberPresentation:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v8 -- -- iput-object v8, v0, Lcom/android/internal/telephony/DriverCall;->name:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v8 -- -- iput v8, v0, Lcom/android/internal/telephony/DriverCall;->namePresentation:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- if-ne v6, v9, :cond_151 -- -- new-instance v8, Lcom/android/internal/telephony/UUSInfo; -- -- invoke-direct {v8}, Lcom/android/internal/telephony/UUSInfo;->()V -- -- iput-object v8, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- iget-object v8, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v11 -- -- invoke-virtual {v8, v11}, Lcom/android/internal/telephony/UUSInfo;->setType(I)V -- -- iget-object v8, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v11 -- -- invoke-virtual {v8, v11}, Lcom/android/internal/telephony/UUSInfo;->setDcs(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->createByteArray()[B -- -- move-result-object v5 -- -- iget-object v8, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v8, v5}, Lcom/android/internal/telephony/UUSInfo;->setUserData([B)V -- -- const-string v8, "Incoming UUS : type=%d, dcs=%d, length=%d" -- -- const/4 v11, 0x3 -- -- new-array v11, v11, [Ljava/lang/Object; -- -- iget-object v12, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v12}, Lcom/android/internal/telephony/UUSInfo;->getType()I -- -- move-result v12 -- -- invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -- -- move-result-object v12 -- -- aput-object v12, v11, v10 -- -- iget-object v12, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v12}, Lcom/android/internal/telephony/UUSInfo;->getDcs()I -- -- move-result v12 -- -- invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -- -- move-result-object v12 -- -- aput-object v12, v11, v9 -- -- const/4 v12, 0x2 -- -- iget-object v13, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v13}, Lcom/android/internal/telephony/UUSInfo;->getUserData()[B -- -- move-result-object v13 -- -- array-length v13, v13 -- -- invoke-static {v13}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -- -- move-result-object v13 -- -- aput-object v13, v11, v12 -- -- invoke-static {v8, v11}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; -- -- move-result-object v8 -- -- invoke-virtual {p0, v8}, Lcom/android/internal/telephony/SamsungQualcommD2RIL;->riljLogv(Ljava/lang/String;)V -- -- new-instance v8, Ljava/lang/StringBuilder; -- -- invoke-direct {v8}, Ljava/lang/StringBuilder;->()V -- -- const-string v11, "Incoming UUS : data (string)=" -- -- invoke-virtual {v8, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v8 -- -- new-instance v11, Ljava/lang/String; -- -- iget-object v12, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v12}, Lcom/android/internal/telephony/UUSInfo;->getUserData()[B -- -- move-result-object v12 -- -- invoke-direct {v11, v12}, Ljava/lang/String;->([B)V -- -- invoke-virtual {v8, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v8 -- -- invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v8 -- -- invoke-virtual {p0, v8}, Lcom/android/internal/telephony/SamsungQualcommD2RIL;->riljLogv(Ljava/lang/String;)V -- -- new-instance v8, Ljava/lang/StringBuilder; -- -- invoke-direct {v8}, Ljava/lang/StringBuilder;->()V -- -- const-string v11, "Incoming UUS : data (hex): " -- -- invoke-virtual {v8, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v8 -- -- iget-object v11, v0, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v11}, Lcom/android/internal/telephony/UUSInfo;->getUserData()[B -- -- move-result-object v11 -- -- invoke-static {v11}, Lcom/android/internal/telephony/IccUtils;->bytesToHexString([B)Ljava/lang/String; -- -- move-result-object v11 -- -- invoke-virtual {v8, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v8 -- -- invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v8 -- -- invoke-virtual {p0, v8}, Lcom/android/internal/telephony/SamsungQualcommD2RIL;->riljLogv(Ljava/lang/String;)V -- -- :goto_126 -- iget-object v8, v0, Lcom/android/internal/telephony/DriverCall;->number:Ljava/lang/String; -- -- iget v11, v0, Lcom/android/internal/telephony/DriverCall;->TOA:I -- -- invoke-static {v8, v11}, Landroid/telephony/PhoneNumberUtils;->stringFromStringAndTOA(Ljava/lang/String;I)Ljava/lang/String; -- -- move-result-object v8 -- -- iput-object v8, v0, Lcom/android/internal/telephony/DriverCall;->number:Ljava/lang/String; -- -- invoke-virtual {v4, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z -- -- iget-boolean v8, v0, Lcom/android/internal/telephony/DriverCall;->isVoicePrivacy:Z -- -- if-eqz v8, :cond_157 -- -- iget-object v8, p0, Lcom/android/internal/telephony/SamsungQualcommD2RIL;->mVoicePrivacyOnRegistrants:Landroid/os/RegistrantList; -- -- invoke-virtual {v8}, Landroid/os/RegistrantList;->notifyRegistrants()V -- -- const-string v8, "InCall VoicePrivacy is enabled" -- -- invoke-virtual {p0, v8}, Lcom/android/internal/telephony/SamsungQualcommD2RIL;->riljLog(Ljava/lang/String;)V -- -- :goto_141 -- add-int/lit8 v1, v1, 0x1 -- -- goto/16 :goto_c -- -- :cond_145 -- move v8, v10 -- -- goto/16 :goto_30 -- -- :cond_148 -- move v8, v10 -- -- goto/16 :goto_39 -- -- :cond_14b -- move v8, v9 -- -- goto/16 :goto_48 -- -- :cond_14e -- move v8, v10 -- -- goto/16 :goto_51 -- -- :cond_151 -- const-string v8, "Incoming UUS : NOT present!" -- -- invoke-virtual {p0, v8}, Lcom/android/internal/telephony/SamsungQualcommD2RIL;->riljLogv(Ljava/lang/String;)V -- -- goto :goto_126 -- -- :cond_157 -- iget-object v8, p0, Lcom/android/internal/telephony/SamsungQualcommD2RIL;->mVoicePrivacyOffRegistrants:Landroid/os/RegistrantList; -- -- invoke-virtual {v8}, Landroid/os/RegistrantList;->notifyRegistrants()V -- -- const-string v8, "InCall VoicePrivacy is disabled" -- -- invoke-virtual {p0, v8}, Lcom/android/internal/telephony/SamsungQualcommD2RIL;->riljLog(Ljava/lang/String;)V -- -- goto :goto_141 -- -- :cond_162 -- invoke-static {v4}, Ljava/util/Collections;->sort(Ljava/util/List;)V -- -- return-object v4 --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/SamsungQualcommUiccRIL.smali pdroid-framework/smali/com/android/internal/telephony/SamsungQualcommUiccRIL.smali ---- stock-framework/smali/com/android/internal/telephony/SamsungQualcommUiccRIL.smali 2012-10-12 12:25:02.364678658 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/SamsungQualcommUiccRIL.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,1299 +0,0 @@ --.class public Lcom/android/internal/telephony/SamsungQualcommUiccRIL; --.super Lcom/android/internal/telephony/QualcommSharedRIL; --.source "SamsungQualcommUiccRIL.java" -- --# interfaces --.implements Lcom/android/internal/telephony/CommandsInterface; -- -- --# static fields --.field public static final INVALID_SNR:I = 0x7fffffff -- --.field public static final SEND_SMS_TIMEOUT_IN_MS:J = 0x7530L -- -- --# instance fields --.field RILJ_LOGD:Z -- --.field RILJ_LOGV:Z -- --.field private mIsSendingSMS:Z -- --.field private mSMSLock:Ljava/lang/Object; -- --.field private mSignalbarCount:Z -- -- --# direct methods --.method public constructor (Landroid/content/Context;II)V -- .registers 6 -- -- const/4 v0, 0x1 -- -- const/4 v1, 0x0 -- -- invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/QualcommSharedRIL;->(Landroid/content/Context;II)V -- -- iput-boolean v0, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->RILJ_LOGV:Z -- -- iput-boolean v0, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->RILJ_LOGD:Z -- -- const-string/jumbo v0, "ro.telephony.sends_barcount" -- -- invoke-static {v0, v1}, Landroid/os/SystemProperties;->getBoolean(Ljava/lang/String;Z)Z -- -- move-result v0 -- -- iput-boolean v0, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mSignalbarCount:Z -- -- new-instance v0, Ljava/lang/Object; -- -- invoke-direct {v0}, Ljava/lang/Object;->()V -- -- iput-object v0, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mSMSLock:Ljava/lang/Object; -- -- iput-boolean v1, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mIsSendingSMS:Z -- -- const/4 v0, 0x4 -- -- iput v0, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mQANElements:I -- -- return-void --.end method -- -- --# virtual methods --.method protected handleNitzTimeReceived(Landroid/os/Parcel;)V -- .registers 14 -- -- const/4 v11, 0x0 -- -- const/4 v10, 0x2 -- -- const/4 v9, 0x1 -- -- const/4 v8, 0x0 -- -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- check-cast v1, Ljava/lang/String; -- -- iget-boolean v6, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->RILJ_LOGD:Z -- -- if-eqz v6, :cond_13 -- -- const/16 v6, 0x3f0 -- -- invoke-virtual {p0, v6, v1}, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->unsljLogRet(ILjava/lang/Object;)V -- -- :cond_13 -- invoke-virtual {p1}, Landroid/os/Parcel;->readLong()J -- -- move-result-wide v3 -- -- new-array v5, v10, [Ljava/lang/Object; -- -- move-object v0, v1 -- -- const-string v6, "," -- -- invoke-virtual {v1, v6}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; -- -- move-result-object v2 -- -- array-length v6, v2 -- -- const/4 v7, 0x4 -- -- if-ne v6, v7, :cond_51 -- -- new-instance v6, Ljava/lang/StringBuilder; -- -- invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -- -- aget-object v7, v2, v8 -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- const-string v7, "," -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- aget-object v7, v2, v9 -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- const-string v7, "," -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- aget-object v7, v2, v10 -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- const-string v7, "," -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v0 -- -- :cond_51 -- aput-object v0, v5, v8 -- -- invoke-static {v3, v4}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; -- -- move-result-object v6 -- -- aput-object v6, v5, v9 -- -- iget-object v6, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mNITZTimeRegistrant:Landroid/os/Registrant; -- -- if-eqz v6, :cond_68 -- -- iget-object v6, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mNITZTimeRegistrant:Landroid/os/Registrant; -- -- new-instance v7, Landroid/os/AsyncResult; -- -- invoke-direct {v7, v11, v5, v11}, Landroid/os/AsyncResult;->(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V -- -- invoke-virtual {v6, v7}, Landroid/os/Registrant;->notifyRegistrant(Landroid/os/AsyncResult;)V -- -- :goto_67 -- return-void -- -- :cond_68 -- iput-object v5, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mLastNITZTimeInfo:Ljava/lang/Object; -- -- goto :goto_67 --.end method -- --.method protected processUnsolicited(Landroid/os/Parcel;)V -- .registers 8 -- -- const/4 v5, 0x0 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->dataPosition()I -- -- move-result v0 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v1 -- -- sparse-switch v1, :sswitch_data_32 -- -- invoke-virtual {p1, v0}, Landroid/os/Parcel;->setDataPosition(I)V -- -- invoke-super {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->processUnsolicited(Landroid/os/Parcel;)V -- -- :goto_12 -- return-void -- -- :sswitch_13 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->handleNitzTimeReceived(Landroid/os/Parcel;)V -- -- goto :goto_12 -- -- :sswitch_17 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- packed-switch v1, :pswitch_data_3c -- -- goto :goto_12 -- -- :pswitch_1f -- iget-boolean v3, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->RILJ_LOGD:Z -- -- if-eqz v3, :cond_26 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->unsljLog(I)V -- -- :cond_26 -- iget-object v3, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mVoiceNetworkStateRegistrants:Landroid/os/RegistrantList; -- -- new-instance v4, Landroid/os/AsyncResult; -- -- invoke-direct {v4, v5, v5, v5}, Landroid/os/AsyncResult;->(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V -- -- invoke-virtual {v3, v4}, Landroid/os/RegistrantList;->notifyRegistrants(Landroid/os/AsyncResult;)V -- -- goto :goto_12 -- -- nop -- -- :sswitch_data_32 -- .sparse-switch -- 0x3f0 -> :sswitch_13 -- 0x40e -> :sswitch_17 -- .end sparse-switch -- -- :pswitch_data_3c -- .packed-switch 0x40e -- :pswitch_1f -- .end packed-switch --.end method -- --.method protected responseIccCardStatus(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 11 -- -- new-instance v5, Lcom/android/internal/telephony/IccCardStatus; -- -- invoke-direct {v5}, Lcom/android/internal/telephony/IccCardStatus;->()V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v5, v6}, Lcom/android/internal/telephony/IccCardStatus;->setCardState(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v5, v6}, Lcom/android/internal/telephony/IccCardStatus;->setUniversalPinState(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v5, v6}, Lcom/android/internal/telephony/IccCardStatus;->setGsmUmtsSubscriptionAppIndex(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v5, v6}, Lcom/android/internal/telephony/IccCardStatus;->setCdmaSubscriptionAppIndex(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v5, v6}, Lcom/android/internal/telephony/IccCardStatus;->setImsSubscriptionAppIndex(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- const/16 v6, 0x8 -- -- if-le v4, v6, :cond_32 -- -- const/16 v4, 0x8 -- -- :cond_32 -- invoke-virtual {v5, v4}, Lcom/android/internal/telephony/IccCardStatus;->setNumApplications(I)V -- -- const/4 v3, 0x0 -- -- :goto_36 -- if-ge v3, v4, :cond_bb -- -- new-instance v2, Lcom/android/internal/telephony/IccCardApplication; -- -- invoke-direct {v2}, Lcom/android/internal/telephony/IccCardApplication;->()V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v2, v6}, Lcom/android/internal/telephony/IccCardApplication;->AppTypeFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- move-result-object v6 -- -- iput-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->app_type:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v2, v6}, Lcom/android/internal/telephony/IccCardApplication;->AppStateFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- move-result-object v6 -- -- iput-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->app_state:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v2, v6}, Lcom/android/internal/telephony/IccCardApplication;->PersoSubstateFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- move-result-object v6 -- -- iput-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->perso_substate:Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- iget-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->app_state:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- sget-object v7, Lcom/android/internal/telephony/IccCardApplication$AppState;->APPSTATE_SUBSCRIPTION_PERSO:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- if-ne v6, v7, :cond_7f -- -- iget-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->perso_substate:Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- sget-object v7, Lcom/android/internal/telephony/IccCardApplication$PersoSubState;->PERSOSUBSTATE_READY:Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- if-eq v6, v7, :cond_6d -- -- iget-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->perso_substate:Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- sget-object v7, Lcom/android/internal/telephony/IccCardApplication$PersoSubState;->PERSOSUBSTATE_UNKNOWN:Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- if-ne v6, v7, :cond_7f -- -- :cond_6d -- sget-object v6, Lcom/android/internal/telephony/IccCardApplication$AppState;->APPSTATE_UNKNOWN:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- iput-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->app_state:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- const-string v6, "RILJ" -- -- const-string v7, "ca.app_state == AppState.APPSTATE_SUBSCRIPTION_PERSO" -- -- invoke-static {v6, v7}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v6, "RILJ" -- -- const-string v7, "ca.perso_substate == PersoSubState.PERSOSUBSTATE_READY" -- -- invoke-static {v6, v7}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :cond_7f -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v6 -- -- iput-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->aid:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v6 -- -- iput-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->app_label:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- iput v6, v2, Lcom/android/internal/telephony/IccCardApplication;->pin1_replaced:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v2, v6}, Lcom/android/internal/telephony/IccCardApplication;->PinStateFromRILInt(I)Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- move-result-object v6 -- -- iput-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->pin1:Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- invoke-virtual {v2, v6}, Lcom/android/internal/telephony/IccCardApplication;->PinStateFromRILInt(I)Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- move-result-object v6 -- -- iput-object v6, v2, Lcom/android/internal/telephony/IccCardApplication;->pin2:Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- invoke-virtual {v5, v2}, Lcom/android/internal/telephony/IccCardStatus;->addApplication(Lcom/android/internal/telephony/IccCardApplication;)V -- -- add-int/lit8 v3, v3, 0x1 -- -- goto/16 :goto_36 -- -- :cond_bb -- const/4 v0, -0x1 -- -- iget v6, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mPhoneType:I -- -- const/4 v7, 0x2 -- -- if-ne v6, v7, :cond_133 -- -- invoke-virtual {v5}, Lcom/android/internal/telephony/IccCardStatus;->getCdmaSubscriptionAppIndex()I -- -- move-result v0 -- -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, "This is a CDMA PHONE " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :goto_dd -- if-lez v4, :cond_132 -- -- invoke-virtual {v5, v0}, Lcom/android/internal/telephony/IccCardStatus;->getApplication(I)Lcom/android/internal/telephony/IccCardApplication; -- -- move-result-object v1 -- -- iget-object v6, v1, Lcom/android/internal/telephony/IccCardApplication;->aid:Ljava/lang/String; -- -- iput-object v6, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mAid:Ljava/lang/String; -- -- iget-object v6, v1, Lcom/android/internal/telephony/IccCardApplication;->app_type:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- sget-object v7, Lcom/android/internal/telephony/IccCardApplication$AppType;->APPTYPE_USIM:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- if-ne v6, v7, :cond_150 -- -- const/4 v6, 0x1 -- -- :goto_ee -- iput-boolean v6, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mUSIM:Z -- -- iget v6, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mPreferredNetworkType:I -- -- iput v6, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mSetPreferredNetworkType:I -- -- iget-object v6, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mAid:Ljava/lang/String; -- -- invoke-static {v6}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v6 -- -- if-eqz v6, :cond_100 -- -- const-string v6, "" -- -- iput-object v6, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mAid:Ljava/lang/String; -- -- :cond_100 -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, "mAid " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- iget-object v8, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- const-string v8, " mUSIM=" -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- iget-boolean v8, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mUSIM:Z -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- const-string v8, " mSetPreferredNetworkType=" -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- iget v8, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mSetPreferredNetworkType:I -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :cond_132 -- return-object v5 -- -- :cond_133 -- invoke-virtual {v5}, Lcom/android/internal/telephony/IccCardStatus;->getGsmUmtsSubscriptionAppIndex()I -- -- move-result v0 -- -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, "This is a GSM PHONE " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- goto :goto_dd -- -- :cond_150 -- const/4 v6, 0x0 -- -- goto :goto_ee --.end method -- --.method protected responseSMS(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 4 -- -- iget-object v1, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mSMSLock:Ljava/lang/Object; -- -- monitor-enter v1 -- -- const/4 v0, 0x0 -- -- :try_start_4 -- iput-boolean v0, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mIsSendingSMS:Z -- -- iget-object v0, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mSMSLock:Ljava/lang/Object; -- -- invoke-virtual {v0}, Ljava/lang/Object;->notify()V -- -- monitor-exit v1 -- :try_end_c -- .catchall {:try_start_4 .. :try_end_c} :catchall_11 -- -- invoke-super {p0, p1}, Lcom/android/internal/telephony/QualcommSharedRIL;->responseSMS(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v0 -- -- return-object v0 -- -- :catchall_11 -- move-exception v0 -- -- :try_start_12 -- monitor-exit v1 -- :try_end_13 -- .catchall {:try_start_12 .. :try_end_13} :catchall_11 -- -- throw v0 --.end method -- --.method protected responseSignalStrength(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 14 -- -- const/4 v11, 0x1 -- -- const/4 v10, 0x7 -- -- const/4 v9, 0x0 -- -- const/16 v8, 0x8 -- -- const/4 v7, -0x1 -- -- const/16 v1, 0xc -- -- new-array v3, v1, [I -- -- const/4 v0, 0x0 -- -- :goto_b -- if-ge v0, v1, :cond_16 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- aput v4, v3, v0 -- -- add-int/lit8 v0, v0, 0x1 -- -- goto :goto_b -- -- :cond_16 -- const-string v5, "RILJ" -- -- new-instance v4, Ljava/lang/StringBuilder; -- -- invoke-direct {v4}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v6, "responseSignalStength BEFORE: mode=" -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- iget-boolean v4, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mSignalbarCount:Z -- -- if-eqz v4, :cond_145 -- -- const-string v4, "bars" -- -- :goto_2a -- invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v6, " gsmDbm=" -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- aget v6, v3, v9 -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v6, " gsmEcio=" -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- aget v6, v3, v11 -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v6, " lteSignalStrength=" -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- aget v6, v3, v10 -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v6, " lteRsrp=" -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- aget v6, v3, v8 -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v6, " lteRsrq=" -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const/16 v6, 0x9 -- -- aget v6, v3, v6 -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v6, " lteRssnr=" -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const/16 v6, 0xa -- -- aget v6, v3, v6 -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v6, " lteCqi=" -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const/16 v6, 0xb -- -- aget v6, v3, v6 -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v4 -- -- invoke-static {v5, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- iget-boolean v4, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mSignalbarCount:Z -- -- if-eqz v4, :cond_168 -- -- aget v4, v3, v9 -- -- const v5, 0xff00 -- -- and-int/2addr v4, v5 -- -- shr-int/lit8 v2, v4, 0x8 -- -- packed-switch v2, :pswitch_data_1ca -- -- aget v4, v3, v9 -- -- and-int/lit16 v4, v4, 0xff -- -- aput v4, v3, v9 -- -- :goto_a4 -- aput v7, v3, v11 -- -- const/4 v4, 0x2 -- -- aput v7, v3, v4 -- -- const/4 v4, 0x3 -- -- aput v7, v3, v4 -- -- const/4 v4, 0x4 -- -- aput v7, v3, v4 -- -- const/4 v4, 0x5 -- -- aput v7, v3, v4 -- -- const/4 v4, 0x6 -- -- aput v7, v3, v4 -- -- aget v4, v3, v10 -- -- const/16 v5, 0x63 -- -- if-ne v4, v5, :cond_170 -- -- aput v7, v3, v10 -- -- aput v7, v3, v8 -- -- const/16 v4, 0x9 -- -- aput v7, v3, v4 -- -- const/16 v4, 0xa -- -- aput v7, v3, v4 -- -- const/16 v4, 0xb -- -- aput v7, v3, v4 -- -- :goto_cb -- const-string v5, "RILJ" -- -- new-instance v4, Ljava/lang/StringBuilder; -- -- invoke-direct {v4}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v6, "responseSignalStength AFTER: mode=" -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- iget-boolean v4, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mSignalbarCount:Z -- -- if-eqz v4, :cond_1c4 -- -- const-string v4, "bars" -- -- :goto_df -- invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v6, " gsmDbm=" -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- aget v6, v3, v9 -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v6, " gsmEcio=" -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- aget v6, v3, v11 -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v6, " lteSignalStrength=" -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- aget v6, v3, v10 -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v6, " lteRsrp=" -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- aget v6, v3, v8 -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v6, " lteRsrq=" -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const/16 v6, 0x9 -- -- aget v6, v3, v6 -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v6, " lteRssnr=" -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const/16 v6, 0xa -- -- aget v6, v3, v6 -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v6, " lteCqi=" -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const/16 v6, 0xb -- -- aget v6, v3, v6 -- -- invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v4 -- -- invoke-static {v5, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- return-object v3 -- -- :cond_145 -- const-string/jumbo v4, "raw" -- -- goto/16 :goto_2a -- -- :pswitch_14a -- aput v11, v3, v9 -- -- goto/16 :goto_a4 -- -- :pswitch_14e -- const/4 v4, 0x3 -- -- aput v4, v3, v9 -- -- goto/16 :goto_a4 -- -- :pswitch_153 -- const/4 v4, 0x5 -- -- aput v4, v3, v9 -- -- goto/16 :goto_a4 -- -- :pswitch_158 -- aput v8, v3, v9 -- -- goto/16 :goto_a4 -- -- :pswitch_15c -- const/16 v4, 0xc -- -- aput v4, v3, v9 -- -- goto/16 :goto_a4 -- -- :pswitch_162 -- const/16 v4, 0xf -- -- aput v4, v3, v9 -- -- goto/16 :goto_a4 -- -- :cond_168 -- aget v4, v3, v9 -- -- and-int/lit16 v4, v4, 0xff -- -- aput v4, v3, v9 -- -- goto/16 :goto_a4 -- -- :cond_170 -- iget-boolean v4, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mSignalbarCount:Z -- -- if-eqz v4, :cond_1b6 -- -- aget v4, v3, v10 -- -- const v5, 0xff00 -- -- and-int/2addr v4, v5 -- -- shr-int/lit8 v2, v4, 0x8 -- -- aget v4, v3, v10 -- -- and-int/lit16 v4, v4, 0xff -- -- aput v4, v3, v10 -- -- const/16 v4, 0xa -- -- const v5, 0x7fffffff -- -- aput v5, v3, v4 -- -- packed-switch v2, :pswitch_data_1da -- -- aget v4, v3, v8 -- -- mul-int/lit8 v4, v4, -0x1 -- -- aput v4, v3, v8 -- -- goto/16 :goto_cb -- -- :pswitch_194 -- aput v7, v3, v8 -- -- goto/16 :goto_cb -- -- :pswitch_198 -- const/16 v4, -0x74 -- -- aput v4, v3, v8 -- -- goto/16 :goto_cb -- -- :pswitch_19e -- const/16 v4, -0x73 -- -- aput v4, v3, v8 -- -- goto/16 :goto_cb -- -- :pswitch_1a4 -- const/16 v4, -0x69 -- -- aput v4, v3, v8 -- -- goto/16 :goto_cb -- -- :pswitch_1aa -- const/16 v4, -0x5f -- -- aput v4, v3, v8 -- -- goto/16 :goto_cb -- -- :pswitch_1b0 -- const/16 v4, -0x55 -- -- aput v4, v3, v8 -- -- goto/16 :goto_cb -- -- :cond_1b6 -- aget v4, v3, v10 -- -- and-int/lit16 v4, v4, 0xff -- -- aput v4, v3, v10 -- -- aget v4, v3, v8 -- -- mul-int/lit8 v4, v4, -0x1 -- -- aput v4, v3, v8 -- -- goto/16 :goto_cb -- -- :cond_1c4 -- const-string/jumbo v4, "raw" -- -- goto/16 :goto_df -- -- nop -- -- :pswitch_data_1ca -- .packed-switch 0x0 -- :pswitch_14a -- :pswitch_14e -- :pswitch_153 -- :pswitch_158 -- :pswitch_15c -- :pswitch_162 -- .end packed-switch -- -- :pswitch_data_1da -- .packed-switch 0x0 -- :pswitch_194 -- :pswitch_198 -- :pswitch_19e -- :pswitch_1a4 -- :pswitch_1aa -- :pswitch_1b0 -- .end packed-switch --.end method -- --.method public sendSMS(Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- .registers 16 -- -- const-wide/16 v10, 0x0 -- -- iget-object v5, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mSMSLock:Ljava/lang/Object; -- -- monitor-enter v5 -- -- :try_start_5 -- invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J -- -- move-result-wide v6 -- -- const-wide/16 v8, 0x7530 -- -- add-long v0, v6, v8 -- -- const-wide/16 v2, 0x7530 -- -- :goto_f -- iget-boolean v4, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mIsSendingSMS:Z -- -- if-eqz v4, :cond_2b -- -- cmp-long v4, v2, v10 -- -- if-lez v4, :cond_2b -- -- const-string v4, "RILJ" -- -- const-string/jumbo v6, "sendSMS() waiting for response of previous SEND_SMS" -- -- invoke-static {v4, v6}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- :try_end_1f -- .catchall {:try_start_5 .. :try_end_1f} :catchall_3f -- -- :try_start_1f -- iget-object v4, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mSMSLock:Ljava/lang/Object; -- -- invoke-virtual {v4, v2, v3}, Ljava/lang/Object;->wait(J)V -- :try_end_24 -- .catchall {:try_start_1f .. :try_end_24} :catchall_3f -- .catch Ljava/lang/InterruptedException; {:try_start_1f .. :try_end_24} :catch_42 -- -- :goto_24 -- :try_start_24 -- invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J -- -- move-result-wide v6 -- -- sub-long v2, v0, v6 -- -- goto :goto_f -- -- :cond_2b -- cmp-long v4, v2, v10 -- -- if-gtz v4, :cond_37 -- -- const-string v4, "RILJ" -- -- const-string/jumbo v6, "sendSms() timed out waiting for response of previous CDMA_SEND_SMS" -- -- invoke-static {v4, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -- -- :cond_37 -- const/4 v4, 0x1 -- -- iput-boolean v4, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->mIsSendingSMS:Z -- -- monitor-exit v5 -- :try_end_3b -- .catchall {:try_start_24 .. :try_end_3b} :catchall_3f -- -- invoke-super {p0, p1, p2, p3}, Lcom/android/internal/telephony/QualcommSharedRIL;->sendSMS(Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- -- return-void -- -- :catchall_3f -- move-exception v4 -- -- :try_start_40 -- monitor-exit v5 -- :try_end_41 -- .catchall {:try_start_40 .. :try_end_41} :catchall_3f -- -- throw v4 -- -- :catch_42 -- move-exception v4 -- -- goto :goto_24 --.end method -- --.method public setNetworkSelectionModeManual(Ljava/lang/String;Landroid/os/Message;)V -- .registers 6 -- -- const/16 v1, 0x2f -- -- invoke-static {v1, p2}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->RILJ_LOGD:Z -- -- if-eqz v1, :cond_38 -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_38 -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/SamsungQualcommUiccRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/SamsungRIL$1.smali pdroid-framework/smali/com/android/internal/telephony/SamsungRIL$1.smali ---- stock-framework/smali/com/android/internal/telephony/SamsungRIL$1.smali 2012-10-12 12:25:02.364678658 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/SamsungRIL$1.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,14 +0,0 @@ --.class synthetic Lcom/android/internal/telephony/SamsungRIL$1; --.super Ljava/lang/Object; --.source "SamsungRIL.java" -- -- --# annotations --.annotation system Ldalvik/annotation/EnclosingClass; -- value = Lcom/android/internal/telephony/SamsungRIL; --.end annotation -- --.annotation system Ldalvik/annotation/InnerClass; -- accessFlags = 0x1008 -- name = null --.end annotation -diff -Npru stock-framework/smali/com/android/internal/telephony/SamsungRIL$ConnectivityHandler$ConnectivityBroadcastReceiver.smali pdroid-framework/smali/com/android/internal/telephony/SamsungRIL$ConnectivityHandler$ConnectivityBroadcastReceiver.smali ---- stock-framework/smali/com/android/internal/telephony/SamsungRIL$ConnectivityHandler$ConnectivityBroadcastReceiver.smali 2012-10-12 12:25:02.364678658 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/SamsungRIL$ConnectivityHandler$ConnectivityBroadcastReceiver.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,135 +0,0 @@ --.class Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler$ConnectivityBroadcastReceiver; --.super Landroid/content/BroadcastReceiver; --.source "SamsungRIL.java" -- -- --# annotations --.annotation system Ldalvik/annotation/EnclosingClass; -- value = Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler; --.end annotation -- --.annotation system Ldalvik/annotation/InnerClass; -- accessFlags = 0x2 -- name = "ConnectivityBroadcastReceiver" --.end annotation -- -- --# instance fields --.field final synthetic this$1:Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler; -- -- --# direct methods --.method private constructor (Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;)V -- .registers 2 -- -- iput-object p1, p0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->this$1:Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler; -- -- invoke-direct {p0}, Landroid/content/BroadcastReceiver;->()V -- -- return-void --.end method -- --.method synthetic constructor (Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;Lcom/android/internal/telephony/SamsungRIL$1;)V -- .registers 3 -- -- invoke-direct {p0, p1}, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->(Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;)V -- -- return-void --.end method -- -- --# virtual methods --.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V -- .registers 9 -- -- invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String; -- -- move-result-object v0 -- -- const-string v2, "android.net.conn.CONNECTIVITY_CHANGE" -- -- invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -- -- move-result v2 -- -- if-nez v2, :cond_26 -- -- const-string v2, "RILJ" -- -- new-instance v3, Ljava/lang/StringBuilder; -- -- invoke-direct {v3}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v4, "onReceived() called with " -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- invoke-virtual {v3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v3 -- -- invoke-static {v2, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I -- -- :cond_25 -- :goto_25 -- return-void -- -- :cond_26 -- const-string/jumbo v2, "noConnectivity" -- -- const/4 v3, 0x0 -- -- invoke-virtual {p2, v2, v3}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z -- -- move-result v1 -- -- if-eqz v1, :cond_25 -- -- const-string v2, "RILJ" -- -- const-string v3, "Mobile Dataconnection is now down setting preferred NetworkType" -- -- invoke-static {v2, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I -- -- iget-object v2, p0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->this$1:Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler; -- -- #calls: Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->stopListening()V -- invoke-static {v2}, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->access$100(Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;)V -- -- iget-object v2, p0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->this$1:Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler; -- -- iget-object v2, v2, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->this$0:Lcom/android/internal/telephony/SamsungRIL; -- -- iget-object v3, p0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->this$1:Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler; -- -- #getter for: Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->mDesiredNetworkType:I -- invoke-static {v3}, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->access$200(Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;)I -- -- move-result v3 -- -- iget-object v4, p0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->this$1:Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler; -- -- const/16 v5, 0x1e -- -- invoke-virtual {v4, v5}, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->obtainMessage(I)Landroid/os/Message; -- -- move-result-object v4 -- -- #calls: Lcom/android/internal/telephony/SamsungRIL;->sendPreferedNetworktype(ILandroid/os/Message;)V -- invoke-static {v2, v3, v4}, Lcom/android/internal/telephony/SamsungRIL;->access$300(Lcom/android/internal/telephony/SamsungRIL;ILandroid/os/Message;)V -- -- iget-object v2, p0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->this$1:Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler; -- -- const/4 v3, -0x1 -- -- #setter for: Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->mDesiredNetworkType:I -- invoke-static {v2, v3}, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->access$202(Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;I)I -- -- goto :goto_25 --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/SamsungRIL$ConnectivityHandler.smali pdroid-framework/smali/com/android/internal/telephony/SamsungRIL$ConnectivityHandler.smali ---- stock-framework/smali/com/android/internal/telephony/SamsungRIL$ConnectivityHandler.smali 2012-10-12 12:25:02.364678658 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/SamsungRIL$ConnectivityHandler.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,218 +0,0 @@ --.class Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler; --.super Landroid/os/Handler; --.source "SamsungRIL.java" -- -- --# annotations --.annotation system Ldalvik/annotation/EnclosingClass; -- value = Lcom/android/internal/telephony/SamsungRIL; --.end annotation -- --.annotation system Ldalvik/annotation/InnerClass; -- accessFlags = 0x2 -- name = "ConnectivityHandler" --.end annotation -- --.annotation system Ldalvik/annotation/MemberClasses; -- value = { -- Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler$ConnectivityBroadcastReceiver; -- } --.end annotation -- -- --# static fields --.field private static final MESSAGE_SET_PREFERRED_NETWORK_TYPE:I = 0x1e -- -- --# instance fields --.field private mConnectivityReceiver:Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler$ConnectivityBroadcastReceiver; -- --.field private mContext:Landroid/content/Context; -- --.field private mDesiredNetworkType:I -- --.field private mNetworktypeResponse:Landroid/os/Message; -- --.field final synthetic this$0:Lcom/android/internal/telephony/SamsungRIL; -- -- --# direct methods --.method public constructor (Lcom/android/internal/telephony/SamsungRIL;Landroid/content/Context;)V -- .registers 5 -- -- iput-object p1, p0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->this$0:Lcom/android/internal/telephony/SamsungRIL; -- -- invoke-direct {p0}, Landroid/os/Handler;->()V -- -- new-instance v0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler$ConnectivityBroadcastReceiver; -- -- const/4 v1, 0x0 -- -- invoke-direct {v0, p0, v1}, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->(Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;Lcom/android/internal/telephony/SamsungRIL$1;)V -- -- iput-object v0, p0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->mConnectivityReceiver:Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler$ConnectivityBroadcastReceiver; -- -- iput-object p2, p0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->mContext:Landroid/content/Context; -- -- return-void --.end method -- --.method static synthetic access$100(Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;)V -- .registers 1 -- -- invoke-direct {p0}, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->stopListening()V -- -- return-void --.end method -- --.method static synthetic access$200(Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;)I -- .registers 2 -- -- iget v0, p0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->mDesiredNetworkType:I -- -- return v0 --.end method -- --.method static synthetic access$202(Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;I)I -- .registers 2 -- -- iput p1, p0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->mDesiredNetworkType:I -- -- return p1 --.end method -- --.method private startListening()V -- .registers 4 -- -- new-instance v0, Landroid/content/IntentFilter; -- -- invoke-direct {v0}, Landroid/content/IntentFilter;->()V -- -- const-string v1, "android.net.conn.CONNECTIVITY_CHANGE" -- -- invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V -- -- iget-object v1, p0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->mContext:Landroid/content/Context; -- -- iget-object v2, p0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->mConnectivityReceiver:Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler$ConnectivityBroadcastReceiver; -- -- invoke-virtual {v1, v2, v0}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent; -- -- return-void --.end method -- --.method private declared-synchronized stopListening()V -- .registers 3 -- -- monitor-enter p0 -- -- :try_start_1 -- iget-object v0, p0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->mContext:Landroid/content/Context; -- -- iget-object v1, p0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->mConnectivityReceiver:Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler$ConnectivityBroadcastReceiver; -- -- invoke-virtual {v0, v1}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V -- :try_end_8 -- .catchall {:try_start_1 .. :try_end_8} :catchall_a -- -- monitor-exit p0 -- -- return-void -- -- :catchall_a -- move-exception v0 -- -- monitor-exit p0 -- -- throw v0 --.end method -- -- --# virtual methods --.method public handleMessage(Landroid/os/Message;)V -- .registers 6 -- -- const/4 v3, 0x0 -- -- iget v1, p1, Landroid/os/Message;->what:I -- -- packed-switch v1, :pswitch_data_32 -- -- new-instance v1, Ljava/lang/RuntimeException; -- -- const-string/jumbo v2, "unexpected event not handled" -- -- invoke-direct {v1, v2}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V -- -- throw v1 -- -- :pswitch_f -- iget-object v1, p0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->mContext:Landroid/content/Context; -- -- const-string v2, "connectivity" -- -- invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; -- -- move-result-object v0 -- -- check-cast v0, Landroid/net/ConnectivityManager; -- -- const-string v1, "RILJ" -- -- const-string/jumbo v2, "preferred NetworkType set upping Mobile Dataconnection" -- -- invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const/4 v1, 0x1 -- -- invoke-virtual {v0, v1}, Landroid/net/ConnectivityManager;->setMobileDataEnabled(Z)V -- -- iget-object v1, p0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->mNetworktypeResponse:Landroid/os/Message; -- -- invoke-static {v1, v3, v3}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult; -- -- iget-object v1, p0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->mNetworktypeResponse:Landroid/os/Message; -- -- invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V -- -- iput-object v3, p0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->mNetworktypeResponse:Landroid/os/Message; -- -- return-void -- -- :pswitch_data_32 -- .packed-switch 0x1e -- :pswitch_f -- .end packed-switch --.end method -- --.method public setPreferedNetworkType(ILandroid/os/Message;)V -- .registers 6 -- -- const-string v1, "RILJ" -- -- const-string v2, "Mobile Dataconnection is online setting it down" -- -- invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- iput p1, p0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->mDesiredNetworkType:I -- -- iput-object p2, p0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->mNetworktypeResponse:Landroid/os/Message; -- -- iget-object v1, p0, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->mContext:Landroid/content/Context; -- -- const-string v2, "connectivity" -- -- invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; -- -- move-result-object v0 -- -- check-cast v0, Landroid/net/ConnectivityManager; -- -- invoke-direct {p0}, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->startListening()V -- -- const/4 v1, 0x0 -- -- invoke-virtual {v0, v1}, Landroid/net/ConnectivityManager;->setMobileDataEnabled(Z)V -- -- return-void --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/SamsungRIL$SamsungDriverCall.smali pdroid-framework/smali/com/android/internal/telephony/SamsungRIL$SamsungDriverCall.smali ---- stock-framework/smali/com/android/internal/telephony/SamsungRIL$SamsungDriverCall.smali 2012-10-12 12:25:02.364678658 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/SamsungRIL$SamsungDriverCall.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,244 +0,0 @@ --.class public Lcom/android/internal/telephony/SamsungRIL$SamsungDriverCall; --.super Lcom/android/internal/telephony/DriverCall; --.source "SamsungRIL.java" -- -- --# annotations --.annotation system Ldalvik/annotation/EnclosingClass; -- value = Lcom/android/internal/telephony/SamsungRIL; --.end annotation -- --.annotation system Ldalvik/annotation/InnerClass; -- accessFlags = 0x4 -- name = "SamsungDriverCall" --.end annotation -- -- --# instance fields --.field final synthetic this$0:Lcom/android/internal/telephony/SamsungRIL; -- -- --# direct methods --.method protected constructor (Lcom/android/internal/telephony/SamsungRIL;)V -- .registers 2 -- -- iput-object p1, p0, Lcom/android/internal/telephony/SamsungRIL$SamsungDriverCall;->this$0:Lcom/android/internal/telephony/SamsungRIL; -- -- invoke-direct {p0}, Lcom/android/internal/telephony/DriverCall;->()V -- -- return-void --.end method -- -- --# virtual methods --.method public toString()Ljava/lang/String; -- .registers 3 -- -- new-instance v0, Ljava/lang/StringBuilder; -- -- invoke-direct {v0}, Ljava/lang/StringBuilder;->()V -- -- const-string v1, "id=" -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- iget v1, p0, Lcom/android/internal/telephony/SamsungRIL$SamsungDriverCall;->index:I -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "," -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- iget-object v1, p0, Lcom/android/internal/telephony/SamsungRIL$SamsungDriverCall;->state:Lcom/android/internal/telephony/DriverCall$State; -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "," -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string/jumbo v1, "toa=" -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- iget v1, p0, Lcom/android/internal/telephony/SamsungRIL$SamsungDriverCall;->TOA:I -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "," -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget-boolean v0, p0, Lcom/android/internal/telephony/SamsungRIL$SamsungDriverCall;->isMpty:Z -- -- if-eqz v0, :cond_c3 -- -- const-string v0, "conf" -- -- :goto_3c -- invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "," -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget-boolean v0, p0, Lcom/android/internal/telephony/SamsungRIL$SamsungDriverCall;->isMT:Z -- -- if-eqz v0, :cond_c8 -- -- const-string/jumbo v0, "mt" -- -- :goto_4d -- invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "," -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "als=" -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- iget v1, p0, Lcom/android/internal/telephony/SamsungRIL$SamsungDriverCall;->als:I -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "," -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget-boolean v0, p0, Lcom/android/internal/telephony/SamsungRIL$SamsungDriverCall;->isVoice:Z -- -- if-eqz v0, :cond_cc -- -- const-string/jumbo v0, "voc" -- -- :goto_70 -- invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "," -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string/jumbo v1, "nonvid" -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "," -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- iget-object v1, p0, Lcom/android/internal/telephony/SamsungRIL$SamsungDriverCall;->number:Ljava/lang/String; -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "," -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "cli=" -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- iget v1, p0, Lcom/android/internal/telephony/SamsungRIL$SamsungDriverCall;->numberPresentation:I -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "," -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string/jumbo v1, "name=" -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- iget-object v1, p0, Lcom/android/internal/telephony/SamsungRIL$SamsungDriverCall;->name:Ljava/lang/String; -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, "," -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- iget v1, p0, Lcom/android/internal/telephony/SamsungRIL$SamsungDriverCall;->namePresentation:I -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v0 -- -- return-object v0 -- -- :cond_c3 -- const-string/jumbo v0, "norm" -- -- goto/16 :goto_3c -- -- :cond_c8 -- const-string/jumbo v0, "mo" -- -- goto :goto_4d -- -- :cond_cc -- const-string/jumbo v0, "nonvoc" -- -- goto :goto_70 --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/SamsungRIL.smali pdroid-framework/smali/com/android/internal/telephony/SamsungRIL.smali ---- stock-framework/smali/com/android/internal/telephony/SamsungRIL.smali 2012-10-12 12:25:02.388678777 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/SamsungRIL.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,4013 +0,0 @@ --.class public Lcom/android/internal/telephony/SamsungRIL; --.super Lcom/android/internal/telephony/RIL; --.source "SamsungRIL.java" -- --# interfaces --.implements Lcom/android/internal/telephony/CommandsInterface; -- -- --# annotations --.annotation system Ldalvik/annotation/MemberClasses; -- value = { -- Lcom/android/internal/telephony/SamsungRIL$1;, -- Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;, -- Lcom/android/internal/telephony/SamsungRIL$SamsungDriverCall; -- } --.end annotation -- -- --# static fields --.field static final RIL_REQUEST_DIAL_EMERGENCY:I = 0x2720 -- --.field static final RIL_UNSOL_AM:I = 0x2b02 -- --.field static final RIL_UNSOL_DEVICE_READY_NOTI:I = 0x2b00 -- --.field static final RIL_UNSOL_GPS_NOTI:I = 0x2b01 -- --.field static final RIL_UNSOL_HSDPA_STATE_CHANGED:I = 0x2b08 -- --.field static final RIL_UNSOL_O2_HOME_ZONE_INFO:I = 0x2aff -- --.field static final RIL_UNSOL_SAMSUNG_UNKNOWN_MAGIC_REQUEST:I = 0x2b04 -- --.field static final RIL_UNSOL_SAMSUNG_UNKNOWN_MAGIC_REQUEST_2:I = 0x2b03 -- -- --# instance fields --.field private mIsSamsungCdma:Z -- --.field private mSignalbarCount:Z -- -- --# direct methods --.method public constructor (Landroid/content/Context;II)V -- .registers 7 -- -- const/4 v0, 0x1 -- -- const/4 v1, 0x0 -- -- invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/RIL;->(Landroid/content/Context;II)V -- -- const-string/jumbo v2, "ro.telephony.sends_barcount" -- -- invoke-static {v2, v1}, Landroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I -- -- move-result v2 -- -- if-ne v2, v0, :cond_1a -- -- :goto_e -- iput-boolean v0, p0, Lcom/android/internal/telephony/SamsungRIL;->mSignalbarCount:Z -- -- const-string/jumbo v0, "ro.ril.samsung_cdma" -- -- invoke-static {v0, v1}, Landroid/os/SystemProperties;->getBoolean(Ljava/lang/String;Z)Z -- -- move-result v0 -- -- iput-boolean v0, p0, Lcom/android/internal/telephony/SamsungRIL;->mIsSamsungCdma:Z -- -- return-void -- -- :cond_1a -- move v0, v1 -- -- goto :goto_e --.end method -- --.method static synthetic access$300(Lcom/android/internal/telephony/SamsungRIL;ILandroid/os/Message;)V -- .registers 3 -- -- invoke-direct {p0, p1, p2}, Lcom/android/internal/telephony/SamsungRIL;->sendPreferedNetworktype(ILandroid/os/Message;)V -- -- return-void --.end method -- --.method static requestToString(I)Ljava/lang/String; -- .registers 2 -- -- packed-switch p0, :pswitch_data_c -- -- invoke-static {p0}, Lcom/android/internal/telephony/RIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v0 -- -- :goto_7 -- return-object v0 -- -- :pswitch_8 -- const-string v0, "DIAL_EMERGENCY" -- -- goto :goto_7 -- -- nop -- -- :pswitch_data_c -- .packed-switch 0x2720 -- :pswitch_8 -- .end packed-switch --.end method -- --.method private sendPreferedNetworktype(ILandroid/os/Message;)V -- .registers 6 -- -- const/16 v1, 0x49 -- -- invoke-static {v1, p2}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const/4 v2, 0x1 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p1}, Landroid/os/Parcel;->writeInt(I)V -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/SamsungRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " : " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/SamsungRIL;->riljLog(Ljava/lang/String;)V -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/SamsungRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void --.end method -- --.method private startPppdCdmaService(Ljava/lang/String;)Z -- .registers 8 -- -- const/16 v5, 0xa -- -- const/4 v4, 0x2 -- -- const/4 v1, 0x1 -- -- const-string/jumbo v2, "net.cdma.datalinkinterface" -- -- invoke-static {v2, p1}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V -- -- const-string/jumbo v2, "ril.cdma.data_state" -- -- const-string v3, "1" -- -- invoke-static {v2, v3}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V -- -- const-string v2, "RILJ" -- -- const-string v3, "Set ril.cdma.data_state=1, waiting for ril.cdma.data_state=2." -- -- invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const/4 v0, 0x0 -- -- :goto_1a -- if-ge v0, v5, :cond_35 -- -- const-wide/16 v2, 0x64 -- -- :try_start_1e -- invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V -- :try_end_21 -- .catch Ljava/lang/InterruptedException; {:try_start_1e .. :try_end_21} :catch_62 -- -- :goto_21 -- const-string/jumbo v2, "ril.cdma.data_state" -- -- invoke-static {v2, v1}, Landroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I -- -- move-result v2 -- -- if-ne v2, v4, :cond_32 -- -- const-string v2, "RILJ" -- -- const-string v3, "Got ril.cdma.data_state=2, connected." -- -- invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :goto_31 -- return v1 -- -- :cond_32 -- add-int/lit8 v0, v0, 0x1 -- -- goto :goto_1a -- -- :cond_35 -- const/4 v0, 0x1 -- -- :goto_36 -- if-ge v0, v5, :cond_51 -- -- const-wide/16 v2, 0x3e8 -- -- :try_start_3a -- invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V -- :try_end_3d -- .catch Ljava/lang/InterruptedException; {:try_start_3a .. :try_end_3d} :catch_64 -- -- :goto_3d -- const-string/jumbo v2, "ril.cdma.data_state" -- -- invoke-static {v2, v1}, Landroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I -- -- move-result v2 -- -- if-ne v2, v4, :cond_4e -- -- const-string v2, "RILJ" -- -- const-string v3, "Got ril.cdma.data_state=2, connected." -- -- invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- goto :goto_31 -- -- :cond_4e -- add-int/lit8 v0, v0, 0x1 -- -- goto :goto_36 -- -- :cond_51 -- const-string v1, "RILJ" -- -- const-string v2, "Didn\'t get ril.cdma.data_state=2 timely, aborting." -- -- invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string/jumbo v1, "ril.cdma.data_state" -- -- const-string v2, "0" -- -- invoke-static {v1, v2}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V -- -- const/4 v1, 0x0 -- -- goto :goto_31 -- -- :catch_62 -- move-exception v2 -- -- goto :goto_21 -- -- :catch_64 -- move-exception v2 -- -- goto :goto_3d --.end method -- -- --# virtual methods --.method public deactivateDataCall(IILandroid/os/Message;)V -- .registers 6 -- -- iget-boolean v0, p0, Lcom/android/internal/telephony/SamsungRIL;->mIsSamsungCdma:Z -- -- if-eqz v0, :cond_13 -- -- const-string v0, "RILJ" -- -- const-string v1, "Set ril.cdma.data_state=0." -- -- invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string/jumbo v0, "ril.cdma.data_state" -- -- const-string v1, "0" -- -- invoke-static {v0, v1}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V -- -- :cond_13 -- invoke-super {p0, p1, p2, p3}, Lcom/android/internal/telephony/RIL;->deactivateDataCall(IILandroid/os/Message;)V -- -- return-void --.end method -- --.method public dial(Ljava/lang/String;ILcom/android/internal/telephony/UUSInfo;Landroid/os/Message;)V -- .registers 8 -- -- const/4 v2, 0x0 -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/SamsungRIL;->mIsSamsungCdma:Z -- -- if-nez v1, :cond_f -- -- invoke-static {p1}, Landroid/telephony/PhoneNumberUtils;->isEmergencyNumber(Ljava/lang/String;)Z -- -- move-result v1 -- -- if-eqz v1, :cond_f -- -- invoke-virtual {p0, p1, p2, p4}, Lcom/android/internal/telephony/SamsungRIL;->dialEmergencyCall(Ljava/lang/String;ILandroid/os/Message;)V -- -- :goto_e -- return-void -- -- :cond_f -- const/16 v1, 0xa -- -- invoke-static {v1, p4}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- if-nez p3, :cond_53 -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- :goto_2b -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/SamsungRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/SamsungRIL;->riljLog(Ljava/lang/String;)V -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/SamsungRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- goto :goto_e -- -- :cond_53 -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const/4 v2, 0x1 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {p3}, Lcom/android/internal/telephony/UUSInfo;->getType()I -- -- move-result v2 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {p3}, Lcom/android/internal/telephony/UUSInfo;->getDcs()I -- -- move-result v2 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {p3}, Lcom/android/internal/telephony/UUSInfo;->getUserData()[B -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeByteArray([B)V -- -- goto :goto_2b --.end method -- --.method public dialEmergencyCall(Ljava/lang/String;ILandroid/os/Message;)V -- .registers 9 -- -- const/4 v4, 0x0 -- -- const-string v1, "RILJ" -- -- new-instance v2, Ljava/lang/StringBuilder; -- -- invoke-direct {v2}, Ljava/lang/StringBuilder;->()V -- -- const-string v3, "Emergency dial: " -- -- invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-static {v1, v2}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I -- -- const/16 v1, 0x2720 -- -- invoke-static {v1, p3}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- new-instance v2, Ljava/lang/StringBuilder; -- -- invoke-direct {v2}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- const-string v3, "/" -- -- invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v2 -- -- invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, v4}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, v4}, Landroid/os/Parcel;->writeInt(I)V -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/SamsungRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/SamsungRIL;->riljLog(Ljava/lang/String;)V -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/SamsungRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void --.end method -- --.method protected notifyRegistrantsCdmaInfoRec(Lcom/android/internal/telephony/cdma/CdmaInformationRecords;)V -- .registers 8 -- -- const/16 v5, 0x403 -- -- const/16 v0, 0x403 -- -- iget-object v2, p1, Lcom/android/internal/telephony/cdma/CdmaInformationRecords;->record:Ljava/lang/Object; -- -- instance-of v2, v2, Lcom/android/internal/telephony/cdma/CdmaInformationRecords$CdmaSignalInfoRec; -- -- if-eqz v2, :cond_53 -- -- iget-object v1, p1, Lcom/android/internal/telephony/cdma/CdmaInformationRecords;->record:Ljava/lang/Object; -- -- check-cast v1, Lcom/android/internal/telephony/cdma/CdmaInformationRecords$CdmaSignalInfoRec; -- -- if-eqz v1, :cond_53 -- -- iget-boolean v2, v1, Lcom/android/internal/telephony/cdma/CdmaInformationRecords$CdmaSignalInfoRec;->isPresent:Z -- -- if-eqz v2, :cond_53 -- -- iget v2, v1, Lcom/android/internal/telephony/cdma/CdmaInformationRecords$CdmaSignalInfoRec;->signalType:I -- -- const/4 v3, 0x2 -- -- if-ne v2, v3, :cond_53 -- -- iget v2, v1, Lcom/android/internal/telephony/cdma/CdmaInformationRecords$CdmaSignalInfoRec;->alertPitch:I -- -- if-nez v2, :cond_53 -- -- iget v2, v1, Lcom/android/internal/telephony/cdma/CdmaInformationRecords$CdmaSignalInfoRec;->signal:I -- -- const/4 v3, 0x1 -- -- if-ne v2, v3, :cond_53 -- -- const-string v2, "RILJ" -- -- new-instance v3, Ljava/lang/StringBuilder; -- -- invoke-direct {v3}, Ljava/lang/StringBuilder;->()V -- -- const-string v4, "Dropping \"" -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- invoke-static {v5}, Lcom/android/internal/telephony/SamsungRIL;->responseToString(I)Ljava/lang/String; -- -- move-result-object v4 -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- const-string v4, " " -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- invoke-virtual {p0, v5, v1}, Lcom/android/internal/telephony/SamsungRIL;->retToString(ILjava/lang/Object;)Ljava/lang/String; -- -- move-result-object v4 -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- const-string v4, "\" to prevent \"ring of death\" bug." -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v3 -- -- invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :goto_52 -- return-void -- -- :cond_53 -- invoke-super {p0, p1}, Lcom/android/internal/telephony/RIL;->notifyRegistrantsCdmaInfoRec(Lcom/android/internal/telephony/cdma/CdmaInformationRecords;)V -- -- goto :goto_52 --.end method -- --.method protected processSolicited(Landroid/os/Parcel;)V -- .registers 11 -- -- const/4 v8, 0x0 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v3 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v0 -- -- const-string v5, "RILJ" -- -- new-instance v6, Ljava/lang/StringBuilder; -- -- invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -- -- const-string v7, "Serial: " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-static {v5, v6}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v5, "RILJ" -- -- new-instance v6, Ljava/lang/StringBuilder; -- -- invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -- -- const-string v7, "Error: " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-static {v5, v6}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- invoke-virtual {p0, v3}, Lcom/android/internal/telephony/SamsungRIL;->findAndRemoveRequestFromList(I)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v2 -- -- if-nez v2, :cond_62 -- -- const-string v5, "RILJ" -- -- new-instance v6, Ljava/lang/StringBuilder; -- -- invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -- -- const-string v7, "Unexpected solicited response! sn: " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- const-string v7, " error: " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-static {v5, v6}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I -- -- :goto_61 -- return-void -- -- :cond_62 -- const/4 v1, 0x0 -- -- if-eqz v0, :cond_6b -- -- invoke-virtual {p1}, Landroid/os/Parcel;->dataAvail()I -- -- move-result v5 -- -- if-lez v5, :cond_ce -- -- :cond_6b -- :try_start_6b -- iget v5, v2, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- sparse-switch v5, :sswitch_data_3c4 -- -- new-instance v5, Ljava/lang/RuntimeException; -- -- new-instance v6, Ljava/lang/StringBuilder; -- -- invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -- -- const-string v7, "Unrecognized solicited response: " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- iget v7, v2, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-direct {v5, v6}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V -- -- throw v5 -- :try_end_8b -- .catch Ljava/lang/Throwable; {:try_start_6b .. :try_end_8b} :catch_8b -- -- :catch_8b -- move-exception v4 -- -- const-string v5, "RILJ" -- -- new-instance v6, Ljava/lang/StringBuilder; -- -- invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v2}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- const-string v7, "< " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- iget v7, v2, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v7}, Lcom/android/internal/telephony/SamsungRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- const-string v7, " exception, possible invalid RIL response" -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-static {v5, v6, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -- -- iget-object v5, v2, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- if-eqz v5, :cond_c6 -- -- iget-object v5, v2, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- invoke-static {v5, v8, v4}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult; -- -- iget-object v5, v2, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- invoke-virtual {v5}, Landroid/os/Message;->sendToTarget()V -- -- :cond_c6 -- invoke-virtual {v2}, Lcom/android/internal/telephony/RILRequest;->release()V -- -- goto :goto_61 -- -- :sswitch_ca -- :try_start_ca -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseIccCardStatus(Landroid/os/Parcel;)Ljava/lang/Object; -- :try_end_cd -- .catch Ljava/lang/Throwable; {:try_start_ca .. :try_end_cd} :catch_8b -- -- move-result-object v1 -- -- :cond_ce -- :goto_ce -- if-eqz v0, :cond_dd -- -- const/4 v5, -0x1 -- -- if-ne v0, v5, :cond_3bb -- -- iget v5, v2, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- const/16 v6, 0x19 -- -- if-ne v5, v6, :cond_3bb -- -- :try_start_d9 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseSMS(Landroid/os/Parcel;)Ljava/lang/Object; -- :try_end_dc -- .catch Ljava/lang/Throwable; {:try_start_d9 .. :try_end_dc} :catch_386 -- -- move-result-object v1 -- -- :cond_dd -- new-instance v5, Ljava/lang/StringBuilder; -- -- invoke-direct {v5}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v2}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v5 -- -- const-string v6, "< " -- -- invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v5 -- -- iget v6, v2, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v6}, Lcom/android/internal/telephony/SamsungRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v5 -- -- const-string v6, " " -- -- invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v5 -- -- iget v6, v2, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-virtual {p0, v6, v1}, Lcom/android/internal/telephony/SamsungRIL;->retToString(ILjava/lang/Object;)Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v5 -- -- invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v5 -- -- invoke-virtual {p0, v5}, Lcom/android/internal/telephony/SamsungRIL;->riljLog(Ljava/lang/String;)V -- -- iget-object v5, v2, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- if-eqz v5, :cond_11f -- -- iget-object v5, v2, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- invoke-static {v5, v1, v8}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult; -- -- iget-object v5, v2, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- invoke-virtual {v5}, Landroid/os/Message;->sendToTarget()V -- -- :cond_11f -- invoke-virtual {v2}, Lcom/android/internal/telephony/RILRequest;->release()V -- -- goto/16 :goto_61 -- -- :sswitch_124 -- :try_start_124 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto :goto_ce -- -- :sswitch_129 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto :goto_ce -- -- :sswitch_12e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto :goto_ce -- -- :sswitch_133 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto :goto_ce -- -- :sswitch_138 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto :goto_ce -- -- :sswitch_13d -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto :goto_ce -- -- :sswitch_142 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto :goto_ce -- -- :sswitch_147 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseCallList(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto :goto_ce -- -- :sswitch_14c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_152 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_158 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_15e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_164 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_16a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_170 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_176 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_17c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseLastCallFailCause(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_182 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseSignalStrength(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_188 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoiceRegistrationState(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_18e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_194 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_19a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1a0 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1a6 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseSMS(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1ac -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseSMS(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1b2 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseSetupDataCall(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1b8 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseICC_IO(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1be -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1c4 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1ca -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1d0 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1d6 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseCallForward(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1dc -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1e2 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1e8 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1ee -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1f4 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_1fa -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_200 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_206 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_20c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_212 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_218 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_21e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_224 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_22a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_230 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseOperatorInfos(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_236 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_23c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_242 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_248 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_24e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_254 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_25a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_260 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_266 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseDataCallList(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_26c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_272 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseRaw(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_278 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_27e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_284 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_28a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_290 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_296 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_29c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2a2 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2a8 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2ae -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2b4 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2ba -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2c0 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2c6 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2cc -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseNetworkType(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2d2 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseCellList(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2d8 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2de -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2e4 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2ea -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2f0 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2f6 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_2fc -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_302 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_308 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_30e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_314 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseSMS(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_31a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_320 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseGmsBroadcastConfig(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_326 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_32c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_332 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseCdmaBroadcastConfig(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_338 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_33e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_344 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_34a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseCdmaSubscription(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_350 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_356 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_35c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_362 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_368 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_36e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_374 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_37a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :sswitch_380 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- :try_end_383 -- .catch Ljava/lang/Throwable; {:try_start_124 .. :try_end_383} :catch_8b -- -- move-result-object v1 -- -- goto/16 :goto_ce -- -- :catch_386 -- move-exception v4 -- -- const-string v5, "RILJ" -- -- new-instance v6, Ljava/lang/StringBuilder; -- -- invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v2}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- const-string v7, "< " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- iget v7, v2, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v7}, Lcom/android/internal/telephony/SamsungRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- const-string v7, " exception, Processing Samsung SMS fix " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-static {v5, v6, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -- -- invoke-virtual {v2, v0, v1}, Lcom/android/internal/telephony/RILRequest;->onError(ILjava/lang/Object;)V -- -- invoke-virtual {v2}, Lcom/android/internal/telephony/RILRequest;->release()V -- -- goto/16 :goto_61 -- -- :cond_3bb -- invoke-virtual {v2, v0, v1}, Lcom/android/internal/telephony/RILRequest;->onError(ILjava/lang/Object;)V -- -- invoke-virtual {v2}, Lcom/android/internal/telephony/RILRequest;->release()V -- -- goto/16 :goto_61 -- -- nop -- -- :sswitch_data_3c4 -- .sparse-switch -- 0x1 -> :sswitch_ca -- 0x2 -> :sswitch_124 -- 0x3 -> :sswitch_129 -- 0x4 -> :sswitch_12e -- 0x5 -> :sswitch_133 -- 0x6 -> :sswitch_138 -- 0x7 -> :sswitch_13d -- 0x8 -> :sswitch_142 -- 0x9 -> :sswitch_147 -- 0xa -> :sswitch_14c -- 0xb -> :sswitch_152 -- 0xc -> :sswitch_158 -- 0xd -> :sswitch_15e -- 0xe -> :sswitch_164 -- 0xf -> :sswitch_16a -- 0x10 -> :sswitch_170 -- 0x11 -> :sswitch_176 -- 0x12 -> :sswitch_17c -- 0x13 -> :sswitch_182 -- 0x14 -> :sswitch_188 -- 0x15 -> :sswitch_18e -- 0x16 -> :sswitch_194 -- 0x17 -> :sswitch_19a -- 0x18 -> :sswitch_1a0 -- 0x19 -> :sswitch_1a6 -- 0x1a -> :sswitch_1ac -- 0x1b -> :sswitch_1b2 -- 0x1c -> :sswitch_1b8 -- 0x1d -> :sswitch_1be -- 0x1e -> :sswitch_1c4 -- 0x1f -> :sswitch_1ca -- 0x20 -> :sswitch_1d0 -- 0x21 -> :sswitch_1d6 -- 0x22 -> :sswitch_1dc -- 0x23 -> :sswitch_1e2 -- 0x24 -> :sswitch_1e8 -- 0x25 -> :sswitch_1ee -- 0x26 -> :sswitch_1f4 -- 0x27 -> :sswitch_1fa -- 0x28 -> :sswitch_200 -- 0x29 -> :sswitch_206 -- 0x2a -> :sswitch_20c -- 0x2b -> :sswitch_212 -- 0x2c -> :sswitch_218 -- 0x2d -> :sswitch_21e -- 0x2e -> :sswitch_224 -- 0x2f -> :sswitch_22a -- 0x30 -> :sswitch_230 -- 0x31 -> :sswitch_236 -- 0x32 -> :sswitch_23c -- 0x33 -> :sswitch_242 -- 0x34 -> :sswitch_248 -- 0x35 -> :sswitch_24e -- 0x36 -> :sswitch_254 -- 0x37 -> :sswitch_25a -- 0x38 -> :sswitch_260 -- 0x39 -> :sswitch_266 -- 0x3a -> :sswitch_26c -- 0x3b -> :sswitch_272 -- 0x3c -> :sswitch_278 -- 0x3d -> :sswitch_27e -- 0x3e -> :sswitch_284 -- 0x3f -> :sswitch_28a -- 0x40 -> :sswitch_290 -- 0x41 -> :sswitch_296 -- 0x42 -> :sswitch_29c -- 0x43 -> :sswitch_2a2 -- 0x44 -> :sswitch_2a8 -- 0x45 -> :sswitch_2ae -- 0x46 -> :sswitch_2b4 -- 0x47 -> :sswitch_2ba -- 0x48 -> :sswitch_2c0 -- 0x49 -> :sswitch_2c6 -- 0x4a -> :sswitch_2cc -- 0x4b -> :sswitch_2d2 -- 0x4c -> :sswitch_2d8 -- 0x4d -> :sswitch_2de -- 0x4e -> :sswitch_2e4 -- 0x4f -> :sswitch_2ea -- 0x50 -> :sswitch_2f0 -- 0x51 -> :sswitch_2f6 -- 0x52 -> :sswitch_2fc -- 0x53 -> :sswitch_302 -- 0x54 -> :sswitch_308 -- 0x55 -> :sswitch_30e -- 0x56 -> :sswitch_344 -- 0x57 -> :sswitch_314 -- 0x58 -> :sswitch_31a -- 0x59 -> :sswitch_320 -- 0x5a -> :sswitch_326 -- 0x5b -> :sswitch_32c -- 0x5c -> :sswitch_332 -- 0x5d -> :sswitch_338 -- 0x5e -> :sswitch_33e -- 0x5f -> :sswitch_34a -- 0x60 -> :sswitch_350 -- 0x61 -> :sswitch_356 -- 0x62 -> :sswitch_35c -- 0x63 -> :sswitch_36e -- 0x64 -> :sswitch_362 -- 0x65 -> :sswitch_368 -- 0x66 -> :sswitch_374 -- 0x67 -> :sswitch_37a -- 0x2720 -> :sswitch_380 -- .end sparse-switch --.end method -- --.method protected processUnsolicited(Landroid/os/Parcel;)V -- .registers 26 -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->dataPosition()I -- -- move-result v7 -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v16 -- -- sparse-switch v16, :sswitch_data_212 -- -- move-object/from16 v0, p1 -- -- invoke-virtual {v0, v7}, Landroid/os/Parcel;->setDataPosition(I)V -- -- invoke-super/range {p0 .. p1}, Lcom/android/internal/telephony/RIL;->processUnsolicited(Landroid/os/Parcel;)V -- -- :cond_13 -- :goto_13 -- return-void -- -- :sswitch_14 -- invoke-virtual/range {p0 .. p1}, Lcom/android/internal/telephony/SamsungRIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v18 -- -- :goto_18 -- sparse-switch v16, :sswitch_data_23c -- -- goto :goto_13 -- -- :sswitch_1c -- move-object/from16 v0, p0 -- -- move/from16 v1, v16 -- -- move-object/from16 v2, v18 -- -- invoke-virtual {v0, v1, v2}, Lcom/android/internal/telephony/SamsungRIL;->unsljLogRet(ILjava/lang/Object;)V -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readLong()J -- -- move-result-wide v13 -- -- const/16 v19, 0x2 -- -- move/from16 v0, v19 -- -- new-array v0, v0, [Ljava/lang/Object; -- -- move-object/from16 v17, v0 -- -- move-object/from16 v12, v18 -- -- check-cast v12, Ljava/lang/String; -- -- new-instance v19, Ljava/lang/StringBuilder; -- -- invoke-direct/range {v19 .. v19}, Ljava/lang/StringBuilder;->()V -- -- const-string v20, " RIL_UNSOL_NITZ_TIME_RECEIVED length = " -- -- invoke-virtual/range {v19 .. v20}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v19 -- -- const-string v20, "[/:,+-]" -- -- move-object/from16 v0, v20 -- -- invoke-virtual {v12, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; -- -- move-result-object v20 -- -- move-object/from16 v0, v20 -- -- array-length v0, v0 -- -- move/from16 v20, v0 -- -- invoke-virtual/range {v19 .. v20}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v19 -- -- invoke-virtual/range {v19 .. v19}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v19 -- -- move-object/from16 v0, p0 -- -- move-object/from16 v1, v19 -- -- invoke-virtual {v0, v1}, Lcom/android/internal/telephony/SamsungRIL;->riljLog(Ljava/lang/String;)V -- -- const-string v19, "[/:,+-]" -- -- move-object/from16 v0, v19 -- -- invoke-virtual {v12, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; -- -- move-result-object v19 -- -- move-object/from16 v0, v19 -- -- array-length v0, v0 -- -- move/from16 v19, v0 -- -- const/16 v20, 0x9 -- -- move/from16 v0, v19 -- -- move/from16 v1, v20 -- -- if-lt v0, v1, :cond_83 -- -- const/16 v19, 0x0 -- -- const-string v20, "," -- -- move-object/from16 v0, v20 -- -- invoke-virtual {v12, v0}, Ljava/lang/String;->lastIndexOf(Ljava/lang/String;)I -- -- move-result v20 -- -- move/from16 v0, v19 -- -- move/from16 v1, v20 -- -- invoke-virtual {v12, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String; -- -- move-result-object v12 -- -- :cond_83 -- new-instance v19, Ljava/lang/StringBuilder; -- -- invoke-direct/range {v19 .. v19}, Ljava/lang/StringBuilder;->()V -- -- const-string v20, " RIL_UNSOL_NITZ_TIME_RECEIVED striped nitz = " -- -- invoke-virtual/range {v19 .. v20}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v19 -- -- move-object/from16 v0, v19 -- -- invoke-virtual {v0, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v19 -- -- invoke-virtual/range {v19 .. v19}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v19 -- -- move-object/from16 v0, p0 -- -- move-object/from16 v1, v19 -- -- invoke-virtual {v0, v1}, Lcom/android/internal/telephony/SamsungRIL;->riljLog(Ljava/lang/String;)V -- -- const/16 v19, 0x0 -- -- aput-object v12, v17, v19 -- -- const/16 v19, 0x1 -- -- invoke-static {v13, v14}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; -- -- move-result-object v20 -- -- aput-object v20, v17, v19 -- -- move-object/from16 v0, p0 -- -- iget-object v0, v0, Lcom/android/internal/telephony/SamsungRIL;->mNITZTimeRegistrant:Landroid/os/Registrant; -- -- move-object/from16 v19, v0 -- -- if-eqz v19, :cond_155 -- -- move-object/from16 v0, p0 -- -- iget-object v0, v0, Lcom/android/internal/telephony/SamsungRIL;->mNITZTimeRegistrant:Landroid/os/Registrant; -- -- move-object/from16 v19, v0 -- -- new-instance v20, Landroid/os/AsyncResult; -- -- const/16 v21, 0x0 -- -- const/16 v22, 0x0 -- -- move-object/from16 v0, v20 -- -- move-object/from16 v1, v21 -- -- move-object/from16 v2, v17 -- -- move-object/from16 v3, v22 -- -- invoke-direct {v0, v1, v2, v3}, Landroid/os/AsyncResult;->(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V -- -- invoke-virtual/range {v19 .. v20}, Landroid/os/Registrant;->notifyRegistrant(Landroid/os/AsyncResult;)V -- -- goto/16 :goto_13 -- -- :sswitch_cf -- invoke-virtual/range {p0 .. p1}, Lcom/android/internal/telephony/SamsungRIL;->responseSignalStrength(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v18 -- -- goto/16 :goto_18 -- -- :sswitch_d5 -- invoke-virtual/range {p0 .. p1}, Lcom/android/internal/telephony/SamsungRIL;->responseCdmaInformationRecord(Landroid/os/Parcel;)Ljava/util/ArrayList; -- -- move-result-object v18 -- -- goto/16 :goto_18 -- -- :sswitch_db -- invoke-virtual/range {p0 .. p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v18 -- -- goto/16 :goto_18 -- -- :sswitch_e1 -- invoke-virtual/range {p0 .. p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v18 -- -- goto/16 :goto_18 -- -- :sswitch_e7 -- invoke-virtual/range {p0 .. p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v18 -- -- goto/16 :goto_18 -- -- :sswitch_ed -- invoke-virtual/range {p0 .. p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v18 -- -- goto/16 :goto_18 -- -- :sswitch_f3 -- invoke-virtual/range {p0 .. p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v18 -- -- goto/16 :goto_18 -- -- :sswitch_f9 -- invoke-virtual/range {p0 .. p1}, Lcom/android/internal/telephony/SamsungRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v18 -- -- goto/16 :goto_18 -- -- :sswitch_ff -- invoke-virtual/range {p0 .. p1}, Lcom/android/internal/telephony/SamsungRIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v18 -- -- goto/16 :goto_18 -- -- :sswitch_105 -- move-object/from16 v0, p0 -- -- move/from16 v1, v16 -- -- invoke-virtual {v0, v1}, Lcom/android/internal/telephony/SamsungRIL;->unsljLog(I)V -- -- check-cast v18, [I -- -- check-cast v18, [I -- -- const/16 v19, 0x0 -- -- aget v19, v18, v19 -- -- const/16 v20, 0x1 -- -- move/from16 v0, v19 -- -- move/from16 v1, v20 -- -- if-ne v0, v1, :cond_147 -- -- const/4 v11, 0x1 -- -- :goto_11d -- const-string v19, "gsm.network.type" -- -- invoke-static/range {v19 .. v19}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v6 -- -- const/4 v5, 0x0 -- -- const-string v19, "HSDPA" -- -- move-object/from16 v0, v19 -- -- invoke-virtual {v6, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z -- -- move-result v19 -- -- if-eqz v19, :cond_149 -- -- const/4 v5, 0x1 -- -- :cond_12f -- if-eq v5, v11, :cond_13 -- -- move-object/from16 v0, p0 -- -- iget-object v0, v0, Lcom/android/internal/telephony/SamsungRIL;->mVoiceNetworkStateRegistrants:Landroid/os/RegistrantList; -- -- move-object/from16 v19, v0 -- -- new-instance v20, Landroid/os/AsyncResult; -- -- const/16 v21, 0x0 -- -- const/16 v22, 0x0 -- -- const/16 v23, 0x0 -- -- invoke-direct/range {v20 .. v23}, Landroid/os/AsyncResult;->(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V -- -- invoke-virtual/range {v19 .. v20}, Landroid/os/RegistrantList;->notifyRegistrants(Landroid/os/AsyncResult;)V -- -- goto/16 :goto_13 -- -- :cond_147 -- const/4 v11, 0x0 -- -- goto :goto_11d -- -- :cond_149 -- const-string v19, "UMTS" -- -- move-object/from16 v0, v19 -- -- invoke-virtual {v6, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z -- -- move-result v19 -- -- if-nez v19, :cond_12f -- -- goto/16 :goto_13 -- -- :cond_155 -- move-object/from16 v0, p0 -- -- iput-object v12, v0, Lcom/android/internal/telephony/SamsungRIL;->mLastNITZTimeInfo:Ljava/lang/Object; -- -- goto/16 :goto_13 -- -- :sswitch_15b -- move-object/from16 v0, p0 -- -- iget-object v0, v0, Lcom/android/internal/telephony/SamsungRIL;->mSignalStrengthRegistrant:Landroid/os/Registrant; -- -- move-object/from16 v19, v0 -- -- if-eqz v19, :cond_13 -- -- move-object/from16 v0, p0 -- -- iget-object v0, v0, Lcom/android/internal/telephony/SamsungRIL;->mSignalStrengthRegistrant:Landroid/os/Registrant; -- -- move-object/from16 v19, v0 -- -- new-instance v20, Landroid/os/AsyncResult; -- -- const/16 v21, 0x0 -- -- const/16 v22, 0x0 -- -- move-object/from16 v0, v20 -- -- move-object/from16 v1, v21 -- -- move-object/from16 v2, v18 -- -- move-object/from16 v3, v22 -- -- invoke-direct {v0, v1, v2, v3}, Landroid/os/AsyncResult;->(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V -- -- invoke-virtual/range {v19 .. v20}, Landroid/os/Registrant;->notifyRegistrant(Landroid/os/AsyncResult;)V -- -- goto/16 :goto_13 -- -- :sswitch_17f -- :try_start_17f -- move-object/from16 v0, v18 -- -- check-cast v0, Ljava/util/ArrayList; -- -- move-object v10, v0 -- :try_end_184 -- .catch Ljava/lang/ClassCastException; {:try_start_17f .. :try_end_184} :catch_1a1 -- -- invoke-virtual {v10}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; -- -- move-result-object v9 -- -- :goto_188 -- invoke-interface {v9}, Ljava/util/Iterator;->hasNext()Z -- -- move-result v19 -- -- if-eqz v19, :cond_13 -- -- invoke-interface {v9}, Ljava/util/Iterator;->next()Ljava/lang/Object; -- -- move-result-object v15 -- -- check-cast v15, Lcom/android/internal/telephony/cdma/CdmaInformationRecords; -- -- move-object/from16 v0, p0 -- -- move/from16 v1, v16 -- -- invoke-virtual {v0, v1, v15}, Lcom/android/internal/telephony/SamsungRIL;->unsljLogRet(ILjava/lang/Object;)V -- -- move-object/from16 v0, p0 -- -- invoke-virtual {v0, v15}, Lcom/android/internal/telephony/SamsungRIL;->notifyRegistrantsCdmaInfoRec(Lcom/android/internal/telephony/cdma/CdmaInformationRecords;)V -- -- goto :goto_188 -- -- :catch_1a1 -- move-exception v8 -- -- const-string v19, "RILJ" -- -- const-string v20, "Unexpected exception casting to listInfoRecs" -- -- move-object/from16 v0, v19 -- -- move-object/from16 v1, v20 -- -- invoke-static {v0, v1, v8}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -- -- goto/16 :goto_13 -- -- :sswitch_1af -- move-object/from16 v4, v18 -- -- check-cast v4, Ljava/lang/String; -- -- const-string v19, "RILJ" -- -- new-instance v20, Ljava/lang/StringBuilder; -- -- invoke-direct/range {v20 .. v20}, Ljava/lang/StringBuilder;->()V -- -- const-string v21, "Executing AM: " -- -- invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v20 -- -- move-object/from16 v0, v20 -- -- invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v20 -- -- invoke-virtual/range {v20 .. v20}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v20 -- -- invoke-static/range {v19 .. v20}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :try_start_1cd -- invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime; -- -- move-result-object v19 -- -- new-instance v20, Ljava/lang/StringBuilder; -- -- invoke-direct/range {v20 .. v20}, Ljava/lang/StringBuilder;->()V -- -- const-string v21, "am " -- -- invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v20 -- -- move-object/from16 v0, v20 -- -- invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v20 -- -- invoke-virtual/range {v20 .. v20}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v20 -- -- invoke-virtual/range {v19 .. v20}, Ljava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process; -- :try_end_1e9 -- .catch Ljava/io/IOException; {:try_start_1cd .. :try_end_1e9} :catch_1eb -- -- goto/16 :goto_13 -- -- :catch_1eb -- move-exception v8 -- -- invoke-virtual {v8}, Ljava/io/IOException;->printStackTrace()V -- -- const-string v19, "RILJ" -- -- new-instance v20, Ljava/lang/StringBuilder; -- -- invoke-direct/range {v20 .. v20}, Ljava/lang/StringBuilder;->()V -- -- const-string v21, "am " -- -- invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v20 -- -- move-object/from16 v0, v20 -- -- invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v20 -- -- const-string v21, " could not be executed." -- -- invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v20 -- -- invoke-virtual/range {v20 .. v20}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v20 -- -- invoke-static/range {v19 .. v20}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -- -- goto/16 :goto_13 -- -- nop -- -- :sswitch_data_212 -- .sparse-switch -- 0x3f0 -> :sswitch_14 -- 0x3f1 -> :sswitch_cf -- 0x403 -> :sswitch_d5 -- 0x2aff -> :sswitch_e1 -- 0x2b00 -> :sswitch_e7 -- 0x2b01 -> :sswitch_ed -- 0x2b02 -> :sswitch_ff -- 0x2b03 -> :sswitch_f9 -- 0x2b04 -> :sswitch_f3 -- 0x2b08 -> :sswitch_db -- .end sparse-switch -- -- :sswitch_data_23c -- .sparse-switch -- 0x3f0 -> :sswitch_1c -- 0x3f1 -> :sswitch_15b -- 0x403 -> :sswitch_17f -- 0x2b02 -> :sswitch_1af -- 0x2b08 -> :sswitch_105 -- .end sparse-switch --.end method -- --.method protected responseCallList(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 19 -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->dataAvail()I -- -- move-result v1 -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->dataPosition()I -- -- move-result v7 -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->dataSize()I -- -- move-result v9 -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "Parcel size = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "Parcel pos = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "Parcel dataAvail = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- new-instance v8, Ljava/util/ArrayList; -- -- invoke-direct {v8, v6}, Ljava/util/ArrayList;->(I)V -- -- const/4 v3, 0x0 -- -- :goto_5e -- if-ge v3, v6, :cond_321 -- -- move-object/from16 v0, p0 -- -- iget-boolean v12, v0, Lcom/android/internal/telephony/SamsungRIL;->mIsSamsungCdma:Z -- -- if-eqz v12, :cond_2f4 -- -- new-instance v2, Lcom/android/internal/telephony/SamsungRIL$SamsungDriverCall; -- -- move-object/from16 v0, p0 -- -- invoke-direct {v2, v0}, Lcom/android/internal/telephony/SamsungRIL$SamsungDriverCall;->(Lcom/android/internal/telephony/SamsungRIL;)V -- -- :goto_6d -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- invoke-static {v12}, Lcom/android/internal/telephony/DriverCall;->stateFromCLCC(I)Lcom/android/internal/telephony/DriverCall$State; -- -- move-result-object v12 -- -- iput-object v12, v2, Lcom/android/internal/telephony/DriverCall;->state:Lcom/android/internal/telephony/DriverCall$State; -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- iput v12, v2, Lcom/android/internal/telephony/DriverCall;->index:I -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- iput v12, v2, Lcom/android/internal/telephony/DriverCall;->TOA:I -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- if-eqz v12, :cond_2fb -- -- const/4 v12, 0x1 -- -- :goto_8a -- iput-boolean v12, v2, Lcom/android/internal/telephony/DriverCall;->isMpty:Z -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- if-eqz v12, :cond_2fe -- -- const/4 v12, 0x1 -- -- :goto_93 -- iput-boolean v12, v2, Lcom/android/internal/telephony/DriverCall;->isMT:Z -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- iput v12, v2, Lcom/android/internal/telephony/DriverCall;->als:I -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- if-eqz v12, :cond_301 -- -- const/4 v12, 0x1 -- -- :goto_a2 -- iput-boolean v12, v2, Lcom/android/internal/telephony/DriverCall;->isVoice:Z -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- if-eqz v12, :cond_304 -- -- const/4 v4, 0x1 -- -- :goto_ab -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- if-eqz v12, :cond_307 -- -- const/4 v12, 0x1 -- -- :goto_b2 -- iput-boolean v12, v2, Lcom/android/internal/telephony/DriverCall;->isVoicePrivacy:Z -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v12 -- -- iput-object v12, v2, Lcom/android/internal/telephony/DriverCall;->number:Ljava/lang/String; -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v5 -- -- invoke-static {v5}, Lcom/android/internal/telephony/DriverCall;->presentationFromCLIP(I)I -- -- move-result v12 -- -- iput v12, v2, Lcom/android/internal/telephony/DriverCall;->numberPresentation:I -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v12 -- -- iput-object v12, v2, Lcom/android/internal/telephony/DriverCall;->name:Ljava/lang/String; -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- iput v12, v2, Lcom/android/internal/telephony/DriverCall;->namePresentation:I -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v11 -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v14, "state = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget-object v14, v2, Lcom/android/internal/telephony/DriverCall;->state:Lcom/android/internal/telephony/DriverCall$State; -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "index = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget v14, v2, Lcom/android/internal/telephony/DriverCall;->index:I -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v14, "state = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget v14, v2, Lcom/android/internal/telephony/DriverCall;->TOA:I -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "isMpty = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget-boolean v14, v2, Lcom/android/internal/telephony/DriverCall;->isMpty:Z -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "isMT = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget-boolean v14, v2, Lcom/android/internal/telephony/DriverCall;->isMT:Z -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "als = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget v14, v2, Lcom/android/internal/telephony/DriverCall;->als:I -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "isVoice = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget-boolean v14, v2, Lcom/android/internal/telephony/DriverCall;->isVoice:Z -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "isVideo = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13, v4}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v14, "number = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget-object v14, v2, Lcom/android/internal/telephony/DriverCall;->number:Ljava/lang/String; -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v14, "numberPresentation = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v14, "name = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget-object v14, v2, Lcom/android/internal/telephony/DriverCall;->name:Ljava/lang/String; -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v14, "namePresentation = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget v14, v2, Lcom/android/internal/telephony/DriverCall;->namePresentation:I -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v14, "uusInfoPresent = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const/4 v12, 0x1 -- -- if-ne v11, v12, :cond_30a -- -- new-instance v12, Lcom/android/internal/telephony/UUSInfo; -- -- invoke-direct {v12}, Lcom/android/internal/telephony/UUSInfo;->()V -- -- iput-object v12, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- iget-object v12, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v13 -- -- invoke-virtual {v12, v13}, Lcom/android/internal/telephony/UUSInfo;->setType(I)V -- -- iget-object v12, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v13 -- -- invoke-virtual {v12, v13}, Lcom/android/internal/telephony/UUSInfo;->setDcs(I)V -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->createByteArray()[B -- -- move-result-object v10 -- -- iget-object v12, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v12, v10}, Lcom/android/internal/telephony/UUSInfo;->setUserData([B)V -- -- const-string v12, "RILJ" -- -- const-string v13, "Incoming UUS : type=%d, dcs=%d, length=%d" -- -- const/4 v14, 0x3 -- -- new-array v14, v14, [Ljava/lang/Object; -- -- const/4 v15, 0x0 -- -- iget-object v0, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- move-object/from16 v16, v0 -- -- invoke-virtual/range {v16 .. v16}, Lcom/android/internal/telephony/UUSInfo;->getType()I -- -- move-result v16 -- -- invoke-static/range {v16 .. v16}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -- -- move-result-object v16 -- -- aput-object v16, v14, v15 -- -- const/4 v15, 0x1 -- -- iget-object v0, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- move-object/from16 v16, v0 -- -- invoke-virtual/range {v16 .. v16}, Lcom/android/internal/telephony/UUSInfo;->getDcs()I -- -- move-result v16 -- -- invoke-static/range {v16 .. v16}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -- -- move-result-object v16 -- -- aput-object v16, v14, v15 -- -- const/4 v15, 0x2 -- -- iget-object v0, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- move-object/from16 v16, v0 -- -- invoke-virtual/range {v16 .. v16}, Lcom/android/internal/telephony/UUSInfo;->getUserData()[B -- -- move-result-object v16 -- -- move-object/from16 v0, v16 -- -- array-length v0, v0 -- -- move/from16 v16, v0 -- -- invoke-static/range {v16 .. v16}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -- -- move-result-object v16 -- -- aput-object v16, v14, v15 -- -- invoke-static {v13, v14}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "Incoming UUS : data (string)=" -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- new-instance v14, Ljava/lang/String; -- -- iget-object v15, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v15}, Lcom/android/internal/telephony/UUSInfo;->getUserData()[B -- -- move-result-object v15 -- -- invoke-direct {v14, v15}, Ljava/lang/String;->([B)V -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "Incoming UUS : data (hex): " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget-object v14, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v14}, Lcom/android/internal/telephony/UUSInfo;->getUserData()[B -- -- move-result-object v14 -- -- invoke-static {v14}, Lcom/android/internal/telephony/IccUtils;->bytesToHexString([B)Ljava/lang/String; -- -- move-result-object v14 -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I -- -- :goto_2d1 -- iget-object v12, v2, Lcom/android/internal/telephony/DriverCall;->number:Ljava/lang/String; -- -- iget v13, v2, Lcom/android/internal/telephony/DriverCall;->TOA:I -- -- invoke-static {v12, v13}, Landroid/telephony/PhoneNumberUtils;->stringFromStringAndTOA(Ljava/lang/String;I)Ljava/lang/String; -- -- move-result-object v12 -- -- iput-object v12, v2, Lcom/android/internal/telephony/DriverCall;->number:Ljava/lang/String; -- -- invoke-virtual {v8, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z -- -- iget-boolean v12, v2, Lcom/android/internal/telephony/DriverCall;->isVoicePrivacy:Z -- -- if-eqz v12, :cond_312 -- -- move-object/from16 v0, p0 -- -- iget-object v12, v0, Lcom/android/internal/telephony/SamsungRIL;->mVoicePrivacyOnRegistrants:Landroid/os/RegistrantList; -- -- invoke-virtual {v12}, Landroid/os/RegistrantList;->notifyRegistrants()V -- -- const-string v12, "RILJ" -- -- const-string v13, "InCall VoicePrivacy is enabled" -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :goto_2f0 -- add-int/lit8 v3, v3, 0x1 -- -- goto/16 :goto_5e -- -- :cond_2f4 -- new-instance v2, Lcom/android/internal/telephony/DriverCall; -- -- invoke-direct {v2}, Lcom/android/internal/telephony/DriverCall;->()V -- -- goto/16 :goto_6d -- -- :cond_2fb -- const/4 v12, 0x0 -- -- goto/16 :goto_8a -- -- :cond_2fe -- const/4 v12, 0x0 -- -- goto/16 :goto_93 -- -- :cond_301 -- const/4 v12, 0x0 -- -- goto/16 :goto_a2 -- -- :cond_304 -- const/4 v4, 0x0 -- -- goto/16 :goto_ab -- -- :cond_307 -- const/4 v12, 0x0 -- -- goto/16 :goto_b2 -- -- :cond_30a -- const-string v12, "RILJ" -- -- const-string v13, "Incoming UUS : NOT present!" -- -- invoke-static {v12, v13}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I -- -- goto :goto_2d1 -- -- :cond_312 -- move-object/from16 v0, p0 -- -- iget-object v12, v0, Lcom/android/internal/telephony/SamsungRIL;->mVoicePrivacyOffRegistrants:Landroid/os/RegistrantList; -- -- invoke-virtual {v12}, Landroid/os/RegistrantList;->notifyRegistrants()V -- -- const-string v12, "RILJ" -- -- const-string v13, "InCall VoicePrivacy is disabled" -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- goto :goto_2f0 -- -- :cond_321 -- invoke-static {v8}, Ljava/util/Collections;->sort(Ljava/util/List;)V -- -- return-object v8 --.end method -- --.method protected responseCdmaSubscription(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 12 -- -- const/4 v9, 0x4 -- -- const/4 v8, 0x3 -- -- const/4 v7, 0x2 -- -- const/4 v6, 0x0 -- -- const/4 v5, 0x1 -- -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v3 -- -- check-cast v3, [Ljava/lang/String; -- -- move-object v1, v3 -- -- check-cast v1, [Ljava/lang/String; -- -- array-length v3, v1 -- -- if-ne v3, v9, :cond_36 -- -- const-string/jumbo v3, "ril.prl_ver_1" -- -- invoke-static {v3}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v3 -- -- const-string v4, ":" -- -- invoke-virtual {v3, v4}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; -- -- move-result-object v3 -- -- aget-object v0, v3, v5 -- -- const/4 v3, 0x5 -- -- new-array v2, v3, [Ljava/lang/String; -- -- aget-object v3, v1, v6 -- -- aput-object v3, v2, v6 -- -- aget-object v3, v1, v5 -- -- aput-object v3, v2, v5 -- -- aget-object v3, v1, v7 -- -- aput-object v3, v2, v7 -- -- aget-object v3, v1, v8 -- -- aput-object v3, v2, v8 -- -- aput-object v0, v2, v9 -- -- move-object v1, v2 -- -- :cond_36 -- return-object v1 --.end method -- --.method protected responseLastCallFailCause(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 6 -- -- const/4 v3, 0x0 -- -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- check-cast v1, [I -- -- move-object v0, v1 -- -- check-cast v0, [I -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/SamsungRIL;->mIsSamsungCdma:Z -- -- if-eqz v1, :cond_23 -- -- array-length v1, v0 -- -- if-lez v1, :cond_23 -- -- aget v1, v0, v3 -- -- const v2, 0xffff -- -- if-ne v1, v2, :cond_23 -- -- const-string v1, "RILJ" -- -- const-string v2, "Overriding ERROR_UNSPECIFIED fail cause with NORMAL_CLEARING." -- -- invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const/16 v1, 0x10 -- -- aput v1, v0, v3 -- -- :cond_23 -- return-object v0 --.end method -- --.method protected responseNetworkType(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 6 -- -- const/4 v3, 0x0 -- -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- check-cast v1, [I -- -- move-object v0, v1 -- -- check-cast v0, [I -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/SamsungRIL;->mIsSamsungCdma:Z -- -- if-nez v1, :cond_1c -- -- aget v1, v0, v3 -- -- const/4 v2, 0x7 -- -- if-ne v1, v2, :cond_1c -- -- const-string v1, "RILJ" -- -- const-string v2, "Overriding network type response from global to WCDMA preferred" -- -- invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- aput v3, v0, v3 -- -- :cond_1c -- return-object v0 --.end method -- --.method protected responseSetupDataCall(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 11 -- -- const/4 v8, 0x2 -- -- const/4 v7, 0x0 -- -- const/4 v6, 0x1 -- -- new-instance v0, Lcom/android/internal/telephony/DataCallState; -- -- invoke-direct {v0}, Lcom/android/internal/telephony/DataCallState;->()V -- -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v3 -- -- check-cast v3, [Ljava/lang/String; -- -- move-object v2, v3 -- -- check-cast v2, [Ljava/lang/String; -- -- array-length v3, v2 -- -- if-lt v3, v8, :cond_d6 -- -- aget-object v3, v2, v7 -- -- invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I -- -- move-result v3 -- -- iput v3, v0, Lcom/android/internal/telephony/DataCallState;->cid:I -- -- iget-boolean v3, p0, Lcom/android/internal/telephony/SamsungRIL;->mIsSamsungCdma:Z -- -- if-eqz v3, :cond_c2 -- -- aget-object v3, v2, v6 -- -- invoke-direct {p0, v3}, Lcom/android/internal/telephony/SamsungRIL;->startPppdCdmaService(Ljava/lang/String;)Z -- -- move-result v3 -- -- if-nez v3, :cond_31 -- -- sget-object v3, Lcom/android/internal/telephony/DataConnection$FailCause;->ERROR_UNSPECIFIED:Lcom/android/internal/telephony/DataConnection$FailCause; -- -- invoke-virtual {v3}, Lcom/android/internal/telephony/DataConnection$FailCause;->getErrorCode()I -- -- move-result v3 -- -- iput v3, v0, Lcom/android/internal/telephony/DataCallState;->status:I -- -- :cond_30 -- :goto_30 -- return-object v0 -- -- :cond_31 -- const-string/jumbo v3, "net.cdma.ppp.interface" -- -- invoke-static {v3}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v3 -- -- iput-object v3, v0, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- new-instance v3, Ljava/lang/StringBuilder; -- -- invoke-direct {v3}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v4, "net." -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- iget-object v4, v0, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- new-array v3, v6, [Ljava/lang/String; -- -- new-instance v4, Ljava/lang/StringBuilder; -- -- invoke-direct {v4}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v5, ".local-ip" -- -- invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v4 -- -- invoke-static {v4}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v4 -- -- aput-object v4, v3, v7 -- -- iput-object v3, v0, Lcom/android/internal/telephony/DataCallState;->addresses:[Ljava/lang/String; -- -- new-array v3, v6, [Ljava/lang/String; -- -- new-instance v4, Ljava/lang/StringBuilder; -- -- invoke-direct {v4}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v5, ".remote-ip" -- -- invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v4 -- -- invoke-static {v4}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v4 -- -- aput-object v4, v3, v7 -- -- iput-object v3, v0, Lcom/android/internal/telephony/DataCallState;->gateways:[Ljava/lang/String; -- -- new-array v3, v8, [Ljava/lang/String; -- -- new-instance v4, Ljava/lang/StringBuilder; -- -- invoke-direct {v4}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v5, ".dns1" -- -- invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v4 -- -- invoke-static {v4}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v4 -- -- aput-object v4, v3, v7 -- -- new-instance v4, Ljava/lang/StringBuilder; -- -- invoke-direct {v4}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- const-string v5, ".dns2" -- -- invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v4 -- -- invoke-static {v4}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v4 -- -- aput-object v4, v3, v6 -- -- iput-object v3, v0, Lcom/android/internal/telephony/DataCallState;->dnses:[Ljava/lang/String; -- -- goto/16 :goto_30 -- -- :cond_c2 -- aget-object v3, v2, v6 -- -- iput-object v3, v0, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- array-length v3, v2 -- -- const/4 v4, 0x3 -- -- if-lt v3, v4, :cond_30 -- -- aget-object v3, v2, v8 -- -- const-string v4, " " -- -- invoke-virtual {v3, v4}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; -- -- move-result-object v3 -- -- iput-object v3, v0, Lcom/android/internal/telephony/DataCallState;->addresses:[Ljava/lang/String; -- -- goto/16 :goto_30 -- -- :cond_d6 -- iget-boolean v3, p0, Lcom/android/internal/telephony/SamsungRIL;->mIsSamsungCdma:Z -- -- if-eqz v3, :cond_e9 -- -- const-string v3, "RILJ" -- -- const-string v4, "Set ril.cdma.data_state=0 to make sure pppd_cdma is stopped." -- -- invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string/jumbo v3, "ril.cdma.data_state" -- -- const-string v4, "0" -- -- invoke-static {v3, v4}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V -- -- :cond_e9 -- sget-object v3, Lcom/android/internal/telephony/DataConnection$FailCause;->ERROR_UNSPECIFIED:Lcom/android/internal/telephony/DataConnection$FailCause; -- -- invoke-virtual {v3}, Lcom/android/internal/telephony/DataConnection$FailCause;->getErrorCode()I -- -- move-result v3 -- -- iput v3, v0, Lcom/android/internal/telephony/DataCallState;->status:I -- -- goto/16 :goto_30 --.end method -- --.method protected responseSignalStrength(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 13 -- -- const/4 v10, 0x4 -- -- const/4 v9, 0x2 -- -- const/4 v8, 0x0 -- -- const/4 v5, -0x1 -- -- const/4 v7, 0x3 -- -- const-string v4, "gsm.sim.state" -- -- invoke-static {v4}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; -- -- move-result-object v3 -- -- const-string v4, "NOT_READY" -- -- invoke-virtual {v4, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -- -- move-result v4 -- -- if-eqz v4, :cond_1c -- -- iget-object v4, p0, Lcom/android/internal/telephony/SamsungRIL;->mIccStatusChangedRegistrants:Landroid/os/RegistrantList; -- -- if-eqz v4, :cond_1c -- -- iget-object v4, p0, Lcom/android/internal/telephony/SamsungRIL;->mIccStatusChangedRegistrants:Landroid/os/RegistrantList; -- -- invoke-virtual {v4}, Landroid/os/RegistrantList;->notifyRegistrants()V -- -- :cond_1c -- const/16 v1, 0xc -- -- new-array v2, v1, [I -- -- const/4 v0, 0x0 -- -- :goto_21 -- const/4 v4, 0x7 -- -- if-ge v0, v4, :cond_2d -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- aput v4, v2, v0 -- -- add-int/lit8 v0, v0, 0x1 -- -- goto :goto_21 -- -- :cond_2d -- const/4 v0, 0x7 -- -- :goto_2e -- if-ge v0, v1, :cond_35 -- -- aput v5, v2, v0 -- -- add-int/lit8 v0, v0, 0x1 -- -- goto :goto_2e -- -- :cond_35 -- iget-boolean v4, p0, Lcom/android/internal/telephony/SamsungRIL;->mIsSamsungCdma:Z -- -- if-eqz v4, :cond_43 -- -- aget v4, v2, v7 -- -- if-gez v4, :cond_42 -- -- aget v4, v2, v7 -- -- neg-int v4, v4 -- -- aput v4, v2, v7 -- -- :cond_42 -- :goto_42 -- return-object v2 -- -- :cond_43 -- iget-boolean v4, p0, Lcom/android/internal/telephony/SamsungRIL;->mSignalbarCount:Z -- -- if-eqz v4, :cond_87 -- -- aget v4, v2, v8 -- -- const v6, 0xff00 -- -- and-int/2addr v4, v6 -- -- shr-int/lit8 v4, v4, 0x8 -- -- mul-int/lit8 v4, v4, 0x3 -- -- aput v4, v2, v8 -- -- :goto_53 -- const/4 v4, 0x1 -- -- aput v5, v2, v4 -- -- aget v4, v2, v9 -- -- if-gez v4, :cond_8e -- -- const/16 v4, -0x78 -- -- :goto_5c -- aput v4, v2, v9 -- -- aget v4, v2, v7 -- -- if-gez v4, :cond_92 -- -- const/16 v4, -0xa0 -- -- :goto_64 -- aput v4, v2, v7 -- -- aget v4, v2, v10 -- -- if-gez v4, :cond_96 -- -- const/16 v4, -0x78 -- -- :goto_6c -- aput v4, v2, v10 -- -- const/4 v6, 0x5 -- -- const/4 v4, 0x5 -- -- aget v4, v2, v4 -- -- if-gez v4, :cond_9a -- -- move v4, v5 -- -- :goto_75 -- aput v4, v2, v6 -- -- const/4 v4, 0x6 -- -- aget v4, v2, v4 -- -- if-ltz v4, :cond_83 -- -- const/4 v4, 0x6 -- -- aget v4, v2, v4 -- -- const/16 v6, 0x8 -- -- if-le v4, v6, :cond_42 -- -- :cond_83 -- const/4 v4, 0x6 -- -- aput v5, v2, v4 -- -- goto :goto_42 -- -- :cond_87 -- aget v4, v2, v8 -- -- and-int/lit16 v4, v4, 0xff -- -- aput v4, v2, v8 -- -- goto :goto_53 -- -- :cond_8e -- aget v4, v2, v9 -- -- neg-int v4, v4 -- -- goto :goto_5c -- -- :cond_92 -- aget v4, v2, v7 -- -- neg-int v4, v4 -- -- goto :goto_64 -- -- :cond_96 -- aget v4, v2, v10 -- -- neg-int v4, v4 -- -- goto :goto_6c -- -- :cond_9a -- const/4 v4, 0x5 -- -- aget v4, v2, v4 -- -- neg-int v4, v4 -- -- goto :goto_75 --.end method -- --.method protected responseVoiceRegistrationState(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 8 -- -- const/4 v5, 0x5 -- -- const/4 v4, 0x4 -- -- const/16 v3, 0x10 -- -- const/4 v2, 0x6 -- -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SamsungRIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- check-cast v1, [Ljava/lang/String; -- -- move-object v0, v1 -- -- check-cast v0, [Ljava/lang/String; -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/SamsungRIL;->mIsSamsungCdma:Z -- -- if-eqz v1, :cond_39 -- -- array-length v1, v0 -- -- if-le v1, v2, :cond_39 -- -- aget-object v1, v0, v4 -- -- invoke-static {v1, v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I -- -- move-result v1 -- -- invoke-static {v1}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; -- -- move-result-object v1 -- -- aput-object v1, v0, v4 -- -- aget-object v1, v0, v5 -- -- invoke-static {v1, v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I -- -- move-result v1 -- -- invoke-static {v1}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; -- -- move-result-object v1 -- -- aput-object v1, v0, v5 -- -- aget-object v1, v0, v2 -- -- invoke-static {v1, v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I -- -- move-result v1 -- -- invoke-static {v1}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; -- -- move-result-object v1 -- -- aput-object v1, v0, v2 -- -- :cond_39 -- return-object v0 --.end method -- --.method public setCurrentPreferredNetworkType()V -- .registers 2 -- -- const-string/jumbo v0, "setCurrentPreferredNetworkType IGNORED" -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/SamsungRIL;->riljLog(Ljava/lang/String;)V -- -- return-void --.end method -- --.method public setPreferredNetworkType(ILandroid/os/Message;)V -- .registers 7 -- -- iget-object v2, p0, Lcom/android/internal/telephony/SamsungRIL;->mContext:Landroid/content/Context; -- -- const-string v3, "connectivity" -- -- invoke-virtual {v2, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; -- -- move-result-object v0 -- -- check-cast v0, Landroid/net/ConnectivityManager; -- -- invoke-virtual {v0}, Landroid/net/ConnectivityManager;->getMobileDataEnabled()Z -- -- move-result v2 -- -- if-eqz v2, :cond_1b -- -- new-instance v1, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler; -- -- iget-object v2, p0, Lcom/android/internal/telephony/SamsungRIL;->mContext:Landroid/content/Context; -- -- invoke-direct {v1, p0, v2}, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->(Lcom/android/internal/telephony/SamsungRIL;Landroid/content/Context;)V -- -- invoke-virtual {v1, p1, p2}, Lcom/android/internal/telephony/SamsungRIL$ConnectivityHandler;->setPreferedNetworkType(ILandroid/os/Message;)V -- -- :goto_1a -- return-void -- -- :cond_1b -- invoke-direct {p0, p1, p2}, Lcom/android/internal/telephony/SamsungRIL;->sendPreferedNetworktype(ILandroid/os/Message;)V -- -- goto :goto_1a --.end method -- --.method public setRadioPower(ZLandroid/os/Message;)V -- .registers 7 -- -- const/4 v2, 0x1 -- -- const/4 v3, 0x0 -- -- const/16 v1, 0x17 -- -- invoke-static {v1, p2}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- if-eqz p1, :cond_3c -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- :goto_14 -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/SamsungRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/SamsungRIL;->riljLog(Ljava/lang/String;)V -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/SamsungRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void -- -- :cond_3c -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const/4 v2, 0x2 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, v3}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, v3}, Landroid/os/Parcel;->writeInt(I)V -- -- goto :goto_14 --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/SemcRIL$1.smali pdroid-framework/smali/com/android/internal/telephony/SemcRIL$1.smali ---- stock-framework/smali/com/android/internal/telephony/SemcRIL$1.smali 2012-10-12 12:25:02.388678777 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/SemcRIL$1.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,174 +0,0 @@ --.class synthetic Lcom/android/internal/telephony/SemcRIL$1; --.super Ljava/lang/Object; --.source "SemcRIL.java" -- -- --# annotations --.annotation system Ldalvik/annotation/EnclosingClass; -- value = Lcom/android/internal/telephony/SemcRIL; --.end annotation -- --.annotation system Ldalvik/annotation/InnerClass; -- accessFlags = 0x1008 -- name = null --.end annotation -- -- --# static fields --.field static final synthetic $SwitchMap$com$android$internal$telephony$IccCardApplication$AppState:[I -- --.field static final synthetic $SwitchMap$com$android$internal$telephony$IccCardApplication$AppType:[I -- -- --# direct methods --.method static constructor ()V -- .registers 3 -- -- invoke-static {}, Lcom/android/internal/telephony/IccCardApplication$AppState;->values()[Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- move-result-object v0 -- -- array-length v0, v0 -- -- new-array v0, v0, [I -- -- sput-object v0, Lcom/android/internal/telephony/SemcRIL$1;->$SwitchMap$com$android$internal$telephony$IccCardApplication$AppState:[I -- -- :try_start_9 -- sget-object v0, Lcom/android/internal/telephony/SemcRIL$1;->$SwitchMap$com$android$internal$telephony$IccCardApplication$AppState:[I -- -- sget-object v1, Lcom/android/internal/telephony/IccCardApplication$AppState;->APPSTATE_PIN:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- invoke-virtual {v1}, Lcom/android/internal/telephony/IccCardApplication$AppState;->ordinal()I -- -- move-result v1 -- -- const/4 v2, 0x1 -- -- aput v2, v0, v1 -- :try_end_14 -- .catch Ljava/lang/NoSuchFieldError; {:try_start_9 .. :try_end_14} :catch_5f -- -- :goto_14 -- :try_start_14 -- sget-object v0, Lcom/android/internal/telephony/SemcRIL$1;->$SwitchMap$com$android$internal$telephony$IccCardApplication$AppState:[I -- -- sget-object v1, Lcom/android/internal/telephony/IccCardApplication$AppState;->APPSTATE_PUK:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- invoke-virtual {v1}, Lcom/android/internal/telephony/IccCardApplication$AppState;->ordinal()I -- -- move-result v1 -- -- const/4 v2, 0x2 -- -- aput v2, v0, v1 -- :try_end_1f -- .catch Ljava/lang/NoSuchFieldError; {:try_start_14 .. :try_end_1f} :catch_5d -- -- :goto_1f -- :try_start_1f -- sget-object v0, Lcom/android/internal/telephony/SemcRIL$1;->$SwitchMap$com$android$internal$telephony$IccCardApplication$AppState:[I -- -- sget-object v1, Lcom/android/internal/telephony/IccCardApplication$AppState;->APPSTATE_READY:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- invoke-virtual {v1}, Lcom/android/internal/telephony/IccCardApplication$AppState;->ordinal()I -- -- move-result v1 -- -- const/4 v2, 0x3 -- -- aput v2, v0, v1 -- :try_end_2a -- .catch Ljava/lang/NoSuchFieldError; {:try_start_1f .. :try_end_2a} :catch_5b -- -- :goto_2a -- invoke-static {}, Lcom/android/internal/telephony/IccCardApplication$AppType;->values()[Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- move-result-object v0 -- -- array-length v0, v0 -- -- new-array v0, v0, [I -- -- sput-object v0, Lcom/android/internal/telephony/SemcRIL$1;->$SwitchMap$com$android$internal$telephony$IccCardApplication$AppType:[I -- -- :try_start_33 -- sget-object v0, Lcom/android/internal/telephony/SemcRIL$1;->$SwitchMap$com$android$internal$telephony$IccCardApplication$AppType:[I -- -- sget-object v1, Lcom/android/internal/telephony/IccCardApplication$AppType;->APPTYPE_SIM:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- invoke-virtual {v1}, Lcom/android/internal/telephony/IccCardApplication$AppType;->ordinal()I -- -- move-result v1 -- -- const/4 v2, 0x1 -- -- aput v2, v0, v1 -- :try_end_3e -- .catch Ljava/lang/NoSuchFieldError; {:try_start_33 .. :try_end_3e} :catch_59 -- -- :goto_3e -- :try_start_3e -- sget-object v0, Lcom/android/internal/telephony/SemcRIL$1;->$SwitchMap$com$android$internal$telephony$IccCardApplication$AppType:[I -- -- sget-object v1, Lcom/android/internal/telephony/IccCardApplication$AppType;->APPTYPE_USIM:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- invoke-virtual {v1}, Lcom/android/internal/telephony/IccCardApplication$AppType;->ordinal()I -- -- move-result v1 -- -- const/4 v2, 0x2 -- -- aput v2, v0, v1 -- :try_end_49 -- .catch Ljava/lang/NoSuchFieldError; {:try_start_3e .. :try_end_49} :catch_57 -- -- :goto_49 -- :try_start_49 -- sget-object v0, Lcom/android/internal/telephony/SemcRIL$1;->$SwitchMap$com$android$internal$telephony$IccCardApplication$AppType:[I -- -- sget-object v1, Lcom/android/internal/telephony/IccCardApplication$AppType;->APPTYPE_RUIM:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- invoke-virtual {v1}, Lcom/android/internal/telephony/IccCardApplication$AppType;->ordinal()I -- -- move-result v1 -- -- const/4 v2, 0x3 -- -- aput v2, v0, v1 -- :try_end_54 -- .catch Ljava/lang/NoSuchFieldError; {:try_start_49 .. :try_end_54} :catch_55 -- -- :goto_54 -- return-void -- -- :catch_55 -- move-exception v0 -- -- goto :goto_54 -- -- :catch_57 -- move-exception v0 -- -- goto :goto_49 -- -- :catch_59 -- move-exception v0 -- -- goto :goto_3e -- -- :catch_5b -- move-exception v0 -- -- goto :goto_2a -- -- :catch_5d -- move-exception v0 -- -- goto :goto_1f -- -- :catch_5f -- move-exception v0 -- -- goto :goto_14 --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/SemcRIL$IccHandler.smali pdroid-framework/smali/com/android/internal/telephony/SemcRIL$IccHandler.smali ---- stock-framework/smali/com/android/internal/telephony/SemcRIL$IccHandler.smali 2012-10-12 12:25:02.392678792 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/SemcRIL$IccHandler.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,430 +0,0 @@ --.class Lcom/android/internal/telephony/SemcRIL$IccHandler; --.super Landroid/os/Handler; --.source "SemcRIL.java" -- --# interfaces --.implements Ljava/lang/Runnable; -- -- --# annotations --.annotation system Ldalvik/annotation/EnclosingClass; -- value = Lcom/android/internal/telephony/SemcRIL; --.end annotation -- --.annotation system Ldalvik/annotation/InnerClass; -- accessFlags = 0x0 -- name = "IccHandler" --.end annotation -- -- --# static fields --.field private static final EVENT_GET_ICC_STATUS_DONE:I = 0x3 -- --.field private static final EVENT_ICC_STATUS_CHANGED:I = 0x2 -- --.field private static final EVENT_RADIO_OFF_OR_UNAVAILABLE:I = 0x4 -- --.field private static final EVENT_RADIO_ON:I = 0x1 -- -- --# instance fields --.field private mRadioOn:Z -- --.field private mRil:Lcom/android/internal/telephony/RIL; -- --.field final synthetic this$0:Lcom/android/internal/telephony/SemcRIL; -- -- --# direct methods --.method public constructor (Lcom/android/internal/telephony/SemcRIL;Lcom/android/internal/telephony/RIL;Landroid/os/Looper;)V -- .registers 5 -- -- iput-object p1, p0, Lcom/android/internal/telephony/SemcRIL$IccHandler;->this$0:Lcom/android/internal/telephony/SemcRIL; -- -- invoke-direct {p0, p3}, Landroid/os/Handler;->(Landroid/os/Looper;)V -- -- const/4 v0, 0x0 -- -- iput-boolean v0, p0, Lcom/android/internal/telephony/SemcRIL$IccHandler;->mRadioOn:Z -- -- iput-object p2, p0, Lcom/android/internal/telephony/SemcRIL$IccHandler;->mRil:Lcom/android/internal/telephony/RIL; -- -- return-void --.end method -- -- --# virtual methods --.method public handleMessage(Landroid/os/Message;)V -- .registers 11 -- -- const/4 v8, 0x2 -- -- iget v6, p1, Landroid/os/Message;->what:I -- -- packed-switch v6, :pswitch_data_13a -- -- :goto_6 -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, " Unknown Event " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- iget v8, p1, Landroid/os/Message;->what:I -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -- -- :cond_20 -- :goto_20 -- return-void -- -- :pswitch_21 -- const/4 v6, 0x1 -- -- iput-boolean v6, p0, Lcom/android/internal/telephony/SemcRIL$IccHandler;->mRadioOn:Z -- -- const-string v6, "RILJ" -- -- const-string v7, "Radio on -> Forcing sim status update" -- -- invoke-static {v6, v7}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- invoke-virtual {p0, v8}, Lcom/android/internal/telephony/SemcRIL$IccHandler;->obtainMessage(I)Landroid/os/Message; -- -- move-result-object v6 -- -- invoke-virtual {p0, v6}, Lcom/android/internal/telephony/SemcRIL$IccHandler;->sendMessage(Landroid/os/Message;)Z -- -- goto :goto_20 -- -- :pswitch_33 -- iget-object v4, p1, Landroid/os/Message;->obj:Ljava/lang/Object; -- -- check-cast v4, Landroid/os/AsyncResult; -- -- iget-object v6, v4, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable; -- -- if-eqz v6, :cond_45 -- -- const-string v6, "RILJ" -- -- const-string v7, "IccCardStatusDone shouldn\'t return exceptions!" -- -- iget-object v8, v4, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable; -- -- invoke-static {v6, v7, v8}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -- -- goto :goto_20 -- -- :cond_45 -- iget-object v5, v4, Landroid/os/AsyncResult;->result:Ljava/lang/Object; -- -- check-cast v5, Lcom/android/internal/telephony/IccCardStatus; -- -- invoke-virtual {v5}, Lcom/android/internal/telephony/IccCardStatus;->getNumApplications()I -- -- move-result v6 -- -- if-nez v6, :cond_63 -- -- iget-object v6, p0, Lcom/android/internal/telephony/SemcRIL$IccHandler;->mRil:Lcom/android/internal/telephony/RIL; -- -- invoke-virtual {v6}, Lcom/android/internal/telephony/RIL;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState; -- -- move-result-object v6 -- -- invoke-virtual {v6}, Lcom/android/internal/telephony/CommandsInterface$RadioState;->isOn()Z -- -- move-result v6 -- -- if-eqz v6, :cond_20 -- -- iget-object v6, p0, Lcom/android/internal/telephony/SemcRIL$IccHandler;->mRil:Lcom/android/internal/telephony/RIL; -- -- sget-object v7, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_ON:Lcom/android/internal/telephony/CommandsInterface$RadioState; -- -- invoke-virtual {v6, v7}, Lcom/android/internal/telephony/RIL;->setRadioState(Lcom/android/internal/telephony/CommandsInterface$RadioState;)V -- -- goto :goto_20 -- -- :cond_63 -- const/4 v0, -0x1 -- -- iget-object v6, p0, Lcom/android/internal/telephony/SemcRIL$IccHandler;->this$0:Lcom/android/internal/telephony/SemcRIL; -- -- iget v6, v6, Lcom/android/internal/telephony/SemcRIL;->mPhoneType:I -- -- if-ne v6, v8, :cond_bf -- -- invoke-virtual {v5}, Lcom/android/internal/telephony/IccCardStatus;->getCdmaSubscriptionAppIndex()I -- -- move-result v0 -- -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, "This is a CDMA PHONE " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :goto_86 -- invoke-virtual {v5, v0}, Lcom/android/internal/telephony/IccCardStatus;->getApplication(I)Lcom/android/internal/telephony/IccCardApplication; -- -- move-result-object v3 -- -- iget-object v1, v3, Lcom/android/internal/telephony/IccCardApplication;->app_state:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- iget-object v2, v3, Lcom/android/internal/telephony/IccCardApplication;->app_type:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- sget-object v6, Lcom/android/internal/telephony/SemcRIL$1;->$SwitchMap$com$android$internal$telephony$IccCardApplication$AppState:[I -- -- invoke-virtual {v1}, Lcom/android/internal/telephony/IccCardApplication$AppState;->ordinal()I -- -- move-result v7 -- -- aget v6, v6, v7 -- -- packed-switch v6, :pswitch_data_146 -- -- goto :goto_20 -- -- :pswitch_9a -- sget-object v6, Lcom/android/internal/telephony/SemcRIL$1;->$SwitchMap$com$android$internal$telephony$IccCardApplication$AppType:[I -- -- invoke-virtual {v2}, Lcom/android/internal/telephony/IccCardApplication$AppType;->ordinal()I -- -- move-result v7 -- -- aget v6, v6, v7 -- -- packed-switch v6, :pswitch_data_150 -- -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, "Currently we don\'t handle SIMs of type: " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -- -- goto/16 :goto_20 -- -- :cond_bf -- invoke-virtual {v5}, Lcom/android/internal/telephony/IccCardStatus;->getGsmUmtsSubscriptionAppIndex()I -- -- move-result v0 -- -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, "This is a GSM PHONE " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- goto :goto_86 -- -- :pswitch_dc -- iget-object v6, p0, Lcom/android/internal/telephony/SemcRIL$IccHandler;->mRil:Lcom/android/internal/telephony/RIL; -- -- sget-object v7, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_ON:Lcom/android/internal/telephony/CommandsInterface$RadioState; -- -- invoke-virtual {v6, v7}, Lcom/android/internal/telephony/RIL;->setRadioState(Lcom/android/internal/telephony/CommandsInterface$RadioState;)V -- -- goto/16 :goto_20 -- -- :pswitch_e5 -- sget-object v6, Lcom/android/internal/telephony/SemcRIL$1;->$SwitchMap$com$android$internal$telephony$IccCardApplication$AppType:[I -- -- invoke-virtual {v2}, Lcom/android/internal/telephony/IccCardApplication$AppType;->ordinal()I -- -- move-result v7 -- -- aget v6, v6, v7 -- -- packed-switch v6, :pswitch_data_15a -- -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, "Currently we don\'t handle SIMs of type: " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -- -- goto/16 :goto_20 -- -- :pswitch_10a -- iget-object v6, p0, Lcom/android/internal/telephony/SemcRIL$IccHandler;->mRil:Lcom/android/internal/telephony/RIL; -- -- sget-object v7, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_ON:Lcom/android/internal/telephony/CommandsInterface$RadioState; -- -- invoke-virtual {v6, v7}, Lcom/android/internal/telephony/RIL;->setRadioState(Lcom/android/internal/telephony/CommandsInterface$RadioState;)V -- -- goto/16 :goto_20 -- -- :pswitch_113 -- iget-boolean v6, p0, Lcom/android/internal/telephony/SemcRIL$IccHandler;->mRadioOn:Z -- -- if-eqz v6, :cond_12c -- -- const-string v6, "RILJ" -- -- const-string v7, "Received EVENT_ICC_STATUS_CHANGED, calling getIccCardStatus" -- -- invoke-static {v6, v7}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- iget-object v6, p0, Lcom/android/internal/telephony/SemcRIL$IccHandler;->mRil:Lcom/android/internal/telephony/RIL; -- -- const/4 v7, 0x3 -- -- iget-object v8, p1, Landroid/os/Message;->obj:Ljava/lang/Object; -- -- invoke-virtual {p0, v7, v8}, Lcom/android/internal/telephony/SemcRIL$IccHandler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; -- -- move-result-object v7 -- -- invoke-virtual {v6, v7}, Lcom/android/internal/telephony/RIL;->getIccCardStatus(Landroid/os/Message;)V -- -- goto/16 :goto_20 -- -- :cond_12c -- const-string v6, "RILJ" -- -- const-string v7, "Received EVENT_ICC_STATUS_CHANGED while radio is not ON. Ignoring" -- -- invoke-static {v6, v7}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- goto/16 :goto_20 -- -- :pswitch_135 -- const/4 v6, 0x0 -- -- iput-boolean v6, p0, Lcom/android/internal/telephony/SemcRIL$IccHandler;->mRadioOn:Z -- -- goto/16 :goto_6 -- -- :pswitch_data_13a -- .packed-switch 0x1 -- :pswitch_21 -- :pswitch_113 -- :pswitch_33 -- :pswitch_135 -- .end packed-switch -- -- :pswitch_data_146 -- .packed-switch 0x1 -- :pswitch_9a -- :pswitch_9a -- :pswitch_e5 -- .end packed-switch -- -- :pswitch_data_150 -- .packed-switch 0x1 -- :pswitch_dc -- :pswitch_dc -- :pswitch_dc -- .end packed-switch -- -- :pswitch_data_15a -- .packed-switch 0x1 -- :pswitch_10a -- :pswitch_10a -- :pswitch_10a -- .end packed-switch --.end method -- --.method public run()V -- .registers 5 -- -- iget-object v1, p0, Lcom/android/internal/telephony/SemcRIL$IccHandler;->mRil:Lcom/android/internal/telephony/RIL; -- -- const/4 v2, 0x2 -- -- const/4 v3, 0x0 -- -- invoke-virtual {v1, p0, v2, v3}, Lcom/android/internal/telephony/RIL;->registerForIccStatusChanged(Landroid/os/Handler;ILjava/lang/Object;)V -- -- const/4 v1, 0x1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/SemcRIL$IccHandler;->obtainMessage(I)Landroid/os/Message; -- -- move-result-object v0 -- -- iget-object v1, p0, Lcom/android/internal/telephony/SemcRIL$IccHandler;->mRil:Lcom/android/internal/telephony/RIL; -- -- invoke-virtual {v1, v0}, Lcom/android/internal/telephony/RIL;->getIccCardStatus(Landroid/os/Message;)V -- -- return-void --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/SemcRIL.smali pdroid-framework/smali/com/android/internal/telephony/SemcRIL.smali ---- stock-framework/smali/com/android/internal/telephony/SemcRIL.smali 2012-10-12 12:25:02.392678792 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/SemcRIL.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,989 +0,0 @@ --.class public Lcom/android/internal/telephony/SemcRIL; --.super Lcom/android/internal/telephony/RIL; --.source "SemcRIL.java" -- --# interfaces --.implements Lcom/android/internal/telephony/CommandsInterface; -- -- --# annotations --.annotation system Ldalvik/annotation/MemberClasses; -- value = { -- Lcom/android/internal/telephony/SemcRIL$1;, -- Lcom/android/internal/telephony/SemcRIL$IccHandler; -- } --.end annotation -- -- --# instance fields --.field RILJ_LOGD:Z -- --.field RILJ_LOGV:Z -- --.field private final RIL_INT_RADIO_OFF:I -- --.field private final RIL_INT_RADIO_ON:I -- --.field private final RIL_INT_RADIO_UNAVALIABLE:I -- --.field protected mAid:Ljava/lang/String; -- --.field protected mIccHandler:Lcom/android/internal/telephony/SemcRIL$IccHandler; -- --.field protected mIccThread:Landroid/os/HandlerThread; -- -- --# direct methods --.method public constructor (Landroid/content/Context;II)V -- .registers 6 -- -- const/4 v1, 0x1 -- -- invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/RIL;->(Landroid/content/Context;II)V -- -- const-string v0, "" -- -- iput-object v0, p0, Lcom/android/internal/telephony/SemcRIL;->mAid:Ljava/lang/String; -- -- iput-boolean v1, p0, Lcom/android/internal/telephony/SemcRIL;->RILJ_LOGV:Z -- -- iput-boolean v1, p0, Lcom/android/internal/telephony/SemcRIL;->RILJ_LOGD:Z -- -- const/4 v0, 0x0 -- -- iput v0, p0, Lcom/android/internal/telephony/SemcRIL;->RIL_INT_RADIO_OFF:I -- -- iput v1, p0, Lcom/android/internal/telephony/SemcRIL;->RIL_INT_RADIO_UNAVALIABLE:I -- -- const/4 v0, 0x2 -- -- iput v0, p0, Lcom/android/internal/telephony/SemcRIL;->RIL_INT_RADIO_ON:I -- -- const/4 v0, 0x5 -- -- iput v0, p0, Lcom/android/internal/telephony/SemcRIL;->mQANElements:I -- -- return-void --.end method -- --.method private setRadioStateFromRILInt(I)V -- .registers 8 -- -- const/4 v4, 0x0 -- -- packed-switch p1, :pswitch_data_56 -- -- new-instance v3, Ljava/lang/RuntimeException; -- -- new-instance v4, Ljava/lang/StringBuilder; -- -- invoke-direct {v4}, Ljava/lang/StringBuilder;->()V -- -- const-string v5, "Unrecognized RIL_RadioState: " -- -- invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v4 -- -- invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v4 -- -- invoke-direct {v3, v4}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V -- -- throw v3 -- -- :pswitch_1d -- sget-object v2, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_OFF:Lcom/android/internal/telephony/CommandsInterface$RadioState; -- -- iget-object v3, p0, Lcom/android/internal/telephony/SemcRIL;->mIccHandler:Lcom/android/internal/telephony/SemcRIL$IccHandler; -- -- if-eqz v3, :cond_27 -- -- iput-object v4, p0, Lcom/android/internal/telephony/SemcRIL;->mIccThread:Landroid/os/HandlerThread; -- -- iput-object v4, p0, Lcom/android/internal/telephony/SemcRIL;->mIccHandler:Lcom/android/internal/telephony/SemcRIL$IccHandler; -- -- :cond_27 -- :goto_27 -- invoke-virtual {p0, v2}, Lcom/android/internal/telephony/SemcRIL;->setRadioState(Lcom/android/internal/telephony/CommandsInterface$RadioState;)V -- -- return-void -- -- :pswitch_2b -- sget-object v2, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_UNAVAILABLE:Lcom/android/internal/telephony/CommandsInterface$RadioState; -- -- goto :goto_27 -- -- :pswitch_2e -- iget-object v3, p0, Lcom/android/internal/telephony/SemcRIL;->mIccHandler:Lcom/android/internal/telephony/SemcRIL$IccHandler; -- -- if-nez v3, :cond_52 -- -- new-instance v0, Landroid/os/HandlerThread; -- -- const-string v3, "IccHandler" -- -- invoke-direct {v0, v3}, Landroid/os/HandlerThread;->(Ljava/lang/String;)V -- -- iput-object v0, p0, Lcom/android/internal/telephony/SemcRIL;->mIccThread:Landroid/os/HandlerThread; -- -- iget-object v3, p0, Lcom/android/internal/telephony/SemcRIL;->mIccThread:Landroid/os/HandlerThread; -- -- invoke-virtual {v3}, Landroid/os/HandlerThread;->start()V -- -- iget-object v3, p0, Lcom/android/internal/telephony/SemcRIL;->mIccThread:Landroid/os/HandlerThread; -- -- invoke-virtual {v3}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper; -- -- move-result-object v1 -- -- new-instance v3, Lcom/android/internal/telephony/SemcRIL$IccHandler; -- -- invoke-direct {v3, p0, p0, v1}, Lcom/android/internal/telephony/SemcRIL$IccHandler;->(Lcom/android/internal/telephony/SemcRIL;Lcom/android/internal/telephony/RIL;Landroid/os/Looper;)V -- -- iput-object v3, p0, Lcom/android/internal/telephony/SemcRIL;->mIccHandler:Lcom/android/internal/telephony/SemcRIL$IccHandler; -- -- iget-object v3, p0, Lcom/android/internal/telephony/SemcRIL;->mIccHandler:Lcom/android/internal/telephony/SemcRIL$IccHandler; -- -- invoke-virtual {v3}, Lcom/android/internal/telephony/SemcRIL$IccHandler;->run()V -- -- :cond_52 -- sget-object v2, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_ON:Lcom/android/internal/telephony/CommandsInterface$RadioState; -- -- goto :goto_27 -- -- nop -- -- :pswitch_data_56 -- .packed-switch 0x0 -- :pswitch_1d -- :pswitch_2b -- :pswitch_2e -- .end packed-switch --.end method -- --.method private updateIccType(Lcom/android/internal/telephony/IccCardStatus;)V -- .registers 7 -- -- invoke-virtual {p1}, Lcom/android/internal/telephony/IccCardStatus;->getNumApplications()I -- -- move-result v2 -- -- if-lez v2, :cond_31 -- -- iget v2, p0, Lcom/android/internal/telephony/SemcRIL;->mPhoneType:I -- -- const/4 v3, 0x2 -- -- if-ne v2, v3, :cond_32 -- -- invoke-virtual {p1}, Lcom/android/internal/telephony/IccCardStatus;->getCdmaSubscriptionAppIndex()I -- -- move-result v0 -- -- :goto_f -- invoke-virtual {p1, v0}, Lcom/android/internal/telephony/IccCardStatus;->getApplication(I)Lcom/android/internal/telephony/IccCardApplication; -- -- move-result-object v1 -- -- iget-object v2, v1, Lcom/android/internal/telephony/IccCardApplication;->aid:Ljava/lang/String; -- -- iput-object v2, p0, Lcom/android/internal/telephony/SemcRIL;->mAid:Ljava/lang/String; -- -- const-string v2, "RILJ" -- -- new-instance v3, Ljava/lang/StringBuilder; -- -- invoke-direct {v3}, Ljava/lang/StringBuilder;->()V -- -- const-string v4, "Picked default AID: " -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- iget-object v4, p0, Lcom/android/internal/telephony/SemcRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v3 -- -- invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :cond_31 -- return-void -- -- :cond_32 -- invoke-virtual {p1}, Lcom/android/internal/telephony/IccCardStatus;->getGsmUmtsSubscriptionAppIndex()I -- -- move-result v0 -- -- goto :goto_f --.end method -- -- --# virtual methods --.method public changeIccPin(Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- .registers 5 -- -- iget-object v0, p0, Lcom/android/internal/telephony/SemcRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {p0, p1, p2, v0, p3}, Lcom/android/internal/telephony/SemcRIL;->changeIccPinForApp(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- -- return-void --.end method -- --.method public changeIccPin2(Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- .registers 5 -- -- iget-object v0, p0, Lcom/android/internal/telephony/SemcRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {p0, p1, p2, v0, p3}, Lcom/android/internal/telephony/SemcRIL;->changeIccPin2ForApp(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- -- return-void --.end method -- --.method public dial(Ljava/lang/String;ILcom/android/internal/telephony/UUSInfo;Landroid/os/Message;)V -- .registers 8 -- -- const/4 v2, 0x0 -- -- const/16 v1, 0xa -- -- invoke-static {v1, p4}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- if-nez p3, :cond_50 -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- :goto_1d -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const/16 v2, 0xff -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/SemcRIL;->RILJ_LOGD:Z -- -- if-eqz v1, :cond_4c -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/SemcRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/SemcRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_4c -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/SemcRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void -- -- :cond_50 -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const/4 v2, 0x1 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {p3}, Lcom/android/internal/telephony/UUSInfo;->getType()I -- -- move-result v2 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {p3}, Lcom/android/internal/telephony/UUSInfo;->getDcs()I -- -- move-result v2 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {p3}, Lcom/android/internal/telephony/UUSInfo;->getUserData()[B -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeByteArray([B)V -- -- goto :goto_1d --.end method -- --.method protected getDataCallState(Landroid/os/Parcel;I)Lcom/android/internal/telephony/DataCallState; -- .registers 9 -- -- new-instance v1, Lcom/android/internal/telephony/DataCallState; -- -- invoke-direct {v1}, Lcom/android/internal/telephony/DataCallState;->()V -- -- iput p2, v1, Lcom/android/internal/telephony/DataCallState;->version:I -- -- const/4 v4, 0x5 -- -- if-ge p2, v4, :cond_34 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- iput v4, v1, Lcom/android/internal/telephony/DataCallState;->cid:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- iput v4, v1, Lcom/android/internal/telephony/DataCallState;->active:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v4 -- -- iput-object v4, v1, Lcom/android/internal/telephony/DataCallState;->type:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v0 -- -- invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v4 -- -- if-nez v4, :cond_2e -- -- const-string v4, " " -- -- invoke-virtual {v0, v4}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; -- -- move-result-object v4 -- -- iput-object v4, v1, Lcom/android/internal/telephony/DataCallState;->addresses:[Ljava/lang/String; -- -- :cond_2e -- const-string/jumbo v4, "rmnet0" -- -- iput-object v4, v1, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- :cond_33 -- :goto_33 -- return-object v1 -- -- :cond_34 -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- iput v4, v1, Lcom/android/internal/telephony/DataCallState;->status:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- iput v4, v1, Lcom/android/internal/telephony/DataCallState;->suggestedRetryTime:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- iput v4, v1, Lcom/android/internal/telephony/DataCallState;->cid:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- iput v4, v1, Lcom/android/internal/telephony/DataCallState;->active:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v4 -- -- iput-object v4, v1, Lcom/android/internal/telephony/DataCallState;->type:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v4 -- -- iput-object v4, v1, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- iget v4, v1, Lcom/android/internal/telephony/DataCallState;->status:I -- -- sget-object v5, Lcom/android/internal/telephony/DataConnection$FailCause;->NONE:Lcom/android/internal/telephony/DataConnection$FailCause; -- -- invoke-virtual {v5}, Lcom/android/internal/telephony/DataConnection$FailCause;->getErrorCode()I -- -- move-result v5 -- -- if-ne v4, v5, :cond_72 -- -- iget-object v4, v1, Lcom/android/internal/telephony/DataCallState;->ifname:Ljava/lang/String; -- -- invoke-static {v4}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v4 -- -- if-eqz v4, :cond_72 -- -- new-instance v4, Ljava/lang/RuntimeException; -- -- const-string v5, "getDataCallState, no ifname" -- -- invoke-direct {v4, v5}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V -- -- throw v4 -- -- :cond_72 -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v0 -- -- invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v4 -- -- if-nez v4, :cond_84 -- -- const-string v4, " " -- -- invoke-virtual {v0, v4}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; -- -- move-result-object v4 -- -- iput-object v4, v1, Lcom/android/internal/telephony/DataCallState;->addresses:[Ljava/lang/String; -- -- :cond_84 -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-static {v2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v4 -- -- if-nez v4, :cond_96 -- -- const-string v4, " " -- -- invoke-virtual {v2, v4}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; -- -- move-result-object v4 -- -- iput-object v4, v1, Lcom/android/internal/telephony/DataCallState;->dnses:[Ljava/lang/String; -- -- :cond_96 -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v3 -- -- invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v4 -- -- if-nez v4, :cond_33 -- -- const-string v4, " " -- -- invoke-virtual {v3, v4}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; -- -- move-result-object v4 -- -- iput-object v4, v1, Lcom/android/internal/telephony/DataCallState;->gateways:[Ljava/lang/String; -- -- goto :goto_33 --.end method -- --.method public getIMSI(Landroid/os/Message;)V -- .registers 3 -- -- iget-object v0, p0, Lcom/android/internal/telephony/SemcRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {p0, v0, p1}, Lcom/android/internal/telephony/SemcRIL;->getIMSIForApp(Ljava/lang/String;Landroid/os/Message;)V -- -- return-void --.end method -- --.method public getIMSIForApp(Ljava/lang/String;Landroid/os/Message;)V -- .registers 6 -- -- const/16 v1, 0xb -- -- invoke-static {v1, p2}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/SemcRIL;->RILJ_LOGD:Z -- -- if-eqz v1, :cond_3d -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> getIMSI: " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/SemcRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " aid: " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/SemcRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_3d -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/SemcRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void --.end method -- --.method public iccIO(IILjava/lang/String;IIILjava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- .registers 21 -- -- iget-object v9, p0, Lcom/android/internal/telephony/SemcRIL;->mAid:Ljava/lang/String; -- -- move-object v0, p0 -- -- move v1, p1 -- -- move v2, p2 -- -- move-object v3, p3 -- -- move v4, p4 -- -- move/from16 v5, p5 -- -- move/from16 v6, p6 -- -- move-object/from16 v7, p7 -- -- move-object/from16 v8, p8 -- -- move-object/from16 v10, p9 -- -- invoke-virtual/range {v0 .. v10}, Lcom/android/internal/telephony/SemcRIL;->iccIOForApp(IILjava/lang/String;IIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- -- return-void --.end method -- --.method protected processUnsolicited(Landroid/os/Parcel;)V -- .registers 6 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->dataPosition()I -- -- move-result v0 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v1 -- -- sparse-switch v1, :sswitch_data_28 -- -- invoke-virtual {p1, v0}, Landroid/os/Parcel;->setDataPosition(I)V -- -- invoke-super {p0, p1}, Lcom/android/internal/telephony/RIL;->processUnsolicited(Landroid/os/Parcel;)V -- -- :goto_11 -- return-void -- -- :sswitch_12 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SemcRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- :goto_16 -- packed-switch v1, :pswitch_data_32 -- -- goto :goto_11 -- -- :pswitch_1a -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v3 -- -- invoke-direct {p0, v3}, Lcom/android/internal/telephony/SemcRIL;->setRadioStateFromRILInt(I)V -- -- goto :goto_11 -- -- :sswitch_22 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/SemcRIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_16 -- -- nop -- -- :sswitch_data_28 -- .sparse-switch -- 0x3e8 -> :sswitch_12 -- 0x40c -> :sswitch_22 -- .end sparse-switch -- -- :pswitch_data_32 -- .packed-switch 0x3e8 -- :pswitch_1a -- .end packed-switch --.end method -- --.method public queryFacilityLock(Ljava/lang/String;Ljava/lang/String;ILandroid/os/Message;)V -- .registers 11 -- -- iget-object v4, p0, Lcom/android/internal/telephony/SemcRIL;->mAid:Ljava/lang/String; -- -- move-object v0, p0 -- -- move-object v1, p1 -- -- move-object v2, p2 -- -- move v3, p3 -- -- move-object v5, p4 -- -- invoke-virtual/range {v0 .. v5}, Lcom/android/internal/telephony/SemcRIL;->queryFacilityLockForApp(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Landroid/os/Message;)V -- -- return-void --.end method -- --.method protected responseIccCardStatus(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 7 -- -- new-instance v3, Lcom/android/internal/telephony/IccCardStatus; -- -- invoke-direct {v3}, Lcom/android/internal/telephony/IccCardStatus;->()V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v3, v4}, Lcom/android/internal/telephony/IccCardStatus;->setCardState(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v3, v4}, Lcom/android/internal/telephony/IccCardStatus;->setUniversalPinState(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v3, v4}, Lcom/android/internal/telephony/IccCardStatus;->setGsmUmtsSubscriptionAppIndex(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v3, v4}, Lcom/android/internal/telephony/IccCardStatus;->setCdmaSubscriptionAppIndex(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v3, v4}, Lcom/android/internal/telephony/IccCardStatus;->setImsSubscriptionAppIndex(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v2 -- -- const/16 v4, 0x8 -- -- if-le v2, v4, :cond_32 -- -- const/16 v2, 0x8 -- -- :cond_32 -- invoke-virtual {v3, v2}, Lcom/android/internal/telephony/IccCardStatus;->setNumApplications(I)V -- -- const/4 v1, 0x0 -- -- :goto_36 -- if-ge v1, v2, :cond_87 -- -- new-instance v0, Lcom/android/internal/telephony/IccCardApplication; -- -- invoke-direct {v0}, Lcom/android/internal/telephony/IccCardApplication;->()V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v0, v4}, Lcom/android/internal/telephony/IccCardApplication;->AppTypeFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- move-result-object v4 -- -- iput-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->app_type:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v0, v4}, Lcom/android/internal/telephony/IccCardApplication;->AppStateFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- move-result-object v4 -- -- iput-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->app_state:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v0, v4}, Lcom/android/internal/telephony/IccCardApplication;->PersoSubstateFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- move-result-object v4 -- -- iput-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->perso_substate:Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v4 -- -- iput-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->aid:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v4 -- -- iput-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->app_label:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- iput v4, v0, Lcom/android/internal/telephony/IccCardApplication;->pin1_replaced:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v0, v4}, Lcom/android/internal/telephony/IccCardApplication;->PinStateFromRILInt(I)Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- move-result-object v4 -- -- iput-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->pin1:Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v0, v4}, Lcom/android/internal/telephony/IccCardApplication;->PinStateFromRILInt(I)Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- move-result-object v4 -- -- iput-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->pin2:Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- invoke-virtual {v3, v0}, Lcom/android/internal/telephony/IccCardStatus;->addApplication(Lcom/android/internal/telephony/IccCardApplication;)V -- -- add-int/lit8 v1, v1, 0x1 -- -- goto :goto_36 -- -- :cond_87 -- invoke-direct {p0, v3}, Lcom/android/internal/telephony/SemcRIL;->updateIccType(Lcom/android/internal/telephony/IccCardStatus;)V -- -- return-object v3 --.end method -- --.method public setFacilityLock(Ljava/lang/String;ZLjava/lang/String;ILandroid/os/Message;)V -- .registers 13 -- -- iget-object v5, p0, Lcom/android/internal/telephony/SemcRIL;->mAid:Ljava/lang/String; -- -- move-object v0, p0 -- -- move-object v1, p1 -- -- move v2, p2 -- -- move-object v3, p3 -- -- move v4, p4 -- -- move-object v6, p5 -- -- invoke-virtual/range {v0 .. v6}, Lcom/android/internal/telephony/SemcRIL;->setFacilityLockForApp(Ljava/lang/String;ZLjava/lang/String;ILjava/lang/String;Landroid/os/Message;)V -- -- return-void --.end method -- --.method public setNetworkSelectionMode(Ljava/lang/String;Landroid/os/Message;)V -- .registers 6 -- -- if-nez p1, :cond_17 -- -- const/16 v1, 0x2e -- -- invoke-static {v1, p2}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- :goto_8 -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const/4 v2, -0x1 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/SemcRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void -- -- :cond_17 -- const/16 v1, 0x2f -- -- invoke-static {v1, p2}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- goto :goto_8 --.end method -- --.method public setNetworkSelectionModeAutomatic(Landroid/os/Message;)V -- .registers 3 -- -- const/4 v0, 0x0 -- -- invoke-virtual {p0, v0, p1}, Lcom/android/internal/telephony/SemcRIL;->setNetworkSelectionMode(Ljava/lang/String;Landroid/os/Message;)V -- -- return-void --.end method -- --.method public setNetworkSelectionModeManual(Ljava/lang/String;Landroid/os/Message;)V -- .registers 3 -- -- invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/SemcRIL;->setNetworkSelectionMode(Ljava/lang/String;Landroid/os/Message;)V -- -- return-void --.end method -- --.method public supplyIccPin(Ljava/lang/String;Landroid/os/Message;)V -- .registers 4 -- -- iget-object v0, p0, Lcom/android/internal/telephony/SemcRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {p0, p1, v0, p2}, Lcom/android/internal/telephony/SemcRIL;->supplyIccPinForApp(Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- -- return-void --.end method -- --.method public supplyIccPin2(Ljava/lang/String;Landroid/os/Message;)V -- .registers 4 -- -- iget-object v0, p0, Lcom/android/internal/telephony/SemcRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {p0, p1, v0, p2}, Lcom/android/internal/telephony/SemcRIL;->supplyIccPin2ForApp(Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- -- return-void --.end method -- --.method public supplyIccPuk(Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- .registers 5 -- -- iget-object v0, p0, Lcom/android/internal/telephony/SemcRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {p0, p1, p2, v0, p3}, Lcom/android/internal/telephony/SemcRIL;->supplyIccPukForApp(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- -- return-void --.end method -- --.method public supplyIccPuk2(Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- .registers 5 -- -- iget-object v0, p0, Lcom/android/internal/telephony/SemcRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {p0, p1, p2, v0, p3}, Lcom/android/internal/telephony/SemcRIL;->supplyIccPuk2ForApp(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V -- -- return-void --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/Smdk4210RIL$1.smali pdroid-framework/smali/com/android/internal/telephony/Smdk4210RIL$1.smali ---- stock-framework/smali/com/android/internal/telephony/Smdk4210RIL$1.smali 2012-10-12 12:25:02.412678896 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/Smdk4210RIL$1.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,14 +0,0 @@ --.class synthetic Lcom/android/internal/telephony/Smdk4210RIL$1; --.super Ljava/lang/Object; --.source "Smdk4210RIL.java" -- -- --# annotations --.annotation system Ldalvik/annotation/EnclosingClass; -- value = Lcom/android/internal/telephony/Smdk4210RIL; --.end annotation -- --.annotation system Ldalvik/annotation/InnerClass; -- accessFlags = 0x1008 -- name = null --.end annotation -diff -Npru stock-framework/smali/com/android/internal/telephony/Smdk4210RIL$ConnectivityHandler$ConnectivityBroadcastReceiver.smali pdroid-framework/smali/com/android/internal/telephony/Smdk4210RIL$ConnectivityHandler$ConnectivityBroadcastReceiver.smali ---- stock-framework/smali/com/android/internal/telephony/Smdk4210RIL$ConnectivityHandler$ConnectivityBroadcastReceiver.smali 2012-10-12 12:25:02.412678896 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/Smdk4210RIL$ConnectivityHandler$ConnectivityBroadcastReceiver.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,135 +0,0 @@ --.class Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler$ConnectivityBroadcastReceiver; --.super Landroid/content/BroadcastReceiver; --.source "Smdk4210RIL.java" -- -- --# annotations --.annotation system Ldalvik/annotation/EnclosingClass; -- value = Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler; --.end annotation -- --.annotation system Ldalvik/annotation/InnerClass; -- accessFlags = 0x2 -- name = "ConnectivityBroadcastReceiver" --.end annotation -- -- --# instance fields --.field final synthetic this$1:Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler; -- -- --# direct methods --.method private constructor (Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;)V -- .registers 2 -- -- iput-object p1, p0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->this$1:Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler; -- -- invoke-direct {p0}, Landroid/content/BroadcastReceiver;->()V -- -- return-void --.end method -- --.method synthetic constructor (Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;Lcom/android/internal/telephony/Smdk4210RIL$1;)V -- .registers 3 -- -- invoke-direct {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->(Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;)V -- -- return-void --.end method -- -- --# virtual methods --.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V -- .registers 9 -- -- invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String; -- -- move-result-object v0 -- -- const-string v2, "android.net.conn.CONNECTIVITY_CHANGE" -- -- invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z -- -- move-result v2 -- -- if-nez v2, :cond_26 -- -- const-string v2, "RILJ" -- -- new-instance v3, Ljava/lang/StringBuilder; -- -- invoke-direct {v3}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v4, "onReceived() called with " -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- invoke-virtual {v3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v3 -- -- invoke-static {v2, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I -- -- :cond_25 -- :goto_25 -- return-void -- -- :cond_26 -- const-string/jumbo v2, "noConnectivity" -- -- const/4 v3, 0x0 -- -- invoke-virtual {p2, v2, v3}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z -- -- move-result v1 -- -- if-eqz v1, :cond_25 -- -- const-string v2, "RILJ" -- -- const-string v3, "Mobile Dataconnection is now down setting preferred NetworkType" -- -- invoke-static {v2, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I -- -- iget-object v2, p0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->this$1:Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler; -- -- #calls: Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->stopListening()V -- invoke-static {v2}, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->access$100(Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;)V -- -- iget-object v2, p0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->this$1:Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler; -- -- iget-object v2, v2, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->this$0:Lcom/android/internal/telephony/Smdk4210RIL; -- -- iget-object v3, p0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->this$1:Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler; -- -- #getter for: Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->mDesiredNetworkType:I -- invoke-static {v3}, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->access$200(Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;)I -- -- move-result v3 -- -- iget-object v4, p0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->this$1:Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler; -- -- const/16 v5, 0x1e -- -- invoke-virtual {v4, v5}, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->obtainMessage(I)Landroid/os/Message; -- -- move-result-object v4 -- -- #calls: Lcom/android/internal/telephony/Smdk4210RIL;->sendPreferedNetworktype(ILandroid/os/Message;)V -- invoke-static {v2, v3, v4}, Lcom/android/internal/telephony/Smdk4210RIL;->access$300(Lcom/android/internal/telephony/Smdk4210RIL;ILandroid/os/Message;)V -- -- iget-object v2, p0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->this$1:Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler; -- -- const/4 v3, -0x1 -- -- #setter for: Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->mDesiredNetworkType:I -- invoke-static {v2, v3}, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->access$202(Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;I)I -- -- goto :goto_25 --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/Smdk4210RIL$ConnectivityHandler.smali pdroid-framework/smali/com/android/internal/telephony/Smdk4210RIL$ConnectivityHandler.smali ---- stock-framework/smali/com/android/internal/telephony/Smdk4210RIL$ConnectivityHandler.smali 2012-10-12 12:25:02.428678970 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/Smdk4210RIL$ConnectivityHandler.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,218 +0,0 @@ --.class Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler; --.super Landroid/os/Handler; --.source "Smdk4210RIL.java" -- -- --# annotations --.annotation system Ldalvik/annotation/EnclosingClass; -- value = Lcom/android/internal/telephony/Smdk4210RIL; --.end annotation -- --.annotation system Ldalvik/annotation/InnerClass; -- accessFlags = 0x2 -- name = "ConnectivityHandler" --.end annotation -- --.annotation system Ldalvik/annotation/MemberClasses; -- value = { -- Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler$ConnectivityBroadcastReceiver; -- } --.end annotation -- -- --# static fields --.field private static final MESSAGE_SET_PREFERRED_NETWORK_TYPE:I = 0x1e -- -- --# instance fields --.field private mConnectivityReceiver:Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler$ConnectivityBroadcastReceiver; -- --.field private mContext:Landroid/content/Context; -- --.field private mDesiredNetworkType:I -- --.field private mNetworktypeResponse:Landroid/os/Message; -- --.field final synthetic this$0:Lcom/android/internal/telephony/Smdk4210RIL; -- -- --# direct methods --.method public constructor (Lcom/android/internal/telephony/Smdk4210RIL;Landroid/content/Context;Landroid/os/Looper;)V -- .registers 6 -- -- iput-object p1, p0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->this$0:Lcom/android/internal/telephony/Smdk4210RIL; -- -- invoke-direct {p0, p3}, Landroid/os/Handler;->(Landroid/os/Looper;)V -- -- new-instance v0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler$ConnectivityBroadcastReceiver; -- -- const/4 v1, 0x0 -- -- invoke-direct {v0, p0, v1}, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler$ConnectivityBroadcastReceiver;->(Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;Lcom/android/internal/telephony/Smdk4210RIL$1;)V -- -- iput-object v0, p0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->mConnectivityReceiver:Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler$ConnectivityBroadcastReceiver; -- -- iput-object p2, p0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->mContext:Landroid/content/Context; -- -- return-void --.end method -- --.method static synthetic access$100(Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;)V -- .registers 1 -- -- invoke-direct {p0}, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->stopListening()V -- -- return-void --.end method -- --.method static synthetic access$200(Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;)I -- .registers 2 -- -- iget v0, p0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->mDesiredNetworkType:I -- -- return v0 --.end method -- --.method static synthetic access$202(Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;I)I -- .registers 2 -- -- iput p1, p0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->mDesiredNetworkType:I -- -- return p1 --.end method -- --.method private startListening()V -- .registers 4 -- -- new-instance v0, Landroid/content/IntentFilter; -- -- invoke-direct {v0}, Landroid/content/IntentFilter;->()V -- -- const-string v1, "android.net.conn.CONNECTIVITY_CHANGE" -- -- invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V -- -- iget-object v1, p0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->mContext:Landroid/content/Context; -- -- iget-object v2, p0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->mConnectivityReceiver:Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler$ConnectivityBroadcastReceiver; -- -- invoke-virtual {v1, v2, v0}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent; -- -- return-void --.end method -- --.method private declared-synchronized stopListening()V -- .registers 3 -- -- monitor-enter p0 -- -- :try_start_1 -- iget-object v0, p0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->mContext:Landroid/content/Context; -- -- iget-object v1, p0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->mConnectivityReceiver:Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler$ConnectivityBroadcastReceiver; -- -- invoke-virtual {v0, v1}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V -- :try_end_8 -- .catchall {:try_start_1 .. :try_end_8} :catchall_a -- -- monitor-exit p0 -- -- return-void -- -- :catchall_a -- move-exception v0 -- -- monitor-exit p0 -- -- throw v0 --.end method -- -- --# virtual methods --.method public handleMessage(Landroid/os/Message;)V -- .registers 6 -- -- const/4 v3, 0x0 -- -- iget v1, p1, Landroid/os/Message;->what:I -- -- packed-switch v1, :pswitch_data_32 -- -- new-instance v1, Ljava/lang/RuntimeException; -- -- const-string/jumbo v2, "unexpected event not handled" -- -- invoke-direct {v1, v2}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V -- -- throw v1 -- -- :pswitch_f -- iget-object v1, p0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->mContext:Landroid/content/Context; -- -- const-string v2, "connectivity" -- -- invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; -- -- move-result-object v0 -- -- check-cast v0, Landroid/net/ConnectivityManager; -- -- const-string v1, "RILJ" -- -- const-string/jumbo v2, "preferred NetworkType set upping Mobile Dataconnection" -- -- invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const/4 v1, 0x1 -- -- invoke-virtual {v0, v1}, Landroid/net/ConnectivityManager;->setMobileDataEnabled(Z)V -- -- iget-object v1, p0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->mNetworktypeResponse:Landroid/os/Message; -- -- invoke-static {v1, v3, v3}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult; -- -- iget-object v1, p0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->mNetworktypeResponse:Landroid/os/Message; -- -- invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V -- -- iput-object v3, p0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->mNetworktypeResponse:Landroid/os/Message; -- -- return-void -- -- :pswitch_data_32 -- .packed-switch 0x1e -- :pswitch_f -- .end packed-switch --.end method -- --.method public setPreferedNetworkType(ILandroid/os/Message;)V -- .registers 6 -- -- const-string v1, "RILJ" -- -- const-string v2, "Mobile Dataconnection is online setting it down" -- -- invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- iput p1, p0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->mDesiredNetworkType:I -- -- iput-object p2, p0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->mNetworktypeResponse:Landroid/os/Message; -- -- iget-object v1, p0, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->mContext:Landroid/content/Context; -- -- const-string v2, "connectivity" -- -- invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; -- -- move-result-object v0 -- -- check-cast v0, Landroid/net/ConnectivityManager; -- -- invoke-direct {p0}, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->startListening()V -- -- const/4 v1, 0x0 -- -- invoke-virtual {v0, v1}, Landroid/net/ConnectivityManager;->setMobileDataEnabled(Z)V -- -- return-void --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/Smdk4210RIL.smali pdroid-framework/smali/com/android/internal/telephony/Smdk4210RIL.smali ---- stock-framework/smali/com/android/internal/telephony/Smdk4210RIL.smali 2012-10-12 12:25:02.444679049 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/Smdk4210RIL.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,3516 +0,0 @@ --.class public Lcom/android/internal/telephony/Smdk4210RIL; --.super Lcom/android/internal/telephony/RIL; --.source "Smdk4210RIL.java" -- --# interfaces --.implements Lcom/android/internal/telephony/CommandsInterface; -- -- --# annotations --.annotation system Ldalvik/annotation/MemberClasses; -- value = { -- Lcom/android/internal/telephony/Smdk4210RIL$1;, -- Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler; -- } --.end annotation -- -- --# static fields --.field static final RIL_REQUEST_ACCESS_PHONEBOOK_ENTRY:I = 0x2719 -- --.field static final RIL_REQUEST_ACTIVATE_DATA_CALL:I = 0x2731 -- --.field static final RIL_REQUEST_CALL_DEFLECTION:I = 0x271b -- --.field static final RIL_REQUEST_CDMA_GET_DATAPROFILE:I = 0x2739 -- --.field static final RIL_REQUEST_CDMA_GET_SYSTEMPROPERTIES:I = 0x273b -- --.field static final RIL_REQUEST_CDMA_SET_DATAPROFILE:I = 0x273a -- --.field static final RIL_REQUEST_CDMA_SET_SYSTEMPROPERTIES:I = 0x273c -- --.field static final RIL_REQUEST_CHANGE_SIM_PERSO:I = 0x2732 -- --.field static final RIL_REQUEST_DIAL_EMERGENCY:I = 0x2720 -- --.field static final RIL_REQUEST_DIAL_VIDEO_CALL:I = 0x271a -- --.field static final RIL_REQUEST_ENTER_SIM_PERSO:I = 0x2733 -- --.field static final RIL_REQUEST_GET_BARCODE_NUMBER:I = 0x2727 -- --.field static final RIL_REQUEST_GET_CELL_BROADCAST_CONFIG:I = 0x2712 -- --.field static final RIL_REQUEST_GET_LINE_ID:I = 0x2723 -- --.field static final RIL_REQUEST_GET_MANUFACTURE_DATE_NUMBER:I = 0x2726 -- --.field static final RIL_REQUEST_GET_PHONEBOOK_ENTRY:I = 0x2718 -- --.field static final RIL_REQUEST_GET_PHONEBOOK_STORAGE_INFO:I = 0x2717 -- --.field static final RIL_REQUEST_GET_PREFERRED_NETWORK_LIST:I = 0x2743 -- --.field static final RIL_REQUEST_GET_SERIAL_NUMBER:I = 0x2725 -- --.field static final RIL_REQUEST_GET_STOREAD_MSG_COUNT:I = 0x2721 -- --.field static final RIL_REQUEST_GET_TIME_INFO:I = 0x2734 -- --.field static final RIL_REQUEST_HANGUP_VT:I = 0x2744 -- --.field static final RIL_REQUEST_LOCK_INFO:I = 0x271e -- --.field static final RIL_REQUEST_MODEM_HANGUP:I = 0x2740 -- --.field static final RIL_REQUEST_OMADM_CLIENT_START_SESSION:I = 0x2737 -- --.field static final RIL_REQUEST_OMADM_SEND_DATA:I = 0x2738 -- --.field static final RIL_REQUEST_OMADM_SERVER_START_SESSION:I = 0x2736 -- --.field static final RIL_REQUEST_OMADM_SETUP_SESSION:I = 0x2735 -- --.field static final RIL_REQUEST_PS_ATTACH:I = 0x272f -- --.field static final RIL_REQUEST_PS_DETACH:I = 0x2730 -- --.field static final RIL_REQUEST_READ_SMS_FROM_SIM:I = 0x271c -- --.field static final RIL_REQUEST_SEND_ENCODED_USSD:I = 0x2715 -- --.field static final RIL_REQUEST_SEND_SMS_COUNT:I = 0x273d -- --.field static final RIL_REQUEST_SEND_SMS_MSG:I = 0x273e -- --.field static final RIL_REQUEST_SEND_SMS_MSG_READ_STATUS:I = 0x273f -- --.field static final RIL_REQUEST_SET_LINE_ID:I = 0x2724 -- --.field static final RIL_REQUEST_SET_PDA_MEMORY_STATUS:I = 0x2716 -- --.field static final RIL_REQUEST_SET_PREFERRED_NETWORK_LIST:I = 0x2742 -- --.field static final RIL_REQUEST_SET_SIM_POWER:I = 0x2741 -- --.field static final RIL_REQUEST_SIM_AUTH:I = 0x272e -- --.field static final RIL_REQUEST_SIM_CLOSE_CHANNEL:I = 0x272c -- --.field static final RIL_REQUEST_SIM_OPEN_CHANNEL:I = 0x272b -- --.field static final RIL_REQUEST_SIM_TRANSMIT_BASIC:I = 0x272a -- --.field static final RIL_REQUEST_SIM_TRANSMIT_CHANNEL:I = 0x272d -- --.field static final RIL_REQUEST_STK_SIM_INIT_EVENT:I = 0x2722 -- --.field static final RIL_REQUEST_UICC_GBA_AUTHENTICATE_BOOTSTRAP:I = 0x2728 -- --.field static final RIL_REQUEST_UICC_GBA_AUTHENTICATE_NAF:I = 0x2729 -- --.field static final RIL_REQUEST_USIM_PB_CAPA:I = 0x271d -- --.field static final RIL_UNSOL_AM:I = 0x2b02 -- --.field static final RIL_UNSOL_DATA_SUSPEND_RESUME:I = 0x2b04 -- --.field static final RIL_UNSOL_DEVICE_READY_NOTI:I = 0x2b00 -- --.field static final RIL_UNSOL_DHA_STATE:I = 0x2b0b -- --.field static final RIL_UNSOL_DUN:I = 0x2b12 -- --.field static final RIL_UNSOL_DUN_CALL_STATUS:I = 0x2afc -- --.field static final RIL_UNSOL_DUN_PIN_CONTROL_SIGNAL:I = 0x2b03 -- --.field static final RIL_UNSOL_GPS_NOTI:I = 0x2b01 -- --.field static final RIL_UNSOL_HSDPA_STATE_CHANGED:I = 0x2b08 -- --.field static final RIL_UNSOL_IPV6_ADDR:I = 0x2b0e -- --.field static final RIL_UNSOL_MIP_CONNECT_STATUS:I = 0x2b18 -- --.field static final RIL_UNSOL_NWK_INIT_DISC_REQUEST:I = 0x2b0f -- --.field static final RIL_UNSOL_O2_HOME_ZONE_INFO:I = 0x2aff -- --.field static final RIL_UNSOL_OMADM_SEND_DATA:I = 0x2b11 -- --.field static final RIL_UNSOL_RELEASE_COMPLETE_MESSAGE:I = 0x2af9 -- --.field static final RIL_UNSOL_RESPONSE_HANDOVER:I = 0x2b0d -- --.field static final RIL_UNSOL_RTS_INDICATION:I = 0x2b10 -- --.field static final RIL_UNSOL_SAP:I = 0x2b05 -- --.field static final RIL_UNSOL_SIM_SMS_STORAGE_AVAILALE:I = 0x2b07 -- --.field static final RIL_UNSOL_STK_CALL_CONTROL_RESULT:I = 0x2afb -- --.field static final RIL_UNSOL_STK_SEND_SMS_RESULT:I = 0x2afa -- --.field static final RIL_UNSOL_SYSTEM_REBOOT:I = 0x2b13 -- --.field static final RIL_UNSOL_TWO_MIC_STATE:I = 0x2b0a -- --.field static final RIL_UNSOL_UART:I = 0x2b0c -- --.field static final RIL_UNSOL_UTS_GETSMSCOUNT:I = 0x2b15 -- --.field static final RIL_UNSOL_UTS_GETSMSMSG:I = 0x2b16 -- --.field static final RIL_UNSOL_UTS_GET_UNREAD_SMS_STATUS:I = 0x2b17 -- --.field static final RIL_UNSOL_VOICE_PRIVACY_CHANGED:I = 0x2b14 -- --.field static final RIL_UNSOL_WB_AMR_STATE:I = 0x2b09 -- -- --# instance fields --.field private audioManager:Landroid/media/AudioManager; -- --.field protected mSmdk4210Handler:Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler; -- --.field protected mSmdk4210Thread:Landroid/os/HandlerThread; -- -- --# direct methods --.method public constructor (Landroid/content/Context;II)V -- .registers 6 -- -- invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/RIL;->(Landroid/content/Context;II)V -- -- iget-object v0, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mContext:Landroid/content/Context; -- -- const-string v1, "audio" -- -- invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; -- -- move-result-object v0 -- -- check-cast v0, Landroid/media/AudioManager; -- -- iput-object v0, p0, Lcom/android/internal/telephony/Smdk4210RIL;->audioManager:Landroid/media/AudioManager; -- -- const/4 v0, 0x5 -- -- iput v0, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mQANElements:I -- -- return-void --.end method -- --.method private NeedReconnect()Z -- .registers 5 -- -- iget-object v2, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mContext:Landroid/content/Context; -- -- const-string v3, "connectivity" -- -- invoke-virtual {v2, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; -- -- move-result-object v0 -- -- check-cast v0, Landroid/net/ConnectivityManager; -- -- invoke-virtual {v0}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo; -- -- move-result-object v1 -- -- if-eqz v1, :cond_2b -- -- invoke-virtual {v1}, Landroid/net/NetworkInfo;->getTypeName()Ljava/lang/String; -- -- move-result-object v2 -- -- const-string/jumbo v3, "mobile" -- -- invoke-virtual {v2, v3}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z -- -- move-result v2 -- -- if-eqz v2, :cond_2b -- -- invoke-virtual {v1}, Landroid/net/NetworkInfo;->isConnected()Z -- -- move-result v2 -- -- if-eqz v2, :cond_2b -- -- invoke-virtual {v0}, Landroid/net/ConnectivityManager;->getMobileDataEnabled()Z -- -- move-result v2 -- -- if-eqz v2, :cond_2b -- -- const/4 v2, 0x1 -- -- :goto_2a -- return v2 -- -- :cond_2b -- const/4 v2, 0x0 -- -- goto :goto_2a --.end method -- --.method static synthetic access$300(Lcom/android/internal/telephony/Smdk4210RIL;ILandroid/os/Message;)V -- .registers 3 -- -- invoke-direct {p0, p1, p2}, Lcom/android/internal/telephony/Smdk4210RIL;->sendPreferedNetworktype(ILandroid/os/Message;)V -- -- return-void --.end method -- --.method private notifyRegistrantsRilConnectionChanged(I)V -- .registers 6 -- -- const/4 v3, 0x0 -- -- iput p1, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mRilVersion:I -- -- iget-object v0, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mRilConnectedRegistrants:Landroid/os/RegistrantList; -- -- if-eqz v0, :cond_16 -- -- iget-object v0, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mRilConnectedRegistrants:Landroid/os/RegistrantList; -- -- new-instance v1, Landroid/os/AsyncResult; -- -- new-instance v2, Ljava/lang/Integer; -- -- invoke-direct {v2, p1}, Ljava/lang/Integer;->(I)V -- -- invoke-direct {v1, v3, v2, v3}, Landroid/os/AsyncResult;->(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V -- -- invoke-virtual {v0, v1}, Landroid/os/RegistrantList;->notifyRegistrants(Landroid/os/AsyncResult;)V -- -- :cond_16 -- return-void --.end method -- --.method static samsungResponseToString(I)Ljava/lang/String; -- .registers 3 -- -- sparse-switch p0, :sswitch_data_30 -- -- new-instance v0, Ljava/lang/StringBuilder; -- -- invoke-direct {v0}, Ljava/lang/StringBuilder;->()V -- -- const-string v1, "append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, ">" -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v0 -- -- :goto_1c -- return-object v0 -- -- :sswitch_1d -- const-string v0, "RIL_UNSOL_AM" -- -- goto :goto_1c -- -- :sswitch_20 -- const-string v0, "RIL_UNSOL_DUN_PIN_CONTROL_SIGNAL" -- -- goto :goto_1c -- -- :sswitch_23 -- const-string v0, "RIL_UNSOL_DATA_SUSPEND_RESUME" -- -- goto :goto_1c -- -- :sswitch_26 -- const-string v0, "RIL_UNSOL_STK_CALL_CONTROL_RESULT" -- -- goto :goto_1c -- -- :sswitch_29 -- const-string v0, "RIL_UNSOL_TWO_MIC_STATE" -- -- goto :goto_1c -- -- :sswitch_2c -- const-string v0, "RIL_UNSOL_WB_AMR_STATE" -- -- goto :goto_1c -- -- nop -- -- :sswitch_data_30 -- .sparse-switch -- 0x2afb -> :sswitch_26 -- 0x2b02 -> :sswitch_1d -- 0x2b03 -> :sswitch_20 -- 0x2b04 -> :sswitch_23 -- 0x2b09 -> :sswitch_2c -- 0x2b0a -> :sswitch_29 -- .end sparse-switch --.end method -- --.method private sendPreferedNetworktype(ILandroid/os/Message;)V -- .registers 6 -- -- const/16 v1, 0x49 -- -- invoke-static {v1, p2}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const/4 v2, 0x1 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p1}, Landroid/os/Parcel;->writeInt(I)V -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/Smdk4210RIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, " : " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/Smdk4210RIL;->riljLog(Ljava/lang/String;)V -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/Smdk4210RIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void --.end method -- --.method private setWbAmr(I)V -- .registers 4 -- -- const/4 v0, 0x1 -- -- if-ne p1, v0, :cond_14 -- -- const-string v0, "RILJ" -- -- const-string/jumbo v1, "setWbAmr(): setting audio parameter - wb_amr=on" -- -- invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- iget-object v0, p0, Lcom/android/internal/telephony/Smdk4210RIL;->audioManager:Landroid/media/AudioManager; -- -- const-string/jumbo v1, "wb_amr=on" -- -- invoke-virtual {v0, v1}, Landroid/media/AudioManager;->setParameters(Ljava/lang/String;)V -- -- :goto_13 -- return-void -- -- :cond_14 -- const-string v0, "RILJ" -- -- const-string/jumbo v1, "setWbAmr(): setting audio parameter - wb_amr=off" -- -- invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- iget-object v0, p0, Lcom/android/internal/telephony/Smdk4210RIL;->audioManager:Landroid/media/AudioManager; -- -- const-string/jumbo v1, "wb_amr=off" -- -- invoke-virtual {v0, v1}, Landroid/media/AudioManager;->setParameters(Ljava/lang/String;)V -- -- goto :goto_13 --.end method -- -- --# virtual methods --.method protected findAndRemoveRequestFromList(I)Lcom/android/internal/telephony/RILRequest; -- .registers 12 -- -- invoke-static {}, Ljava/lang/System;->currentTimeMillis()J -- -- move-result-wide v1 -- -- const-wide/16 v4, 0x0 -- -- iget-object v7, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mRequestsList:Ljava/util/ArrayList; -- -- monitor-enter v7 -- -- :try_start_9 -- iget-object v6, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mRequestsList:Ljava/util/ArrayList; -- -- invoke-virtual {v6}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; -- -- move-result-object v0 -- -- :cond_f -- :goto_f -- invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z -- -- move-result v6 -- -- if-eqz v6, :cond_77 -- -- invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; -- -- move-result-object v3 -- -- check-cast v3, Lcom/android/internal/telephony/RILRequest; -- -- iget v6, v3, Lcom/android/internal/telephony/RILRequest;->mSerial:I -- -- if-ne v6, p1, :cond_2e -- -- invoke-interface {v0}, Ljava/util/Iterator;->remove()V -- -- iget v6, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mRequestMessagesWaiting:I -- -- if-lez v6, :cond_2c -- -- iget v6, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mRequestMessagesWaiting:I -- -- add-int/lit8 v6, v6, -0x1 -- -- iput v6, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mRequestMessagesWaiting:I -- -- :cond_2c -- monitor-exit v7 -- -- :goto_2d -- return-object v3 -- -- :cond_2e -- iget-wide v8, v3, Lcom/android/internal/telephony/RILRequest;->creationTime:J -- -- sub-long v4, v1, v8 -- -- iget v6, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mWakeLockTimeout:I -- -- int-to-long v8, v6 -- -- cmp-long v6, v4, v8 -- -- if-lez v6, :cond_f -- -- const-string v6, "RILJ" -- -- new-instance v8, Ljava/lang/StringBuilder; -- -- invoke-direct {v8}, Ljava/lang/StringBuilder;->()V -- -- const-string v9, "No response for [" -- -- invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v8 -- -- iget v9, v3, Lcom/android/internal/telephony/RILRequest;->mSerial:I -- -- invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v8 -- -- const-string v9, "] " -- -- invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v8 -- -- iget v9, v3, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v9}, Lcom/android/internal/telephony/Smdk4210RIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v9 -- -- invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v8 -- -- const-string v9, " after " -- -- invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v8 -- -- invoke-virtual {v8, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; -- -- move-result-object v8 -- -- const-string v9, " milliseconds." -- -- invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v8 -- -- invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v8 -- -- invoke-static {v6, v8}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- goto :goto_f -- -- :catchall_74 -- move-exception v6 -- -- monitor-exit v7 -- :try_end_76 -- .catchall {:try_start_9 .. :try_end_76} :catchall_74 -- -- throw v6 -- -- :cond_77 -- :try_start_77 -- monitor-exit v7 -- :try_end_78 -- .catchall {:try_start_77 .. :try_end_78} :catchall_74 -- -- const/4 v3, 0x0 -- -- goto :goto_2d --.end method -- --.method public getCdmaSubscriptionSource(Landroid/os/Message;)V -- .registers 5 -- -- const/16 v1, 0x68 -- -- invoke-static {v1, p1}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/Smdk4210RIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/Smdk4210RIL;->riljLog(Ljava/lang/String;)V -- -- const-string v1, "RILJ" -- -- const-string v2, "RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE blocked!!!" -- -- invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- return-void --.end method -- --.method public getVoiceRadioTechnology(Landroid/os/Message;)V -- .registers 5 -- -- const/16 v1, 0x6c -- -- invoke-static {v1, p1}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/Smdk4210RIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/Smdk4210RIL;->riljLog(Ljava/lang/String;)V -- -- iget v1, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mRilVersion:I -- -- const/4 v2, 0x7 -- -- if-lt v1, v2, :cond_33 -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/Smdk4210RIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- :goto_32 -- return-void -- -- :cond_33 -- const-string v1, "RILJ" -- -- const-string v2, "RIL_REQUEST_VOICE_RADIO_TECH blocked!!!" -- -- invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- goto :goto_32 --.end method -- --.method protected processSolicited(Landroid/os/Parcel;)V -- .registers 12 -- -- const/4 v9, 0x0 -- -- const/4 v1, 0x0 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v0 -- -- invoke-virtual {p0, v4}, Lcom/android/internal/telephony/Smdk4210RIL;->findAndRemoveRequestFromList(I)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v3 -- -- if-nez v3, :cond_33 -- -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, "Unexpected solicited response! sn: " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- const-string v8, " error: " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I -- -- :goto_32 -- return-void -- -- :cond_33 -- const/4 v2, 0x0 -- -- if-eqz v0, :cond_3c -- -- invoke-virtual {p1}, Landroid/os/Parcel;->dataAvail()I -- -- move-result v6 -- -- if-lez v6, :cond_9f -- -- :cond_3c -- :try_start_3c -- iget v6, v3, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- packed-switch v6, :pswitch_data_39e -- -- new-instance v6, Ljava/lang/RuntimeException; -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- const-string v8, "Unrecognized solicited response: " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- iget v8, v3, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-direct {v6, v7}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V -- -- throw v6 -- :try_end_5c -- .catch Ljava/lang/Throwable; {:try_start_3c .. :try_end_5c} :catch_5c -- -- :catch_5c -- move-exception v5 -- -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v3}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v8 -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- const-string v8, "< " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- iget v8, v3, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v8}, Lcom/android/internal/telephony/Smdk4210RIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v8 -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- const-string v8, " exception, possible invalid RIL response" -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7, v5}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -- -- iget-object v6, v3, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- if-eqz v6, :cond_97 -- -- iget-object v6, v3, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- invoke-static {v6, v9, v5}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult; -- -- iget-object v6, v3, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- invoke-virtual {v6}, Landroid/os/Message;->sendToTarget()V -- -- :cond_97 -- invoke-virtual {v3}, Lcom/android/internal/telephony/RILRequest;->release()V -- -- goto :goto_32 -- -- :pswitch_9b -- :try_start_9b -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseIccCardStatus(Landroid/os/Parcel;)Ljava/lang/Object; -- :try_end_9e -- .catch Ljava/lang/Throwable; {:try_start_9b .. :try_end_9e} :catch_5c -- -- move-result-object v2 -- -- :cond_9f -- :goto_9f -- if-eqz v0, :cond_321 -- -- const/4 v6, -0x1 -- -- if-ne v0, v6, :cond_aa -- -- iget v6, v3, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- const/16 v7, 0x19 -- -- if-eq v6, v7, :cond_31d -- -- :cond_aa -- invoke-virtual {v3, v0, v2}, Lcom/android/internal/telephony/RILRequest;->onError(ILjava/lang/Object;)V -- -- invoke-virtual {v3}, Lcom/android/internal/telephony/RILRequest;->release()V -- -- goto :goto_32 -- -- :pswitch_b1 -- :try_start_b1 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_9f -- -- :pswitch_b6 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_9f -- -- :pswitch_bb -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_9f -- -- :pswitch_c0 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_9f -- -- :pswitch_c5 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_9f -- -- :pswitch_ca -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_9f -- -- :pswitch_cf -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_9f -- -- :pswitch_d4 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseCallList(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_9f -- -- :pswitch_d9 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_9f -- -- :pswitch_de -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_9f -- -- :pswitch_e3 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_9f -- -- :pswitch_e8 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_9f -- -- :pswitch_ed -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_9f -- -- :pswitch_f2 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_9f -- -- :pswitch_f7 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_9f -- -- :pswitch_fc -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_9f -- -- :pswitch_101 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_9f -- -- :pswitch_106 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseSignalStrength(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_9f -- -- :pswitch_10b -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_9f -- -- :pswitch_110 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_9f -- -- :pswitch_115 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_9f -- -- :pswitch_11a -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto :goto_9f -- -- :pswitch_11f -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_125 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseSMS(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_12b -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseSMS(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_131 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseSetupDataCall(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_137 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseICC_IO(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_13d -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_143 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_149 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_14f -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_155 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseCallForward(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_15b -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_161 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_167 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_16d -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_173 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_179 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_17f -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_185 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_18b -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_191 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_197 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_19d -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_1a3 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_1a9 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_1af -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseOperatorInfos(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_1b5 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_1bb -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_1c1 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_1c7 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_1cd -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_1d3 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_1d9 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_1df -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_1e5 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseDataCallList(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_1eb -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_1f1 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseRaw(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_1f7 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_1fd -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_203 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_209 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_20f -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_215 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_21b -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_221 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_227 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_22d -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_233 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_239 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_23f -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_245 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_24b -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseGetPreferredNetworkType(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_251 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseCellList(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_257 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_25d -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_263 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_269 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_26f -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_275 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_27b -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_281 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_287 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_28d -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_293 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseSMS(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_299 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_29f -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseGmsBroadcastConfig(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_2a5 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_2ab -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_2b1 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseCdmaBroadcastConfig(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_2b7 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_2bd -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_2c3 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_2c9 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_2cf -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_2d5 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_2db -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseStrings(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_2e1 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_2e7 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_2ed -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_2f3 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_2f9 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_2ff -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_305 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_30b -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_311 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseICC_IO(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :pswitch_317 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- :try_end_31a -- .catch Ljava/lang/Throwable; {:try_start_b1 .. :try_end_31a} :catch_5c -- -- move-result-object v2 -- -- goto/16 :goto_9f -- -- :cond_31d -- :try_start_31d -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseSMS(Landroid/os/Parcel;)Ljava/lang/Object; -- :try_end_320 -- .catch Ljava/lang/Throwable; {:try_start_31d .. :try_end_320} :catch_368 -- -- move-result-object v2 -- -- :cond_321 -- new-instance v6, Ljava/lang/StringBuilder; -- -- invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v3}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- const-string v7, "< " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- iget v7, v3, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v7}, Lcom/android/internal/telephony/Smdk4210RIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- const-string v7, " " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- iget v7, v3, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-virtual {p0, v7, v2}, Lcom/android/internal/telephony/Smdk4210RIL;->retToString(ILjava/lang/Object;)Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-virtual {p0, v6}, Lcom/android/internal/telephony/Smdk4210RIL;->riljLog(Ljava/lang/String;)V -- -- iget-object v6, v3, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- if-eqz v6, :cond_363 -- -- iget-object v6, v3, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- invoke-static {v6, v2, v9}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult; -- -- iget-object v6, v3, Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message; -- -- invoke-virtual {v6}, Landroid/os/Message;->sendToTarget()V -- -- :cond_363 -- invoke-virtual {v3}, Lcom/android/internal/telephony/RILRequest;->release()V -- -- goto/16 :goto_32 -- -- :catch_368 -- move-exception v5 -- -- const-string v6, "RILJ" -- -- new-instance v7, Ljava/lang/StringBuilder; -- -- invoke-direct {v7}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v3}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v8 -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- const-string v8, "< " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- iget v8, v3, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v8}, Lcom/android/internal/telephony/Smdk4210RIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v8 -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- const-string v8, " exception, Processing Samsung SMS fix " -- -- invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v7 -- -- invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v7 -- -- invoke-static {v6, v7, v5}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -- -- invoke-virtual {v3, v0, v2}, Lcom/android/internal/telephony/RILRequest;->onError(ILjava/lang/Object;)V -- -- invoke-virtual {v3}, Lcom/android/internal/telephony/RILRequest;->release()V -- -- goto/16 :goto_32 -- -- nop -- -- :pswitch_data_39e -- .packed-switch 0x1 -- :pswitch_9b -- :pswitch_b1 -- :pswitch_b6 -- :pswitch_bb -- :pswitch_c0 -- :pswitch_c5 -- :pswitch_ca -- :pswitch_cf -- :pswitch_d4 -- :pswitch_d9 -- :pswitch_de -- :pswitch_e3 -- :pswitch_e8 -- :pswitch_ed -- :pswitch_f2 -- :pswitch_f7 -- :pswitch_fc -- :pswitch_101 -- :pswitch_106 -- :pswitch_10b -- :pswitch_110 -- :pswitch_115 -- :pswitch_11a -- :pswitch_11f -- :pswitch_125 -- :pswitch_12b -- :pswitch_131 -- :pswitch_137 -- :pswitch_13d -- :pswitch_143 -- :pswitch_149 -- :pswitch_14f -- :pswitch_155 -- :pswitch_15b -- :pswitch_161 -- :pswitch_167 -- :pswitch_16d -- :pswitch_173 -- :pswitch_179 -- :pswitch_17f -- :pswitch_185 -- :pswitch_18b -- :pswitch_191 -- :pswitch_197 -- :pswitch_19d -- :pswitch_1a3 -- :pswitch_1a9 -- :pswitch_1af -- :pswitch_1b5 -- :pswitch_1bb -- :pswitch_1c1 -- :pswitch_1c7 -- :pswitch_1cd -- :pswitch_1d3 -- :pswitch_1d9 -- :pswitch_1df -- :pswitch_1e5 -- :pswitch_1eb -- :pswitch_1f1 -- :pswitch_1f7 -- :pswitch_1fd -- :pswitch_203 -- :pswitch_209 -- :pswitch_20f -- :pswitch_215 -- :pswitch_21b -- :pswitch_221 -- :pswitch_227 -- :pswitch_22d -- :pswitch_233 -- :pswitch_239 -- :pswitch_23f -- :pswitch_245 -- :pswitch_24b -- :pswitch_251 -- :pswitch_257 -- :pswitch_25d -- :pswitch_263 -- :pswitch_269 -- :pswitch_26f -- :pswitch_275 -- :pswitch_27b -- :pswitch_281 -- :pswitch_287 -- :pswitch_28d -- :pswitch_2c3 -- :pswitch_293 -- :pswitch_299 -- :pswitch_29f -- :pswitch_2a5 -- :pswitch_2ab -- :pswitch_2b1 -- :pswitch_2b7 -- :pswitch_2bd -- :pswitch_2c9 -- :pswitch_2cf -- :pswitch_2d5 -- :pswitch_2db -- :pswitch_2ed -- :pswitch_2e1 -- :pswitch_2e7 -- :pswitch_2f3 -- :pswitch_2f9 -- :pswitch_2ff -- :pswitch_305 -- :pswitch_30b -- :pswitch_311 -- :pswitch_317 -- .end packed-switch --.end method -- --.method protected processUnsolicited(Landroid/os/Parcel;)V -- .registers 10 -- -- const/4 v6, 0x0 -- -- const/4 v7, 0x0 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->dataPosition()I -- -- move-result v1 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v3 -- -- sparse-switch v3, :sswitch_data_ec -- -- invoke-virtual {p1, v1}, Landroid/os/Parcel;->setDataPosition(I)V -- -- invoke-super {p0, p1}, Lcom/android/internal/telephony/RIL;->processUnsolicited(Landroid/os/Parcel;)V -- -- :cond_13 -- :goto_13 -- return-void -- -- :sswitch_14 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v4 -- -- :goto_18 -- sparse-switch v3, :sswitch_data_10e -- -- goto :goto_13 -- -- :sswitch_1c -- invoke-virtual {p0, v3, v4}, Lcom/android/internal/telephony/Smdk4210RIL;->unsljLogRet(ILjava/lang/Object;)V -- -- iget-object v5, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mGsmBroadcastSmsRegistrant:Landroid/os/Registrant; -- -- if-eqz v5, :cond_13 -- -- iget-object v5, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mGsmBroadcastSmsRegistrant:Landroid/os/Registrant; -- -- new-instance v6, Landroid/os/AsyncResult; -- -- invoke-direct {v6, v7, v4, v7}, Landroid/os/AsyncResult;->(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V -- -- invoke-virtual {v5, v6}, Landroid/os/Registrant;->notifyRegistrant(Landroid/os/AsyncResult;)V -- -- goto :goto_13 -- -- :sswitch_2e -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v4 -- -- goto :goto_18 -- -- :sswitch_33 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseString(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v4 -- -- goto :goto_18 -- -- :sswitch_38 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v4 -- -- goto :goto_18 -- -- :sswitch_3d -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v4 -- -- goto :goto_18 -- -- :sswitch_42 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseVoid(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v4 -- -- goto :goto_18 -- -- :sswitch_47 -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v4 -- -- goto :goto_18 -- -- :sswitch_4c -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v4 -- -- goto :goto_18 -- -- :sswitch_51 -- invoke-virtual {p0, v3, v4}, Lcom/android/internal/telephony/Smdk4210RIL;->unsljLogRet(ILjava/lang/Object;)V -- -- invoke-virtual {p0, v6, v7}, Lcom/android/internal/telephony/Smdk4210RIL;->setRadioPower(ZLandroid/os/Message;)V -- -- iget v5, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mPreferredNetworkType:I -- -- invoke-direct {p0, v5, v7}, Lcom/android/internal/telephony/Smdk4210RIL;->sendPreferedNetworktype(ILandroid/os/Message;)V -- -- iget v5, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mCdmaSubscription:I -- -- invoke-virtual {p0, v5, v7}, Lcom/android/internal/telephony/Smdk4210RIL;->setCdmaSubscriptionSource(ILandroid/os/Message;)V -- -- check-cast v4, [I -- -- check-cast v4, [I -- -- aget v5, v4, v6 -- -- invoke-direct {p0, v5}, Lcom/android/internal/telephony/Smdk4210RIL;->notifyRegistrantsRilConnectionChanged(I)V -- -- goto :goto_13 -- -- :sswitch_6b -- invoke-virtual {p0, v3, v4}, Lcom/android/internal/telephony/Smdk4210RIL;->samsungUnsljLogRet(ILjava/lang/Object;)V -- -- move-object v0, v4 -- -- check-cast v0, Ljava/lang/String; -- -- const-string v5, "RILJ" -- -- new-instance v6, Ljava/lang/StringBuilder; -- -- invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -- -- const-string v7, "Executing AM: " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-static {v5, v6}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :try_start_89 -- invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime; -- -- move-result-object v5 -- -- new-instance v6, Ljava/lang/StringBuilder; -- -- invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -- -- const-string v7, "am " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-virtual {v5, v6}, Ljava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process; -- :try_end_a3 -- .catch Ljava/io/IOException; {:try_start_89 .. :try_end_a3} :catch_a5 -- -- goto/16 :goto_13 -- -- :catch_a5 -- move-exception v2 -- -- invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V -- -- const-string v5, "RILJ" -- -- new-instance v6, Ljava/lang/StringBuilder; -- -- invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -- -- const-string v7, "am " -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- const-string v7, " could not be executed." -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I -- -- goto/16 :goto_13 -- -- :sswitch_c9 -- invoke-virtual {p0, v3, v4}, Lcom/android/internal/telephony/Smdk4210RIL;->samsungUnsljLogRet(ILjava/lang/Object;)V -- -- goto/16 :goto_13 -- -- :sswitch_ce -- invoke-virtual {p0, v3, v4}, Lcom/android/internal/telephony/Smdk4210RIL;->samsungUnsljLogRet(ILjava/lang/Object;)V -- -- goto/16 :goto_13 -- -- :sswitch_d3 -- invoke-virtual {p0, v3, v4}, Lcom/android/internal/telephony/Smdk4210RIL;->samsungUnsljLogRet(ILjava/lang/Object;)V -- -- goto/16 :goto_13 -- -- :sswitch_d8 -- invoke-virtual {p0, v3, v4}, Lcom/android/internal/telephony/Smdk4210RIL;->samsungUnsljLogRet(ILjava/lang/Object;)V -- -- goto/16 :goto_13 -- -- :sswitch_dd -- invoke-virtual {p0, v3, v4}, Lcom/android/internal/telephony/Smdk4210RIL;->samsungUnsljLogRet(ILjava/lang/Object;)V -- -- check-cast v4, [I -- -- check-cast v4, [I -- -- aget v5, v4, v6 -- -- invoke-direct {p0, v5}, Lcom/android/internal/telephony/Smdk4210RIL;->setWbAmr(I)V -- -- goto/16 :goto_13 -- -- nop -- -- :sswitch_data_ec -- .sparse-switch -- 0x3fd -> :sswitch_14 -- 0x40a -> :sswitch_2e -- 0x2afb -> :sswitch_42 -- 0x2b02 -> :sswitch_33 -- 0x2b03 -> :sswitch_38 -- 0x2b04 -> :sswitch_3d -- 0x2b09 -> :sswitch_4c -- 0x2b0a -> :sswitch_47 -- .end sparse-switch -- -- :sswitch_data_10e -- .sparse-switch -- 0x3fd -> :sswitch_1c -- 0x40a -> :sswitch_51 -- 0x2afb -> :sswitch_d3 -- 0x2b02 -> :sswitch_6b -- 0x2b03 -> :sswitch_c9 -- 0x2b04 -> :sswitch_ce -- 0x2b09 -> :sswitch_dd -- 0x2b0a -> :sswitch_d8 -- .end sparse-switch --.end method -- --.method protected responseCallList(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 19 -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->dataAvail()I -- -- move-result v1 -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->dataPosition()I -- -- move-result v7 -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->dataSize()I -- -- move-result v9 -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "Parcel size = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "Parcel pos = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "Parcel dataAvail = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v6 -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v14, "num = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- new-instance v8, Ljava/util/ArrayList; -- -- invoke-direct {v8, v6}, Ljava/util/ArrayList;->(I)V -- -- const/4 v3, 0x0 -- -- :goto_77 -- if-ge v3, v6, :cond_32b -- -- new-instance v2, Lcom/android/internal/telephony/DriverCall; -- -- invoke-direct {v2}, Lcom/android/internal/telephony/DriverCall;->()V -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- invoke-static {v12}, Lcom/android/internal/telephony/DriverCall;->stateFromCLCC(I)Lcom/android/internal/telephony/DriverCall$State; -- -- move-result-object v12 -- -- iput-object v12, v2, Lcom/android/internal/telephony/DriverCall;->state:Lcom/android/internal/telephony/DriverCall$State; -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- iput v12, v2, Lcom/android/internal/telephony/DriverCall;->index:I -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- iput v12, v2, Lcom/android/internal/telephony/DriverCall;->TOA:I -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- if-eqz v12, :cond_305 -- -- const/4 v12, 0x1 -- -- :goto_9b -- iput-boolean v12, v2, Lcom/android/internal/telephony/DriverCall;->isMpty:Z -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- if-eqz v12, :cond_308 -- -- const/4 v12, 0x1 -- -- :goto_a4 -- iput-boolean v12, v2, Lcom/android/internal/telephony/DriverCall;->isMT:Z -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- iput v12, v2, Lcom/android/internal/telephony/DriverCall;->als:I -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- if-eqz v12, :cond_30b -- -- const/4 v12, 0x1 -- -- :goto_b3 -- iput-boolean v12, v2, Lcom/android/internal/telephony/DriverCall;->isVoice:Z -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- if-eqz v12, :cond_30e -- -- const/4 v4, 0x1 -- -- :goto_bc -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- if-eqz v12, :cond_311 -- -- const/4 v12, 0x1 -- -- :goto_c3 -- iput-boolean v12, v2, Lcom/android/internal/telephony/DriverCall;->isVoicePrivacy:Z -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v12 -- -- iput-object v12, v2, Lcom/android/internal/telephony/DriverCall;->number:Ljava/lang/String; -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v5 -- -- invoke-static {v5}, Lcom/android/internal/telephony/DriverCall;->presentationFromCLIP(I)I -- -- move-result v12 -- -- iput v12, v2, Lcom/android/internal/telephony/DriverCall;->numberPresentation:I -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v12 -- -- iput-object v12, v2, Lcom/android/internal/telephony/DriverCall;->name:Ljava/lang/String; -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v12 -- -- iput v12, v2, Lcom/android/internal/telephony/DriverCall;->namePresentation:I -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v11 -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v14, "state = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget-object v14, v2, Lcom/android/internal/telephony/DriverCall;->state:Lcom/android/internal/telephony/DriverCall$State; -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "index = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget v14, v2, Lcom/android/internal/telephony/DriverCall;->index:I -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v14, "state = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget v14, v2, Lcom/android/internal/telephony/DriverCall;->TOA:I -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "isMpty = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget-boolean v14, v2, Lcom/android/internal/telephony/DriverCall;->isMpty:Z -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "isMT = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget-boolean v14, v2, Lcom/android/internal/telephony/DriverCall;->isMT:Z -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "als = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget v14, v2, Lcom/android/internal/telephony/DriverCall;->als:I -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "isVoice = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget-boolean v14, v2, Lcom/android/internal/telephony/DriverCall;->isVoice:Z -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "isVideo = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13, v4}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v14, "number = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget-object v14, v2, Lcom/android/internal/telephony/DriverCall;->number:Ljava/lang/String; -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v14, "np = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v14, "name = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget-object v14, v2, Lcom/android/internal/telephony/DriverCall;->name:Ljava/lang/String; -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v14, "namePresentation = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget v14, v2, Lcom/android/internal/telephony/DriverCall;->namePresentation:I -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v14, "uusInfoPresent = " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- const/4 v12, 0x1 -- -- if-ne v11, v12, :cond_314 -- -- new-instance v12, Lcom/android/internal/telephony/UUSInfo; -- -- invoke-direct {v12}, Lcom/android/internal/telephony/UUSInfo;->()V -- -- iput-object v12, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- iget-object v12, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v13 -- -- invoke-virtual {v12, v13}, Lcom/android/internal/telephony/UUSInfo;->setType(I)V -- -- iget-object v12, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v13 -- -- invoke-virtual {v12, v13}, Lcom/android/internal/telephony/UUSInfo;->setDcs(I)V -- -- invoke-virtual/range {p1 .. p1}, Landroid/os/Parcel;->createByteArray()[B -- -- move-result-object v10 -- -- iget-object v12, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v12, v10}, Lcom/android/internal/telephony/UUSInfo;->setUserData([B)V -- -- const-string v12, "RILJ" -- -- const-string v13, "Incoming UUS : type=%d, dcs=%d, length=%d" -- -- const/4 v14, 0x3 -- -- new-array v14, v14, [Ljava/lang/Object; -- -- const/4 v15, 0x0 -- -- iget-object v0, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- move-object/from16 v16, v0 -- -- invoke-virtual/range {v16 .. v16}, Lcom/android/internal/telephony/UUSInfo;->getType()I -- -- move-result v16 -- -- invoke-static/range {v16 .. v16}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -- -- move-result-object v16 -- -- aput-object v16, v14, v15 -- -- const/4 v15, 0x1 -- -- iget-object v0, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- move-object/from16 v16, v0 -- -- invoke-virtual/range {v16 .. v16}, Lcom/android/internal/telephony/UUSInfo;->getDcs()I -- -- move-result v16 -- -- invoke-static/range {v16 .. v16}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -- -- move-result-object v16 -- -- aput-object v16, v14, v15 -- -- const/4 v15, 0x2 -- -- iget-object v0, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- move-object/from16 v16, v0 -- -- invoke-virtual/range {v16 .. v16}, Lcom/android/internal/telephony/UUSInfo;->getUserData()[B -- -- move-result-object v16 -- -- move-object/from16 v0, v16 -- -- array-length v0, v0 -- -- move/from16 v16, v0 -- -- invoke-static/range {v16 .. v16}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; -- -- move-result-object v16 -- -- aput-object v16, v14, v15 -- -- invoke-static {v13, v14}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "Incoming UUS : data (string)=" -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- new-instance v14, Ljava/lang/String; -- -- iget-object v15, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v15}, Lcom/android/internal/telephony/UUSInfo;->getUserData()[B -- -- move-result-object v15 -- -- invoke-direct {v14, v15}, Ljava/lang/String;->([B)V -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I -- -- const-string v12, "RILJ" -- -- new-instance v13, Ljava/lang/StringBuilder; -- -- invoke-direct {v13}, Ljava/lang/StringBuilder;->()V -- -- const-string v14, "Incoming UUS : data (hex): " -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- iget-object v14, v2, Lcom/android/internal/telephony/DriverCall;->uusInfo:Lcom/android/internal/telephony/UUSInfo; -- -- invoke-virtual {v14}, Lcom/android/internal/telephony/UUSInfo;->getUserData()[B -- -- move-result-object v14 -- -- invoke-static {v14}, Lcom/android/internal/telephony/IccUtils;->bytesToHexString([B)Ljava/lang/String; -- -- move-result-object v14 -- -- invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v13 -- -- invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v13 -- -- invoke-static {v12, v13}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I -- -- :goto_2e2 -- iget-object v12, v2, Lcom/android/internal/telephony/DriverCall;->number:Ljava/lang/String; -- -- iget v13, v2, Lcom/android/internal/telephony/DriverCall;->TOA:I -- -- invoke-static {v12, v13}, Landroid/telephony/PhoneNumberUtils;->stringFromStringAndTOA(Ljava/lang/String;I)Ljava/lang/String; -- -- move-result-object v12 -- -- iput-object v12, v2, Lcom/android/internal/telephony/DriverCall;->number:Ljava/lang/String; -- -- invoke-virtual {v8, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z -- -- iget-boolean v12, v2, Lcom/android/internal/telephony/DriverCall;->isVoicePrivacy:Z -- -- if-eqz v12, :cond_31c -- -- move-object/from16 v0, p0 -- -- iget-object v12, v0, Lcom/android/internal/telephony/Smdk4210RIL;->mVoicePrivacyOnRegistrants:Landroid/os/RegistrantList; -- -- invoke-virtual {v12}, Landroid/os/RegistrantList;->notifyRegistrants()V -- -- const-string v12, "RILJ" -- -- const-string v13, "InCall VoicePrivacy is enabled" -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :goto_301 -- add-int/lit8 v3, v3, 0x1 -- -- goto/16 :goto_77 -- -- :cond_305 -- const/4 v12, 0x0 -- -- goto/16 :goto_9b -- -- :cond_308 -- const/4 v12, 0x0 -- -- goto/16 :goto_a4 -- -- :cond_30b -- const/4 v12, 0x0 -- -- goto/16 :goto_b3 -- -- :cond_30e -- const/4 v4, 0x0 -- -- goto/16 :goto_bc -- -- :cond_311 -- const/4 v12, 0x0 -- -- goto/16 :goto_c3 -- -- :cond_314 -- const-string v12, "RILJ" -- -- const-string v13, "Incoming UUS : NOT present!" -- -- invoke-static {v12, v13}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I -- -- goto :goto_2e2 -- -- :cond_31c -- move-object/from16 v0, p0 -- -- iget-object v12, v0, Lcom/android/internal/telephony/Smdk4210RIL;->mVoicePrivacyOffRegistrants:Landroid/os/RegistrantList; -- -- invoke-virtual {v12}, Landroid/os/RegistrantList;->notifyRegistrants()V -- -- const-string v12, "RILJ" -- -- const-string v13, "InCall VoicePrivacy is disabled" -- -- invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- goto :goto_301 -- -- :cond_32b -- invoke-static {v8}, Ljava/util/Collections;->sort(Ljava/util/List;)V -- -- return-object v8 --.end method -- --.method protected responseGetPreferredNetworkType(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 6 -- -- const/4 v3, 0x0 -- -- invoke-virtual {p0, p1}, Lcom/android/internal/telephony/Smdk4210RIL;->responseInts(Landroid/os/Parcel;)Ljava/lang/Object; -- -- move-result-object v1 -- -- check-cast v1, [I -- -- move-object v0, v1 -- -- check-cast v0, [I -- -- array-length v1, v0 -- -- const/4 v2, 0x1 -- -- if-lt v1, v2, :cond_12 -- -- aget v1, v0, v3 -- -- iput v1, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mPreferredNetworkType:I -- -- :cond_12 -- aget v1, v0, v3 -- -- const/4 v2, 0x7 -- -- if-ne v1, v2, :cond_20 -- -- const-string v1, "RILJ" -- -- const-string v2, "Overriding network type response from GLOBAL to WCDMA preferred" -- -- invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- aput v3, v0, v3 -- -- :cond_20 -- return-object v0 --.end method -- --.method protected responseSignalStrength(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 14 -- -- const/4 v11, 0x2 -- -- const/4 v5, -0x1 -- -- const/4 v10, 0x5 -- -- const/4 v9, 0x3 -- -- const/4 v8, 0x0 -- -- const/16 v1, 0xc -- -- new-array v3, v1, [I -- -- const/4 v0, 0x0 -- -- :goto_a -- if-ge v0, v1, :cond_15 -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- aput v4, v3, v0 -- -- add-int/lit8 v0, v0, 0x1 -- -- goto :goto_a -- -- :cond_15 -- const-string v4, "RILJ" -- -- new-instance v6, Ljava/lang/StringBuilder; -- -- invoke-direct {v6}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v7, "responseSignalStength BEFORE: gsmDbm=" -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- aget v7, v3, v8 -- -- invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v6 -- -- invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v6 -- -- invoke-static {v4, v6}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- aget v4, v3, v8 -- -- const v6, 0xff00 -- -- and-int/2addr v4, v6 -- -- shr-int/lit8 v2, v4, 0x8 -- -- packed-switch v2, :pswitch_data_ba -- -- aget v4, v3, v8 -- -- and-int/lit16 v4, v4, 0xff -- -- aput v4, v3, v8 -- -- :goto_41 -- const/4 v4, 0x1 -- -- aput v5, v3, v4 -- -- aget v4, v3, v11 -- -- if-gez v4, :cond_a9 -- -- const/16 v4, -0x78 -- -- :goto_4a -- aput v4, v3, v11 -- -- aget v4, v3, v9 -- -- if-gez v4, :cond_ad -- -- const/16 v4, -0xa0 -- -- :goto_52 -- aput v4, v3, v9 -- -- const/4 v6, 0x4 -- -- const/4 v4, 0x4 -- -- aget v4, v3, v4 -- -- if-gez v4, :cond_b1 -- -- const/16 v4, -0x78 -- -- :goto_5c -- aput v4, v3, v6 -- -- aget v4, v3, v10 -- -- if-gez v4, :cond_b6 -- -- move v4, v5 -- -- :goto_63 -- aput v4, v3, v10 -- -- const/4 v4, 0x6 -- -- aget v4, v3, v4 -- -- if-ltz v4, :cond_71 -- -- const/4 v4, 0x6 -- -- aget v4, v3, v4 -- -- const/16 v6, 0x8 -- -- if-le v4, v6, :cond_74 -- -- :cond_71 -- const/4 v4, 0x6 -- -- aput v5, v3, v4 -- -- :cond_74 -- const-string v4, "RILJ" -- -- new-instance v5, Ljava/lang/StringBuilder; -- -- invoke-direct {v5}, Ljava/lang/StringBuilder;->()V -- -- const-string/jumbo v6, "responseSignalStength AFTER: gsmDbm=" -- -- invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v5 -- -- aget v6, v3, v8 -- -- invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; -- -- move-result-object v5 -- -- invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v5 -- -- invoke-static {v4, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- return-object v3 -- -- :pswitch_90 -- const/4 v4, 0x1 -- -- aput v4, v3, v8 -- -- goto :goto_41 -- -- :pswitch_94 -- aput v9, v3, v8 -- -- goto :goto_41 -- -- :pswitch_97 -- aput v10, v3, v8 -- -- goto :goto_41 -- -- :pswitch_9a -- const/16 v4, 0x8 -- -- aput v4, v3, v8 -- -- goto :goto_41 -- -- :pswitch_9f -- const/16 v4, 0xc -- -- aput v4, v3, v8 -- -- goto :goto_41 -- -- :pswitch_a4 -- const/16 v4, 0xf -- -- aput v4, v3, v8 -- -- goto :goto_41 -- -- :cond_a9 -- aget v4, v3, v11 -- -- neg-int v4, v4 -- -- goto :goto_4a -- -- :cond_ad -- aget v4, v3, v9 -- -- neg-int v4, v4 -- -- goto :goto_52 -- -- :cond_b1 -- const/4 v4, 0x4 -- -- aget v4, v3, v4 -- -- neg-int v4, v4 -- -- goto :goto_5c -- -- :cond_b6 -- aget v4, v3, v10 -- -- neg-int v4, v4 -- -- goto :goto_63 -- -- :pswitch_data_ba -- .packed-switch 0x0 -- :pswitch_90 -- :pswitch_94 -- :pswitch_97 -- :pswitch_9a -- :pswitch_9f -- :pswitch_a4 -- .end packed-switch --.end method -- --.method protected samsungUnsljLog(I)V -- .registers 4 -- -- new-instance v0, Ljava/lang/StringBuilder; -- -- invoke-direct {v0}, Ljava/lang/StringBuilder;->()V -- -- const-string v1, "[UNSL]< " -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- invoke-static {p1}, Lcom/android/internal/telephony/Smdk4210RIL;->samsungResponseToString(I)Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v0 -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/Smdk4210RIL;->riljLog(Ljava/lang/String;)V -- -- return-void --.end method -- --.method protected samsungUnsljLogMore(ILjava/lang/String;)V -- .registers 5 -- -- new-instance v0, Ljava/lang/StringBuilder; -- -- invoke-direct {v0}, Ljava/lang/StringBuilder;->()V -- -- const-string v1, "[UNSL]< " -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- invoke-static {p1}, Lcom/android/internal/telephony/Smdk4210RIL;->samsungResponseToString(I)Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, " " -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v0 -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/Smdk4210RIL;->riljLog(Ljava/lang/String;)V -- -- return-void --.end method -- --.method protected samsungUnsljLogRet(ILjava/lang/Object;)V -- .registers 5 -- -- new-instance v0, Ljava/lang/StringBuilder; -- -- invoke-direct {v0}, Ljava/lang/StringBuilder;->()V -- -- const-string v1, "[UNSL]< " -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- invoke-static {p1}, Lcom/android/internal/telephony/Smdk4210RIL;->samsungResponseToString(I)Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, " " -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/Smdk4210RIL;->retToString(ILjava/lang/Object;)Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v0 -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/Smdk4210RIL;->riljLog(Ljava/lang/String;)V -- -- return-void --.end method -- --.method protected samsungUnsljLogvRet(ILjava/lang/Object;)V -- .registers 5 -- -- new-instance v0, Ljava/lang/StringBuilder; -- -- invoke-direct {v0}, Ljava/lang/StringBuilder;->()V -- -- const-string v1, "[UNSL]< " -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- invoke-static {p1}, Lcom/android/internal/telephony/Smdk4210RIL;->samsungResponseToString(I)Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- const-string v1, " " -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/Smdk4210RIL;->retToString(ILjava/lang/Object;)Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v0 -- -- invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v0 -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/Smdk4210RIL;->riljLogv(Ljava/lang/String;)V -- -- return-void --.end method -- --.method public setCurrentPreferredNetworkType()V -- .registers 2 -- -- const-string/jumbo v0, "setCurrentPreferredNetworkType IGNORED" -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/Smdk4210RIL;->riljLog(Ljava/lang/String;)V -- -- return-void --.end method -- --.method public setPreferredNetworkType(ILandroid/os/Message;)V -- .registers 7 -- -- const/4 v3, 0x0 -- -- invoke-direct {p0}, Lcom/android/internal/telephony/Smdk4210RIL;->NeedReconnect()Z -- -- move-result v2 -- -- if-eqz v2, :cond_2f -- -- iget-object v2, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mSmdk4210Handler:Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler; -- -- if-nez v2, :cond_29 -- -- new-instance v0, Landroid/os/HandlerThread; -- -- const-string/jumbo v2, "mSmdk4210Thread" -- -- invoke-direct {v0, v2}, Landroid/os/HandlerThread;->(Ljava/lang/String;)V -- -- iput-object v0, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mSmdk4210Thread:Landroid/os/HandlerThread; -- -- iget-object v2, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mSmdk4210Thread:Landroid/os/HandlerThread; -- -- invoke-virtual {v2}, Landroid/os/HandlerThread;->start()V -- -- iget-object v2, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mSmdk4210Thread:Landroid/os/HandlerThread; -- -- invoke-virtual {v2}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper; -- -- move-result-object v1 -- -- new-instance v2, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler; -- -- iget-object v3, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mContext:Landroid/content/Context; -- -- invoke-direct {v2, p0, v3, v1}, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->(Lcom/android/internal/telephony/Smdk4210RIL;Landroid/content/Context;Landroid/os/Looper;)V -- -- iput-object v2, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mSmdk4210Handler:Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler; -- -- :cond_29 -- iget-object v2, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mSmdk4210Handler:Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler; -- -- invoke-virtual {v2, p1, p2}, Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler;->setPreferedNetworkType(ILandroid/os/Message;)V -- -- :goto_2e -- return-void -- -- :cond_2f -- iget-object v2, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mSmdk4210Handler:Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler; -- -- if-eqz v2, :cond_37 -- -- iput-object v3, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mSmdk4210Thread:Landroid/os/HandlerThread; -- -- iput-object v3, p0, Lcom/android/internal/telephony/Smdk4210RIL;->mSmdk4210Handler:Lcom/android/internal/telephony/Smdk4210RIL$ConnectivityHandler; -- -- :cond_37 -- invoke-direct {p0, p1, p2}, Lcom/android/internal/telephony/Smdk4210RIL;->sendPreferedNetworktype(ILandroid/os/Message;)V -- -- goto :goto_2e --.end method -diff -Npru stock-framework/smali/com/android/internal/telephony/SonyQualcommRIL.smali pdroid-framework/smali/com/android/internal/telephony/SonyQualcommRIL.smali ---- stock-framework/smali/com/android/internal/telephony/SonyQualcommRIL.smali 2012-10-12 12:25:02.492679287 -0500 -+++ pdroid-framework/smali/com/android/internal/telephony/SonyQualcommRIL.smali 1969-12-31 18:00:00.000000000 -0600 -@@ -1,428 +0,0 @@ --.class public Lcom/android/internal/telephony/SonyQualcommRIL; --.super Lcom/android/internal/telephony/QualcommSharedRIL; --.source "SonyQualcommRIL.java" -- --# interfaces --.implements Lcom/android/internal/telephony/CommandsInterface; -- -- --# instance fields --.field RILJ_LOGD:Z -- --.field RILJ_LOGV:Z -- -- --# direct methods --.method public constructor (Landroid/content/Context;II)V -- .registers 5 -- -- const/4 v0, 0x1 -- -- invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/QualcommSharedRIL;->(Landroid/content/Context;II)V -- -- iput-boolean v0, p0, Lcom/android/internal/telephony/SonyQualcommRIL;->RILJ_LOGV:Z -- -- iput-boolean v0, p0, Lcom/android/internal/telephony/SonyQualcommRIL;->RILJ_LOGD:Z -- -- return-void --.end method -- --.method private updateIccType(Lcom/android/internal/telephony/IccCardStatus;)V -- .registers 7 -- -- invoke-virtual {p1}, Lcom/android/internal/telephony/IccCardStatus;->getNumApplications()I -- -- move-result v2 -- -- if-lez v2, :cond_4a -- -- iget v2, p0, Lcom/android/internal/telephony/SonyQualcommRIL;->mPhoneType:I -- -- const/4 v3, 0x2 -- -- if-ne v2, v3, :cond_4b -- -- invoke-virtual {p1}, Lcom/android/internal/telephony/IccCardStatus;->getCdmaSubscriptionAppIndex()I -- -- move-result v0 -- -- :goto_f -- invoke-virtual {p1, v0}, Lcom/android/internal/telephony/IccCardStatus;->getApplication(I)Lcom/android/internal/telephony/IccCardApplication; -- -- move-result-object v1 -- -- iget-object v2, v1, Lcom/android/internal/telephony/IccCardApplication;->app_type:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- sget-object v3, Lcom/android/internal/telephony/IccCardApplication$AppType;->APPTYPE_USIM:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- if-ne v2, v3, :cond_50 -- -- const/4 v2, 0x1 -- -- :goto_1a -- iput-boolean v2, p0, Lcom/android/internal/telephony/SonyQualcommRIL;->mUSIM:Z -- -- iget v2, p0, Lcom/android/internal/telephony/SonyQualcommRIL;->mPreferredNetworkType:I -- -- iput v2, p0, Lcom/android/internal/telephony/SonyQualcommRIL;->mSetPreferredNetworkType:I -- -- iget-object v2, v1, Lcom/android/internal/telephony/IccCardApplication;->aid:Ljava/lang/String; -- -- iput-object v2, p0, Lcom/android/internal/telephony/SonyQualcommRIL;->mAid:Ljava/lang/String; -- -- iget-object v2, p0, Lcom/android/internal/telephony/SonyQualcommRIL;->mAid:Ljava/lang/String; -- -- invoke-static {v2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z -- -- move-result v2 -- -- if-eqz v2, :cond_30 -- -- const-string v2, "" -- -- iput-object v2, p0, Lcom/android/internal/telephony/SonyQualcommRIL;->mAid:Ljava/lang/String; -- -- :cond_30 -- const-string v2, "RILJ" -- -- new-instance v3, Ljava/lang/StringBuilder; -- -- invoke-direct {v3}, Ljava/lang/StringBuilder;->()V -- -- const-string v4, "Picked default AID: " -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- iget-object v4, p0, Lcom/android/internal/telephony/SonyQualcommRIL;->mAid:Ljava/lang/String; -- -- invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v3 -- -- invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v3 -- -- invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I -- -- :cond_4a -- return-void -- -- :cond_4b -- invoke-virtual {p1}, Lcom/android/internal/telephony/IccCardStatus;->getGsmUmtsSubscriptionAppIndex()I -- -- move-result v0 -- -- goto :goto_f -- -- :cond_50 -- const/4 v2, 0x0 -- -- goto :goto_1a --.end method -- -- --# virtual methods --.method public dial(Ljava/lang/String;ILcom/android/internal/telephony/UUSInfo;Landroid/os/Message;)V -- .registers 8 -- -- const/16 v1, 0xa -- -- invoke-static {v1, p4}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p2}, Landroid/os/Parcel;->writeInt(I)V -- -- if-nez p3, :cond_4b -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const/4 v2, 0x0 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- :goto_18 -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const/16 v2, 0xff -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-boolean v1, p0, Lcom/android/internal/telephony/SonyQualcommRIL;->RILJ_LOGD:Z -- -- if-eqz v1, :cond_47 -- -- new-instance v1, Ljava/lang/StringBuilder; -- -- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V -- -- invoke-virtual {v0}, Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- const-string v2, "> " -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- iget v2, v0, Lcom/android/internal/telephony/RILRequest;->mRequest:I -- -- invoke-static {v2}, Lcom/android/internal/telephony/SonyQualcommRIL;->requestToString(I)Ljava/lang/String; -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; -- -- move-result-object v1 -- -- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; -- -- move-result-object v1 -- -- invoke-virtual {p0, v1}, Lcom/android/internal/telephony/SonyQualcommRIL;->riljLog(Ljava/lang/String;)V -- -- :cond_47 -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/SonyQualcommRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void -- -- :cond_4b -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const/4 v2, 0x1 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {p3}, Lcom/android/internal/telephony/UUSInfo;->getType()I -- -- move-result v2 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {p3}, Lcom/android/internal/telephony/UUSInfo;->getDcs()I -- -- move-result v2 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {p3}, Lcom/android/internal/telephony/UUSInfo;->getUserData()[B -- -- move-result-object v2 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeByteArray([B)V -- -- goto :goto_18 --.end method -- --.method protected responseIccCardStatus(Landroid/os/Parcel;)Ljava/lang/Object; -- .registers 7 -- -- new-instance v3, Lcom/android/internal/telephony/IccCardStatus; -- -- invoke-direct {v3}, Lcom/android/internal/telephony/IccCardStatus;->()V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v3, v4}, Lcom/android/internal/telephony/IccCardStatus;->setCardState(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v3, v4}, Lcom/android/internal/telephony/IccCardStatus;->setUniversalPinState(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v3, v4}, Lcom/android/internal/telephony/IccCardStatus;->setGsmUmtsSubscriptionAppIndex(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v3, v4}, Lcom/android/internal/telephony/IccCardStatus;->setCdmaSubscriptionAppIndex(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v3, v4}, Lcom/android/internal/telephony/IccCardStatus;->setImsSubscriptionAppIndex(I)V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v2 -- -- const/16 v4, 0x8 -- -- if-le v2, v4, :cond_32 -- -- const/16 v2, 0x8 -- -- :cond_32 -- invoke-virtual {v3, v2}, Lcom/android/internal/telephony/IccCardStatus;->setNumApplications(I)V -- -- const/4 v1, 0x0 -- -- :goto_36 -- if-ge v1, v2, :cond_87 -- -- new-instance v0, Lcom/android/internal/telephony/IccCardApplication; -- -- invoke-direct {v0}, Lcom/android/internal/telephony/IccCardApplication;->()V -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v0, v4}, Lcom/android/internal/telephony/IccCardApplication;->AppTypeFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- move-result-object v4 -- -- iput-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->app_type:Lcom/android/internal/telephony/IccCardApplication$AppType; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v0, v4}, Lcom/android/internal/telephony/IccCardApplication;->AppStateFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- move-result-object v4 -- -- iput-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->app_state:Lcom/android/internal/telephony/IccCardApplication$AppState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v0, v4}, Lcom/android/internal/telephony/IccCardApplication;->PersoSubstateFromRILInt(I)Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- move-result-object v4 -- -- iput-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->perso_substate:Lcom/android/internal/telephony/IccCardApplication$PersoSubState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v4 -- -- iput-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->aid:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; -- -- move-result-object v4 -- -- iput-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->app_label:Ljava/lang/String; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- iput v4, v0, Lcom/android/internal/telephony/IccCardApplication;->pin1_replaced:I -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v0, v4}, Lcom/android/internal/telephony/IccCardApplication;->PinStateFromRILInt(I)Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- move-result-object v4 -- -- iput-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->pin1:Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I -- -- move-result v4 -- -- invoke-virtual {v0, v4}, Lcom/android/internal/telephony/IccCardApplication;->PinStateFromRILInt(I)Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- move-result-object v4 -- -- iput-object v4, v0, Lcom/android/internal/telephony/IccCardApplication;->pin2:Lcom/android/internal/telephony/IccCardStatus$PinState; -- -- invoke-virtual {v3, v0}, Lcom/android/internal/telephony/IccCardStatus;->addApplication(Lcom/android/internal/telephony/IccCardApplication;)V -- -- add-int/lit8 v1, v1, 0x1 -- -- goto :goto_36 -- -- :cond_87 -- invoke-direct {p0, v3}, Lcom/android/internal/telephony/SonyQualcommRIL;->updateIccType(Lcom/android/internal/telephony/IccCardStatus;)V -- -- return-object v3 --.end method -- --.method public setNetworkSelectionMode(Ljava/lang/String;Landroid/os/Message;)V -- .registers 6 -- -- if-nez p1, :cond_17 -- -- const/16 v1, 0x2e -- -- invoke-static {v1, p2}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- :goto_8 -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- invoke-virtual {v1, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V -- -- iget-object v1, v0, Lcom/android/internal/telephony/RILRequest;->mp:Landroid/os/Parcel; -- -- const/4 v2, -0x1 -- -- invoke-virtual {v1, v2}, Landroid/os/Parcel;->writeInt(I)V -- -- invoke-virtual {p0, v0}, Lcom/android/internal/telephony/SonyQualcommRIL;->send(Lcom/android/internal/telephony/RILRequest;)V -- -- return-void -- -- :cond_17 -- const/16 v1, 0x2f -- -- invoke-static {v1, p2}, Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest; -- -- move-result-object v0 -- -- goto :goto_8 --.end method -- --.method public setNetworkSelectionModeAutomatic(Landroid/os/Message;)V -- .registers 3 -- -- const/4 v0, 0x0 -- -- invoke-virtual {p0, v0, p1}, Lcom/android/internal/telephony/SonyQualcommRIL;->setNetworkSelectionMode(Ljava/lang/String;Landroid/os/Message;)V -- -- return-void --.end method -- --.method public setNetworkSelectionModeManual(Ljava/lang/String;Landroid/os/Message;)V -- .registers 3 -- -- invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/SonyQualcommRIL;->setNetworkSelectionMode(Ljava/lang/String;Landroid/os/Message;)V -- -- return-void --.end method +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/app/BackStackRecord.smali pdroid-framework/smali/android/app/BackStackRecord.smali +--- stock-framework/smali/android/app/BackStackRecord.smali 2012-08-06 13:25:41.867662617 -0500 ++++ pdroid-framework/smali/android/app/BackStackRecord.smali 2012-08-06 13:24:56.667438482 -0500 +@@ -758,12 +758,12 @@ + + iget v4, p0, Landroid/app/BackStackRecord;->mExitAnim:I + +- if-eqz v4, :cond_6d ++ if-eqz v4, :cond_6e + + :cond_4e + invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V + +- const-string v4, "mEnterAnim=#" ++ const-string/jumbo v4, "mEnterAnim=#" + + invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V + +@@ -787,16 +787,16 @@ + + invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V + +- :cond_6d ++ :cond_6e + iget v4, p0, Landroid/app/BackStackRecord;->mPopEnterAnim:I + +- if-nez v4, :cond_75 ++ if-nez v4, :cond_76 + + iget v4, p0, Landroid/app/BackStackRecord;->mPopExitAnim:I + +- if-eqz v4, :cond_95 ++ if-eqz v4, :cond_96 + +- :cond_75 ++ :cond_76 + invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V + + const-string/jumbo v4, "mPopEnterAnim=#" +@@ -823,16 +823,16 @@ + + invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V + +- :cond_95 ++ :cond_96 + iget v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbTitleRes:I + +- if-nez v4, :cond_9d ++ if-nez v4, :cond_9e + + iget-object v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbTitleText:Ljava/lang/CharSequence; + +- if-eqz v4, :cond_b8 ++ if-eqz v4, :cond_b9 + +- :cond_9d ++ :cond_9e + invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V + + const-string v4, "mBreadCrumbTitleRes=#" +@@ -855,16 +855,16 @@ + + invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V + +- :cond_b8 ++ :cond_b9 + iget v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbShortTitleRes:I + +- if-nez v4, :cond_c0 ++ if-nez v4, :cond_c1 + + iget-object v4, p0, Landroid/app/BackStackRecord;->mBreadCrumbShortTitleText:Ljava/lang/CharSequence; + +- if-eqz v4, :cond_db ++ if-eqz v4, :cond_dc + +- :cond_c0 ++ :cond_c1 + invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V + + const-string v4, "mBreadCrumbShortTitleRes=#" +@@ -887,10 +887,10 @@ + + invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V + +- :cond_db ++ :cond_dc + iget-object v4, p0, Landroid/app/BackStackRecord;->mHead:Landroid/app/BackStackRecord$Op; + +- if-eqz v4, :cond_1c1 ++ if-eqz v4, :cond_1c2 + + invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V + +@@ -920,8 +920,8 @@ + + const/4 v2, 0x0 + +- :goto_fd +- if-eqz v3, :cond_1c1 ++ :goto_fe ++ if-eqz v3, :cond_1c2 + + invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V + +@@ -955,13 +955,13 @@ + + iget v4, v3, Landroid/app/BackStackRecord$Op;->enterAnim:I + +- if-nez v4, :cond_12e ++ if-nez v4, :cond_12f + + iget v4, v3, Landroid/app/BackStackRecord$Op;->exitAnim:I + +- if-eqz v4, :cond_14d ++ if-eqz v4, :cond_14e + +- :cond_12e ++ :cond_12f + invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V + + const-string v4, "enterAnim=#" +@@ -988,16 +988,16 @@ + + invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V + +- :cond_14d ++ :cond_14e + iget v4, v3, Landroid/app/BackStackRecord$Op;->popEnterAnim:I + +- if-nez v4, :cond_155 ++ if-nez v4, :cond_156 + + iget v4, v3, Landroid/app/BackStackRecord$Op;->popExitAnim:I + +- if-eqz v4, :cond_175 ++ if-eqz v4, :cond_176 + +- :cond_155 ++ :cond_156 + invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V + + const-string/jumbo v4, "popEnterAnim=#" +@@ -1024,10 +1024,10 @@ + + invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V + +- :cond_175 ++ :cond_176 + iget-object v4, v3, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList; + +- if-eqz v4, :cond_1bd ++ if-eqz v4, :cond_1be + + iget-object v4, v3, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList; + +@@ -1035,18 +1035,18 @@ + + move-result v4 + +- if-lez v4, :cond_1bd ++ if-lez v4, :cond_1be + + const/4 v0, 0x0 + +- :goto_182 ++ :goto_183 + iget-object v4, v3, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList; + + invoke-virtual {v4}, Ljava/util/ArrayList;->size()I + + move-result v4 + +- if-ge v0, v4, :cond_1bd ++ if-ge v0, v4, :cond_1be + + invoke-virtual {p3, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V + +@@ -1058,13 +1058,13 @@ + + const/4 v5, 0x1 + +- if-ne v4, v5, :cond_1a7 ++ if-ne v4, v5, :cond_1a8 + + const-string v4, "Removed: " + + invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V + +- :goto_19b ++ :goto_19c + iget-object v4, v3, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList; + + invoke-virtual {v4, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; +@@ -1075,9 +1075,9 @@ + + add-int/lit8 v0, v0, 0x1 + +- goto :goto_182 ++ goto :goto_183 + +- :cond_1a7 ++ :cond_1a8 + const-string v4, "Removed:" + + invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V +@@ -1094,14 +1094,14 @@ + + invoke-virtual {p3, v4}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V + +- goto :goto_19b ++ goto :goto_19c + +- :cond_1bd ++ :cond_1be + iget-object v3, v3, Landroid/app/BackStackRecord$Op;->next:Landroid/app/BackStackRecord$Op; + +- goto/16 :goto_fd ++ goto/16 :goto_fe + +- :cond_1c1 ++ :cond_1c2 + return-void + .end method + +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/app/ContextImpl$39.smali pdroid-framework/smali/android/app/ContextImpl$39.smali +--- stock-framework/smali/android/app/ContextImpl$39.smali 1969-12-31 18:00:00.000000000 -0600 ++++ pdroid-framework/smali/android/app/ContextImpl$39.smali 2012-08-06 13:24:56.691438601 -0500 +@@ -0,0 +1,50 @@ ++.class final Landroid/app/ContextImpl$39; ++.super Landroid/app/ContextImpl$StaticServiceFetcher; ++.source "ContextImpl.java" ++ ++ ++# annotations ++.annotation system Ldalvik/annotation/EnclosingClass; ++ value = Landroid/app/ContextImpl; ++.end annotation ++ ++.annotation system Ldalvik/annotation/InnerClass; ++ accessFlags = 0x8 ++ name = null ++.end annotation ++ ++ ++# direct methods ++.method constructor ()V ++ .registers 1 ++ ++ invoke-direct {p0}, Landroid/app/ContextImpl$StaticServiceFetcher;->()V ++ ++ return-void ++.end method ++ ++ ++# virtual methods ++.method public createStaticService()Ljava/lang/Object; ++ .registers 5 ++ ++ const-string/jumbo v2, "privacy" ++ ++ invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder; ++ ++ move-result-object v0 ++ ++ invoke-static {v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager; ++ ++ move-result-object v1 ++ ++ new-instance v2, Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context; ++ ++ move-result-object v3 ++ ++ invoke-direct {v2, v3, v1}, Landroid/privacy/PrivacySettingsManager;->(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V ++ ++ return-object v2 ++.end method +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/app/ContextImpl$3.smali pdroid-framework/smali/android/app/ContextImpl$3.smali +--- stock-framework/smali/android/app/ContextImpl$3.smali 2012-08-06 13:25:41.887662721 -0500 ++++ pdroid-framework/smali/android/app/ContextImpl$3.smali 2012-08-06 13:24:56.695438626 -0500 +@@ -38,9 +38,9 @@ + + move-result-object v1 + +- new-instance v2, Landroid/accounts/AccountManager; ++ new-instance v2, Landroid/privacy/surrogate/PrivacyAccountManager; + +- invoke-direct {v2, p1, v1}, Landroid/accounts/AccountManager;->(Landroid/content/Context;Landroid/accounts/IAccountManager;)V ++ invoke-direct {v2, p1, v1}, Landroid/privacy/surrogate/PrivacyAccountManager;->(Landroid/content/Context;Landroid/accounts/IAccountManager;)V + + return-object v2 + .end method +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/app/ContextImpl.smali pdroid-framework/smali/android/app/ContextImpl.smali +--- stock-framework/smali/android/app/ContextImpl.smali 2012-08-06 13:25:41.911662841 -0500 ++++ pdroid-framework/smali/android/app/ContextImpl.smali 2012-08-06 13:24:56.727438781 -0500 +@@ -36,6 +36,8 @@ + + .field private static sNextPerContextServiceCacheIndex:I + ++.field private static sOuterContext:Landroid/content/Context; ++ + .field private static final sSharedPrefs:Ljava/util/HashMap; + .annotation system Ldalvik/annotation/Signature; + value = { +@@ -434,6 +436,14 @@ + + invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V + ++ const-string/jumbo v0, "privacy" ++ ++ new-instance v1, Landroid/app/ContextImpl$39; ++ ++ invoke-direct {v1}, Landroid/app/ContextImpl$39;->()V ++ ++ invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V ++ + return-void + .end method + +@@ -468,6 +478,8 @@ + + iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context; + ++ sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context; ++ + return-void + .end method + +@@ -522,6 +534,8 @@ + + iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context; + ++ sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context; ++ + return-void + .end method + +@@ -991,6 +1005,14 @@ + throw v0 + .end method + ++.method static final getStaticOuterContext()Landroid/content/Context; ++ .registers 1 ++ ++ sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context; ++ ++ return-object v0 ++.end method ++ + .method private getWallpaperManager()Landroid/app/WallpaperManager; + .registers 2 + +@@ -4264,6 +4286,8 @@ + + iput-object p1, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context; + ++ sput-object p1, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context; ++ + return-void + .end method + +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/content/ContentResolver.smali pdroid-framework/smali/android/content/ContentResolver.smali +--- stock-framework/smali/android/content/ContentResolver.smali 2012-08-06 13:25:41.899662777 -0500 ++++ pdroid-framework/smali/android/content/ContentResolver.smali 2012-08-06 13:24:56.711438699 -0500 +@@ -3506,8 +3506,8 @@ + + invoke-virtual {v0, v9}, Landroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V + :try_end_1d +- .catchall {:try_start_a .. :try_end_1d} :catchall_a8 +- .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_9b ++ .catchall {:try_start_a .. :try_end_1d} :catchall_b6 ++ .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_a9 + + :cond_1d + move-object/from16 v4, p1 +@@ -3523,64 +3523,82 @@ + :try_start_27 + invoke-interface/range {v3 .. v9}, Landroid/content/IContentProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/ICancellationSignal;)Landroid/database/Cursor; + :try_end_2a +- .catchall {:try_start_27 .. :try_end_2a} :catchall_a8 +- .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_3e +- .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_9b ++ .catchall {:try_start_27 .. :try_end_2a} :catchall_b6 ++ .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_4c ++ .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_a9 + + move-result-object v19 + + :goto_2b +- if-nez v19, :cond_67 ++ :try_start_2b ++ move-object/from16 v0, p0 ++ ++ iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context; ++ ++ move-object/from16 v0, p1 ++ ++ move-object/from16 v1, p2 ++ ++ move-object/from16 v2, v19 ++ ++ invoke-static {v0, v1, v4, v2}, Landroid/privacy/surrogate/PrivacyContentResolver;->enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor; ++ :try_end_38 ++ .catchall {:try_start_2b .. :try_end_38} :catchall_b6 ++ .catch Landroid/os/RemoteException; {:try_start_2b .. :try_end_38} :catch_a9 ++ ++ move-result-object v19 ++ ++ if-nez v19, :cond_75 + + const/16 v22, 0x0 + +- if-eqz v3, :cond_36 ++ if-eqz v3, :cond_44 + + move-object/from16 v0, p0 + + invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z + +- :cond_36 ++ :cond_44 + if-eqz v10, :cond_8 + +- :goto_38 ++ :goto_46 + move-object/from16 v0, p0 + + invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z + + goto :goto_8 + +- :catch_3e ++ :catch_4c + move-exception v18 + +- :try_start_3f ++ :try_start_4d + move-object/from16 v0, p0 + + invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V + + invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider; +- :try_end_47 +- .catchall {:try_start_3f .. :try_end_47} :catchall_a8 +- .catch Landroid/os/RemoteException; {:try_start_3f .. :try_end_47} :catch_9b ++ :try_end_55 ++ .catchall {:try_start_4d .. :try_end_55} :catchall_b6 ++ .catch Landroid/os/RemoteException; {:try_start_4d .. :try_end_55} :catch_a9 + + move-result-object v10 + +- if-nez v10, :cond_56 ++ if-nez v10, :cond_64 + + const/16 v22, 0x0 + +- if-eqz v3, :cond_53 ++ if-eqz v3, :cond_61 + + move-object/from16 v0, p0 + + invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z + +- :cond_53 ++ :cond_61 + if-eqz v10, :cond_8 + +- goto :goto_38 ++ goto :goto_46 + +- :cond_56 ++ :cond_64 + move-object/from16 v11, p1 + + move-object/from16 v12, p2 +@@ -3593,14 +3611,14 @@ + + move-object/from16 v16, v9 + +- :try_start_62 ++ :try_start_70 + invoke-interface/range {v10 .. v16}, Landroid/content/IContentProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/ICancellationSignal;)Landroid/database/Cursor; + + move-result-object v19 + + goto :goto_2b + +- :cond_67 ++ :cond_75 + invoke-interface/range {v19 .. v19}, Landroid/database/Cursor;->getCount()I + + invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J +@@ -3623,11 +3641,11 @@ + + new-instance v22, Landroid/content/ContentResolver$CursorWrapperInner; + +- if-eqz v10, :cond_96 ++ if-eqz v10, :cond_a4 + + move-object v4, v10 + +- :goto_82 ++ :goto_90 + move-object/from16 v0, v22 + + move-object/from16 v1, p0 +@@ -3635,67 +3653,67 @@ + move-object/from16 v2, v19 + + invoke-direct {v0, v1, v2, v4}, Landroid/content/ContentResolver$CursorWrapperInner;->(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V +- :try_end_8b +- .catchall {:try_start_62 .. :try_end_8b} :catchall_a8 +- .catch Landroid/os/RemoteException; {:try_start_62 .. :try_end_8b} :catch_9b ++ :try_end_99 ++ .catchall {:try_start_70 .. :try_end_99} :catchall_b6 ++ .catch Landroid/os/RemoteException; {:try_start_70 .. :try_end_99} :catch_a9 + + const/4 v10, 0x0 + +- if-eqz v3, :cond_93 ++ if-eqz v3, :cond_a1 + + move-object/from16 v0, p0 + + invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z + +- :cond_93 ++ :cond_a1 + if-eqz v10, :cond_8 + +- goto :goto_38 ++ goto :goto_46 + +- :cond_96 +- :try_start_96 ++ :cond_a4 ++ :try_start_a4 + invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider; +- :try_end_99 +- .catchall {:try_start_96 .. :try_end_99} :catchall_a8 +- .catch Landroid/os/RemoteException; {:try_start_96 .. :try_end_99} :catch_9b ++ :try_end_a7 ++ .catchall {:try_start_a4 .. :try_end_a7} :catchall_b6 ++ .catch Landroid/os/RemoteException; {:try_start_a4 .. :try_end_a7} :catch_a9 + + move-result-object v4 + +- goto :goto_82 ++ goto :goto_90 + +- :catch_9b ++ :catch_a9 + move-exception v18 + + const/16 v22, 0x0 + +- if-eqz v3, :cond_a5 ++ if-eqz v3, :cond_b3 + + move-object/from16 v0, p0 + + invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z + +- :cond_a5 ++ :cond_b3 + if-eqz v10, :cond_8 + +- goto :goto_38 ++ goto :goto_46 + +- :catchall_a8 ++ :catchall_b6 + move-exception v4 + +- if-eqz v3, :cond_b0 ++ if-eqz v3, :cond_be + + move-object/from16 v0, p0 + + invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z + +- :cond_b0 +- if-eqz v10, :cond_b7 ++ :cond_be ++ if-eqz v10, :cond_c5 + + move-object/from16 v0, p0 + + invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z + +- :cond_b7 ++ :cond_c5 + throw v4 + .end method + +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/content/pm/ContainerEncryptionParams.smali pdroid-framework/smali/android/content/pm/ContainerEncryptionParams.smali +--- stock-framework/smali/android/content/pm/ContainerEncryptionParams.smali 2012-08-06 13:25:43.247669460 -0500 ++++ pdroid-framework/smali/android/content/pm/ContainerEncryptionParams.smali 2012-08-06 13:24:58.615448147 -0500 +@@ -801,7 +801,7 @@ + + invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V + +- const-string v1, "mEncryptionAlgorithm=\"" ++ const-string/jumbo v1, "mEncryptionAlgorithm=\"" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + +@@ -813,7 +813,7 @@ + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + +- const-string v1, "mEncryptionSpec=" ++ const-string/jumbo v1, "mEncryptionSpec=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + +@@ -825,7 +825,7 @@ + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + +- const-string v1, "mEncryptionKey=" ++ const-string/jumbo v1, "mEncryptionKey=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/location/Location.smali pdroid-framework/smali/android/location/Location.smali +--- stock-framework/smali/android/location/Location.smali 2012-08-06 13:25:44.015673270 -0500 ++++ pdroid-framework/smali/android/location/Location.smali 2012-08-06 13:24:59.307451573 -0500 +@@ -1859,7 +1859,7 @@ + + move-result-object v0 + +- const-string v1, "mExtras=" ++ const-string/jumbo v1, "mExtras=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/privacy/IPrivacySettingsManager.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali +--- stock-framework/smali/android/privacy/IPrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600 ++++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali 2012-08-06 13:25:00.015455084 -0500 +@@ -0,0 +1,104 @@ ++.class public interface abstract Landroid/privacy/IPrivacySettingsManager; ++.super Ljava/lang/Object; ++.source "IPrivacySettingsManager.java" ++ ++# interfaces ++.implements Landroid/os/IInterface; ++ ++ ++# annotations ++.annotation system Ldalvik/annotation/MemberClasses; ++ value = { ++ Landroid/privacy/IPrivacySettingsManager$Stub; ++ } ++.end annotation ++ ++ ++# virtual methods ++.method public abstract addObserver(Ljava/lang/String;)V ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++.end method ++ ++.method public abstract deleteSettings(Ljava/lang/String;)Z ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++.end method ++ ++.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings; ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++.end method ++ ++.method public abstract getVersion()D ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++.end method ++ ++.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++.end method ++ ++.method public abstract purgeSettings()Z ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++.end method ++ ++.method public abstract registerObservers()V ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++.end method ++ ++.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++.end method ++ ++.method public abstract setBootCompleted()V ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++.end method ++ ++.method public abstract setEnabled(Z)Z ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++.end method ++ ++.method public abstract setNotificationsEnabled(Z)Z ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++.end method +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali +--- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 1969-12-31 18:00:00.000000000 -0600 ++++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 2012-08-06 13:25:00.015455084 -0500 +@@ -0,0 +1,743 @@ ++.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy; ++.super Ljava/lang/Object; ++.source "IPrivacySettingsManager.java" ++ ++# interfaces ++.implements Landroid/privacy/IPrivacySettingsManager; ++ ++ ++# annotations ++.annotation system Ldalvik/annotation/EnclosingClass; ++ value = Landroid/privacy/IPrivacySettingsManager$Stub; ++.end annotation ++ ++.annotation system Ldalvik/annotation/InnerClass; ++ accessFlags = 0xa ++ name = "Proxy" ++.end annotation ++ ++ ++# instance fields ++.field private mRemote:Landroid/os/IBinder; ++ ++ ++# direct methods ++.method constructor (Landroid/os/IBinder;)V ++ .registers 2 ++ ++ invoke-direct {p0}, Ljava/lang/Object;->()V ++ ++ iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; ++ ++ return-void ++.end method ++ ++ ++# virtual methods ++.method public addObserver(Ljava/lang/String;)V ++ .registers 7 ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++ ++ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; ++ ++ move-result-object v0 ++ ++ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; ++ ++ move-result-object v1 ++ ++ :try_start_8 ++ const-string v2, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V ++ ++ invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V ++ ++ iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; ++ ++ const/4 v3, 0x6 ++ ++ const/4 v4, 0x0 ++ ++ invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->readException()V ++ :try_end_1a ++ .catchall {:try_start_8 .. :try_end_1a} :catchall_21 ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V ++ ++ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V ++ ++ return-void ++ ++ :catchall_21 ++ move-exception v2 ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V ++ ++ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V ++ ++ throw v2 ++.end method ++ ++.method public asBinder()Landroid/os/IBinder; ++ .registers 2 ++ ++ iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; ++ ++ return-object v0 ++.end method ++ ++.method public deleteSettings(Ljava/lang/String;)Z ++ .registers 8 ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++ ++ const/4 v2, 0x0 ++ ++ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; ++ ++ move-result-object v0 ++ ++ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; ++ ++ move-result-object v1 ++ ++ :try_start_9 ++ const-string v3, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V ++ ++ invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V ++ ++ iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; ++ ++ const/4 v4, 0x3 ++ ++ const/4 v5, 0x0 ++ ++ invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->readException()V ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I ++ :try_end_1e ++ .catchall {:try_start_9 .. :try_end_1e} :catchall_29 ++ ++ move-result v3 ++ ++ if-eqz v3, :cond_22 ++ ++ const/4 v2, 0x1 ++ ++ :cond_22 ++ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V ++ ++ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V ++ ++ return v2 ++ ++ :catchall_29 ++ move-exception v3 ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V ++ ++ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V ++ ++ throw v3 ++.end method ++ ++.method public getInterfaceDescriptor()Ljava/lang/String; ++ .registers 2 ++ ++ const-string v0, "android.privacy.IPrivacySettingsManager" ++ ++ return-object v0 ++.end method ++ ++.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings; ++ .registers 8 ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++ ++ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; ++ ++ move-result-object v0 ++ ++ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; ++ ++ move-result-object v1 ++ ++ :try_start_8 ++ const-string v3, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V ++ ++ invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V ++ ++ iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; ++ ++ const/4 v4, 0x1 ++ ++ const/4 v5, 0x0 ++ ++ invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->readException()V ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I ++ ++ move-result v3 ++ ++ if-eqz v3, :cond_2f ++ ++ sget-object v3, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator; ++ ++ invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; ++ ++ move-result-object v2 ++ ++ check-cast v2, Landroid/privacy/PrivacySettings; ++ :try_end_28 ++ .catchall {:try_start_8 .. :try_end_28} :catchall_31 ++ ++ :goto_28 ++ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V ++ ++ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V ++ ++ return-object v2 ++ ++ :cond_2f ++ const/4 v2, 0x0 ++ ++ goto :goto_28 ++ ++ :catchall_31 ++ move-exception v3 ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V ++ ++ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V ++ ++ throw v3 ++.end method ++ ++.method public getVersion()D ++ .registers 8 ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++ ++ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; ++ ++ move-result-object v0 ++ ++ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; ++ ++ move-result-object v1 ++ ++ :try_start_8 ++ const-string v4, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V ++ ++ iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; ++ ++ const/16 v5, 0x8 ++ ++ const/4 v6, 0x0 ++ ++ invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->readException()V ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->readDouble()D ++ :try_end_1b ++ .catchall {:try_start_8 .. :try_end_1b} :catchall_23 ++ ++ move-result-wide v2 ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V ++ ++ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V ++ ++ return-wide v2 ++ ++ :catchall_23 ++ move-exception v4 ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V ++ ++ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V ++ ++ throw v4 ++.end method ++ ++.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V ++ .registers 10 ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++ ++ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; ++ ++ move-result-object v0 ++ ++ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; ++ ++ move-result-object v1 ++ ++ :try_start_8 ++ const-string v2, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V ++ ++ invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V ++ ++ invoke-virtual {v0, p2}, Landroid/os/Parcel;->writeByte(B)V ++ ++ invoke-virtual {v0, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V ++ ++ invoke-virtual {v0, p4}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V ++ ++ iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; ++ ++ const/4 v3, 0x4 ++ ++ const/4 v4, 0x0 ++ ++ invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->readException()V ++ :try_end_23 ++ .catchall {:try_start_8 .. :try_end_23} :catchall_2a ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V ++ ++ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V ++ ++ return-void ++ ++ :catchall_2a ++ move-exception v2 ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V ++ ++ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V ++ ++ throw v2 ++.end method ++ ++.method public purgeSettings()Z ++ .registers 7 ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++ ++ const/4 v2, 0x0 ++ ++ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; ++ ++ move-result-object v0 ++ ++ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; ++ ++ move-result-object v1 ++ ++ :try_start_9 ++ const-string v3, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V ++ ++ iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; ++ ++ const/4 v4, 0x7 ++ ++ const/4 v5, 0x0 ++ ++ invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->readException()V ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I ++ :try_end_1b ++ .catchall {:try_start_9 .. :try_end_1b} :catchall_26 ++ ++ move-result v3 ++ ++ if-eqz v3, :cond_1f ++ ++ const/4 v2, 0x1 ++ ++ :cond_1f ++ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V ++ ++ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V ++ ++ return v2 ++ ++ :catchall_26 ++ move-exception v3 ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V ++ ++ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V ++ ++ throw v3 ++.end method ++ ++.method public registerObservers()V ++ .registers 6 ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++ ++ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; ++ ++ move-result-object v0 ++ ++ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; ++ ++ move-result-object v1 ++ ++ :try_start_8 ++ const-string v2, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V ++ ++ iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; ++ ++ const/4 v3, 0x5 ++ ++ const/4 v4, 0x0 ++ ++ invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->readException()V ++ :try_end_17 ++ .catchall {:try_start_8 .. :try_end_17} :catchall_1e ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V ++ ++ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V ++ ++ return-void ++ ++ :catchall_1e ++ move-exception v2 ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V ++ ++ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V ++ ++ throw v2 ++.end method ++ ++.method public saveSettings(Landroid/privacy/PrivacySettings;)Z ++ .registers 9 ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++ ++ const/4 v2, 0x1 ++ ++ const/4 v3, 0x0 ++ ++ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; ++ ++ move-result-object v0 ++ ++ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; ++ ++ move-result-object v1 ++ ++ :try_start_a ++ const-string v4, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V ++ ++ if-eqz p1, :cond_30 ++ ++ const/4 v4, 0x1 ++ ++ invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V ++ ++ const/4 v4, 0x0 ++ ++ invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V ++ ++ :goto_19 ++ iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; ++ ++ const/4 v5, 0x2 ++ ++ const/4 v6, 0x0 ++ ++ invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->readException()V ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I ++ :try_end_26 ++ .catchall {:try_start_a .. :try_end_26} :catchall_35 ++ ++ move-result v4 ++ ++ if-eqz v4, :cond_3d ++ ++ :goto_29 ++ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V ++ ++ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V ++ ++ return v2 ++ ++ :cond_30 ++ const/4 v4, 0x0 ++ ++ :try_start_31 ++ invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V ++ :try_end_34 ++ .catchall {:try_start_31 .. :try_end_34} :catchall_35 ++ ++ goto :goto_19 ++ ++ :catchall_35 ++ move-exception v3 ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V ++ ++ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V ++ ++ throw v3 ++ ++ :cond_3d ++ move v2, v3 ++ ++ goto :goto_29 ++.end method ++ ++.method public setBootCompleted()V ++ .registers 6 ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++ ++ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; ++ ++ move-result-object v0 ++ ++ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; ++ ++ move-result-object v1 ++ ++ :try_start_8 ++ const-string v2, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V ++ ++ iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; ++ ++ const/16 v3, 0xb ++ ++ const/4 v4, 0x0 ++ ++ invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->readException()V ++ :try_end_18 ++ .catchall {:try_start_8 .. :try_end_18} :catchall_1f ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V ++ ++ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V ++ ++ return-void ++ ++ :catchall_1f ++ move-exception v2 ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V ++ ++ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V ++ ++ throw v2 ++.end method ++ ++.method public setEnabled(Z)Z ++ .registers 9 ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++ ++ const/4 v2, 0x1 ++ ++ const/4 v3, 0x0 ++ ++ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; ++ ++ move-result-object v0 ++ ++ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; ++ ++ move-result-object v1 ++ ++ :try_start_a ++ const-string v4, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V ++ ++ if-eqz p1, :cond_2d ++ ++ move v4, v2 ++ ++ :goto_12 ++ invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V ++ ++ iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; ++ ++ const/16 v5, 0x9 ++ ++ const/4 v6, 0x0 ++ ++ invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->readException()V ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I ++ :try_end_23 ++ .catchall {:try_start_a .. :try_end_23} :catchall_31 ++ ++ move-result v4 ++ ++ if-eqz v4, :cond_2f ++ ++ :goto_26 ++ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V ++ ++ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V ++ ++ return v2 ++ ++ :cond_2d ++ move v4, v3 ++ ++ goto :goto_12 ++ ++ :cond_2f ++ move v2, v3 ++ ++ goto :goto_26 ++ ++ :catchall_31 ++ move-exception v3 ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V ++ ++ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V ++ ++ throw v3 ++.end method ++ ++.method public setNotificationsEnabled(Z)Z ++ .registers 9 ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++ ++ const/4 v2, 0x1 ++ ++ const/4 v3, 0x0 ++ ++ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; ++ ++ move-result-object v0 ++ ++ invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel; ++ ++ move-result-object v1 ++ ++ :try_start_a ++ const-string v4, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V ++ ++ if-eqz p1, :cond_2d ++ ++ move v4, v2 ++ ++ :goto_12 ++ invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V ++ ++ iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; ++ ++ const/16 v5, 0xa ++ ++ const/4 v6, 0x0 ++ ++ invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->readException()V ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I ++ :try_end_23 ++ .catchall {:try_start_a .. :try_end_23} :catchall_31 ++ ++ move-result v4 ++ ++ if-eqz v4, :cond_2f ++ ++ :goto_26 ++ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V ++ ++ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V ++ ++ return v2 ++ ++ :cond_2d ++ move v4, v3 ++ ++ goto :goto_12 ++ ++ :cond_2f ++ move v2, v3 ++ ++ goto :goto_26 ++ ++ :catchall_31 ++ move-exception v3 ++ ++ invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V ++ ++ invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V ++ ++ throw v3 ++.end method +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali +--- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 1969-12-31 18:00:00.000000000 -0600 ++++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 2012-08-06 13:25:00.019455109 -0500 +@@ -0,0 +1,412 @@ ++.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub; ++.super Landroid/os/Binder; ++.source "IPrivacySettingsManager.java" ++ ++# interfaces ++.implements Landroid/privacy/IPrivacySettingsManager; ++ ++ ++# annotations ++.annotation system Ldalvik/annotation/EnclosingClass; ++ value = Landroid/privacy/IPrivacySettingsManager; ++.end annotation ++ ++.annotation system Ldalvik/annotation/InnerClass; ++ accessFlags = 0x409 ++ name = "Stub" ++.end annotation ++ ++.annotation system Ldalvik/annotation/MemberClasses; ++ value = { ++ Landroid/privacy/IPrivacySettingsManager$Stub$Proxy; ++ } ++.end annotation ++ ++ ++# static fields ++.field private static final DESCRIPTOR:Ljava/lang/String; = "android.privacy.IPrivacySettingsManager" ++ ++.field static final TRANSACTION_addObserver:I = 0x6 ++ ++.field static final TRANSACTION_deleteSettings:I = 0x3 ++ ++.field static final TRANSACTION_getSettings:I = 0x1 ++ ++.field static final TRANSACTION_getVersion:I = 0x8 ++ ++.field static final TRANSACTION_notification:I = 0x4 ++ ++.field static final TRANSACTION_purgeSettings:I = 0x7 ++ ++.field static final TRANSACTION_registerObservers:I = 0x5 ++ ++.field static final TRANSACTION_saveSettings:I = 0x2 ++ ++.field static final TRANSACTION_setBootCompleted:I = 0xb ++ ++.field static final TRANSACTION_setEnabled:I = 0x9 ++ ++.field static final TRANSACTION_setNotificationsEnabled:I = 0xa ++ ++ ++# direct methods ++.method public constructor ()V ++ .registers 2 ++ ++ invoke-direct {p0}, Landroid/os/Binder;->()V ++ ++ const-string v0, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {p0, p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V ++ ++ return-void ++.end method ++ ++.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager; ++ .registers 3 ++ ++ if-nez p0, :cond_4 ++ ++ const/4 v0, 0x0 ++ ++ :goto_3 ++ return-object v0 ++ ++ :cond_4 ++ const-string v1, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-interface {p0, v1}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface; ++ ++ move-result-object v0 ++ ++ if-eqz v0, :cond_13 ++ ++ instance-of v1, v0, Landroid/privacy/IPrivacySettingsManager; ++ ++ if-eqz v1, :cond_13 ++ ++ check-cast v0, Landroid/privacy/IPrivacySettingsManager; ++ ++ goto :goto_3 ++ ++ :cond_13 ++ new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy; ++ ++ invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->(Landroid/os/IBinder;)V ++ ++ goto :goto_3 ++.end method ++ ++ ++# virtual methods ++.method public asBinder()Landroid/os/IBinder; ++ .registers 1 ++ ++ return-object p0 ++.end method ++ ++.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z ++ .registers 14 ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++ ++ const/4 v6, 0x0 ++ ++ const/4 v7, 0x1 ++ ++ sparse-switch p1, :sswitch_data_10e ++ ++ invoke-super {p0, p1, p2, p3, p4}, Landroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z ++ ++ move-result v7 ++ ++ :goto_9 ++ return v7 ++ ++ :sswitch_a ++ const-string v6, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V ++ ++ goto :goto_9 ++ ++ :sswitch_10 ++ const-string v8, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V ++ ++ invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v4 ++ ++ invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V ++ ++ if-eqz v4, :cond_29 ++ ++ invoke-virtual {p3, v7}, Landroid/os/Parcel;->writeInt(I)V ++ ++ invoke-virtual {v4, p3, v7}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V ++ ++ goto :goto_9 ++ ++ :cond_29 ++ invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V ++ ++ goto :goto_9 ++ ++ :sswitch_2d ++ const-string v8, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V ++ ++ invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I ++ ++ move-result v8 ++ ++ if-eqz v8, :cond_4e ++ ++ sget-object v8, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator; ++ ++ invoke-interface {v8, p2}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; ++ ++ move-result-object v0 ++ ++ check-cast v0, Landroid/privacy/PrivacySettings; ++ ++ :goto_40 ++ invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z ++ ++ move-result v4 ++ ++ invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V ++ ++ if-eqz v4, :cond_4a ++ ++ move v6, v7 ++ ++ :cond_4a ++ invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V ++ ++ goto :goto_9 ++ ++ :cond_4e ++ const/4 v0, 0x0 ++ ++ goto :goto_40 ++ ++ :sswitch_50 ++ const-string v8, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V ++ ++ invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->deleteSettings(Ljava/lang/String;)Z ++ ++ move-result v4 ++ ++ invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V ++ ++ if-eqz v4, :cond_63 ++ ++ move v6, v7 ++ ++ :cond_63 ++ invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V ++ ++ goto :goto_9 ++ ++ :sswitch_67 ++ const-string v6, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V ++ ++ invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ invoke-virtual {p2}, Landroid/os/Parcel;->readByte()B ++ ++ move-result v1 ++ ++ invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String; ++ ++ move-result-object v2 ++ ++ invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String; ++ ++ move-result-object v3 ++ ++ invoke-virtual {p0, v0, v1, v2, v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V ++ ++ invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V ++ ++ goto :goto_9 ++ ++ :sswitch_83 ++ const-string v6, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V ++ ++ invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->registerObservers()V ++ ++ invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V ++ ++ goto/16 :goto_9 ++ ++ :sswitch_90 ++ const-string v6, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V ++ ++ invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->addObserver(Ljava/lang/String;)V ++ ++ invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V ++ ++ goto/16 :goto_9 ++ ++ :sswitch_a1 ++ const-string v8, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V ++ ++ invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->purgeSettings()Z ++ ++ move-result v4 ++ ++ invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V ++ ++ if-eqz v4, :cond_b0 ++ ++ move v6, v7 ++ ++ :cond_b0 ++ invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V ++ ++ goto/16 :goto_9 ++ ++ :sswitch_b5 ++ const-string v6, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V ++ ++ invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getVersion()D ++ ++ move-result-wide v4 ++ ++ invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V ++ ++ invoke-virtual {p3, v4, v5}, Landroid/os/Parcel;->writeDouble(D)V ++ ++ goto/16 :goto_9 ++ ++ :sswitch_c6 ++ const-string v8, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V ++ ++ invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I ++ ++ move-result v8 ++ ++ if-eqz v8, :cond_e1 ++ ++ move v0, v7 ++ ++ :goto_d2 ++ invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z ++ ++ move-result v4 ++ ++ invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V ++ ++ if-eqz v4, :cond_dc ++ ++ move v6, v7 ++ ++ :cond_dc ++ invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V ++ ++ goto/16 :goto_9 ++ ++ :cond_e1 ++ move v0, v6 ++ ++ goto :goto_d2 ++ ++ :sswitch_e3 ++ const-string v8, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V ++ ++ invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I ++ ++ move-result v8 ++ ++ if-eqz v8, :cond_fe ++ ++ move v0, v7 ++ ++ :goto_ef ++ invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z ++ ++ move-result v4 ++ ++ invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V ++ ++ if-eqz v4, :cond_f9 ++ ++ move v6, v7 ++ ++ :cond_f9 ++ invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V ++ ++ goto/16 :goto_9 ++ ++ :cond_fe ++ move v0, v6 ++ ++ goto :goto_ef ++ ++ :sswitch_100 ++ const-string v6, "android.privacy.IPrivacySettingsManager" ++ ++ invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V ++ ++ invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setBootCompleted()V ++ ++ invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V ++ ++ goto/16 :goto_9 ++ ++ nop ++ ++ :sswitch_data_10e ++ .sparse-switch ++ 0x1 -> :sswitch_10 ++ 0x2 -> :sswitch_2d ++ 0x3 -> :sswitch_50 ++ 0x4 -> :sswitch_67 ++ 0x5 -> :sswitch_83 ++ 0x6 -> :sswitch_90 ++ 0x7 -> :sswitch_a1 ++ 0x8 -> :sswitch_b5 ++ 0x9 -> :sswitch_c6 ++ 0xa -> :sswitch_e3 ++ 0xb -> :sswitch_100 ++ 0x5f4e5446 -> :sswitch_a ++ .end sparse-switch ++.end method +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/privacy/PrivacyFileObserver.smali pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali +--- stock-framework/smali/android/privacy/PrivacyFileObserver.smali 1969-12-31 18:00:00.000000000 -0600 ++++ pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali 2012-08-06 13:25:00.019455109 -0500 +@@ -0,0 +1,217 @@ ++.class public Landroid/privacy/PrivacyFileObserver; ++.super Landroid/os/FileObserver; ++.source "PrivacyFileObserver.java" ++ ++ ++# static fields ++.field public static final PACKAGE_PATH_INDEX:I = 0x3 ++ ++.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver" ++ ++ ++# instance fields ++.field public absolutePath:Ljava/lang/String; ++ ++.field public children:Ljava/util/HashMap; ++ .annotation system Ldalvik/annotation/Signature; ++ value = { ++ "Ljava/util/HashMap", ++ "<", ++ "Ljava/lang/String;", ++ "Landroid/privacy/PrivacyFileObserver;", ++ ">;" ++ } ++ .end annotation ++.end field ++ ++.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService; ++ ++ ++# direct methods ++.method public constructor (Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V ++ .registers 12 ++ ++ const/16 v8, 0xfff ++ ++ invoke-direct {p0, p1, v8}, Landroid/os/FileObserver;->(Ljava/lang/String;I)V ++ ++ iput-object p1, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String; ++ ++ iput-object p2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService; ++ ++ new-instance v8, Ljava/util/HashMap; ++ ++ invoke-direct {v8}, Ljava/util/HashMap;->()V ++ ++ iput-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap; ++ ++ new-instance v7, Ljava/io/File; ++ ++ iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String; ++ ++ invoke-direct {v7, v8}, Ljava/io/File;->(Ljava/lang/String;)V ++ ++ invoke-virtual {v7}, Ljava/io/File;->isDirectory()Z ++ ++ move-result v8 ++ ++ if-eqz v8, :cond_42 ++ ++ invoke-virtual {v7}, Ljava/io/File;->listFiles()[Ljava/io/File; ++ ++ move-result-object v6 ++ ++ move-object v0, v6 ++ ++ array-length v4, v0 ++ ++ const/4 v3, 0x0 ++ ++ :goto_24 ++ if-ge v3, v4, :cond_42 ++ ++ aget-object v2, v0, v3 ++ ++ invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ new-instance v1, Landroid/privacy/PrivacyFileObserver; ++ ++ invoke-direct {v1, v5, p2}, Landroid/privacy/PrivacyFileObserver;->(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V ++ ++ iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap; ++ ++ invoke-virtual {v8, v5, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; ++ ++ invoke-virtual {v2}, Ljava/io/File;->isFile()Z ++ ++ move-result v8 ++ ++ if-eqz v8, :cond_3f ++ ++ invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V ++ ++ :cond_3f ++ add-int/lit8 v3, v3, 0x1 ++ ++ goto :goto_24 ++ ++ :cond_42 ++ return-void ++.end method ++ ++ ++# virtual methods ++.method public addObserver(Ljava/lang/String;)V ++ .registers 6 ++ ++ new-instance v2, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V ++ ++ iget-object v3, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String; ++ ++ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ const-string v3, "/" ++ ++ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap; ++ ++ invoke-virtual {v2, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; ++ ++ new-instance v0, Landroid/privacy/PrivacyFileObserver; ++ ++ iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService; ++ ++ invoke-direct {v0, v1, v2}, Landroid/privacy/PrivacyFileObserver;->(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V ++ ++ iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap; ++ ++ invoke-virtual {v2, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; ++ ++ return-void ++.end method ++ ++.method public onEvent(ILjava/lang/String;)V ++ .registers 11 ++ ++ and-int/lit8 v4, p1, 0x1 ++ ++ if-eqz v4, :cond_34 ++ ++ new-instance v3, Ljava/util/StringTokenizer; ++ ++ iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String; ++ ++ const-string v5, "/" ++ ++ invoke-direct {v3, v4, v5}, Ljava/util/StringTokenizer;->(Ljava/lang/String;Ljava/lang/String;)V ++ ++ const/4 v0, 0x0 ++ ++ :goto_e ++ const/4 v4, 0x3 ++ ++ if-ge v0, v4, :cond_1d ++ ++ invoke-virtual {v3}, Ljava/util/StringTokenizer;->hasMoreElements()Z ++ ++ move-result v4 ++ ++ if-eqz v4, :cond_1d ++ ++ invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String; ++ ++ add-int/lit8 v0, v0, 0x1 ++ ++ goto :goto_e ++ ++ :cond_1d ++ invoke-virtual {v3}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String; ++ ++ move-result-object v2 ++ ++ iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService; ++ ++ invoke-virtual {v4, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v1 ++ ++ iget-object v4, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService; ++ ++ invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B ++ ++ move-result v5 ++ ++ const-string/jumbo v6, "systemLogs" ++ ++ const/4 v7, 0x0 ++ ++ invoke-virtual {v4, v2, v5, v6, v7}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V ++ ++ :cond_34 ++ return-void ++.end method ++ ++.method public startWatching()V ++ .registers 1 ++ ++ invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V ++ ++ return-void ++.end method +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali +--- stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 1969-12-31 18:00:00.000000000 -0600 ++++ pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 2012-08-06 13:25:00.023455125 -0500 +@@ -0,0 +1,4581 @@ ++.class public Landroid/privacy/PrivacyPersistenceAdapter; ++.super Ljava/lang/Object; ++.source "PrivacyPersistenceAdapter.java" ++ ++ ++# static fields ++.field private static final CREATE_TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );" ++ ++.field private static final CREATE_TABLE_MAP:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );" ++ ++.field private static final CREATE_TABLE_SETTINGS:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS settings ( _id INTEGER PRIMARY KEY AUTOINCREMENT, packageName TEXT, uid INTEGER, deviceIdSetting INTEGER, deviceId TEXT, line1NumberSetting INTEGER, line1Number TEXT, locationGpsSetting INTEGER, locationGpsLat TEXT, locationGpsLon TEXT, locationNetworkSetting INTEGER, locationNetworkLat TEXT, locationNetworkLon TEXT, networkInfoSetting INTEGER, simInfoSetting INTEGER, simSerialNumberSetting INTEGER, simSerialNumber TEXT, subscriberIdSetting INTEGER, subscriberId TEXT, accountsSetting INTEGER, accountsAuthTokensSetting INTEGER, outgoingCallsSetting INTEGER, incomingCallsSetting INTEGER, contactsSetting INTEGER, calendarSetting INTEGER, mmsSetting INTEGER, smsSetting INTEGER, callLogSetting INTEGER, bookmarksSetting INTEGER, systemLogsSetting INTEGER, externalStorageSetting INTEGER, cameraSetting INTEGER, recordAudioSetting INTEGER, notificationSetting INTEGER, intentBootCompletedSetting INTEGER);" ++ ++.field private static final DATABASE_FIELDS:[Ljava/lang/String; = null ++ ++.field private static final DATABASE_FILE:Ljava/lang/String; = "/data/system/privacy.db" ++ ++.field private static final DATABASE_VERSION:I = 0x3 ++ ++.field public static final DUMMY_UID:I = -0x1 ++ ++.field private static final INSERT_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");" ++ ++.field private static final INSERT_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");" ++ ++.field private static final INSERT_VERSION:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);" ++ ++.field private static final RETRY_QUERY_COUNT:I = 0x5 ++ ++.field public static final SETTINGS_DIRECTORY:Ljava/lang/String; = "/data/system/privacy" ++ ++.field public static final SETTING_DB_VERSION:Ljava/lang/String; = "db_version" ++ ++.field public static final SETTING_ENABLED:Ljava/lang/String; = "enabled" ++ ++.field public static final SETTING_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "notifications_enabled" ++ ++.field private static final TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "allowed_contacts" ++ ++.field private static final TABLE_MAP:Ljava/lang/String; = "map" ++ ++.field private static final TABLE_SETTINGS:Ljava/lang/String; = "settings" ++ ++.field private static final TABLE_VERSION:Ljava/lang/String; = "version" ++ ++.field private static final TAG:Ljava/lang/String; = "PrivacyPersistenceAdapter" ++ ++.field public static final VALUE_FALSE:Ljava/lang/String; = "0" ++ ++.field public static final VALUE_TRUE:Ljava/lang/String; = "1" ++ ++.field public static readingThreads:Ljava/lang/Integer; ++ ++ ++# instance fields ++.field private context:Landroid/content/Context; ++ ++.field private db:Landroid/database/sqlite/SQLiteDatabase; ++ ++ ++# direct methods ++.method static constructor ()V ++ .registers 3 ++ ++ const/4 v2, 0x0 ++ ++ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v0 ++ ++ sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ const/16 v0, 0x23 ++ ++ new-array v0, v0, [Ljava/lang/String; ++ ++ const-string v1, "_id" ++ ++ aput-object v1, v0, v2 ++ ++ const/4 v1, 0x1 ++ ++ const-string/jumbo v2, "packageName" ++ ++ aput-object v2, v0, v1 ++ ++ const/4 v1, 0x2 ++ ++ const-string/jumbo v2, "uid" ++ ++ aput-object v2, v0, v1 ++ ++ const/4 v1, 0x3 ++ ++ const-string v2, "deviceIdSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/4 v1, 0x4 ++ ++ const-string v2, "deviceId" ++ ++ aput-object v2, v0, v1 ++ ++ const/4 v1, 0x5 ++ ++ const-string v2, "line1NumberSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/4 v1, 0x6 ++ ++ const-string v2, "line1Number" ++ ++ aput-object v2, v0, v1 ++ ++ const/4 v1, 0x7 ++ ++ const-string v2, "locationGpsSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0x8 ++ ++ const-string v2, "locationGpsLat" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0x9 ++ ++ const-string v2, "locationGpsLon" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0xa ++ ++ const-string v2, "locationNetworkSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0xb ++ ++ const-string v2, "locationNetworkLat" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0xc ++ ++ const-string v2, "locationNetworkLon" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0xd ++ ++ const-string/jumbo v2, "networkInfoSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0xe ++ ++ const-string/jumbo v2, "simInfoSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0xf ++ ++ const-string/jumbo v2, "simSerialNumberSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0x10 ++ ++ const-string/jumbo v2, "simSerialNumber" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0x11 ++ ++ const-string/jumbo v2, "subscriberIdSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0x12 ++ ++ const-string/jumbo v2, "subscriberId" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0x13 ++ ++ const-string v2, "accountsSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0x14 ++ ++ const-string v2, "accountsAuthTokensSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0x15 ++ ++ const-string/jumbo v2, "outgoingCallsSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0x16 ++ ++ const-string v2, "incomingCallsSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0x17 ++ ++ const-string v2, "contactsSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0x18 ++ ++ const-string v2, "calendarSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0x19 ++ ++ const-string/jumbo v2, "mmsSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0x1a ++ ++ const-string/jumbo v2, "smsSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0x1b ++ ++ const-string v2, "callLogSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0x1c ++ ++ const-string v2, "bookmarksSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0x1d ++ ++ const-string/jumbo v2, "systemLogsSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0x1e ++ ++ const-string v2, "externalStorageSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0x1f ++ ++ const-string v2, "cameraSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0x20 ++ ++ const-string/jumbo v2, "recordAudioSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0x21 ++ ++ const-string/jumbo v2, "notificationSetting" ++ ++ aput-object v2, v0, v1 ++ ++ const/16 v1, 0x22 ++ ++ const-string v2, "intentBootCompletedSetting" ++ ++ aput-object v2, v0, v1 ++ ++ sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String; ++ ++ return-void ++.end method ++ ++.method public constructor (Landroid/content/Context;)V ++ .registers 6 ++ ++ invoke-direct {p0}, Ljava/lang/Object;->()V ++ ++ iput-object p1, p0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context; ++ ++ new-instance v2, Ljava/io/File; ++ ++ const-string v3, "/data/system/" ++ ++ invoke-direct {v2, v3}, Ljava/io/File;->(Ljava/lang/String;)V ++ ++ invoke-virtual {v2}, Ljava/io/File;->canWrite()Z ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_3c ++ ++ new-instance v2, Ljava/io/File; ++ ++ const-string v3, "/data/system/privacy.db" ++ ++ invoke-direct {v2, v3}, Ljava/io/File;->(Ljava/lang/String;)V ++ ++ invoke-virtual {v2}, Ljava/io/File;->exists()Z ++ ++ move-result v2 ++ ++ if-nez v2, :cond_22 ++ ++ invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V ++ ++ :cond_22 ++ new-instance v2, Ljava/io/File; ++ ++ const-string v3, "/data/system/privacy" ++ ++ invoke-direct {v2, v3}, Ljava/io/File;->(Ljava/lang/String;)V ++ ++ invoke-virtual {v2}, Ljava/io/File;->exists()Z ++ ++ move-result v2 ++ ++ if-nez v2, :cond_32 ++ ++ invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V ++ ++ :cond_32 ++ invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I ++ ++ move-result v1 ++ ++ const/4 v2, 0x3 ++ ++ if-ge v1, v2, :cond_3c ++ ++ invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase(I)V ++ ++ :cond_3c ++ return-void ++.end method ++ ++.method private declared-synchronized createDatabase()V ++ .registers 6 ++ ++ monitor-enter p0 ++ ++ :try_start_1 ++ const-string v2, "PrivacyPersistenceAdapter" ++ ++ const-string v3, "createDatabase - creating privacy database file" ++ ++ invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_8 ++ .catchall {:try_start_1 .. :try_end_8} :catchall_4c ++ ++ :try_start_8 ++ const-string v2, "/data/system/privacy.db" ++ ++ const/4 v3, 0x0 ++ ++ const/high16 v4, 0x1000 ++ ++ invoke-static {v2, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase; ++ ++ move-result-object v0 ++ ++ const-string v2, "PrivacyPersistenceAdapter" ++ ++ const-string v3, "createDatabase - creating privacy database" ++ ++ invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I ++ ++ const-string v2, "CREATE TABLE IF NOT EXISTS settings ( _id INTEGER PRIMARY KEY AUTOINCREMENT, packageName TEXT, uid INTEGER, deviceIdSetting INTEGER, deviceId TEXT, line1NumberSetting INTEGER, line1Number TEXT, locationGpsSetting INTEGER, locationGpsLat TEXT, locationGpsLon TEXT, locationNetworkSetting INTEGER, locationNetworkLat TEXT, locationNetworkLon TEXT, networkInfoSetting INTEGER, simInfoSetting INTEGER, simSerialNumberSetting INTEGER, simSerialNumber TEXT, subscriberIdSetting INTEGER, subscriberId TEXT, accountsSetting INTEGER, accountsAuthTokensSetting INTEGER, outgoingCallsSetting INTEGER, incomingCallsSetting INTEGER, contactsSetting INTEGER, calendarSetting INTEGER, mmsSetting INTEGER, smsSetting INTEGER, callLogSetting INTEGER, bookmarksSetting INTEGER, systemLogsSetting INTEGER, externalStorageSetting INTEGER, cameraSetting INTEGER, recordAudioSetting INTEGER, notificationSetting INTEGER, intentBootCompletedSetting INTEGER);" ++ ++ invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V ++ ++ const-string v2, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );" ++ ++ invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V ++ ++ const-string v2, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );" ++ ++ invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V ++ ++ const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);" ++ ++ invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V ++ ++ const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");" ++ ++ invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V ++ ++ const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");" ++ ++ invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V ++ ++ if-eqz v0, :cond_41 ++ ++ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_41 ++ ++ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V ++ :try_end_41 ++ .catchall {:try_start_8 .. :try_end_41} :catchall_4c ++ .catch Landroid/database/SQLException; {:try_start_8 .. :try_end_41} :catch_43 ++ ++ :cond_41 ++ :goto_41 ++ monitor-exit p0 ++ ++ return-void ++ ++ :catch_43 ++ move-exception v1 ++ ++ :try_start_44 ++ const-string v2, "PrivacyPersistenceAdapter" ++ ++ const-string v3, "createDatabase - failed to create privacy database" ++ ++ invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I ++ :try_end_4b ++ .catchall {:try_start_44 .. :try_end_4b} :catchall_4c ++ ++ goto :goto_41 ++ ++ :catchall_4c ++ move-exception v2 ++ ++ monitor-exit p0 ++ ++ throw v2 ++.end method ++ ++.method private declared-synchronized createSettingsDir()V ++ .registers 4 ++ ++ monitor-enter p0 ++ ++ :try_start_1 ++ new-instance v0, Ljava/io/File; ++ ++ const-string v1, "/data/system/privacy/" ++ ++ invoke-direct {v0, v1}, Ljava/io/File;->(Ljava/lang/String;)V ++ ++ invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z ++ ++ const/4 v1, 0x1 ++ ++ const/4 v2, 0x0 ++ ++ invoke-virtual {v0, v1, v2}, Ljava/io/File;->setReadable(ZZ)Z ++ ++ const/4 v1, 0x1 ++ ++ const/4 v2, 0x0 ++ ++ invoke-virtual {v0, v1, v2}, Ljava/io/File;->setExecutable(ZZ)Z ++ :try_end_15 ++ .catchall {:try_start_1 .. :try_end_15} :catchall_17 ++ ++ monitor-exit p0 ++ ++ return-void ++ ++ :catchall_17 ++ move-exception v1 ++ ++ monitor-exit p0 ++ ++ throw v1 ++.end method ++ ++.method private deleteRecursive(Ljava/io/File;)V ++ .registers 7 ++ ++ invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z ++ ++ move-result v4 ++ ++ if-eqz v4, :cond_16 ++ ++ invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File; ++ ++ move-result-object v0 ++ ++ array-length v3, v0 ++ ++ const/4 v2, 0x0 ++ ++ :goto_c ++ if-ge v2, v3, :cond_16 ++ ++ aget-object v1, v0, v2 ++ ++ invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V ++ ++ add-int/lit8 v2, v2, 0x1 ++ ++ goto :goto_c ++ ++ :cond_16 ++ invoke-virtual {p1}, Ljava/io/File;->delete()Z ++ ++ return-void ++.end method ++ ++.method private getDbVersion()I ++ .registers 9 ++ ++ const/4 v4, 0x1 ++ ++ const/4 v3, -0x1 ++ ++ sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v6 ++ ++ add-int/lit8 v6, v6, 0x1 ++ ++ invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v6 ++ ++ sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase; ++ ++ move-result-object v1 ++ ++ :try_start_16 ++ const-string v6, "SELECT name FROM sqlite_master WHERE type=\'table\' AND name=\'map\';" ++ ++ invoke-direct {p0, v1, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor; ++ ++ move-result-object v0 ++ ++ if-eqz v0, :cond_5e ++ ++ invoke-interface {v0}, Landroid/database/Cursor;->getCount()I ++ ++ move-result v6 ++ ++ if-nez v6, :cond_25 ++ ++ const/4 v3, 0x1 ++ ++ :cond_25 ++ invoke-interface {v0}, Landroid/database/Cursor;->close()V ++ ++ sget-object v7, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ monitor-enter v7 ++ :try_end_2b ++ .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_2b} :catch_55 ++ ++ :try_start_2b ++ sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v6 ++ ++ add-int/lit8 v6, v6, -0x1 ++ ++ invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v6 ++ ++ sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v6 ++ ++ if-nez v6, :cond_4e ++ ++ if-eqz v1, :cond_4e ++ ++ invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v6 ++ ++ if-eqz v6, :cond_4e ++ ++ invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V ++ ++ :cond_4e ++ monitor-exit v7 ++ ++ :goto_4f ++ if-ne v3, v4, :cond_66 ++ ++ :goto_51 ++ return v3 ++ ++ :catchall_52 ++ move-exception v6 ++ ++ monitor-exit v7 ++ :try_end_54 ++ .catchall {:try_start_2b .. :try_end_54} :catchall_52 ++ ++ :try_start_54 ++ throw v6 ++ :try_end_55 ++ .catch Ljava/lang/Exception; {:try_start_54 .. :try_end_55} :catch_55 ++ ++ :catch_55 ++ move-exception v2 ++ ++ const-string v6, "PrivacyPersistenceAdapter" ++ ++ const-string v7, "getDbVersion - failed to check if table map exists (exception)" ++ ++ invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ ++ goto :goto_4f ++ ++ :cond_5e ++ :try_start_5e ++ const-string v6, "PrivacyPersistenceAdapter" ++ ++ const-string v7, "getDbVersion - failed to check if table map exists (cursor is null)" ++ ++ invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_65 ++ .catch Ljava/lang/Exception; {:try_start_5e .. :try_end_65} :catch_55 ++ ++ goto :goto_4f ++ ++ :cond_66 ++ const-string v6, "db_version" ++ ++ invoke-virtual {p0, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ if-nez v5, :cond_70 ++ ++ move v3, v4 ++ ++ goto :goto_51 ++ ++ :cond_70 ++ :try_start_70 ++ invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I ++ :try_end_73 ++ .catch Ljava/lang/Exception; {:try_start_70 .. :try_end_73} :catch_76 ++ ++ move-result v4 ++ ++ move v3, v4 ++ ++ goto :goto_51 ++ ++ :catch_76 ++ move-exception v2 ++ ++ const-string v6, "PrivacyPersistenceAdapter" ++ ++ const-string v7, "getDbVersion - failed to parse database version; returning 1" ++ ++ invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ ++ move v3, v4 ++ ++ goto :goto_51 ++.end method ++ ++.method private declared-synchronized getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase; ++ .registers 4 ++ ++ monitor-enter p0 ++ ++ :try_start_1 ++ iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase; ++ ++ if-eqz v0, :cond_11 ++ ++ iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase; ++ ++ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_11 ++ ++ iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase; ++ :try_end_f ++ .catchall {:try_start_1 .. :try_end_f} :catchall_1e ++ ++ :goto_f ++ monitor-exit p0 ++ ++ return-object v0 ++ ++ :cond_11 ++ :try_start_11 ++ const-string v0, "/data/system/privacy.db" ++ ++ const/4 v1, 0x0 ++ ++ const/4 v2, 0x1 ++ ++ invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase; ++ ++ move-result-object v0 ++ ++ iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase; ++ ++ iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase; ++ :try_end_1d ++ .catchall {:try_start_11 .. :try_end_1d} :catchall_1e ++ ++ goto :goto_f ++ ++ :catchall_1e ++ move-exception v0 ++ ++ monitor-exit p0 ++ ++ throw v0 ++.end method ++ ++.method private declared-synchronized getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase; ++ .registers 4 ++ ++ monitor-enter p0 ++ ++ :try_start_1 ++ new-instance v0, Ljava/io/File; ++ ++ const-string v1, "/data/system/privacy.db" ++ ++ invoke-direct {v0, v1}, Ljava/io/File;->(Ljava/lang/String;)V ++ ++ invoke-virtual {v0}, Ljava/io/File;->exists()Z ++ ++ move-result v0 ++ ++ if-nez v0, :cond_11 ++ ++ invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V ++ ++ :cond_11 ++ iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase; ++ ++ if-eqz v0, :cond_29 ++ ++ iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase; ++ ++ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_29 ++ ++ iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase; ++ ++ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z ++ ++ move-result v0 ++ ++ if-nez v0, :cond_29 ++ ++ iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase; ++ :try_end_27 ++ .catchall {:try_start_1 .. :try_end_27} :catchall_36 ++ ++ :goto_27 ++ monitor-exit p0 ++ ++ return-object v0 ++ ++ :cond_29 ++ :try_start_29 ++ const-string v0, "/data/system/privacy.db" ++ ++ const/4 v1, 0x0 ++ ++ const/4 v2, 0x0 ++ ++ invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase; ++ ++ move-result-object v0 ++ ++ iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase; ++ ++ iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase; ++ :try_end_35 ++ .catchall {:try_start_29 .. :try_end_35} :catchall_36 ++ ++ goto :goto_27 ++ ++ :catchall_36 ++ move-exception v0 ++ ++ monitor-exit p0 ++ ++ throw v0 ++.end method ++ ++.method private query(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; ++ .registers 16 ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Ljava/lang/Exception; ++ } ++ .end annotation ++ ++ const/4 v0, 0x0 ++ ++ const/4 v3, 0x0 ++ ++ const/4 v2, 0x0 ++ ++ :goto_3 ++ if-nez v3, :cond_27 ++ ++ const/4 v4, 0x5 ++ ++ if-ge v2, v4, :cond_27 ++ ++ if-eqz v0, :cond_d ++ ++ :try_start_a ++ invoke-interface {v0}, Landroid/database/Cursor;->close()V ++ ++ :cond_d ++ invoke-virtual/range {p1 .. p9}, Landroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; ++ :try_end_10 ++ .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15 ++ ++ move-result-object v0 ++ ++ const/4 v3, 0x1 ++ ++ :goto_12 ++ add-int/lit8 v2, v2, 0x1 ++ ++ goto :goto_3 ++ ++ :catch_15 ++ move-exception v1 ++ ++ const/4 v3, 0x0 ++ ++ if-eqz p1, :cond_22 ++ ++ invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v4 ++ ++ if-eqz v4, :cond_22 ++ ++ invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V ++ ++ :cond_22 ++ invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase; ++ ++ move-result-object p1 ++ ++ goto :goto_12 ++ ++ :cond_27 ++ if-nez v3, :cond_32 ++ ++ new-instance v4, Ljava/lang/Exception; ++ ++ const-string/jumbo v5, "query - failed to execute query on the DB" ++ ++ invoke-direct {v4, v5}, Ljava/lang/Exception;->(Ljava/lang/String;)V ++ ++ throw v4 ++ ++ :cond_32 ++ return-object v0 ++.end method ++ ++.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor; ++ .registers 9 ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Ljava/lang/Exception; ++ } ++ .end annotation ++ ++ const/4 v0, 0x0 ++ ++ const/4 v3, 0x0 ++ ++ const/4 v2, 0x0 ++ ++ :goto_3 ++ if-nez v3, :cond_28 ++ ++ const/4 v4, 0x5 ++ ++ if-ge v2, v4, :cond_28 ++ ++ if-eqz v0, :cond_d ++ ++ :try_start_a ++ invoke-interface {v0}, Landroid/database/Cursor;->close()V ++ ++ :cond_d ++ const/4 v4, 0x0 ++ ++ invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor; ++ :try_end_11 ++ .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16 ++ ++ move-result-object v0 ++ ++ const/4 v3, 0x1 ++ ++ :goto_13 ++ add-int/lit8 v2, v2, 0x1 ++ ++ goto :goto_3 ++ ++ :catch_16 ++ move-exception v1 ++ ++ const/4 v3, 0x0 ++ ++ if-eqz p1, :cond_23 ++ ++ invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v4 ++ ++ if-eqz v4, :cond_23 ++ ++ invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V ++ ++ :cond_23 ++ invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase; ++ ++ move-result-object p1 ++ ++ goto :goto_13 ++ ++ :cond_28 ++ if-nez v3, :cond_33 ++ ++ new-instance v4, Ljava/lang/Exception; ++ ++ const-string/jumbo v5, "query - failed to execute query on the DB" ++ ++ invoke-direct {v4, v5}, Ljava/lang/Exception;->(Ljava/lang/String;)V ++ ++ throw v4 ++ ++ :cond_33 ++ return-object v0 ++.end method ++ ++.method private declared-synchronized upgradeDatabase(I)V ++ .registers 23 ++ ++ monitor-enter p0 ++ ++ :try_start_1 ++ const-string v17, "PrivacyPersistenceAdapter" ++ ++ new-instance v18, Ljava/lang/StringBuilder; ++ ++ invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;->()V ++ ++ const-string/jumbo v19, "upgradeDatabase - upgrading DB from version " ++ ++ invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v18 ++ ++ move-object/from16 v0, v18 ++ ++ move/from16 v1, p1 ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v18 ++ ++ const-string v19, " to " ++ ++ invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v18 ++ ++ const/16 v19, 0x3 ++ ++ invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v18 ++ ++ invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v18 ++ ++ invoke-static/range {v17 .. v18}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I ++ ++ new-instance v6, Ljava/io/File; ++ ++ const-string v17, "/data/system/privacy.db" ++ ++ move-object/from16 v0, v17 ++ ++ invoke-direct {v6, v0}, Ljava/io/File;->(Ljava/lang/String;)V ++ ++ new-instance v5, Ljava/io/File; ++ ++ const-string v17, "/data/system/privacy.db.bak" ++ ++ move-object/from16 v0, v17 ++ ++ invoke-direct {v5, v0}, Ljava/io/File;->(Ljava/lang/String;)V ++ :try_end_3c ++ .catchall {:try_start_1 .. :try_end_3c} :catchall_66 ++ ++ :try_start_3c ++ invoke-virtual {v5}, Ljava/io/File;->delete()Z ++ :try_end_3f ++ .catchall {:try_start_3c .. :try_end_3f} :catchall_66 ++ .catch Ljava/lang/SecurityException; {:try_start_3c .. :try_end_3f} :catch_5c ++ ++ :goto_3f ++ :try_start_3f ++ invoke-static {v6, v5}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z ++ ++ invoke-static {}, Ljava/lang/System;->currentTimeMillis()J ++ ++ move-result-wide v17 ++ ++ invoke-virtual {v5}, Ljava/io/File;->lastModified()J ++ ++ move-result-wide v19 ++ ++ sub-long v17, v17, v19 ++ ++ const-wide/16 v19, 0x7d0 ++ ++ cmp-long v17, v17, v19 ++ ++ if-lez v17, :cond_69 ++ ++ const-string v17, "PrivacyPersistenceAdapter" ++ ++ const-string/jumbo v18, "upgradeDatabase - could not create a database backup, aborting..." ++ ++ invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_5a ++ .catchall {:try_start_3f .. :try_end_5a} :catchall_66 ++ ++ :goto_5a ++ monitor-exit p0 ++ ++ return-void ++ ++ :catch_5c ++ move-exception v7 ++ ++ :try_start_5d ++ const-string v17, "PrivacyPersistenceAdapter" ++ ++ const-string/jumbo v18, "upgradeDatabase - could not remove old backup" ++ ++ invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_65 ++ .catchall {:try_start_5d .. :try_end_65} :catchall_66 ++ ++ goto :goto_3f ++ ++ :catchall_66 ++ move-exception v17 ++ ++ monitor-exit p0 ++ ++ throw v17 ++ ++ :cond_69 ++ :try_start_69 ++ invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase; ++ ++ move-result-object v4 ++ ++ invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V ++ ++ packed-switch p1, :pswitch_data_164 ++ ++ :cond_73 ++ :goto_73 ++ if-eqz v4, :cond_159 ++ ++ invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v17 ++ ++ if-eqz v17, :cond_159 ++ ++ invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V ++ ++ invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V ++ ++ :goto_81 ++ invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z ++ :try_end_84 ++ .catchall {:try_start_69 .. :try_end_84} :catchall_66 ++ ++ goto :goto_5a ++ ++ :pswitch_85 ++ if-eqz v4, :cond_73 ++ ++ :try_start_87 ++ invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v17 ++ ++ if-eqz v17, :cond_73 ++ ++ const-string v17, "DROP TABLE IF EXISTS version;" ++ ++ move-object/from16 v0, v17 ++ ++ invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V ++ ++ const-string v17, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );" ++ ++ move-object/from16 v0, v17 ++ ++ invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V ++ ++ const-string v17, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );" ++ ++ move-object/from16 v0, v17 ++ ++ invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V ++ ++ const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 3);" ++ ++ move-object/from16 v0, v17 ++ ++ invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V ++ ++ const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");" ++ ++ move-object/from16 v0, v17 ++ ++ invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V ++ ++ const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");" ++ ++ move-object/from16 v0, v17 ++ ++ invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V ++ ++ new-instance v14, Ljava/io/File; ++ ++ const-string v17, "/data/system/privacy" ++ ++ move-object/from16 v0, v17 ++ ++ invoke-direct {v14, v0}, Ljava/io/File;->(Ljava/lang/String;)V ++ ++ invoke-virtual {v14}, Ljava/io/File;->listFiles()[Ljava/io/File; ++ ++ move-result-object v2 ++ ++ array-length v10, v2 ++ ++ const/4 v8, 0x0 ++ ++ move v9, v8 ++ ++ :goto_c7 ++ if-ge v9, v10, :cond_127 ++ ++ aget-object v13, v2, v9 ++ ++ invoke-virtual {v13}, Ljava/io/File;->listFiles()[Ljava/io/File; ++ ++ move-result-object v3 ++ ++ array-length v11, v3 ++ ++ const/4 v8, 0x0 ++ ++ :goto_d1 ++ if-ge v8, v11, :cond_123 ++ ++ aget-object v16, v3, v8 ++ ++ invoke-virtual/range {v16 .. v16}, Ljava/io/File;->isDirectory()Z ++ ++ move-result v17 ++ ++ if-eqz v17, :cond_120 ++ ++ invoke-virtual/range {v16 .. v16}, Ljava/io/File;->listFiles()[Ljava/io/File; ++ ++ move-result-object v15 ++ ++ const/16 v17, 0x0 ++ ++ aget-object v17, v15, v17 ++ ++ if-eqz v17, :cond_120 ++ ++ new-instance v12, Ljava/io/File; ++ ++ new-instance v17, Ljava/lang/StringBuilder; ++ ++ invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;->()V ++ ++ move-object/from16 v0, v17 ++ ++ invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; ++ ++ move-result-object v17 ++ ++ const-string v18, "/" ++ ++ invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v17 ++ ++ const/16 v18, 0x0 ++ ++ aget-object v18, v15, v18 ++ ++ invoke-virtual/range {v18 .. v18}, Ljava/io/File;->getName()Ljava/lang/String; ++ ++ move-result-object v18 ++ ++ invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v17 ++ ++ invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v17 ++ ++ move-object/from16 v0, v17 ++ ++ invoke-direct {v12, v0}, Ljava/io/File;->(Ljava/lang/String;)V ++ ++ invoke-virtual {v12}, Ljava/io/File;->delete()Z ++ ++ const/16 v17, 0x0 ++ ++ aget-object v17, v15, v17 ++ ++ move-object/from16 v0, v17 ++ ++ invoke-virtual {v0, v12}, Ljava/io/File;->renameTo(Ljava/io/File;)Z ++ ++ move-object/from16 v0, p0 ++ ++ move-object/from16 v1, v16 ++ ++ invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V ++ ++ :cond_120 ++ add-int/lit8 v8, v8, 0x1 ++ ++ goto :goto_d1 ++ ++ :cond_123 ++ add-int/lit8 v8, v9, 0x1 ++ ++ move v9, v8 ++ ++ goto :goto_c7 ++ ++ :cond_127 ++ invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V ++ :try_end_12a ++ .catchall {:try_start_87 .. :try_end_12a} :catchall_66 ++ .catch Ljava/lang/Exception; {:try_start_87 .. :try_end_12a} :catch_12c ++ ++ goto/16 :goto_73 ++ ++ :catch_12c ++ move-exception v7 ++ ++ if-eqz v4, :cond_13b ++ ++ :try_start_12f ++ invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v17 ++ ++ if-eqz v17, :cond_13b ++ ++ invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V ++ ++ invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V ++ ++ :cond_13b ++ const-string v17, "PrivacyPersistenceAdapter" ++ ++ const-string/jumbo v18, "upgradeDatabase - could not upgrade DB; will restore backup" ++ ++ move-object/from16 v0, v17 ++ ++ move-object/from16 v1, v18 ++ ++ invoke-static {v0, v1, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I ++ ++ invoke-static {v5, v6}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z ++ ++ invoke-virtual {v5}, Ljava/io/File;->delete()Z ++ ++ goto/16 :goto_73 ++ ++ :pswitch_14f ++ const-string v17, "PrivacyPersistenceAdapter" ++ ++ const-string/jumbo v18, "upgradeDatabase - trying to upgrade most current DB version" ++ ++ invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I ++ ++ goto/16 :goto_73 ++ ++ :cond_159 ++ const-string v17, "PrivacyPersistenceAdapter" ++ ++ const-string/jumbo v18, "upgradeDatabase - database is null or closed; cant call endTransaction()" ++ ++ invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_161 ++ .catchall {:try_start_12f .. :try_end_161} :catchall_66 ++ ++ goto/16 :goto_81 ++ ++ nop ++ ++ :pswitch_data_164 ++ .packed-switch 0x1 ++ :pswitch_85 ++ :pswitch_85 ++ :pswitch_14f ++ .end packed-switch ++.end method ++ ++ ++# virtual methods ++.method public declared-synchronized deleteSettings(Ljava/lang/String;)Z ++ .registers 16 ++ ++ monitor-enter p0 ++ ++ const/4 v11, 0x1 ++ ++ :try_start_2 ++ invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase; ++ ++ move-result-object v0 ++ ++ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V ++ :try_end_9 ++ .catchall {:try_start_2 .. :try_end_9} :catchall_107 ++ ++ :try_start_9 ++ const-string/jumbo v1, "settings" ++ ++ const/4 v2, 0x1 ++ ++ new-array v2, v2, [Ljava/lang/String; ++ ++ const/4 v3, 0x0 ++ ++ const-string v4, "_id" ++ ++ aput-object v4, v2, v3 ++ ++ const-string/jumbo v3, "packageName=?" ++ ++ const/4 v4, 0x1 ++ ++ new-array v4, v4, [Ljava/lang/String; ++ ++ const/4 v5, 0x0 ++ ++ aput-object p1, v4, v5 ++ ++ const/4 v5, 0x0 ++ ++ const/4 v6, 0x0 ++ ++ const/4 v7, 0x0 ++ ++ invoke-virtual/range {v0 .. v7}, Landroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; ++ ++ move-result-object v8 ++ ++ if-eqz v8, :cond_4c ++ ++ invoke-interface {v8}, Landroid/database/Cursor;->getCount()I ++ ++ move-result v1 ++ ++ if-lez v1, :cond_4c ++ ++ invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z ++ ++ move-result v1 ++ ++ if-eqz v1, :cond_4c ++ ++ const/4 v1, 0x0 ++ ++ invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I ++ ++ move-result v10 ++ ++ const-string v1, "allowed_contacts" ++ ++ const-string/jumbo v2, "settings_id=?" ++ ++ const/4 v3, 0x1 ++ ++ new-array v3, v3, [Ljava/lang/String; ++ ++ const/4 v4, 0x0 ++ ++ invoke-static {v10}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ aput-object v5, v3, v4 ++ ++ invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I ++ ++ invoke-interface {v8}, Landroid/database/Cursor;->close()V ++ ++ :cond_4c ++ const-string/jumbo v1, "settings" ++ ++ const-string/jumbo v2, "packageName=?" ++ ++ const/4 v3, 0x1 ++ ++ new-array v3, v3, [Ljava/lang/String; ++ ++ const/4 v4, 0x0 ++ ++ aput-object p1, v3, v4 ++ ++ invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I ++ ++ move-result v1 ++ ++ if-nez v1, :cond_8d ++ ++ const-string v1, "PrivacyPersistenceAdapter" ++ ++ new-instance v2, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v3, "deleteSettings - database entry for " ++ ++ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ const-string v3, " not found" ++ ++ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v2 ++ ++ invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_7c ++ .catchall {:try_start_9 .. :try_end_7c} :catchall_10a ++ .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_7c} :catch_ef ++ ++ const/4 v1, 0x0 ++ ++ :try_start_7d ++ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V ++ ++ if-eqz v0, :cond_8b ++ ++ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_8b ++ ++ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V ++ :try_end_8b ++ .catchall {:try_start_7d .. :try_end_8b} :catchall_107 ++ ++ :cond_8b ++ :goto_8b ++ monitor-exit p0 ++ ++ return v1 ++ ++ :cond_8d ++ :try_start_8d ++ new-instance v12, Ljava/io/File; ++ ++ new-instance v1, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v2, "/data/system/privacy/" ++ ++ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v1 ++ ++ invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v1 ++ ++ const-string v2, "/" ++ ++ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v1 ++ ++ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-direct {v12, v1}, Ljava/io/File;->(Ljava/lang/String;)V ++ ++ new-instance v13, Ljava/io/File; ++ ++ new-instance v1, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v2, "/data/system/privacy/" ++ ++ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v1 ++ ++ invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v1 ++ ++ const-string v2, "/systemLogsSetting" ++ ++ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v1 ++ ++ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-direct {v13, v1}, Ljava/io/File;->(Ljava/lang/String;)V ++ ++ invoke-virtual {v13}, Ljava/io/File;->delete()Z ++ ++ invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ if-eqz v1, :cond_d9 ++ ++ invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ array-length v1, v1 ++ ++ if-nez v1, :cond_dc ++ ++ :cond_d9 ++ invoke-virtual {v12}, Ljava/io/File;->delete()Z ++ ++ :cond_dc ++ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V ++ :try_end_df ++ .catchall {:try_start_8d .. :try_end_df} :catchall_10a ++ .catch Ljava/lang/Exception; {:try_start_8d .. :try_end_df} :catch_ef ++ ++ :try_start_df ++ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V ++ ++ if-eqz v0, :cond_ed ++ ++ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v1 ++ ++ if-eqz v1, :cond_ed ++ ++ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V ++ :try_end_ed ++ .catchall {:try_start_df .. :try_end_ed} :catchall_107 ++ ++ :cond_ed ++ :goto_ed ++ move v1, v11 ++ ++ goto :goto_8b ++ ++ :catch_ef ++ move-exception v9 ++ ++ const/4 v11, 0x0 ++ ++ :try_start_f1 ++ const-string v1, "PrivacyPersistenceAdapter" ++ ++ const-string v2, "deleteSettings - could not delete settings" ++ ++ invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I ++ :try_end_f8 ++ .catchall {:try_start_f1 .. :try_end_f8} :catchall_10a ++ ++ :try_start_f8 ++ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V ++ ++ if-eqz v0, :cond_ed ++ ++ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v1 ++ ++ if-eqz v1, :cond_ed ++ ++ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V ++ :try_end_106 ++ .catchall {:try_start_f8 .. :try_end_106} :catchall_107 ++ ++ goto :goto_ed ++ ++ :catchall_107 ++ move-exception v1 ++ ++ monitor-exit p0 ++ ++ throw v1 ++ ++ :catchall_10a ++ move-exception v1 ++ ++ :try_start_10b ++ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V ++ ++ if-eqz v0, :cond_119 ++ ++ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_119 ++ ++ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V ++ ++ :cond_119 ++ throw v1 ++ :try_end_11a ++ .catchall {:try_start_10b .. :try_end_11a} :catchall_107 ++.end method ++ ++.method public getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings; ++ .registers 47 ++ ++ const/16 v43, 0x0 ++ ++ if-nez p1, :cond_e ++ ++ const-string v1, "PrivacyPersistenceAdapter" ++ ++ const-string v4, "getSettings - insufficient application identifier - package name is required" ++ ++ invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ ++ move-object/from16 v3, v43 ++ ++ :goto_d ++ return-object v43 ++ ++ :cond_e ++ sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v1 ++ ++ add-int/lit8 v1, v1, 0x1 ++ ++ invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v1 ++ ++ sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ :try_start_1e ++ invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase; ++ :try_end_21 ++ .catch Landroid/database/sqlite/SQLiteException; {:try_start_1e .. :try_end_21} :catch_243 ++ ++ move-result-object v2 ++ ++ const/16 v41, 0x0 ++ ++ :try_start_24 ++ const-string/jumbo v3, "settings" ++ ++ sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String; ++ ++ const-string/jumbo v5, "packageName=?" ++ ++ const/4 v1, 0x1 ++ ++ new-array v6, v1, [Ljava/lang/String; ++ ++ const/4 v1, 0x0 ++ ++ aput-object p1, v6, v1 ++ ++ const/4 v7, 0x0 ++ ++ const/4 v8, 0x0 ++ ++ const/4 v9, 0x0 ++ ++ const/4 v10, 0x0 ++ ++ move-object/from16 v1, p0 ++ ++ invoke-direct/range {v1 .. v10}, Landroid/privacy/PrivacyPersistenceAdapter;->query(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; ++ ++ move-result-object v41 ++ ++ if-eqz v41, :cond_2d3 ++ ++ invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToFirst()Z ++ ++ move-result v1 ++ ++ if-eqz v1, :cond_2d3 ++ ++ new-instance v3, Landroid/privacy/PrivacySettings; ++ ++ const/4 v1, 0x0 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I ++ ++ move-result v1 ++ ++ invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v4 ++ ++ const/4 v1, 0x1 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ const/4 v1, 0x2 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I ++ ++ move-result v6 ++ ++ const/4 v1, 0x3 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v7, v1 ++ ++ const/4 v1, 0x4 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; ++ ++ move-result-object v8 ++ ++ const/4 v1, 0x5 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v9, v1 ++ ++ const/4 v1, 0x6 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; ++ ++ move-result-object v10 ++ ++ const/4 v1, 0x7 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v11, v1 ++ ++ const/16 v1, 0x8 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; ++ ++ move-result-object v12 ++ ++ const/16 v1, 0x9 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; ++ ++ move-result-object v13 ++ ++ const/16 v1, 0xa ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v14, v1 ++ ++ const/16 v1, 0xb ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; ++ ++ move-result-object v15 ++ ++ const/16 v1, 0xc ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; ++ ++ move-result-object v16 ++ ++ const/16 v1, 0xd ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v0, v1 ++ ++ move/from16 v17, v0 ++ ++ const/16 v1, 0xe ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v0, v1 ++ ++ move/from16 v18, v0 ++ ++ const/16 v1, 0xf ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v0, v1 ++ ++ move/from16 v19, v0 ++ ++ const/16 v1, 0x10 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; ++ ++ move-result-object v20 ++ ++ const/16 v1, 0x11 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v0, v1 ++ ++ move/from16 v21, v0 ++ ++ const/16 v1, 0x12 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; ++ ++ move-result-object v22 ++ ++ const/16 v1, 0x13 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v0, v1 ++ ++ move/from16 v23, v0 ++ ++ const/16 v1, 0x14 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v0, v1 ++ ++ move/from16 v24, v0 ++ ++ const/16 v1, 0x15 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v0, v1 ++ ++ move/from16 v25, v0 ++ ++ const/16 v1, 0x16 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v0, v1 ++ ++ move/from16 v26, v0 ++ ++ const/16 v1, 0x17 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v0, v1 ++ ++ move/from16 v27, v0 ++ ++ const/16 v1, 0x18 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v0, v1 ++ ++ move/from16 v28, v0 ++ ++ const/16 v1, 0x19 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v0, v1 ++ ++ move/from16 v29, v0 ++ ++ const/16 v1, 0x1a ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v0, v1 ++ ++ move/from16 v30, v0 ++ ++ const/16 v1, 0x1b ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v0, v1 ++ ++ move/from16 v31, v0 ++ ++ const/16 v1, 0x1c ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v0, v1 ++ ++ move/from16 v32, v0 ++ ++ const/16 v1, 0x1d ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v0, v1 ++ ++ move/from16 v33, v0 ++ ++ const/16 v1, 0x1e ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v0, v1 ++ ++ move/from16 v34, v0 ++ ++ const/16 v1, 0x1f ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v0, v1 ++ ++ move/from16 v35, v0 ++ ++ const/16 v1, 0x20 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v0, v1 ++ ++ move/from16 v36, v0 ++ ++ const/16 v1, 0x21 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v0, v1 ++ ++ move/from16 v37, v0 ++ ++ const/16 v1, 0x22 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v1 ++ ++ int-to-byte v0, v1 ++ ++ move/from16 v38, v0 ++ ++ const/16 v39, 0x0 ++ ++ invoke-direct/range {v3 .. v39}, Landroid/privacy/PrivacySettings;->(Ljava/lang/Integer;Ljava/lang/String;IBLjava/lang/String;BLjava/lang/String;BLjava/lang/String;Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;BBBLjava/lang/String;BLjava/lang/String;BBBBBBBBBBBBBBBB[I)V ++ :try_end_19f ++ .catchall {:try_start_24 .. :try_end_19f} :catchall_296 ++ .catch Ljava/lang/Exception; {:try_start_24 .. :try_end_19f} :catch_2ce ++ ++ :try_start_19f ++ new-instance v1, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v4, "SELECT * FROM allowed_contacts WHERE settings_id=" ++ ++ invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v1 ++ ++ invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer; ++ ++ move-result-object v4 ++ ++ invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v4 ++ ++ invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; ++ ++ move-result-object v4 ++ ++ invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v1 ++ ++ const-string v4, ";" ++ ++ invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v1 ++ ++ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ move-object/from16 v0, p0 ++ ++ invoke-direct {v0, v2, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor; ++ ++ move-result-object v41 ++ ++ if-eqz v41, :cond_266 ++ ++ invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I ++ ++ move-result v1 ++ ++ if-lez v1, :cond_266 ++ ++ invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getCount()I ++ ++ move-result v1 ++ ++ new-array v0, v1, [I ++ ++ move-object/from16 v40, v0 ++ ++ :goto_1da ++ invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->moveToNext()Z ++ ++ move-result v1 ++ ++ if-eqz v1, :cond_261 ++ ++ invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->getPosition()I ++ ++ move-result v1 ++ ++ const/4 v4, 0x1 ++ ++ move-object/from16 v0, v41 ++ ++ invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I ++ ++ move-result v4 ++ ++ aput v4, v40, v1 ++ :try_end_1ed ++ .catchall {:try_start_19f .. :try_end_1ed} :catchall_2cc ++ .catch Ljava/lang/Exception; {:try_start_19f .. :try_end_1ed} :catch_1ee ++ ++ goto :goto_1da ++ ++ :catch_1ee ++ move-exception v42 ++ ++ :goto_1ef ++ :try_start_1ef ++ const-string v1, "PrivacyPersistenceAdapter" ++ ++ new-instance v4, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v4}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v5, "getSettings - failed to get settings for package: " ++ ++ invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, p1 ++ ++ invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v4 ++ ++ invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v42 ++ ++ invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I ++ ++ invoke-virtual/range {v42 .. v42}, Ljava/lang/Exception;->printStackTrace()V ++ ++ if-eqz v41, :cond_213 ++ ++ invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V ++ :try_end_213 ++ .catchall {:try_start_1ef .. :try_end_213} :catchall_2cc ++ ++ :cond_213 ++ if-eqz v41, :cond_218 ++ ++ invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V ++ ++ :cond_218 ++ sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ monitor-enter v4 ++ ++ :try_start_21b ++ sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v1 ++ ++ add-int/lit8 v1, v1, -0x1 ++ ++ invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v1 ++ ++ sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v1 ++ ++ if-nez v1, :cond_23e ++ ++ if-eqz v2, :cond_23e ++ ++ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v1 ++ ++ if-eqz v1, :cond_23e ++ ++ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V ++ ++ :cond_23e ++ monitor-exit v4 ++ :try_end_23f ++ .catchall {:try_start_21b .. :try_end_23f} :catchall_2c9 ++ ++ :goto_23f ++ move-object/from16 v43, v3 ++ ++ goto/16 :goto_d ++ ++ :catch_243 ++ move-exception v42 ++ ++ const-string v1, "PrivacyPersistenceAdapter" ++ ++ const-string v4, "getSettings - database could not be opened" ++ ++ move-object/from16 v0, v42 ++ ++ invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I ++ ++ sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v1 ++ ++ add-int/lit8 v1, v1, -0x1 ++ ++ invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v1 ++ ++ sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ move-object/from16 v3, v43 ++ ++ goto/16 :goto_d ++ ++ :cond_261 ++ :try_start_261 ++ move-object/from16 v0, v40 ++ ++ invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V ++ :try_end_266 ++ .catchall {:try_start_261 .. :try_end_266} :catchall_2cc ++ .catch Ljava/lang/Exception; {:try_start_261 .. :try_end_266} :catch_1ee ++ ++ :cond_266 ++ :goto_266 ++ if-eqz v41, :cond_26b ++ ++ invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V ++ ++ :cond_26b ++ sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ monitor-enter v4 ++ ++ :try_start_26e ++ sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v1 ++ ++ add-int/lit8 v1, v1, -0x1 ++ ++ invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v1 ++ ++ sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v1 ++ ++ if-nez v1, :cond_291 ++ ++ if-eqz v2, :cond_291 ++ ++ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v1 ++ ++ if-eqz v1, :cond_291 ++ ++ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V ++ ++ :cond_291 ++ monitor-exit v4 ++ ++ goto :goto_23f ++ ++ :catchall_293 ++ move-exception v1 ++ ++ monitor-exit v4 ++ :try_end_295 ++ .catchall {:try_start_26e .. :try_end_295} :catchall_293 ++ ++ throw v1 ++ ++ :catchall_296 ++ move-exception v1 ++ ++ move-object/from16 v3, v43 ++ ++ :goto_299 ++ if-eqz v41, :cond_29e ++ ++ invoke-interface/range {v41 .. v41}, Landroid/database/Cursor;->close()V ++ ++ :cond_29e ++ sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ monitor-enter v4 ++ ++ :try_start_2a1 ++ sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v5 ++ ++ add-int/lit8 v5, v5, -0x1 ++ ++ invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v5 ++ ++ sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v5 ++ ++ if-nez v5, :cond_2c4 ++ ++ if-eqz v2, :cond_2c4 ++ ++ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v5 ++ ++ if-eqz v5, :cond_2c4 ++ ++ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V ++ ++ :cond_2c4 ++ monitor-exit v4 ++ :try_end_2c5 ++ .catchall {:try_start_2a1 .. :try_end_2c5} :catchall_2c6 ++ ++ throw v1 ++ ++ :catchall_2c6 ++ move-exception v1 ++ ++ :try_start_2c7 ++ monitor-exit v4 ++ :try_end_2c8 ++ .catchall {:try_start_2c7 .. :try_end_2c8} :catchall_2c6 ++ ++ throw v1 ++ ++ :catchall_2c9 ++ move-exception v1 ++ ++ :try_start_2ca ++ monitor-exit v4 ++ :try_end_2cb ++ .catchall {:try_start_2ca .. :try_end_2cb} :catchall_2c9 ++ ++ throw v1 ++ ++ :catchall_2cc ++ move-exception v1 ++ ++ goto :goto_299 ++ ++ :catch_2ce ++ move-exception v42 ++ ++ move-object/from16 v3, v43 ++ ++ goto/16 :goto_1ef ++ ++ :cond_2d3 ++ move-object/from16 v3, v43 ++ ++ goto :goto_266 ++.end method ++ ++.method public getValue(Ljava/lang/String;)Ljava/lang/String; ++ .registers 15 ++ ++ sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v0 ++ ++ add-int/lit8 v0, v0, 0x1 ++ ++ invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v0 ++ ++ sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase; ++ ++ move-result-object v1 ++ ++ const/4 v12, 0x0 ++ ++ :try_start_15 ++ const-string/jumbo v2, "map" ++ ++ const/4 v0, 0x1 ++ ++ new-array v3, v0, [Ljava/lang/String; ++ ++ const/4 v0, 0x0 ++ ++ const-string/jumbo v4, "value" ++ ++ aput-object v4, v3, v0 ++ ++ const-string/jumbo v4, "name=?" ++ ++ const/4 v0, 0x1 ++ ++ new-array v5, v0, [Ljava/lang/String; ++ ++ const/4 v0, 0x0 ++ ++ aput-object p1, v5, v0 ++ ++ const/4 v6, 0x0 ++ ++ const/4 v7, 0x0 ++ ++ const/4 v8, 0x0 ++ ++ const/4 v9, 0x0 ++ ++ move-object v0, p0 ++ ++ invoke-direct/range {v0 .. v9}, Landroid/privacy/PrivacyPersistenceAdapter;->query(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; ++ ++ move-result-object v10 ++ ++ if-eqz v10, :cond_77 ++ ++ invoke-interface {v10}, Landroid/database/Cursor;->getCount()I ++ ++ move-result v0 ++ ++ if-lez v0, :cond_77 ++ ++ invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_77 ++ ++ const-string/jumbo v0, "value" ++ ++ invoke-interface {v10, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I ++ ++ move-result v0 ++ ++ invoke-interface {v10, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; ++ ++ move-result-object v12 ++ ++ invoke-interface {v10}, Landroid/database/Cursor;->close()V ++ :try_end_4f ++ .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_4f} :catch_90 ++ ++ :goto_4f ++ sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ monitor-enter v2 ++ ++ :try_start_52 ++ sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v0 ++ ++ add-int/lit8 v0, v0, -0x1 ++ ++ invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v0 ++ ++ sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v0 ++ ++ if-nez v0, :cond_75 ++ ++ if-eqz v1, :cond_75 ++ ++ invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_75 ++ ++ invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V ++ ++ :cond_75 ++ monitor-exit v2 ++ :try_end_76 ++ .catchall {:try_start_52 .. :try_end_76} :catchall_aa ++ ++ return-object v12 ++ ++ :cond_77 ++ :try_start_77 ++ const-string v0, "PrivacyPersistenceAdapter" ++ ++ new-instance v2, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v3, "getValue - could not get value for name: " ++ ++ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v2 ++ ++ invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_8f ++ .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_8f} :catch_90 ++ ++ goto :goto_4f ++ ++ :catch_90 ++ move-exception v11 ++ ++ const-string v0, "PrivacyPersistenceAdapter" ++ ++ new-instance v2, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v3, "getValue - could not get value for name: " ++ ++ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v2 ++ ++ invoke-static {v0, v2, v11}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I ++ ++ goto :goto_4f ++ ++ :catchall_aa ++ move-exception v0 ++ ++ :try_start_ab ++ monitor-exit v2 ++ :try_end_ac ++ .catchall {:try_start_ab .. :try_end_ac} :catchall_aa ++ ++ throw v0 ++.end method ++ ++.method public purgeSettings()Z ++ .registers 28 ++ ++ const/16 v25, 0x1 ++ ++ new-instance v13, Ljava/util/ArrayList; ++ ++ invoke-direct {v13}, Ljava/util/ArrayList;->()V ++ ++ move-object/from16 v0, p0 ++ ++ iget-object v2, v0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context; ++ ++ invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager; ++ ++ move-result-object v21 ++ ++ const/16 v2, 0x80 ++ ++ move-object/from16 v0, v21 ++ ++ invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List; ++ ++ move-result-object v19 ++ ++ invoke-interface/range {v19 .. v19}, Ljava/util/List;->iterator()Ljava/util/Iterator; ++ ++ move-result-object v18 ++ ++ :goto_1b ++ invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->hasNext()Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_2d ++ ++ invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->next()Ljava/lang/Object; ++ ++ move-result-object v12 ++ ++ check-cast v12, Landroid/content/pm/ApplicationInfo; ++ ++ iget-object v2, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String; ++ ++ invoke-interface {v13, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z ++ ++ goto :goto_1b ++ ++ :cond_2d ++ new-instance v26, Ljava/io/File; ++ ++ const-string v2, "/data/system/privacy" ++ ++ move-object/from16 v0, v26 ++ ++ invoke-direct {v0, v2}, Ljava/io/File;->(Ljava/lang/String;)V ++ ++ invoke-virtual/range {v26 .. v26}, Ljava/io/File;->listFiles()[Ljava/io/File; ++ ++ move-result-object v15 ++ ++ array-length v0, v15 ++ ++ move/from16 v20, v0 ++ ++ const/16 v18, 0x0 ++ ++ :goto_3f ++ move/from16 v0, v18 ++ ++ move/from16 v1, v20 ++ ++ if-ge v0, v1, :cond_5d ++ ++ aget-object v23, v15, v18 ++ ++ invoke-virtual/range {v23 .. v23}, Ljava/io/File;->getName()Ljava/lang/String; ++ ++ move-result-object v24 ++ ++ move-object/from16 v0, v24 ++ ++ invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z ++ ++ move-result v2 ++ ++ if-nez v2, :cond_5a ++ ++ move-object/from16 v0, p0 ++ ++ move-object/from16 v1, v23 ++ ++ invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V ++ ++ :cond_5a ++ add-int/lit8 v18, v18, 0x1 ++ ++ goto :goto_3f ++ ++ :cond_5d ++ sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v2 ++ ++ add-int/lit8 v2, v2, 0x1 ++ ++ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v2 ++ ++ sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase; ++ ++ move-result-object v3 ++ ++ const/16 v16, 0x0 ++ ++ :try_start_73 ++ const-string/jumbo v4, "settings" ++ ++ const/4 v2, 0x1 ++ ++ new-array v5, v2, [Ljava/lang/String; ++ ++ const/4 v2, 0x0 ++ ++ const-string/jumbo v6, "packageName" ++ ++ aput-object v6, v5, v2 ++ ++ const/4 v6, 0x0 ++ ++ const/4 v7, 0x0 ++ ++ const/4 v8, 0x0 ++ ++ const/4 v9, 0x0 ++ ++ const/4 v10, 0x0 ++ ++ const/4 v11, 0x0 ++ ++ move-object/from16 v2, p0 ++ ++ invoke-direct/range {v2 .. v11}, Landroid/privacy/PrivacyPersistenceAdapter;->query(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; ++ ++ move-result-object v16 ++ ++ new-instance v14, Ljava/util/ArrayList; ++ ++ invoke-direct {v14}, Ljava/util/ArrayList;->()V ++ ++ :goto_90 ++ invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->moveToNext()Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_142 ++ ++ const/4 v2, 0x0 ++ ++ move-object/from16 v0, v16 ++ ++ invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; ++ ++ move-result-object v24 ++ ++ move-object/from16 v0, v24 ++ ++ invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z ++ ++ move-result v2 ++ ++ if-nez v2, :cond_e7 ++ ++ move-object/from16 v0, p0 ++ ++ move-object/from16 v1, v24 ++ ++ invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z ++ :try_end_ac ++ .catchall {:try_start_73 .. :try_end_ac} :catchall_107 ++ .catch Ljava/lang/Exception; {:try_start_73 .. :try_end_ac} :catch_ad ++ ++ goto :goto_90 ++ ++ :catch_ad ++ move-exception v17 ++ ++ :try_start_ae ++ const-string v2, "PrivacyPersistenceAdapter" ++ ++ const-string/jumbo v4, "purgeSettings - purging DB failed" ++ ++ move-object/from16 v0, v17 ++ ++ invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I ++ :try_end_b8 ++ .catchall {:try_start_ae .. :try_end_b8} :catchall_107 ++ ++ const/16 v25, 0x0 ++ ++ if-eqz v16, :cond_bf ++ ++ invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V ++ ++ :cond_bf ++ sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ monitor-enter v4 ++ ++ :try_start_c2 ++ sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v2 ++ ++ add-int/lit8 v2, v2, -0x1 ++ ++ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v2 ++ ++ sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v2 ++ ++ if-nez v2, :cond_e5 ++ ++ if-eqz v3, :cond_e5 ++ ++ invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_e5 ++ ++ invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V ++ ++ :cond_e5 ++ monitor-exit v4 ++ :try_end_e6 ++ .catchall {:try_start_c2 .. :try_end_e6} :catchall_13f ++ ++ :goto_e6 ++ return v25 ++ ++ :cond_e7 ++ :try_start_e7 ++ move-object/from16 v0, v24 ++ ++ invoke-interface {v14, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_135 ++ ++ const/4 v2, 0x0 ++ ++ move-object/from16 v0, p0 ++ ++ move-object/from16 v1, v24 ++ ++ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v22 ++ ++ move-object/from16 v0, p0 ++ ++ move-object/from16 v1, v24 ++ ++ invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z ++ ++ move-object/from16 v0, p0 ++ ++ move-object/from16 v1, v22 ++ ++ invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z ++ :try_end_106 ++ .catchall {:try_start_e7 .. :try_end_106} :catchall_107 ++ .catch Ljava/lang/Exception; {:try_start_e7 .. :try_end_106} :catch_ad ++ ++ goto :goto_90 ++ ++ :catchall_107 ++ move-exception v2 ++ ++ if-eqz v16, :cond_10d ++ ++ invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V ++ ++ :cond_10d ++ sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ monitor-enter v4 ++ ++ :try_start_110 ++ sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v5 ++ ++ add-int/lit8 v5, v5, -0x1 ++ ++ invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v5 ++ ++ sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v5 ++ ++ if-nez v5, :cond_133 ++ ++ if-eqz v3, :cond_133 ++ ++ invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v5 ++ ++ if-eqz v5, :cond_133 ++ ++ invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V ++ ++ :cond_133 ++ monitor-exit v4 ++ :try_end_134 ++ .catchall {:try_start_110 .. :try_end_134} :catchall_13c ++ ++ throw v2 ++ ++ :cond_135 ++ :try_start_135 ++ move-object/from16 v0, v24 ++ ++ invoke-interface {v14, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z ++ :try_end_13a ++ .catchall {:try_start_135 .. :try_end_13a} :catchall_107 ++ .catch Ljava/lang/Exception; {:try_start_135 .. :try_end_13a} :catch_ad ++ ++ goto/16 :goto_90 ++ ++ :catchall_13c ++ move-exception v2 ++ ++ :try_start_13d ++ monitor-exit v4 ++ :try_end_13e ++ .catchall {:try_start_13d .. :try_end_13e} :catchall_13c ++ ++ throw v2 ++ ++ :catchall_13f ++ move-exception v2 ++ ++ :try_start_140 ++ monitor-exit v4 ++ :try_end_141 ++ .catchall {:try_start_140 .. :try_end_141} :catchall_13f ++ ++ throw v2 ++ ++ :cond_142 ++ if-eqz v16, :cond_147 ++ ++ invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V ++ ++ :cond_147 ++ sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ monitor-enter v4 ++ ++ :try_start_14a ++ sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v2 ++ ++ add-int/lit8 v2, v2, -0x1 ++ ++ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v2 ++ ++ sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v2 ++ ++ if-nez v2, :cond_16d ++ ++ if-eqz v3, :cond_16d ++ ++ invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_16d ++ ++ invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V ++ ++ :cond_16d ++ monitor-exit v4 ++ ++ goto/16 :goto_e6 ++ ++ :catchall_170 ++ move-exception v2 ++ ++ monitor-exit v4 ++ :try_end_172 ++ .catchall {:try_start_14a .. :try_end_172} :catchall_170 ++ ++ throw v2 ++.end method ++ ++.method public declared-synchronized saveSettings(Landroid/privacy/PrivacySettings;)Z ++ .registers 27 ++ ++ monitor-enter p0 ++ ++ const/16 v18, 0x1 ++ ++ :try_start_3 ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v17 ++ ++ if-eqz v17, :cond_f ++ ++ invoke-virtual/range {v17 .. v17}, Ljava/lang/String;->isEmpty()Z ++ ++ move-result v3 ++ ++ if-eqz v3, :cond_1a ++ ++ :cond_f ++ const-string v3, "PrivacyPersistenceAdapter" ++ ++ const-string/jumbo v4, "saveSettings - either package name, UID or both is missing" ++ ++ invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_17 ++ .catchall {:try_start_3 .. :try_end_17} :catchall_2c2 ++ ++ const/4 v3, 0x0 ++ ++ :goto_18 ++ monitor-exit p0 ++ ++ return v3 ++ ++ :cond_1a ++ :try_start_1a ++ new-instance v23, Landroid/content/ContentValues; ++ ++ invoke-direct/range {v23 .. v23}, Landroid/content/ContentValues;->()V ++ ++ const-string/jumbo v3, "packageName" ++ ++ move-object/from16 v0, v23 ++ ++ move-object/from16 v1, v17 ++ ++ invoke-virtual {v0, v3, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V ++ ++ const-string/jumbo v3, "uid" ++ ++ const/4 v4, -0x1 ++ ++ invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V ++ ++ const-string v3, "deviceIdSetting" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B ++ ++ move-result v4 ++ ++ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V ++ ++ const-string v3, "deviceId" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V ++ ++ const-string v3, "line1NumberSetting" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B ++ ++ move-result v4 ++ ++ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V ++ ++ const-string v3, "line1Number" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V ++ ++ const-string v3, "locationGpsSetting" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B ++ ++ move-result v4 ++ ++ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V ++ ++ const-string v3, "locationGpsLat" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V ++ ++ const-string v3, "locationGpsLon" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V ++ ++ const-string v3, "locationNetworkSetting" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B ++ ++ move-result v4 ++ ++ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V ++ ++ const-string v3, "locationNetworkLat" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V ++ ++ const-string v3, "locationNetworkLon" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V ++ ++ const-string/jumbo v3, "networkInfoSetting" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B ++ ++ move-result v4 ++ ++ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V ++ ++ const-string/jumbo v3, "simInfoSetting" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B ++ ++ move-result v4 ++ ++ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V ++ ++ const-string/jumbo v3, "simSerialNumberSetting" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B ++ ++ move-result v4 ++ ++ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V ++ ++ const-string/jumbo v3, "simSerialNumber" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V ++ ++ const-string/jumbo v3, "subscriberIdSetting" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B ++ ++ move-result v4 ++ ++ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V ++ ++ const-string/jumbo v3, "subscriberId" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V ++ ++ const-string v3, "accountsSetting" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B ++ ++ move-result v4 ++ ++ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V ++ ++ const-string v3, "accountsAuthTokensSetting" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B ++ ++ move-result v4 ++ ++ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V ++ ++ const-string/jumbo v3, "outgoingCallsSetting" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B ++ ++ move-result v4 ++ ++ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V ++ ++ const-string v3, "incomingCallsSetting" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B ++ ++ move-result v4 ++ ++ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V ++ ++ const-string v3, "contactsSetting" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getContactsSetting()B ++ ++ move-result v4 ++ ++ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V ++ ++ const-string v3, "calendarSetting" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B ++ ++ move-result v4 ++ ++ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V ++ ++ const-string/jumbo v3, "mmsSetting" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getMmsSetting()B ++ ++ move-result v4 ++ ++ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V ++ ++ const-string/jumbo v3, "smsSetting" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSetting()B ++ ++ move-result v4 ++ ++ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V ++ ++ const-string v3, "callLogSetting" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B ++ ++ move-result v4 ++ ++ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V ++ ++ const-string v3, "bookmarksSetting" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B ++ ++ move-result v4 ++ ++ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V ++ ++ const-string/jumbo v3, "systemLogsSetting" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B ++ ++ move-result v4 ++ ++ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V ++ ++ const-string/jumbo v3, "notificationSetting" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNotificationSetting()B ++ ++ move-result v4 ++ ++ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V ++ ++ const-string v3, "intentBootCompletedSetting" ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B ++ ++ move-result v4 ++ ++ invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; ++ ++ move-result-object v4 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v0, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V ++ ++ sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v3 ++ ++ add-int/lit8 v3, v3, 0x1 ++ ++ invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v3 ++ ++ sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V ++ :try_end_1eb ++ .catchall {:try_start_1a .. :try_end_1eb} :catchall_2c2 ++ ++ const/4 v11, 0x0 ++ ++ :try_start_1ec ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer; ++ ++ move-result-object v15 ++ ++ if-eqz v15, :cond_2c8 ++ ++ const-string/jumbo v3, "settings" ++ ++ const-string v4, "_id=?" ++ ++ const/4 v5, 0x1 ++ ++ new-array v5, v5, [Ljava/lang/String; ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String; ++ ++ move-result-object v7 ++ ++ aput-object v7, v5, v6 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v2, v3, v0, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I ++ ++ move-result v3 ++ ++ const/4 v4, 0x1 ++ ++ if-ge v3, v4, :cond_249 ++ ++ new-instance v3, Ljava/lang/Exception; ++ ++ const-string/jumbo v4, "saveSettings - failed to update database entry" ++ ++ invoke-direct {v3, v4}, Ljava/lang/Exception;->(Ljava/lang/String;)V ++ ++ throw v3 ++ :try_end_213 ++ .catchall {:try_start_1ec .. :try_end_213} :catchall_291 ++ .catch Ljava/lang/Exception; {:try_start_1ec .. :try_end_213} :catch_213 ++ ++ :catch_213 ++ move-exception v13 ++ ++ const/16 v18, 0x0 ++ ++ :try_start_216 ++ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V ++ ++ if-eqz v11, :cond_21e ++ ++ invoke-interface {v11}, Landroid/database/Cursor;->close()V ++ ++ :cond_21e ++ sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ monitor-enter v4 ++ :try_end_221 ++ .catchall {:try_start_216 .. :try_end_221} :catchall_2c2 ++ ++ :try_start_221 ++ sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v3 ++ ++ add-int/lit8 v3, v3, -0x1 ++ ++ invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v3 ++ ++ sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v3 ++ ++ if-nez v3, :cond_244 ++ ++ if-eqz v2, :cond_244 ++ ++ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v3 ++ ++ if-eqz v3, :cond_244 ++ ++ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V ++ ++ :cond_244 ++ monitor-exit v4 ++ :try_end_245 ++ .catchall {:try_start_221 .. :try_end_245} :catchall_4ca ++ ++ :goto_245 ++ move/from16 v3, v18 ++ ++ goto/16 :goto_18 ++ ++ :cond_249 ++ :try_start_249 ++ const-string v3, "allowed_contacts" ++ ++ const-string/jumbo v4, "settings_id=?" ++ ++ const/4 v5, 0x1 ++ ++ new-array v5, v5, [Ljava/lang/String; ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual {v15}, Ljava/lang/Integer;->toString()Ljava/lang/String; ++ ++ move-result-object v7 ++ ++ aput-object v7, v5, v6 ++ ++ invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I ++ ++ move-result-object v10 ++ ++ if-eqz v10, :cond_3f2 ++ ++ new-instance v12, Landroid/content/ContentValues; ++ ++ invoke-direct {v12}, Landroid/content/ContentValues;->()V ++ ++ const/4 v14, 0x0 ++ ++ :goto_267 ++ array-length v3, v10 ++ ++ if-ge v14, v3, :cond_3f2 ++ ++ const-string/jumbo v3, "settings_id" ++ ++ invoke-virtual {v12, v3, v15}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V ++ ++ const-string v3, "contact_id" ++ ++ aget v4, v10, v14 ++ ++ invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v4 ++ ++ invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V ++ ++ const-string v3, "allowed_contacts" ++ ++ const/4 v4, 0x0 ++ ++ invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J ++ ++ move-result-wide v3 ++ ++ const-wide/16 v5, -0x1 ++ ++ cmp-long v3, v3, v5 ++ ++ if-nez v3, :cond_2c5 ++ ++ new-instance v3, Ljava/lang/Exception; ++ ++ const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)" ++ ++ invoke-direct {v3, v4}, Ljava/lang/Exception;->(Ljava/lang/String;)V ++ ++ throw v3 ++ :try_end_291 ++ .catchall {:try_start_249 .. :try_end_291} :catchall_291 ++ .catch Ljava/lang/Exception; {:try_start_249 .. :try_end_291} :catch_213 ++ ++ :catchall_291 ++ move-exception v3 ++ ++ :try_start_292 ++ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V ++ ++ if-eqz v11, :cond_29a ++ ++ invoke-interface {v11}, Landroid/database/Cursor;->close()V ++ ++ :cond_29a ++ sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ monitor-enter v4 ++ :try_end_29d ++ .catchall {:try_start_292 .. :try_end_29d} :catchall_2c2 ++ ++ :try_start_29d ++ sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v5 ++ ++ add-int/lit8 v5, v5, -0x1 ++ ++ invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v5 ++ ++ sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v5 ++ ++ if-nez v5, :cond_2c0 ++ ++ if-eqz v2, :cond_2c0 ++ ++ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v5 ++ ++ if-eqz v5, :cond_2c0 ++ ++ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V ++ ++ :cond_2c0 ++ monitor-exit v4 ++ :try_end_2c1 ++ .catchall {:try_start_29d .. :try_end_2c1} :catchall_4cd ++ ++ :try_start_2c1 ++ throw v3 ++ :try_end_2c2 ++ .catchall {:try_start_2c1 .. :try_end_2c2} :catchall_2c2 ++ ++ :catchall_2c2 ++ move-exception v3 ++ ++ monitor-exit p0 ++ ++ throw v3 ++ ++ :cond_2c5 ++ add-int/lit8 v14, v14, 0x1 ++ ++ goto :goto_267 ++ ++ :cond_2c8 ++ :try_start_2c8 ++ const-string/jumbo v3, "settings" ++ ++ const/4 v4, 0x1 ++ ++ new-array v4, v4, [Ljava/lang/String; ++ ++ const/4 v5, 0x0 ++ ++ const-string v6, "_id" ++ ++ aput-object v6, v4, v5 ++ ++ const-string/jumbo v5, "packageName=?" ++ ++ const/4 v6, 0x1 ++ ++ new-array v6, v6, [Ljava/lang/String; ++ ++ const/4 v7, 0x0 ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v8 ++ ++ aput-object v8, v6, v7 ++ ++ const/4 v7, 0x0 ++ ++ const/4 v8, 0x0 ++ ++ const/4 v9, 0x0 ++ ++ invoke-virtual/range {v2 .. v9}, Landroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; ++ ++ move-result-object v11 ++ ++ if-eqz v11, :cond_3e7 ++ ++ invoke-interface {v11}, Landroid/database/Cursor;->getCount()I ++ ++ move-result v3 ++ ++ const/4 v4, 0x1 ++ ++ if-ne v3, v4, :cond_36e ++ ++ const-string/jumbo v3, "settings" ++ ++ const-string/jumbo v4, "packageName=?" ++ ++ const/4 v5, 0x1 ++ ++ new-array v5, v5, [Ljava/lang/String; ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v7 ++ ++ aput-object v7, v5, v6 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v2, v3, v0, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I ++ ++ move-result v3 ++ ++ const/4 v4, 0x1 ++ ++ if-ge v3, v4, :cond_312 ++ ++ new-instance v3, Ljava/lang/Exception; ++ ++ const-string/jumbo v4, "saveSettings - failed to update database entry" ++ ++ invoke-direct {v3, v4}, Ljava/lang/Exception;->(Ljava/lang/String;)V ++ ++ throw v3 ++ ++ :cond_312 ++ invoke-interface {v11}, Landroid/database/Cursor;->moveToFirst()Z ++ ++ move-result v3 ++ ++ if-eqz v3, :cond_3f2 ++ ++ const/4 v3, 0x0 ++ ++ invoke-interface {v11, v3}, Landroid/database/Cursor;->getInt(I)I ++ ++ move-result v3 ++ ++ invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v16 ++ ++ const-string v3, "allowed_contacts" ++ ++ const-string/jumbo v4, "settings_id=?" ++ ++ const/4 v5, 0x1 ++ ++ new-array v5, v5, [Ljava/lang/String; ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String; ++ ++ move-result-object v7 ++ ++ aput-object v7, v5, v6 ++ ++ invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I ++ ++ move-result-object v10 ++ ++ if-eqz v10, :cond_3f2 ++ ++ new-instance v12, Landroid/content/ContentValues; ++ ++ invoke-direct {v12}, Landroid/content/ContentValues;->()V ++ ++ const/4 v14, 0x0 ++ ++ :goto_33f ++ array-length v3, v10 ++ ++ if-ge v14, v3, :cond_3f2 ++ ++ const-string/jumbo v3, "settings_id" ++ ++ move-object/from16 v0, v16 ++ ++ invoke-virtual {v12, v3, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V ++ ++ const-string v3, "contact_id" ++ ++ aget v4, v10, v14 ++ ++ invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v4 ++ ++ invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V ++ ++ const-string v3, "allowed_contacts" ++ ++ const/4 v4, 0x0 ++ ++ invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J ++ ++ move-result-wide v3 ++ ++ const-wide/16 v5, -0x1 ++ ++ cmp-long v3, v3, v5 ++ ++ if-nez v3, :cond_36b ++ ++ new-instance v3, Ljava/lang/Exception; ++ ++ const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)" ++ ++ invoke-direct {v3, v4}, Ljava/lang/Exception;->(Ljava/lang/String;)V ++ ++ throw v3 ++ ++ :cond_36b ++ add-int/lit8 v14, v14, 0x1 ++ ++ goto :goto_33f ++ ++ :cond_36e ++ invoke-interface {v11}, Landroid/database/Cursor;->getCount()I ++ ++ move-result v3 ++ ++ if-nez v3, :cond_3dc ++ ++ const-string/jumbo v3, "settings" ++ ++ const/4 v4, 0x0 ++ ++ move-object/from16 v0, v23 ++ ++ invoke-virtual {v2, v3, v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J ++ ++ move-result-wide v19 ++ ++ const-wide/16 v3, -0x1 ++ ++ cmp-long v3, v19, v3 ++ ++ if-nez v3, :cond_38d ++ ++ new-instance v3, Ljava/lang/Exception; ++ ++ const-string/jumbo v4, "saveSettings - failed to insert new record into DB" ++ ++ invoke-direct {v3, v4}, Ljava/lang/Exception;->(Ljava/lang/String;)V ++ ++ throw v3 ++ ++ :cond_38d ++ const-string v3, "allowed_contacts" ++ ++ const-string/jumbo v4, "settings_id=?" ++ ++ const/4 v5, 0x1 ++ ++ new-array v5, v5, [Ljava/lang/String; ++ ++ const/4 v6, 0x0 ++ ++ invoke-static/range {v19 .. v20}, Ljava/lang/Long;->toString(J)Ljava/lang/String; ++ ++ move-result-object v7 ++ ++ aput-object v7, v5, v6 ++ ++ invoke-virtual {v2, v3, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I ++ ++ move-result-object v10 ++ ++ if-eqz v10, :cond_3f2 ++ ++ new-instance v12, Landroid/content/ContentValues; ++ ++ invoke-direct {v12}, Landroid/content/ContentValues;->()V ++ ++ const/4 v14, 0x0 ++ ++ :goto_3ab ++ array-length v3, v10 ++ ++ if-ge v14, v3, :cond_3f2 ++ ++ const-string/jumbo v3, "settings_id" ++ ++ invoke-static/range {v19 .. v20}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; ++ ++ move-result-object v4 ++ ++ invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V ++ ++ const-string v3, "contact_id" ++ ++ aget v4, v10, v14 ++ ++ invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v4 ++ ++ invoke-virtual {v12, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V ++ ++ const-string v3, "allowed_contacts" ++ ++ const/4 v4, 0x0 ++ ++ invoke-virtual {v2, v3, v4, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J ++ ++ move-result-wide v3 ++ ++ const-wide/16 v5, -0x1 ++ ++ cmp-long v3, v3, v5 ++ ++ if-nez v3, :cond_3d9 ++ ++ new-instance v3, Ljava/lang/Exception; ++ ++ const-string/jumbo v4, "saveSettings - failed to update database entry (contacts)" ++ ++ invoke-direct {v3, v4}, Ljava/lang/Exception;->(Ljava/lang/String;)V ++ ++ throw v3 ++ ++ :cond_3d9 ++ add-int/lit8 v14, v14, 0x1 ++ ++ goto :goto_3ab ++ ++ :cond_3dc ++ const/16 v18, 0x0 ++ ++ new-instance v3, Ljava/lang/Exception; ++ ++ const-string/jumbo v4, "saveSettings - duplicate entries in the privacy.db" ++ ++ invoke-direct {v3, v4}, Ljava/lang/Exception;->(Ljava/lang/String;)V ++ ++ throw v3 ++ ++ :cond_3e7 ++ const/16 v18, 0x0 ++ ++ new-instance v3, Ljava/lang/Exception; ++ ++ const-string/jumbo v4, "saveSettings - cursor is null, database access failed" ++ ++ invoke-direct {v3, v4}, Ljava/lang/Exception;->(Ljava/lang/String;)V ++ ++ throw v3 ++ ++ :cond_3f2 ++ new-instance v21, Ljava/io/File; ++ ++ new-instance v3, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v4, "/data/system/privacy/" ++ ++ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ move-object/from16 v0, v17 ++ ++ invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ const-string v4, "/" ++ ++ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v3 ++ ++ move-object/from16 v0, v21 ++ ++ invoke-direct {v0, v3}, Ljava/io/File;->(Ljava/lang/String;)V ++ ++ new-instance v22, Ljava/io/File; ++ ++ new-instance v3, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v4, "/data/system/privacy/" ++ ++ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ move-object/from16 v0, v17 ++ ++ invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ const-string v4, "/" ++ ++ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ const-string v4, "/systemLogsSetting" ++ ++ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v3 ++ ++ move-object/from16 v0, v22 ++ ++ invoke-direct {v0, v3}, Ljava/io/File;->(Ljava/lang/String;)V ++ :try_end_43c ++ .catchall {:try_start_2c8 .. :try_end_43c} :catchall_291 ++ .catch Ljava/lang/Exception; {:try_start_2c8 .. :try_end_43c} :catch_213 ++ ++ :try_start_43c ++ invoke-virtual/range {v21 .. v21}, Ljava/io/File;->mkdirs()Z ++ ++ const/4 v3, 0x1 ++ ++ const/4 v4, 0x0 ++ ++ move-object/from16 v0, v21 ++ ++ invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z ++ ++ const/4 v3, 0x1 ++ ++ const/4 v4, 0x0 ++ ++ move-object/from16 v0, v21 ++ ++ invoke-virtual {v0, v3, v4}, Ljava/io/File;->setExecutable(ZZ)Z ++ ++ invoke-virtual/range {v22 .. v22}, Ljava/io/File;->createNewFile()Z ++ ++ const/4 v3, 0x1 ++ ++ const/4 v4, 0x0 ++ ++ move-object/from16 v0, v22 ++ ++ invoke-virtual {v0, v3, v4}, Ljava/io/File;->setReadable(ZZ)Z ++ ++ new-instance v24, Ljava/io/OutputStreamWriter; ++ ++ new-instance v3, Ljava/io/FileOutputStream; ++ ++ move-object/from16 v0, v22 ++ ++ invoke-direct {v3, v0}, Ljava/io/FileOutputStream;->(Ljava/io/File;)V ++ ++ move-object/from16 v0, v24 ++ ++ invoke-direct {v0, v3}, Ljava/io/OutputStreamWriter;->(Ljava/io/OutputStream;)V ++ ++ new-instance v3, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V ++ ++ invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B ++ ++ move-result v4 ++ ++ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ const-string v4, "" ++ ++ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v3 ++ ++ move-object/from16 v0, v24 ++ ++ invoke-virtual {v0, v3}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer; ++ ++ invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->flush()V ++ ++ invoke-virtual/range {v24 .. v24}, Ljava/io/OutputStreamWriter;->close()V ++ :try_end_487 ++ .catchall {:try_start_43c .. :try_end_487} :catchall_291 ++ .catch Ljava/io/IOException; {:try_start_43c .. :try_end_487} :catch_4be ++ .catch Ljava/lang/Exception; {:try_start_43c .. :try_end_487} :catch_213 ++ ++ :try_start_487 ++ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V ++ :try_end_48a ++ .catchall {:try_start_487 .. :try_end_48a} :catchall_291 ++ .catch Ljava/lang/Exception; {:try_start_487 .. :try_end_48a} :catch_213 ++ ++ :try_start_48a ++ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V ++ ++ if-eqz v11, :cond_492 ++ ++ invoke-interface {v11}, Landroid/database/Cursor;->close()V ++ ++ :cond_492 ++ sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ monitor-enter v4 ++ :try_end_495 ++ .catchall {:try_start_48a .. :try_end_495} :catchall_2c2 ++ ++ :try_start_495 ++ sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v3 ++ ++ add-int/lit8 v3, v3, -0x1 ++ ++ invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v3 ++ ++ sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v3 ++ ++ if-nez v3, :cond_4b8 ++ ++ if-eqz v2, :cond_4b8 ++ ++ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v3 ++ ++ if-eqz v3, :cond_4b8 ++ ++ invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V ++ ++ :cond_4b8 ++ monitor-exit v4 ++ ++ goto/16 :goto_245 ++ ++ :catchall_4bb ++ move-exception v3 ++ ++ monitor-exit v4 ++ :try_end_4bd ++ .catchall {:try_start_495 .. :try_end_4bd} :catchall_4bb ++ ++ :try_start_4bd ++ throw v3 ++ :try_end_4be ++ .catchall {:try_start_4bd .. :try_end_4be} :catchall_2c2 ++ ++ :catch_4be ++ move-exception v13 ++ ++ const/16 v18, 0x0 ++ ++ :try_start_4c1 ++ new-instance v3, Ljava/lang/Exception; ++ ++ const-string/jumbo v4, "saveSettings - could not write settings to file" ++ ++ invoke-direct {v3, v4, v13}, Ljava/lang/Exception;->(Ljava/lang/String;Ljava/lang/Throwable;)V ++ ++ throw v3 ++ :try_end_4ca ++ .catchall {:try_start_4c1 .. :try_end_4ca} :catchall_291 ++ .catch Ljava/lang/Exception; {:try_start_4c1 .. :try_end_4ca} :catch_213 ++ ++ :catchall_4ca ++ move-exception v3 ++ ++ :try_start_4cb ++ monitor-exit v4 ++ :try_end_4cc ++ .catchall {:try_start_4cb .. :try_end_4cc} :catchall_4ca ++ ++ :try_start_4cc ++ throw v3 ++ :try_end_4cd ++ .catchall {:try_start_4cc .. :try_end_4cd} :catchall_2c2 ++ ++ :catchall_4cd ++ move-exception v3 ++ ++ :try_start_4ce ++ monitor-exit v4 ++ :try_end_4cf ++ .catchall {:try_start_4ce .. :try_end_4cf} :catchall_4cd ++ ++ :try_start_4cf ++ throw v3 ++ :try_end_4d0 ++ .catchall {:try_start_4cf .. :try_end_4d0} :catchall_2c2 ++.end method ++ ++.method public declared-synchronized setValue(Ljava/lang/String;Ljava/lang/String;)Z ++ .registers 10 ++ ++ monitor-enter p0 ++ ++ :try_start_1 ++ const-string v3, "PrivacyPersistenceAdapter" ++ ++ new-instance v4, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v4}, Ljava/lang/StringBuilder;->()V ++ ++ const-string/jumbo v5, "setValue - name " ++ ++ invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v4 ++ ++ invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v4 ++ ++ const-string v5, " value " ++ ++ invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v4 ++ ++ invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v4 ++ ++ invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v4 ++ ++ invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ ++ new-instance v2, Landroid/content/ContentValues; ++ ++ invoke-direct {v2}, Landroid/content/ContentValues;->()V ++ ++ const-string/jumbo v3, "name" ++ ++ invoke-virtual {v2, v3, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V ++ ++ const-string/jumbo v3, "value" ++ ++ invoke-virtual {v2, v3, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V ++ ++ invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase; ++ ++ move-result-object v0 ++ ++ const-string/jumbo v3, "map" ++ ++ const/4 v4, 0x0 ++ ++ invoke-virtual {v0, v3, v4, v2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J ++ ++ move-result-wide v3 ++ ++ const-wide/16 v5, -0x1 ++ ++ cmp-long v3, v3, v5 ++ ++ if-eqz v3, :cond_5d ++ ++ const/4 v1, 0x1 ++ ++ :goto_48 ++ sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer; ++ ++ invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v3 ++ ++ if-nez v3, :cond_5b ++ ++ if-eqz v0, :cond_5b ++ ++ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z ++ ++ move-result v3 ++ ++ if-eqz v3, :cond_5b ++ ++ invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V ++ :try_end_5b ++ .catchall {:try_start_1 .. :try_end_5b} :catchall_5f ++ ++ :cond_5b ++ monitor-exit p0 ++ ++ return v1 ++ ++ :cond_5d ++ const/4 v1, 0x0 ++ ++ goto :goto_48 ++ ++ :catchall_5f ++ move-exception v3 ++ ++ monitor-exit p0 ++ ++ throw v3 ++.end method +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/privacy/PrivacySettings$1.smali pdroid-framework/smali/android/privacy/PrivacySettings$1.smali +--- stock-framework/smali/android/privacy/PrivacySettings$1.smali 1969-12-31 18:00:00.000000000 -0600 ++++ pdroid-framework/smali/android/privacy/PrivacySettings$1.smali 2012-08-06 13:25:00.023455125 -0500 +@@ -0,0 +1,77 @@ ++.class final Landroid/privacy/PrivacySettings$1; ++.super Ljava/lang/Object; ++.source "PrivacySettings.java" ++ ++# interfaces ++.implements Landroid/os/Parcelable$Creator; ++ ++ ++# annotations ++.annotation system Ldalvik/annotation/EnclosingClass; ++ value = Landroid/privacy/PrivacySettings; ++.end annotation ++ ++.annotation system Ldalvik/annotation/InnerClass; ++ accessFlags = 0x8 ++ name = null ++.end annotation ++ ++.annotation system Ldalvik/annotation/Signature; ++ value = { ++ "Ljava/lang/Object;", ++ "Landroid/os/Parcelable$Creator", ++ "<", ++ "Landroid/privacy/PrivacySettings;", ++ ">;" ++ } ++.end annotation ++ ++ ++# direct methods ++.method constructor ()V ++ .registers 1 ++ ++ invoke-direct {p0}, Ljava/lang/Object;->()V ++ ++ return-void ++.end method ++ ++ ++# virtual methods ++.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings; ++ .registers 3 ++ ++ new-instance v0, Landroid/privacy/PrivacySettings; ++ ++ invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;->(Landroid/os/Parcel;)V ++ ++ return-object v0 ++.end method ++ ++.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; ++ .registers 3 ++ ++ invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v0 ++ ++ return-object v0 ++.end method ++ ++.method public newArray(I)[Landroid/privacy/PrivacySettings; ++ .registers 3 ++ ++ new-array v0, p1, [Landroid/privacy/PrivacySettings; ++ ++ return-object v0 ++.end method ++ ++.method public bridge synthetic newArray(I)[Ljava/lang/Object; ++ .registers 3 ++ ++ invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings; ++ ++ move-result-object v0 ++ ++ return-object v0 ++.end method +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali +--- stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali 1969-12-31 18:00:00.000000000 -0600 ++++ pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali 2012-08-06 13:25:00.027455145 -0500 +@@ -0,0 +1,535 @@ ++.class public Landroid/privacy/PrivacySettingsManagerService; ++.super Landroid/privacy/IPrivacySettingsManager$Stub; ++.source "PrivacySettingsManagerService.java" ++ ++ ++# static fields ++.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManagerService" ++ ++.field private static final VERSION:D = 1.32 ++ ++.field private static final WRITE_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.WRITE_PRIVACY_SETTINGS" ++ ++.field public static obs:Landroid/privacy/PrivacyFileObserver; ++ ++ ++# instance fields ++.field private bootCompleted:Z ++ ++.field private context:Landroid/content/Context; ++ ++.field private enabled:Z ++ ++.field private notificationsEnabled:Z ++ ++.field private persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter; ++ ++ ++# direct methods ++.method public constructor (Landroid/content/Context;)V ++ .registers 5 ++ ++ invoke-direct {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->()V ++ ++ const-string v0, "PrivacySettingsManagerService" ++ ++ new-instance v1, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v2, "PrivacySettingsManagerService - initializing for package: " ++ ++ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v1 ++ ++ invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v1 ++ ++ const-string v2, " UID: " ++ ++ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v1 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v2 ++ ++ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v1 ++ ++ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I ++ ++ iput-object p1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context; ++ ++ new-instance v0, Landroid/privacy/PrivacyPersistenceAdapter; ++ ++ invoke-direct {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->(Landroid/content/Context;)V ++ ++ iput-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter; ++ ++ new-instance v0, Landroid/privacy/PrivacyFileObserver; ++ ++ const-string v1, "/data/system/privacy" ++ ++ invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;->(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V ++ ++ sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver; ++ ++ iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter; ++ ++ const-string v1, "enabled" ++ ++ invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ const-string v1, "1" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v0 ++ ++ iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z ++ ++ iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter; ++ ++ const-string/jumbo v1, "notifications_enabled" ++ ++ invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ const-string v1, "1" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v0 ++ ++ iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z ++ ++ const/4 v0, 0x0 ++ ++ iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z ++ ++ return-void ++.end method ++ ++ ++# virtual methods ++.method public addObserver(Ljava/lang/String;)V ++ .registers 5 ++ ++ iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context; ++ ++ const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS" ++ ++ const-string v2, "Requires WRITE_PRIVACY_SETTINGS" ++ ++ invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V ++ ++ sget-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver; ++ ++ invoke-virtual {v0, p1}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V ++ ++ return-void ++.end method ++ ++.method public deleteSettings(Ljava/lang/String;)Z ++ .registers 8 ++ ++ const/4 v5, 0x1 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v2 ++ ++ const/16 v3, 0x3e8 ++ ++ if-eq v2, v3, :cond_12 ++ ++ iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context; ++ ++ const-string v3, "android.privacy.WRITE_PRIVACY_SETTINGS" ++ ++ const-string v4, "Requires WRITE_PRIVACY_SETTINGS" ++ ++ invoke-virtual {v2, v3, v4}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V ++ ++ :cond_12 ++ iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter; ++ ++ invoke-virtual {v2, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z ++ ++ move-result v1 ++ ++ new-instance v2, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v3, "/data/system/privacy/" ++ ++ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ new-instance v2, Ljava/io/File; ++ ++ invoke-direct {v2, v0}, Ljava/io/File;->(Ljava/lang/String;)V ++ ++ invoke-virtual {v2}, Ljava/io/File;->exists()Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_3e ++ ++ if-ne v1, v5, :cond_3e ++ ++ sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver; ++ ++ invoke-virtual {v2, v0}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V ++ ++ :cond_3d ++ :goto_3d ++ return v1 ++ ++ :cond_3e ++ if-ne v1, v5, :cond_3d ++ ++ sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver; ++ ++ iget-object v2, v2, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap; ++ ++ invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; ++ ++ goto :goto_3d ++.end method ++ ++.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings; ++ .registers 4 ++ ++ iget-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z ++ ++ if-nez v0, :cond_12 ++ ++ iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context; ++ ++ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ const-string v1, "com.privacy.pdroid" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_1a ++ ++ :cond_12 ++ iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter; ++ ++ const/4 v1, 0x0 ++ ++ invoke-virtual {v0, p1, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v0 ++ ++ :goto_19 ++ return-object v0 ++ ++ :cond_1a ++ const/4 v0, 0x0 ++ ++ goto :goto_19 ++.end method ++ ++.method public getVersion()D ++ .registers 3 ++ ++ const-wide v0, 0x3ff51eb851eb851fL ++ ++ return-wide v0 ++.end method ++ ++.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V ++ .registers 8 ++ ++ iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z ++ ++ if-eqz v1, :cond_34 ++ ++ iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z ++ ++ if-eqz v1, :cond_34 ++ ++ new-instance v0, Landroid/content/Intent; ++ ++ invoke-direct {v0}, Landroid/content/Intent;->()V ++ ++ const-string v1, "com.privacy.pdroid.PRIVACY_NOTIFICATION" ++ ++ invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent; ++ ++ const-string/jumbo v1, "packageName" ++ ++ invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; ++ ++ const-string/jumbo v1, "uid" ++ ++ const/4 v2, -0x1 ++ ++ invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent; ++ ++ const-string v1, "accessMode" ++ ++ invoke-virtual {v0, v1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;B)Landroid/content/Intent; ++ ++ const-string v1, "dataType" ++ ++ invoke-virtual {v0, v1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; ++ ++ const-string/jumbo v1, "output" ++ ++ invoke-virtual {v0, v1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; ++ ++ iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context; ++ ++ invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V ++ ++ :cond_34 ++ return-void ++.end method ++ ++.method public purgeSettings()Z ++ .registers 2 ++ ++ iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter; ++ ++ invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z ++ ++ move-result v0 ++ ++ return v0 ++.end method ++ ++.method public registerObservers()V ++ .registers 4 ++ ++ iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context; ++ ++ const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS" ++ ++ const-string v2, "Requires WRITE_PRIVACY_SETTINGS" ++ ++ invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V ++ ++ new-instance v0, Landroid/privacy/PrivacyFileObserver; ++ ++ const-string v1, "/data/system/privacy" ++ ++ invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;->(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V ++ ++ sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver; ++ ++ return-void ++.end method ++ ++.method public saveSettings(Landroid/privacy/PrivacySettings;)Z ++ .registers 6 ++ ++ const-string v1, "PrivacySettingsManagerService" ++ ++ new-instance v2, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V ++ ++ const-string/jumbo v3, "saveSettings - checking if caller (UID: " ++ ++ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v3 ++ ++ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ const-string v3, ") has sufficient permissions" ++ ++ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v2 ++ ++ invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v1 ++ ++ const/16 v2, 0x3e8 ++ ++ if-eq v1, v2, :cond_34 ++ ++ iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context; ++ ++ const-string v2, "android.privacy.WRITE_PRIVACY_SETTINGS" ++ ++ const-string v3, "Requires WRITE_PRIVACY_SETTINGS" ++ ++ invoke-virtual {v1, v2, v3}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V ++ ++ :cond_34 ++ const-string v1, "PrivacySettingsManagerService" ++ ++ new-instance v2, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V ++ ++ const-string/jumbo v3, "saveSettings - " ++ ++ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v2 ++ ++ invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I ++ ++ iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter; ++ ++ invoke-virtual {v1, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z ++ ++ move-result v0 ++ ++ const/4 v1, 0x1 ++ ++ if-ne v0, v1, :cond_5f ++ ++ sget-object v1, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver; ++ ++ invoke-virtual {p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v1, v2}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V ++ ++ :cond_5f ++ return v0 ++.end method ++ ++.method public setBootCompleted()V ++ .registers 2 ++ ++ const/4 v0, 0x1 ++ ++ iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z ++ ++ return-void ++.end method ++ ++.method public setEnabled(Z)Z ++ .registers 6 ++ ++ const/4 v1, 0x1 ++ ++ if-eqz p1, :cond_12 ++ ++ const-string v0, "1" ++ ++ :goto_5 ++ iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter; ++ ++ const-string v3, "enabled" ++ ++ invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_15 ++ ++ iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z ++ ++ :goto_11 ++ return v1 ++ ++ :cond_12 ++ const-string v0, "0" ++ ++ goto :goto_5 ++ ++ :cond_15 ++ const/4 v1, 0x0 ++ ++ goto :goto_11 ++.end method ++ ++.method public setNotificationsEnabled(Z)Z ++ .registers 6 ++ ++ const/4 v1, 0x1 ++ ++ if-eqz p1, :cond_15 ++ ++ const-string v0, "1" ++ ++ :goto_5 ++ iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter; ++ ++ const-string/jumbo v3, "notifications_enabled" ++ ++ invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_18 ++ ++ iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z ++ ++ iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z ++ ++ :goto_14 ++ return v1 ++ ++ :cond_15 ++ const-string v0, "0" ++ ++ goto :goto_5 ++ ++ :cond_18 ++ const/4 v1, 0x0 ++ ++ goto :goto_14 ++.end method +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/privacy/PrivacySettingsManager.smali pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali +--- stock-framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600 ++++ pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali 2012-08-06 13:25:00.027455145 -0500 +@@ -0,0 +1,531 @@ ++.class public Landroid/privacy/PrivacySettingsManager; ++.super Ljava/lang/Object; ++.source "PrivacySettingsManager.java" ++ ++ ++# static fields ++.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION" ++ ++.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager" ++ ++ ++# instance fields ++.field private service:Landroid/privacy/IPrivacySettingsManager; ++ ++ ++# direct methods ++.method public constructor (Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V ++ .registers 3 ++ ++ invoke-direct {p0}, Ljava/lang/Object;->()V ++ ++ iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ return-void ++.end method ++ ++ ++# virtual methods ++.method public addObserver(Ljava/lang/String;)V ++ .registers 5 ++ ++ :try_start_0 ++ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ if-eqz v1, :cond_a ++ ++ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V ++ ++ :goto_9 ++ return-void ++ ++ :cond_a ++ const-string v1, "PrivacySettingsManager" ++ ++ const-string v2, "deleteSettings - PrivacySettingsManagerService is null" ++ ++ invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_11 ++ .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12 ++ ++ goto :goto_9 ++ ++ :catch_12 ++ move-exception v0 ++ ++ const-string v1, "PrivacySettingsManager" ++ ++ const-string v2, "RemoteException in addObserver: " ++ ++ invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I ++ ++ goto :goto_9 ++.end method ++ ++.method public deleteSettings(Ljava/lang/String;)Z ++ .registers 3 ++ ++ invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z ++ ++ move-result v0 ++ ++ return v0 ++.end method ++ ++.method public deleteSettings(Ljava/lang/String;I)Z ++ .registers 7 ++ ++ const/4 v1, 0x0 ++ ++ :try_start_1 ++ iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ if-eqz v2, :cond_c ++ ++ iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z ++ ++ move-result v1 ++ ++ :goto_b ++ return v1 ++ ++ :cond_c ++ const-string v2, "PrivacySettingsManager" ++ ++ const-string v3, "deleteSettings - PrivacySettingsManagerService is null" ++ ++ invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_13 ++ .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14 ++ ++ goto :goto_b ++ ++ :catch_14 ++ move-exception v0 ++ ++ const-string v2, "PrivacySettingsManager" ++ ++ const-string v3, "RemoteException in deleteSettings: " ++ ++ invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I ++ ++ goto :goto_b ++.end method ++ ++.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings; ++ .registers 6 ++ ++ const/4 v1, 0x0 ++ ++ :try_start_1 ++ iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ if-eqz v2, :cond_c ++ ++ iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v1 ++ ++ :goto_b ++ return-object v1 ++ ++ :cond_c ++ const-string v2, "PrivacySettingsManager" ++ ++ const-string v3, "getSettings - PrivacySettingsManagerService is null" ++ ++ invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_13 ++ .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14 ++ ++ goto :goto_b ++ ++ :catch_14 ++ move-exception v0 ++ ++ invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V ++ ++ goto :goto_b ++.end method ++ ++.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ .registers 4 ++ ++ invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v0 ++ ++ return-object v0 ++.end method ++ ++.method public getVersion()D ++ .registers 4 ++ ++ :try_start_0 ++ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ if-eqz v1, :cond_b ++ ++ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D ++ ++ move-result-wide v1 ++ ++ :goto_a ++ return-wide v1 ++ ++ :cond_b ++ const-string v1, "PrivacySettingsManager" ++ ++ const-string v2, "getVersion - PrivacySettingsManagerService is null" ++ ++ invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_12 ++ .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15 ++ ++ :goto_12 ++ const-wide/16 v1, 0x0 ++ ++ goto :goto_a ++ ++ :catch_15 ++ move-exception v0 ++ ++ const-string v1, "PrivacySettingsManager" ++ ++ const-string v2, "RemoteException in getVersion: " ++ ++ invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I ++ ++ goto :goto_12 ++.end method ++ ++.method public isServiceAvailable()Z ++ .registers 2 ++ ++ iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ if-eqz v0, :cond_6 ++ ++ const/4 v0, 0x1 ++ ++ :goto_5 ++ return v0 ++ ++ :cond_6 ++ const/4 v0, 0x0 ++ ++ goto :goto_5 ++.end method ++ ++.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ .registers 9 ++ ++ :try_start_0 ++ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ if-eqz v1, :cond_a ++ ++ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V ++ ++ :goto_9 ++ return-void ++ ++ :cond_a ++ const-string v1, "PrivacySettingsManager" ++ ++ const-string v2, "deleteSettings - PrivacySettingsManagerService is null" ++ ++ invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_11 ++ .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12 ++ ++ goto :goto_9 ++ ++ :catch_12 ++ move-exception v0 ++ ++ const-string v1, "PrivacySettingsManager" ++ ++ const-string v2, "RemoteException in notification: " ++ ++ invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I ++ ++ goto :goto_9 ++.end method ++ ++.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ .registers 13 ++ ++ move-object v0, p0 ++ ++ move-object v1, p1 ++ ++ move v2, p3 ++ ++ move-object v3, p4 ++ ++ move-object v4, p5 ++ ++ move-object v5, p6 ++ ++ invoke-virtual/range {v0 .. v5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ return-void ++.end method ++ ++.method public purgeSettings()Z ++ .registers 4 ++ ++ :try_start_0 ++ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ if-eqz v1, :cond_b ++ ++ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z ++ ++ move-result v1 ++ ++ :goto_a ++ return v1 ++ ++ :cond_b ++ const-string v1, "PrivacySettingsManager" ++ ++ const-string v2, "deleteSettings - PrivacySettingsManagerService is null" ++ ++ invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_12 ++ .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14 ++ ++ :goto_12 ++ const/4 v1, 0x0 ++ ++ goto :goto_a ++ ++ :catch_14 ++ move-exception v0 ++ ++ const-string v1, "PrivacySettingsManager" ++ ++ const-string v2, "RemoteException in purgeSettings: " ++ ++ invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I ++ ++ goto :goto_12 ++.end method ++ ++.method public registerObservers()V ++ .registers 4 ++ ++ :try_start_0 ++ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ if-eqz v1, :cond_a ++ ++ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V ++ ++ :goto_9 ++ return-void ++ ++ :cond_a ++ const-string v1, "PrivacySettingsManager" ++ ++ const-string v2, "deleteSettings - PrivacySettingsManagerService is null" ++ ++ invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_11 ++ .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12 ++ ++ goto :goto_9 ++ ++ :catch_12 ++ move-exception v0 ++ ++ const-string v1, "PrivacySettingsManager" ++ ++ const-string v2, "RemoteException in registerObservers: " ++ ++ invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I ++ ++ goto :goto_9 ++.end method ++ ++.method public saveSettings(Landroid/privacy/PrivacySettings;)Z ++ .registers 6 ++ ++ const/4 v1, 0x0 ++ ++ :try_start_1 ++ iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ if-eqz v2, :cond_c ++ ++ iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z ++ ++ move-result v1 ++ ++ :goto_b ++ return v1 ++ ++ :cond_c ++ const-string v2, "PrivacySettingsManager" ++ ++ const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null" ++ ++ invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_14 ++ .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15 ++ ++ goto :goto_b ++ ++ :catch_15 ++ move-exception v0 ++ ++ const-string v2, "PrivacySettingsManager" ++ ++ const-string v3, "RemoteException in saveSettings: " ++ ++ invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I ++ ++ goto :goto_b ++.end method ++ ++.method public setBootCompleted()V ++ .registers 4 ++ ++ :try_start_0 ++ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ if-eqz v1, :cond_a ++ ++ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V ++ ++ :goto_9 ++ return-void ++ ++ :cond_a ++ const-string v1, "PrivacySettingsManager" ++ ++ const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null" ++ ++ invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_12 ++ .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13 ++ ++ goto :goto_9 ++ ++ :catch_13 ++ move-exception v0 ++ ++ const-string v1, "PrivacySettingsManager" ++ ++ const-string v2, "RemoteException in setBootCompleted: " ++ ++ invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I ++ ++ goto :goto_9 ++.end method ++ ++.method public setEnabled(Z)Z ++ .registers 5 ++ ++ :try_start_0 ++ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ if-eqz v1, :cond_b ++ ++ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z ++ ++ move-result v1 ++ ++ :goto_a ++ return v1 ++ ++ :cond_b ++ const-string v1, "PrivacySettingsManager" ++ ++ const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null" ++ ++ invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_13 ++ .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15 ++ ++ :goto_13 ++ const/4 v1, 0x0 ++ ++ goto :goto_a ++ ++ :catch_15 ++ move-exception v0 ++ ++ const-string v1, "PrivacySettingsManager" ++ ++ const-string v2, "RemoteException in setEnabled: " ++ ++ invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I ++ ++ goto :goto_13 ++.end method ++ ++.method public setNotificationsEnabled(Z)Z ++ .registers 5 ++ ++ :try_start_0 ++ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ if-eqz v1, :cond_b ++ ++ iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager; ++ ++ invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z ++ ++ move-result v1 ++ ++ :goto_a ++ return v1 ++ ++ :cond_b ++ const-string v1, "PrivacySettingsManager" ++ ++ const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null" ++ ++ invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_13 ++ .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15 ++ ++ :goto_13 ++ const/4 v1, 0x0 ++ ++ goto :goto_a ++ ++ :catch_15 ++ move-exception v0 ++ ++ const-string v1, "PrivacySettingsManager" ++ ++ const-string v2, "RemoteException in setNotificationsEnabled: " ++ ++ invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I ++ ++ goto :goto_13 ++.end method +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/privacy/PrivacySettings.smali pdroid-framework/smali/android/privacy/PrivacySettings.smali +--- stock-framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 18:00:00.000000000 -0600 ++++ pdroid-framework/smali/android/privacy/PrivacySettings.smali 2012-08-06 13:25:00.027455145 -0500 +@@ -0,0 +1,2109 @@ ++.class public final Landroid/privacy/PrivacySettings; ++.super Ljava/lang/Object; ++.source "PrivacySettings.java" ++ ++# interfaces ++.implements Landroid/os/Parcelable; ++ ++ ++# static fields ++.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null ++ .annotation system Ldalvik/annotation/Signature; ++ value = { ++ "Landroid/os/Parcelable$Creator", ++ "<", ++ "Landroid/privacy/PrivacySettings;", ++ ">;" ++ } ++ .end annotation ++.end field ++ ++.field public static final CUSTOM:B = 0x2t ++ ++.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList" ++ ++.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens" ++ ++.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks" ++ ++.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar" ++ ++.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog" ++ ++.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts" ++ ++.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID" ++ ++.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall" ++ ++.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted" ++ ++.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number" ++ ++.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS" ++ ++.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork" ++ ++.field public static final DATA_MMS:Ljava/lang/String; = "mms" ++ ++.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms" ++ ++.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent" ++ ++.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM" ++ ++.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall" ++ ++.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial" ++ ++.field public static final DATA_SMS:Ljava/lang/String; = "sms" ++ ++.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID" ++ ++.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs" ++ ++.field public static final EMPTY:B = 0x1t ++ ++.field public static final RANDOM:B = 0x3t ++ ++.field public static final REAL:B = 0x0t ++ ++.field public static final SETTING_NOTIFY_OFF:B = 0x0t ++ ++.field public static final SETTING_NOTIFY_ON:B = 0x1t ++ ++ ++# instance fields ++.field private final _id:Ljava/lang/Integer; ++ ++.field private accountsAuthTokensSetting:B ++ ++.field private accountsSetting:B ++ ++.field private allowedContacts:[I ++ ++.field private bookmarksSetting:B ++ ++.field private calendarSetting:B ++ ++.field private callLogSetting:B ++ ++.field private contactsSetting:B ++ ++.field private deviceId:Ljava/lang/String; ++ ++.field private deviceIdSetting:B ++ ++.field private incomingCallsSetting:B ++ ++.field private intentBootCompletedSetting:B ++ ++.field private line1Number:Ljava/lang/String; ++ ++.field private line1NumberSetting:B ++ ++.field private locationGpsLat:Ljava/lang/String; ++ ++.field private locationGpsLon:Ljava/lang/String; ++ ++.field private locationGpsSetting:B ++ ++.field private locationNetworkLat:Ljava/lang/String; ++ ++.field private locationNetworkLon:Ljava/lang/String; ++ ++.field private locationNetworkSetting:B ++ ++.field private mmsSetting:B ++ ++.field private networkInfoSetting:B ++ ++.field private notificationSetting:B ++ ++.field private outgoingCallsSetting:B ++ ++.field private packageName:Ljava/lang/String; ++ ++.field private simInfoSetting:B ++ ++.field private simSerialNumber:Ljava/lang/String; ++ ++.field private simSerialNumberSetting:B ++ ++.field private smsSetting:B ++ ++.field private subscriberId:Ljava/lang/String; ++ ++.field private subscriberIdSetting:B ++ ++.field private systemLogsSetting:B ++ ++.field private uid:I ++ ++ ++# direct methods ++.method static constructor ()V ++ .registers 1 ++ ++ new-instance v0, Landroid/privacy/PrivacySettings$1; ++ ++ invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;->()V ++ ++ sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator; ++ ++ return-void ++.end method ++ ++.method public constructor (Landroid/os/Parcel;)V ++ .registers 4 ++ ++ invoke-direct {p0}, Ljava/lang/Object;->()V ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I ++ ++ move-result v0 ++ ++ const/4 v1, -0x1 ++ ++ if-ne v0, v1, :cond_ce ++ ++ const/4 v1, 0x0 ++ ++ :goto_b ++ iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer; ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String; ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I ++ ++ move-result v1 ++ ++ iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B ++ ++ move-result v1 ++ ++ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String; ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B ++ ++ move-result v1 ++ ++ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String; ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B ++ ++ move-result v1 ++ ++ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String; ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String; ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B ++ ++ move-result v1 ++ ++ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String; ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String; ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B ++ ++ move-result v1 ++ ++ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B ++ ++ move-result v1 ++ ++ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B ++ ++ move-result v1 ++ ++ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String; ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B ++ ++ move-result v1 ++ ++ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String; ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B ++ ++ move-result v1 ++ ++ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B ++ ++ move-result v1 ++ ++ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B ++ ++ move-result v1 ++ ++ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B ++ ++ move-result v1 ++ ++ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B ++ ++ move-result v1 ++ ++ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B ++ ++ move-result v1 ++ ++ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B ++ ++ move-result v1 ++ ++ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B ++ ++ move-result v1 ++ ++ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B ++ ++ move-result v1 ++ ++ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B ++ ++ move-result v1 ++ ++ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B ++ ++ move-result v1 ++ ++ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B ++ ++ move-result v1 ++ ++ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B ++ ++ move-result v1 ++ ++ iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B ++ ++ invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I ++ ++ move-result-object v1 ++ ++ iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I ++ ++ return-void ++ ++ :cond_ce ++ invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; ++ ++ move-result-object v1 ++ ++ goto/16 :goto_b ++.end method ++ ++.method public constructor (Ljava/lang/Integer;Ljava/lang/String;I)V ++ .registers 6 ++ ++ const/4 v1, 0x0 ++ ++ const/4 v0, 0x0 ++ ++ invoke-direct {p0}, Ljava/lang/Object;->()V ++ ++ iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer; ++ ++ iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String; ++ ++ iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B ++ ++ iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String; ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B ++ ++ iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String; ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B ++ ++ iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String; ++ ++ iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String; ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B ++ ++ iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String; ++ ++ iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String; ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B ++ ++ iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String; ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B ++ ++ iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String; ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B ++ ++ iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I ++ ++ return-void ++.end method ++ ++.method public constructor (Ljava/lang/Integer;Ljava/lang/String;IBLjava/lang/String;BLjava/lang/String;BLjava/lang/String;Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;BBBLjava/lang/String;BLjava/lang/String;BBBBBBBBBBBBBBBB[I)V ++ .registers 38 ++ ++ invoke-direct {p0}, Ljava/lang/Object;->()V ++ ++ iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer; ++ ++ iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String; ++ ++ iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I ++ ++ iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B ++ ++ iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String; ++ ++ iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B ++ ++ iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String; ++ ++ iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B ++ ++ iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String; ++ ++ iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String; ++ ++ iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B ++ ++ iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String; ++ ++ iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String; ++ ++ iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B ++ ++ move/from16 v0, p15 ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B ++ ++ move/from16 v0, p16 ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B ++ ++ move-object/from16 v0, p17 ++ ++ iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String; ++ ++ move/from16 v0, p18 ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B ++ ++ move-object/from16 v0, p19 ++ ++ iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String; ++ ++ move/from16 v0, p20 ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B ++ ++ move/from16 v0, p21 ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B ++ ++ move/from16 v0, p22 ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B ++ ++ move/from16 v0, p23 ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B ++ ++ move/from16 v0, p24 ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B ++ ++ move/from16 v0, p25 ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B ++ ++ move/from16 v0, p26 ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B ++ ++ move/from16 v0, p27 ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B ++ ++ move/from16 v0, p28 ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B ++ ++ move/from16 v0, p29 ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B ++ ++ move/from16 v0, p30 ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B ++ ++ move/from16 v0, p34 ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B ++ ++ move/from16 v0, p35 ++ ++ iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B ++ ++ move-object/from16 v0, p36 ++ ++ iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I ++ ++ return-void ++.end method ++ ++.method private getRandomLat()Ljava/lang/String; ++ .registers 10 ++ ++ const-wide v7, 0x4056800000000000L ++ ++ invoke-static {}, Ljava/lang/Math;->random()D ++ ++ move-result-wide v3 ++ ++ const-wide v5, 0x4066800000000000L ++ ++ mul-double v0, v3, v5 ++ ++ cmpl-double v3, v0, v7 ++ ++ if-lez v3, :cond_35 ++ ++ new-instance v2, Ljava/math/BigDecimal; ++ ++ sub-double v3, v0, v7 ++ ++ invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;->(D)V ++ ++ :goto_1b ++ new-instance v3, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V ++ ++ const/4 v4, 0x6 ++ ++ const/4 v5, 0x4 ++ ++ invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal; ++ ++ move-result-object v4 ++ ++ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ const-string v4, "" ++ ++ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v3 ++ ++ return-object v3 ++ ++ :cond_35 ++ new-instance v2, Ljava/math/BigDecimal; ++ ++ neg-double v3, v0 ++ ++ invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;->(D)V ++ ++ goto :goto_1b ++.end method ++ ++.method private getRandomLon()Ljava/lang/String; ++ .registers 10 ++ ++ const-wide v7, 0x4066800000000000L ++ ++ invoke-static {}, Ljava/lang/Math;->random()D ++ ++ move-result-wide v3 ++ ++ const-wide v5, 0x4076800000000000L ++ ++ mul-double v0, v3, v5 ++ ++ cmpl-double v3, v0, v7 ++ ++ if-lez v3, :cond_35 ++ ++ new-instance v2, Ljava/math/BigDecimal; ++ ++ sub-double v3, v0, v7 ++ ++ invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;->(D)V ++ ++ :goto_1b ++ new-instance v3, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V ++ ++ const/4 v4, 0x6 ++ ++ const/4 v5, 0x4 ++ ++ invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal; ++ ++ move-result-object v4 ++ ++ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ const-string v4, "" ++ ++ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v3 ++ ++ return-object v3 ++ ++ :cond_35 ++ new-instance v2, Ljava/math/BigDecimal; ++ ++ neg-double v3, v0 ++ ++ invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;->(D)V ++ ++ goto :goto_1b ++.end method ++ ++ ++# virtual methods ++.method public describeContents()I ++ .registers 2 ++ ++ const/4 v0, 0x0 ++ ++ return v0 ++.end method ++ ++.method public getAccountsAuthTokensSetting()B ++ .registers 2 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B ++ ++ return v0 ++.end method ++ ++.method public getAccountsSetting()B ++ .registers 2 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B ++ ++ return v0 ++.end method ++ ++.method public getAllowedContacts()[I ++ .registers 2 ++ ++ iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I ++ ++ return-object v0 ++.end method ++ ++.method public getBookmarksSetting()B ++ .registers 2 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B ++ ++ return v0 ++.end method ++ ++.method public getCalendarSetting()B ++ .registers 2 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B ++ ++ return v0 ++.end method ++ ++.method public getCallLogSetting()B ++ .registers 2 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B ++ ++ return v0 ++.end method ++ ++.method public getContactsSetting()B ++ .registers 2 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B ++ ++ return v0 ++.end method ++ ++.method public getDeviceId()Ljava/lang/String; ++ .registers 6 ++ ++ iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B ++ ++ const/4 v3, 0x1 ++ ++ if-ne v2, v3, :cond_8 ++ ++ const-string v2, "" ++ ++ :goto_7 ++ return-object v2 ++ ++ :cond_8 ++ iget-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B ++ ++ const/4 v3, 0x3 ++ ++ if-ne v2, v3, :cond_35 ++ ++ new-instance v0, Ljava/util/Random; ++ ++ invoke-direct {v0}, Ljava/util/Random;->()V ++ ++ new-instance v2, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V ++ ++ invoke-virtual {v0}, Ljava/util/Random;->nextLong()J ++ ++ move-result-wide v3 ++ ++ invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J ++ ++ move-result-wide v3 ++ ++ invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ const-string v3, "" ++ ++ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ const/4 v2, 0x0 ++ ++ const/16 v3, 0xf ++ ++ invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String; ++ ++ move-result-object v2 ++ ++ goto :goto_7 ++ ++ :cond_35 ++ iget-object v2, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String; ++ ++ goto :goto_7 ++.end method ++ ++.method public getDeviceIdSetting()B ++ .registers 2 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B ++ ++ return v0 ++.end method ++ ++.method public getIncomingCallsSetting()B ++ .registers 2 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B ++ ++ return v0 ++.end method ++ ++.method public getIntentBootCompletedSetting()B ++ .registers 2 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B ++ ++ return v0 ++.end method ++ ++.method public getLine1Number()Ljava/lang/String; ++ .registers 6 ++ ++ iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B ++ ++ const/4 v3, 0x1 ++ ++ if-ne v2, v3, :cond_8 ++ ++ const-string v2, "" ++ ++ :goto_7 ++ return-object v2 ++ ++ :cond_8 ++ iget-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B ++ ++ const/4 v3, 0x3 ++ ++ if-ne v2, v3, :cond_3b ++ ++ new-instance v0, Ljava/util/Random; ++ ++ invoke-direct {v0}, Ljava/util/Random;->()V ++ ++ new-instance v2, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v3, "+" ++ ++ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v0}, Ljava/util/Random;->nextLong()J ++ ++ move-result-wide v3 ++ ++ invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J ++ ++ move-result-wide v3 ++ ++ invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ const-string v3, "" ++ ++ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ const/4 v2, 0x0 ++ ++ const/16 v3, 0xd ++ ++ invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String; ++ ++ move-result-object v2 ++ ++ goto :goto_7 ++ ++ :cond_3b ++ iget-object v2, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String; ++ ++ goto :goto_7 ++.end method ++ ++.method public getLine1NumberSetting()B ++ .registers 2 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B ++ ++ return v0 ++.end method ++ ++.method public getLocationGpsLat()Ljava/lang/String; ++ .registers 3 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B ++ ++ const/4 v1, 0x1 ++ ++ if-ne v0, v1, :cond_8 ++ ++ const-string v0, "" ++ ++ :goto_7 ++ return-object v0 ++ ++ :cond_8 ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B ++ ++ const/4 v1, 0x3 ++ ++ if-ne v0, v1, :cond_12 ++ ++ invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ goto :goto_7 ++ ++ :cond_12 ++ iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String; ++ ++ goto :goto_7 ++.end method ++ ++.method public getLocationGpsLon()Ljava/lang/String; ++ .registers 3 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B ++ ++ const/4 v1, 0x1 ++ ++ if-ne v0, v1, :cond_8 ++ ++ const-string v0, "" ++ ++ :goto_7 ++ return-object v0 ++ ++ :cond_8 ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B ++ ++ const/4 v1, 0x3 ++ ++ if-ne v0, v1, :cond_12 ++ ++ invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ goto :goto_7 ++ ++ :cond_12 ++ iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String; ++ ++ goto :goto_7 ++.end method ++ ++.method public getLocationGpsSetting()B ++ .registers 2 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B ++ ++ return v0 ++.end method ++ ++.method public getLocationNetworkLat()Ljava/lang/String; ++ .registers 3 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B ++ ++ const/4 v1, 0x1 ++ ++ if-ne v0, v1, :cond_8 ++ ++ const-string v0, "" ++ ++ :goto_7 ++ return-object v0 ++ ++ :cond_8 ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B ++ ++ const/4 v1, 0x3 ++ ++ if-ne v0, v1, :cond_12 ++ ++ invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ goto :goto_7 ++ ++ :cond_12 ++ iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String; ++ ++ goto :goto_7 ++.end method ++ ++.method public getLocationNetworkLon()Ljava/lang/String; ++ .registers 3 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B ++ ++ const/4 v1, 0x1 ++ ++ if-ne v0, v1, :cond_8 ++ ++ const-string v0, "" ++ ++ :goto_7 ++ return-object v0 ++ ++ :cond_8 ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B ++ ++ const/4 v1, 0x3 ++ ++ if-ne v0, v1, :cond_12 ++ ++ invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ goto :goto_7 ++ ++ :cond_12 ++ iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String; ++ ++ goto :goto_7 ++.end method ++ ++.method public getLocationNetworkSetting()B ++ .registers 2 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B ++ ++ return v0 ++.end method ++ ++.method public getMmsSetting()B ++ .registers 2 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B ++ ++ return v0 ++.end method ++ ++.method public getNetworkInfoSetting()B ++ .registers 2 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B ++ ++ return v0 ++.end method ++ ++.method public getNotificationSetting()B ++ .registers 2 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B ++ ++ return v0 ++.end method ++ ++.method public getOutgoingCallsSetting()B ++ .registers 2 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B ++ ++ return v0 ++.end method ++ ++.method public getPackageName()Ljava/lang/String; ++ .registers 2 ++ ++ iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String; ++ ++ return-object v0 ++.end method ++ ++.method public getSimInfoSetting()B ++ .registers 2 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B ++ ++ return v0 ++.end method ++ ++.method public getSimSerialNumber()Ljava/lang/String; ++ .registers 5 ++ ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B ++ ++ const/4 v2, 0x1 ++ ++ if-ne v1, v2, :cond_8 ++ ++ const-string v1, "" ++ ++ :goto_7 ++ return-object v1 ++ ++ :cond_8 ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B ++ ++ const/4 v2, 0x3 ++ ++ if-ne v1, v2, :cond_2e ++ ++ new-instance v0, Ljava/util/Random; ++ ++ invoke-direct {v0}, Ljava/util/Random;->()V ++ ++ new-instance v1, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V ++ ++ invoke-virtual {v0}, Ljava/util/Random;->nextLong()J ++ ++ move-result-wide v2 ++ ++ invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J ++ ++ move-result-wide v2 ++ ++ invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; ++ ++ move-result-object v1 ++ ++ const-string v2, "" ++ ++ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v1 ++ ++ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ goto :goto_7 ++ ++ :cond_2e ++ iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String; ++ ++ goto :goto_7 ++.end method ++ ++.method public getSimSerialNumberSetting()B ++ .registers 2 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B ++ ++ return v0 ++.end method ++ ++.method public getSmsSetting()B ++ .registers 2 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B ++ ++ return v0 ++.end method ++ ++.method public getSubscriberId()Ljava/lang/String; ++ .registers 6 ++ ++ iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B ++ ++ const/4 v3, 0x1 ++ ++ if-ne v2, v3, :cond_8 ++ ++ const-string v2, "" ++ ++ :goto_7 ++ return-object v2 ++ ++ :cond_8 ++ iget-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B ++ ++ const/4 v3, 0x3 ++ ++ if-ne v2, v3, :cond_35 ++ ++ new-instance v0, Ljava/util/Random; ++ ++ invoke-direct {v0}, Ljava/util/Random;->()V ++ ++ new-instance v2, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V ++ ++ invoke-virtual {v0}, Ljava/util/Random;->nextLong()J ++ ++ move-result-wide v3 ++ ++ invoke-static {v3, v4}, Ljava/lang/Math;->abs(J)J ++ ++ move-result-wide v3 ++ ++ invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ const-string v3, "" ++ ++ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ const/4 v2, 0x0 ++ ++ const/16 v3, 0xf ++ ++ invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String; ++ ++ move-result-object v2 ++ ++ goto :goto_7 ++ ++ :cond_35 ++ iget-object v2, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String; ++ ++ goto :goto_7 ++.end method ++ ++.method public getSubscriberIdSetting()B ++ .registers 2 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B ++ ++ return v0 ++.end method ++ ++.method public getSystemLogsSetting()B ++ .registers 2 ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B ++ ++ return v0 ++.end method ++ ++.method public getUid()I ++ .registers 2 ++ ++ iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I ++ ++ return v0 ++.end method ++ ++.method public get_id()Ljava/lang/Integer; ++ .registers 2 ++ ++ iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer; ++ ++ return-object v0 ++.end method ++ ++.method public setAccountsAuthTokensSetting(B)V ++ .registers 2 ++ ++ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B ++ ++ return-void ++.end method ++ ++.method public setAccountsSetting(B)V ++ .registers 2 ++ ++ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B ++ ++ return-void ++.end method ++ ++.method public setAllowedContacts([I)V ++ .registers 2 ++ ++ iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I ++ ++ return-void ++.end method ++ ++.method public setBookmarksSetting(B)V ++ .registers 2 ++ ++ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B ++ ++ return-void ++.end method ++ ++.method public setCalendarSetting(B)V ++ .registers 2 ++ ++ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B ++ ++ return-void ++.end method ++ ++.method public setCallLogSetting(B)V ++ .registers 2 ++ ++ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B ++ ++ return-void ++.end method ++ ++.method public setContactsSetting(B)V ++ .registers 2 ++ ++ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B ++ ++ return-void ++.end method ++ ++.method public setDeviceId(Ljava/lang/String;)V ++ .registers 2 ++ ++ iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String; ++ ++ return-void ++.end method ++ ++.method public setDeviceIdSetting(B)V ++ .registers 2 ++ ++ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B ++ ++ return-void ++.end method ++ ++.method public setIncomingCallsSetting(B)V ++ .registers 2 ++ ++ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B ++ ++ return-void ++.end method ++ ++.method public setIntentBootCompletedSetting(B)V ++ .registers 2 ++ ++ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B ++ ++ return-void ++.end method ++ ++.method public setLine1Number(Ljava/lang/String;)V ++ .registers 2 ++ ++ iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String; ++ ++ return-void ++.end method ++ ++.method public setLine1NumberSetting(B)V ++ .registers 2 ++ ++ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B ++ ++ return-void ++.end method ++ ++.method public setLocationGpsLat(Ljava/lang/String;)V ++ .registers 2 ++ ++ iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String; ++ ++ return-void ++.end method ++ ++.method public setLocationGpsLon(Ljava/lang/String;)V ++ .registers 2 ++ ++ iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String; ++ ++ return-void ++.end method ++ ++.method public setLocationGpsSetting(B)V ++ .registers 2 ++ ++ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B ++ ++ return-void ++.end method ++ ++.method public setLocationNetworkLat(Ljava/lang/String;)V ++ .registers 2 ++ ++ iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String; ++ ++ return-void ++.end method ++ ++.method public setLocationNetworkLon(Ljava/lang/String;)V ++ .registers 2 ++ ++ iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String; ++ ++ return-void ++.end method ++ ++.method public setLocationNetworkSetting(B)V ++ .registers 2 ++ ++ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B ++ ++ return-void ++.end method ++ ++.method public setMmsSetting(B)V ++ .registers 2 ++ ++ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B ++ ++ return-void ++.end method ++ ++.method public setNetworkInfoSetting(B)V ++ .registers 2 ++ ++ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B ++ ++ return-void ++.end method ++ ++.method public setNotificationSetting(B)V ++ .registers 2 ++ ++ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B ++ ++ return-void ++.end method ++ ++.method public setOutgoingCallsSetting(B)V ++ .registers 2 ++ ++ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B ++ ++ return-void ++.end method ++ ++.method public setPackageName(Ljava/lang/String;)V ++ .registers 2 ++ ++ iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String; ++ ++ return-void ++.end method ++ ++.method public setSimInfoSetting(B)V ++ .registers 2 ++ ++ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B ++ ++ return-void ++.end method ++ ++.method public setSimSerialNumber(Ljava/lang/String;)V ++ .registers 2 ++ ++ iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String; ++ ++ return-void ++.end method ++ ++.method public setSimSerialNumberSetting(B)V ++ .registers 2 ++ ++ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B ++ ++ return-void ++.end method ++ ++.method public setSmsSetting(B)V ++ .registers 2 ++ ++ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B ++ ++ return-void ++.end method ++ ++.method public setSubscriberId(Ljava/lang/String;)V ++ .registers 2 ++ ++ iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String; ++ ++ return-void ++.end method ++ ++.method public setSubscriberIdSetting(B)V ++ .registers 2 ++ ++ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B ++ ++ return-void ++.end method ++ ++.method public setSystemLogsSetting(B)V ++ .registers 2 ++ ++ iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B ++ ++ return-void ++.end method ++ ++.method public setUid(I)V ++ .registers 2 ++ ++ iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I ++ ++ return-void ++.end method ++ ++.method public toString()Ljava/lang/String; ++ .registers 3 ++ ++ new-instance v0, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v1, "PrivacySettings [_id=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer; ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", accountsAuthTokensSetting=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", accountsSetting=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", bookmarksSetting=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", calendarSetting=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", callLogSetting=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", contactsSetting=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", deviceId=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String; ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", deviceIdSetting=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", incomingCallsSetting=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", intentBootCompletedSetting=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", line1Number=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String; ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", line1NumberSetting=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", locationGpsLat=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String; ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", locationGpsLon=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String; ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", locationGpsSetting=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", locationNetworkLat=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String; ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", locationNetworkLon=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String; ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", locationNetworkSetting=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", mmsSetting=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", networkInfoSetting=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", notificationSetting=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", outgoingCallsSetting=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", packageName=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String; ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", simInfoSetting=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", simSerialNumber=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String; ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", simSerialNumberSetting=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", smsSetting=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", subscriberId=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String; ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", subscriberIdSetting=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", systemLogsSetting=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, ", uid=" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ const-string v1, "]" ++ ++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v0 ++ ++ invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ return-object v0 ++.end method ++ ++.method public writeToParcel(Landroid/os/Parcel;I)V ++ .registers 4 ++ ++ iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer; ++ ++ if-nez v0, :cond_a9 ++ ++ const/4 v0, -0x1 ++ ++ :goto_5 ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V ++ ++ iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String; ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V ++ ++ iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V ++ ++ iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String; ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V ++ ++ iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String; ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V ++ ++ iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String; ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V ++ ++ iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String; ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V ++ ++ iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String; ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V ++ ++ iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String; ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V ++ ++ iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String; ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V ++ ++ iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String; ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V ++ ++ iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V ++ ++ iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I ++ ++ invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V ++ ++ return-void ++ ++ :cond_a9 ++ iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer; ++ ++ invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I ++ ++ move-result v0 ++ ++ goto/16 :goto_5 ++.end method +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali +--- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 18:00:00.000000000 -0600 ++++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2012-08-06 13:25:00.027455145 -0500 +@@ -0,0 +1,129 @@ ++.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture; ++.super Ljava/lang/Object; ++.source "PrivacyAccountManager.java" ++ ++# interfaces ++.implements Landroid/accounts/AccountManagerFuture; ++ ++ ++# annotations ++.annotation system Ldalvik/annotation/EnclosingClass; ++ value = Landroid/privacy/surrogate/PrivacyAccountManager; ++.end annotation ++ ++.annotation system Ldalvik/annotation/InnerClass; ++ accessFlags = 0x2 ++ name = "PrivacyAccountManagerFuture" ++.end annotation ++ ++.annotation system Ldalvik/annotation/Signature; ++ value = { ++ "", ++ "Ljava/lang/Object;", ++ "Landroid/accounts/AccountManagerFuture", ++ ";" ++ } ++.end annotation ++ ++ ++# instance fields ++.field private result:Ljava/lang/Object; ++ .annotation system Ldalvik/annotation/Signature; ++ value = { ++ "TV;" ++ } ++ .end annotation ++.end field ++ ++.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager; ++ ++ ++# direct methods ++.method public constructor (Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V ++ .registers 3 ++ .annotation system Ldalvik/annotation/Signature; ++ value = { ++ "(TV;)V" ++ } ++ .end annotation ++ ++ iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager; ++ ++ invoke-direct {p0}, Ljava/lang/Object;->()V ++ ++ iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object; ++ ++ return-void ++.end method ++ ++ ++# virtual methods ++.method public cancel(Z)Z ++ .registers 3 ++ ++ const/4 v0, 0x0 ++ ++ return v0 ++.end method ++ ++.method public getResult()Ljava/lang/Object; ++ .registers 2 ++ .annotation system Ldalvik/annotation/Signature; ++ value = { ++ "()TV;" ++ } ++ .end annotation ++ ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/accounts/OperationCanceledException;, ++ Ljava/io/IOException;, ++ Landroid/accounts/AuthenticatorException; ++ } ++ .end annotation ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object; ++ ++ return-object v0 ++.end method ++ ++.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object; ++ .registers 5 ++ .annotation system Ldalvik/annotation/Signature; ++ value = { ++ "(J", ++ "Ljava/util/concurrent/TimeUnit;", ++ ")TV;" ++ } ++ .end annotation ++ ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/accounts/OperationCanceledException;, ++ Ljava/io/IOException;, ++ Landroid/accounts/AuthenticatorException; ++ } ++ .end annotation ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object; ++ ++ return-object v0 ++.end method ++ ++.method public isCancelled()Z ++ .registers 2 ++ ++ const/4 v0, 0x0 ++ ++ return v0 ++.end method ++ ++.method public isDone()Z ++ .registers 2 ++ ++ const/4 v0, 0x1 ++ ++ return v0 ++.end method +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali +--- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 18:00:00.000000000 -0600 ++++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2012-08-06 13:25:00.031455168 -0500 +@@ -0,0 +1,701 @@ ++.class public final Landroid/privacy/surrogate/PrivacyAccountManager; ++.super Landroid/accounts/AccountManager; ++.source "PrivacyAccountManager.java" ++ ++ ++# annotations ++.annotation system Ldalvik/annotation/MemberClasses; ++ value = { ++ Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture; ++ } ++.end annotation ++ ++ ++# static fields ++.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager" ++ ++ ++# instance fields ++.field private context:Landroid/content/Context; ++ ++.field private pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ ++# direct methods ++.method public constructor (Landroid/content/Context;Landroid/accounts/IAccountManager;)V ++ .registers 5 ++ ++ invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;->(Landroid/content/Context;Landroid/accounts/IAccountManager;)V ++ ++ iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context; ++ ++ new-instance v0, Landroid/privacy/PrivacySettingsManager; ++ ++ const-string/jumbo v1, "privacy" ++ ++ invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder; ++ ++ move-result-object v1 ++ ++ invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager; ++ ++ move-result-object v1 ++ ++ invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;->(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V ++ ++ iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ return-void ++.end method ++ ++.method public constructor (Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V ++ .registers 6 ++ ++ invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V ++ ++ iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context; ++ ++ new-instance v0, Landroid/privacy/PrivacySettingsManager; ++ ++ const-string/jumbo v1, "privacy" ++ ++ invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder; ++ ++ move-result-object v1 ++ ++ invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager; ++ ++ move-result-object v1 ++ ++ invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;->(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V ++ ++ iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ return-void ++.end method ++ ++ ++# virtual methods ++.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String; ++ .registers 12 ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/accounts/OperationCanceledException;, ++ Ljava/io/IOException;, ++ Landroid/accounts/AuthenticatorException; ++ } ++ .end annotation ++ ++ const/4 v5, 0x0 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v6 ++ ++ if-eqz v6, :cond_23 ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_23 ++ ++ const/4 v7, 0x0 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v3, 0x1 ++ ++ const-string v4, "authTokens" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ :goto_22 ++ return-object v7 ++ ++ :cond_23 ++ invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String; ++ ++ move-result-object v7 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v3, 0x0 ++ ++ const-string v4, "authTokens" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_22 ++.end method ++ ++.method public getAccounts()[Landroid/accounts/Account; ++ .registers 10 ++ ++ const/4 v5, 0x0 ++ ++ const/4 v3, 0x0 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v6 ++ ++ if-eqz v6, :cond_27 ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_27 ++ ++ const-string v8, "[empty accounts list]" ++ ++ new-array v7, v3, [Landroid/accounts/Account; ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v3, 0x1 ++ ++ const-string v4, "accountsList" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ :goto_26 ++ return-object v7 ++ ++ :cond_27 ++ const-string v8, "[real value]" ++ ++ invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account; ++ ++ move-result-object v7 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const-string v4, "accountsList" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_26 ++.end method ++ ++.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account; ++ .registers 11 ++ ++ const/4 v5, 0x0 ++ ++ const/4 v3, 0x0 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v6 ++ ++ if-eqz v6, :cond_27 ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_27 ++ ++ const-string v8, "[empty accounts list]" ++ ++ new-array v7, v3, [Landroid/accounts/Account; ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v3, 0x1 ++ ++ const-string v4, "accountsList" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ :goto_26 ++ return-object v7 ++ ++ :cond_27 ++ const-string v8, "[real value]" ++ ++ invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account; ++ ++ move-result-object v7 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const-string v4, "accountsList" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_26 ++.end method ++ ++.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture; ++ .registers 14 ++ .annotation system Ldalvik/annotation/Signature; ++ value = { ++ "(", ++ "Ljava/lang/String;", ++ "[", ++ "Ljava/lang/String;", ++ "Landroid/accounts/AccountManagerCallback", ++ "<[", ++ "Landroid/accounts/Account;", ++ ">;", ++ "Landroid/os/Handler;", ++ ")", ++ "Landroid/accounts/AccountManagerFuture", ++ "<[", ++ "Landroid/accounts/Account;", ++ ">;" ++ } ++ .end annotation ++ ++ const/4 v5, 0x0 ++ ++ const/4 v3, 0x0 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v6 ++ ++ if-eqz v6, :cond_2c ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_2c ++ ++ const-string v8, "[false]" ++ ++ new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture; ++ ++ new-array v0, v3, [Landroid/accounts/Account; ++ ++ invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v3, 0x1 ++ ++ const-string v4, "accountsList" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ :goto_2b ++ return-object v7 ++ ++ :cond_2c ++ const-string v8, "[real value]" ++ ++ invoke-super {p0, p1, p2, p3, p4}, Landroid/accounts/AccountManager;->getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture; ++ ++ move-result-object v7 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const-string v4, "accountsList" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_2b ++.end method ++ ++.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture; ++ .registers 16 ++ .annotation system Ldalvik/annotation/Signature; ++ value = { ++ "(", ++ "Landroid/accounts/Account;", ++ "Ljava/lang/String;", ++ "Landroid/os/Bundle;", ++ "Landroid/app/Activity;", ++ "Landroid/accounts/AccountManagerCallback", ++ "<", ++ "Landroid/os/Bundle;", ++ ">;", ++ "Landroid/os/Handler;", ++ ")", ++ "Landroid/accounts/AccountManagerFuture", ++ "<", ++ "Landroid/os/Bundle;", ++ ">;" ++ } ++ .end annotation ++ ++ const/4 v5, 0x0 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v6 ++ ++ if-eqz v6, :cond_2e ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_2e ++ ++ const-string v8, "[empty]" ++ ++ new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture; ++ ++ new-instance v0, Landroid/os/Bundle; ++ ++ invoke-direct {v0}, Landroid/os/Bundle;->()V ++ ++ invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v3, 0x1 ++ ++ const-string v4, "authTokens" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ :goto_2d ++ return-object v7 ++ ++ :cond_2e ++ const-string v8, "[real value]" ++ ++ invoke-super/range {p0 .. p6}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture; ++ ++ move-result-object v7 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v3, 0x0 ++ ++ const-string v4, "authTokens" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_2d ++.end method ++ ++.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture; ++ .registers 15 ++ .annotation system Ldalvik/annotation/Signature; ++ value = { ++ "(", ++ "Landroid/accounts/Account;", ++ "Ljava/lang/String;", ++ "Z", ++ "Landroid/accounts/AccountManagerCallback", ++ "<", ++ "Landroid/os/Bundle;", ++ ">;", ++ "Landroid/os/Handler;", ++ ")", ++ "Landroid/accounts/AccountManagerFuture", ++ "<", ++ "Landroid/os/Bundle;", ++ ">;" ++ } ++ .end annotation ++ ++ const/4 v5, 0x0 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v6 ++ ++ if-eqz v6, :cond_2e ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_2e ++ ++ const-string v8, "[empty]" ++ ++ new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture; ++ ++ new-instance v0, Landroid/os/Bundle; ++ ++ invoke-direct {v0}, Landroid/os/Bundle;->()V ++ ++ invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v3, 0x1 ++ ++ const-string v4, "authTokens" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ :goto_2d ++ return-object v7 ++ ++ :cond_2e ++ const-string v8, "[real value]" ++ ++ invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture; ++ ++ move-result-object v7 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v3, 0x0 ++ ++ const-string v4, "authTokens" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_2d ++.end method ++ ++.method public getAuthTokenByFeatures(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/app/Activity;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture; ++ .registers 18 ++ .annotation system Ldalvik/annotation/Signature; ++ value = { ++ "(", ++ "Ljava/lang/String;", ++ "Ljava/lang/String;", ++ "[", ++ "Ljava/lang/String;", ++ "Landroid/app/Activity;", ++ "Landroid/os/Bundle;", ++ "Landroid/os/Bundle;", ++ "Landroid/accounts/AccountManagerCallback", ++ "<", ++ "Landroid/os/Bundle;", ++ ">;", ++ "Landroid/os/Handler;", ++ ")", ++ "Landroid/accounts/AccountManagerFuture", ++ "<", ++ "Landroid/os/Bundle;", ++ ">;" ++ } ++ .end annotation ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v6 ++ ++ if-eqz v6, :cond_2e ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_2e ++ ++ const-string v8, "[empty]" ++ ++ new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture; ++ ++ new-instance v0, Landroid/os/Bundle; ++ ++ invoke-direct {v0}, Landroid/os/Bundle;->()V ++ ++ invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v3, 0x1 ++ ++ const-string v4, "authTokens" ++ ++ const/4 v5, 0x0 ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ :goto_2d ++ return-object v7 ++ ++ :cond_2e ++ const-string v8, "[real value]" ++ ++ invoke-super/range {p0 .. p8}, Landroid/accounts/AccountManager;->getAuthTokenByFeatures(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/app/Activity;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture; ++ ++ move-result-object v7 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v3, 0x0 ++ ++ const-string v4, "authTokens" ++ ++ const/4 v5, 0x0 ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_2d ++.end method ++ ++.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture; ++ .registers 14 ++ .annotation system Ldalvik/annotation/Signature; ++ value = { ++ "(", ++ "Landroid/accounts/Account;", ++ "[", ++ "Ljava/lang/String;", ++ "Landroid/accounts/AccountManagerCallback", ++ "<", ++ "Ljava/lang/Boolean;", ++ ">;", ++ "Landroid/os/Handler;", ++ ")", ++ "Landroid/accounts/AccountManagerFuture", ++ "<", ++ "Ljava/lang/Boolean;", ++ ">;" ++ } ++ .end annotation ++ ++ const/4 v5, 0x0 ++ ++ const/4 v3, 0x0 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v6 ++ ++ if-eqz v6, :cond_2e ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_2e ++ ++ const-string v8, "[false]" ++ ++ new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture; ++ ++ invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; ++ ++ move-result-object v0 ++ ++ invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v3, 0x1 ++ ++ const-string v4, "accountsList" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ :goto_2d ++ return-object v7 ++ ++ :cond_2e ++ const-string v8, "[real value]" ++ ++ invoke-super {p0, p1, p2, p3, p4}, Landroid/accounts/AccountManager;->hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture; ++ ++ move-result-object v7 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const-string v4, "accountsList" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_2d ++.end method +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali +--- stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 18:00:00.000000000 -0600 ++++ pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2012-08-06 13:25:00.031455168 -0500 +@@ -0,0 +1,1087 @@ ++.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService; ++.super Ljava/lang/Object; ++.source "PrivacyActivityManagerService.java" ++ ++ ++# static fields ++.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService" ++ ++.field private static pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++.field private static tmpIn:Landroid/content/Intent; ++ ++.field private static tmpInHash:J ++ ++.field private static tmpInReceivers:I ++ ++.field private static tmpMms:Landroid/content/Intent; ++ ++.field private static tmpMmsHash:J ++ ++.field private static tmpMmsReceivers:I ++ ++.field private static tmpOut:Landroid/content/Intent; ++ ++.field private static tmpOutHash:J ++ ++.field private static tmpOutReceivers:I ++ ++.field private static tmpPackageAddedHash:J ++ ++.field private static tmpSms:Landroid/content/Intent; ++ ++.field private static tmpSmsHash:J ++ ++.field private static tmpSmsReceivers:I ++ ++ ++# direct methods ++.method static constructor ()V ++ .registers 3 ++ ++ const/4 v2, 0x0 ++ ++ const-wide/16 v0, 0x0 ++ ++ sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J ++ ++ sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I ++ ++ sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J ++ ++ sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I ++ ++ sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J ++ ++ sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I ++ ++ sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J ++ ++ sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I ++ ++ sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J ++ ++ return-void ++.end method ++ ++.method public constructor ()V ++ .registers 1 ++ ++ invoke-direct {p0}, Ljava/lang/Object;->()V ++ ++ return-void ++.end method ++ ++.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V ++ .registers 22 ++ ++ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ if-nez v2, :cond_11 ++ ++ const-string/jumbo v2, "privacy" ++ ++ move-object/from16 v0, p3 ++ ++ invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; ++ ++ move-result-object v2 ++ ++ check-cast v2, Landroid/privacy/PrivacySettingsManager; ++ ++ sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ :cond_11 ++ invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String; ++ ++ move-result-object v9 ++ ++ const-string v2, "android.intent.action.NEW_OUTGOING_CALL" ++ ++ invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_ad ++ ++ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ move-object/from16 v0, p0 ++ ++ move/from16 v1, p1 ++ ++ invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v8 ++ ++ const-string v2, "android.intent.extra.PHONE_NUMBER" ++ ++ move-object/from16 v0, p2 ++ ++ invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String; ++ ++ move-result-object v16 ++ ++ sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J ++ ++ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J ++ ++ move-result-wide v4 ++ ++ cmp-long v2, v2, v4 ++ ++ if-eqz v2, :cond_49 ++ ++ invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object; ++ ++ move-result-object v2 ++ ++ check-cast v2, Landroid/content/Intent; ++ ++ sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent; ++ ++ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J ++ ++ move-result-wide v2 ++ ++ sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J ++ ++ sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I ++ ++ :cond_49 ++ if-eqz v8, :cond_76 ++ ++ :try_start_4b ++ invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_76 ++ ++ const-string v16, "" ++ ++ const-string v2, "android.intent.extra.PHONE_NUMBER" ++ ++ move-object/from16 v0, p2 ++ ++ move-object/from16 v1, v16 ++ ++ invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; ++ ++ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v5, 0x1 ++ ++ const-string/jumbo v6, "outgoingCall" ++ ++ const/4 v7, 0x0 ++ ++ move-object/from16 v3, p0 ++ ++ move/from16 v4, p1 ++ ++ invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ :try_end_6a ++ .catch Ljava/lang/Exception; {:try_start_4b .. :try_end_6a} :catch_a0 ++ ++ :cond_6a ++ :goto_6a ++ sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I ++ ++ const/4 v3, 0x1 ++ ++ if-le v2, v3, :cond_a9 ++ ++ sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I ++ ++ add-int/lit8 v2, v2, -0x1 ++ ++ sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I ++ ++ :cond_75 ++ :goto_75 ++ return-void ++ ++ :cond_76 ++ :try_start_76 ++ sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J ++ ++ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J ++ ++ move-result-wide v4 ++ ++ cmp-long v2, v2, v4 ++ ++ if-nez v2, :cond_6a ++ ++ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent; ++ ++ const-string v3, "android.intent.extra.PHONE_NUMBER" ++ ++ invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String; ++ ++ move-result-object v16 ++ ++ const-string v2, "android.intent.extra.PHONE_NUMBER" ++ ++ move-object/from16 v0, p2 ++ ++ move-object/from16 v1, v16 ++ ++ invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; ++ ++ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v5, 0x0 ++ ++ const-string/jumbo v6, "outgoingCall" ++ ++ const/4 v7, 0x0 ++ ++ move-object/from16 v3, p0 ++ ++ move/from16 v4, p1 ++ ++ invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ :try_end_9f ++ .catch Ljava/lang/Exception; {:try_start_76 .. :try_end_9f} :catch_a0 ++ ++ goto :goto_6a ++ ++ :catch_a0 ++ move-exception v13 ++ ++ const-string v2, "PrivacyActivityManagerService" ++ ++ const-string v3, "failed to enforce intent broadcast permission" ++ ++ invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I ++ ++ goto :goto_6a ++ ++ :cond_a9 ++ const/4 v2, 0x0 ++ ++ sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent; ++ ++ goto :goto_75 ++ ++ :cond_ad ++ const-string v2, "android.intent.action.PHONE_STATE" ++ ++ invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_14d ++ ++ const-string v2, "incoming_number" ++ ++ move-object/from16 v0, p2 ++ ++ invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String; ++ ++ move-result-object v16 ++ ++ if-eqz v16, :cond_75 ++ ++ invoke-virtual/range {v16 .. v16}, Ljava/lang/String;->isEmpty()Z ++ ++ move-result v2 ++ ++ if-nez v2, :cond_75 ++ ++ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ move-object/from16 v0, p0 ++ ++ move/from16 v1, p1 ++ ++ invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v8 ++ ++ sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J ++ ++ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J ++ ++ move-result-wide v4 ++ ++ cmp-long v2, v2, v4 ++ ++ if-eqz v2, :cond_e9 ++ ++ invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object; ++ ++ move-result-object v2 ++ ++ check-cast v2, Landroid/content/Intent; ++ ++ sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent; ++ ++ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J ++ ++ move-result-wide v2 ++ ++ sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J ++ ++ sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I ++ ++ :cond_e9 ++ if-eqz v8, :cond_116 ++ ++ :try_start_eb ++ invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_116 ++ ++ const-string v16, "" ++ ++ const-string v2, "incoming_number" ++ ++ move-object/from16 v0, p2 ++ ++ move-object/from16 v1, v16 ++ ++ invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; ++ ++ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v5, 0x1 ++ ++ const-string v6, "incomingCall" ++ ++ const/4 v7, 0x0 ++ ++ move-object/from16 v3, p0 ++ ++ move/from16 v4, p1 ++ ++ invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ :try_end_109 ++ .catch Ljava/lang/Exception; {:try_start_eb .. :try_end_109} :catch_13f ++ ++ :cond_109 ++ :goto_109 ++ sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I ++ ++ const/4 v3, 0x1 ++ ++ if-le v2, v3, :cond_148 ++ ++ sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I ++ ++ add-int/lit8 v2, v2, -0x1 ++ ++ sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I ++ ++ goto/16 :goto_75 ++ ++ :cond_116 ++ :try_start_116 ++ sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J ++ ++ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J ++ ++ move-result-wide v4 ++ ++ cmp-long v2, v2, v4 ++ ++ if-nez v2, :cond_109 ++ ++ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent; ++ ++ const-string v3, "incoming_number" ++ ++ invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String; ++ ++ move-result-object v16 ++ ++ const-string v2, "incoming_number" ++ ++ move-object/from16 v0, p2 ++ ++ move-object/from16 v1, v16 ++ ++ invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; ++ ++ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v5, 0x0 ++ ++ const-string v6, "incomingCall" ++ ++ const/4 v7, 0x0 ++ ++ move-object/from16 v3, p0 ++ ++ move/from16 v4, p1 ++ ++ invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ :try_end_13e ++ .catch Ljava/lang/Exception; {:try_start_116 .. :try_end_13e} :catch_13f ++ ++ goto :goto_109 ++ ++ :catch_13f ++ move-exception v13 ++ ++ const-string v2, "PrivacyActivityManagerService" ++ ++ const-string v3, "failed to enforce intent broadcast permission" ++ ++ invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I ++ ++ goto :goto_109 ++ ++ :cond_148 ++ const/4 v2, 0x0 ++ ++ sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent; ++ ++ goto/16 :goto_75 ++ ++ :cond_14d ++ const-string v2, "android.provider.Telephony.SMS_RECEIVED" ++ ++ invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_222 ++ ++ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ move-object/from16 v0, p0 ++ ++ move/from16 v1, p1 ++ ++ invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v8 ++ ++ const-string v16, "[real]" ++ ++ const-string/jumbo v2, "pdus" ++ ++ move-object/from16 v0, p2 ++ ++ invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable; ++ ++ move-result-object v2 ++ ++ check-cast v2, [Ljava/lang/Object; ++ ++ move-object v15, v2 ++ ++ check-cast v15, [Ljava/lang/Object; ++ ++ if-eqz v15, :cond_1cd ++ ++ const/4 v2, 0x0 ++ ++ aget-object v2, v15, v2 ++ ++ check-cast v2, [B ++ ++ check-cast v2, [B ++ ++ move-object v12, v2 ++ ++ :goto_179 ++ sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J ++ ++ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J ++ ++ move-result-wide v4 ++ ++ cmp-long v2, v2, v4 ++ ++ if-eqz v2, :cond_193 ++ ++ invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object; ++ ++ move-result-object v2 ++ ++ check-cast v2, Landroid/content/Intent; ++ ++ sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent; ++ ++ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J ++ ++ move-result-wide v2 ++ ++ sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J ++ ++ sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I ++ ++ :cond_193 ++ if-eqz v8, :cond_1cf ++ ++ :try_start_195 ++ invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_1cf ++ ++ const-string v16, "[empty]" ++ ++ const/4 v2, 0x1 ++ ++ new-array v14, v2, [Ljava/lang/Object; ++ ++ const/4 v2, 0x0 ++ ++ const/16 v3, 0x10 ++ ++ new-array v3, v3, [B ++ ++ fill-array-data v3, :array_350 ++ ++ aput-object v3, v14, v2 ++ ++ const-string/jumbo v2, "pdus" ++ ++ move-object/from16 v0, p2 ++ ++ invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent; ++ ++ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v5, 0x1 ++ ++ const-string/jumbo v6, "sms" ++ ++ const/4 v7, 0x0 ++ ++ move-object/from16 v3, p0 ++ ++ move/from16 v4, p1 ++ ++ invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ :try_end_1c0 ++ .catch Ljava/lang/Exception; {:try_start_195 .. :try_end_1c0} :catch_212 ++ ++ :cond_1c0 ++ :goto_1c0 ++ sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I ++ ++ const/4 v3, 0x1 ++ ++ if-le v2, v3, :cond_21d ++ ++ sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I ++ ++ add-int/lit8 v2, v2, -0x1 ++ ++ sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I ++ ++ goto/16 :goto_75 ++ ++ :cond_1cd ++ const/4 v12, 0x0 ++ ++ goto :goto_179 ++ ++ :cond_1cf ++ :try_start_1cf ++ sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J ++ ++ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J ++ ++ move-result-wide v4 ++ ++ cmp-long v2, v2, v4 ++ ++ if-nez v2, :cond_1c0 ++ ++ const-string/jumbo v2, "pdus" ++ ++ sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent; ++ ++ const-string/jumbo v4, "pdus" ++ ++ invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable; ++ ++ move-result-object v3 ++ ++ move-object/from16 v0, p2 ++ ++ invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent; ++ ++ const-string/jumbo v2, "pdus" ++ ++ move-object/from16 v0, p2 ++ ++ invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable; ++ ++ move-result-object v2 ++ ++ check-cast v2, [Ljava/lang/Object; ++ ++ move-object v0, v2 ++ ++ check-cast v0, [Ljava/lang/Object; ++ ++ move-object v15, v0 ++ ++ if-eqz v15, :cond_21b ++ ++ const/4 v2, 0x0 ++ ++ aget-object v2, v15, v2 ++ ++ check-cast v2, [B ++ ++ check-cast v2, [B ++ ++ move-object v12, v2 ++ ++ :goto_203 ++ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v5, 0x0 ++ ++ const-string/jumbo v6, "sms" ++ ++ const/4 v7, 0x0 ++ ++ move-object/from16 v3, p0 ++ ++ move/from16 v4, p1 ++ ++ invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ :try_end_211 ++ .catch Ljava/lang/Exception; {:try_start_1cf .. :try_end_211} :catch_212 ++ ++ goto :goto_1c0 ++ ++ :catch_212 ++ move-exception v13 ++ ++ const-string v2, "PrivacyActivityManagerService" ++ ++ const-string v3, "failed to enforce intent broadcast permission" ++ ++ invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I ++ ++ goto :goto_1c0 ++ ++ :cond_21b ++ const/4 v12, 0x0 ++ ++ goto :goto_203 ++ ++ :cond_21d ++ const/4 v2, 0x0 ++ ++ sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent; ++ ++ goto/16 :goto_75 ++ ++ :cond_222 ++ const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED" ++ ++ invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v2 ++ ++ if-nez v2, :cond_232 ++ ++ const-string v2, "android.intent.action.DATA_SMS_RECEIVED" ++ ++ invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_2ff ++ ++ :cond_232 ++ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ move-object/from16 v0, p0 ++ ++ move/from16 v1, p1 ++ ++ invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v8 ++ ++ const-string v16, "[real]" ++ ++ const-string/jumbo v2, "pdus" ++ ++ move-object/from16 v0, p2 ++ ++ invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable; ++ ++ move-result-object v2 ++ ++ check-cast v2, [Ljava/lang/Object; ++ ++ move-object v15, v2 ++ ++ check-cast v15, [Ljava/lang/Object; ++ ++ if-eqz v15, :cond_2aa ++ ++ const/4 v2, 0x0 ++ ++ aget-object v2, v15, v2 ++ ++ check-cast v2, [B ++ ++ check-cast v2, [B ++ ++ move-object v12, v2 ++ ++ :goto_256 ++ sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J ++ ++ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J ++ ++ move-result-wide v4 ++ ++ cmp-long v2, v2, v4 ++ ++ if-eqz v2, :cond_270 ++ ++ invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object; ++ ++ move-result-object v2 ++ ++ check-cast v2, Landroid/content/Intent; ++ ++ sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent; ++ ++ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J ++ ++ move-result-wide v2 ++ ++ sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J ++ ++ sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I ++ ++ :cond_270 ++ if-eqz v8, :cond_2ac ++ ++ :try_start_272 ++ invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_2ac ++ ++ const-string v16, "[empty]" ++ ++ const/4 v2, 0x1 ++ ++ new-array v14, v2, [Ljava/lang/Object; ++ ++ const/4 v2, 0x0 ++ ++ const/16 v3, 0x10 ++ ++ new-array v3, v3, [B ++ ++ fill-array-data v3, :array_35c ++ ++ aput-object v3, v14, v2 ++ ++ const-string/jumbo v2, "pdus" ++ ++ move-object/from16 v0, p2 ++ ++ invoke-virtual {v0, v2, v14}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent; ++ ++ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v5, 0x1 ++ ++ const-string/jumbo v6, "mms" ++ ++ const/4 v7, 0x0 ++ ++ move-object/from16 v3, p0 ++ ++ move/from16 v4, p1 ++ ++ invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ :try_end_29d ++ .catch Ljava/lang/Exception; {:try_start_272 .. :try_end_29d} :catch_2ef ++ ++ :cond_29d ++ :goto_29d ++ sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I ++ ++ const/4 v3, 0x1 ++ ++ if-le v2, v3, :cond_2fa ++ ++ sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I ++ ++ add-int/lit8 v2, v2, -0x1 ++ ++ sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I ++ ++ goto/16 :goto_75 ++ ++ :cond_2aa ++ const/4 v12, 0x0 ++ ++ goto :goto_256 ++ ++ :cond_2ac ++ :try_start_2ac ++ sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J ++ ++ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J ++ ++ move-result-wide v4 ++ ++ cmp-long v2, v2, v4 ++ ++ if-nez v2, :cond_29d ++ ++ const-string/jumbo v2, "pdus" ++ ++ sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent; ++ ++ const-string/jumbo v4, "pdus" ++ ++ invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable; ++ ++ move-result-object v3 ++ ++ move-object/from16 v0, p2 ++ ++ invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent; ++ ++ const-string/jumbo v2, "pdus" ++ ++ move-object/from16 v0, p2 ++ ++ invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable; ++ ++ move-result-object v2 ++ ++ check-cast v2, [Ljava/lang/Object; ++ ++ move-object v0, v2 ++ ++ check-cast v0, [Ljava/lang/Object; ++ ++ move-object v15, v0 ++ ++ if-eqz v15, :cond_2f8 ++ ++ const/4 v2, 0x0 ++ ++ aget-object v2, v15, v2 ++ ++ check-cast v2, [B ++ ++ check-cast v2, [B ++ ++ move-object v12, v2 ++ ++ :goto_2e0 ++ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v5, 0x0 ++ ++ const-string/jumbo v6, "mms" ++ ++ const/4 v7, 0x0 ++ ++ move-object/from16 v3, p0 ++ ++ move/from16 v4, p1 ++ ++ invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ :try_end_2ee ++ .catch Ljava/lang/Exception; {:try_start_2ac .. :try_end_2ee} :catch_2ef ++ ++ goto :goto_29d ++ ++ :catch_2ef ++ move-exception v13 ++ ++ const-string v2, "PrivacyActivityManagerService" ++ ++ const-string v3, "failed to enforce intent broadcast permission" ++ ++ invoke-static {v2, v3, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I ++ ++ goto :goto_29d ++ ++ :cond_2f8 ++ const/4 v12, 0x0 ++ ++ goto :goto_2e0 ++ ++ :cond_2fa ++ const/4 v2, 0x0 ++ ++ sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent; ++ ++ goto/16 :goto_75 ++ ++ :cond_2ff ++ const-string v2, "android.intent.action.BOOT_COMPLETED" ++ ++ invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_30e ++ ++ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V ++ ++ goto/16 :goto_75 ++ ++ :cond_30e ++ const-string v2, "android.intent.action.PACKAGE_ADDED" ++ ++ invoke-virtual {v9, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_75 ++ ++ sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J ++ ++ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J ++ ++ move-result-wide v4 ++ ++ cmp-long v2, v2, v4 ++ ++ if-eqz v2, :cond_75 ++ ++ invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J ++ ++ move-result-wide v2 ++ ++ sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J ++ ++ invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String; ++ ++ move-result-object v10 ++ ++ invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle; ++ ++ move-result-object v2 ++ ++ const-string v3, "android.intent.extra.UID" ++ ++ invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I ++ ++ move-result v11 ++ ++ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v2, v10, v11}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v8 ++ ++ if-eqz v8, :cond_75 ++ ++ invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I ++ ++ move-result v2 ++ ++ if-eq v2, v11, :cond_75 ++ ++ invoke-virtual {v8, v11}, Landroid/privacy/PrivacySettings;->setUid(I)V ++ ++ sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z ++ ++ goto/16 :goto_75 ++ ++ :array_350 ++ .array-data 0x1 ++ 0x0t ++ 0x20t ++ 0x1t ++ 0x81t ++ 0xf0t ++ 0x0t ++ 0x0t ++ 0x11t ++ 0x90t ++ 0x1t ++ 0x30t ++ 0x22t ++ 0x22t ++ 0x80t ++ 0x1t ++ 0x20t ++ .end array-data ++ ++ :array_35c ++ .array-data 0x1 ++ 0x0t ++ 0x20t ++ 0x1t ++ 0x81t ++ 0xf0t ++ 0x0t ++ 0x0t ++ 0x11t ++ 0x90t ++ 0x1t ++ 0x30t ++ 0x22t ++ 0x22t ++ 0x80t ++ 0x1t ++ 0x20t ++ .end array-data ++.end method ++ ++.method private static hashCode(Landroid/content/Intent;)J ++ .registers 7 ++ ++ const-wide/16 v3, 0x0 ++ ++ const-string/jumbo v2, "privacy_hash" ++ ++ invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J ++ ++ move-result-wide v0 ++ ++ cmp-long v2, v0, v3 ++ ++ if-nez v2, :cond_1e ++ ++ invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I ++ ++ move-result v2 ++ ++ int-to-long v2, v2 ++ ++ invoke-static {}, Ljava/lang/System;->currentTimeMillis()J ++ ++ move-result-wide v4 ++ ++ add-long v0, v2, v4 ++ ++ const-string/jumbo v2, "privacy_hash" ++ ++ invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent; ++ ++ :cond_1e ++ return-wide v0 ++.end method +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali +--- stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 18:00:00.000000000 -0600 ++++ pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2012-08-06 13:25:00.031455168 -0500 +@@ -0,0 +1,624 @@ ++.class public final Landroid/privacy/surrogate/PrivacyContentResolver; ++.super Ljava/lang/Object; ++.source "PrivacyContentResolver.java" ++ ++ ++# static fields ++.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver" ++ ++.field private static pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ ++# direct methods ++.method public constructor ()V ++ .registers 1 ++ ++ invoke-direct {p0}, Ljava/lang/Object;->()V ++ ++ return-void ++.end method ++ ++.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String; ++ .registers 8 ++ ++ new-instance v4, Ljava/lang/StringBuffer; ++ ++ invoke-direct {v4}, Ljava/lang/StringBuffer;->()V ++ ++ if-eqz p0, :cond_2d ++ ++ move-object v0, p0 ++ ++ array-length v3, v0 ++ ++ const/4 v2, 0x0 ++ ++ :goto_a ++ if-ge v2, v3, :cond_30 ++ ++ aget-object v1, v0, v2 ++ ++ new-instance v5, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v5}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v6, "[" ++ ++ invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ const-string v6, "]" ++ ++ invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; ++ ++ add-int/lit8 v2, v2, 0x1 ++ ++ goto :goto_a ++ ++ :cond_2d ++ const-string v5, "" ++ ++ :goto_2f ++ return-object v5 ++ ++ :cond_30 ++ invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ goto :goto_2f ++.end method ++ ++.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor; ++ .registers 21 ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Landroid/os/RemoteException; ++ } ++ .end annotation ++ ++ if-eqz p0, :cond_1e4 ++ ++ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ if-nez v1, :cond_13 ++ ++ const-string/jumbo v1, "privacy" ++ ++ move-object/from16 v0, p2 ++ ++ invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; ++ ++ move-result-object v1 ++ ++ check-cast v1, Landroid/privacy/PrivacySettingsManager; ++ ++ sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ :cond_13 ++ invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v2 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v3 ++ ++ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v7 ++ ++ invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String; ++ ++ move-result-object v9 ++ ++ const-string v15, "[real]" ++ ++ move-object/from16 v13, p3 ++ ++ if-eqz v9, :cond_54 ++ ++ const-string v1, "contacts" ++ ++ invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v1 ++ ++ if-nez v1, :cond_3b ++ ++ const-string v1, "com.android.contacts" ++ ++ invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v1 ++ ++ if-eqz v1, :cond_ab ++ ++ :cond_3b ++ if-eqz v7, :cond_54 ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B ++ ++ move-result v1 ++ ++ const/4 v4, 0x1 ++ ++ if-ne v1, v4, :cond_55 ++ ++ const-string v15, "[empty]" ++ ++ new-instance v13, Landroid/privacy/surrogate/PrivacyCursor; ++ ++ invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;->()V ++ ++ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x1 ++ ++ const-string v5, "contacts" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ :cond_54 ++ :goto_54 ++ return-object v13 ++ ++ :cond_55 ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B ++ ++ move-result v1 ++ ++ const/4 v4, 0x2 ++ ++ if-ne v1, v4, :cond_a1 ++ ++ invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri; ++ ++ invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String; ++ ++ move-result-object v4 ++ ++ invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z ++ ++ move-result v1 ++ ++ if-eqz v1, :cond_a1 ++ ++ const/4 v11, 0x0 ++ ++ if-eqz p1, :cond_82 ++ ++ move-object/from16 v8, p1 ++ ++ array-length v12, v8 ++ ++ const/4 v10, 0x0 ++ ++ :goto_73 ++ if-ge v10, v12, :cond_82 ++ ++ aget-object v16, v8, v10 ++ ++ const-string v1, "_id" ++ ++ move-object/from16 v0, v16 ++ ++ invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v1 ++ ++ if-eqz v1, :cond_93 ++ ++ const/4 v11, 0x1 ++ ++ :cond_82 ++ if-nez v11, :cond_96 ++ ++ new-instance v13, Landroid/privacy/surrogate/PrivacyCursor; ++ ++ invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;->()V ++ ++ :goto_89 ++ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x2 ++ ++ const-string v5, "contacts" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_54 ++ ++ :cond_93 ++ add-int/lit8 v10, v10, 0x1 ++ ++ goto :goto_73 ++ ++ :cond_96 ++ new-instance v14, Landroid/privacy/surrogate/PrivacyCursor; ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I ++ ++ move-result-object v1 ++ ++ invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;->(Landroid/database/Cursor;[I)V ++ ++ move-object v13, v14 ++ ++ goto :goto_89 ++ ++ :cond_a1 ++ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x0 ++ ++ const-string v5, "contacts" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_54 ++ ++ :cond_ab ++ const-string v1, "com.android.calendar" ++ ++ invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v1 ++ ++ if-eqz v1, :cond_d8 ++ ++ if-eqz v7, :cond_cd ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B ++ ++ move-result v1 ++ ++ const/4 v4, 0x1 ++ ++ if-ne v1, v4, :cond_cd ++ ++ const-string v15, "[empty]" ++ ++ new-instance v13, Landroid/privacy/surrogate/PrivacyCursor; ++ ++ invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;->()V ++ ++ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x1 ++ ++ const-string v5, "calendar" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_54 ++ ++ :cond_cd ++ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x0 ++ ++ const-string v5, "calendar" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_54 ++ ++ :cond_d8 ++ sget-object v1, Landroid/provider/Telephony$Mms;->CONTENT_URI:Landroid/net/Uri; ++ ++ invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v1 ++ ++ if-eqz v1, :cond_10c ++ ++ if-eqz v7, :cond_100 ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B ++ ++ move-result v1 ++ ++ const/4 v4, 0x1 ++ ++ if-ne v1, v4, :cond_100 ++ ++ const-string v15, "[empty]" ++ ++ new-instance v13, Landroid/privacy/surrogate/PrivacyCursor; ++ ++ invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;->()V ++ ++ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x1 ++ ++ const-string/jumbo v5, "mms" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_54 ++ ++ :cond_100 ++ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x0 ++ ++ const-string/jumbo v5, "mms" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_54 ++ ++ :cond_10c ++ sget-object v1, Landroid/provider/Telephony$Sms;->CONTENT_URI:Landroid/net/Uri; ++ ++ invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v1 ++ ++ if-eqz v1, :cond_140 ++ ++ if-eqz v7, :cond_134 ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B ++ ++ move-result v1 ++ ++ const/4 v4, 0x1 ++ ++ if-ne v1, v4, :cond_134 ++ ++ const-string v15, "[empty]" ++ ++ new-instance v13, Landroid/privacy/surrogate/PrivacyCursor; ++ ++ invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;->()V ++ ++ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x1 ++ ++ const-string/jumbo v5, "sms" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_54 ++ ++ :cond_134 ++ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x0 ++ ++ const-string/jumbo v5, "sms" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_54 ++ ++ :cond_140 ++ sget-object v1, Landroid/provider/Telephony$MmsSms;->CONTENT_URI:Landroid/net/Uri; ++ ++ invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v1 ++ ++ if-nez v1, :cond_155 ++ ++ const-string/jumbo v1, "mms-sms-v2" ++ ++ invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v1 ++ ++ if-eqz v1, :cond_184 ++ ++ :cond_155 ++ if-eqz v7, :cond_178 ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B ++ ++ move-result v1 ++ ++ const/4 v4, 0x1 ++ ++ if-eq v1, v4, :cond_165 ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B ++ ++ move-result v1 ++ ++ const/4 v4, 0x1 ++ ++ if-ne v1, v4, :cond_178 ++ ++ :cond_165 ++ const-string v15, "[empty]" ++ ++ new-instance v13, Landroid/privacy/surrogate/PrivacyCursor; ++ ++ invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;->()V ++ ++ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x1 ++ ++ const-string/jumbo v5, "mmsSms" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_54 ++ ++ :cond_178 ++ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x0 ++ ++ const-string/jumbo v5, "mmsSms" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_54 ++ ++ :cond_184 ++ const-string v1, "call_log" ++ ++ invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v1 ++ ++ if-eqz v1, :cond_1b2 ++ ++ if-eqz v7, :cond_1a7 ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B ++ ++ move-result v1 ++ ++ const/4 v4, 0x1 ++ ++ if-ne v1, v4, :cond_1a7 ++ ++ const-string v15, "[empty]" ++ ++ new-instance v13, Landroid/privacy/surrogate/PrivacyCursor; ++ ++ invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;->()V ++ ++ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x1 ++ ++ const-string v5, "callLog" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_54 ++ ++ :cond_1a7 ++ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x0 ++ ++ const-string v5, "callLog" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_54 ++ ++ :cond_1b2 ++ sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri; ++ ++ invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v1 ++ ++ if-eqz v1, :cond_54 ++ ++ if-eqz v7, :cond_1d9 ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B ++ ++ move-result v1 ++ ++ const/4 v4, 0x1 ++ ++ if-ne v1, v4, :cond_1d9 ++ ++ const-string v15, "[empty]" ++ ++ new-instance v13, Landroid/privacy/surrogate/PrivacyCursor; ++ ++ invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;->()V ++ ++ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x1 ++ ++ const-string v5, "bookmarks" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_54 ++ ++ :cond_1d9 ++ sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x0 ++ ++ const-string v5, "bookmarks" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_54 ++ ++ :cond_1e4 ++ move-object/from16 v13, p3 ++ ++ goto/16 :goto_54 ++.end method +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali +--- stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 18:00:00.000000000 -0600 ++++ pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2012-08-06 13:25:00.031455168 -0500 +@@ -0,0 +1,1225 @@ ++.class public Landroid/privacy/surrogate/PrivacyCursor; ++.super Ljava/lang/Object; ++.source "PrivacyCursor.java" ++ ++# interfaces ++.implements Landroid/database/Cursor; ++ ++ ++# static fields ++.field private static final TAG:Ljava/lang/String; = "PrivacyCursor" ++ ++ ++# instance fields ++.field private allowedIdMapping:[I ++ ++.field private allowedIds:[I ++ ++.field private realCursor:Landroid/database/Cursor; ++ ++ ++# direct methods ++.method public constructor ()V ++ .registers 1 ++ ++ invoke-direct {p0}, Ljava/lang/Object;->()V ++ ++ return-void ++.end method ++ ++.method public constructor (Landroid/database/Cursor;[I)V ++ .registers 7 ++ ++ invoke-direct {p0}, Ljava/lang/Object;->()V ++ ++ if-eqz p2, :cond_8 ++ ++ array-length v2, p2 ++ ++ if-nez v2, :cond_9 ++ ++ :cond_8 ++ const/4 p1, 0x0 ++ ++ :cond_9 ++ iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I ++ ++ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v2, :cond_3f ++ ++ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I ++ ++ move-result v0 ++ ++ array-length v2, p2 ++ ++ new-array v2, v2, [I ++ ++ iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I ++ ++ const/4 v1, 0x0 ++ ++ :cond_1d ++ :goto_1d ++ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_3a ++ ++ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_1d ++ ++ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I ++ ++ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I ++ ++ move-result v3 ++ ++ aput v3, v2, v1 ++ ++ add-int/lit8 v1, v1, 0x1 ++ ++ goto :goto_1d ++ ++ :cond_3a ++ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z ++ ++ :cond_3f ++ return-void ++.end method ++ ++.method private getContactId(Landroid/database/Cursor;)I ++ .registers 5 ++ ++ const-string v2, "_id" ++ ++ invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I ++ ++ move-result v0 ++ ++ const/4 v1, -0x1 ++ ++ const/4 v2, -0x1 ++ ++ if-eq v0, v2, :cond_e ++ ++ invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I ++ ++ move-result v1 ++ ++ :cond_e ++ return v1 ++.end method ++ ++.method private getMappedPos(I)I ++ .registers 4 ++ ++ const/4 v0, 0x0 ++ ++ :goto_1 ++ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I ++ ++ array-length v1, v1 ++ ++ if-ge v0, v1, :cond_10 ++ ++ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I ++ ++ aget v1, v1, v0 ++ ++ if-ne v1, p1, :cond_d ++ ++ :goto_c ++ return v0 ++ ++ :cond_d ++ add-int/lit8 v0, v0, 0x1 ++ ++ goto :goto_1 ++ ++ :cond_10 ++ const/4 v0, -0x1 ++ ++ goto :goto_c ++.end method ++ ++.method private isAllowed(I)Z ++ .registers 7 ++ ++ const/4 v4, 0x0 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I ++ ++ array-length v3, v0 ++ ++ const/4 v2, 0x0 ++ ++ :goto_5 ++ if-ge v2, v3, :cond_c ++ ++ aget v1, v0, v2 ++ ++ if-ne p1, v1, :cond_d ++ ++ const/4 v4, 0x1 ++ ++ :cond_c ++ return v4 ++ ++ :cond_d ++ add-int/lit8 v2, v2, 0x1 ++ ++ goto :goto_5 ++.end method ++ ++.method private isAllowed(Landroid/database/Cursor;)Z ++ .registers 3 ++ ++ invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I ++ ++ move-result v0 ++ ++ invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z ++ ++ move-result v0 ++ ++ return v0 ++.end method ++ ++ ++# virtual methods ++.method public close()V ++ .registers 2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_9 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0}, Landroid/database/Cursor;->close()V ++ ++ :cond_9 ++ return-void ++.end method ++ ++.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V ++ .registers 4 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_9 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V ++ ++ :cond_9 ++ return-void ++.end method ++ ++.method public deactivate()V ++ .registers 2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_9 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V ++ ++ :cond_9 ++ return-void ++.end method ++ ++.method public getBlob(I)[B ++ .registers 3 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_b ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B ++ ++ move-result-object v0 ++ ++ :goto_a ++ return-object v0 ++ ++ :cond_b ++ const/4 v0, 0x0 ++ ++ new-array v0, v0, [B ++ ++ goto :goto_a ++.end method ++ ++.method public getColumnCount()I ++ .registers 2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_b ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I ++ ++ move-result v0 ++ ++ :goto_a ++ return v0 ++ ++ :cond_b ++ const/4 v0, 0x0 ++ ++ goto :goto_a ++.end method ++ ++.method public getColumnIndex(Ljava/lang/String;)I ++ .registers 3 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_b ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I ++ ++ move-result v0 ++ ++ :goto_a ++ return v0 ++ ++ :cond_b ++ const/4 v0, -0x1 ++ ++ goto :goto_a ++.end method ++ ++.method public getColumnIndexOrThrow(Ljava/lang/String;)I ++ .registers 3 ++ .annotation system Ldalvik/annotation/Throws; ++ value = { ++ Ljava/lang/IllegalArgumentException; ++ } ++ .end annotation ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_b ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I ++ ++ move-result v0 ++ ++ :goto_a ++ return v0 ++ ++ :cond_b ++ const/4 v0, -0x1 ++ ++ goto :goto_a ++.end method ++ ++.method public getColumnName(I)Ljava/lang/String; ++ .registers 3 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_b ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ :goto_a ++ return-object v0 ++ ++ :cond_b ++ const-string v0, "" ++ ++ goto :goto_a ++.end method ++ ++.method public getColumnNames()[Ljava/lang/String; ++ .registers 4 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_b ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ :goto_a ++ return-object v0 ++ ++ :cond_b ++ const/4 v0, 0x1 ++ ++ new-array v0, v0, [Ljava/lang/String; ++ ++ const/4 v1, 0x0 ++ ++ const-string v2, "" ++ ++ aput-object v2, v0, v1 ++ ++ goto :goto_a ++.end method ++ ++.method public getCount()I ++ .registers 4 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_23 ++ ++ const-string v0, "PrivacyCursor" ++ ++ new-instance v1, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v2, "getCount: " ++ ++ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v1 ++ ++ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I ++ ++ array-length v2, v2 ++ ++ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v1 ++ ++ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I ++ ++ array-length v0, v0 ++ ++ :goto_22 ++ return v0 ++ ++ :cond_23 ++ const/4 v0, 0x0 ++ ++ goto :goto_22 ++.end method ++ ++.method public getDouble(I)D ++ .registers 4 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_b ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D ++ ++ move-result-wide v0 ++ ++ :goto_a ++ return-wide v0 ++ ++ :cond_b ++ const-wide/16 v0, 0x0 ++ ++ goto :goto_a ++.end method ++ ++.method public getExtras()Landroid/os/Bundle; ++ .registers 2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_b ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle; ++ ++ move-result-object v0 ++ ++ :goto_a ++ return-object v0 ++ ++ :cond_b ++ new-instance v0, Landroid/os/Bundle; ++ ++ invoke-direct {v0}, Landroid/os/Bundle;->()V ++ ++ goto :goto_a ++.end method ++ ++.method public getFloat(I)F ++ .registers 3 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_b ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F ++ ++ move-result v0 ++ ++ :goto_a ++ return v0 ++ ++ :cond_b ++ const/4 v0, 0x0 ++ ++ goto :goto_a ++.end method ++ ++.method public getInt(I)I ++ .registers 4 ++ ++ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v1, :cond_b ++ ++ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I ++ ++ move-result v0 ++ ++ :goto_a ++ return v0 ++ ++ :cond_b ++ const/4 v0, 0x0 ++ ++ goto :goto_a ++.end method ++ ++.method public getLong(I)J ++ .registers 4 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_b ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J ++ ++ move-result-wide v0 ++ ++ :goto_a ++ return-wide v0 ++ ++ :cond_b ++ const-wide/16 v0, 0x0 ++ ++ goto :goto_a ++.end method ++ ++.method public getPosition()I ++ .registers 5 ++ ++ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v1, :cond_37 ++ ++ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I ++ ++ move-result v1 ++ ++ invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I ++ ++ move-result v0 ++ ++ const-string v1, "PrivacyCursor" ++ ++ new-instance v2, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v3, "getPosition - mapped position: " ++ ++ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ const-string v3, " real position: " ++ ++ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I ++ ++ move-result v3 ++ ++ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v2 ++ ++ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v2 ++ ++ invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I ++ ++ :goto_36 ++ return v0 ++ ++ :cond_37 ++ const/4 v0, -0x1 ++ ++ goto :goto_36 ++.end method ++ ++.method public getShort(I)S ++ .registers 3 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_b ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S ++ ++ move-result v0 ++ ++ :goto_a ++ return v0 ++ ++ :cond_b ++ const/4 v0, 0x0 ++ ++ goto :goto_a ++.end method ++ ++.method public getString(I)Ljava/lang/String; ++ .registers 3 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_b ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ :goto_a ++ return-object v0 ++ ++ :cond_b ++ const-string v0, "" ++ ++ goto :goto_a ++.end method ++ ++.method public getType(I)I ++ .registers 3 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_b ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0, p1}, Landroid/database/Cursor;->getType(I)I ++ ++ move-result v0 ++ ++ :goto_a ++ return v0 ++ ++ :cond_b ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ const/4 v0, 0x0 ++ ++ goto :goto_a ++.end method ++ ++.method public getWantsAllOnMoveCalls()Z ++ .registers 2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_b ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z ++ ++ move-result v0 ++ ++ :goto_a ++ return v0 ++ ++ :cond_b ++ const/4 v0, 0x0 ++ ++ goto :goto_a ++.end method ++ ++.method public isAfterLast()Z ++ .registers 2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_b ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z ++ ++ move-result v0 ++ ++ :goto_a ++ return v0 ++ ++ :cond_b ++ const/4 v0, 0x0 ++ ++ goto :goto_a ++.end method ++ ++.method public isBeforeFirst()Z ++ .registers 2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_b ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0}, Landroid/database/Cursor;->isBeforeFirst()Z ++ ++ move-result v0 ++ ++ :goto_a ++ return v0 ++ ++ :cond_b ++ const/4 v0, 0x0 ++ ++ goto :goto_a ++.end method ++ ++.method public isClosed()Z ++ .registers 2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_b ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z ++ ++ move-result v0 ++ ++ :goto_a ++ return v0 ++ ++ :cond_b ++ const/4 v0, 0x0 ++ ++ goto :goto_a ++.end method ++ ++.method public isFirst()Z ++ .registers 4 ++ ++ const/4 v0, 0x0 ++ ++ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v1, :cond_12 ++ ++ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I ++ ++ move-result v1 ++ ++ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I ++ ++ aget v2, v2, v0 ++ ++ if-ne v1, v2, :cond_12 ++ ++ const/4 v0, 0x1 ++ ++ :cond_12 ++ return v0 ++.end method ++ ++.method public isLast()Z ++ .registers 4 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_17 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I ++ ++ move-result v0 ++ ++ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I ++ ++ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I ++ ++ array-length v2, v2 ++ ++ add-int/lit8 v2, v2, -0x1 ++ ++ aget v1, v1, v2 ++ ++ if-ne v0, v1, :cond_17 ++ ++ const/4 v0, 0x1 ++ ++ :goto_16 ++ return v0 ++ ++ :cond_17 ++ const/4 v0, 0x0 ++ ++ goto :goto_16 ++.end method ++ ++.method public isNull(I)Z ++ .registers 3 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_b ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z ++ ++ move-result v0 ++ ++ :goto_a ++ return v0 ++ ++ :cond_b ++ const/4 v0, 0x0 ++ ++ goto :goto_a ++.end method ++ ++.method public move(I)Z ++ .registers 8 ++ ++ const/4 v2, 0x0 ++ ++ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v3, :cond_33 ++ ++ const-string v3, "PrivacyCursor" ++ ++ new-instance v4, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v4}, Ljava/lang/StringBuilder;->()V ++ ++ const-string/jumbo v5, "move - offset: " ++ ++ invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v4 ++ ++ invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; ++ ++ move-result-object v4 ++ ++ invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v4 ++ ++ invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I ++ ++ :try_start_1e ++ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I ++ ++ iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I ++ ++ move-result v4 ++ ++ invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I ++ ++ move-result v4 ++ ++ add-int/2addr v4, p1 ++ ++ aget v1, v3, v4 ++ ++ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z ++ :try_end_32 ++ .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_1e .. :try_end_32} :catch_34 ++ ++ move-result v2 ++ ++ :cond_33 ++ :goto_33 ++ return v2 ++ ++ :catch_34 ++ move-exception v0 ++ ++ goto :goto_33 ++.end method ++ ++.method public moveToFirst()Z ++ .registers 4 ++ ++ const/4 v0, 0x0 ++ ++ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v1, :cond_f ++ ++ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I ++ ++ aget v2, v2, v0 ++ ++ invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z ++ ++ move-result v0 ++ ++ :cond_f ++ return v0 ++.end method ++ ++.method public moveToLast()Z ++ .registers 5 ++ ++ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v1, :cond_14 ++ ++ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I ++ ++ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I ++ ++ array-length v3, v3 ++ ++ add-int/lit8 v3, v3, -0x1 ++ ++ aget v2, v2, v3 ++ ++ invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z ++ ++ move-result v0 ++ ++ :goto_13 ++ return v0 ++ ++ :cond_14 ++ const/4 v0, 0x0 ++ ++ goto :goto_13 ++.end method ++ ++.method public moveToNext()Z ++ .registers 3 ++ ++ const/4 v0, 0x0 ++ ++ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v1, :cond_d ++ ++ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z ++ ++ move-result v1 ++ ++ if-nez v1, :cond_e ++ ++ :cond_d ++ return v0 ++ ++ :cond_e ++ const/4 v0, 0x1 ++ ++ :goto_f ++ const/4 v1, 0x1 ++ ++ if-ne v0, v1, :cond_d ++ ++ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z ++ ++ move-result v1 ++ ++ if-nez v1, :cond_d ++ ++ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z ++ ++ move-result v0 ++ ++ goto :goto_f ++.end method ++ ++.method public moveToPosition(I)Z ++ .registers 6 ++ ++ const/4 v1, 0x0 ++ ++ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v2, :cond_f ++ ++ :try_start_5 ++ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I ++ ++ aget v3, v3, p1 ++ ++ invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z ++ :try_end_e ++ .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_5 .. :try_end_e} :catch_10 ++ ++ move-result v1 ++ ++ :cond_f ++ :goto_f ++ return v1 ++ ++ :catch_10 ++ move-exception v0 ++ ++ goto :goto_f ++.end method ++ ++.method public moveToPrevious()Z ++ .registers 3 ++ ++ const/4 v0, 0x0 ++ ++ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v1, :cond_d ++ ++ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z ++ ++ move-result v1 ++ ++ if-nez v1, :cond_e ++ ++ :cond_d ++ return v0 ++ ++ :cond_e ++ const/4 v0, 0x1 ++ ++ :goto_f ++ const/4 v1, 0x1 ++ ++ if-ne v0, v1, :cond_d ++ ++ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z ++ ++ move-result v1 ++ ++ if-nez v1, :cond_d ++ ++ iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z ++ ++ move-result v0 ++ ++ goto :goto_f ++.end method ++ ++.method public registerContentObserver(Landroid/database/ContentObserver;)V ++ .registers 3 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_9 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V ++ ++ :cond_9 ++ return-void ++.end method ++ ++.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V ++ .registers 3 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_9 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V ++ ++ :cond_9 ++ return-void ++.end method ++ ++.method public requery()Z ++ .registers 2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_b ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0}, Landroid/database/Cursor;->requery()Z ++ ++ move-result v0 ++ ++ :goto_a ++ return v0 ++ ++ :cond_b ++ const/4 v0, 0x0 ++ ++ goto :goto_a ++.end method ++ ++.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle; ++ .registers 3 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_b ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle; ++ ++ move-result-object v0 ++ ++ :goto_a ++ return-object v0 ++ ++ :cond_b ++ new-instance v0, Landroid/os/Bundle; ++ ++ invoke-direct {v0}, Landroid/os/Bundle;->()V ++ ++ goto :goto_a ++.end method ++ ++.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V ++ .registers 4 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_9 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V ++ ++ :cond_9 ++ return-void ++.end method ++ ++.method public unregisterContentObserver(Landroid/database/ContentObserver;)V ++ .registers 3 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_9 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V ++ ++ :cond_9 ++ return-void ++.end method ++ ++.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V ++ .registers 3 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ if-eqz v0, :cond_9 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor; ++ ++ invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V ++ ++ :cond_9 ++ return-void ++.end method +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali +--- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 18:00:00.000000000 -0600 ++++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2012-08-06 13:25:00.035455182 -0500 +@@ -0,0 +1,134 @@ ++.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater; ++.super Ljava/lang/Thread; ++.source "PrivacyLocationManager.java" ++ ++ ++# annotations ++.annotation system Ldalvik/annotation/EnclosingClass; ++ value = Landroid/privacy/surrogate/PrivacyLocationManager; ++.end annotation ++ ++.annotation system Ldalvik/annotation/InnerClass; ++ accessFlags = 0x2 ++ name = "PrivacyLocationUpdater" ++.end annotation ++ ++ ++# instance fields ++.field private intent:Landroid/app/PendingIntent; ++ ++.field private latitude:D ++ ++.field private listener:Landroid/location/LocationListener; ++ ++.field private longitude:D ++ ++.field private provider:Ljava/lang/String; ++ ++.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager; ++ ++ ++# direct methods ++.method public constructor (Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V ++ .registers 9 ++ ++ iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager; ++ ++ invoke-direct {p0}, Ljava/lang/Thread;->()V ++ ++ iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String; ++ ++ iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener; ++ ++ iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent; ++ ++ iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D ++ ++ iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D ++ ++ return-void ++.end method ++ ++ ++# virtual methods ++.method public run()V ++ .registers 8 ++ ++ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String; ++ ++ if-eqz v3, :cond_43 ++ ++ new-instance v2, Landroid/location/Location; ++ ++ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String; ++ ++ invoke-direct {v2, v3}, Landroid/location/Location;->(Ljava/lang/String;)V ++ ++ iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D ++ ++ invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V ++ ++ iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D ++ ++ invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V ++ ++ const/4 v1, 0x0 ++ ++ :goto_16 ++ const/4 v3, 0x5 ++ ++ if-ge v1, v3, :cond_43 ++ ++ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener; ++ ++ if-eqz v3, :cond_34 ++ ++ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener; ++ ++ invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V ++ ++ :cond_22 ++ :goto_22 ++ :try_start_22 ++ invoke-static {}, Ljava/lang/Math;->random()D ++ ++ move-result-wide v3 ++ ++ const-wide v5, 0x408f400000000000L ++ ++ mul-double/2addr v3, v5 ++ ++ double-to-int v3, v3 ++ ++ int-to-long v3, v3 ++ ++ invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V ++ :try_end_31 ++ .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e ++ ++ :goto_31 ++ add-int/lit8 v1, v1, 0x1 ++ ++ goto :goto_16 ++ ++ :cond_34 ++ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent; ++ ++ if-eqz v3, :cond_22 ++ ++ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent; ++ ++ invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V ++ ++ goto :goto_22 ++ ++ :catch_3e ++ move-exception v0 ++ ++ invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V ++ ++ goto :goto_31 ++ ++ :cond_43 ++ return-void ++.end method +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali +--- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 18:00:00.000000000 -0600 ++++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2012-08-06 13:25:00.035455182 -0500 +@@ -0,0 +1,2091 @@ ++.class public final Landroid/privacy/surrogate/PrivacyLocationManager; ++.super Landroid/location/LocationManager; ++.source "PrivacyLocationManager.java" ++ ++ ++# annotations ++.annotation system Ldalvik/annotation/MemberClasses; ++ value = { ++ Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater; ++ } ++.end annotation ++ ++ ++# static fields ++.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5 ++ ++.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager" ++ ++ ++# instance fields ++.field private context:Landroid/content/Context; ++ ++.field private lock:Ljava/lang/Object; ++ ++.field private pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ ++# direct methods ++.method public constructor (Landroid/location/ILocationManager;Landroid/content/Context;)V ++ .registers 5 ++ ++ invoke-direct {p0, p1}, Landroid/location/LocationManager;->(Landroid/location/ILocationManager;)V ++ ++ new-instance v0, Ljava/lang/Object; ++ ++ invoke-direct {v0}, Ljava/lang/Object;->()V ++ ++ iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object; ++ ++ iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context; ++ ++ new-instance v0, Landroid/privacy/PrivacySettingsManager; ++ ++ const-string/jumbo v1, "privacy" ++ ++ invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder; ++ ++ move-result-object v1 ++ ++ invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager; ++ ++ move-result-object v1 ++ ++ invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;->(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V ++ ++ iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ return-void ++.end method ++ ++.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z ++ .registers 7 ++ ++ const/4 v2, 0x3 ++ ++ if-nez p1, :cond_5 ++ ++ const/4 v0, 0x0 ++ ++ :goto_4 ++ return v0 ++ ++ :cond_5 ++ invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I ++ ++ move-result v0 ++ ++ const/4 v1, 0x1 ++ ++ if-eq v0, v1, :cond_24 ++ ++ invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I ++ ++ move-result v0 ++ ++ if-eq v0, v2, :cond_24 ++ ++ invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I ++ ++ move-result v0 ++ ++ if-eq v0, v2, :cond_24 ++ ++ invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I ++ ++ move-result v0 ++ ++ if-eq v0, v2, :cond_24 ++ ++ invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I ++ ++ move-result v0 ++ ++ if-ne v0, v2, :cond_2b ++ ++ :cond_24 ++ const-string v0, "gps" ++ ++ invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z ++ ++ move-result v0 ++ ++ goto :goto_4 ++ ++ :cond_2b ++ const-string/jumbo v0, "network" ++ ++ invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z ++ ++ move-result v0 ++ ++ goto :goto_4 ++.end method ++ ++.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z ++ .registers 24 ++ ++ move-object/from16 v0, p0 ++ ++ iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object; ++ ++ move-object/from16 v19, v0 ++ ++ monitor-enter v19 ++ ++ :try_start_7 ++ move-object/from16 v0, p0 ++ ++ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v2 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v3 ++ ++ move-object/from16 v0, p0 ++ ++ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v7 ++ ++ const/16 v18, 0x0 ++ ++ if-eqz v7, :cond_239 ++ ++ const-string v1, "gps" ++ ++ move-object/from16 v0, p1 ++ ++ invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v1 ++ ++ if-eqz v1, :cond_111 ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B ++ ++ move-result v1 ++ ++ packed-switch v1, :pswitch_data_25e ++ ++ :cond_30 ++ :goto_30 ++ monitor-exit v19 ++ ++ return v18 ++ ++ :pswitch_32 ++ move-object/from16 v0, p0 ++ ++ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x0 ++ ++ const-string v5, "locationGPS" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_30 ++ ++ :catchall_3e ++ move-exception v1 ++ ++ monitor-exit v19 ++ :try_end_40 ++ .catchall {:try_start_7 .. :try_end_40} :catchall_3e ++ ++ throw v1 ++ ++ :pswitch_41 ++ if-eqz p3, :cond_46 ++ ++ :try_start_43 ++ invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V ++ ++ :cond_46 ++ const/16 v18, 0x1 ++ ++ move-object/from16 v0, p0 ++ ++ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x1 ++ ++ const-string v5, "locationGPS" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ :try_end_53 ++ .catchall {:try_start_43 .. :try_end_53} :catchall_3e ++ ++ goto :goto_30 ++ ++ :pswitch_54 ++ :try_start_54 ++ new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater; ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D ++ ++ move-result-wide v13 ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D ++ ++ move-result-wide v15 ++ ++ move-object/from16 v9, p0 ++ ++ move-object/from16 v10, p1 ++ ++ move-object/from16 v11, p2 ++ ++ move-object/from16 v12, p3 ++ ++ invoke-direct/range {v8 .. v16}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V ++ ++ invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V ++ :try_end_74 ++ .catchall {:try_start_54 .. :try_end_74} :catchall_3e ++ .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6 ++ ++ const/16 v18, 0x1 ++ ++ :goto_76 ++ :try_start_76 ++ move-object/from16 v0, p0 ++ ++ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x2 ++ ++ const-string v5, "locationGPS" ++ ++ new-instance v6, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v6}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v8, "Lat: " ++ ++ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v6 ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String; ++ ++ move-result-object v8 ++ ++ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v6 ++ ++ const-string v8, " Lon: " ++ ++ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v6 ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String; ++ ++ move-result-object v8 ++ ++ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v6 ++ ++ invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v6 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_30 ++ ++ :catch_a6 ++ move-exception v17 ++ ++ const-string v1, "PrivacyLocationManager" ++ ++ const-string/jumbo v4, "requestLocationUpdates: invalid coordinates" ++ ++ invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_af ++ .catchall {:try_start_76 .. :try_end_af} :catchall_3e ++ ++ const/16 v18, 0x1 ++ ++ goto :goto_76 ++ ++ :pswitch_b2 ++ :try_start_b2 ++ new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater; ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D ++ ++ move-result-wide v13 ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D ++ ++ move-result-wide v15 ++ ++ move-object/from16 v9, p0 ++ ++ move-object/from16 v10, p1 ++ ++ move-object/from16 v11, p2 ++ ++ move-object/from16 v12, p3 ++ ++ invoke-direct/range {v8 .. v16}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V ++ ++ invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V ++ :try_end_d2 ++ .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e ++ .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105 ++ ++ const/16 v18, 0x1 ++ ++ :goto_d4 ++ :try_start_d4 ++ move-object/from16 v0, p0 ++ ++ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x3 ++ ++ const-string v5, "locationGPS" ++ ++ new-instance v6, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v6}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v8, "Lat: " ++ ++ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v6 ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String; ++ ++ move-result-object v8 ++ ++ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v6 ++ ++ const-string v8, " Lon: " ++ ++ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v6 ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String; ++ ++ move-result-object v8 ++ ++ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v6 ++ ++ invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v6 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_30 ++ ++ :catch_105 ++ move-exception v17 ++ ++ const-string v1, "PrivacyLocationManager" ++ ++ const-string/jumbo v4, "requestLocationUpdates: invalid coordinates" ++ ++ invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ ++ const/16 v18, 0x1 ++ ++ goto :goto_d4 ++ ++ :cond_111 ++ const-string/jumbo v1, "network" ++ ++ move-object/from16 v0, p1 ++ ++ invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v1 ++ ++ if-eqz v1, :cond_204 ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B ++ ++ move-result v1 ++ ++ packed-switch v1, :pswitch_data_26a ++ ++ goto/16 :goto_30 ++ ++ :pswitch_125 ++ move-object/from16 v0, p0 ++ ++ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x0 ++ ++ const-string v5, "locationNetwork" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_30 ++ ++ :pswitch_132 ++ if-eqz p3, :cond_137 ++ ++ invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V ++ ++ :cond_137 ++ const/16 v18, 0x1 ++ ++ move-object/from16 v0, p0 ++ ++ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x1 ++ ++ const-string v5, "locationNetwork" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ :try_end_144 ++ .catchall {:try_start_d4 .. :try_end_144} :catchall_3e ++ ++ goto/16 :goto_30 ++ ++ :pswitch_146 ++ :try_start_146 ++ new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater; ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D ++ ++ move-result-wide v13 ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D ++ ++ move-result-wide v15 ++ ++ move-object/from16 v9, p0 ++ ++ move-object/from16 v10, p1 ++ ++ move-object/from16 v11, p2 ++ ++ move-object/from16 v12, p3 ++ ++ invoke-direct/range {v8 .. v16}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V ++ ++ invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V ++ :try_end_166 ++ .catchall {:try_start_146 .. :try_end_166} :catchall_3e ++ .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199 ++ ++ const/16 v18, 0x1 ++ ++ :goto_168 ++ :try_start_168 ++ move-object/from16 v0, p0 ++ ++ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x2 ++ ++ const-string v5, "locationNetwork" ++ ++ new-instance v6, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v6}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v8, "Lat: " ++ ++ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v6 ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String; ++ ++ move-result-object v8 ++ ++ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v6 ++ ++ const-string v8, " Lon: " ++ ++ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v6 ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String; ++ ++ move-result-object v8 ++ ++ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v6 ++ ++ invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v6 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_30 ++ ++ :catch_199 ++ move-exception v17 ++ ++ const-string v1, "PrivacyLocationManager" ++ ++ const-string/jumbo v4, "requestLocationUpdates: invalid coordinates" ++ ++ invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_1a2 ++ .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e ++ ++ const/16 v18, 0x1 ++ ++ goto :goto_168 ++ ++ :pswitch_1a5 ++ :try_start_1a5 ++ new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater; ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D ++ ++ move-result-wide v13 ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D ++ ++ move-result-wide v15 ++ ++ move-object/from16 v9, p0 ++ ++ move-object/from16 v10, p1 ++ ++ move-object/from16 v11, p2 ++ ++ move-object/from16 v12, p3 ++ ++ invoke-direct/range {v8 .. v16}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V ++ ++ invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V ++ :try_end_1c5 ++ .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e ++ .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8 ++ ++ const/16 v18, 0x1 ++ ++ :goto_1c7 ++ :try_start_1c7 ++ move-object/from16 v0, p0 ++ ++ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x3 ++ ++ const-string v5, "locationNetwork" ++ ++ new-instance v6, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v6}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v8, "Lat: " ++ ++ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v6 ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String; ++ ++ move-result-object v8 ++ ++ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v6 ++ ++ const-string v8, " Lon: " ++ ++ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v6 ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String; ++ ++ move-result-object v8 ++ ++ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v6 ++ ++ invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v6 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_30 ++ ++ :catch_1f8 ++ move-exception v17 ++ ++ const-string v1, "PrivacyLocationManager" ++ ++ const-string/jumbo v4, "requestLocationUpdates: invalid coordinates" ++ ++ invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ ++ const/16 v18, 0x1 ++ ++ goto :goto_1c7 ++ ++ :cond_204 ++ const-string/jumbo v1, "passive" ++ ++ move-object/from16 v0, p1 ++ ++ invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v1 ++ ++ if-eqz v1, :cond_30 ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B ++ ++ move-result v1 ++ ++ if-nez v1, :cond_22a ++ ++ invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B ++ ++ move-result v1 ++ ++ if-nez v1, :cond_22a ++ ++ const/16 v18, 0x0 ++ ++ move-object/from16 v0, p0 ++ ++ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x0 ++ ++ const-string v5, "locationGPS" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_30 ++ ++ :cond_22a ++ const/16 v18, 0x1 ++ ++ move-object/from16 v0, p0 ++ ++ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x1 ++ ++ const-string v5, "locationGPS" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_30 ++ ++ :cond_239 ++ const-string/jumbo v1, "network" ++ ++ move-object/from16 v0, p1 ++ ++ invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v1 ++ ++ if-eqz v1, :cond_251 ++ ++ move-object/from16 v0, p0 ++ ++ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x0 ++ ++ const-string v5, "locationNetwork" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_30 ++ ++ :cond_251 ++ move-object/from16 v0, p0 ++ ++ iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v4, 0x0 ++ ++ const-string v5, "locationGPS" ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ :try_end_25c ++ .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e ++ ++ goto/16 :goto_30 ++ ++ :pswitch_data_25e ++ .packed-switch 0x0 ++ :pswitch_32 ++ :pswitch_41 ++ :pswitch_54 ++ :pswitch_b2 ++ .end packed-switch ++ ++ :pswitch_data_26a ++ .packed-switch 0x0 ++ :pswitch_125 ++ :pswitch_132 ++ :pswitch_146 ++ :pswitch_1a5 ++ .end packed-switch ++.end method ++ ++ ++# virtual methods ++.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z ++ .registers 10 ++ ++ const/4 v5, 0x0 ++ ++ const/4 v7, 0x0 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v6 ++ ++ if-eqz v6, :cond_24 ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_24 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v3, 0x1 ++ ++ const-string v4, "locationGPS" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ move v0, v7 ++ ++ :goto_23 ++ return v0 ++ ++ :cond_24 ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const-string v4, "locationGPS" ++ ++ move v3, v7 ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z ++ ++ move-result v0 ++ ++ goto :goto_23 ++.end method ++ ++.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location; ++ .registers 14 ++ ++ const/4 v11, 0x3 ++ ++ const/4 v10, 0x2 ++ ++ const/4 v8, 0x1 ++ ++ const/4 v3, 0x0 ++ ++ const/4 v5, 0x0 ++ ++ if-nez p1, :cond_c ++ ++ invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location; ++ ++ move-result-object v7 ++ ++ :cond_b ++ :goto_b ++ return-object v7 ++ ++ :cond_c ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v6 ++ ++ const/4 v7, 0x0 ++ ++ if-eqz v6, :cond_22c ++ ++ const-string v0, "gps" ++ ++ invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_ff ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B ++ ++ move-result v0 ++ ++ packed-switch v0, :pswitch_data_29a ++ ++ goto :goto_b ++ ++ :pswitch_2f ++ invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location; ++ ++ move-result-object v7 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const-string v4, "locationGPS" ++ ++ if-eqz v7, :cond_5e ++ ++ new-instance v5, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v5}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v8, "Lat: " ++ ++ invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D ++ ++ move-result-wide v8 ++ ++ invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ const-string v8, " Lon: " ++ ++ invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D ++ ++ move-result-wide v8 ++ ++ invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ :cond_5e ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_b ++ ++ :pswitch_62 ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const-string v4, "locationGPS" ++ ++ move v3, v8 ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_b ++ ++ :pswitch_6b ++ new-instance v7, Landroid/location/Location; ++ ++ invoke-direct {v7, p1}, Landroid/location/Location;->(Ljava/lang/String;)V ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D ++ ++ move-result-wide v3 ++ ++ invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D ++ ++ move-result-wide v3 ++ ++ invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const-string v4, "locationGPS" ++ ++ new-instance v3, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v5, "Lat: " ++ ++ invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D ++ ++ move-result-wide v8 ++ ++ invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ const-string v5, " Lon: " ++ ++ invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D ++ ++ move-result-wide v8 ++ ++ invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ move v3, v10 ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_b ++ ++ :pswitch_b5 ++ new-instance v7, Landroid/location/Location; ++ ++ invoke-direct {v7, p1}, Landroid/location/Location;->(Ljava/lang/String;)V ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D ++ ++ move-result-wide v3 ++ ++ invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D ++ ++ move-result-wide v3 ++ ++ invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const-string v4, "locationGPS" ++ ++ new-instance v3, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v5, "Lat: " ++ ++ invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D ++ ++ move-result-wide v8 ++ ++ invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ const-string v5, " Lon: " ++ ++ invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D ++ ++ move-result-wide v8 ++ ++ invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ move v3, v11 ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_b ++ ++ :cond_ff ++ const-string/jumbo v0, "network" ++ ++ invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_1e3 ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B ++ ++ move-result v0 ++ ++ packed-switch v0, :pswitch_data_2a6 ++ ++ goto/16 :goto_b ++ ++ :pswitch_111 ++ invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location; ++ ++ move-result-object v7 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const-string v4, "locationNetwork" ++ ++ if-eqz v7, :cond_140 ++ ++ new-instance v5, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v5}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v8, "Lat: " ++ ++ invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D ++ ++ move-result-wide v8 ++ ++ invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ const-string v8, " Lon: " ++ ++ invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D ++ ++ move-result-wide v8 ++ ++ invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ :cond_140 ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_b ++ ++ :pswitch_145 ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const-string v4, "locationNetwork" ++ ++ move v3, v8 ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_b ++ ++ :pswitch_14f ++ new-instance v7, Landroid/location/Location; ++ ++ invoke-direct {v7, p1}, Landroid/location/Location;->(Ljava/lang/String;)V ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D ++ ++ move-result-wide v3 ++ ++ invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D ++ ++ move-result-wide v3 ++ ++ invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const-string v4, "locationNetwork" ++ ++ new-instance v3, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v5, "Lat: " ++ ++ invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D ++ ++ move-result-wide v8 ++ ++ invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ const-string v5, " Lon: " ++ ++ invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D ++ ++ move-result-wide v8 ++ ++ invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ move v3, v10 ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_b ++ ++ :pswitch_199 ++ new-instance v7, Landroid/location/Location; ++ ++ invoke-direct {v7, p1}, Landroid/location/Location;->(Ljava/lang/String;)V ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D ++ ++ move-result-wide v3 ++ ++ invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D ++ ++ move-result-wide v3 ++ ++ invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const-string v4, "locationNetwork" ++ ++ new-instance v3, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v5, "Lat: " ++ ++ invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D ++ ++ move-result-wide v8 ++ ++ invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ const-string v5, " Lon: " ++ ++ invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D ++ ++ move-result-wide v8 ++ ++ invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ move v3, v11 ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_b ++ ++ :cond_1e3 ++ const-string/jumbo v0, "passive" ++ ++ invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_b ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B ++ ++ move-result v0 ++ ++ if-nez v0, :cond_b ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B ++ ++ move-result v0 ++ ++ if-nez v0, :cond_b ++ ++ invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location; ++ ++ move-result-object v7 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const-string v4, "locationGPS" ++ ++ if-eqz v7, :cond_227 ++ ++ new-instance v5, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v5}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v8, "Lat: " ++ ++ invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D ++ ++ move-result-wide v8 ++ ++ invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ const-string v8, " Lon: " ++ ++ invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D ++ ++ move-result-wide v8 ++ ++ invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ :cond_227 ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_b ++ ++ :cond_22c ++ invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location; ++ ++ move-result-object v7 ++ ++ const-string/jumbo v0, "network" ++ ++ invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_269 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const-string v4, "locationNetwork" ++ ++ if-eqz v7, :cond_264 ++ ++ new-instance v5, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v5}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v8, "Lat: " ++ ++ invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D ++ ++ move-result-wide v8 ++ ++ invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ const-string v8, " Lon: " ++ ++ invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D ++ ++ move-result-wide v8 ++ ++ invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ :cond_264 ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_b ++ ++ :cond_269 ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const-string v4, "locationGPS" ++ ++ if-eqz v7, :cond_294 ++ ++ new-instance v5, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v5}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v8, "Lat: " ++ ++ invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D ++ ++ move-result-wide v8 ++ ++ invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ const-string v8, " Lon: " ++ ++ invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D ++ ++ move-result-wide v8 ++ ++ invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ :cond_294 ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto/16 :goto_b ++ ++ nop ++ ++ :pswitch_data_29a ++ .packed-switch 0x0 ++ :pswitch_2f ++ :pswitch_62 ++ :pswitch_6b ++ :pswitch_b5 ++ .end packed-switch ++ ++ :pswitch_data_2a6 ++ .packed-switch 0x0 ++ :pswitch_111 ++ :pswitch_145 ++ :pswitch_14f ++ :pswitch_199 ++ .end packed-switch ++.end method ++ ++.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider; ++ .registers 7 ++ ++ if-nez p1, :cond_7 ++ ++ invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider; ++ ++ move-result-object v0 ++ ++ :cond_6 ++ :goto_6 ++ return-object v0 ++ ++ :cond_7 ++ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v3 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v4 ++ ++ invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v1 ++ ++ const/4 v0, 0x0 ++ ++ if-eqz v1, :cond_5f ++ ++ const-string v2, "gps" ++ ++ invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_2f ++ ++ invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B ++ ++ move-result v2 ++ ++ packed-switch v2, :pswitch_data_64 ++ ++ :pswitch_29 ++ goto :goto_6 ++ ++ :pswitch_2a ++ invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider; ++ ++ move-result-object v0 ++ ++ goto :goto_6 ++ ++ :cond_2f ++ const-string/jumbo v2, "network" ++ ++ invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_45 ++ ++ invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B ++ ++ move-result v2 ++ ++ packed-switch v2, :pswitch_data_70 ++ ++ :pswitch_3f ++ goto :goto_6 ++ ++ :pswitch_40 ++ invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider; ++ ++ move-result-object v0 ++ ++ goto :goto_6 ++ ++ :cond_45 ++ const-string/jumbo v2, "passive" ++ ++ invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_6 ++ ++ invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_5a ++ ++ invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B ++ ++ move-result v2 ++ ++ if-nez v2, :cond_6 ++ ++ :cond_5a ++ invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider; ++ ++ move-result-object v0 ++ ++ goto :goto_6 ++ ++ :cond_5f ++ invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider; ++ ++ move-result-object v0 ++ ++ goto :goto_6 ++ ++ :pswitch_data_64 ++ .packed-switch 0x0 ++ :pswitch_2a ++ :pswitch_29 ++ :pswitch_2a ++ :pswitch_2a ++ .end packed-switch ++ ++ :pswitch_data_70 ++ .packed-switch 0x0 ++ :pswitch_40 ++ :pswitch_3f ++ :pswitch_40 ++ :pswitch_40 ++ .end packed-switch ++.end method ++ ++.method public isProviderEnabled(Ljava/lang/String;)Z ++ .registers 7 ++ ++ if-nez p1, :cond_7 ++ ++ invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z ++ ++ move-result v0 ++ ++ :cond_6 ++ :goto_6 ++ :pswitch_6 ++ return v0 ++ ++ :cond_7 ++ iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v3 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v4 ++ ++ invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v1 ++ ++ const/4 v0, 0x0 ++ ++ if-eqz v1, :cond_65 ++ ++ const-string v2, "gps" ++ ++ invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_31 ++ ++ invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B ++ ++ move-result v2 ++ ++ packed-switch v2, :pswitch_data_6a ++ ++ goto :goto_6 ++ ++ :pswitch_2a ++ invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z ++ ++ move-result v0 ++ ++ goto :goto_6 ++ ++ :pswitch_2f ++ const/4 v0, 0x1 ++ ++ goto :goto_6 ++ ++ :cond_31 ++ const-string/jumbo v2, "network" ++ ++ invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_49 ++ ++ invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B ++ ++ move-result v2 ++ ++ packed-switch v2, :pswitch_data_76 ++ ++ goto :goto_6 ++ ++ :pswitch_42 ++ invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z ++ ++ move-result v0 ++ ++ goto :goto_6 ++ ++ :pswitch_47 ++ const/4 v0, 0x1 ++ ++ goto :goto_6 ++ ++ :cond_49 ++ const-string/jumbo v2, "passive" ++ ++ invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_6 ++ ++ invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_5e ++ ++ invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B ++ ++ move-result v2 ++ ++ if-nez v2, :cond_63 ++ ++ :cond_5e ++ invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z ++ ++ move-result v0 ++ ++ goto :goto_6 ++ ++ :cond_63 ++ const/4 v0, 0x0 ++ ++ goto :goto_6 ++ ++ :cond_65 ++ invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z ++ ++ move-result v0 ++ ++ goto :goto_6 ++ ++ :pswitch_data_6a ++ .packed-switch 0x0 ++ :pswitch_2a ++ :pswitch_6 ++ :pswitch_2f ++ :pswitch_2f ++ .end packed-switch ++ ++ :pswitch_data_76 ++ .packed-switch 0x0 ++ :pswitch_42 ++ :pswitch_6 ++ :pswitch_47 ++ :pswitch_47 ++ .end packed-switch ++.end method ++ ++.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V ++ .registers 7 ++ ++ if-eqz p4, :cond_4 ++ ++ if-nez p5, :cond_8 ++ ++ :cond_4 ++ invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V ++ ++ :cond_7 ++ :goto_7 ++ return-void ++ ++ :cond_8 ++ const/4 v0, 0x0 ++ ++ invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z ++ ++ move-result v0 ++ ++ if-nez v0, :cond_7 ++ ++ invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V ++ ++ goto :goto_7 ++.end method ++ ++.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V ++ .registers 8 ++ ++ if-eqz p4, :cond_4 ++ ++ if-nez p5, :cond_8 ++ ++ :cond_4 ++ invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V ++ ++ :cond_7 ++ :goto_7 ++ return-void ++ ++ :cond_8 ++ const/4 v0, 0x0 ++ ++ invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z ++ ++ move-result v0 ++ ++ if-nez v0, :cond_7 ++ ++ invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V ++ ++ goto :goto_7 ++.end method ++ ++.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V ++ .registers 7 ++ ++ if-eqz p1, :cond_4 ++ ++ if-nez p5, :cond_8 ++ ++ :cond_4 ++ invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V ++ ++ :cond_7 ++ :goto_7 ++ return-void ++ ++ :cond_8 ++ const/4 v0, 0x0 ++ ++ invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z ++ ++ move-result v0 ++ ++ if-nez v0, :cond_7 ++ ++ invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V ++ ++ goto :goto_7 ++.end method ++ ++.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V ++ .registers 7 ++ ++ if-eqz p1, :cond_4 ++ ++ if-nez p5, :cond_8 ++ ++ :cond_4 ++ invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V ++ ++ :cond_7 ++ :goto_7 ++ return-void ++ ++ :cond_8 ++ const/4 v0, 0x0 ++ ++ invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z ++ ++ move-result v0 ++ ++ if-nez v0, :cond_7 ++ ++ invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V ++ ++ goto :goto_7 ++.end method ++ ++.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V ++ .registers 8 ++ ++ if-eqz p1, :cond_4 ++ ++ if-nez p5, :cond_8 ++ ++ :cond_4 ++ invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V ++ ++ :cond_7 ++ :goto_7 ++ return-void ++ ++ :cond_8 ++ const/4 v0, 0x0 ++ ++ invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z ++ ++ move-result v0 ++ ++ if-nez v0, :cond_7 ++ ++ invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V ++ ++ goto :goto_7 ++.end method ++ ++.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V ++ .registers 4 ++ ++ if-eqz p1, :cond_4 ++ ++ if-nez p2, :cond_8 ++ ++ :cond_4 ++ invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V ++ ++ :cond_7 ++ :goto_7 ++ return-void ++ ++ :cond_8 ++ const/4 v0, 0x0 ++ ++ invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z ++ ++ move-result v0 ++ ++ if-nez v0, :cond_7 ++ ++ invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V ++ ++ goto :goto_7 ++.end method ++ ++.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V ++ .registers 5 ++ ++ if-eqz p1, :cond_4 ++ ++ if-nez p2, :cond_8 ++ ++ :cond_4 ++ invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V ++ ++ :cond_7 ++ :goto_7 ++ return-void ++ ++ :cond_8 ++ const/4 v0, 0x0 ++ ++ invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z ++ ++ move-result v0 ++ ++ if-nez v0, :cond_7 ++ ++ invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V ++ ++ goto :goto_7 ++.end method ++ ++.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V ++ .registers 4 ++ ++ if-eqz p1, :cond_4 ++ ++ if-nez p2, :cond_8 ++ ++ :cond_4 ++ invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V ++ ++ :cond_7 ++ :goto_7 ++ return-void ++ ++ :cond_8 ++ const/4 v0, 0x0 ++ ++ invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z ++ ++ move-result v0 ++ ++ if-nez v0, :cond_7 ++ ++ invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V ++ ++ goto :goto_7 ++.end method ++ ++.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V ++ .registers 5 ++ ++ if-eqz p1, :cond_4 ++ ++ if-nez p2, :cond_8 ++ ++ :cond_4 ++ invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V ++ ++ :cond_7 ++ :goto_7 ++ return-void ++ ++ :cond_8 ++ const/4 v0, 0x0 ++ ++ invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z ++ ++ move-result v0 ++ ++ if-nez v0, :cond_7 ++ ++ invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V ++ ++ goto :goto_7 ++.end method +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali +--- stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 18:00:00.000000000 -0600 ++++ pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2012-08-06 13:25:00.039455203 -0500 +@@ -0,0 +1,731 @@ ++.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager; ++.super Landroid/telephony/TelephonyManager; ++.source "PrivacyTelephonyManager.java" ++ ++ ++# static fields ++.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager" ++ ++ ++# instance fields ++.field private context:Landroid/content/Context; ++ ++.field private pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ ++# direct methods ++.method public constructor (Landroid/content/Context;)V ++ .registers 4 ++ ++ invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;->(Landroid/content/Context;)V ++ ++ iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context; ++ ++ new-instance v0, Landroid/privacy/PrivacySettingsManager; ++ ++ const-string/jumbo v1, "privacy" ++ ++ invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder; ++ ++ move-result-object v1 ++ ++ invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager; ++ ++ move-result-object v1 ++ ++ invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;->(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V ++ ++ iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ return-void ++.end method ++ ++.method private getNetworkInfo()Ljava/lang/String; ++ .registers 8 ++ ++ const/4 v5, 0x0 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v6 ++ ++ if-eqz v6, :cond_25 ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_25 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v3, 0x1 ++ ++ const-string/jumbo v4, "networkInfoCurrent" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ const-string v5, "" ++ ++ :goto_24 ++ return-object v5 ++ ++ :cond_25 ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v3, 0x0 ++ ++ const-string/jumbo v4, "networkInfoCurrent" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_24 ++.end method ++ ++.method private getSimInfo()Ljava/lang/String; ++ .registers 8 ++ ++ const/4 v5, 0x0 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v6 ++ ++ if-eqz v6, :cond_25 ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_25 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v3, 0x1 ++ ++ const-string/jumbo v4, "networkInfoSIM" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ const-string v5, "" ++ ++ :goto_24 ++ return-object v5 ++ ++ :cond_25 ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v3, 0x0 ++ ++ const-string/jumbo v4, "networkInfoSIM" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_24 ++.end method ++ ++ ++# virtual methods ++.method public getDeviceId()Ljava/lang/String; ++ .registers 8 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v6 ++ ++ if-eqz v6, :cond_28 ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_28 ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B ++ ++ move-result v3 ++ ++ const-string v4, "deviceID" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ :goto_27 ++ return-object v5 ++ ++ :cond_28 ++ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v3, 0x0 ++ ++ const-string v4, "deviceID" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_27 ++.end method ++ ++.method public getLine1Number()Ljava/lang/String; ++ .registers 8 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v6 ++ ++ if-eqz v6, :cond_28 ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_28 ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B ++ ++ move-result v3 ++ ++ const-string v4, "line1Number" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ :goto_27 ++ return-object v5 ++ ++ :cond_28 ++ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v3, 0x0 ++ ++ const-string v4, "line1Number" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_27 ++.end method ++ ++.method public getNeighboringCellInfo()Ljava/util/List; ++ .registers 10 ++ .annotation system Ldalvik/annotation/Signature; ++ value = { ++ "()", ++ "Ljava/util/List", ++ "<", ++ "Landroid/telephony/NeighboringCellInfo;", ++ ">;" ++ } ++ .end annotation ++ ++ iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v7 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v8 ++ ++ invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v5 ++ ++ const/4 v3, 0x0 ++ ++ const-string v4, "[null]" ++ ++ if-eqz v5, :cond_1c ++ ++ invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B ++ ++ move-result v6 ++ ++ const/4 v7, 0x1 ++ ++ if-ne v6, v7, :cond_1d ++ ++ :cond_1c ++ :goto_1c ++ return-object v3 ++ ++ :cond_1d ++ invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B ++ ++ move-result v6 ++ ++ if-eqz v6, :cond_2b ++ ++ new-instance v3, Ljava/util/ArrayList; ++ ++ invoke-direct {v3}, Ljava/util/ArrayList;->()V ++ ++ const-string v4, "[empty list of cells]" ++ ++ goto :goto_1c ++ ++ :cond_2b ++ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List; ++ ++ move-result-object v3 ++ ++ const-string v0, "" ++ ++ invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator; ++ ++ move-result-object v2 ++ ++ :goto_35 ++ invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z ++ ++ move-result v6 ++ ++ if-eqz v6, :cond_5f ++ ++ invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object; ++ ++ move-result-object v1 ++ ++ check-cast v1, Landroid/telephony/NeighboringCellInfo; ++ ++ new-instance v6, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v6}, Ljava/lang/StringBuilder;->()V ++ ++ invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v6 ++ ++ const-string v7, "\t" ++ ++ invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v6 ++ ++ invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; ++ ++ move-result-object v6 ++ ++ const-string v7, "\n" ++ ++ invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v6 ++ ++ invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ goto :goto_35 ++ ++ :cond_5f ++ new-instance v6, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v6}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v7, "[real value]:\n" ++ ++ invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v6 ++ ++ invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v6 ++ ++ invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v4 ++ ++ goto :goto_1c ++.end method ++ ++.method public getNetworkCountryIso()Ljava/lang/String; ++ .registers 2 ++ ++ invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ if-nez v0, :cond_a ++ ++ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ :cond_a ++ return-object v0 ++.end method ++ ++.method public getNetworkOperator()Ljava/lang/String; ++ .registers 2 ++ ++ invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ if-nez v0, :cond_a ++ ++ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ :cond_a ++ return-object v0 ++.end method ++ ++.method public getNetworkOperatorName()Ljava/lang/String; ++ .registers 2 ++ ++ invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ if-nez v0, :cond_a ++ ++ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ :cond_a ++ return-object v0 ++.end method ++ ++.method public getSimCountryIso()Ljava/lang/String; ++ .registers 2 ++ ++ invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ if-nez v0, :cond_a ++ ++ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ :cond_a ++ return-object v0 ++.end method ++ ++.method public getSimOperator()Ljava/lang/String; ++ .registers 2 ++ ++ invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ if-nez v0, :cond_a ++ ++ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ :cond_a ++ return-object v0 ++.end method ++ ++.method public getSimOperatorName()Ljava/lang/String; ++ .registers 2 ++ ++ invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ if-nez v0, :cond_a ++ ++ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ :cond_a ++ return-object v0 ++.end method ++ ++.method public getSimSerialNumber()Ljava/lang/String; ++ .registers 8 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v6 ++ ++ if-eqz v6, :cond_29 ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_29 ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B ++ ++ move-result v3 ++ ++ const-string/jumbo v4, "simSerial" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ :goto_28 ++ return-object v5 ++ ++ :cond_29 ++ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v3, 0x0 ++ ++ const-string/jumbo v4, "simSerial" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_28 ++.end method ++ ++.method public getSubscriberId()Ljava/lang/String; ++ .registers 8 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v6 ++ ++ if-eqz v6, :cond_29 ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_29 ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B ++ ++ move-result v3 ++ ++ const-string/jumbo v4, "subscriberID" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ :goto_28 ++ return-object v5 ++ ++ :cond_29 ++ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v3, 0x0 ++ ++ const-string/jumbo v4, "subscriberID" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_28 ++.end method ++ ++.method public getVoiceMailNumber()Ljava/lang/String; ++ .registers 8 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v2 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v6 ++ ++ if-eqz v6, :cond_28 ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B ++ ++ move-result v0 ++ ++ if-eqz v0, :cond_28 ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B ++ ++ move-result v3 ++ ++ const-string v4, "line1Number" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ :goto_27 ++ return-object v5 ++ ++ :cond_28 ++ invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ const/4 v3, 0x0 ++ ++ const-string v4, "line1Number" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_27 ++.end method ++ ++.method public listen(Landroid/telephony/PhoneStateListener;I)V ++ .registers 4 ++ ++ and-int/lit8 v0, p2, 0x10 ++ ++ if-nez v0, :cond_8 ++ ++ and-int/lit8 v0, p2, 0x20 ++ ++ if-eqz v0, :cond_21 ++ ++ :cond_8 ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V ++ ++ iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context; ++ ++ invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; ++ ++ move-result-object v0 ++ ++ invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V ++ ++ invoke-static {}, Landroid/os/Binder;->getCallingUid()I ++ ++ move-result v0 ++ ++ invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setUid(I)V ++ ++ invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V ++ ++ :goto_20 ++ return-void ++ ++ :cond_21 ++ invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V ++ ++ goto :goto_20 ++.end method +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/telephony/PhoneStateListener$1.smali pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali +--- stock-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-08-06 13:25:44.999678148 -0500 ++++ pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-08-06 13:25:00.307456537 -0500 +@@ -64,23 +64,196 @@ + .end method + + .method public onCallStateChanged(ILjava/lang/String;)V +- .registers 6 ++ .registers 19 + +- iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; ++ move-object/from16 v0, p0 + +- iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler; ++ iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; + +- const/16 v1, 0x20 ++ #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context; ++ invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context; + +- const/4 v2, 0x0 ++ move-result-object v3 + +- invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message; ++ if-eqz v3, :cond_99 + +- move-result-object v0 ++ if-eqz p2, :cond_99 + +- invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V ++ invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z ++ ++ move-result v3 ++ ++ if-nez v3, :cond_99 ++ ++ move-object/from16 v0, p0 ++ ++ iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; ++ ++ #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context; ++ invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context; ++ ++ move-result-object v3 ++ ++ const-string/jumbo v4, "privacy" ++ ++ invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; ++ ++ move-result-object v2 ++ ++ check-cast v2, Landroid/privacy/PrivacySettingsManager; ++ ++ move-object/from16 v0, p0 ++ ++ iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; ++ ++ #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String; ++ invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String; ++ ++ move-result-object v3 ++ ++ move-object/from16 v0, p0 ++ ++ iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; ++ ++ #getter for: Landroid/telephony/PhoneStateListener;->uid:I ++ invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I ++ ++ move-result v4 ++ ++ invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v8 ++ ++ if-eqz v8, :cond_6a ++ ++ invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B ++ ++ move-result v3 ++ ++ if-eqz v3, :cond_6a ++ ++ const-string v7, "" ++ ++ move-object/from16 v0, p0 ++ ++ iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; ++ ++ iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler; ++ ++ const/16 v4, 0x20 ++ ++ const/4 v5, 0x0 ++ ++ move/from16 v0, p1 + ++ invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message; ++ ++ move-result-object v3 ++ ++ invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V ++ ++ move-object/from16 v0, p0 ++ ++ iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; ++ ++ #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String; ++ invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String; ++ ++ move-result-object v3 ++ ++ move-object/from16 v0, p0 ++ ++ iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; ++ ++ #getter for: Landroid/telephony/PhoneStateListener;->uid:I ++ invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I ++ ++ move-result v4 ++ ++ const/4 v5, 0x1 ++ ++ const-string v6, "incomingCall" ++ ++ invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ :goto_69 + return-void ++ ++ :cond_6a ++ move-object/from16 v0, p0 ++ ++ iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; ++ ++ iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler; ++ ++ const/16 v4, 0x20 ++ ++ const/4 v5, 0x0 ++ ++ move/from16 v0, p1 ++ ++ move-object/from16 v1, p2 ++ ++ invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message; ++ ++ move-result-object v3 ++ ++ invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V ++ ++ move-object/from16 v0, p0 ++ ++ iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; ++ ++ #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String; ++ invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String; ++ ++ move-result-object v10 ++ ++ move-object/from16 v0, p0 ++ ++ iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; ++ ++ #getter for: Landroid/telephony/PhoneStateListener;->uid:I ++ invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I ++ ++ move-result v11 ++ ++ const/4 v12, 0x0 ++ ++ const-string v13, "incomingCall" ++ ++ move-object v9, v2 ++ ++ move-object/from16 v14, p2 ++ ++ move-object v15, v8 ++ ++ invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_69 ++ ++ :cond_99 ++ move-object/from16 v0, p0 ++ ++ iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; ++ ++ iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler; ++ ++ const/16 v4, 0x20 ++ ++ const/4 v5, 0x0 ++ ++ move/from16 v0, p1 ++ ++ move-object/from16 v1, p2 ++ ++ invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message; ++ ++ move-result-object v3 ++ ++ invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V ++ ++ goto :goto_69 + .end method + + .method public onCellInfoChanged(Landroid/telephony/CellInfo;)V +@@ -104,27 +277,124 @@ + .end method + + .method public onCellLocationChanged(Landroid/os/Bundle;)V +- .registers 6 ++ .registers 10 ++ ++ const/4 v5, 0x0 + + const/4 v3, 0x0 + + invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation; + ++ move-result-object v7 ++ ++ iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; ++ ++ #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context; ++ invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context; ++ ++ move-result-object v1 ++ ++ if-eqz v1, :cond_4a ++ ++ iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; ++ ++ #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context; ++ invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context; ++ ++ move-result-object v1 ++ ++ const-string/jumbo v2, "privacy" ++ ++ invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; ++ + move-result-object v0 + ++ check-cast v0, Landroid/privacy/PrivacySettingsManager; ++ ++ iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; ++ ++ #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String; ++ invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; ++ ++ #getter for: Landroid/telephony/PhoneStateListener;->uid:I ++ invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I ++ ++ move-result v2 ++ ++ invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v6 ++ ++ if-eqz v6, :cond_4b ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B ++ ++ move-result v1 ++ ++ if-eqz v1, :cond_4b ++ ++ iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; ++ ++ #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String; ++ invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; ++ ++ #getter for: Landroid/telephony/PhoneStateListener;->uid:I ++ invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I ++ ++ move-result v2 ++ ++ invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B ++ ++ move-result v3 ++ ++ const-string v4, "locationNetwork" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ :cond_4a ++ :goto_4a ++ return-void ++ ++ :cond_4b + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; + + iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler; + + const/16 v2, 0x10 + +- invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message; ++ invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message; + + move-result-object v1 + + invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V + +- return-void ++ iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; ++ ++ #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String; ++ invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener; ++ ++ #getter for: Landroid/telephony/PhoneStateListener;->uid:I ++ invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I ++ ++ move-result v2 ++ ++ const-string v4, "locationNetwork" ++ ++ invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V ++ ++ goto :goto_4a + .end method + + .method public onDataActivity(I)V +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/telephony/PhoneStateListener.smali pdroid-framework/smali/android/telephony/PhoneStateListener.smali +--- stock-framework/smali/android/telephony/PhoneStateListener.smali 2012-08-06 13:25:44.043673412 -0500 ++++ pdroid-framework/smali/android/telephony/PhoneStateListener.smali 2012-08-06 13:24:59.327451671 -0500 +@@ -31,12 +31,20 @@ + + .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100 + ++.field private static final TAG:Ljava/lang/String; = "PhoneStateListener" ++ + + # instance fields + .field callback:Lcom/android/internal/telephony/IPhoneStateListener; + ++.field private context:Landroid/content/Context; ++ + .field mHandler:Landroid/os/Handler; + ++.field private packageName:Ljava/lang/String; ++ ++.field private uid:I ++ + + # direct methods + .method public constructor ()V +@@ -59,6 +67,30 @@ + return-void + .end method + ++.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context; ++ .registers 2 ++ ++ iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context; ++ ++ return-object v0 ++.end method ++ ++.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String; ++ .registers 2 ++ ++ iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String; ++ ++ return-object v0 ++.end method ++ ++.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I ++ .registers 2 ++ ++ iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I ++ ++ return v0 ++.end method ++ + + # virtual methods + .method public onCallForwardingIndicatorChanged(Z)V +@@ -134,3 +166,27 @@ + + return-void + .end method ++ ++.method public setContext(Landroid/content/Context;)V ++ .registers 2 ++ ++ iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context; ++ ++ return-void ++.end method ++ ++.method public setPackageName(Ljava/lang/String;)V ++ .registers 2 ++ ++ iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String; ++ ++ return-void ++.end method ++ ++.method public setUid(I)V ++ .registers 2 ++ ++ iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I ++ ++ return-void ++.end method +diff -Npru '--exclude=*RIL.smali' stock-framework/smali/android/widget/AppSecurityPermissions.smali pdroid-framework/smali/android/widget/AppSecurityPermissions.smali +--- stock-framework/smali/android/widget/AppSecurityPermissions.smali 2012-08-06 13:25:45.591681088 -0500 ++++ pdroid-framework/smali/android/widget/AppSecurityPermissions.smali 2012-08-06 13:25:00.907459512 -0500 +@@ -1883,7 +1883,7 @@ + + iget-boolean v0, p0, Landroid/widget/AppSecurityPermissions;->localLOGV:Z + +- if-eqz v0, :cond_1e ++ if-eqz v0, :cond_1f + + const-string v0, "AppSecurityPermissions" + +@@ -1891,7 +1891,7 @@ + + invoke-direct {v1}, Ljava/lang/StringBuilder;->()V + +- const-string v2, "mExpanded=" ++ const-string/jumbo v2, "mExpanded=" + + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + +@@ -1909,22 +1909,22 @@ + + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I + +- :cond_1e ++ :cond_1f + iget-boolean v0, p0, Landroid/widget/AppSecurityPermissions;->mExpanded:Z + +- if-nez v0, :cond_29 ++ if-nez v0, :cond_2a + + const/4 v0, 0x1 + +- :goto_23 ++ :goto_24 + iput-boolean v0, p0, Landroid/widget/AppSecurityPermissions;->mExpanded:Z + + invoke-direct {p0}, Landroid/widget/AppSecurityPermissions;->showPermissions()V + + return-void + +- :cond_29 ++ :cond_2a + const/4 v0, 0x0 + +- goto :goto_23 ++ goto :goto_24 + .end method diff --git a/patches/pdroid/cm10/20121010/services.patch b/patches/pdroid/cm10/20121010/services.patch index 183e3a7..a403504 100644 --- a/patches/pdroid/cm10/20121010/services.patch +++ b/patches/pdroid/cm10/20121010/services.patch @@ -1,256 +1,18 @@ -diff -Npru stock-services/smali/com/android/server/am/ActivityManagerService.smali pdroid-services/smali/com/android/server/am/ActivityManagerService.smali ---- stock-services/smali/com/android/server/am/ActivityManagerService.smali 2012-10-12 12:27:14.513333942 -0500 -+++ pdroid-services/smali/com/android/server/am/ActivityManagerService.smali 2012-10-12 12:32:18.018838943 -0500 -@@ -41305,7 +41305,7 @@ - :try_start_16 - monitor-enter p0 - :try_end_17 -- .catchall {:try_start_16 .. :try_end_17} :catchall_3b -+ .catchall {:try_start_16 .. :try_end_17} :catchall_42 - - :try_start_17 - invoke-virtual {p0, p1}, Lcom/android/server/am/ActivityManagerService;->broadcastRecordForReceiverLocked(Landroid/os/IBinder;)Lcom/android/server/am/BroadcastRecord; -@@ -41333,40 +41333,46 @@ - :cond_28 - monitor-exit p0 - :try_end_29 -- .catchall {:try_start_17 .. :try_end_29} :catchall_38 -+ .catchall {:try_start_17 .. :try_end_29} :catchall_3f - -- if-eqz v7, :cond_31 -+ if-eqz v7, :cond_38 - - :try_start_2b - iget-object v0, v1, Lcom/android/server/am/BroadcastRecord;->queue:Lcom/android/server/am/BroadcastQueue; - -+ iget-object v2, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context; -+ -+ invoke-virtual {v0, v2}, Lcom/android/server/am/BroadcastQueue;->setContext(Landroid/content/Context;)V -+ -+ iget-object v0, v1, Lcom/android/server/am/BroadcastRecord;->queue:Lcom/android/server/am/BroadcastQueue; -+ - const/4 v2, 0x0 - - invoke-virtual {v0, v2}, Lcom/android/server/am/BroadcastQueue;->processNextBroadcast(Z)V - -- :cond_31 -+ :cond_38 - invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->trimApplications()V -- :try_end_34 -- .catchall {:try_start_2b .. :try_end_34} :catchall_3b -+ :try_end_3b -+ .catchall {:try_start_2b .. :try_end_3b} :catchall_42 - - invoke-static {v8, v9}, Landroid/os/Binder;->restoreCallingIdentity(J)V - - return-void - -- :catchall_38 -+ :catchall_3f - move-exception v0 - -- :try_start_39 -+ :try_start_40 - monitor-exit p0 -- :try_end_3a -- .catchall {:try_start_39 .. :try_end_3a} :catchall_38 -+ :try_end_41 -+ .catchall {:try_start_40 .. :try_end_41} :catchall_3f - -- :try_start_3a -+ :try_start_41 - throw v0 -- :try_end_3b -- .catchall {:try_start_3a .. :try_end_3b} :catchall_3b -+ :try_end_42 -+ .catchall {:try_start_41 .. :try_end_42} :catchall_42 - -- :catchall_3b -+ :catchall_42 - move-exception v0 - - invoke-static {v8, v9}, Landroid/os/Binder;->restoreCallingIdentity(J)V -@@ -59129,7 +59135,7 @@ - :try_start_5 - monitor-enter p0 - :try_end_6 -- .catchall {:try_start_5 .. :try_end_6} :catchall_61 -+ .catchall {:try_start_5 .. :try_end_6} :catchall_68 - - :try_start_6 - iget-object v0, p0, Lcom/android/server/am/ActivityManagerService;->mRegisteredReceivers:Ljava/util/HashMap; -@@ -59144,11 +59150,11 @@ - - check-cast v12, Lcom/android/server/am/ReceiverList; - -- if-eqz v12, :cond_54 -+ if-eqz v12, :cond_5b - - iget-object v0, v12, Lcom/android/server/am/ReceiverList;->curBroadcast:Lcom/android/server/am/BroadcastRecord; - -- if-eqz v0, :cond_35 -+ if-eqz v0, :cond_3c - - iget-object v11, v12, Lcom/android/server/am/ReceiverList;->curBroadcast:Lcom/android/server/am/BroadcastRecord; - -@@ -59172,20 +59178,26 @@ - - move-result v7 - -- if-eqz v7, :cond_35 -+ if-eqz v7, :cond_3c - - const/4 v8, 0x1 - - iget-object v0, v11, Lcom/android/server/am/BroadcastRecord;->queue:Lcom/android/server/am/BroadcastQueue; - -+ iget-object v1, p0, Lcom/android/server/am/ActivityManagerService;->mContext:Landroid/content/Context; -+ -+ invoke-virtual {v0, v1}, Lcom/android/server/am/BroadcastQueue;->setContext(Landroid/content/Context;)V -+ -+ iget-object v0, v11, Lcom/android/server/am/BroadcastRecord;->queue:Lcom/android/server/am/BroadcastQueue; -+ - const/4 v1, 0x0 - - invoke-virtual {v0, v1}, Lcom/android/server/am/BroadcastQueue;->processNextBroadcast(Z)V - -- :cond_35 -+ :cond_3c - iget-object v0, v12, Lcom/android/server/am/ReceiverList;->app:Lcom/android/server/am/ProcessRecord; - -- if-eqz v0, :cond_40 -+ if-eqz v0, :cond_47 - - iget-object v0, v12, Lcom/android/server/am/ReceiverList;->app:Lcom/android/server/am/ProcessRecord; - -@@ -59193,12 +59205,12 @@ - - invoke-virtual {v0, v12}, Ljava/util/HashSet;->remove(Ljava/lang/Object;)Z - -- :cond_40 -+ :cond_47 - invoke-virtual {p0, v12}, Lcom/android/server/am/ActivityManagerService;->removeReceiverLocked(Lcom/android/server/am/ReceiverList;)V - - iget-boolean v0, v12, Lcom/android/server/am/ReceiverList;->linkedToDeath:Z - -- if-eqz v0, :cond_54 -+ if-eqz v0, :cond_5b - - const/4 v0, 0x0 - -@@ -59214,37 +59226,37 @@ - - invoke-interface {v0, v12, v1}, Landroid/os/IBinder;->unlinkToDeath(Landroid/os/IBinder$DeathRecipient;I)Z - -- :cond_54 -+ :cond_5b - monitor-exit p0 -- :try_end_55 -- .catchall {:try_start_6 .. :try_end_55} :catchall_5e -+ :try_end_5c -+ .catchall {:try_start_6 .. :try_end_5c} :catchall_65 - -- if-eqz v8, :cond_5a -+ if-eqz v8, :cond_61 - -- :try_start_57 -+ :try_start_5e - invoke-virtual {p0}, Lcom/android/server/am/ActivityManagerService;->trimApplications()V -- :try_end_5a -- .catchall {:try_start_57 .. :try_end_5a} :catchall_61 -+ :try_end_61 -+ .catchall {:try_start_5e .. :try_end_61} :catchall_68 - -- :cond_5a -+ :cond_61 - invoke-static {v9, v10}, Landroid/os/Binder;->restoreCallingIdentity(J)V - - return-void - -- :catchall_5e -+ :catchall_65 - move-exception v0 - -- :try_start_5f -+ :try_start_66 - monitor-exit p0 -- :try_end_60 -- .catchall {:try_start_5f .. :try_end_60} :catchall_5e -+ :try_end_67 -+ .catchall {:try_start_66 .. :try_end_67} :catchall_65 - -- :try_start_60 -+ :try_start_67 - throw v0 -- :try_end_61 -- .catchall {:try_start_60 .. :try_end_61} :catchall_61 -+ :try_end_68 -+ .catchall {:try_start_67 .. :try_end_68} :catchall_68 - -- :catchall_61 -+ :catchall_68 - move-exception v0 - - invoke-static {v9, v10}, Landroid/os/Binder;->restoreCallingIdentity(J)V -diff -Npru stock-services/smali/com/android/server/am/BroadcastQueue.smali pdroid-services/smali/com/android/server/am/BroadcastQueue.smali +diff -Npru stock-services/smali/com/android/server/am/BroadcastQueue.smali ext-services/smali/com/android/server/am/BroadcastQueue.smali --- stock-services/smali/com/android/server/am/BroadcastQueue.smali 2012-10-12 12:27:14.565334205 -0500 -+++ pdroid-services/smali/com/android/server/am/BroadcastQueue.smali 2012-10-12 12:32:18.102839359 -0500 -@@ -34,6 +34,8 @@ - - .field mBroadcastsScheduled:Z - -+.field mContext:Landroid/content/Context; -+ - .field final mHandler:Landroid/os/Handler; - - .field final mOrderedBroadcasts:Ljava/util/ArrayList; -@@ -73,7 +75,9 @@ - - # direct methods - .method constructor (Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;J)V -- .registers 6 -+ .registers 7 -+ -+ const/4 v1, 0x0 - - invoke-direct {p0}, Ljava/lang/Object;->()V - -@@ -99,9 +103,7 @@ - - iput-boolean v0, p0, Lcom/android/server/am/BroadcastQueue;->mBroadcastsScheduled:Z - -- const/4 v0, 0x0 -- -- iput-object v0, p0, Lcom/android/server/am/BroadcastQueue;->mPendingBroadcast:Lcom/android/server/am/BroadcastRecord; -+ iput-object v1, p0, Lcom/android/server/am/BroadcastQueue;->mPendingBroadcast:Lcom/android/server/am/BroadcastRecord; - - new-instance v0, Lcom/android/server/am/BroadcastQueue$1; - -@@ -109,6 +111,8 @@ - - iput-object v0, p0, Lcom/android/server/am/BroadcastQueue;->mHandler:Landroid/os/Handler; - -+ iput-object v1, p0, Lcom/android/server/am/BroadcastQueue;->mContext:Landroid/content/Context; -+ - iput-object p1, p0, Lcom/android/server/am/BroadcastQueue;->mService:Lcom/android/server/am/ActivityManagerService; - - iput-object p2, p0, Lcom/android/server/am/BroadcastQueue;->mQueueName:Ljava/lang/String; -@@ -559,6 +563,122 @@ ++++ ext-services/smali/com/android/server/am/BroadcastQueue.smali 2012-10-12 14:19:32.590746280 -0500 +@@ -559,6 +559,118 @@ goto :goto_153 .end method +.method private enforcePrivacyPermission(Ljava/lang/Object;Lcom/android/server/am/BroadcastRecord;)V + .registers 10 + -+ iget-object v4, p0, Lcom/android/server/am/BroadcastQueue;->mContext:Landroid/content/Context; -+ -+ if-eqz v4, :cond_40 -+ -+ if-eqz p2, :cond_40 ++ if-eqz p2, :cond_3b + + iget-object v4, p2, Lcom/android/server/am/BroadcastRecord;->intent:Landroid/content/Intent; + -+ if-eqz v4, :cond_40 ++ if-eqz v4, :cond_3b + + iget-object v4, p2, Lcom/android/server/am/BroadcastRecord;->intent:Landroid/content/Intent; + @@ -258,16 +20,16 @@ diff -Npru stock-services/smali/com/android/server/am/BroadcastQueue.smali pdroi + + move-result-object v4 + -+ if-eqz v4, :cond_40 ++ if-eqz v4, :cond_3b + + const/4 v2, 0x0 + + const/4 v3, -0x1 + -+ :try_start_14 ++ :try_start_10 + instance-of v4, p1, Lcom/android/server/am/BroadcastFilter; + -+ if-eqz v4, :cond_41 ++ if-eqz v4, :cond_3c + + move-object v0, p1 + @@ -292,20 +54,20 @@ diff -Npru stock-services/smali/com/android/server/am/BroadcastQueue.smali pdroi + iget-object v4, v4, Lcom/android/server/am/ProcessRecord;->info:Landroid/content/pm/ApplicationInfo; + + iget v3, v4, Landroid/content/pm/ApplicationInfo;->uid:I -+ :try_end_2e -+ .catch Ljava/lang/Exception; {:try_start_14 .. :try_end_2e} :catch_58 ++ :try_end_2a ++ .catch Ljava/lang/Exception; {:try_start_10 .. :try_end_2a} :catch_53 + -+ :cond_2e -+ :goto_2e -+ if-eqz v2, :cond_40 ++ :cond_2a ++ :goto_2a ++ if-eqz v2, :cond_3b + + const/4 v4, -0x1 + -+ if-eq v3, v4, :cond_40 ++ if-eq v3, v4, :cond_3b + + iget-object v4, p2, Lcom/android/server/am/BroadcastRecord;->intent:Landroid/content/Intent; + -+ iget-object v5, p0, Lcom/android/server/am/BroadcastQueue;->mContext:Landroid/content/Context; ++ const/4 v5, 0x0 + + iget-object v6, p2, Lcom/android/server/am/BroadcastRecord;->receivers:Ljava/util/List; + @@ -315,15 +77,15 @@ diff -Npru stock-services/smali/com/android/server/am/BroadcastQueue.smali pdroi + + invoke-static {v2, v3, v4, v5, v6}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V + -+ :cond_40 -+ :goto_40 ++ :cond_3b ++ :goto_3b + return-void + -+ :cond_41 -+ :try_start_41 ++ :cond_3c ++ :try_start_3c + instance-of v4, p1, Landroid/content/pm/ResolveInfo; + -+ if-eqz v4, :cond_2e ++ if-eqz v4, :cond_2a + + move-object v0, p1 + @@ -344,3230 +106,7129 @@ diff -Npru stock-services/smali/com/android/server/am/BroadcastQueue.smali pdroi + iget-object v4, v4, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo; + + iget v3, v4, Landroid/content/pm/ApplicationInfo;->uid:I -+ :try_end_57 -+ .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_57} :catch_58 ++ :try_end_52 ++ .catch Ljava/lang/Exception; {:try_start_3c .. :try_end_52} :catch_53 + -+ goto :goto_2e ++ goto :goto_2a + -+ :catch_58 ++ :catch_53 + move-exception v1 + -+ goto :goto_40 ++ goto :goto_3b +.end method + .method private static performReceiveLocked(Lcom/android/server/am/ProcessRecord;Landroid/content/IIntentReceiver;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZ)V .registers 16 .annotation system Ldalvik/annotation/Throws; -@@ -2541,7 +2661,7 @@ - iput-object v3, v0, Lcom/android/server/am/BroadcastRecord;->resultTo:Landroid/content/IIntentReceiver; - :try_end_224 - .catchall {:try_start_1fd .. :try_end_224} :catchall_69 -- .catch Landroid/os/RemoteException; {:try_start_1fd .. :try_end_224} :catch_2b0 -+ .catch Landroid/os/RemoteException; {:try_start_1fd .. :try_end_224} :catch_2b9 +@@ -1931,15 +2043,15 @@ + .end method - :cond_224 - :goto_224 -@@ -2641,11 +2761,19 @@ + .method final processNextBroadcast(Z)V +- .registers 37 ++ .registers 38 - move-result-object v22 + move-object/from16 v0, p0 -+ move-object/from16 v0, p0 -+ -+ move-object/from16 v1, v22 -+ -+ move-object/from16 v2, v27 -+ -+ invoke-direct {v0, v1, v2}, Lcom/android/server/am/BroadcastQueue;->enforcePrivacyPermission(Ljava/lang/Object;Lcom/android/server/am/BroadcastRecord;)V -+ - move-object/from16 v0, v22 + iget-object v0, v0, Lcom/android/server/am/BroadcastQueue;->mService:Lcom/android/server/am/ActivityManagerService; - instance-of v3, v0, Lcom/android/server/am/BroadcastFilter; +- move-object/from16 v34, v0 ++ move-object/from16 v35, v0 -- if-eqz v3, :cond_2dd -+ if-eqz v3, :cond_2e6 +- monitor-enter v34 ++ monitor-enter v35 - move-object/from16 v0, v22 + :try_start_7 + move-object/from16 v0, p0 +@@ -1976,15 +2088,15 @@ -@@ -2667,15 +2795,15 @@ + invoke-virtual {v3, v5}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object; - iget-object v3, v0, Lcom/android/server/am/BroadcastRecord;->receiver:Landroid/os/IBinder; +- move-result-object v27 ++ move-result-object v28 -- if-eqz v3, :cond_2a5 -+ if-eqz v3, :cond_2ae +- check-cast v27, Lcom/android/server/am/BroadcastRecord; ++ check-cast v28, Lcom/android/server/am/BroadcastRecord; - move-object/from16 v0, v27 + invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J - iget-boolean v3, v0, Lcom/android/server/am/BroadcastRecord;->ordered:Z + move-result-wide v5 -- if-nez v3, :cond_2ad -+ if-nez v3, :cond_2b6 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- :cond_2a5 -+ :cond_2ae - const/4 v3, 0x0 + iput-wide v5, v0, Lcom/android/server/am/BroadcastRecord;->dispatchTime:J - move-object/from16 v0, v27 -@@ -2684,12 +2812,12 @@ +@@ -1992,11 +2104,11 @@ - invoke-virtual/range {p0 .. p0}, Lcom/android/server/am/BroadcastQueue;->scheduleBroadcastsLocked()V + move-result-wide v5 -- :cond_2ad -+ :cond_2b6 - monitor-exit v34 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - goto/16 :goto_93 + iput-wide v5, v0, Lcom/android/server/am/BroadcastRecord;->dispatchClockTime:J -- :catch_2b0 -+ :catch_2b9 - move-exception v14 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - const-string v3, "BroadcastQueue" -@@ -2734,7 +2862,7 @@ + iget-object v3, v0, Lcom/android/server/am/BroadcastRecord;->receivers:Ljava/util/List; - goto/16 :goto_224 +@@ -2004,43 +2116,43 @@ -- :cond_2dd -+ :cond_2e6 - move-object/from16 v0, v22 + move-result v12 - check-cast v0, Landroid/content/pm/ResolveInfo; -@@ -2779,7 +2907,7 @@ +- const/16 v17, 0x0 ++ const/16 v18, 0x0 - move-result v26 + :goto_44 +- move/from16 v0, v17 ++ move/from16 v0, v18 -- if-eqz v26, :cond_397 -+ if-eqz v26, :cond_3a0 + if-ge v0, v12, :cond_61 - move-object/from16 v0, v18 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -@@ -2787,7 +2915,7 @@ + iget-object v3, v0, Lcom/android/server/am/BroadcastRecord;->receivers:Ljava/util/List; - iget-boolean v3, v3, Landroid/content/pm/ActivityInfo;->exported:Z +- move/from16 v0, v17 ++ move/from16 v0, v18 -- if-nez v3, :cond_446 -+ if-nez v3, :cond_44f + invoke-interface {v3, v0}, Ljava/util/List;->get(I)Ljava/lang/Object; - const-string v3, "BroadcastQueue" +- move-result-object v30 ++ move-result-object v31 -@@ -2917,10 +3045,10 @@ +- check-cast v30, Lcom/android/server/am/BroadcastFilter; ++ check-cast v31, Lcom/android/server/am/BroadcastFilter; - invoke-static {v3, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I + const/4 v3, 0x0 -- :goto_395 -+ :goto_39e - const/16 v29, 0x1 + move-object/from16 v0, p0 -- :cond_397 -+ :cond_3a0 - move-object/from16 v0, v18 +- move-object/from16 v1, v27 ++ move-object/from16 v1, v28 - iget-object v3, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; -@@ -2931,17 +3059,17 @@ +- move-object/from16 v2, v30 ++ move-object/from16 v2, v31 - const/16 v5, 0x3e8 + invoke-direct {v0, v1, v2, v3}, Lcom/android/server/am/BroadcastQueue;->deliverToRegisteredReceiverLocked(Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastFilter;Z)V -- if-eq v3, v5, :cond_41f -+ if-eq v3, v5, :cond_428 +- add-int/lit8 v17, v17, 0x1 ++ add-int/lit8 v18, v18, 0x1 - move-object/from16 v0, v27 + goto :goto_44 - iget-object v3, v0, Lcom/android/server/am/BroadcastRecord;->requiredPermission:Ljava/lang/String; -- :try_end_3a7 -- .catchall {:try_start_224 .. :try_end_3a7} :catchall_69 -+ :try_end_3b0 -+ .catchall {:try_start_224 .. :try_end_3b0} :catchall_69 + :cond_61 + move-object/from16 v0, p0 -- if-eqz v3, :cond_41f -+ if-eqz v3, :cond_428 +- move-object/from16 v1, v27 ++ move-object/from16 v1, v28 -- :try_start_3a9 -+ :try_start_3b2 - invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager; + invoke-direct {v0, v1}, Lcom/android/server/am/BroadcastQueue;->addBroadcastToHistoryLocked(Lcom/android/server/am/BroadcastRecord;)V - move-result-object v3 -@@ -2959,16 +3087,16 @@ - iget-object v6, v6, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String; +@@ -2049,7 +2161,7 @@ + :catchall_69 + move-exception v3 - invoke-interface {v3, v5, v6}, Landroid/content/pm/IPackageManager;->checkPermission(Ljava/lang/String;Ljava/lang/String;)I -- :try_end_3bc -- .catchall {:try_start_3a9 .. :try_end_3bc} :catchall_69 -- .catch Landroid/os/RemoteException; {:try_start_3a9 .. :try_end_3bc} :catch_4c8 -+ :try_end_3c5 -+ .catchall {:try_start_3b2 .. :try_end_3c5} :catchall_69 -+ .catch Landroid/os/RemoteException; {:try_start_3b2 .. :try_end_3c5} :catch_4d1 +- monitor-exit v34 ++ monitor-exit v35 + :try_end_6b + .catchall {:try_start_7 .. :try_end_6b} :catchall_69 - move-result v26 +@@ -2094,17 +2206,17 @@ -- :goto_3bd -- if-eqz v26, :cond_41f -+ :goto_3c6 -+ if-eqz v26, :cond_428 + if-nez v3, :cond_94 -- :try_start_3bf -+ :try_start_3c8 - const-string v3, "BroadcastQueue" +- const/16 v19, 0x1 ++ const/16 v20, 0x1 - new-instance v5, Ljava/lang/StringBuilder; -@@ -3063,12 +3191,12 @@ + :goto_8f + monitor-exit v5 + :try_end_90 + .catchall {:try_start_79 .. :try_end_90} :catchall_97 - const/16 v29, 0x1 +- if-nez v19, :cond_9a ++ if-nez v20, :cond_9a -- :cond_41f -+ :cond_428 - move-object/from16 v0, v27 + :try_start_92 +- monitor-exit v34 ++ monitor-exit v35 + :try_end_93 + .catchall {:try_start_92 .. :try_end_93} :catchall_69 - iget-object v3, v0, Lcom/android/server/am/BroadcastRecord;->curApp:Lcom/android/server/am/ProcessRecord; +@@ -2112,7 +2224,7 @@ + return-void -- if-eqz v3, :cond_42f -+ if-eqz v3, :cond_438 + :cond_94 +- const/16 v19, 0x0 ++ const/16 v20, 0x0 - move-object/from16 v0, v27 + goto :goto_8f -@@ -3076,12 +3204,12 @@ +@@ -2201,7 +2313,7 @@ + iput-object v3, v0, Lcom/android/server/am/BroadcastQueue;->mPendingBroadcast:Lcom/android/server/am/BroadcastRecord; - iget-boolean v3, v3, Lcom/android/server/am/ProcessRecord;->crashing:Z + :cond_e2 +- const/16 v21, 0x0 ++ const/16 v22, 0x0 -- if-eqz v3, :cond_42f -+ if-eqz v3, :cond_438 + :cond_e4 + move-object/from16 v0, p0 +@@ -2220,7 +2332,7 @@ - const/16 v29, 0x1 + invoke-virtual {v3}, Lcom/android/server/am/ActivityManagerService;->scheduleAppGcsLocked()V -- :cond_42f -- if-eqz v29, :cond_4cd -+ :cond_438 -+ if-eqz v29, :cond_4d6 +- if-eqz v21, :cond_fe ++ if-eqz v22, :cond_fe - const/4 v3, 0x0 + move-object/from16 v0, p0 -@@ -3107,7 +3235,7 @@ +@@ -2229,7 +2341,7 @@ + invoke-virtual {v3}, Lcom/android/server/am/ActivityManagerService;->updateOomAdjLocked()V - goto/16 :goto_93 + :cond_fe +- monitor-exit v34 ++ monitor-exit v35 -- :cond_446 -+ :cond_44f - const-string v3, "BroadcastQueue" + goto :goto_93 - new-instance v5, Ljava/lang/StringBuilder; -@@ -3234,16 +3362,16 @@ +@@ -2242,25 +2354,25 @@ - invoke-static {v3, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I + invoke-virtual {v3, v5}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; -- goto/16 :goto_395 -+ goto/16 :goto_39e +- move-result-object v27 ++ move-result-object v28 -- :catch_4c8 -+ :catch_4d1 - move-exception v14 +- check-cast v27, Lcom/android/server/am/BroadcastRecord; ++ check-cast v28, Lcom/android/server/am/BroadcastRecord; - const/16 v26, -0x1 +- const/16 v16, 0x0 ++ const/16 v17, 0x0 -- goto/16 :goto_3bd -+ goto/16 :goto_3c6 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- :cond_4cd -+ :cond_4d6 - const/4 v3, 0x1 + iget-object v3, v0, Lcom/android/server/am/BroadcastRecord;->receivers:Ljava/util/List; - move-object/from16 v0, v27 -@@ -3284,7 +3412,7 @@ + if-eqz v3, :cond_1dd - const/16 v5, 0x3e8 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- if-eq v3, v5, :cond_521 -+ if-eq v3, v5, :cond_52a + iget-object v3, v0, Lcom/android/server/am/BroadcastRecord;->receivers:Ljava/util/List; + + invoke-interface {v3}, Ljava/util/List;->size()I + +- move-result v25 ++ move-result v26 + :goto_11b move-object/from16 v0, p0 +@@ -2271,7 +2383,7 @@ -@@ -3306,11 +3434,11 @@ + if-eqz v3, :cond_1d4 - move-result v20 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- if-eqz v20, :cond_56a -+ if-eqz v20, :cond_573 + iget-wide v5, v0, Lcom/android/server/am/BroadcastRecord;->dispatchTime:J - const/16 v31, 0x0 +@@ -2283,11 +2395,11 @@ -- :goto_50f -+ :goto_518 - move-object/from16 v0, p0 + invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J - iget-object v3, v0, Lcom/android/server/am/BroadcastQueue;->mService:Lcom/android/server/am/ActivityManagerService; -@@ -3329,7 +3457,7 @@ +- move-result-wide v23 ++ move-result-wide v24 - iput-object v3, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; +- if-lez v25, :cond_1d4 ++ if-lez v26, :cond_1d4 -- :cond_521 -+ :cond_52a - move-object/from16 v0, v18 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - iget-object v3, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; -@@ -3337,10 +3465,10 @@ - move-object/from16 v0, v27 + iget-wide v5, v0, Lcom/android/server/am/BroadcastRecord;->dispatchTime:J - iput-object v3, v0, Lcom/android/server/am/BroadcastRecord;->curReceiver:Landroid/content/pm/ActivityInfo; -- :try_end_529 -- .catchall {:try_start_3bf .. :try_end_529} :catchall_69 -+ :try_end_532 -+ .catchall {:try_start_3c8 .. :try_end_532} :catchall_69 +@@ -2299,7 +2411,7 @@ -- :try_start_529 -+ :try_start_532 - invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager; + mul-long/2addr v7, v9 - move-result-object v3 -@@ -3364,13 +3492,13 @@ - move-result v7 +- move/from16 v0, v25 ++ move/from16 v0, v26 - invoke-interface {v3, v5, v6, v7}, Landroid/content/pm/IPackageManager;->setPackageStoppedState(Ljava/lang/String;ZI)V -- :try_end_541 -- .catchall {:try_start_529 .. :try_end_541} :catchall_69 -- .catch Landroid/os/RemoteException; {:try_start_529 .. :try_end_541} :catch_671 -- .catch Ljava/lang/IllegalArgumentException; {:try_start_529 .. :try_end_541} :catch_573 -+ :try_end_54a -+ .catchall {:try_start_532 .. :try_end_54a} :catchall_69 -+ .catch Landroid/os/RemoteException; {:try_start_532 .. :try_end_54a} :catch_67a -+ .catch Ljava/lang/IllegalArgumentException; {:try_start_532 .. :try_end_54a} :catch_57c + int-to-long v9, v0 -- :goto_541 -- :try_start_541 -+ :goto_54a -+ :try_start_54a - move-object/from16 v0, p0 +@@ -2307,7 +2419,7 @@ - iget-object v3, v0, Lcom/android/server/am/BroadcastQueue;->mService:Lcom/android/server/am/ActivityManagerService; -@@ -3387,15 +3515,15 @@ + add-long/2addr v5, v7 - move-result-object v13 +- cmp-long v3, v23, v5 ++ cmp-long v3, v24, v5 -- if-eqz v13, :cond_5bc -+ if-eqz v13, :cond_5c5 + if-lez v3, :cond_1d4 - iget-object v3, v13, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread; -- :try_end_555 -- .catchall {:try_start_541 .. :try_end_555} :catchall_69 -+ :try_end_55e -+ .catchall {:try_start_54a .. :try_end_55e} :catchall_69 +@@ -2343,7 +2455,7 @@ -- if-eqz v3, :cond_5bc -+ if-eqz v3, :cond_5c5 + move-result-object v5 -- :try_start_557 -+ :try_start_560 - move-object/from16 v0, v18 +- move-wide/from16 v0, v23 ++ move-wide/from16 v0, v24 - iget-object v3, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; -@@ -3409,16 +3537,16 @@ - move-object/from16 v1, v27 + invoke-virtual {v5, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; - invoke-direct {v0, v1, v13}, Lcom/android/server/am/BroadcastQueue;->processCurBroadcastLocked(Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/ProcessRecord;)V -- :try_end_567 -- .catchall {:try_start_557 .. :try_end_567} :catchall_69 -- .catch Landroid/os/RemoteException; {:try_start_557 .. :try_end_567} :catch_59f -+ :try_end_570 -+ .catchall {:try_start_560 .. :try_end_570} :catchall_69 -+ .catch Landroid/os/RemoteException; {:try_start_560 .. :try_end_570} :catch_5a8 +@@ -2355,7 +2467,7 @@ -- :try_start_567 -+ :try_start_570 - monitor-exit v34 + move-result-object v5 - goto/16 :goto_93 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- :cond_56a -+ :cond_573 - move-object/from16 v0, v27 + iget-wide v6, v0, Lcom/android/server/am/BroadcastRecord;->dispatchTime:J - iget v3, v0, Lcom/android/server/am/BroadcastRecord;->callingUid:I -@@ -3427,9 +3555,9 @@ +@@ -2369,7 +2481,7 @@ - move-result v31 + move-result-object v5 -- goto :goto_50f -+ goto :goto_518 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- :catch_573 -+ :catch_57c - move-exception v14 + iget-wide v6, v0, Lcom/android/server/am/BroadcastRecord;->receiverTime:J - const-string v3, "BroadcastQueue" -@@ -3472,9 +3600,9 @@ +@@ -2383,7 +2495,7 @@ - invoke-static {v3, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I + move-result-object v5 -- goto :goto_541 -+ goto :goto_54a +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- :catch_59f -+ :catch_5a8 - move-exception v14 + iget-object v6, v0, Lcom/android/server/am/BroadcastRecord;->intent:Landroid/content/Intent; - const-string v3, "BroadcastQueue" -@@ -3503,7 +3631,7 @@ +@@ -2397,7 +2509,7 @@ - invoke-static {v3, v5, v14}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + move-result-object v5 -- :cond_5bc -+ :cond_5c5 - move-object/from16 v0, p0 +- move/from16 v0, v25 ++ move/from16 v0, v26 - iget-object v3, v0, Lcom/android/server/am/BroadcastQueue;->mService:Lcom/android/server/am/ActivityManagerService; -@@ -3544,11 +3672,11 @@ + invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; - and-int/2addr v10, v11 +@@ -2409,7 +2521,7 @@ -- if-eqz v10, :cond_660 -+ if-eqz v10, :cond_669 + move-result-object v5 - const/4 v10, 0x1 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- :goto_5e5 -+ :goto_5ee - const/4 v11, 0x0 + iget v6, v0, Lcom/android/server/am/BroadcastRecord;->nextReceiver:I - invoke-virtual/range {v3 .. v11}, Lcom/android/server/am/ActivityManagerService;->startProcessLocked(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;ZILjava/lang/String;Landroid/content/ComponentName;ZZ)Lcom/android/server/am/ProcessRecord; -@@ -3559,7 +3687,7 @@ +@@ -2423,7 +2535,7 @@ - iput-object v3, v0, Lcom/android/server/am/BroadcastRecord;->curApp:Lcom/android/server/am/ProcessRecord; + move-result-object v5 -- if-nez v3, :cond_662 -+ if-nez v3, :cond_66b +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - const-string v3, "BroadcastQueue" + iget v6, v0, Lcom/android/server/am/BroadcastRecord;->state:I -@@ -3671,12 +3799,12 @@ +@@ -2443,55 +2555,55 @@ - goto/16 :goto_93 + invoke-virtual {v0, v3}, Lcom/android/server/am/BroadcastQueue;->broadcastTimeoutLocked(Z)V -- :cond_660 -+ :cond_669 - const/4 v10, 0x0 +- const/16 v16, 0x1 ++ const/16 v17, 0x1 -- goto :goto_5e5 -+ goto :goto_5ee + const/4 v3, 0x0 -- :cond_662 -+ :cond_66b - move-object/from16 v0, v27 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - move-object/from16 v1, p0 -@@ -3690,15 +3818,15 @@ - iput v0, v1, Lcom/android/server/am/BroadcastQueue;->mPendingBroadcastRecvIndex:I + iput v3, v0, Lcom/android/server/am/BroadcastRecord;->state:I - monitor-exit v34 -- :try_end_66f -- .catchall {:try_start_567 .. :try_end_66f} :catchall_69 -+ :try_end_678 -+ .catchall {:try_start_570 .. :try_end_678} :catchall_69 + :cond_1d4 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - goto/16 :goto_93 + iget v3, v0, Lcom/android/server/am/BroadcastRecord;->state:I -- :catch_671 -+ :catch_67a - move-exception v3 + if-eqz v3, :cond_1e1 -- goto/16 :goto_541 -+ goto/16 :goto_54a - .end method +- monitor-exit v34 ++ monitor-exit v35 - .method public final replaceOrderedBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)Z -@@ -3957,6 +4085,14 @@ - return-void - .end method + goto/16 :goto_93 -+.method public setContext(Landroid/content/Context;)V -+ .registers 2 -+ -+ iput-object p1, p0, Lcom/android/server/am/BroadcastQueue;->mContext:Landroid/content/Context; -+ -+ return-void -+.end method -+ - .method public skipCurrentReceiverLocked(Lcom/android/server/am/ProcessRecord;)V - .registers 10 + :cond_1dd +- const/16 v25, 0x0 ++ const/16 v26, 0x0 -diff -Npru stock-services/smali/com/android/server/ServerThread.smali pdroid-services/smali/com/android/server/ServerThread.smali ---- stock-services/smali/com/android/server/ServerThread.smali 2012-10-12 12:27:13.801330417 -0500 -+++ pdroid-services/smali/com/android/server/ServerThread.smali 2012-10-12 12:32:17.202834893 -0500 -@@ -32,6 +32,41 @@ - return-void - .end method + goto/16 :goto_11b -+.method private addPrivacyService(Landroid/content/Context;)V -+ .registers 5 -+ -+ :try_start_0 -+ const-string v1, "SystemServer" -+ -+ const-string v2, "Privacy Service" -+ -+ invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I -+ -+ const-string v1, "privacy" -+ -+ new-instance v2, Landroid/privacy/PrivacySettingsManagerService; -+ -+ invoke-direct {v2, p1}, Landroid/privacy/PrivacySettingsManagerService;->(Landroid/content/Context;)V -+ -+ invoke-static {v1, v2}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -+ :try_end_11 -+ .catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_11} :catch_12 -+ -+ :goto_11 -+ return-void -+ -+ :catch_12 -+ move-exception v0 -+ -+ const-string v1, "SystemServer" -+ -+ const-string v2, "Failure starting Privacy Service" -+ -+ invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -+ -+ goto :goto_11 -+.end method -+ - .method static final startSystemUi(Landroid/content/Context;)V - .registers 5 + :cond_1e1 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -@@ -163,7 +198,7 @@ + iget-object v3, v0, Lcom/android/server/am/BroadcastRecord;->receivers:Ljava/util/List; - const/16 v9, 0x31 + if-eqz v3, :cond_1f7 -- if-ne v3, v9, :cond_71d -+ if-ne v3, v9, :cond_722 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - const/16 v98, 0x1 + iget v3, v0, Lcom/android/server/am/BroadcastRecord;->nextReceiver:I -@@ -174,7 +209,7 @@ +- move/from16 v0, v25 ++ move/from16 v0, v26 - const/4 v9, 0x1 + if-ge v3, v0, :cond_1f7 -- if-le v3, v9, :cond_721 -+ if-le v3, v9, :cond_726 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - const/4 v3, 0x1 + iget-boolean v3, v0, Lcom/android/server/am/BroadcastRecord;->resultAbort:Z -@@ -210,7 +245,7 @@ + if-nez v3, :cond_1f7 - move-result v3 +- if-eqz v16, :cond_23a ++ if-eqz v17, :cond_23a -- if-eqz v3, :cond_725 -+ if-eqz v3, :cond_72a + :cond_1f7 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - const/16 v69, 0x0 + iget-object v3, v0, Lcom/android/server/am/BroadcastRecord;->resultTo:Landroid/content/IIntentReceiver; + :try_end_1fb +@@ -2500,31 +2612,31 @@ + if-eqz v3, :cond_224 -@@ -312,7 +347,7 @@ + :try_start_1fd +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - invoke-direct {v6}, Lcom/android/server/PowerManagerService;->()V - :try_end_c2 -- .catch Ljava/lang/RuntimeException; {:try_start_a5 .. :try_end_c2} :catch_abf -+ .catch Ljava/lang/RuntimeException; {:try_start_a5 .. :try_end_c2} :catch_ac4 + iget-object v3, v0, Lcom/android/server/am/BroadcastRecord;->callerApp:Lcom/android/server/am/ProcessRecord; - :try_start_c2 - const-string v3, "power" -@@ -381,7 +416,7 @@ +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - move-result v3 + iget-object v4, v0, Lcom/android/server/am/BroadcastRecord;->resultTo:Landroid/content/IIntentReceiver; -- if-eqz v3, :cond_72b -+ if-eqz v3, :cond_730 + new-instance v5, Landroid/content/Intent; - const-string v3, "SystemServer" +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -@@ -393,7 +428,7 @@ + iget-object v6, v0, Lcom/android/server/am/BroadcastRecord;->intent:Landroid/content/Intent; - :cond_119 - :goto_119 -- if-eqz v69, :cond_740 -+ if-eqz v69, :cond_745 + invoke-direct {v5, v6}, Landroid/content/Intent;->(Landroid/content/Intent;)V - const/4 v3, 0x1 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -@@ -402,7 +437,7 @@ + iget v6, v0, Lcom/android/server/am/BroadcastRecord;->resultCode:I - invoke-static {v4, v3, v0}, Lcom/android/server/pm/PackageManagerService;->main(Landroid/content/Context;ZZ)Landroid/content/pm/IPackageManager; - :try_end_121 -- .catch Ljava/lang/RuntimeException; {:try_start_c2 .. :try_end_121} :catch_74f -+ .catch Ljava/lang/RuntimeException; {:try_start_c2 .. :try_end_121} :catch_754 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - move-result-object v93 + iget-object v7, v0, Lcom/android/server/am/BroadcastRecord;->resultData:Ljava/lang/String; -@@ -411,8 +446,8 @@ - :try_start_124 - invoke-interface/range {v93 .. v93}, Landroid/content/pm/IPackageManager;->isFirstBoot()Z - :try_end_127 -- .catch Landroid/os/RemoteException; {:try_start_124 .. :try_end_127} :catch_a4e -- .catch Ljava/lang/RuntimeException; {:try_start_124 .. :try_end_127} :catch_74f -+ .catch Landroid/os/RemoteException; {:try_start_124 .. :try_end_127} :catch_a53 -+ .catch Ljava/lang/RuntimeException; {:try_start_124 .. :try_end_127} :catch_754 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - move-result v72 + iget-object v8, v0, Lcom/android/server/am/BroadcastRecord;->resultExtras:Landroid/os/Bundle; -@@ -428,7 +463,7 @@ +@@ -2536,12 +2648,12 @@ - iput-object v3, v0, Lcom/android/server/ServerThread;->mContentResolver:Landroid/content/ContentResolver; - :try_end_133 -- .catch Ljava/lang/RuntimeException; {:try_start_128 .. :try_end_133} :catch_74f -+ .catch Ljava/lang/RuntimeException; {:try_start_128 .. :try_end_133} :catch_754 + const/4 v3, 0x0 - :try_start_133 - const-string v3, "SystemServer" -@@ -443,8 +478,8 @@ +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - invoke-direct {v0, v4}, Landroid/accounts/AccountManagerService;->(Landroid/content/Context;)V - :try_end_141 -- .catch Ljava/lang/Throwable; {:try_start_133 .. :try_end_141} :catch_743 -- .catch Ljava/lang/RuntimeException; {:try_start_133 .. :try_end_141} :catch_74f -+ .catch Ljava/lang/Throwable; {:try_start_133 .. :try_end_141} :catch_748 -+ .catch Ljava/lang/RuntimeException; {:try_start_133 .. :try_end_141} :catch_754 + iput-object v3, v0, Lcom/android/server/am/BroadcastRecord;->resultTo:Landroid/content/IIntentReceiver; + :try_end_224 + .catchall {:try_start_1fd .. :try_end_224} :catchall_69 +- .catch Landroid/os/RemoteException; {:try_start_1fd .. :try_end_224} :catch_2b0 ++ .catch Landroid/os/RemoteException; {:try_start_1fd .. :try_end_224} :catch_2e2 - :try_start_141 - const-string v3, "account" -@@ -453,8 +488,8 @@ + :cond_224 + :goto_224 +@@ -2550,7 +2662,7 @@ - invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V - :try_end_148 -- .catch Ljava/lang/Throwable; {:try_start_141 .. :try_end_148} :catch_afe -- .catch Ljava/lang/RuntimeException; {:try_start_141 .. :try_end_148} :catch_ac8 -+ .catch Ljava/lang/Throwable; {:try_start_141 .. :try_end_148} :catch_b03 -+ .catch Ljava/lang/RuntimeException; {:try_start_141 .. :try_end_148} :catch_acd + move-object/from16 v0, p0 - move-object/from16 v42, v43 +- move-object/from16 v1, v27 ++ move-object/from16 v1, v28 -@@ -470,7 +505,7 @@ + invoke-direct {v0, v1}, Lcom/android/server/am/BroadcastQueue;->addBroadcastToHistoryLocked(Lcom/android/server/am/BroadcastRecord;)V - move/from16 v0, v69 +@@ -2562,22 +2674,22 @@ -- if-ne v0, v3, :cond_766 -+ if-ne v0, v3, :cond_76b + invoke-virtual {v3, v5}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object; - const/4 v3, 0x1 +- const/16 v27, 0x0 ++ const/16 v28, 0x0 -@@ -479,6 +514,10 @@ +- const/16 v21, 0x1 ++ const/16 v22, 0x1 - move-result-object v58 + :cond_23a +- if-eqz v27, :cond_e4 ++ if-eqz v28, :cond_e4 -+ move-object/from16 v0, p0 -+ -+ invoke-direct {v0, v4}, Lcom/android/server/ServerThread;->addPrivacyService(Landroid/content/Context;)V -+ - const-string v3, "SystemServer" +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - const-string v9, "System Content Providers" -@@ -498,10 +537,10 @@ - move-object/from16 v0, v78 + iget v0, v0, Lcom/android/server/am/BroadcastRecord;->nextReceiver:I - invoke-direct {v0, v4}, Lcom/android/server/LightsService;->(Landroid/content/Context;)V -- :try_end_173 -- .catch Ljava/lang/RuntimeException; {:try_start_14a .. :try_end_173} :catch_74f -+ :try_end_178 -+ .catch Ljava/lang/RuntimeException; {:try_start_14a .. :try_end_178} :catch_754 +- move/from16 v28, v0 ++ move/from16 v29, v0 -- :try_start_173 -+ :try_start_178 - const-string v3, "SystemServer" +- add-int/lit8 v3, v28, 0x1 ++ add-int/lit8 v3, v29, 0x1 - const-string v9, "Battery Service" -@@ -513,10 +552,10 @@ - move-object/from16 v0, v78 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - invoke-direct {v5, v4, v0}, Lcom/android/server/BatteryService;->(Landroid/content/Context;Lcom/android/server/LightsService;)V -- :try_end_181 -- .catch Ljava/lang/RuntimeException; {:try_start_173 .. :try_end_181} :catch_ad1 -+ :try_end_186 -+ .catch Ljava/lang/RuntimeException; {:try_start_178 .. :try_end_186} :catch_ad6 + iput v3, v0, Lcom/android/server/am/BroadcastRecord;->nextReceiver:I -- :try_start_181 -+ :try_start_186 - const-string v3, "battery" +@@ -2585,17 +2697,17 @@ - invoke-static {v3, v5}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -@@ -532,10 +571,10 @@ - move-object/from16 v0, v118 + move-result-wide v5 - invoke-direct {v0, v4}, Lcom/android/server/VibratorService;->(Landroid/content/Context;)V -- :try_end_194 -- .catch Ljava/lang/RuntimeException; {:try_start_181 .. :try_end_194} :catch_ada -+ :try_end_199 -+ .catch Ljava/lang/RuntimeException; {:try_start_186 .. :try_end_199} :catch_adf +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- :try_start_194 -+ :try_start_199 - const-string v3, "vibrator" + iput-wide v5, v0, Lcom/android/server/am/BroadcastRecord;->receiverTime:J - move-object/from16 v0, v118 -@@ -559,10 +598,10 @@ - new-instance v7, Lcom/android/server/AlarmManagerService; +- if-nez v28, :cond_262 ++ if-nez v29, :cond_262 - invoke-direct {v7, v4}, Lcom/android/server/AlarmManagerService;->(Landroid/content/Context;)V -- :try_end_1b0 -- .catch Ljava/lang/RuntimeException; {:try_start_194 .. :try_end_1b0} :catch_ae1 -+ :try_end_1b5 -+ .catch Ljava/lang/RuntimeException; {:try_start_199 .. :try_end_1b5} :catch_ae6 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- :try_start_1b0 -+ :try_start_1b5 - const-string v3, "alarm" + iget-wide v5, v0, Lcom/android/server/am/BroadcastRecord;->receiverTime:J - invoke-static {v3, v7}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -@@ -593,18 +632,18 @@ +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - move/from16 v0, v69 + iput-wide v5, v0, Lcom/android/server/am/BroadcastRecord;->dispatchTime:J -- if-eq v0, v3, :cond_769 -+ if-eq v0, v3, :cond_76e +@@ -2603,7 +2715,7 @@ - const/4 v3, 0x1 + move-result-wide v5 - move v9, v3 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- :goto_1d5 -- if-nez v72, :cond_76d -+ :goto_1da -+ if-nez v72, :cond_772 + iput-wide v5, v0, Lcom/android/server/am/BroadcastRecord;->dispatchClockTime:J - const/4 v3, 0x1 +@@ -2614,7 +2726,7 @@ -- :goto_1d8 -+ :goto_1dd - move/from16 v0, v92 + if-nez v3, :cond_279 - invoke-static {v4, v6, v9, v3, v0}, Lcom/android/server/wm/WindowManagerService;->main(Landroid/content/Context;Lcom/android/server/PowerManagerService;ZZZ)Lcom/android/server/wm/WindowManagerService; -@@ -647,22 +686,22 @@ +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - move-result v3 + iget-wide v5, v0, Lcom/android/server/am/BroadcastRecord;->receiverTime:J -- if-eqz v3, :cond_770 -+ if-eqz v3, :cond_775 +@@ -2622,74 +2734,126 @@ - const-string v3, "SystemServer" + iget-wide v7, v0, Lcom/android/server/am/BroadcastQueue;->mTimeoutPeriod:J - const-string v9, "No Bluetooh Service (emulator)" +- add-long v32, v5, v7 ++ add-long v33, v5, v7 - invoke-static {v3, v9}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I -- :try_end_20e -- .catch Ljava/lang/RuntimeException; {:try_start_1b0 .. :try_end_20e} :catch_77e -+ :try_end_213 -+ .catch Ljava/lang/RuntimeException; {:try_start_1b5 .. :try_end_213} :catch_783 + move-object/from16 v0, p0 -- :goto_20e -+ :goto_213 - move-object/from16 v117, v118 +- move-wide/from16 v1, v32 ++ move-wide/from16 v1, v33 - move-object/from16 v77, v78 + invoke-virtual {v0, v1, v2}, Lcom/android/server/am/BroadcastQueue;->setBroadcastTimeoutLocked(J)V -- :goto_212 -+ :goto_217 - invoke-virtual {v4}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; + :cond_279 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - move-result-object v3 -@@ -701,9 +740,9 @@ + iget-object v3, v0, Lcom/android/server/am/BroadcastRecord;->receivers:Ljava/util/List; - move/from16 v0, v69 +- move/from16 v0, v28 ++ move/from16 v0, v29 -- if-eq v0, v3, :cond_264 -+ if-eq v0, v3, :cond_269 + invoke-interface {v3, v0}, Ljava/util/List;->get(I)Ljava/lang/Object; -- :try_start_23a -+ :try_start_23f - const-string v3, "SystemServer" +- move-result-object v22 ++ move-result-object v23 ++ ++ move-object/from16 v0, p0 ++ ++ move-object/from16 v1, v23 ++ ++ move-object/from16 v2, v28 ++ ++ invoke-direct {v0, v1, v2}, Lcom/android/server/am/BroadcastQueue;->enforcePrivacyPermission(Ljava/lang/Object;Lcom/android/server/am/BroadcastRecord;)V ++ ++ const/4 v15, 0x0 ++ ++ if-eqz v28, :cond_2b0 ++ ++ move-object/from16 v0, v28 ++ ++ iget-object v3, v0, Lcom/android/server/am/BroadcastRecord;->intent:Landroid/content/Intent; ++ ++ if-eqz v3, :cond_2b0 ++ ++ move-object/from16 v0, v28 ++ ++ iget-object v3, v0, Lcom/android/server/am/BroadcastRecord;->intent:Landroid/content/Intent; ++ ++ invoke-virtual {v3}, Landroid/content/Intent;->getAction()Ljava/lang/String; ++ ++ move-result-object v3 ++ ++ if-eqz v3, :cond_2b0 ++ ++ move-object/from16 v0, v28 ++ ++ iget-object v3, v0, Lcom/android/server/am/BroadcastRecord;->intent:Landroid/content/Intent; ++ ++ invoke-virtual {v3}, Landroid/content/Intent;->getAction()Ljava/lang/String; ++ ++ move-result-object v3 ++ ++ const-string v5, "empty" ++ ++ invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v3 ++ ++ if-eqz v3, :cond_2b0 ++ ++ const/4 v15, 0x1 - const-string v9, "Input Method Service" -@@ -717,22 +756,22 @@ - move-object/from16 v1, v126 +- move-object/from16 v0, v22 ++ :cond_2b0 ++ move-object/from16 v0, v23 - invoke-direct {v0, v4, v1}, Lcom/android/server/InputMethodManagerService;->(Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;)V -- :try_end_24a -- .catch Ljava/lang/Throwable; {:try_start_23a .. :try_end_24a} :catch_7d3 -+ :try_end_24f -+ .catch Ljava/lang/Throwable; {:try_start_23f .. :try_end_24f} :catch_7d8 + instance-of v3, v0, Lcom/android/server/am/BroadcastFilter; -- :try_start_24a -+ :try_start_24f - const-string v3, "input_method" +- if-eqz v3, :cond_2dd ++ if-eqz v3, :cond_315 - move-object/from16 v0, v75 +- move-object/from16 v0, v22 ++ move-object/from16 v0, v23 - invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_251 -- .catch Ljava/lang/Throwable; {:try_start_24a .. :try_end_251} :catch_aba -+ :try_end_256 -+ .catch Ljava/lang/Throwable; {:try_start_24f .. :try_end_256} :catch_abf + check-cast v0, Lcom/android/server/am/BroadcastFilter; - move-object/from16 v74, v75 +- move-object v15, v0 ++ move-object/from16 v16, v0 -- :goto_253 -- :try_start_253 -+ :goto_258 -+ :try_start_258 - const-string v3, "SystemServer" +- move-object/from16 v0, v27 ++ if-nez v15, :cond_30f ++ ++ move-object/from16 v0, v28 - const-string v9, "Accessibility Manager" -@@ -746,24 +785,24 @@ - invoke-direct {v9, v4}, Lcom/android/server/accessibility/AccessibilityManagerService;->(Landroid/content/Context;)V + iget-boolean v3, v0, Lcom/android/server/am/BroadcastRecord;->ordered:Z - invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_264 -- .catch Ljava/lang/Throwable; {:try_start_253 .. :try_end_264} :catch_7df -+ :try_end_269 -+ .catch Ljava/lang/Throwable; {:try_start_258 .. :try_end_269} :catch_7e4 + move-object/from16 v0, p0 -- :cond_264 -- :goto_264 -- :try_start_264 -+ :cond_269 -+ :goto_269 -+ :try_start_269 - invoke-virtual/range {v126 .. v126}, Lcom/android/server/wm/WindowManagerService;->displayReady()V -- :try_end_267 -- .catch Ljava/lang/Throwable; {:try_start_264 .. :try_end_267} :catch_7eb -+ :try_end_26c -+ .catch Ljava/lang/Throwable; {:try_start_269 .. :try_end_26c} :catch_7f0 +- move-object/from16 v1, v27 ++ move-object/from16 v1, v28 ++ ++ move-object/from16 v2, v16 -- :goto_267 -- :try_start_267 -+ :goto_26c -+ :try_start_26c - invoke-interface/range {v93 .. v93}, Landroid/content/pm/IPackageManager;->performBootDexOpt()V -- :try_end_26a -- .catch Ljava/lang/Throwable; {:try_start_267 .. :try_end_26a} :catch_7f7 -+ :try_end_26f -+ .catch Ljava/lang/Throwable; {:try_start_26c .. :try_end_26f} :catch_7fc +- invoke-direct {v0, v1, v15, v3}, Lcom/android/server/am/BroadcastQueue;->deliverToRegisteredReceiverLocked(Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastFilter;Z)V ++ invoke-direct {v0, v1, v2, v3}, Lcom/android/server/am/BroadcastQueue;->deliverToRegisteredReceiverLocked(Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastFilter;Z)V -- :goto_26a -- :try_start_26a -+ :goto_26f -+ :try_start_26f - invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager; +- move-object/from16 v0, v27 ++ :goto_2cb ++ move-object/from16 v0, v28 - move-result-object v3 -@@ -781,15 +820,15 @@ - const/4 v10, 0x0 + iget-object v3, v0, Lcom/android/server/am/BroadcastRecord;->receiver:Landroid/os/IBinder; - invoke-interface {v3, v9, v10}, Landroid/app/IActivityManager;->showBootMessage(Ljava/lang/CharSequence;Z)V -- :try_end_27d -- .catch Landroid/os/RemoteException; {:try_start_26a .. :try_end_27d} :catch_ab7 -+ :try_end_282 -+ .catch Landroid/os/RemoteException; {:try_start_26f .. :try_end_282} :catch_abc +- if-eqz v3, :cond_2a5 ++ if-eqz v3, :cond_2d7 -- :goto_27d -+ :goto_282 - const/4 v3, 0x1 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - move/from16 v0, v69 + iget-boolean v3, v0, Lcom/android/server/am/BroadcastRecord;->ordered:Z -- if-eq v0, v3, :cond_b03 -+ if-eq v0, v3, :cond_b08 +- if-nez v3, :cond_2ad ++ if-nez v3, :cond_2df - const/16 v84, 0x0 +- :cond_2a5 ++ :cond_2d7 + const/4 v3, 0x0 -@@ -805,9 +844,9 @@ +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - move-result v3 + iput v3, v0, Lcom/android/server/am/BroadcastRecord;->state:I -- if-nez v3, :cond_2a9 -+ if-nez v3, :cond_2ae + invoke-virtual/range {p0 .. p0}, Lcom/android/server/am/BroadcastQueue;->scheduleBroadcastsLocked()V -- :try_start_292 -+ :try_start_297 - const-string v3, "SystemServer" +- :cond_2ad +- monitor-exit v34 ++ :cond_2df ++ monitor-exit v35 - const-string v9, "Mount Service" -@@ -819,23 +858,23 @@ - move-object/from16 v0, v85 + goto/16 :goto_93 - invoke-direct {v0, v4}, Lcom/android/server/MountService;->(Landroid/content/Context;)V -- :try_end_2a0 -- .catch Ljava/lang/Throwable; {:try_start_292 .. :try_end_2a0} :catch_803 -+ :try_end_2a5 -+ .catch Ljava/lang/Throwable; {:try_start_297 .. :try_end_2a5} :catch_808 +- :catch_2b0 ++ :catch_2e2 + move-exception v14 -- :try_start_2a0 -+ :try_start_2a5 - const-string v3, "mount" + const-string v3, "BroadcastQueue" +@@ -2718,7 +2882,7 @@ - move-object/from16 v0, v85 + move-result-object v5 - invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_2a7 -- .catch Ljava/lang/Throwable; {:try_start_2a0 .. :try_end_2a7} :catch_ab2 -+ :try_end_2ac -+ .catch Ljava/lang/Throwable; {:try_start_2a5 .. :try_end_2ac} :catch_ab7 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - move-object/from16 v84, v85 + iget-object v6, v0, Lcom/android/server/am/BroadcastRecord;->intent:Landroid/content/Intent; -- :cond_2a9 -- :goto_2a9 -- :try_start_2a9 -+ :cond_2ae -+ :goto_2ae -+ :try_start_2ae - const-string v3, "SystemServer" +@@ -2734,34 +2898,43 @@ - const-string v9, "LockSettingsService" -@@ -847,22 +886,22 @@ - move-object/from16 v0, v82 + goto/16 :goto_224 - invoke-direct {v0, v4}, Lcom/android/internal/widget/LockSettingsService;->(Landroid/content/Context;)V -- :try_end_2b7 -- .catch Ljava/lang/Throwable; {:try_start_2a9 .. :try_end_2b7} :catch_80f -+ :try_end_2bc -+ .catch Ljava/lang/Throwable; {:try_start_2ae .. :try_end_2bc} :catch_814 +- :cond_2dd +- move-object/from16 v0, v22 ++ :cond_30f ++ const/4 v3, 0x0 ++ ++ move-object/from16 v0, v28 ++ ++ iput-object v3, v0, Lcom/android/server/am/BroadcastRecord;->receiver:Landroid/os/IBinder; ++ ++ goto :goto_2cb ++ ++ :cond_315 ++ move-object/from16 v0, v23 -- :try_start_2b7 -+ :try_start_2bc - const-string v3, "lock_settings" + check-cast v0, Landroid/content/pm/ResolveInfo; - move-object/from16 v0, v82 +- move-object/from16 v18, v0 ++ move-object/from16 v19, v0 - invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_2be -- .catch Ljava/lang/Throwable; {:try_start_2b7 .. :try_end_2be} :catch_aad -+ :try_end_2c3 -+ .catch Ljava/lang/Throwable; {:try_start_2bc .. :try_end_2c3} :catch_ab2 +- const/16 v29, 0x0 ++ const/16 v30, 0x0 - move-object/from16 v81, v82 + move-object/from16 v0, p0 -- :goto_2c0 -- :try_start_2c0 -+ :goto_2c5 -+ :try_start_2c5 - const-string v3, "SystemServer" + iget-object v3, v0, Lcom/android/server/am/BroadcastQueue;->mService:Lcom/android/server/am/ActivityManagerService; - const-string v9, "Device Policy" -@@ -874,22 +913,22 @@ - move-object/from16 v0, v63 +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 - invoke-direct {v0, v4}, Lcom/android/server/DevicePolicyManagerService;->(Landroid/content/Context;)V -- :try_end_2ce -- .catch Ljava/lang/Throwable; {:try_start_2c0 .. :try_end_2ce} :catch_81b -+ :try_end_2d3 -+ .catch Ljava/lang/Throwable; {:try_start_2c5 .. :try_end_2d3} :catch_820 + iget-object v5, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; -- :try_start_2ce -+ :try_start_2d3 - const-string v3, "device_policy" + iget-object v4, v5, Landroid/content/pm/ActivityInfo;->permission:Ljava/lang/String; - move-object/from16 v0, v63 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_2d5 -- .catch Ljava/lang/Throwable; {:try_start_2ce .. :try_end_2d5} :catch_aa8 -+ :try_end_2da -+ .catch Ljava/lang/Throwable; {:try_start_2d3 .. :try_end_2da} :catch_aad + iget v5, v0, Lcom/android/server/am/BroadcastRecord;->callingPid:I - move-object/from16 v62, v63 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- :goto_2d7 -- :try_start_2d7 -+ :goto_2dc -+ :try_start_2dc - const-string v3, "SystemServer" + iget v6, v0, Lcom/android/server/am/BroadcastRecord;->callingUid:I - const-string v9, "Status Bar" -@@ -903,22 +942,22 @@ - move-object/from16 v1, v126 +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 - invoke-direct {v0, v4, v1}, Lcom/android/server/StatusBarManagerService;->(Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;)V -- :try_end_2e7 -- .catch Ljava/lang/Throwable; {:try_start_2d7 .. :try_end_2e7} :catch_827 -+ :try_end_2ec -+ .catch Ljava/lang/Throwable; {:try_start_2dc .. :try_end_2ec} :catch_82c + iget-object v7, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; -- :try_start_2e7 -+ :try_start_2ec - const-string v3, "statusbar" +@@ -2769,7 +2942,7 @@ - move-object/from16 v0, v108 + iget v7, v7, Landroid/content/pm/ApplicationInfo;->uid:I - invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_2ee -- .catch Ljava/lang/Throwable; {:try_start_2e7 .. :try_end_2ee} :catch_aa3 -+ :try_end_2f3 -+ .catch Ljava/lang/Throwable; {:try_start_2ec .. :try_end_2f3} :catch_aa8 +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 - move-object/from16 v107, v108 + iget-object v8, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; -- :goto_2f0 -- :try_start_2f0 -+ :goto_2f5 -+ :try_start_2f5 - const-string v3, "SystemServer" +@@ -2777,17 +2950,17 @@ - const-string v9, "Clipboard Service" -@@ -932,11 +971,11 @@ - invoke-direct {v9, v4}, Lcom/android/server/ClipboardService;->(Landroid/content/Context;)V + invoke-virtual/range {v3 .. v8}, Lcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I - invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_301 -- .catch Ljava/lang/Throwable; {:try_start_2f0 .. :try_end_301} :catch_833 -+ :try_end_306 -+ .catch Ljava/lang/Throwable; {:try_start_2f5 .. :try_end_306} :catch_838 +- move-result v26 ++ move-result v27 -- :goto_301 -- :try_start_301 -+ :goto_306 -+ :try_start_306 - const-string v3, "SystemServer" +- if-eqz v26, :cond_397 ++ if-eqz v27, :cond_3cf - const-string v9, "NetworkManagement Service" -@@ -950,11 +989,11 @@ - const-string v3, "network_management" +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 - invoke-static {v3, v13}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_311 -- .catch Ljava/lang/Throwable; {:try_start_301 .. :try_end_311} :catch_83f -+ :try_end_316 -+ .catch Ljava/lang/Throwable; {:try_start_306 .. :try_end_316} :catch_844 + iget-object v3, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; -- :goto_311 -- :try_start_311 -+ :goto_316 -+ :try_start_316 - const-string v3, "SystemServer" + iget-boolean v3, v3, Landroid/content/pm/ActivityInfo;->exported:Z - const-string v9, "Text Service Manager Service" -@@ -966,22 +1005,22 @@ - move-object/from16 v0, v112 +- if-nez v3, :cond_446 ++ if-nez v3, :cond_482 - invoke-direct {v0, v4}, Lcom/android/server/TextServicesManagerService;->(Landroid/content/Context;)V -- :try_end_31f -- .catch Ljava/lang/Throwable; {:try_start_311 .. :try_end_31f} :catch_84b -+ :try_end_324 -+ .catch Ljava/lang/Throwable; {:try_start_316 .. :try_end_324} :catch_850 + const-string v3, "BroadcastQueue" -- :try_start_31f -+ :try_start_324 - const-string v3, "textservices" +@@ -2801,7 +2974,7 @@ - move-object/from16 v0, v112 + move-result-object v5 - invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_326 -- .catch Ljava/lang/Throwable; {:try_start_31f .. :try_end_326} :catch_a9e -+ :try_end_32b -+ .catch Ljava/lang/Throwable; {:try_start_324 .. :try_end_32b} :catch_aa3 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - move-object/from16 v111, v112 + iget-object v6, v0, Lcom/android/server/am/BroadcastRecord;->intent:Landroid/content/Intent; -- :goto_328 -- :try_start_328 -+ :goto_32d -+ :try_start_32d - const-string v3, "SystemServer" +@@ -2819,7 +2992,7 @@ - const-string v9, "NetworkStats Service" -@@ -993,22 +1032,22 @@ - move-object/from16 v0, v87 + move-result-object v5 - invoke-direct {v0, v4, v13, v7}, Lcom/android/server/net/NetworkStatsService;->(Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/app/IAlarmManager;)V -- :try_end_336 -- .catch Ljava/lang/Throwable; {:try_start_328 .. :try_end_336} :catch_857 -+ :try_end_33b -+ .catch Ljava/lang/Throwable; {:try_start_32d .. :try_end_33b} :catch_85c +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- :try_start_336 -+ :try_start_33b - const-string v3, "netstats" + iget-object v6, v0, Lcom/android/server/am/BroadcastRecord;->callerPackage:Ljava/lang/String; - move-object/from16 v0, v87 +@@ -2833,7 +3006,7 @@ - invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_33d -- .catch Ljava/lang/Throwable; {:try_start_336 .. :try_end_33d} :catch_a99 -+ :try_end_342 -+ .catch Ljava/lang/Throwable; {:try_start_33b .. :try_end_342} :catch_a9e + move-result-object v5 - move-object/from16 v12, v87 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- :goto_33f -- :try_start_33f -+ :goto_344 -+ :try_start_344 - const-string v3, "SystemServer" + iget v6, v0, Lcom/android/server/am/BroadcastRecord;->callingPid:I - const-string v9, "NetworkPolicy Service" -@@ -1026,18 +1065,18 @@ - move-object v11, v6 +@@ -2847,7 +3020,7 @@ - invoke-direct/range {v8 .. v13}, Lcom/android/server/net/NetworkPolicyManagerService;->(Landroid/content/Context;Landroid/app/IActivityManager;Landroid/os/IPowerManager;Landroid/net/INetworkStatsService;Landroid/os/INetworkManagementService;)V -- :try_end_351 -- .catch Ljava/lang/Throwable; {:try_start_33f .. :try_end_351} :catch_863 -+ :try_end_356 -+ .catch Ljava/lang/Throwable; {:try_start_344 .. :try_end_356} :catch_868 + move-result-object v5 -- :try_start_351 -+ :try_start_356 - const-string v3, "netpolicy" +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - invoke-static {v3, v8}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_356 -- .catch Ljava/lang/Throwable; {:try_start_351 .. :try_end_356} :catch_a96 -+ :try_end_35b -+ .catch Ljava/lang/Throwable; {:try_start_356 .. :try_end_35b} :catch_a9b + iget v6, v0, Lcom/android/server/am/BroadcastRecord;->callingUid:I -- :goto_356 -- :try_start_356 -+ :goto_35b -+ :try_start_35b - const-string v3, "SystemServer" +@@ -2867,7 +3040,7 @@ - const-string v9, "Wi-Fi P2pService" -@@ -1049,22 +1088,22 @@ - move-object/from16 v0, v125 + move-result-object v5 - invoke-direct {v0, v4}, Landroid/net/wifi/p2p/WifiP2pService;->(Landroid/content/Context;)V -- :try_end_364 -- .catch Ljava/lang/Throwable; {:try_start_356 .. :try_end_364} :catch_871 -+ :try_end_369 -+ .catch Ljava/lang/Throwable; {:try_start_35b .. :try_end_369} :catch_876 +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 -- :try_start_364 -+ :try_start_369 - const-string v3, "wifip2p" + iget-object v6, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; - move-object/from16 v0, v125 +@@ -2885,7 +3058,7 @@ - invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_36b -- .catch Ljava/lang/Throwable; {:try_start_364 .. :try_end_36b} :catch_a91 -+ :try_end_370 -+ .catch Ljava/lang/Throwable; {:try_start_369 .. :try_end_370} :catch_a96 + move-result-object v5 - move-object/from16 v124, v125 +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 -- :goto_36d -- :try_start_36d -+ :goto_372 -+ :try_start_372 - const-string v3, "SystemServer" + iget-object v6, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; - const-string v9, "Wi-Fi Service" -@@ -1076,22 +1115,22 @@ - move-object/from16 v0, v123 +@@ -2901,7 +3074,7 @@ - invoke-direct {v0, v4}, Lcom/android/server/WifiService;->(Landroid/content/Context;)V -- :try_end_37b -- .catch Ljava/lang/Throwable; {:try_start_36d .. :try_end_37b} :catch_87d -+ :try_end_380 -+ .catch Ljava/lang/Throwable; {:try_start_372 .. :try_end_380} :catch_882 + move-result-object v5 -- :try_start_37b -+ :try_start_380 - const-string v3, "wifi" +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 - move-object/from16 v0, v123 + iget-object v6, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; - invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_382 -- .catch Ljava/lang/Throwable; {:try_start_37b .. :try_end_382} :catch_a8c -+ :try_end_387 -+ .catch Ljava/lang/Throwable; {:try_start_380 .. :try_end_387} :catch_a91 +@@ -2917,11 +3090,11 @@ - move-object/from16 v122, v123 + invoke-static {v3, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I -- :goto_384 -- :try_start_384 -+ :goto_389 -+ :try_start_389 - const-string v3, "SystemServer" +- :goto_395 +- const/16 v29, 0x1 ++ :goto_3cd ++ const/16 v30, 0x1 - const-string v9, "Connectivity Service" -@@ -1103,10 +1142,10 @@ - move-object/from16 v0, v57 +- :cond_397 +- move-object/from16 v0, v18 ++ :cond_3cf ++ move-object/from16 v0, v19 - invoke-direct {v0, v4, v13, v12, v8}, Lcom/android/server/ConnectivityService;->(Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/net/INetworkStatsService;Landroid/net/INetworkPolicyManager;)V -- :try_end_392 -- .catch Ljava/lang/Throwable; {:try_start_384 .. :try_end_392} :catch_889 -+ :try_end_397 -+ .catch Ljava/lang/Throwable; {:try_start_389 .. :try_end_397} :catch_88e + iget-object v3, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; -- :try_start_392 -+ :try_start_397 - const-string v3, "connectivity" +@@ -2931,26 +3104,26 @@ - move-object/from16 v0, v57 -@@ -1124,13 +1163,13 @@ - invoke-virtual/range {v122 .. v122}, Lcom/android/server/WifiService;->checkAndStartWifi()V + const/16 v5, 0x3e8 - invoke-virtual/range {v124 .. v124}, Landroid/net/wifi/p2p/WifiP2pService;->connectivityServiceReady()V -- :try_end_3a9 -- .catch Ljava/lang/Throwable; {:try_start_392 .. :try_end_3a9} :catch_a87 -+ :try_end_3ae -+ .catch Ljava/lang/Throwable; {:try_start_397 .. :try_end_3ae} :catch_a8c +- if-eq v3, v5, :cond_41f ++ if-eq v3, v5, :cond_457 - move-object/from16 v56, v57 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- :goto_3ab -- :try_start_3ab -+ :goto_3b0 -+ :try_start_3b0 - const-string v3, "SystemServer" + iget-object v3, v0, Lcom/android/server/am/BroadcastRecord;->requiredPermission:Ljava/lang/String; +- :try_end_3a7 +- .catchall {:try_start_224 .. :try_end_3a7} :catchall_69 ++ :try_end_3df ++ .catchall {:try_start_224 .. :try_end_3df} :catchall_69 - const-string v9, "Network Service Discovery Service" -@@ -1146,11 +1185,11 @@ - move-object/from16 v0, v105 +- if-eqz v3, :cond_41f ++ if-eqz v3, :cond_457 - invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_3bd -- .catch Ljava/lang/Throwable; {:try_start_3ab .. :try_end_3bd} :catch_895 -+ :try_end_3c2 -+ .catch Ljava/lang/Throwable; {:try_start_3b0 .. :try_end_3c2} :catch_89a +- :try_start_3a9 ++ :try_start_3e1 + invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager; -- :goto_3bd -- :try_start_3bd -+ :goto_3c2 -+ :try_start_3c2 - const-string v3, "SystemServer" + move-result-object v3 - const-string v9, "Throttle Service" -@@ -1162,22 +1201,22 @@ - move-object/from16 v0, v110 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - invoke-direct {v0, v4}, Lcom/android/server/ThrottleService;->(Landroid/content/Context;)V -- :try_end_3cb -- .catch Ljava/lang/Throwable; {:try_start_3bd .. :try_end_3cb} :catch_8a1 -+ :try_end_3d0 -+ .catch Ljava/lang/Throwable; {:try_start_3c2 .. :try_end_3d0} :catch_8a6 + iget-object v5, v0, Lcom/android/server/am/BroadcastRecord;->requiredPermission:Ljava/lang/String; -- :try_start_3cb -+ :try_start_3d0 - const-string v3, "throttle" +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 - move-object/from16 v0, v110 + iget-object v6, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; - invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_3d2 -- .catch Ljava/lang/Throwable; {:try_start_3cb .. :try_end_3d2} :catch_a82 -+ :try_end_3d7 -+ .catch Ljava/lang/Throwable; {:try_start_3d0 .. :try_end_3d7} :catch_a87 +@@ -2959,16 +3132,16 @@ + iget-object v6, v6, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String; - move-object/from16 v109, v110 + invoke-interface {v3, v5, v6}, Landroid/content/pm/IPackageManager;->checkPermission(Ljava/lang/String;Ljava/lang/String;)I +- :try_end_3bc +- .catchall {:try_start_3a9 .. :try_end_3bc} :catchall_69 +- .catch Landroid/os/RemoteException; {:try_start_3a9 .. :try_end_3bc} :catch_4c8 ++ :try_end_3f4 ++ .catchall {:try_start_3e1 .. :try_end_3f4} :catchall_69 ++ .catch Landroid/os/RemoteException; {:try_start_3e1 .. :try_end_3f4} :catch_504 -- :goto_3d4 -- :try_start_3d4 -+ :goto_3d9 -+ :try_start_3d9 - const-string v3, "SystemServer" +- move-result v26 ++ move-result v27 - const-string v9, "UpdateLock Service" -@@ -1191,16 +1230,16 @@ - invoke-direct {v9, v4}, Lcom/android/server/UpdateLockService;->(Landroid/content/Context;)V +- :goto_3bd +- if-eqz v26, :cond_41f ++ :goto_3f5 ++ if-eqz v27, :cond_457 - invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_3e5 -- .catch Ljava/lang/Throwable; {:try_start_3d4 .. :try_end_3e5} :catch_8ad -+ :try_end_3ea -+ .catch Ljava/lang/Throwable; {:try_start_3d9 .. :try_end_3ea} :catch_8b2 +- :try_start_3bf ++ :try_start_3f7 + const-string v3, "BroadcastQueue" -- :goto_3e5 -- if-eqz v84, :cond_3ea -+ :goto_3ea -+ if-eqz v84, :cond_3ef + new-instance v5, Ljava/lang/StringBuilder; +@@ -2981,7 +3154,7 @@ - invoke-virtual/range {v84 .. v84}, Lcom/android/server/MountService;->waitForAsecScan()V + move-result-object v5 -- :cond_3ea -- :try_start_3ea -+ :cond_3ef -+ :try_start_3ef - const-string v3, "SystemServer" +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - const-string v9, "Profile Manager" -@@ -1212,40 +1251,40 @@ - move-object/from16 v0, v96 + iget-object v6, v0, Lcom/android/server/am/BroadcastRecord;->intent:Landroid/content/Intent; - invoke-direct {v0, v4}, Lcom/android/server/ProfileManagerService;->(Landroid/content/Context;)V -- :try_end_3f8 -- .catch Ljava/lang/Throwable; {:try_start_3ea .. :try_end_3f8} :catch_8b9 -+ :try_end_3fd -+ .catch Ljava/lang/Throwable; {:try_start_3ef .. :try_end_3fd} :catch_8be +@@ -2995,7 +3168,7 @@ -- :try_start_3f8 -+ :try_start_3fd - const-string v3, "profile" + move-result-object v5 - move-object/from16 v0, v96 +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 - invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_3ff -- .catch Ljava/lang/Throwable; {:try_start_3f8 .. :try_end_3ff} :catch_a7d -+ :try_end_404 -+ .catch Ljava/lang/Throwable; {:try_start_3fd .. :try_end_404} :catch_a82 + iget-object v6, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; - move-object/from16 v95, v96 +@@ -3013,7 +3186,7 @@ -- :goto_401 -- if-eqz v42, :cond_406 -- -- :try_start_403 -- invoke-virtual/range {v42 .. v42}, Landroid/accounts/AccountManagerService;->systemReady()V -- :try_end_406 -- .catch Ljava/lang/Throwable; {:try_start_403 .. :try_end_406} :catch_8c5 -- -- :cond_406 - :goto_406 -- if-eqz v58, :cond_40b -+ if-eqz v42, :cond_40b + move-result-object v5 - :try_start_408 -- invoke-virtual/range {v58 .. v58}, Landroid/content/ContentService;->systemReady()V -+ invoke-virtual/range {v42 .. v42}, Landroid/accounts/AccountManagerService;->systemReady()V - :try_end_40b -- .catch Ljava/lang/Throwable; {:try_start_408 .. :try_end_40b} :catch_8d1 -+ .catch Ljava/lang/Throwable; {:try_start_408 .. :try_end_40b} :catch_8ca +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - :cond_40b - :goto_40b -- :try_start_40b -+ if-eqz v58, :cond_410 -+ -+ :try_start_40d -+ invoke-virtual/range {v58 .. v58}, Landroid/content/ContentService;->systemReady()V -+ :try_end_410 -+ .catch Ljava/lang/Throwable; {:try_start_40d .. :try_end_410} :catch_8d6 -+ -+ :cond_410 -+ :goto_410 -+ :try_start_410 - const-string v3, "SystemServer" + iget-object v6, v0, Lcom/android/server/am/BroadcastRecord;->requiredPermission:Ljava/lang/String; - const-string v9, "Notification Manager" -@@ -1261,10 +1300,10 @@ - move-object/from16 v2, v77 +@@ -3027,7 +3200,7 @@ - invoke-direct {v0, v4, v1, v2}, Lcom/android/server/NotificationManagerService;->(Landroid/content/Context;Lcom/android/server/StatusBarManagerService;Lcom/android/server/LightsService;)V -- :try_end_41d -- .catch Ljava/lang/Throwable; {:try_start_40b .. :try_end_41d} :catch_8dd -+ :try_end_422 -+ .catch Ljava/lang/Throwable; {:try_start_410 .. :try_end_422} :catch_8e2 + move-result-object v5 -- :try_start_41d -+ :try_start_422 - const-string v3, "notification" +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - move-object/from16 v0, v91 -@@ -1274,13 +1313,13 @@ - move-object/from16 v0, v91 + iget-object v6, v0, Lcom/android/server/am/BroadcastRecord;->callerPackage:Ljava/lang/String; - invoke-virtual {v8, v0}, Lcom/android/server/net/NetworkPolicyManagerService;->bindNotificationManager(Landroid/app/INotificationManager;)V -- :try_end_429 -- .catch Ljava/lang/Throwable; {:try_start_41d .. :try_end_429} :catch_a78 -+ :try_end_42e -+ .catch Ljava/lang/Throwable; {:try_start_422 .. :try_end_42e} :catch_a7d +@@ -3041,7 +3214,7 @@ - move-object/from16 v90, v91 + move-result-object v5 -- :goto_42b -- :try_start_42b -+ :goto_430 -+ :try_start_430 - const-string v3, "SystemServer" +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - const-string v9, "Device Storage Monitor" -@@ -1294,11 +1333,11 @@ - invoke-direct {v9, v4}, Lcom/android/server/DeviceStorageMonitorService;->(Landroid/content/Context;)V + iget v6, v0, Lcom/android/server/am/BroadcastRecord;->callingUid:I - invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_43c -- .catch Ljava/lang/Throwable; {:try_start_42b .. :try_end_43c} :catch_8e9 -+ :try_end_441 -+ .catch Ljava/lang/Throwable; {:try_start_430 .. :try_end_441} :catch_8ee +@@ -3061,53 +3234,58 @@ -- :goto_43c -- :try_start_43c -+ :goto_441 -+ :try_start_441 - const-string v3, "SystemServer" + invoke-static {v3, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I - const-string v9, "Location Manager" -@@ -1310,22 +1349,22 @@ - move-object/from16 v0, v80 +- const/16 v29, 0x1 ++ const/16 v30, 0x1 - invoke-direct {v0, v4}, Lcom/android/server/LocationManagerService;->(Landroid/content/Context;)V -- :try_end_44a -- .catch Ljava/lang/Throwable; {:try_start_43c .. :try_end_44a} :catch_8f5 -+ :try_end_44f -+ .catch Ljava/lang/Throwable; {:try_start_441 .. :try_end_44f} :catch_8fa +- :cond_41f +- move-object/from16 v0, v27 ++ :cond_457 ++ move-object/from16 v0, v28 -- :try_start_44a -+ :try_start_44f - const-string v3, "location" + iget-object v3, v0, Lcom/android/server/am/BroadcastRecord;->curApp:Lcom/android/server/am/ProcessRecord; - move-object/from16 v0, v80 +- if-eqz v3, :cond_42f ++ if-eqz v3, :cond_467 - invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_451 -- .catch Ljava/lang/Throwable; {:try_start_44a .. :try_end_451} :catch_a73 -+ :try_end_456 -+ .catch Ljava/lang/Throwable; {:try_start_44f .. :try_end_456} :catch_a78 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - move-object/from16 v79, v80 + iget-object v3, v0, Lcom/android/server/am/BroadcastRecord;->curApp:Lcom/android/server/am/ProcessRecord; -- :goto_453 -- :try_start_453 -+ :goto_458 -+ :try_start_458 - const-string v3, "SystemServer" + iget-boolean v3, v3, Lcom/android/server/am/ProcessRecord;->crashing:Z - const-string v9, "Country Detector" -@@ -1337,22 +1376,22 @@ - move-object/from16 v0, v60 +- if-eqz v3, :cond_42f ++ if-eqz v3, :cond_467 ++ ++ const/16 v30, 0x1 ++ ++ :cond_467 ++ if-eqz v15, :cond_46b - invoke-direct {v0, v4}, Lcom/android/server/CountryDetectorService;->(Landroid/content/Context;)V -- :try_end_461 -- .catch Ljava/lang/Throwable; {:try_start_453 .. :try_end_461} :catch_901 -+ :try_end_466 -+ .catch Ljava/lang/Throwable; {:try_start_458 .. :try_end_466} :catch_906 +- const/16 v29, 0x1 ++ const/16 v30, 0x1 -- :try_start_461 -+ :try_start_466 - const-string v3, "country_detector" +- :cond_42f +- if-eqz v29, :cond_4cd ++ :cond_46b ++ if-eqz v30, :cond_509 - move-object/from16 v0, v60 + const/4 v3, 0x0 - invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_468 -- .catch Ljava/lang/Throwable; {:try_start_461 .. :try_end_468} :catch_a6e -+ :try_end_46d -+ .catch Ljava/lang/Throwable; {:try_start_466 .. :try_end_46d} :catch_a73 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - move-object/from16 v59, v60 + iput-object v3, v0, Lcom/android/server/am/BroadcastRecord;->receiver:Landroid/os/IBinder; -- :goto_46a -- :try_start_46a -+ :goto_46f -+ :try_start_46f - const-string v3, "SystemServer" + const/4 v3, 0x0 - const-string v9, "Search Service" -@@ -1366,11 +1405,11 @@ - invoke-direct {v9, v4}, Landroid/server/search/SearchManagerService;->(Landroid/content/Context;)V +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_47b -- .catch Ljava/lang/Throwable; {:try_start_46a .. :try_end_47b} :catch_90d -+ :try_end_480 -+ .catch Ljava/lang/Throwable; {:try_start_46f .. :try_end_480} :catch_912 + iput-object v3, v0, Lcom/android/server/am/BroadcastRecord;->curFilter:Lcom/android/server/am/BroadcastFilter; -- :goto_47b -- :try_start_47b -+ :goto_480 -+ :try_start_480 - const-string v3, "SystemServer" + const/4 v3, 0x0 - const-string v9, "DropBox Service" -@@ -1390,10 +1429,10 @@ - invoke-direct {v9, v4, v10}, Lcom/android/server/DropBoxManagerService;->(Landroid/content/Context;Ljava/io/File;)V +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_493 -- .catch Ljava/lang/Throwable; {:try_start_47b .. :try_end_493} :catch_919 -+ :try_end_498 -+ .catch Ljava/lang/Throwable; {:try_start_480 .. :try_end_498} :catch_91e + iput v3, v0, Lcom/android/server/am/BroadcastRecord;->state:I -- :goto_493 -+ :goto_498 - invoke-virtual {v4}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; + invoke-virtual/range {p0 .. p0}, Lcom/android/server/am/BroadcastQueue;->scheduleBroadcastsLocked()V - move-result-object v3 -@@ -1404,38 +1443,38 @@ +- monitor-exit v34 ++ monitor-exit v35 - move-result v3 + goto/16 :goto_93 -- if-eqz v3, :cond_4b9 -+ if-eqz v3, :cond_4be +- :cond_446 ++ :cond_482 + const-string v3, "BroadcastQueue" -- :try_start_4a0 -+ :try_start_4a5 - const-string v3, "SystemServer" + new-instance v5, Ljava/lang/StringBuilder; +@@ -3120,7 +3298,7 @@ - const-string v9, "Wallpaper Service" + move-result-object v5 - invoke-static {v3, v9}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- if-nez v16, :cond_4b9 -+ if-nez v16, :cond_4be + iget-object v6, v0, Lcom/android/server/am/BroadcastRecord;->intent:Landroid/content/Intent; - new-instance v121, Lcom/android/server/WallpaperManagerService; +@@ -3138,7 +3316,7 @@ - move-object/from16 v0, v121 + move-result-object v5 - invoke-direct {v0, v4}, Lcom/android/server/WallpaperManagerService;->(Landroid/content/Context;)V -- :try_end_4b0 -- .catch Ljava/lang/Throwable; {:try_start_4a0 .. :try_end_4b0} :catch_925 -+ :try_end_4b5 -+ .catch Ljava/lang/Throwable; {:try_start_4a5 .. :try_end_4b5} :catch_92a +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- :try_start_4b0 -+ :try_start_4b5 - const-string v3, "wallpaper" + iget-object v6, v0, Lcom/android/server/am/BroadcastRecord;->callerPackage:Ljava/lang/String; - move-object/from16 v0, v121 +@@ -3152,7 +3330,7 @@ - invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_4b7 -- .catch Ljava/lang/Throwable; {:try_start_4b0 .. :try_end_4b7} :catch_a69 -+ :try_end_4bc -+ .catch Ljava/lang/Throwable; {:try_start_4b5 .. :try_end_4bc} :catch_a6e + move-result-object v5 - move-object/from16 v120, v121 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- :cond_4b9 -- :goto_4b9 -+ :cond_4be -+ :goto_4be - const-string v3, "0" + iget v6, v0, Lcom/android/server/am/BroadcastRecord;->callingPid:I - const-string v9, "system_init.startaudioservice" -@@ -1448,9 +1487,9 @@ +@@ -3166,7 +3344,7 @@ - move-result v3 + move-result-object v5 -- if-nez v3, :cond_4d8 -+ if-nez v3, :cond_4dd +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- :try_start_4c7 -+ :try_start_4cc - const-string v3, "SystemServer" + iget v6, v0, Lcom/android/server/am/BroadcastRecord;->callingUid:I - const-string v9, "Audio Service" -@@ -1464,12 +1503,12 @@ - invoke-direct {v9, v4}, Landroid/media/AudioService;->(Landroid/content/Context;)V +@@ -3186,7 +3364,7 @@ - invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_4d8 -- .catch Ljava/lang/Throwable; {:try_start_4c7 .. :try_end_4d8} :catch_931 -+ :try_end_4dd -+ .catch Ljava/lang/Throwable; {:try_start_4cc .. :try_end_4dd} :catch_936 + move-result-object v5 -- :cond_4d8 -- :goto_4d8 -- :try_start_4d8 -+ :cond_4dd -+ :goto_4dd -+ :try_start_4dd - const-string v3, "SystemServer" +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 - const-string v9, "Dock Observer" -@@ -1481,15 +1520,15 @@ - move-object/from16 v0, v65 + iget-object v6, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; - invoke-direct {v0, v4, v6}, Lcom/android/server/DockObserver;->(Landroid/content/Context;Lcom/android/server/PowerManagerService;)V -- :try_end_4e6 -- .catch Ljava/lang/Throwable; {:try_start_4d8 .. :try_end_4e6} :catch_93d -+ :try_end_4eb -+ .catch Ljava/lang/Throwable; {:try_start_4dd .. :try_end_4eb} :catch_942 +@@ -3202,7 +3380,7 @@ - move-object/from16 v64, v65 + move-result-object v5 -- :goto_4e8 -- if-eqz v73, :cond_4fa -+ :goto_4ed -+ if-eqz v73, :cond_4ff +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 -- :try_start_4ea -+ :try_start_4ef - const-string v3, "SystemServer" + iget-object v6, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; - const-string v9, "Rotation Switch Observer" -@@ -1501,14 +1540,14 @@ - move-object/from16 v0, v102 +@@ -3218,7 +3396,7 @@ - invoke-direct {v0, v4}, Lcom/android/server/RotationSwitchObserver;->(Landroid/content/Context;)V -- :try_end_4f8 -- .catch Ljava/lang/Throwable; {:try_start_4ea .. :try_end_4f8} :catch_949 -+ :try_end_4fd -+ .catch Ljava/lang/Throwable; {:try_start_4ef .. :try_end_4fd} :catch_94e + move-result-object v5 - move-object/from16 v101, v102 +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 -- :cond_4fa -- :goto_4fa -- :try_start_4fa -+ :cond_4ff -+ :goto_4ff -+ :try_start_4ff - const-string v3, "SystemServer" + iget-object v6, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; - const-string v9, "Wired Accessory Observer" -@@ -1518,11 +1557,11 @@ - new-instance v3, Lcom/android/server/WiredAccessoryObserver; +@@ -3234,23 +3412,23 @@ - invoke-direct {v3, v4}, Lcom/android/server/WiredAccessoryObserver;->(Landroid/content/Context;)V -- :try_end_506 -- .catch Ljava/lang/Throwable; {:try_start_4fa .. :try_end_506} :catch_955 -+ :try_end_50b -+ .catch Ljava/lang/Throwable; {:try_start_4ff .. :try_end_50b} :catch_95a + invoke-static {v3, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I -- :goto_506 -- :try_start_506 -+ :goto_50b -+ :try_start_50b - const-string v3, "SystemServer" +- goto/16 :goto_395 ++ goto/16 :goto_3cd - const-string v9, "USB Service" -@@ -1534,22 +1573,22 @@ - move-object/from16 v0, v116 +- :catch_4c8 ++ :catch_504 + move-exception v14 - invoke-direct {v0, v4}, Lcom/android/server/usb/UsbService;->(Landroid/content/Context;)V -- :try_end_514 -- .catch Ljava/lang/Throwable; {:try_start_506 .. :try_end_514} :catch_961 -+ :try_end_519 -+ .catch Ljava/lang/Throwable; {:try_start_50b .. :try_end_519} :catch_966 +- const/16 v26, -0x1 ++ const/16 v27, -0x1 -- :try_start_514 -+ :try_start_519 - const-string v3, "usb" +- goto/16 :goto_3bd ++ goto/16 :goto_3f5 - move-object/from16 v0, v116 +- :cond_4cd ++ :cond_509 + const/4 v3, 0x1 - invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_51b -- .catch Ljava/lang/Throwable; {:try_start_514 .. :try_end_51b} :catch_a64 -+ :try_end_520 -+ .catch Ljava/lang/Throwable; {:try_start_519 .. :try_end_520} :catch_a69 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - move-object/from16 v115, v116 + iput v3, v0, Lcom/android/server/am/BroadcastRecord;->state:I -- :goto_51d -- :try_start_51d -+ :goto_522 -+ :try_start_522 - const-string v3, "SystemServer" +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 - const-string v9, "Serial Service" -@@ -1561,22 +1600,22 @@ - move-object/from16 v0, v104 + iget-object v3, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; - invoke-direct {v0, v4}, Lcom/android/server/SerialService;->(Landroid/content/Context;)V -- :try_end_52b -- .catch Ljava/lang/Throwable; {:try_start_51d .. :try_end_52b} :catch_96d -+ :try_end_530 -+ .catch Ljava/lang/Throwable; {:try_start_522 .. :try_end_530} :catch_972 +@@ -3258,7 +3436,7 @@ -- :try_start_52b -+ :try_start_530 - const-string v3, "serial" + new-instance v3, Landroid/content/ComponentName; - move-object/from16 v0, v104 +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 - invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_532 -- .catch Ljava/lang/Throwable; {:try_start_52b .. :try_end_532} :catch_a5f -+ :try_end_537 -+ .catch Ljava/lang/Throwable; {:try_start_530 .. :try_end_537} :catch_a64 + iget-object v5, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; - move-object/from16 v103, v104 - -- :goto_534 -- :try_start_534 -+ :goto_539 -+ :try_start_539 - const-string v3, "SystemServer" - - const-string v9, "UI Mode Manager Service" -@@ -1588,13 +1627,13 @@ - move-object/from16 v0, v114 +@@ -3266,7 +3444,7 @@ - invoke-direct {v0, v4}, Lcom/android/server/UiModeManagerService;->(Landroid/content/Context;)V -- :try_end_542 -- .catch Ljava/lang/Throwable; {:try_start_534 .. :try_end_542} :catch_979 -+ :try_end_547 -+ .catch Ljava/lang/Throwable; {:try_start_539 .. :try_end_547} :catch_97e + iget-object v5, v5, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String; - move-object/from16 v113, v114 +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 -- :goto_544 -- :try_start_544 -+ :goto_549 -+ :try_start_549 - const-string v3, "SystemServer" + iget-object v6, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; - const-string v9, "Backup Service" -@@ -1608,11 +1647,11 @@ - invoke-direct {v9, v4}, Lcom/android/server/BackupManagerService;->(Landroid/content/Context;)V +@@ -3274,29 +3452,29 @@ - invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_555 -- .catch Ljava/lang/Throwable; {:try_start_544 .. :try_end_555} :catch_985 -+ :try_end_55a -+ .catch Ljava/lang/Throwable; {:try_start_549 .. :try_end_55a} :catch_98a + invoke-direct {v3, v5, v6}, Landroid/content/ComponentName;->(Ljava/lang/String;Ljava/lang/String;)V -- :goto_555 -- :try_start_555 -+ :goto_55a -+ :try_start_55a - const-string v3, "SystemServer" +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - const-string v9, "AppWidget Service" -@@ -1624,22 +1663,22 @@ - move-object/from16 v0, v46 + iput-object v3, v0, Lcom/android/server/am/BroadcastRecord;->curComponent:Landroid/content/ComponentName; - invoke-direct {v0, v4}, Lcom/android/server/AppWidgetService;->(Landroid/content/Context;)V -- :try_end_563 -- .catch Ljava/lang/Throwable; {:try_start_555 .. :try_end_563} :catch_991 -+ :try_end_568 -+ .catch Ljava/lang/Throwable; {:try_start_55a .. :try_end_568} :catch_996 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- :try_start_563 -+ :try_start_568 - const-string v3, "appwidget" + iget v3, v0, Lcom/android/server/am/BroadcastRecord;->callingUid:I - move-object/from16 v0, v46 + const/16 v5, 0x3e8 - invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_56a -- .catch Ljava/lang/Throwable; {:try_start_563 .. :try_end_56a} :catch_a5a -+ :try_end_56f -+ .catch Ljava/lang/Throwable; {:try_start_568 .. :try_end_56f} :catch_a5f +- if-eq v3, v5, :cond_521 ++ if-eq v3, v5, :cond_55d - move-object/from16 v45, v46 + move-object/from16 v0, p0 -- :goto_56c -- :try_start_56c -+ :goto_571 -+ :try_start_571 - const-string v3, "SystemServer" + iget-object v3, v0, Lcom/android/server/am/BroadcastQueue;->mService:Lcom/android/server/am/ActivityManagerService; - const-string v9, "Recognition Service" -@@ -1651,13 +1690,13 @@ - move-object/from16 v0, v100 +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 - invoke-direct {v0, v4}, Lcom/android/server/RecognitionManagerService;->(Landroid/content/Context;)V -- :try_end_57a -- .catch Ljava/lang/Throwable; {:try_start_56c .. :try_end_57a} :catch_99d -+ :try_end_57f -+ .catch Ljava/lang/Throwable; {:try_start_571 .. :try_end_57f} :catch_9a2 + iget-object v5, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; - move-object/from16 v99, v100 + iget-object v5, v5, Landroid/content/pm/ActivityInfo;->processName:Ljava/lang/String; -- :goto_57c -- :try_start_57c -+ :goto_581 -+ :try_start_581 - const-string v3, "SystemServer" +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 - const-string v9, "DiskStats Service" -@@ -1671,11 +1710,11 @@ - invoke-direct {v9, v4}, Lcom/android/server/DiskStatsService;->(Landroid/content/Context;)V + iget-object v6, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; - invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_58d -- .catch Ljava/lang/Throwable; {:try_start_57c .. :try_end_58d} :catch_9a9 -+ :try_end_592 -+ .catch Ljava/lang/Throwable; {:try_start_581 .. :try_end_592} :catch_9ae +@@ -3304,48 +3482,48 @@ -- :goto_58d -- :try_start_58d -+ :goto_592 -+ :try_start_592 - const-string v3, "SystemServer" + invoke-virtual {v3, v5, v6}, Lcom/android/server/am/ActivityManagerService;->isSingleton(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;)Z - const-string v9, "SamplingProfiler Service" -@@ -1689,11 +1728,11 @@ - invoke-direct {v9, v4}, Lcom/android/server/SamplingProfilerService;->(Landroid/content/Context;)V +- move-result v20 ++ move-result v21 - invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_59e -- .catch Ljava/lang/Throwable; {:try_start_58d .. :try_end_59e} :catch_9b5 -+ :try_end_5a3 -+ .catch Ljava/lang/Throwable; {:try_start_592 .. :try_end_5a3} :catch_9ba +- if-eqz v20, :cond_56a ++ if-eqz v21, :cond_5a6 -- :goto_59e -- :try_start_59e -+ :goto_5a3 -+ :try_start_5a3 - const-string v3, "SystemServer" +- const/16 v31, 0x0 ++ const/16 v32, 0x0 - const-string v9, "NetworkTimeUpdateService" -@@ -1705,13 +1744,13 @@ - move-object/from16 v0, v89 +- :goto_50f ++ :goto_54b + move-object/from16 v0, p0 - invoke-direct {v0, v4}, Lcom/android/server/NetworkTimeUpdateService;->(Landroid/content/Context;)V -- :try_end_5ac -- .catch Ljava/lang/Throwable; {:try_start_59e .. :try_end_5ac} :catch_9c1 -+ :try_end_5b1 -+ .catch Ljava/lang/Throwable; {:try_start_5a3 .. :try_end_5b1} :catch_9c6 + iget-object v3, v0, Lcom/android/server/am/BroadcastQueue;->mService:Lcom/android/server/am/ActivityManagerService; - move-object/from16 v88, v89 +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 -- :goto_5ae -- :try_start_5ae -+ :goto_5b3 -+ :try_start_5b3 - const-string v3, "SystemServer" + iget-object v5, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; - const-string v9, "CommonTimeManagementService" -@@ -1723,22 +1762,22 @@ - move-object/from16 v0, v54 +- move/from16 v0, v31 ++ move/from16 v0, v32 - invoke-direct {v0, v4}, Lcom/android/server/CommonTimeManagementService;->(Landroid/content/Context;)V -- :try_end_5bc -- .catch Ljava/lang/Throwable; {:try_start_5ae .. :try_end_5bc} :catch_9cd -+ :try_end_5c1 -+ .catch Ljava/lang/Throwable; {:try_start_5b3 .. :try_end_5c1} :catch_9d2 + invoke-virtual {v3, v5, v0}, Lcom/android/server/am/ActivityManagerService;->getActivityInfoForUser(Landroid/content/pm/ActivityInfo;I)Landroid/content/pm/ActivityInfo; -- :try_start_5bc -+ :try_start_5c1 - const-string v3, "commontime_management" + move-result-object v3 - move-object/from16 v0, v54 +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 - invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_5c3 -- .catch Ljava/lang/Throwable; {:try_start_5bc .. :try_end_5c3} :catch_a55 -+ :try_end_5c8 -+ .catch Ljava/lang/Throwable; {:try_start_5c1 .. :try_end_5c8} :catch_a5a + iput-object v3, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; - move-object/from16 v53, v54 +- :cond_521 +- move-object/from16 v0, v18 ++ :cond_55d ++ move-object/from16 v0, v19 -- :goto_5c5 -- :try_start_5c5 -+ :goto_5ca -+ :try_start_5ca - const-string v3, "SystemServer" + iget-object v3, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; - const-string v9, "CertBlacklister" -@@ -1748,10 +1787,10 @@ - new-instance v3, Lcom/android/server/CertBlacklister; +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - invoke-direct {v3, v4}, Lcom/android/server/CertBlacklister;->(Landroid/content/Context;)V -- :try_end_5d1 -- .catch Ljava/lang/Throwable; {:try_start_5c5 .. :try_end_5d1} :catch_9d9 -+ :try_end_5d6 -+ .catch Ljava/lang/Throwable; {:try_start_5ca .. :try_end_5d6} :catch_9de + iput-object v3, v0, Lcom/android/server/am/BroadcastRecord;->curReceiver:Landroid/content/pm/ActivityInfo; +- :try_end_529 +- .catchall {:try_start_3bf .. :try_end_529} :catchall_69 ++ :try_end_565 ++ .catchall {:try_start_3f7 .. :try_end_565} :catchall_69 -- :goto_5d1 -+ :goto_5d6 - invoke-virtual {v4}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; +- :try_start_529 ++ :try_start_565 + invoke-static {}, Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager; move-result-object v3 -@@ -1762,9 +1801,9 @@ - move-result v3 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- if-eqz v3, :cond_5f5 -+ if-eqz v3, :cond_5fa + iget-object v5, v0, Lcom/android/server/am/BroadcastRecord;->curComponent:Landroid/content/ComponentName; -- :try_start_5de -+ :try_start_5e3 - const-string v3, "SystemServer" +@@ -3355,7 +3533,7 @@ - const-string v9, "Dreams Service" -@@ -1776,23 +1815,23 @@ - move-object/from16 v0, v67 + const/4 v6, 0x0 - invoke-direct {v0, v4}, Landroid/service/dreams/DreamManagerService;->(Landroid/content/Context;)V -- :try_end_5ec -- .catch Ljava/lang/Throwable; {:try_start_5de .. :try_end_5ec} :catch_9e5 -+ :try_end_5f1 -+ .catch Ljava/lang/Throwable; {:try_start_5e3 .. :try_end_5f1} :catch_9ea +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- :try_start_5ec -+ :try_start_5f1 - const-string v3, "dreams" + iget v7, v0, Lcom/android/server/am/BroadcastRecord;->callingUid:I - move-object/from16 v0, v67 +@@ -3364,18 +3542,18 @@ + move-result v7 - invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_5f3 -- .catch Ljava/lang/Throwable; {:try_start_5ec .. :try_end_5f3} :catch_a51 -+ :try_end_5f8 -+ .catch Ljava/lang/Throwable; {:try_start_5f1 .. :try_end_5f8} :catch_a56 + invoke-interface {v3, v5, v6, v7}, Landroid/content/pm/IPackageManager;->setPackageStoppedState(Ljava/lang/String;ZI)V +- :try_end_541 +- .catchall {:try_start_529 .. :try_end_541} :catchall_69 +- .catch Landroid/os/RemoteException; {:try_start_529 .. :try_end_541} :catch_671 +- .catch Ljava/lang/IllegalArgumentException; {:try_start_529 .. :try_end_541} :catch_573 ++ :try_end_57d ++ .catchall {:try_start_565 .. :try_end_57d} :catchall_69 ++ .catch Landroid/os/RemoteException; {:try_start_565 .. :try_end_57d} :catch_6ad ++ .catch Ljava/lang/IllegalArgumentException; {:try_start_565 .. :try_end_57d} :catch_5af - move-object/from16 v66, v67 +- :goto_541 +- :try_start_541 ++ :goto_57d ++ :try_start_57d + move-object/from16 v0, p0 -- :cond_5f5 -- :goto_5f5 -- :try_start_5f5 -+ :cond_5fa -+ :goto_5fa -+ :try_start_5fa - const-string v3, "SystemServer" + iget-object v3, v0, Lcom/android/server/am/BroadcastQueue;->mService:Lcom/android/server/am/ActivityManagerService; - const-string v9, "AssetRedirectionManager Service" -@@ -1806,10 +1845,10 @@ - invoke-direct {v9, v4}, Lcom/android/server/AssetRedirectionManagerService;->(Landroid/content/Context;)V +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 - invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -- :try_end_606 -- .catch Ljava/lang/Throwable; {:try_start_5f5 .. :try_end_606} :catch_9f1 -+ :try_end_60b -+ .catch Ljava/lang/Throwable; {:try_start_5fa .. :try_end_60b} :catch_9f6 + iget-object v5, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; -- :goto_606 -+ :goto_60b - move-object/from16 v0, p0 +@@ -3387,16 +3565,16 @@ - iget-object v3, v0, Lcom/android/server/ServerThread;->mContentResolver:Landroid/content/ContentResolver; -@@ -1854,7 +1893,7 @@ + move-result-object v13 - move-result v29 +- if-eqz v13, :cond_5bc ++ if-eqz v13, :cond_5f8 -- if-eqz v29, :cond_9fd -+ if-eqz v29, :cond_a02 + iget-object v3, v13, Lcom/android/server/am/ProcessRecord;->thread:Landroid/app/IApplicationThread; +- :try_end_555 +- .catchall {:try_start_541 .. :try_end_555} :catchall_69 ++ :try_end_591 ++ .catchall {:try_start_57d .. :try_end_591} :catchall_69 - invoke-static {}, Lcom/android/server/am/ActivityManagerService;->self()Lcom/android/server/am/ActivityManagerService; +- if-eqz v3, :cond_5bc ++ if-eqz v3, :cond_5f8 -@@ -1872,38 +1911,38 @@ +- :try_start_557 +- move-object/from16 v0, v18 ++ :try_start_593 ++ move-object/from16 v0, v19 - invoke-virtual {v3}, Ldalvik/system/VMRuntime;->disableJitCompilation()V + iget-object v3, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; -- :goto_647 -- :try_start_647 -- invoke-virtual/range {v117 .. v117}, Lcom/android/server/VibratorService;->systemReady()V -- :try_end_64a -- .catch Ljava/lang/Throwable; {:try_start_647 .. :try_end_64a} :catch_a06 -- -- :goto_64a -- if-eqz v62, :cond_64f -- -+ :goto_64c - :try_start_64c -- invoke-virtual/range {v62 .. v62}, Lcom/android/server/DevicePolicyManagerService;->systemReady()V -+ invoke-virtual/range {v117 .. v117}, Lcom/android/server/VibratorService;->systemReady()V - :try_end_64f -- .catch Ljava/lang/Throwable; {:try_start_64c .. :try_end_64f} :catch_a12 -+ .catch Ljava/lang/Throwable; {:try_start_64c .. :try_end_64f} :catch_a0b +@@ -3406,30 +3584,30 @@ -- :cond_64f - :goto_64f -- if-eqz v90, :cond_654 -+ if-eqz v62, :cond_654 + move-object/from16 v0, p0 - :try_start_651 -- invoke-virtual/range {v90 .. v90}, Lcom/android/server/NotificationManagerService;->systemReady()V -+ invoke-virtual/range {v62 .. v62}, Lcom/android/server/DevicePolicyManagerService;->systemReady()V - :try_end_654 -- .catch Ljava/lang/Throwable; {:try_start_651 .. :try_end_654} :catch_a1e -+ .catch Ljava/lang/Throwable; {:try_start_651 .. :try_end_654} :catch_a17 +- move-object/from16 v1, v27 ++ move-object/from16 v1, v28 - :cond_654 - :goto_654 -- :try_start_654 -+ if-eqz v90, :cond_659 -+ -+ :try_start_656 -+ invoke-virtual/range {v90 .. v90}, Lcom/android/server/NotificationManagerService;->systemReady()V -+ :try_end_659 -+ .catch Ljava/lang/Throwable; {:try_start_656 .. :try_end_659} :catch_a23 -+ -+ :cond_659 -+ :goto_659 -+ :try_start_659 - invoke-virtual/range {v126 .. v126}, Lcom/android/server/wm/WindowManagerService;->systemReady()V -- :try_end_657 -- .catch Ljava/lang/Throwable; {:try_start_654 .. :try_end_657} :catch_a2a -+ :try_end_65c -+ .catch Ljava/lang/Throwable; {:try_start_659 .. :try_end_65c} :catch_a2f + invoke-direct {v0, v1, v13}, Lcom/android/server/am/BroadcastQueue;->processCurBroadcastLocked(Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/ProcessRecord;)V +- :try_end_567 +- .catchall {:try_start_557 .. :try_end_567} :catchall_69 +- .catch Landroid/os/RemoteException; {:try_start_557 .. :try_end_567} :catch_59f ++ :try_end_5a3 ++ .catchall {:try_start_593 .. :try_end_5a3} :catchall_69 ++ .catch Landroid/os/RemoteException; {:try_start_593 .. :try_end_5a3} :catch_5db -- :goto_657 -- if-eqz v29, :cond_660 -+ :goto_65c -+ if-eqz v29, :cond_665 +- :try_start_567 +- monitor-exit v34 ++ :try_start_5a3 ++ monitor-exit v35 - invoke-static {}, Lcom/android/server/am/ActivityManagerService;->self()Lcom/android/server/am/ActivityManagerService; + goto/16 :goto_93 -@@ -1911,7 +1950,7 @@ +- :cond_56a +- move-object/from16 v0, v27 ++ :cond_5a6 ++ move-object/from16 v0, v28 - invoke-virtual {v3}, Lcom/android/server/am/ActivityManagerService;->showSafeModeOverlay()V + iget v3, v0, Lcom/android/server/am/BroadcastRecord;->callingUid:I -- :cond_660 -+ :cond_665 - invoke-virtual/range {v126 .. v126}, Lcom/android/server/wm/WindowManagerService;->computeNewConfiguration()Landroid/content/res/Configuration; + invoke-static {v3}, Landroid/os/UserId;->getUserId(I)I - move-result-object v55 -@@ -1948,18 +1987,18 @@ +- move-result v31 ++ move-result v32 - invoke-virtual {v6}, Lcom/android/server/PowerManagerService;->systemReady()V +- goto :goto_50f ++ goto :goto_54b -- :try_start_688 -+ :try_start_68d - invoke-interface/range {v93 .. v93}, Landroid/content/pm/IPackageManager;->systemReady()V -- :try_end_68b -- .catch Ljava/lang/Throwable; {:try_start_688 .. :try_end_68b} :catch_a36 -+ :try_end_690 -+ .catch Ljava/lang/Throwable; {:try_start_68d .. :try_end_690} :catch_a3b +- :catch_573 ++ :catch_5af + move-exception v14 -- :goto_68b -- :try_start_68b -+ :goto_690 -+ :try_start_690 - invoke-virtual/range {v81 .. v81}, Lcom/android/internal/widget/LockSettingsService;->systemReady()V -- :try_end_68e -- .catch Ljava/lang/Throwable; {:try_start_68b .. :try_end_68e} :catch_a42 -+ :try_end_693 -+ .catch Ljava/lang/Throwable; {:try_start_690 .. :try_end_693} :catch_a47 + const-string v3, "BroadcastQueue" +@@ -3444,7 +3622,7 @@ -- :goto_68e -+ :goto_693 - new-instance v71, Landroid/content/IntentFilter; + move-result-object v5 - invoke-direct/range {v71 .. v71}, Landroid/content/IntentFilter;->()V -@@ -2072,7 +2111,7 @@ +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 - move-result v3 + iget-object v6, v0, Lcom/android/server/am/BroadcastRecord;->curComponent:Landroid/content/ComponentName; -- if-eqz v3, :cond_712 -+ if-eqz v3, :cond_717 +@@ -3472,9 +3650,9 @@ - const-string v3, "SystemServer" + invoke-static {v3, v5}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I -@@ -2080,7 +2119,7 @@ +- goto :goto_541 ++ goto :goto_57d - invoke-static {v3, v9}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I +- :catch_59f ++ :catch_5db + move-exception v14 -- :cond_712 -+ :cond_717 - invoke-static {}, Landroid/os/Looper;->loop()V + const-string v3, "BroadcastQueue" +@@ -3489,7 +3667,7 @@ - const-string v3, "SystemServer" -@@ -2091,25 +2130,25 @@ + move-result-object v5 - return-void +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 -- :cond_71d -+ :cond_722 - const/16 v98, 0x0 + iget-object v6, v0, Lcom/android/server/am/BroadcastRecord;->curComponent:Landroid/content/ComponentName; - goto/16 :goto_35 +@@ -3503,12 +3681,12 @@ -- :cond_721 -+ :cond_726 - const/16 v97, 0x0 + invoke-static {v3, v5, v14}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I - goto/16 :goto_47 +- :cond_5bc ++ :cond_5f8 + move-object/from16 v0, p0 -- :cond_725 -+ :cond_72a - invoke-static/range {v70 .. v70}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I + iget-object v3, v0, Lcom/android/server/am/BroadcastQueue;->mService:Lcom/android/server/am/ActivityManagerService; - move-result v69 +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 - goto/16 :goto_60 + iget-object v5, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; -- :cond_72b -- :try_start_72b -+ :cond_730 -+ :try_start_730 - const-string v3, "1" +@@ -3516,7 +3694,7 @@ - move-object/from16 v0, v61 -@@ -2130,15 +2169,15 @@ + const/4 v6, 0x1 - goto/16 :goto_119 +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 + + iget-object v7, v0, Lcom/android/server/am/BroadcastRecord;->intent:Landroid/content/Intent; + +@@ -3528,11 +3706,11 @@ + + const-string v8, "broadcast" + +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 + + iget-object v9, v0, Lcom/android/server/am/BroadcastRecord;->curComponent:Landroid/content/ComponentName; + +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 + + iget-object v10, v0, Lcom/android/server/am/BroadcastRecord;->intent:Landroid/content/Intent; + +@@ -3544,22 +3722,22 @@ + + and-int/2addr v10, v11 + +- if-eqz v10, :cond_660 ++ if-eqz v10, :cond_69c + + const/4 v10, 0x1 + +- :goto_5e5 ++ :goto_621 + const/4 v11, 0x0 + + invoke-virtual/range {v3 .. v11}, Lcom/android/server/am/ActivityManagerService;->startProcessLocked(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;ZILjava/lang/String;Landroid/content/ComponentName;ZZ)Lcom/android/server/am/ProcessRecord; + + move-result-object v3 + +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 + + iput-object v3, v0, Lcom/android/server/am/BroadcastRecord;->curApp:Lcom/android/server/am/ProcessRecord; + +- if-nez v3, :cond_662 ++ if-nez v3, :cond_69e + + const-string v3, "BroadcastQueue" + +@@ -3573,7 +3751,7 @@ + + move-result-object v5 + +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 + + iget-object v6, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; + +@@ -3591,7 +3769,7 @@ + + move-result-object v5 + +- move-object/from16 v0, v18 ++ move-object/from16 v0, v19 + + iget-object v6, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; + +@@ -3609,7 +3787,7 @@ + + move-result-object v5 + +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 + + iget-object v6, v0, Lcom/android/server/am/BroadcastRecord;->intent:Landroid/content/Intent; + +@@ -3631,23 +3809,23 @@ + + move-object/from16 v0, p0 + +- move-object/from16 v1, v27 ++ move-object/from16 v1, v28 + + invoke-virtual {v0, v1}, Lcom/android/server/am/BroadcastQueue;->logBroadcastReceiverDiscardLocked(Lcom/android/server/am/BroadcastRecord;)V + +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 + + iget v7, v0, Lcom/android/server/am/BroadcastRecord;->resultCode:I + +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 + + iget-object v8, v0, Lcom/android/server/am/BroadcastRecord;->resultData:Ljava/lang/String; + +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 + + iget-object v9, v0, Lcom/android/server/am/BroadcastRecord;->resultExtras:Landroid/os/Bundle; + +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 + + iget-boolean v10, v0, Lcom/android/server/am/BroadcastRecord;->resultAbort:Z + +@@ -3655,7 +3833,7 @@ + + move-object/from16 v5, p0 + +- move-object/from16 v6, v27 ++ move-object/from16 v6, v28 + + invoke-virtual/range {v5 .. v11}, Lcom/android/server/am/BroadcastQueue;->finishReceiverLocked(Lcom/android/server/am/BroadcastRecord;ILjava/lang/String;Landroid/os/Bundle;ZZ)Z + +@@ -3663,42 +3841,42 @@ -- :cond_740 -+ :cond_745 const/4 v3, 0x0 - goto/16 :goto_11c +- move-object/from16 v0, v27 ++ move-object/from16 v0, v28 + + iput v3, v0, Lcom/android/server/am/BroadcastRecord;->state:I + +- monitor-exit v34 ++ monitor-exit v35 + + goto/16 :goto_93 + +- :cond_660 ++ :cond_69c + const/4 v10, 0x0 + +- goto :goto_5e5 ++ goto :goto_621 + +- :cond_662 +- move-object/from16 v0, v27 ++ :cond_69e ++ move-object/from16 v0, v28 + + move-object/from16 v1, p0 + + iput-object v0, v1, Lcom/android/server/am/BroadcastQueue;->mPendingBroadcast:Lcom/android/server/am/BroadcastRecord; + +- move/from16 v0, v28 ++ move/from16 v0, v29 + + move-object/from16 v1, p0 + + iput v0, v1, Lcom/android/server/am/BroadcastQueue;->mPendingBroadcastRecvIndex:I + +- monitor-exit v34 +- :try_end_66f +- .catchall {:try_start_567 .. :try_end_66f} :catchall_69 ++ monitor-exit v35 ++ :try_end_6ab ++ .catchall {:try_start_5a3 .. :try_end_6ab} :catchall_69 + + goto/16 :goto_93 + +- :catch_671 ++ :catch_6ad + move-exception v3 + +- goto/16 :goto_541 ++ goto/16 :goto_57d + .end method + + .method public final replaceOrderedBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)Z +diff -Npru stock-services/smali/com/android/server/PrivacyTelephonyRegistry$1.smali ext-services/smali/com/android/server/PrivacyTelephonyRegistry$1.smali +--- stock-services/smali/com/android/server/PrivacyTelephonyRegistry$1.smali 1969-12-31 18:00:00.000000000 -0600 ++++ ext-services/smali/com/android/server/PrivacyTelephonyRegistry$1.smali 2012-10-12 14:19:32.046743565 -0500 +@@ -0,0 +1,180 @@ ++.class Lcom/android/server/PrivacyTelephonyRegistry$1; ++.super Landroid/content/BroadcastReceiver; ++.source "PrivacyTelephonyRegistry.java" ++ ++ ++# annotations ++.annotation system Ldalvik/annotation/EnclosingClass; ++ value = Lcom/android/server/PrivacyTelephonyRegistry; ++.end annotation ++ ++.annotation system Ldalvik/annotation/InnerClass; ++ accessFlags = 0x0 ++ name = null ++.end annotation ++ ++ ++# instance fields ++.field final synthetic this$0:Lcom/android/server/PrivacyTelephonyRegistry; ++ ++ ++# direct methods ++.method constructor (Lcom/android/server/PrivacyTelephonyRegistry;)V ++ .registers 2 ++ ++ iput-object p1, p0, Lcom/android/server/PrivacyTelephonyRegistry$1;->this$0:Lcom/android/server/PrivacyTelephonyRegistry; ++ ++ invoke-direct {p0}, Landroid/content/BroadcastReceiver;->()V ++ ++ return-void ++.end method ++ ++ ++# virtual methods ++.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V ++ .registers 10 ++ ++ const/4 v6, 0x0 ++ ++ invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String; ++ ++ move-result-object v3 ++ ++ const-string v4, "android.privacy.BLOCKED_PHONE_CALL" ++ ++ invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v3 ++ ++ if-eqz v3, :cond_44 ++ ++ new-instance v0, Landroid/os/Bundle; ++ ++ invoke-direct {v0}, Landroid/os/Bundle;->()V ++ ++ invoke-virtual {p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle; ++ ++ move-result-object v0 ++ ++ const-string v3, "packageName" ++ ++ invoke-virtual {v0, v3}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String; ++ ++ move-result-object v1 ++ ++ const-string v3, "packageName" ++ ++ invoke-virtual {v0, v3}, Landroid/os/Bundle;->containsKey(Ljava/lang/String;)Z ++ ++ move-result v3 ++ ++ if-eqz v3, :cond_45 ++ ++ const-string v3, "PrivacyTelephonyRegistry" ++ ++ new-instance v4, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v4}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v5, "got blocked phone call INTENT from package: " ++ ++ invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v4 ++ ++ const-string v5, "packageName" ++ ++ invoke-virtual {v0, v5}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v4 ++ ++ invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v4 ++ ++ invoke-static {v3, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I ++ ++ :goto_42 ++ if-nez v1, :cond_4d ++ ++ :cond_44 ++ :goto_44 ++ return-void ++ ++ :cond_45 ++ const-string v3, "PrivacyTelephonyRegistry" ++ ++ const-string v4, "got blocked phone call INTENT without package information" ++ ++ invoke-static {v3, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I ++ ++ goto :goto_42 ++ ++ :cond_4d ++ const-string v3, "phoneState" ++ ++ invoke-virtual {v0, v3}, Landroid/os/Bundle;->containsKey(Ljava/lang/String;)Z ++ ++ move-result v3 ++ ++ if-eqz v3, :cond_76 ++ ++ const-string v3, "phoneState" ++ ++ invoke-virtual {v0, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I ++ ++ move-result v2 ++ ++ packed-switch v2, :pswitch_data_7e ++ ++ goto :goto_44 ++ ++ :pswitch_5f ++ iget-object v3, p0, Lcom/android/server/PrivacyTelephonyRegistry$1;->this$0:Lcom/android/server/PrivacyTelephonyRegistry; ++ ++ const/4 v4, 0x0 ++ ++ invoke-virtual {v3, v4, v6, v1}, Lcom/android/server/PrivacyTelephonyRegistry;->notifyPrivacyCallState(ILjava/lang/String;Ljava/lang/String;)V ++ ++ goto :goto_44 ++ ++ :pswitch_66 ++ iget-object v3, p0, Lcom/android/server/PrivacyTelephonyRegistry$1;->this$0:Lcom/android/server/PrivacyTelephonyRegistry; ++ ++ const/4 v4, 0x2 ++ ++ invoke-virtual {v3, v4, v6, v1}, Lcom/android/server/PrivacyTelephonyRegistry;->notifyPrivacyCallState(ILjava/lang/String;Ljava/lang/String;)V ++ ++ goto :goto_44 ++ ++ :pswitch_6d ++ iget-object v3, p0, Lcom/android/server/PrivacyTelephonyRegistry$1;->this$0:Lcom/android/server/PrivacyTelephonyRegistry; ++ ++ const/4 v4, 0x1 ++ ++ const-string v5, "12345" ++ ++ invoke-virtual {v3, v4, v5, v1}, Lcom/android/server/PrivacyTelephonyRegistry;->notifyPrivacyCallState(ILjava/lang/String;Ljava/lang/String;)V ++ ++ goto :goto_44 ++ ++ :cond_76 ++ const-string v3, "PrivacyTelephonyRegistry" ++ ++ const-string v4, "we forgot to put phoneState in Intent?" ++ ++ invoke-static {v3, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I ++ ++ goto :goto_44 ++ ++ :pswitch_data_7e ++ .packed-switch 0x0 ++ :pswitch_5f ++ :pswitch_6d ++ :pswitch_66 ++ .end packed-switch ++.end method +diff -Npru stock-services/smali/com/android/server/PrivacyTelephonyRegistry.smali ext-services/smali/com/android/server/PrivacyTelephonyRegistry.smali +--- stock-services/smali/com/android/server/PrivacyTelephonyRegistry.smali 1969-12-31 18:00:00.000000000 -0600 ++++ ext-services/smali/com/android/server/PrivacyTelephonyRegistry.smali 2012-10-12 14:19:32.062743646 -0500 +@@ -0,0 +1,1410 @@ ++.class public Lcom/android/server/PrivacyTelephonyRegistry; ++.super Lcom/android/server/TelephonyRegistry; ++.source "PrivacyTelephonyRegistry.java" ++ ++ ++# static fields ++.field private static final PERMISSION_CALL_STATE:I = 0x3 ++ ++.field private static final PERMISSION_CELL_INFO:I = 0x1 ++ ++.field private static final PERMISSION_CELL_LOCATION:I = 0x0 ++ ++.field private static final PERMISSION_SERVICE_STATE:I = 0x4 ++ ++.field private static final PERMISSION_SIGNAL_STRENGTH:I = 0x2 ++ ++.field private static final P_TAG:Ljava/lang/String; = "PrivacyTelephonyRegistry" ++ ++ ++# instance fields ++.field private pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++.field private final privacyReceiver:Landroid/content/BroadcastReceiver; ++ ++ ++# direct methods ++.method public constructor (Landroid/content/Context;)V ++ .registers 5 ++ ++ invoke-direct {p0, p1}, Lcom/android/server/TelephonyRegistry;->(Landroid/content/Context;)V ++ ++ new-instance v1, Lcom/android/server/PrivacyTelephonyRegistry$1; ++ ++ invoke-direct {v1, p0}, Lcom/android/server/PrivacyTelephonyRegistry$1;->(Lcom/android/server/PrivacyTelephonyRegistry;)V ++ ++ iput-object v1, p0, Lcom/android/server/PrivacyTelephonyRegistry;->privacyReceiver:Landroid/content/BroadcastReceiver; ++ ++ new-instance v1, Landroid/privacy/PrivacySettingsManager; ++ ++ const-string v2, "privacy" ++ ++ invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder; ++ ++ move-result-object v2 ++ ++ invoke-static {v2}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager; ++ ++ move-result-object v2 ++ ++ invoke-direct {v1, p1, v2}, Landroid/privacy/PrivacySettingsManager;->(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V ++ ++ iput-object v1, p0, Lcom/android/server/PrivacyTelephonyRegistry;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ :try_start_1b ++ invoke-direct {p0}, Lcom/android/server/PrivacyTelephonyRegistry;->registerPrivacy()V ++ :try_end_1e ++ .catch Ljava/lang/Exception; {:try_start_1b .. :try_end_1e} :catch_26 ++ ++ :goto_1e ++ const-string v1, "PrivacyTelephonyRegistry" ++ ++ const-string v2, "constructor ready" ++ ++ invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I ++ ++ return-void ++ ++ :catch_26 ++ move-exception v0 ++ ++ const-string v1, "PrivacyTelephonyRegistry" ++ ++ const-string v2, "failed to register privacy broadcastreceiver" ++ ++ invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ ++ goto :goto_1e ++.end method ++ ++.method private isPackageAllowed(ILjava/lang/String;)Z ++ .registers 8 ++ ++ const/4 v2, 0x1 ++ ++ const/4 v1, 0x0 ++ ++ iget-object v3, p0, Lcom/android/server/PrivacyTelephonyRegistry;->pSetMan:Landroid/privacy/PrivacySettingsManager; ++ ++ invoke-static {}, Landroid/os/Process;->myUid()I ++ ++ move-result v4 ++ ++ invoke-virtual {v3, p2, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings; ++ ++ move-result-object v0 ++ ++ if-nez v0, :cond_f ++ ++ :cond_e ++ :goto_e ++ return v1 ++ ++ :cond_f ++ packed-switch p1, :pswitch_data_42 ++ ++ goto :goto_e ++ ++ :pswitch_13 ++ invoke-virtual {v0}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B ++ ++ move-result v3 ++ ++ if-nez v3, :cond_e ++ ++ invoke-virtual {v0}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B ++ ++ move-result v3 ++ ++ if-nez v3, :cond_e ++ ++ move v1, v2 ++ ++ goto :goto_e ++ ++ :pswitch_21 ++ invoke-virtual {v0}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B ++ ++ move-result v3 ++ ++ if-nez v3, :cond_e ++ ++ move v1, v2 ++ ++ goto :goto_e ++ ++ :pswitch_29 ++ invoke-virtual {v0}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B ++ ++ move-result v3 ++ ++ if-nez v3, :cond_e ++ ++ move v1, v2 ++ ++ goto :goto_e ++ ++ :pswitch_31 ++ invoke-virtual {v0}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B ++ ++ move-result v3 ++ ++ if-nez v3, :cond_e ++ ++ move v1, v2 ++ ++ goto :goto_e ++ ++ :pswitch_39 ++ invoke-virtual {v0}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B ++ ++ move-result v3 ++ ++ if-nez v3, :cond_e ++ ++ move v1, v2 ++ ++ goto :goto_e ++ ++ nop ++ ++ :pswitch_data_42 ++ .packed-switch 0x0 ++ :pswitch_13 ++ :pswitch_21 ++ :pswitch_29 ++ :pswitch_31 ++ :pswitch_39 ++ .end packed-switch ++.end method ++ ++.method private registerPrivacy()V ++ .registers 4 ++ ++ new-instance v0, Landroid/content/IntentFilter; ++ ++ const-string v1, "android.privacy.BLOCKED_PHONE_CALL" ++ ++ invoke-direct {v0, v1}, Landroid/content/IntentFilter;->(Ljava/lang/String;)V ++ ++ iget-object v1, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mContext:Landroid/content/Context; ++ ++ iget-object v2, p0, Lcom/android/server/PrivacyTelephonyRegistry;->privacyReceiver:Landroid/content/BroadcastReceiver; ++ ++ invoke-virtual {v1, v2, v0}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent; ++ ++ return-void ++.end method ++ ++ ++# virtual methods ++.method public bridge synthetic dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V ++ .registers 4 ++ ++ invoke-super {p0, p1, p2, p3}, Lcom/android/server/TelephonyRegistry;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V ++ ++ return-void ++.end method ++ ++.method public listen(Ljava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;IZ)V ++ .registers 19 ++ ++ :try_start_0 ++ invoke-direct {p0}, Lcom/android/server/PrivacyTelephonyRegistry;->registerPrivacy()V ++ :try_end_3 ++ .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_3} :catch_af ++ ++ :goto_3 ++ if-eqz p3, :cond_110 ++ ++ move/from16 v0, p3 ++ ++ invoke-virtual {p0, v0}, Lcom/android/server/PrivacyTelephonyRegistry;->checkListenerPermission(I)V ++ ++ iget-object v11, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mRecords:Ljava/util/ArrayList; ++ ++ monitor-enter v11 ++ ++ const/4 v7, 0x0 ++ ++ :try_start_e ++ invoke-interface/range {p2 .. p2}, Lcom/android/internal/telephony/IPhoneStateListener;->asBinder()Landroid/os/IBinder; ++ ++ move-result-object v2 ++ ++ iget-object v10, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mRecords:Ljava/util/ArrayList; ++ ++ invoke-virtual {v10}, Ljava/util/ArrayList;->size()I ++ :try_end_17 ++ .catchall {:try_start_e .. :try_end_17} :catchall_d2 ++ ++ move-result v1 ++ ++ const/4 v6, 0x0 ++ ++ move-object v8, v7 ++ ++ :goto_1a ++ if-ge v6, v1, :cond_be ++ ++ :try_start_1c ++ iget-object v10, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mRecords:Ljava/util/ArrayList; ++ ++ invoke-virtual {v10, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; ++ ++ move-result-object v7 ++ ++ check-cast v7, Lcom/android/server/TelephonyRegistry$Record; ++ :try_end_24 ++ .catchall {:try_start_1c .. :try_end_24} :catchall_118 ++ ++ :try_start_24 ++ iget-object v10, v7, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; ++ ++ if-ne v2, v10, :cond_b9 ++ ++ :goto_28 ++ iget v10, v7, Lcom/android/server/TelephonyRegistry$Record;->events:I ++ ++ xor-int v10, v10, p3 ++ ++ and-int v9, p3, v10 ++ ++ move/from16 v0, p3 ++ ++ iput v0, v7, Lcom/android/server/TelephonyRegistry$Record;->events:I ++ :try_end_32 ++ .catchall {:try_start_24 .. :try_end_32} :catchall_d2 ++ ++ if-eqz p4, :cond_ad ++ ++ and-int/lit8 v10, p3, 0x1 ++ ++ if-eqz v10, :cond_38 ++ ++ :cond_38 ++ and-int/lit8 v10, p3, 0x2 ++ ++ if-eqz v10, :cond_4c ++ ++ :try_start_3c ++ iget-object v10, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mSignalStrength:Landroid/telephony/SignalStrength; ++ ++ invoke-virtual {v10}, Landroid/telephony/SignalStrength;->getGsmSignalStrength()I ++ ++ move-result v5 ++ ++ iget-object v10, v7, Lcom/android/server/TelephonyRegistry$Record;->callback:Lcom/android/internal/telephony/IPhoneStateListener; ++ ++ const/16 v12, 0x63 ++ ++ if-ne v5, v12, :cond_49 ++ ++ const/4 v5, -0x1 ++ ++ :cond_49 ++ invoke-interface {v10, v5}, Lcom/android/internal/telephony/IPhoneStateListener;->onSignalStrengthChanged(I)V ++ :try_end_4c ++ .catchall {:try_start_3c .. :try_end_4c} :catchall_d2 ++ .catch Landroid/os/RemoteException; {:try_start_3c .. :try_end_4c} :catch_d5 ++ ++ :cond_4c ++ :goto_4c ++ and-int/lit8 v10, p3, 0x4 ++ ++ if-eqz v10, :cond_57 ++ ++ :try_start_50 ++ iget-object v10, v7, Lcom/android/server/TelephonyRegistry$Record;->callback:Lcom/android/internal/telephony/IPhoneStateListener; ++ ++ iget-boolean v12, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mMessageWaiting:Z ++ ++ invoke-interface {v10, v12}, Lcom/android/internal/telephony/IPhoneStateListener;->onMessageWaitingIndicatorChanged(Z)V ++ :try_end_57 ++ .catchall {:try_start_50 .. :try_end_57} :catchall_d2 ++ .catch Landroid/os/RemoteException; {:try_start_50 .. :try_end_57} :catch_dd ++ ++ :cond_57 ++ :goto_57 ++ and-int/lit8 v10, p3, 0x8 ++ ++ if-eqz v10, :cond_62 ++ ++ :try_start_5b ++ iget-object v10, v7, Lcom/android/server/TelephonyRegistry$Record;->callback:Lcom/android/internal/telephony/IPhoneStateListener; ++ ++ iget-boolean v12, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mCallForwarding:Z ++ ++ invoke-interface {v10, v12}, Lcom/android/internal/telephony/IPhoneStateListener;->onCallForwardingIndicatorChanged(Z)V ++ :try_end_62 ++ .catchall {:try_start_5b .. :try_end_62} :catchall_d2 ++ .catch Landroid/os/RemoteException; {:try_start_5b .. :try_end_62} :catch_e5 ++ ++ :cond_62 ++ :goto_62 ++ and-int/lit8 v10, p3, 0x10 ++ ++ if-eqz v10, :cond_66 ++ ++ :cond_66 ++ and-int/lit8 v10, p3, 0x20 ++ ++ if-eqz v10, :cond_73 ++ ++ :try_start_6a ++ iget-object v10, v7, Lcom/android/server/TelephonyRegistry$Record;->callback:Lcom/android/internal/telephony/IPhoneStateListener; ++ ++ iget v12, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mCallState:I ++ ++ iget-object v13, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mCallIncomingNumber:Ljava/lang/String; ++ ++ invoke-interface {v10, v12, v13}, Lcom/android/internal/telephony/IPhoneStateListener;->onCallStateChanged(ILjava/lang/String;)V ++ :try_end_73 ++ .catchall {:try_start_6a .. :try_end_73} :catchall_d2 ++ .catch Landroid/os/RemoteException; {:try_start_6a .. :try_end_73} :catch_ed ++ ++ :cond_73 ++ :goto_73 ++ and-int/lit8 v10, p3, 0x40 ++ ++ if-eqz v10, :cond_80 ++ ++ :try_start_77 ++ iget-object v10, v7, Lcom/android/server/TelephonyRegistry$Record;->callback:Lcom/android/internal/telephony/IPhoneStateListener; ++ ++ iget v12, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mDataConnectionState:I ++ ++ iget v13, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mDataConnectionNetworkType:I ++ ++ invoke-interface {v10, v12, v13}, Lcom/android/internal/telephony/IPhoneStateListener;->onDataConnectionStateChanged(II)V ++ :try_end_80 ++ .catchall {:try_start_77 .. :try_end_80} :catchall_d2 ++ .catch Landroid/os/RemoteException; {:try_start_77 .. :try_end_80} :catch_f4 ++ ++ :cond_80 ++ :goto_80 ++ move/from16 v0, p3 ++ ++ and-int/lit16 v10, v0, 0x80 ++ ++ if-eqz v10, :cond_8d ++ ++ :try_start_86 ++ iget-object v10, v7, Lcom/android/server/TelephonyRegistry$Record;->callback:Lcom/android/internal/telephony/IPhoneStateListener; ++ ++ iget v12, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mDataActivity:I ++ ++ invoke-interface {v10, v12}, Lcom/android/internal/telephony/IPhoneStateListener;->onDataActivity(I)V ++ :try_end_8d ++ .catchall {:try_start_86 .. :try_end_8d} :catchall_d2 ++ .catch Landroid/os/RemoteException; {:try_start_86 .. :try_end_8d} :catch_fb ++ ++ :cond_8d ++ :goto_8d ++ move/from16 v0, p3 ++ ++ and-int/lit16 v10, v0, 0x100 ++ ++ if-eqz v10, :cond_9a ++ ++ :try_start_93 ++ iget-object v10, v7, Lcom/android/server/TelephonyRegistry$Record;->callback:Lcom/android/internal/telephony/IPhoneStateListener; ++ ++ iget-object v12, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mSignalStrength:Landroid/telephony/SignalStrength; ++ ++ invoke-interface {v10, v12}, Lcom/android/internal/telephony/IPhoneStateListener;->onSignalStrengthsChanged(Landroid/telephony/SignalStrength;)V ++ :try_end_9a ++ .catchall {:try_start_93 .. :try_end_9a} :catchall_d2 ++ .catch Landroid/os/RemoteException; {:try_start_93 .. :try_end_9a} :catch_102 ++ ++ :cond_9a ++ :goto_9a ++ move/from16 v0, p3 ++ ++ and-int/lit16 v10, v0, 0x200 ++ ++ if-eqz v10, :cond_a7 ++ ++ :try_start_a0 ++ iget-object v10, v7, Lcom/android/server/TelephonyRegistry$Record;->callback:Lcom/android/internal/telephony/IPhoneStateListener; ++ ++ iget v12, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mOtaspMode:I ++ ++ invoke-interface {v10, v12}, Lcom/android/internal/telephony/IPhoneStateListener;->onOtaspChanged(I)V ++ :try_end_a7 ++ .catchall {:try_start_a0 .. :try_end_a7} :catchall_d2 ++ .catch Landroid/os/RemoteException; {:try_start_a0 .. :try_end_a7} :catch_109 ++ ++ :cond_a7 ++ :goto_a7 ++ move/from16 v0, p3 ++ ++ and-int/lit16 v10, v0, 0x400 ++ ++ if-eqz v10, :cond_ad ++ ++ :cond_ad ++ :try_start_ad ++ monitor-exit v11 ++ :try_end_ae ++ .catchall {:try_start_ad .. :try_end_ae} :catchall_d2 ++ ++ :goto_ae ++ return-void ++ ++ :catch_af ++ move-exception v3 ++ ++ const-string v10, "PrivacyTelephonyRegistry" ++ ++ const-string v11, "failed to register privacy broadcastreceiver" ++ ++ invoke-static {v10, v11}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I ++ ++ goto/16 :goto_3 ++ ++ :cond_b9 ++ add-int/lit8 v6, v6, 0x1 ++ ++ move-object v8, v7 ++ ++ goto/16 :goto_1a ++ ++ :cond_be ++ :try_start_be ++ new-instance v7, Lcom/android/server/TelephonyRegistry$Record; ++ ++ invoke-direct {v7}, Lcom/android/server/TelephonyRegistry$Record;->()V ++ :try_end_c3 ++ .catchall {:try_start_be .. :try_end_c3} :catchall_118 ++ ++ :try_start_c3 ++ iput-object v2, v7, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; ++ ++ move-object/from16 v0, p2 ++ ++ iput-object v0, v7, Lcom/android/server/TelephonyRegistry$Record;->callback:Lcom/android/internal/telephony/IPhoneStateListener; ++ ++ iput-object p1, v7, Lcom/android/server/TelephonyRegistry$Record;->pkgForDebug:Ljava/lang/String; ++ ++ iget-object v10, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mRecords:Ljava/util/ArrayList; ++ ++ invoke-virtual {v10, v7}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z ++ ++ goto/16 :goto_28 ++ ++ :catchall_d2 ++ move-exception v10 ++ ++ :goto_d3 ++ monitor-exit v11 ++ :try_end_d4 ++ .catchall {:try_start_c3 .. :try_end_d4} :catchall_d2 ++ ++ throw v10 ++ ++ :catch_d5 ++ move-exception v4 ++ ++ :try_start_d6 ++ iget-object v10, v7, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; ++ ++ invoke-virtual {p0, v10}, Lcom/android/server/PrivacyTelephonyRegistry;->remove(Landroid/os/IBinder;)V ++ ++ goto/16 :goto_4c ++ ++ :catch_dd ++ move-exception v4 ++ ++ iget-object v10, v7, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; ++ ++ invoke-virtual {p0, v10}, Lcom/android/server/PrivacyTelephonyRegistry;->remove(Landroid/os/IBinder;)V ++ ++ goto/16 :goto_57 ++ ++ :catch_e5 ++ move-exception v4 ++ ++ iget-object v10, v7, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; ++ ++ invoke-virtual {p0, v10}, Lcom/android/server/PrivacyTelephonyRegistry;->remove(Landroid/os/IBinder;)V ++ ++ goto/16 :goto_62 ++ ++ :catch_ed ++ move-exception v4 ++ ++ iget-object v10, v7, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; ++ ++ invoke-virtual {p0, v10}, Lcom/android/server/PrivacyTelephonyRegistry;->remove(Landroid/os/IBinder;)V ++ ++ goto :goto_73 ++ ++ :catch_f4 ++ move-exception v4 ++ ++ iget-object v10, v7, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; ++ ++ invoke-virtual {p0, v10}, Lcom/android/server/PrivacyTelephonyRegistry;->remove(Landroid/os/IBinder;)V ++ ++ goto :goto_80 ++ ++ :catch_fb ++ move-exception v4 ++ ++ iget-object v10, v7, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; ++ ++ invoke-virtual {p0, v10}, Lcom/android/server/PrivacyTelephonyRegistry;->remove(Landroid/os/IBinder;)V ++ ++ goto :goto_8d ++ ++ :catch_102 ++ move-exception v4 ++ ++ iget-object v10, v7, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; ++ ++ invoke-virtual {p0, v10}, Lcom/android/server/PrivacyTelephonyRegistry;->remove(Landroid/os/IBinder;)V ++ ++ goto :goto_9a ++ ++ :catch_109 ++ move-exception v4 ++ ++ iget-object v10, v7, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; ++ ++ invoke-virtual {p0, v10}, Lcom/android/server/PrivacyTelephonyRegistry;->remove(Landroid/os/IBinder;)V ++ :try_end_10f ++ .catchall {:try_start_d6 .. :try_end_10f} :catchall_d2 ++ ++ goto :goto_a7 ++ ++ :cond_110 ++ invoke-interface/range {p2 .. p2}, Lcom/android/internal/telephony/IPhoneStateListener;->asBinder()Landroid/os/IBinder; ++ ++ move-result-object v10 ++ ++ invoke-virtual {p0, v10}, Lcom/android/server/PrivacyTelephonyRegistry;->remove(Landroid/os/IBinder;)V ++ ++ goto :goto_ae ++ ++ :catchall_118 ++ move-exception v10 ++ ++ move-object v7, v8 ++ ++ goto :goto_d3 ++.end method ++ ++.method public bridge synthetic notifyCallForwardingChanged(Z)V ++ .registers 2 ++ ++ invoke-super {p0, p1}, Lcom/android/server/TelephonyRegistry;->notifyCallForwardingChanged(Z)V ++ ++ return-void ++.end method ++ ++.method public bridge synthetic notifyCallState(ILjava/lang/String;)V ++ .registers 3 ++ ++ invoke-super {p0, p1, p2}, Lcom/android/server/TelephonyRegistry;->notifyCallState(ILjava/lang/String;)V ++ ++ return-void ++.end method ++ ++.method public notifyCellInfo(Landroid/telephony/CellInfo;)V ++ .registers 24 ++ ++ const-string v2, "notifyCellInfo()" ++ ++ move-object/from16 v0, p0 ++ ++ invoke-virtual {v0, v2}, Lcom/android/server/PrivacyTelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z ++ ++ move-result v2 ++ ++ if-nez v2, :cond_b ++ ++ :goto_a ++ return-void ++ ++ :cond_b ++ move-object/from16 v0, p0 ++ ++ iget-object v15, v0, Lcom/android/server/PrivacyTelephonyRegistry;->mRecords:Ljava/util/ArrayList; ++ ++ monitor-enter v15 ++ ++ :try_start_10 ++ move-object/from16 v0, p1 ++ ++ move-object/from16 v1, p0 ++ ++ iput-object v0, v1, Lcom/android/server/PrivacyTelephonyRegistry;->mCellInfo:Landroid/telephony/CellInfo; ++ ++ move-object/from16 v0, p0 ++ ++ iget-object v2, v0, Lcom/android/server/PrivacyTelephonyRegistry;->mRecords:Ljava/util/ArrayList; ++ ++ invoke-virtual {v2}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; ++ ++ move-result-object v13 ++ ++ :cond_1e ++ :goto_1e ++ invoke-interface {v13}, Ljava/util/Iterator;->hasNext()Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_cb ++ ++ invoke-interface {v13}, Ljava/util/Iterator;->next()Ljava/lang/Object; ++ ++ move-result-object v14 ++ ++ check-cast v14, Lcom/android/server/TelephonyRegistry$Record; ++ ++ iget v2, v14, Lcom/android/server/TelephonyRegistry$Record;->events:I ++ :try_end_2c ++ .catchall {:try_start_10 .. :try_end_2c} :catchall_9a ++ ++ and-int/lit16 v2, v2, 0x400 ++ ++ if-eqz v2, :cond_1e ++ ++ const/4 v2, 0x1 ++ ++ :try_start_31 ++ iget-object v3, v14, Lcom/android/server/TelephonyRegistry$Record;->pkgForDebug:Ljava/lang/String; ++ ++ move-object/from16 v0, p0 ++ ++ invoke-direct {v0, v2, v3}, Lcom/android/server/PrivacyTelephonyRegistry;->isPackageAllowed(ILjava/lang/String;)Z ++ ++ move-result v2 ++ ++ if-nez v2, :cond_9d ++ ++ iget-object v0, v14, Lcom/android/server/TelephonyRegistry$Record;->callback:Lcom/android/internal/telephony/IPhoneStateListener; ++ ++ move-object/from16 v16, v0 ++ ++ new-instance v17, Landroid/telephony/CellInfo; ++ ++ const/4 v11, 0x0 ++ ++ invoke-static {}, Ljava/lang/System;->currentTimeMillis()J ++ ++ move-result-wide v18 ++ ++ invoke-static {}, Ljava/lang/System;->currentTimeMillis()J ++ ++ move-result-wide v20 ++ ++ const/4 v9, 0x1 ++ ++ new-instance v10, Landroid/telephony/SignalStrength; ++ ++ invoke-direct {v10}, Landroid/telephony/SignalStrength;->()V ++ ++ new-instance v2, Landroid/telephony/GsmCellIdentity; ++ ++ const/16 v3, 0xb ++ ++ const/16 v4, 0xb ++ ++ const/16 v5, 0x225 ++ ++ const/16 v6, 0x221 ++ ++ const/4 v7, 0x2 ++ ++ const-string v8, "unknown" ++ ++ invoke-direct/range {v2 .. v8}, Landroid/telephony/GsmCellIdentity;->(IIIIILjava/lang/String;)V ++ ++ move-object/from16 v3, v17 ++ ++ move v4, v11 ++ ++ move-wide/from16 v5, v18 ++ ++ move-wide/from16 v7, v20 ++ ++ move-object v11, v2 ++ ++ invoke-direct/range {v3 .. v11}, Landroid/telephony/CellInfo;->(IJJZLandroid/telephony/SignalStrength;Landroid/telephony/CellIdentity;)V ++ ++ invoke-interface/range {v16 .. v17}, Lcom/android/internal/telephony/IPhoneStateListener;->onCellInfoChanged(Landroid/telephony/CellInfo;)V ++ ++ const-string v2, "PrivacyTelephonyRegistry" ++ ++ new-instance v3, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v4, "package: " ++ ++ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ iget-object v4, v14, Lcom/android/server/TelephonyRegistry$Record;->pkgForDebug:Ljava/lang/String; ++ ++ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ const-string v4, " blocked for Cellinfo" ++ ++ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v3 ++ ++ invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_8e ++ .catchall {:try_start_31 .. :try_end_8e} :catchall_9a ++ .catch Landroid/os/RemoteException; {:try_start_31 .. :try_end_8e} :catch_8f ++ ++ goto :goto_1e ++ ++ :catch_8f ++ move-exception v12 ++ ++ :try_start_90 ++ move-object/from16 v0, p0 ++ ++ iget-object v2, v0, Lcom/android/server/PrivacyTelephonyRegistry;->mRemoveList:Ljava/util/ArrayList; ++ ++ iget-object v3, v14, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; ++ ++ invoke-virtual {v2, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z ++ ++ goto :goto_1e ++ ++ :catchall_9a ++ move-exception v2 ++ ++ monitor-exit v15 ++ :try_end_9c ++ .catchall {:try_start_90 .. :try_end_9c} :catchall_9a ++ ++ throw v2 ++ ++ :cond_9d ++ :try_start_9d ++ iget-object v2, v14, Lcom/android/server/TelephonyRegistry$Record;->callback:Lcom/android/internal/telephony/IPhoneStateListener; ++ ++ new-instance v3, Landroid/telephony/CellInfo; ++ ++ move-object/from16 v0, p1 ++ ++ invoke-direct {v3, v0}, Landroid/telephony/CellInfo;->(Landroid/telephony/CellInfo;)V ++ ++ invoke-interface {v2, v3}, Lcom/android/internal/telephony/IPhoneStateListener;->onCellInfoChanged(Landroid/telephony/CellInfo;)V ++ ++ const-string v2, "PrivacyTelephonyRegistry" ++ ++ new-instance v3, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v4, "package: " ++ ++ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ iget-object v4, v14, Lcom/android/server/TelephonyRegistry$Record;->pkgForDebug:Ljava/lang/String; ++ ++ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ const-string v4, " allowed for Cellinfo" ++ ++ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v3 ++ ++ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v3 ++ ++ invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_c9 ++ .catchall {:try_start_9d .. :try_end_c9} :catchall_9a ++ .catch Landroid/os/RemoteException; {:try_start_9d .. :try_end_c9} :catch_8f ++ ++ goto/16 :goto_1e ++ ++ :cond_cb ++ :try_start_cb ++ invoke-virtual/range {p0 .. p0}, Lcom/android/server/PrivacyTelephonyRegistry;->handleRemoveListLocked()V ++ ++ monitor-exit v15 ++ :try_end_cf ++ .catchall {:try_start_cb .. :try_end_cf} :catchall_9a ++ ++ goto/16 :goto_a ++.end method ++ ++.method public notifyCellLocation(Landroid/os/Bundle;)V ++ .registers 14 ++ ++ const-string v8, "notifyCellLocation()" ++ ++ invoke-virtual {p0, v8}, Lcom/android/server/PrivacyTelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z ++ ++ move-result v8 ++ ++ if-nez v8, :cond_9 ++ ++ :goto_8 ++ return-void ++ ++ :cond_9 ++ iget-object v9, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mRecords:Ljava/util/ArrayList; ++ ++ monitor-enter v9 ++ ++ :try_start_c ++ iput-object p1, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mCellLocation:Landroid/os/Bundle; ++ :try_end_e ++ .catchall {:try_start_c .. :try_end_e} :catchall_7f ++ ++ const/4 v4, 0x0 ++ ++ const/4 v2, 0x0 ++ ++ :try_start_10 ++ const-string v8, "lac" ++ ++ invoke-virtual {p1, v8}, Landroid/os/Bundle;->containsKey(Ljava/lang/String;)Z ++ :try_end_15 ++ .catchall {:try_start_10 .. :try_end_15} :catchall_7f ++ .catch Ljava/lang/Exception; {:try_start_10 .. :try_end_15} :catch_84 ++ ++ move-result v8 ++ ++ if-eqz v8, :cond_82 ++ ++ const/4 v4, 0x0 ++ ++ :goto_19 ++ :try_start_19 ++ iget-object v8, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mRecords:Ljava/util/ArrayList; ++ ++ invoke-virtual {v8}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; ++ ++ move-result-object v3 ++ ++ :cond_1f ++ :goto_1f ++ invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z ++ ++ move-result v8 ++ ++ if-eqz v8, :cond_bc ++ ++ invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; ++ ++ move-result-object v6 ++ ++ check-cast v6, Lcom/android/server/TelephonyRegistry$Record; ++ ++ iget v8, v6, Lcom/android/server/TelephonyRegistry$Record;->events:I ++ :try_end_2d ++ .catchall {:try_start_19 .. :try_end_2d} :catchall_7f ++ ++ and-int/lit8 v8, v8, 0x10 ++ ++ if-eqz v8, :cond_1f ++ ++ const/4 v8, 0x0 ++ ++ :try_start_32 ++ iget-object v10, v6, Lcom/android/server/TelephonyRegistry$Record;->pkgForDebug:Ljava/lang/String; ++ ++ invoke-direct {p0, v8, v10}, Lcom/android/server/PrivacyTelephonyRegistry;->isPackageAllowed(ILjava/lang/String;)Z ++ ++ move-result v8 ++ ++ if-nez v8, :cond_90 ++ ++ if-nez v2, :cond_90 ++ ++ new-instance v5, Landroid/os/Bundle; ++ ++ invoke-direct {v5}, Landroid/os/Bundle;->()V ++ ++ if-eqz v4, :cond_87 ++ ++ new-instance v7, Landroid/telephony/cdma/CdmaCellLocation; ++ ++ invoke-direct {v7}, Landroid/telephony/cdma/CdmaCellLocation;->()V ++ ++ invoke-virtual {v7, v5}, Landroid/telephony/cdma/CdmaCellLocation;->fillInNotifierBundle(Landroid/os/Bundle;)V ++ ++ :goto_4b ++ iget-object v8, v6, Lcom/android/server/TelephonyRegistry$Record;->callback:Lcom/android/internal/telephony/IPhoneStateListener; ++ ++ new-instance v10, Landroid/os/Bundle; ++ ++ invoke-direct {v10, v5}, Landroid/os/Bundle;->(Landroid/os/Bundle;)V ++ ++ invoke-interface {v8, v10}, Lcom/android/internal/telephony/IPhoneStateListener;->onCellLocationChanged(Landroid/os/Bundle;)V ++ ++ const-string v8, "PrivacyTelephonyRegistry" ++ ++ new-instance v10, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v10}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v11, "package: " ++ ++ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v10 ++ ++ iget-object v11, v6, Lcom/android/server/TelephonyRegistry$Record;->pkgForDebug:Ljava/lang/String; ++ ++ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v10 ++ ++ const-string v11, " blocked for CellLocation" ++ ++ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v10 ++ ++ invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v10 ++ ++ invoke-static {v8, v10}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_75 ++ .catchall {:try_start_32 .. :try_end_75} :catchall_7f ++ .catch Landroid/os/RemoteException; {:try_start_32 .. :try_end_75} :catch_76 ++ ++ goto :goto_1f ++ ++ :catch_76 ++ move-exception v1 ++ ++ :try_start_77 ++ iget-object v8, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mRemoveList:Ljava/util/ArrayList; ++ ++ iget-object v10, v6, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; ++ ++ invoke-virtual {v8, v10}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z ++ ++ goto :goto_1f ++ ++ :catchall_7f ++ move-exception v8 ++ ++ monitor-exit v9 ++ :try_end_81 ++ .catchall {:try_start_77 .. :try_end_81} :catchall_7f ++ ++ throw v8 ++ ++ :cond_82 ++ const/4 v4, 0x1 ++ ++ goto :goto_19 ++ ++ :catch_84 ++ move-exception v0 ++ ++ const/4 v2, 0x1 ++ ++ goto :goto_19 ++ ++ :cond_87 ++ :try_start_87 ++ new-instance v7, Landroid/telephony/gsm/GsmCellLocation; ++ ++ invoke-direct {v7}, Landroid/telephony/gsm/GsmCellLocation;->()V ++ ++ invoke-virtual {v7, v5}, Landroid/telephony/gsm/GsmCellLocation;->fillInNotifierBundle(Landroid/os/Bundle;)V ++ ++ goto :goto_4b ++ ++ :cond_90 ++ iget-object v8, v6, Lcom/android/server/TelephonyRegistry$Record;->callback:Lcom/android/internal/telephony/IPhoneStateListener; ++ ++ new-instance v10, Landroid/os/Bundle; ++ ++ invoke-direct {v10, p1}, Landroid/os/Bundle;->(Landroid/os/Bundle;)V ++ ++ invoke-interface {v8, v10}, Lcom/android/internal/telephony/IPhoneStateListener;->onCellLocationChanged(Landroid/os/Bundle;)V ++ ++ const-string v8, "PrivacyTelephonyRegistry" ++ ++ new-instance v10, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v10}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v11, "package: " ++ ++ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v10 ++ ++ iget-object v11, v6, Lcom/android/server/TelephonyRegistry$Record;->pkgForDebug:Ljava/lang/String; ++ ++ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v10 ++ ++ const-string v11, " allowed for CellLocation" ++ ++ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v10 ++ ++ invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v10 ++ ++ invoke-static {v8, v10}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_ba ++ .catchall {:try_start_87 .. :try_end_ba} :catchall_7f ++ .catch Landroid/os/RemoteException; {:try_start_87 .. :try_end_ba} :catch_76 ++ ++ goto/16 :goto_1f ++ ++ :cond_bc ++ :try_start_bc ++ invoke-virtual {p0}, Lcom/android/server/PrivacyTelephonyRegistry;->handleRemoveListLocked()V ++ ++ monitor-exit v9 ++ :try_end_c0 ++ .catchall {:try_start_bc .. :try_end_c0} :catchall_7f ++ ++ goto/16 :goto_8 ++.end method ++ ++.method public bridge synthetic notifyDataActivity(I)V ++ .registers 2 ++ ++ invoke-super {p0, p1}, Lcom/android/server/TelephonyRegistry;->notifyDataActivity(I)V ++ ++ return-void ++.end method ++ ++.method public bridge synthetic notifyDataConnection(IZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Landroid/net/LinkCapabilities;IZ)V ++ .registers 10 ++ ++ invoke-super/range {p0 .. p9}, Lcom/android/server/TelephonyRegistry;->notifyDataConnection(IZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Landroid/net/LinkCapabilities;IZ)V ++ ++ return-void ++.end method ++ ++.method public bridge synthetic notifyDataConnectionFailed(Ljava/lang/String;Ljava/lang/String;)V ++ .registers 3 ++ ++ invoke-super {p0, p1, p2}, Lcom/android/server/TelephonyRegistry;->notifyDataConnectionFailed(Ljava/lang/String;Ljava/lang/String;)V ++ ++ return-void ++.end method ++ ++.method public bridge synthetic notifyMessageWaitingChanged(Z)V ++ .registers 2 ++ ++ invoke-super {p0, p1}, Lcom/android/server/TelephonyRegistry;->notifyMessageWaitingChanged(Z)V ++ ++ return-void ++.end method ++ ++.method public bridge synthetic notifyOtaspChanged(I)V ++ .registers 2 ++ ++ invoke-super {p0, p1}, Lcom/android/server/TelephonyRegistry;->notifyOtaspChanged(I)V ++ ++ return-void ++.end method ++ ++.method public notifyPrivacyCallState(ILjava/lang/String;Ljava/lang/String;)V ++ .registers 10 ++ ++ iget-object v4, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mRecords:Ljava/util/ArrayList; ++ ++ monitor-enter v4 ++ ++ :try_start_3 ++ iget-object v3, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mRecords:Ljava/util/ArrayList; ++ ++ invoke-virtual {v3}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; ++ ++ move-result-object v1 ++ ++ :cond_9 ++ :goto_9 ++ invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z ++ ++ move-result v3 ++ ++ if-eqz v3, :cond_35 ++ ++ invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; ++ ++ move-result-object v2 ++ ++ check-cast v2, Lcom/android/server/TelephonyRegistry$Record; ++ ++ iget v3, v2, Lcom/android/server/TelephonyRegistry$Record;->events:I ++ :try_end_17 ++ .catchall {:try_start_3 .. :try_end_17} :catchall_32 ++ ++ and-int/lit8 v3, v3, 0x20 ++ ++ if-eqz v3, :cond_9 ++ ++ :try_start_1b ++ iget-object v3, v2, Lcom/android/server/TelephonyRegistry$Record;->pkgForDebug:Ljava/lang/String; ++ ++ invoke-virtual {v3, p3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ++ ++ move-result v3 ++ ++ if-eqz v3, :cond_9 ++ ++ iget-object v3, v2, Lcom/android/server/TelephonyRegistry$Record;->callback:Lcom/android/internal/telephony/IPhoneStateListener; ++ ++ invoke-interface {v3, p1, p2}, Lcom/android/internal/telephony/IPhoneStateListener;->onCallStateChanged(ILjava/lang/String;)V ++ :try_end_28 ++ .catchall {:try_start_1b .. :try_end_28} :catchall_32 ++ .catch Landroid/os/RemoteException; {:try_start_1b .. :try_end_28} :catch_29 ++ ++ goto :goto_9 ++ ++ :catch_29 ++ move-exception v0 ++ ++ :try_start_2a ++ iget-object v3, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mRemoveList:Ljava/util/ArrayList; ++ ++ iget-object v5, v2, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; ++ ++ invoke-virtual {v3, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z ++ ++ goto :goto_9 ++ ++ :catchall_32 ++ move-exception v3 ++ ++ monitor-exit v4 ++ :try_end_34 ++ .catchall {:try_start_2a .. :try_end_34} :catchall_32 ++ ++ throw v3 ++ ++ :cond_35 ++ :try_start_35 ++ invoke-virtual {p0}, Lcom/android/server/PrivacyTelephonyRegistry;->handleRemoveListLocked()V ++ ++ monitor-exit v4 ++ :try_end_39 ++ .catchall {:try_start_35 .. :try_end_39} :catchall_32 ++ ++ return-void ++.end method ++ ++.method public notifyServiceState(Landroid/telephony/ServiceState;)V ++ .registers 9 ++ ++ const-string v3, "notifyServiceState()" ++ ++ invoke-virtual {p0, v3}, Lcom/android/server/PrivacyTelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z ++ ++ move-result v3 ++ ++ if-nez v3, :cond_9 ++ ++ :goto_8 ++ return-void ++ ++ :cond_9 ++ iget-object v4, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mRecords:Ljava/util/ArrayList; ++ ++ monitor-enter v4 ++ ++ :try_start_c ++ iput-object p1, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mServiceState:Landroid/telephony/ServiceState; ++ ++ iget-object v3, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mRecords:Ljava/util/ArrayList; ++ ++ invoke-virtual {v3}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; ++ ++ move-result-object v1 ++ ++ :cond_14 ++ :goto_14 ++ invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z ++ ++ move-result v3 ++ ++ if-eqz v3, :cond_90 ++ ++ invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; ++ ++ move-result-object v2 ++ ++ check-cast v2, Lcom/android/server/TelephonyRegistry$Record; ++ ++ iget v3, v2, Lcom/android/server/TelephonyRegistry$Record;->events:I ++ :try_end_22 ++ .catchall {:try_start_c .. :try_end_22} :catchall_6c ++ ++ and-int/lit8 v3, v3, 0x1 ++ ++ if-eqz v3, :cond_14 ++ ++ const/4 v3, 0x4 ++ ++ :try_start_27 ++ iget-object v5, v2, Lcom/android/server/TelephonyRegistry$Record;->pkgForDebug:Ljava/lang/String; ++ ++ invoke-direct {p0, v3, v5}, Lcom/android/server/PrivacyTelephonyRegistry;->isPackageAllowed(ILjava/lang/String;)Z ++ ++ move-result v3 ++ ++ if-nez v3, :cond_6f ++ ++ const-string v3, "" ++ ++ const-string v5, "" ++ ++ const-string v6, "" ++ ++ invoke-virtual {p1, v3, v5, v6}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V ++ ++ const-string v3, "PrivacyTelephonyRegistry" ++ ++ new-instance v5, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v5}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v6, "package: " ++ ++ invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ iget-object v6, v2, Lcom/android/server/TelephonyRegistry$Record;->pkgForDebug:Ljava/lang/String; ++ ++ invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ const-string v6, " blocked for Cellinfo" ++ ++ invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ invoke-static {v3, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I ++ ++ :goto_58 ++ iget-object v3, v2, Lcom/android/server/TelephonyRegistry$Record;->callback:Lcom/android/internal/telephony/IPhoneStateListener; ++ ++ new-instance v5, Landroid/telephony/ServiceState; ++ ++ invoke-direct {v5, p1}, Landroid/telephony/ServiceState;->(Landroid/telephony/ServiceState;)V ++ ++ invoke-interface {v3, v5}, Lcom/android/internal/telephony/IPhoneStateListener;->onServiceStateChanged(Landroid/telephony/ServiceState;)V ++ :try_end_62 ++ .catchall {:try_start_27 .. :try_end_62} :catchall_6c ++ .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_62} :catch_63 ++ ++ goto :goto_14 ++ ++ :catch_63 ++ move-exception v0 ++ ++ :try_start_64 ++ iget-object v3, p0, Lcom/android/server/PrivacyTelephonyRegistry;->mRemoveList:Ljava/util/ArrayList; ++ ++ iget-object v5, v2, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; ++ ++ invoke-virtual {v3, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z ++ ++ goto :goto_14 ++ ++ :catchall_6c ++ move-exception v3 ++ ++ monitor-exit v4 ++ :try_end_6e ++ .catchall {:try_start_64 .. :try_end_6e} :catchall_6c ++ ++ throw v3 ++ ++ :cond_6f ++ :try_start_6f ++ const-string v3, "PrivacyTelephonyRegistry" ++ ++ new-instance v5, Ljava/lang/StringBuilder; ++ ++ invoke-direct {v5}, Ljava/lang/StringBuilder;->()V ++ ++ const-string v6, "package: " ++ ++ invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ iget-object v6, v2, Lcom/android/server/TelephonyRegistry$Record;->pkgForDebug:Ljava/lang/String; ++ ++ invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ const-string v6, " allowed for Cellinfo" ++ ++ invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ move-result-object v5 ++ ++ invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object v5 ++ ++ invoke-static {v3, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I ++ :try_end_8f ++ .catchall {:try_start_6f .. :try_end_8f} :catchall_6c ++ .catch Landroid/os/RemoteException; {:try_start_6f .. :try_end_8f} :catch_63 ++ ++ goto :goto_58 ++ ++ :cond_90 ++ :try_start_90 ++ invoke-virtual {p0}, Lcom/android/server/PrivacyTelephonyRegistry;->handleRemoveListLocked()V ++ ++ monitor-exit v4 ++ :try_end_94 ++ .catchall {:try_start_90 .. :try_end_94} :catchall_6c ++ ++ invoke-virtual {p0, p1}, Lcom/android/server/PrivacyTelephonyRegistry;->broadcastServiceStateChanged(Landroid/telephony/ServiceState;)V ++ ++ goto/16 :goto_8 ++.end method ++ ++.method public bridge synthetic notifySignalStrength(Landroid/telephony/SignalStrength;)V ++ .registers 2 ++ ++ invoke-super {p0, p1}, Lcom/android/server/TelephonyRegistry;->notifySignalStrength(Landroid/telephony/SignalStrength;)V ++ ++ return-void ++.end method +diff -Npru stock-services/smali/com/android/server/ServerThread.smali ext-services/smali/com/android/server/ServerThread.smali +--- stock-services/smali/com/android/server/ServerThread.smali 2012-10-12 12:27:13.801330417 -0500 ++++ ext-services/smali/com/android/server/ServerThread.smali 2012-10-12 14:19:32.090743782 -0500 +@@ -32,6 +32,41 @@ + return-void + .end method + ++.method private addPrivacyService(Landroid/content/Context;)V ++ .registers 5 ++ ++ :try_start_0 ++ const-string v1, "SystemServer" ++ ++ const-string v2, "Privacy Service" ++ ++ invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I ++ ++ const-string v1, "privacy" ++ ++ new-instance v2, Landroid/privacy/PrivacySettingsManagerService; ++ ++ invoke-direct {v2, p1}, Landroid/privacy/PrivacySettingsManagerService;->(Landroid/content/Context;)V ++ ++ invoke-static {v1, v2}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V ++ :try_end_11 ++ .catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_11} :catch_12 ++ ++ :goto_11 ++ return-void ++ ++ :catch_12 ++ move-exception v0 ++ ++ const-string v1, "SystemServer" ++ ++ const-string v2, "Failure starting Privacy Service" ++ ++ invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I ++ ++ goto :goto_11 ++.end method ++ + .method static final startSystemUi(Landroid/content/Context;)V + .registers 5 + +@@ -163,7 +198,7 @@ + + const/16 v9, 0x31 + +- if-ne v3, v9, :cond_71d ++ if-ne v3, v9, :cond_722 + + const/16 v98, 0x1 + +@@ -174,7 +209,7 @@ + + const/4 v9, 0x1 + +- if-le v3, v9, :cond_721 ++ if-le v3, v9, :cond_726 + + const/4 v3, 0x1 + +@@ -210,7 +245,7 @@ + + move-result v3 + +- if-eqz v3, :cond_725 ++ if-eqz v3, :cond_72a + + const/16 v69, 0x0 + +@@ -312,7 +347,7 @@ + + invoke-direct {v6}, Lcom/android/server/PowerManagerService;->()V + :try_end_c2 +- .catch Ljava/lang/RuntimeException; {:try_start_a5 .. :try_end_c2} :catch_abf ++ .catch Ljava/lang/RuntimeException; {:try_start_a5 .. :try_end_c2} :catch_ac4 + + :try_start_c2 + const-string v3, "power" +@@ -337,9 +372,9 @@ + + const-string v3, "telephony.registry" + +- new-instance v9, Lcom/android/server/TelephonyRegistry; ++ new-instance v9, Lcom/android/server/PrivacyTelephonyRegistry; + +- invoke-direct {v9, v4}, Lcom/android/server/TelephonyRegistry;->(Landroid/content/Context;)V ++ invoke-direct {v9, v4}, Lcom/android/server/PrivacyTelephonyRegistry;->(Landroid/content/Context;)V + + invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V + +@@ -381,7 +416,7 @@ + + move-result v3 + +- if-eqz v3, :cond_72b ++ if-eqz v3, :cond_730 + + const-string v3, "SystemServer" + +@@ -393,7 +428,7 @@ + + :cond_119 + :goto_119 +- if-eqz v69, :cond_740 ++ if-eqz v69, :cond_745 + + const/4 v3, 0x1 + +@@ -402,7 +437,7 @@ + + invoke-static {v4, v3, v0}, Lcom/android/server/pm/PackageManagerService;->main(Landroid/content/Context;ZZ)Landroid/content/pm/IPackageManager; + :try_end_121 +- .catch Ljava/lang/RuntimeException; {:try_start_c2 .. :try_end_121} :catch_74f ++ .catch Ljava/lang/RuntimeException; {:try_start_c2 .. :try_end_121} :catch_754 + + move-result-object v93 + +@@ -411,8 +446,8 @@ + :try_start_124 + invoke-interface/range {v93 .. v93}, Landroid/content/pm/IPackageManager;->isFirstBoot()Z + :try_end_127 +- .catch Landroid/os/RemoteException; {:try_start_124 .. :try_end_127} :catch_a4e +- .catch Ljava/lang/RuntimeException; {:try_start_124 .. :try_end_127} :catch_74f ++ .catch Landroid/os/RemoteException; {:try_start_124 .. :try_end_127} :catch_a53 ++ .catch Ljava/lang/RuntimeException; {:try_start_124 .. :try_end_127} :catch_754 + + move-result v72 + +@@ -428,7 +463,7 @@ + + iput-object v3, v0, Lcom/android/server/ServerThread;->mContentResolver:Landroid/content/ContentResolver; + :try_end_133 +- .catch Ljava/lang/RuntimeException; {:try_start_128 .. :try_end_133} :catch_74f ++ .catch Ljava/lang/RuntimeException; {:try_start_128 .. :try_end_133} :catch_754 + + :try_start_133 + const-string v3, "SystemServer" +@@ -443,8 +478,8 @@ + + invoke-direct {v0, v4}, Landroid/accounts/AccountManagerService;->(Landroid/content/Context;)V + :try_end_141 +- .catch Ljava/lang/Throwable; {:try_start_133 .. :try_end_141} :catch_743 +- .catch Ljava/lang/RuntimeException; {:try_start_133 .. :try_end_141} :catch_74f ++ .catch Ljava/lang/Throwable; {:try_start_133 .. :try_end_141} :catch_748 ++ .catch Ljava/lang/RuntimeException; {:try_start_133 .. :try_end_141} :catch_754 + + :try_start_141 + const-string v3, "account" +@@ -453,8 +488,8 @@ + + invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V + :try_end_148 +- .catch Ljava/lang/Throwable; {:try_start_141 .. :try_end_148} :catch_afe +- .catch Ljava/lang/RuntimeException; {:try_start_141 .. :try_end_148} :catch_ac8 ++ .catch Ljava/lang/Throwable; {:try_start_141 .. :try_end_148} :catch_b03 ++ .catch Ljava/lang/RuntimeException; {:try_start_141 .. :try_end_148} :catch_acd + + move-object/from16 v42, v43 + +@@ -470,7 +505,7 @@ + + move/from16 v0, v69 + +- if-ne v0, v3, :cond_766 ++ if-ne v0, v3, :cond_76b + + const/4 v3, 0x1 + +@@ -479,6 +514,10 @@ + + move-result-object v58 + ++ move-object/from16 v0, p0 ++ ++ invoke-direct {v0, v4}, Lcom/android/server/ServerThread;->addPrivacyService(Landroid/content/Context;)V ++ + const-string v3, "SystemServer" + + const-string v9, "System Content Providers" +@@ -498,10 +537,10 @@ + move-object/from16 v0, v78 + + invoke-direct {v0, v4}, Lcom/android/server/LightsService;->(Landroid/content/Context;)V +- :try_end_173 +- .catch Ljava/lang/RuntimeException; {:try_start_14a .. :try_end_173} :catch_74f ++ :try_end_178 ++ .catch Ljava/lang/RuntimeException; {:try_start_14a .. :try_end_178} :catch_754 + +- :try_start_173 ++ :try_start_178 + const-string v3, "SystemServer" + + const-string v9, "Battery Service" +@@ -513,10 +552,10 @@ + move-object/from16 v0, v78 + + invoke-direct {v5, v4, v0}, Lcom/android/server/BatteryService;->(Landroid/content/Context;Lcom/android/server/LightsService;)V +- :try_end_181 +- .catch Ljava/lang/RuntimeException; {:try_start_173 .. :try_end_181} :catch_ad1 ++ :try_end_186 ++ .catch Ljava/lang/RuntimeException; {:try_start_178 .. :try_end_186} :catch_ad6 + +- :try_start_181 ++ :try_start_186 + const-string v3, "battery" + + invoke-static {v3, v5}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +@@ -532,10 +571,10 @@ + move-object/from16 v0, v118 + + invoke-direct {v0, v4}, Lcom/android/server/VibratorService;->(Landroid/content/Context;)V +- :try_end_194 +- .catch Ljava/lang/RuntimeException; {:try_start_181 .. :try_end_194} :catch_ada ++ :try_end_199 ++ .catch Ljava/lang/RuntimeException; {:try_start_186 .. :try_end_199} :catch_adf + +- :try_start_194 ++ :try_start_199 + const-string v3, "vibrator" + + move-object/from16 v0, v118 +@@ -559,10 +598,10 @@ + new-instance v7, Lcom/android/server/AlarmManagerService; + + invoke-direct {v7, v4}, Lcom/android/server/AlarmManagerService;->(Landroid/content/Context;)V +- :try_end_1b0 +- .catch Ljava/lang/RuntimeException; {:try_start_194 .. :try_end_1b0} :catch_ae1 ++ :try_end_1b5 ++ .catch Ljava/lang/RuntimeException; {:try_start_199 .. :try_end_1b5} :catch_ae6 + +- :try_start_1b0 ++ :try_start_1b5 + const-string v3, "alarm" + + invoke-static {v3, v7}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +@@ -593,18 +632,18 @@ + + move/from16 v0, v69 + +- if-eq v0, v3, :cond_769 ++ if-eq v0, v3, :cond_76e + + const/4 v3, 0x1 + + move v9, v3 + +- :goto_1d5 +- if-nez v72, :cond_76d ++ :goto_1da ++ if-nez v72, :cond_772 + + const/4 v3, 0x1 + +- :goto_1d8 ++ :goto_1dd + move/from16 v0, v92 + + invoke-static {v4, v6, v9, v3, v0}, Lcom/android/server/wm/WindowManagerService;->main(Landroid/content/Context;Lcom/android/server/PowerManagerService;ZZZ)Lcom/android/server/wm/WindowManagerService; +@@ -647,22 +686,22 @@ + + move-result v3 + +- if-eqz v3, :cond_770 ++ if-eqz v3, :cond_775 + + const-string v3, "SystemServer" + + const-string v9, "No Bluetooh Service (emulator)" + + invoke-static {v3, v9}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I +- :try_end_20e +- .catch Ljava/lang/RuntimeException; {:try_start_1b0 .. :try_end_20e} :catch_77e ++ :try_end_213 ++ .catch Ljava/lang/RuntimeException; {:try_start_1b5 .. :try_end_213} :catch_783 + +- :goto_20e ++ :goto_213 + move-object/from16 v117, v118 + + move-object/from16 v77, v78 + +- :goto_212 ++ :goto_217 + invoke-virtual {v4}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; + + move-result-object v3 +@@ -701,9 +740,9 @@ + + move/from16 v0, v69 + +- if-eq v0, v3, :cond_264 ++ if-eq v0, v3, :cond_269 + +- :try_start_23a ++ :try_start_23f + const-string v3, "SystemServer" + + const-string v9, "Input Method Service" +@@ -717,22 +756,22 @@ + move-object/from16 v1, v126 + + invoke-direct {v0, v4, v1}, Lcom/android/server/InputMethodManagerService;->(Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;)V +- :try_end_24a +- .catch Ljava/lang/Throwable; {:try_start_23a .. :try_end_24a} :catch_7d3 ++ :try_end_24f ++ .catch Ljava/lang/Throwable; {:try_start_23f .. :try_end_24f} :catch_7d8 + +- :try_start_24a ++ :try_start_24f + const-string v3, "input_method" + + move-object/from16 v0, v75 + + invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_251 +- .catch Ljava/lang/Throwable; {:try_start_24a .. :try_end_251} :catch_aba ++ :try_end_256 ++ .catch Ljava/lang/Throwable; {:try_start_24f .. :try_end_256} :catch_abf + + move-object/from16 v74, v75 + +- :goto_253 +- :try_start_253 ++ :goto_258 ++ :try_start_258 + const-string v3, "SystemServer" + + const-string v9, "Accessibility Manager" +@@ -746,24 +785,24 @@ + invoke-direct {v9, v4}, Lcom/android/server/accessibility/AccessibilityManagerService;->(Landroid/content/Context;)V + + invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_264 +- .catch Ljava/lang/Throwable; {:try_start_253 .. :try_end_264} :catch_7df ++ :try_end_269 ++ .catch Ljava/lang/Throwable; {:try_start_258 .. :try_end_269} :catch_7e4 + +- :cond_264 +- :goto_264 +- :try_start_264 ++ :cond_269 ++ :goto_269 ++ :try_start_269 + invoke-virtual/range {v126 .. v126}, Lcom/android/server/wm/WindowManagerService;->displayReady()V +- :try_end_267 +- .catch Ljava/lang/Throwable; {:try_start_264 .. :try_end_267} :catch_7eb ++ :try_end_26c ++ .catch Ljava/lang/Throwable; {:try_start_269 .. :try_end_26c} :catch_7f0 + +- :goto_267 +- :try_start_267 ++ :goto_26c ++ :try_start_26c + invoke-interface/range {v93 .. v93}, Landroid/content/pm/IPackageManager;->performBootDexOpt()V +- :try_end_26a +- .catch Ljava/lang/Throwable; {:try_start_267 .. :try_end_26a} :catch_7f7 ++ :try_end_26f ++ .catch Ljava/lang/Throwable; {:try_start_26c .. :try_end_26f} :catch_7fc + +- :goto_26a +- :try_start_26a ++ :goto_26f ++ :try_start_26f + invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager; + + move-result-object v3 +@@ -781,15 +820,15 @@ + const/4 v10, 0x0 + + invoke-interface {v3, v9, v10}, Landroid/app/IActivityManager;->showBootMessage(Ljava/lang/CharSequence;Z)V +- :try_end_27d +- .catch Landroid/os/RemoteException; {:try_start_26a .. :try_end_27d} :catch_ab7 ++ :try_end_282 ++ .catch Landroid/os/RemoteException; {:try_start_26f .. :try_end_282} :catch_abc + +- :goto_27d ++ :goto_282 + const/4 v3, 0x1 + + move/from16 v0, v69 + +- if-eq v0, v3, :cond_b03 ++ if-eq v0, v3, :cond_b08 + + const/16 v84, 0x0 + +@@ -805,9 +844,9 @@ + + move-result v3 + +- if-nez v3, :cond_2a9 ++ if-nez v3, :cond_2ae + +- :try_start_292 ++ :try_start_297 + const-string v3, "SystemServer" + + const-string v9, "Mount Service" +@@ -819,23 +858,23 @@ + move-object/from16 v0, v85 + + invoke-direct {v0, v4}, Lcom/android/server/MountService;->(Landroid/content/Context;)V +- :try_end_2a0 +- .catch Ljava/lang/Throwable; {:try_start_292 .. :try_end_2a0} :catch_803 ++ :try_end_2a5 ++ .catch Ljava/lang/Throwable; {:try_start_297 .. :try_end_2a5} :catch_808 + +- :try_start_2a0 ++ :try_start_2a5 + const-string v3, "mount" + + move-object/from16 v0, v85 + + invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_2a7 +- .catch Ljava/lang/Throwable; {:try_start_2a0 .. :try_end_2a7} :catch_ab2 ++ :try_end_2ac ++ .catch Ljava/lang/Throwable; {:try_start_2a5 .. :try_end_2ac} :catch_ab7 + + move-object/from16 v84, v85 + +- :cond_2a9 +- :goto_2a9 +- :try_start_2a9 ++ :cond_2ae ++ :goto_2ae ++ :try_start_2ae + const-string v3, "SystemServer" + + const-string v9, "LockSettingsService" +@@ -847,22 +886,22 @@ + move-object/from16 v0, v82 + + invoke-direct {v0, v4}, Lcom/android/internal/widget/LockSettingsService;->(Landroid/content/Context;)V +- :try_end_2b7 +- .catch Ljava/lang/Throwable; {:try_start_2a9 .. :try_end_2b7} :catch_80f ++ :try_end_2bc ++ .catch Ljava/lang/Throwable; {:try_start_2ae .. :try_end_2bc} :catch_814 + +- :try_start_2b7 ++ :try_start_2bc + const-string v3, "lock_settings" + + move-object/from16 v0, v82 + + invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_2be +- .catch Ljava/lang/Throwable; {:try_start_2b7 .. :try_end_2be} :catch_aad ++ :try_end_2c3 ++ .catch Ljava/lang/Throwable; {:try_start_2bc .. :try_end_2c3} :catch_ab2 + + move-object/from16 v81, v82 + +- :goto_2c0 +- :try_start_2c0 ++ :goto_2c5 ++ :try_start_2c5 + const-string v3, "SystemServer" + + const-string v9, "Device Policy" +@@ -874,22 +913,22 @@ + move-object/from16 v0, v63 + + invoke-direct {v0, v4}, Lcom/android/server/DevicePolicyManagerService;->(Landroid/content/Context;)V +- :try_end_2ce +- .catch Ljava/lang/Throwable; {:try_start_2c0 .. :try_end_2ce} :catch_81b ++ :try_end_2d3 ++ .catch Ljava/lang/Throwable; {:try_start_2c5 .. :try_end_2d3} :catch_820 + +- :try_start_2ce ++ :try_start_2d3 + const-string v3, "device_policy" + + move-object/from16 v0, v63 + + invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_2d5 +- .catch Ljava/lang/Throwable; {:try_start_2ce .. :try_end_2d5} :catch_aa8 ++ :try_end_2da ++ .catch Ljava/lang/Throwable; {:try_start_2d3 .. :try_end_2da} :catch_aad + + move-object/from16 v62, v63 + +- :goto_2d7 +- :try_start_2d7 ++ :goto_2dc ++ :try_start_2dc + const-string v3, "SystemServer" + + const-string v9, "Status Bar" +@@ -903,22 +942,22 @@ + move-object/from16 v1, v126 + + invoke-direct {v0, v4, v1}, Lcom/android/server/StatusBarManagerService;->(Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;)V +- :try_end_2e7 +- .catch Ljava/lang/Throwable; {:try_start_2d7 .. :try_end_2e7} :catch_827 ++ :try_end_2ec ++ .catch Ljava/lang/Throwable; {:try_start_2dc .. :try_end_2ec} :catch_82c + +- :try_start_2e7 ++ :try_start_2ec + const-string v3, "statusbar" + + move-object/from16 v0, v108 + + invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_2ee +- .catch Ljava/lang/Throwable; {:try_start_2e7 .. :try_end_2ee} :catch_aa3 ++ :try_end_2f3 ++ .catch Ljava/lang/Throwable; {:try_start_2ec .. :try_end_2f3} :catch_aa8 + + move-object/from16 v107, v108 + +- :goto_2f0 +- :try_start_2f0 ++ :goto_2f5 ++ :try_start_2f5 + const-string v3, "SystemServer" + + const-string v9, "Clipboard Service" +@@ -932,11 +971,11 @@ + invoke-direct {v9, v4}, Lcom/android/server/ClipboardService;->(Landroid/content/Context;)V + + invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_301 +- .catch Ljava/lang/Throwable; {:try_start_2f0 .. :try_end_301} :catch_833 ++ :try_end_306 ++ .catch Ljava/lang/Throwable; {:try_start_2f5 .. :try_end_306} :catch_838 + +- :goto_301 +- :try_start_301 ++ :goto_306 ++ :try_start_306 + const-string v3, "SystemServer" + + const-string v9, "NetworkManagement Service" +@@ -950,11 +989,11 @@ + const-string v3, "network_management" + + invoke-static {v3, v13}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_311 +- .catch Ljava/lang/Throwable; {:try_start_301 .. :try_end_311} :catch_83f ++ :try_end_316 ++ .catch Ljava/lang/Throwable; {:try_start_306 .. :try_end_316} :catch_844 + +- :goto_311 +- :try_start_311 ++ :goto_316 ++ :try_start_316 + const-string v3, "SystemServer" + + const-string v9, "Text Service Manager Service" +@@ -966,22 +1005,22 @@ + move-object/from16 v0, v112 + + invoke-direct {v0, v4}, Lcom/android/server/TextServicesManagerService;->(Landroid/content/Context;)V +- :try_end_31f +- .catch Ljava/lang/Throwable; {:try_start_311 .. :try_end_31f} :catch_84b ++ :try_end_324 ++ .catch Ljava/lang/Throwable; {:try_start_316 .. :try_end_324} :catch_850 + +- :try_start_31f ++ :try_start_324 + const-string v3, "textservices" + + move-object/from16 v0, v112 + + invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_326 +- .catch Ljava/lang/Throwable; {:try_start_31f .. :try_end_326} :catch_a9e ++ :try_end_32b ++ .catch Ljava/lang/Throwable; {:try_start_324 .. :try_end_32b} :catch_aa3 + + move-object/from16 v111, v112 + +- :goto_328 +- :try_start_328 ++ :goto_32d ++ :try_start_32d + const-string v3, "SystemServer" + + const-string v9, "NetworkStats Service" +@@ -993,22 +1032,22 @@ + move-object/from16 v0, v87 + + invoke-direct {v0, v4, v13, v7}, Lcom/android/server/net/NetworkStatsService;->(Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/app/IAlarmManager;)V +- :try_end_336 +- .catch Ljava/lang/Throwable; {:try_start_328 .. :try_end_336} :catch_857 ++ :try_end_33b ++ .catch Ljava/lang/Throwable; {:try_start_32d .. :try_end_33b} :catch_85c + +- :try_start_336 ++ :try_start_33b + const-string v3, "netstats" + + move-object/from16 v0, v87 + + invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_33d +- .catch Ljava/lang/Throwable; {:try_start_336 .. :try_end_33d} :catch_a99 ++ :try_end_342 ++ .catch Ljava/lang/Throwable; {:try_start_33b .. :try_end_342} :catch_a9e + + move-object/from16 v12, v87 + +- :goto_33f +- :try_start_33f ++ :goto_344 ++ :try_start_344 + const-string v3, "SystemServer" + + const-string v9, "NetworkPolicy Service" +@@ -1026,18 +1065,18 @@ + move-object v11, v6 + + invoke-direct/range {v8 .. v13}, Lcom/android/server/net/NetworkPolicyManagerService;->(Landroid/content/Context;Landroid/app/IActivityManager;Landroid/os/IPowerManager;Landroid/net/INetworkStatsService;Landroid/os/INetworkManagementService;)V +- :try_end_351 +- .catch Ljava/lang/Throwable; {:try_start_33f .. :try_end_351} :catch_863 ++ :try_end_356 ++ .catch Ljava/lang/Throwable; {:try_start_344 .. :try_end_356} :catch_868 + +- :try_start_351 ++ :try_start_356 + const-string v3, "netpolicy" + + invoke-static {v3, v8}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_356 +- .catch Ljava/lang/Throwable; {:try_start_351 .. :try_end_356} :catch_a96 ++ :try_end_35b ++ .catch Ljava/lang/Throwable; {:try_start_356 .. :try_end_35b} :catch_a9b + +- :goto_356 +- :try_start_356 ++ :goto_35b ++ :try_start_35b + const-string v3, "SystemServer" + + const-string v9, "Wi-Fi P2pService" +@@ -1049,22 +1088,22 @@ + move-object/from16 v0, v125 + + invoke-direct {v0, v4}, Landroid/net/wifi/p2p/WifiP2pService;->(Landroid/content/Context;)V +- :try_end_364 +- .catch Ljava/lang/Throwable; {:try_start_356 .. :try_end_364} :catch_871 ++ :try_end_369 ++ .catch Ljava/lang/Throwable; {:try_start_35b .. :try_end_369} :catch_876 + +- :try_start_364 ++ :try_start_369 + const-string v3, "wifip2p" + + move-object/from16 v0, v125 + + invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_36b +- .catch Ljava/lang/Throwable; {:try_start_364 .. :try_end_36b} :catch_a91 ++ :try_end_370 ++ .catch Ljava/lang/Throwable; {:try_start_369 .. :try_end_370} :catch_a96 + + move-object/from16 v124, v125 + +- :goto_36d +- :try_start_36d ++ :goto_372 ++ :try_start_372 + const-string v3, "SystemServer" + + const-string v9, "Wi-Fi Service" +@@ -1076,22 +1115,22 @@ + move-object/from16 v0, v123 + + invoke-direct {v0, v4}, Lcom/android/server/WifiService;->(Landroid/content/Context;)V +- :try_end_37b +- .catch Ljava/lang/Throwable; {:try_start_36d .. :try_end_37b} :catch_87d ++ :try_end_380 ++ .catch Ljava/lang/Throwable; {:try_start_372 .. :try_end_380} :catch_882 + +- :try_start_37b ++ :try_start_380 + const-string v3, "wifi" + + move-object/from16 v0, v123 + + invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_382 +- .catch Ljava/lang/Throwable; {:try_start_37b .. :try_end_382} :catch_a8c ++ :try_end_387 ++ .catch Ljava/lang/Throwable; {:try_start_380 .. :try_end_387} :catch_a91 + + move-object/from16 v122, v123 + +- :goto_384 +- :try_start_384 ++ :goto_389 ++ :try_start_389 + const-string v3, "SystemServer" + + const-string v9, "Connectivity Service" +@@ -1103,10 +1142,10 @@ + move-object/from16 v0, v57 + + invoke-direct {v0, v4, v13, v12, v8}, Lcom/android/server/ConnectivityService;->(Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/net/INetworkStatsService;Landroid/net/INetworkPolicyManager;)V +- :try_end_392 +- .catch Ljava/lang/Throwable; {:try_start_384 .. :try_end_392} :catch_889 ++ :try_end_397 ++ .catch Ljava/lang/Throwable; {:try_start_389 .. :try_end_397} :catch_88e + +- :try_start_392 ++ :try_start_397 + const-string v3, "connectivity" + + move-object/from16 v0, v57 +@@ -1124,13 +1163,13 @@ + invoke-virtual/range {v122 .. v122}, Lcom/android/server/WifiService;->checkAndStartWifi()V + + invoke-virtual/range {v124 .. v124}, Landroid/net/wifi/p2p/WifiP2pService;->connectivityServiceReady()V +- :try_end_3a9 +- .catch Ljava/lang/Throwable; {:try_start_392 .. :try_end_3a9} :catch_a87 ++ :try_end_3ae ++ .catch Ljava/lang/Throwable; {:try_start_397 .. :try_end_3ae} :catch_a8c + + move-object/from16 v56, v57 + +- :goto_3ab +- :try_start_3ab ++ :goto_3b0 ++ :try_start_3b0 + const-string v3, "SystemServer" + + const-string v9, "Network Service Discovery Service" +@@ -1146,11 +1185,11 @@ + move-object/from16 v0, v105 + + invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_3bd +- .catch Ljava/lang/Throwable; {:try_start_3ab .. :try_end_3bd} :catch_895 ++ :try_end_3c2 ++ .catch Ljava/lang/Throwable; {:try_start_3b0 .. :try_end_3c2} :catch_89a + +- :goto_3bd +- :try_start_3bd ++ :goto_3c2 ++ :try_start_3c2 + const-string v3, "SystemServer" + + const-string v9, "Throttle Service" +@@ -1162,22 +1201,22 @@ + move-object/from16 v0, v110 + + invoke-direct {v0, v4}, Lcom/android/server/ThrottleService;->(Landroid/content/Context;)V +- :try_end_3cb +- .catch Ljava/lang/Throwable; {:try_start_3bd .. :try_end_3cb} :catch_8a1 ++ :try_end_3d0 ++ .catch Ljava/lang/Throwable; {:try_start_3c2 .. :try_end_3d0} :catch_8a6 + +- :try_start_3cb ++ :try_start_3d0 + const-string v3, "throttle" + + move-object/from16 v0, v110 + + invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_3d2 +- .catch Ljava/lang/Throwable; {:try_start_3cb .. :try_end_3d2} :catch_a82 ++ :try_end_3d7 ++ .catch Ljava/lang/Throwable; {:try_start_3d0 .. :try_end_3d7} :catch_a87 + + move-object/from16 v109, v110 + +- :goto_3d4 +- :try_start_3d4 ++ :goto_3d9 ++ :try_start_3d9 + const-string v3, "SystemServer" + + const-string v9, "UpdateLock Service" +@@ -1191,16 +1230,16 @@ + invoke-direct {v9, v4}, Lcom/android/server/UpdateLockService;->(Landroid/content/Context;)V + + invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_3e5 +- .catch Ljava/lang/Throwable; {:try_start_3d4 .. :try_end_3e5} :catch_8ad ++ :try_end_3ea ++ .catch Ljava/lang/Throwable; {:try_start_3d9 .. :try_end_3ea} :catch_8b2 + +- :goto_3e5 +- if-eqz v84, :cond_3ea ++ :goto_3ea ++ if-eqz v84, :cond_3ef + + invoke-virtual/range {v84 .. v84}, Lcom/android/server/MountService;->waitForAsecScan()V + +- :cond_3ea +- :try_start_3ea ++ :cond_3ef ++ :try_start_3ef + const-string v3, "SystemServer" + + const-string v9, "Profile Manager" +@@ -1212,40 +1251,40 @@ + move-object/from16 v0, v96 + + invoke-direct {v0, v4}, Lcom/android/server/ProfileManagerService;->(Landroid/content/Context;)V +- :try_end_3f8 +- .catch Ljava/lang/Throwable; {:try_start_3ea .. :try_end_3f8} :catch_8b9 ++ :try_end_3fd ++ .catch Ljava/lang/Throwable; {:try_start_3ef .. :try_end_3fd} :catch_8be + +- :try_start_3f8 ++ :try_start_3fd + const-string v3, "profile" + + move-object/from16 v0, v96 + + invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_3ff +- .catch Ljava/lang/Throwable; {:try_start_3f8 .. :try_end_3ff} :catch_a7d ++ :try_end_404 ++ .catch Ljava/lang/Throwable; {:try_start_3fd .. :try_end_404} :catch_a82 + + move-object/from16 v95, v96 + +- :goto_401 +- if-eqz v42, :cond_406 +- +- :try_start_403 +- invoke-virtual/range {v42 .. v42}, Landroid/accounts/AccountManagerService;->systemReady()V +- :try_end_406 +- .catch Ljava/lang/Throwable; {:try_start_403 .. :try_end_406} :catch_8c5 +- +- :cond_406 + :goto_406 +- if-eqz v58, :cond_40b ++ if-eqz v42, :cond_40b + + :try_start_408 +- invoke-virtual/range {v58 .. v58}, Landroid/content/ContentService;->systemReady()V ++ invoke-virtual/range {v42 .. v42}, Landroid/accounts/AccountManagerService;->systemReady()V + :try_end_40b +- .catch Ljava/lang/Throwable; {:try_start_408 .. :try_end_40b} :catch_8d1 ++ .catch Ljava/lang/Throwable; {:try_start_408 .. :try_end_40b} :catch_8ca + + :cond_40b + :goto_40b +- :try_start_40b ++ if-eqz v58, :cond_410 ++ ++ :try_start_40d ++ invoke-virtual/range {v58 .. v58}, Landroid/content/ContentService;->systemReady()V ++ :try_end_410 ++ .catch Ljava/lang/Throwable; {:try_start_40d .. :try_end_410} :catch_8d6 ++ ++ :cond_410 ++ :goto_410 ++ :try_start_410 + const-string v3, "SystemServer" + + const-string v9, "Notification Manager" +@@ -1261,10 +1300,10 @@ + move-object/from16 v2, v77 + + invoke-direct {v0, v4, v1, v2}, Lcom/android/server/NotificationManagerService;->(Landroid/content/Context;Lcom/android/server/StatusBarManagerService;Lcom/android/server/LightsService;)V +- :try_end_41d +- .catch Ljava/lang/Throwable; {:try_start_40b .. :try_end_41d} :catch_8dd ++ :try_end_422 ++ .catch Ljava/lang/Throwable; {:try_start_410 .. :try_end_422} :catch_8e2 + +- :try_start_41d ++ :try_start_422 + const-string v3, "notification" + + move-object/from16 v0, v91 +@@ -1274,13 +1313,13 @@ + move-object/from16 v0, v91 + + invoke-virtual {v8, v0}, Lcom/android/server/net/NetworkPolicyManagerService;->bindNotificationManager(Landroid/app/INotificationManager;)V +- :try_end_429 +- .catch Ljava/lang/Throwable; {:try_start_41d .. :try_end_429} :catch_a78 ++ :try_end_42e ++ .catch Ljava/lang/Throwable; {:try_start_422 .. :try_end_42e} :catch_a7d + + move-object/from16 v90, v91 + +- :goto_42b +- :try_start_42b ++ :goto_430 ++ :try_start_430 + const-string v3, "SystemServer" + + const-string v9, "Device Storage Monitor" +@@ -1294,11 +1333,11 @@ + invoke-direct {v9, v4}, Lcom/android/server/DeviceStorageMonitorService;->(Landroid/content/Context;)V + + invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_43c +- .catch Ljava/lang/Throwable; {:try_start_42b .. :try_end_43c} :catch_8e9 ++ :try_end_441 ++ .catch Ljava/lang/Throwable; {:try_start_430 .. :try_end_441} :catch_8ee + +- :goto_43c +- :try_start_43c ++ :goto_441 ++ :try_start_441 + const-string v3, "SystemServer" + + const-string v9, "Location Manager" +@@ -1310,22 +1349,22 @@ + move-object/from16 v0, v80 + + invoke-direct {v0, v4}, Lcom/android/server/LocationManagerService;->(Landroid/content/Context;)V +- :try_end_44a +- .catch Ljava/lang/Throwable; {:try_start_43c .. :try_end_44a} :catch_8f5 ++ :try_end_44f ++ .catch Ljava/lang/Throwable; {:try_start_441 .. :try_end_44f} :catch_8fa + +- :try_start_44a ++ :try_start_44f + const-string v3, "location" + + move-object/from16 v0, v80 + + invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_451 +- .catch Ljava/lang/Throwable; {:try_start_44a .. :try_end_451} :catch_a73 ++ :try_end_456 ++ .catch Ljava/lang/Throwable; {:try_start_44f .. :try_end_456} :catch_a78 + + move-object/from16 v79, v80 + +- :goto_453 +- :try_start_453 ++ :goto_458 ++ :try_start_458 + const-string v3, "SystemServer" + + const-string v9, "Country Detector" +@@ -1337,22 +1376,22 @@ + move-object/from16 v0, v60 + + invoke-direct {v0, v4}, Lcom/android/server/CountryDetectorService;->(Landroid/content/Context;)V +- :try_end_461 +- .catch Ljava/lang/Throwable; {:try_start_453 .. :try_end_461} :catch_901 ++ :try_end_466 ++ .catch Ljava/lang/Throwable; {:try_start_458 .. :try_end_466} :catch_906 + +- :try_start_461 ++ :try_start_466 + const-string v3, "country_detector" + + move-object/from16 v0, v60 + + invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_468 +- .catch Ljava/lang/Throwable; {:try_start_461 .. :try_end_468} :catch_a6e ++ :try_end_46d ++ .catch Ljava/lang/Throwable; {:try_start_466 .. :try_end_46d} :catch_a73 + + move-object/from16 v59, v60 + +- :goto_46a +- :try_start_46a ++ :goto_46f ++ :try_start_46f + const-string v3, "SystemServer" + + const-string v9, "Search Service" +@@ -1366,11 +1405,11 @@ + invoke-direct {v9, v4}, Landroid/server/search/SearchManagerService;->(Landroid/content/Context;)V + + invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_47b +- .catch Ljava/lang/Throwable; {:try_start_46a .. :try_end_47b} :catch_90d ++ :try_end_480 ++ .catch Ljava/lang/Throwable; {:try_start_46f .. :try_end_480} :catch_912 + +- :goto_47b +- :try_start_47b ++ :goto_480 ++ :try_start_480 + const-string v3, "SystemServer" + + const-string v9, "DropBox Service" +@@ -1390,10 +1429,10 @@ + invoke-direct {v9, v4, v10}, Lcom/android/server/DropBoxManagerService;->(Landroid/content/Context;Ljava/io/File;)V + + invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_493 +- .catch Ljava/lang/Throwable; {:try_start_47b .. :try_end_493} :catch_919 ++ :try_end_498 ++ .catch Ljava/lang/Throwable; {:try_start_480 .. :try_end_498} :catch_91e + +- :goto_493 ++ :goto_498 + invoke-virtual {v4}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; + + move-result-object v3 +@@ -1404,38 +1443,38 @@ + + move-result v3 + +- if-eqz v3, :cond_4b9 ++ if-eqz v3, :cond_4be + +- :try_start_4a0 ++ :try_start_4a5 + const-string v3, "SystemServer" + + const-string v9, "Wallpaper Service" + + invoke-static {v3, v9}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I + +- if-nez v16, :cond_4b9 ++ if-nez v16, :cond_4be + + new-instance v121, Lcom/android/server/WallpaperManagerService; + + move-object/from16 v0, v121 + + invoke-direct {v0, v4}, Lcom/android/server/WallpaperManagerService;->(Landroid/content/Context;)V +- :try_end_4b0 +- .catch Ljava/lang/Throwable; {:try_start_4a0 .. :try_end_4b0} :catch_925 ++ :try_end_4b5 ++ .catch Ljava/lang/Throwable; {:try_start_4a5 .. :try_end_4b5} :catch_92a + +- :try_start_4b0 ++ :try_start_4b5 + const-string v3, "wallpaper" + + move-object/from16 v0, v121 + + invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_4b7 +- .catch Ljava/lang/Throwable; {:try_start_4b0 .. :try_end_4b7} :catch_a69 ++ :try_end_4bc ++ .catch Ljava/lang/Throwable; {:try_start_4b5 .. :try_end_4bc} :catch_a6e + + move-object/from16 v120, v121 + +- :cond_4b9 +- :goto_4b9 ++ :cond_4be ++ :goto_4be + const-string v3, "0" + + const-string v9, "system_init.startaudioservice" +@@ -1448,9 +1487,9 @@ + + move-result v3 + +- if-nez v3, :cond_4d8 ++ if-nez v3, :cond_4dd + +- :try_start_4c7 ++ :try_start_4cc + const-string v3, "SystemServer" + + const-string v9, "Audio Service" +@@ -1464,12 +1503,12 @@ + invoke-direct {v9, v4}, Landroid/media/AudioService;->(Landroid/content/Context;)V + + invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_4d8 +- .catch Ljava/lang/Throwable; {:try_start_4c7 .. :try_end_4d8} :catch_931 ++ :try_end_4dd ++ .catch Ljava/lang/Throwable; {:try_start_4cc .. :try_end_4dd} :catch_936 + +- :cond_4d8 +- :goto_4d8 +- :try_start_4d8 ++ :cond_4dd ++ :goto_4dd ++ :try_start_4dd + const-string v3, "SystemServer" + + const-string v9, "Dock Observer" +@@ -1481,15 +1520,15 @@ + move-object/from16 v0, v65 + + invoke-direct {v0, v4, v6}, Lcom/android/server/DockObserver;->(Landroid/content/Context;Lcom/android/server/PowerManagerService;)V +- :try_end_4e6 +- .catch Ljava/lang/Throwable; {:try_start_4d8 .. :try_end_4e6} :catch_93d ++ :try_end_4eb ++ .catch Ljava/lang/Throwable; {:try_start_4dd .. :try_end_4eb} :catch_942 + + move-object/from16 v64, v65 + +- :goto_4e8 +- if-eqz v73, :cond_4fa ++ :goto_4ed ++ if-eqz v73, :cond_4ff + +- :try_start_4ea ++ :try_start_4ef + const-string v3, "SystemServer" + + const-string v9, "Rotation Switch Observer" +@@ -1501,14 +1540,14 @@ + move-object/from16 v0, v102 + + invoke-direct {v0, v4}, Lcom/android/server/RotationSwitchObserver;->(Landroid/content/Context;)V +- :try_end_4f8 +- .catch Ljava/lang/Throwable; {:try_start_4ea .. :try_end_4f8} :catch_949 ++ :try_end_4fd ++ .catch Ljava/lang/Throwable; {:try_start_4ef .. :try_end_4fd} :catch_94e + + move-object/from16 v101, v102 + +- :cond_4fa +- :goto_4fa +- :try_start_4fa ++ :cond_4ff ++ :goto_4ff ++ :try_start_4ff + const-string v3, "SystemServer" + + const-string v9, "Wired Accessory Observer" +@@ -1518,11 +1557,11 @@ + new-instance v3, Lcom/android/server/WiredAccessoryObserver; + + invoke-direct {v3, v4}, Lcom/android/server/WiredAccessoryObserver;->(Landroid/content/Context;)V +- :try_end_506 +- .catch Ljava/lang/Throwable; {:try_start_4fa .. :try_end_506} :catch_955 ++ :try_end_50b ++ .catch Ljava/lang/Throwable; {:try_start_4ff .. :try_end_50b} :catch_95a + +- :goto_506 +- :try_start_506 ++ :goto_50b ++ :try_start_50b + const-string v3, "SystemServer" + + const-string v9, "USB Service" +@@ -1534,22 +1573,22 @@ + move-object/from16 v0, v116 + + invoke-direct {v0, v4}, Lcom/android/server/usb/UsbService;->(Landroid/content/Context;)V +- :try_end_514 +- .catch Ljava/lang/Throwable; {:try_start_506 .. :try_end_514} :catch_961 ++ :try_end_519 ++ .catch Ljava/lang/Throwable; {:try_start_50b .. :try_end_519} :catch_966 + +- :try_start_514 ++ :try_start_519 + const-string v3, "usb" + + move-object/from16 v0, v116 + + invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_51b +- .catch Ljava/lang/Throwable; {:try_start_514 .. :try_end_51b} :catch_a64 ++ :try_end_520 ++ .catch Ljava/lang/Throwable; {:try_start_519 .. :try_end_520} :catch_a69 + + move-object/from16 v115, v116 + +- :goto_51d +- :try_start_51d ++ :goto_522 ++ :try_start_522 + const-string v3, "SystemServer" + + const-string v9, "Serial Service" +@@ -1561,22 +1600,22 @@ + move-object/from16 v0, v104 + + invoke-direct {v0, v4}, Lcom/android/server/SerialService;->(Landroid/content/Context;)V +- :try_end_52b +- .catch Ljava/lang/Throwable; {:try_start_51d .. :try_end_52b} :catch_96d ++ :try_end_530 ++ .catch Ljava/lang/Throwable; {:try_start_522 .. :try_end_530} :catch_972 + +- :try_start_52b ++ :try_start_530 + const-string v3, "serial" + + move-object/from16 v0, v104 + + invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_532 +- .catch Ljava/lang/Throwable; {:try_start_52b .. :try_end_532} :catch_a5f ++ :try_end_537 ++ .catch Ljava/lang/Throwable; {:try_start_530 .. :try_end_537} :catch_a64 + + move-object/from16 v103, v104 + +- :goto_534 +- :try_start_534 ++ :goto_539 ++ :try_start_539 + const-string v3, "SystemServer" + + const-string v9, "UI Mode Manager Service" +@@ -1588,13 +1627,13 @@ + move-object/from16 v0, v114 + + invoke-direct {v0, v4}, Lcom/android/server/UiModeManagerService;->(Landroid/content/Context;)V +- :try_end_542 +- .catch Ljava/lang/Throwable; {:try_start_534 .. :try_end_542} :catch_979 ++ :try_end_547 ++ .catch Ljava/lang/Throwable; {:try_start_539 .. :try_end_547} :catch_97e + + move-object/from16 v113, v114 + +- :goto_544 +- :try_start_544 ++ :goto_549 ++ :try_start_549 + const-string v3, "SystemServer" + + const-string v9, "Backup Service" +@@ -1608,11 +1647,11 @@ + invoke-direct {v9, v4}, Lcom/android/server/BackupManagerService;->(Landroid/content/Context;)V + + invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_555 +- .catch Ljava/lang/Throwable; {:try_start_544 .. :try_end_555} :catch_985 ++ :try_end_55a ++ .catch Ljava/lang/Throwable; {:try_start_549 .. :try_end_55a} :catch_98a + +- :goto_555 +- :try_start_555 ++ :goto_55a ++ :try_start_55a + const-string v3, "SystemServer" + + const-string v9, "AppWidget Service" +@@ -1624,22 +1663,22 @@ + move-object/from16 v0, v46 + + invoke-direct {v0, v4}, Lcom/android/server/AppWidgetService;->(Landroid/content/Context;)V +- :try_end_563 +- .catch Ljava/lang/Throwable; {:try_start_555 .. :try_end_563} :catch_991 ++ :try_end_568 ++ .catch Ljava/lang/Throwable; {:try_start_55a .. :try_end_568} :catch_996 + +- :try_start_563 ++ :try_start_568 + const-string v3, "appwidget" + + move-object/from16 v0, v46 + + invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_56a +- .catch Ljava/lang/Throwable; {:try_start_563 .. :try_end_56a} :catch_a5a ++ :try_end_56f ++ .catch Ljava/lang/Throwable; {:try_start_568 .. :try_end_56f} :catch_a5f + + move-object/from16 v45, v46 + +- :goto_56c +- :try_start_56c ++ :goto_571 ++ :try_start_571 + const-string v3, "SystemServer" + + const-string v9, "Recognition Service" +@@ -1651,13 +1690,13 @@ + move-object/from16 v0, v100 + + invoke-direct {v0, v4}, Lcom/android/server/RecognitionManagerService;->(Landroid/content/Context;)V +- :try_end_57a +- .catch Ljava/lang/Throwable; {:try_start_56c .. :try_end_57a} :catch_99d ++ :try_end_57f ++ .catch Ljava/lang/Throwable; {:try_start_571 .. :try_end_57f} :catch_9a2 + + move-object/from16 v99, v100 + +- :goto_57c +- :try_start_57c ++ :goto_581 ++ :try_start_581 + const-string v3, "SystemServer" + + const-string v9, "DiskStats Service" +@@ -1671,11 +1710,11 @@ + invoke-direct {v9, v4}, Lcom/android/server/DiskStatsService;->(Landroid/content/Context;)V + + invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_58d +- .catch Ljava/lang/Throwable; {:try_start_57c .. :try_end_58d} :catch_9a9 ++ :try_end_592 ++ .catch Ljava/lang/Throwable; {:try_start_581 .. :try_end_592} :catch_9ae + +- :goto_58d +- :try_start_58d ++ :goto_592 ++ :try_start_592 + const-string v3, "SystemServer" + + const-string v9, "SamplingProfiler Service" +@@ -1689,11 +1728,11 @@ + invoke-direct {v9, v4}, Lcom/android/server/SamplingProfilerService;->(Landroid/content/Context;)V + + invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_59e +- .catch Ljava/lang/Throwable; {:try_start_58d .. :try_end_59e} :catch_9b5 ++ :try_end_5a3 ++ .catch Ljava/lang/Throwable; {:try_start_592 .. :try_end_5a3} :catch_9ba + +- :goto_59e +- :try_start_59e ++ :goto_5a3 ++ :try_start_5a3 + const-string v3, "SystemServer" + + const-string v9, "NetworkTimeUpdateService" +@@ -1705,13 +1744,13 @@ + move-object/from16 v0, v89 + + invoke-direct {v0, v4}, Lcom/android/server/NetworkTimeUpdateService;->(Landroid/content/Context;)V +- :try_end_5ac +- .catch Ljava/lang/Throwable; {:try_start_59e .. :try_end_5ac} :catch_9c1 ++ :try_end_5b1 ++ .catch Ljava/lang/Throwable; {:try_start_5a3 .. :try_end_5b1} :catch_9c6 + + move-object/from16 v88, v89 + +- :goto_5ae +- :try_start_5ae ++ :goto_5b3 ++ :try_start_5b3 + const-string v3, "SystemServer" + + const-string v9, "CommonTimeManagementService" +@@ -1723,22 +1762,22 @@ + move-object/from16 v0, v54 + + invoke-direct {v0, v4}, Lcom/android/server/CommonTimeManagementService;->(Landroid/content/Context;)V +- :try_end_5bc +- .catch Ljava/lang/Throwable; {:try_start_5ae .. :try_end_5bc} :catch_9cd ++ :try_end_5c1 ++ .catch Ljava/lang/Throwable; {:try_start_5b3 .. :try_end_5c1} :catch_9d2 + +- :try_start_5bc ++ :try_start_5c1 + const-string v3, "commontime_management" + + move-object/from16 v0, v54 + + invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_5c3 +- .catch Ljava/lang/Throwable; {:try_start_5bc .. :try_end_5c3} :catch_a55 ++ :try_end_5c8 ++ .catch Ljava/lang/Throwable; {:try_start_5c1 .. :try_end_5c8} :catch_a5a + + move-object/from16 v53, v54 + +- :goto_5c5 +- :try_start_5c5 ++ :goto_5ca ++ :try_start_5ca + const-string v3, "SystemServer" + + const-string v9, "CertBlacklister" +@@ -1748,10 +1787,10 @@ + new-instance v3, Lcom/android/server/CertBlacklister; + + invoke-direct {v3, v4}, Lcom/android/server/CertBlacklister;->(Landroid/content/Context;)V +- :try_end_5d1 +- .catch Ljava/lang/Throwable; {:try_start_5c5 .. :try_end_5d1} :catch_9d9 ++ :try_end_5d6 ++ .catch Ljava/lang/Throwable; {:try_start_5ca .. :try_end_5d6} :catch_9de + +- :goto_5d1 ++ :goto_5d6 + invoke-virtual {v4}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; + + move-result-object v3 +@@ -1762,9 +1801,9 @@ + + move-result v3 + +- if-eqz v3, :cond_5f5 ++ if-eqz v3, :cond_5fa + +- :try_start_5de ++ :try_start_5e3 + const-string v3, "SystemServer" + + const-string v9, "Dreams Service" +@@ -1776,23 +1815,23 @@ + move-object/from16 v0, v67 + + invoke-direct {v0, v4}, Landroid/service/dreams/DreamManagerService;->(Landroid/content/Context;)V +- :try_end_5ec +- .catch Ljava/lang/Throwable; {:try_start_5de .. :try_end_5ec} :catch_9e5 ++ :try_end_5f1 ++ .catch Ljava/lang/Throwable; {:try_start_5e3 .. :try_end_5f1} :catch_9ea + +- :try_start_5ec ++ :try_start_5f1 + const-string v3, "dreams" + + move-object/from16 v0, v67 + + invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_5f3 +- .catch Ljava/lang/Throwable; {:try_start_5ec .. :try_end_5f3} :catch_a51 ++ :try_end_5f8 ++ .catch Ljava/lang/Throwable; {:try_start_5f1 .. :try_end_5f8} :catch_a56 + + move-object/from16 v66, v67 + +- :cond_5f5 +- :goto_5f5 +- :try_start_5f5 ++ :cond_5fa ++ :goto_5fa ++ :try_start_5fa + const-string v3, "SystemServer" + + const-string v9, "AssetRedirectionManager Service" +@@ -1806,10 +1845,10 @@ + invoke-direct {v9, v4}, Lcom/android/server/AssetRedirectionManagerService;->(Landroid/content/Context;)V + + invoke-static {v3, v9}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V +- :try_end_606 +- .catch Ljava/lang/Throwable; {:try_start_5f5 .. :try_end_606} :catch_9f1 ++ :try_end_60b ++ .catch Ljava/lang/Throwable; {:try_start_5fa .. :try_end_60b} :catch_9f6 + +- :goto_606 ++ :goto_60b + move-object/from16 v0, p0 + + iget-object v3, v0, Lcom/android/server/ServerThread;->mContentResolver:Landroid/content/ContentResolver; +@@ -1854,7 +1893,7 @@ + + move-result v29 + +- if-eqz v29, :cond_9fd ++ if-eqz v29, :cond_a02 + + invoke-static {}, Lcom/android/server/am/ActivityManagerService;->self()Lcom/android/server/am/ActivityManagerService; + +@@ -1872,38 +1911,38 @@ + + invoke-virtual {v3}, Ldalvik/system/VMRuntime;->disableJitCompilation()V + +- :goto_647 +- :try_start_647 +- invoke-virtual/range {v117 .. v117}, Lcom/android/server/VibratorService;->systemReady()V +- :try_end_64a +- .catch Ljava/lang/Throwable; {:try_start_647 .. :try_end_64a} :catch_a06 +- +- :goto_64a +- if-eqz v62, :cond_64f +- ++ :goto_64c + :try_start_64c +- invoke-virtual/range {v62 .. v62}, Lcom/android/server/DevicePolicyManagerService;->systemReady()V ++ invoke-virtual/range {v117 .. v117}, Lcom/android/server/VibratorService;->systemReady()V + :try_end_64f +- .catch Ljava/lang/Throwable; {:try_start_64c .. :try_end_64f} :catch_a12 ++ .catch Ljava/lang/Throwable; {:try_start_64c .. :try_end_64f} :catch_a0b + +- :cond_64f + :goto_64f +- if-eqz v90, :cond_654 ++ if-eqz v62, :cond_654 + + :try_start_651 +- invoke-virtual/range {v90 .. v90}, Lcom/android/server/NotificationManagerService;->systemReady()V ++ invoke-virtual/range {v62 .. v62}, Lcom/android/server/DevicePolicyManagerService;->systemReady()V + :try_end_654 +- .catch Ljava/lang/Throwable; {:try_start_651 .. :try_end_654} :catch_a1e ++ .catch Ljava/lang/Throwable; {:try_start_651 .. :try_end_654} :catch_a17 + + :cond_654 + :goto_654 +- :try_start_654 ++ if-eqz v90, :cond_659 ++ ++ :try_start_656 ++ invoke-virtual/range {v90 .. v90}, Lcom/android/server/NotificationManagerService;->systemReady()V ++ :try_end_659 ++ .catch Ljava/lang/Throwable; {:try_start_656 .. :try_end_659} :catch_a23 ++ ++ :cond_659 ++ :goto_659 ++ :try_start_659 + invoke-virtual/range {v126 .. v126}, Lcom/android/server/wm/WindowManagerService;->systemReady()V +- :try_end_657 +- .catch Ljava/lang/Throwable; {:try_start_654 .. :try_end_657} :catch_a2a ++ :try_end_65c ++ .catch Ljava/lang/Throwable; {:try_start_659 .. :try_end_65c} :catch_a2f + +- :goto_657 +- if-eqz v29, :cond_660 ++ :goto_65c ++ if-eqz v29, :cond_665 + + invoke-static {}, Lcom/android/server/am/ActivityManagerService;->self()Lcom/android/server/am/ActivityManagerService; + +@@ -1911,7 +1950,7 @@ + + invoke-virtual {v3}, Lcom/android/server/am/ActivityManagerService;->showSafeModeOverlay()V + +- :cond_660 ++ :cond_665 + invoke-virtual/range {v126 .. v126}, Lcom/android/server/wm/WindowManagerService;->computeNewConfiguration()Landroid/content/res/Configuration; + + move-result-object v55 +@@ -1948,18 +1987,18 @@ + + invoke-virtual {v6}, Lcom/android/server/PowerManagerService;->systemReady()V + +- :try_start_688 ++ :try_start_68d + invoke-interface/range {v93 .. v93}, Landroid/content/pm/IPackageManager;->systemReady()V +- :try_end_68b +- .catch Ljava/lang/Throwable; {:try_start_688 .. :try_end_68b} :catch_a36 ++ :try_end_690 ++ .catch Ljava/lang/Throwable; {:try_start_68d .. :try_end_690} :catch_a3b + +- :goto_68b +- :try_start_68b ++ :goto_690 ++ :try_start_690 + invoke-virtual/range {v81 .. v81}, Lcom/android/internal/widget/LockSettingsService;->systemReady()V +- :try_end_68e +- .catch Ljava/lang/Throwable; {:try_start_68b .. :try_end_68e} :catch_a42 ++ :try_end_693 ++ .catch Ljava/lang/Throwable; {:try_start_690 .. :try_end_693} :catch_a47 + +- :goto_68e ++ :goto_693 + new-instance v71, Landroid/content/IntentFilter; + + invoke-direct/range {v71 .. v71}, Landroid/content/IntentFilter;->()V +@@ -2072,7 +2111,7 @@ + + move-result v3 + +- if-eqz v3, :cond_712 ++ if-eqz v3, :cond_717 + + const-string v3, "SystemServer" + +@@ -2080,7 +2119,7 @@ + + invoke-static {v3, v9}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I + +- :cond_712 ++ :cond_717 + invoke-static {}, Landroid/os/Looper;->loop()V + + const-string v3, "SystemServer" +@@ -2091,25 +2130,25 @@ + + return-void + +- :cond_71d ++ :cond_722 + const/16 v98, 0x0 + + goto/16 :goto_35 + +- :cond_721 ++ :cond_726 + const/16 v97, 0x0 + + goto/16 :goto_47 + +- :cond_725 ++ :cond_72a + invoke-static/range {v70 .. v70}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I + + move-result v69 + + goto/16 :goto_60 + +- :cond_72b +- :try_start_72b ++ :cond_730 ++ :try_start_730 + const-string v3, "1" + + move-object/from16 v0, v61 +@@ -2130,15 +2169,15 @@ + + goto/16 :goto_119 + +- :cond_740 ++ :cond_745 + const/4 v3, 0x0 + + goto/16 :goto_11c + +- :catch_743 ++ :catch_748 + move-exception v68 + +- :goto_744 ++ :goto_749 + const-string v3, "SystemServer" + + const-string v9, "Failure starting Account Manager" +@@ -2146,19 +2185,19 @@ + move-object/from16 v0, v68 + + invoke-static {v3, v9, v0}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I +- :try_end_74d +- .catch Ljava/lang/RuntimeException; {:try_start_72b .. :try_end_74d} :catch_74f ++ :try_end_752 ++ .catch Ljava/lang/RuntimeException; {:try_start_730 .. :try_end_752} :catch_754 + + goto/16 :goto_14a + +- :catch_74f ++ :catch_754 + move-exception v68 + + move-object/from16 v7, v44 + + move-object/from16 v5, v47 + +- :goto_754 ++ :goto_759 + const-string v3, "System" + + const-string v9, "******************************************" +@@ -2173,51 +2212,51 @@ + + invoke-static {v3, v9, v0}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + +- goto/16 :goto_212 ++ goto/16 :goto_217 + +- :cond_766 ++ :cond_76b + const/4 v3, 0x0 + + goto/16 :goto_157 + +- :cond_769 ++ :cond_76e + const/4 v3, 0x0 + + move v9, v3 + +- goto/16 :goto_1d5 ++ goto/16 :goto_1da + +- :cond_76d ++ :cond_772 + const/4 v3, 0x0 + +- goto/16 :goto_1d8 ++ goto/16 :goto_1dd + +- :cond_770 ++ :cond_775 + const/4 v3, 0x1 + + move/from16 v0, v69 + +- if-ne v0, v3, :cond_784 ++ if-ne v0, v3, :cond_789 + +- :try_start_775 ++ :try_start_77a + const-string v3, "SystemServer" + + const-string v9, "No Bluetooth Service (factory test)" + + invoke-static {v3, v9}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I + +- goto/16 :goto_20e ++ goto/16 :goto_213 + +- :catch_77e ++ :catch_783 + move-exception v68 + + move-object/from16 v117, v118 + + move-object/from16 v77, v78 + +- goto :goto_754 ++ goto :goto_759 + +- :cond_784 ++ :cond_789 + const-string v3, "SystemServer" + + const-string v9, "Bluetooth Service" +@@ -2229,10 +2268,10 @@ + move-object/from16 v0, v49 + + invoke-direct {v0, v4}, Landroid/server/BluetoothService;->(Landroid/content/Context;)V +- :try_end_792 +- .catch Ljava/lang/RuntimeException; {:try_start_775 .. :try_end_792} :catch_77e ++ :try_end_797 ++ .catch Ljava/lang/RuntimeException; {:try_start_77a .. :try_end_797} :catch_783 + +- :try_start_792 ++ :try_start_797 + const-string v3, "bluetooth" + + move-object/from16 v0, v49 +@@ -2253,7 +2292,7 @@ + + move-result v3 + +- if-nez v3, :cond_7bf ++ if-nez v3, :cond_7c4 + + new-instance v51, Landroid/server/BluetoothA2dpService; + +@@ -2262,10 +2301,10 @@ + move-object/from16 v1, v49 + + invoke-direct {v0, v4, v1}, Landroid/server/BluetoothA2dpService;->(Landroid/content/Context;Landroid/server/BluetoothService;)V +- :try_end_7b3 +- .catch Ljava/lang/RuntimeException; {:try_start_792 .. :try_end_7b3} :catch_aea ++ :try_end_7b8 ++ .catch Ljava/lang/RuntimeException; {:try_start_797 .. :try_end_7b8} :catch_aef + +- :try_start_7b3 ++ :try_start_7b8 + const-string v3, "bluetooth_a2dp" + + move-object/from16 v0, v51 +@@ -2273,13 +2312,13 @@ + invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V + + invoke-virtual/range {v49 .. v49}, Landroid/server/BluetoothService;->initAfterA2dpRegistration()V +- :try_end_7bd +- .catch Ljava/lang/RuntimeException; {:try_start_7b3 .. :try_end_7bd} :catch_af3 ++ :try_end_7c2 ++ .catch Ljava/lang/RuntimeException; {:try_start_7b8 .. :try_end_7c2} :catch_af8 + + move-object/from16 v50, v51 + +- :cond_7bf +- :try_start_7bf ++ :cond_7c4 ++ :try_start_7c4 + move-object/from16 v0, p0 + + iget-object v3, v0, Lcom/android/server/ServerThread;->mContentResolver:Landroid/content/ContentResolver; +@@ -2292,21 +2331,21 @@ + + move-result v52 + +- if-eqz v52, :cond_7cf ++ if-eqz v52, :cond_7d4 + + invoke-virtual/range {v49 .. v49}, Landroid/server/BluetoothService;->enable()Z +- :try_end_7cf +- .catch Ljava/lang/RuntimeException; {:try_start_7bf .. :try_end_7cf} :catch_aea ++ :try_end_7d4 ++ .catch Ljava/lang/RuntimeException; {:try_start_7c4 .. :try_end_7d4} :catch_aef + +- :cond_7cf ++ :cond_7d4 + move-object/from16 v48, v49 + +- goto/16 :goto_20e ++ goto/16 :goto_213 + +- :catch_7d3 ++ :catch_7d8 + move-exception v68 + +- :goto_7d4 ++ :goto_7d9 + const-string v3, "starting Input Manager Service" + + move-object/from16 v0, p0 +@@ -2315,9 +2354,9 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_253 ++ goto/16 :goto_258 + +- :catch_7df ++ :catch_7e4 + move-exception v68 + + const-string v3, "starting Accessibility Manager" +@@ -2328,9 +2367,9 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_264 ++ goto/16 :goto_269 + +- :catch_7eb ++ :catch_7f0 + move-exception v68 + + const-string v3, "making display ready" +@@ -2341,9 +2380,9 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_267 ++ goto/16 :goto_26c + +- :catch_7f7 ++ :catch_7fc + move-exception v68 + + const-string v3, "performing boot dexopt" +@@ -2354,12 +2393,12 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_26a ++ goto/16 :goto_26f + +- :catch_803 ++ :catch_808 + move-exception v68 + +- :goto_804 ++ :goto_809 + const-string v3, "starting Mount Service" + + move-object/from16 v0, p0 +@@ -2368,12 +2407,12 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_2a9 ++ goto/16 :goto_2ae + +- :catch_80f ++ :catch_814 + move-exception v68 + +- :goto_810 ++ :goto_815 + const-string v3, "starting LockSettingsService service" + + move-object/from16 v0, p0 +@@ -2382,12 +2421,12 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_2c0 ++ goto/16 :goto_2c5 + +- :catch_81b ++ :catch_820 + move-exception v68 + +- :goto_81c ++ :goto_821 + const-string v3, "starting DevicePolicyService" + + move-object/from16 v0, p0 +@@ -2396,12 +2435,12 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_2d7 ++ goto/16 :goto_2dc + +- :catch_827 ++ :catch_82c + move-exception v68 + +- :goto_828 ++ :goto_82d + const-string v3, "starting StatusBarManagerService" + + move-object/from16 v0, p0 +@@ -2410,9 +2449,9 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_2f0 ++ goto/16 :goto_2f5 + +- :catch_833 ++ :catch_838 + move-exception v68 + + const-string v3, "starting Clipboard Service" +@@ -2423,9 +2462,9 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_301 ++ goto/16 :goto_306 + +- :catch_83f ++ :catch_844 + move-exception v68 + + const-string v3, "starting NetworkManagement Service" +@@ -2436,12 +2475,12 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_311 ++ goto/16 :goto_316 + +- :catch_84b ++ :catch_850 + move-exception v68 + +- :goto_84c ++ :goto_851 + const-string v3, "starting Text Service Manager Service" + + move-object/from16 v0, p0 +@@ -2450,12 +2489,12 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_328 ++ goto/16 :goto_32d + +- :catch_857 ++ :catch_85c + move-exception v68 + +- :goto_858 ++ :goto_85d + const-string v3, "starting NetworkStats Service" + + move-object/from16 v0, p0 +@@ -2464,14 +2503,14 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_33f ++ goto/16 :goto_344 + +- :catch_863 ++ :catch_868 + move-exception v68 + + move-object/from16 v8, v86 + +- :goto_866 ++ :goto_86b + const-string v3, "starting NetworkPolicy Service" + + move-object/from16 v0, p0 +@@ -2480,12 +2519,12 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_356 ++ goto/16 :goto_35b + +- :catch_871 ++ :catch_876 + move-exception v68 + +- :goto_872 ++ :goto_877 + const-string v3, "starting Wi-Fi P2pService" + + move-object/from16 v0, p0 +@@ -2494,12 +2533,12 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_36d ++ goto/16 :goto_372 + +- :catch_87d ++ :catch_882 + move-exception v68 + +- :goto_87e ++ :goto_883 + const-string v3, "starting Wi-Fi Service" + + move-object/from16 v0, p0 +@@ -2508,12 +2547,12 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_384 ++ goto/16 :goto_389 + +- :catch_889 ++ :catch_88e + move-exception v68 + +- :goto_88a ++ :goto_88f + const-string v3, "starting Connectivity Service" + + move-object/from16 v0, p0 +@@ -2522,9 +2561,9 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_3ab ++ goto/16 :goto_3b0 + +- :catch_895 ++ :catch_89a + move-exception v68 + + const-string v3, "starting Service Discovery Service" +@@ -2535,12 +2574,12 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_3bd ++ goto/16 :goto_3c2 + +- :catch_8a1 ++ :catch_8a6 + move-exception v68 + +- :goto_8a2 ++ :goto_8a7 + const-string v3, "starting ThrottleService" + + move-object/from16 v0, p0 +@@ -2549,9 +2588,9 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_3d4 ++ goto/16 :goto_3d9 + +- :catch_8ad ++ :catch_8b2 + move-exception v68 + + const-string v3, "starting UpdateLockService" +@@ -2562,12 +2601,12 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_3e5 ++ goto/16 :goto_3ea + +- :catch_8b9 ++ :catch_8be + move-exception v68 + +- :goto_8ba ++ :goto_8bf + const-string v3, "SystemServer" + + const-string v9, "Failure starting Profile Manager" +@@ -2576,9 +2615,9 @@ + + invoke-static {v3, v9, v0}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + +- goto/16 :goto_401 ++ goto/16 :goto_406 + +- :catch_8c5 ++ :catch_8ca + move-exception v68 + + const-string v3, "making Account Manager Service ready" +@@ -2589,9 +2628,9 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_406 ++ goto/16 :goto_40b + +- :catch_8d1 ++ :catch_8d6 + move-exception v68 + + const-string v3, "making Content Service ready" +@@ -2602,12 +2641,12 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_40b ++ goto/16 :goto_410 + +- :catch_8dd ++ :catch_8e2 + move-exception v68 + +- :goto_8de ++ :goto_8e3 + const-string v3, "starting Notification Manager" + + move-object/from16 v0, p0 +@@ -2616,9 +2655,9 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_42b ++ goto/16 :goto_430 + +- :catch_8e9 ++ :catch_8ee + move-exception v68 + + const-string v3, "starting DeviceStorageMonitor service" +@@ -2629,12 +2668,12 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_43c ++ goto/16 :goto_441 + +- :catch_8f5 ++ :catch_8fa + move-exception v68 + +- :goto_8f6 ++ :goto_8fb + const-string v3, "starting Location Manager" + + move-object/from16 v0, p0 +@@ -2643,12 +2682,12 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_453 ++ goto/16 :goto_458 + +- :catch_901 ++ :catch_906 + move-exception v68 + +- :goto_902 ++ :goto_907 + const-string v3, "starting Country Detector" + + move-object/from16 v0, p0 +@@ -2657,9 +2696,9 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_46a ++ goto/16 :goto_46f + +- :catch_90d ++ :catch_912 + move-exception v68 + + const-string v3, "starting Search Service" +@@ -2670,9 +2709,9 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_47b ++ goto/16 :goto_480 + +- :catch_919 ++ :catch_91e + move-exception v68 + + const-string v3, "starting DropBoxManagerService" +@@ -2683,12 +2722,12 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_493 ++ goto/16 :goto_498 + +- :catch_925 ++ :catch_92a + move-exception v68 + +- :goto_926 ++ :goto_92b + const-string v3, "starting Wallpaper Service" + + move-object/from16 v0, p0 +@@ -2697,9 +2736,9 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_4b9 ++ goto/16 :goto_4be + +- :catch_931 ++ :catch_936 + move-exception v68 + + const-string v3, "starting Audio Service" +@@ -2710,9 +2749,9 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_4d8 ++ goto/16 :goto_4dd + +- :catch_93d ++ :catch_942 + move-exception v68 + + const-string v3, "starting DockObserver" +@@ -2723,9 +2762,9 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_4e8 ++ goto/16 :goto_4ed + +- :catch_949 ++ :catch_94e + move-exception v68 + + const-string v3, "starting RotationSwitchObserver" +@@ -2736,9 +2775,9 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_4fa ++ goto/16 :goto_4ff + +- :catch_955 ++ :catch_95a + move-exception v68 + + const-string v3, "starting WiredAccessoryObserver" +@@ -2749,12 +2788,12 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_506 ++ goto/16 :goto_50b + +- :catch_961 ++ :catch_966 + move-exception v68 + +- :goto_962 ++ :goto_967 + const-string v3, "starting UsbService" + + move-object/from16 v0, p0 +@@ -2763,12 +2802,12 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_51d ++ goto/16 :goto_522 + +- :catch_96d ++ :catch_972 + move-exception v68 + +- :goto_96e ++ :goto_973 + const-string v3, "SystemServer" + + const-string v9, "Failure starting SerialService" +@@ -2777,9 +2816,9 @@ + + invoke-static {v3, v9, v0}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + +- goto/16 :goto_534 ++ goto/16 :goto_539 + +- :catch_979 ++ :catch_97e + move-exception v68 + + const-string v3, "starting UiModeManagerService" +@@ -2790,9 +2829,9 @@ + + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + +- goto/16 :goto_544 ++ goto/16 :goto_549 + +- :catch_985 ++ :catch_98a + move-exception v68 + + const-string v3, "SystemServer" +@@ -2803,12 +2842,12 @@ + + invoke-static {v3, v9, v0}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + +- goto/16 :goto_555 ++ goto/16 :goto_55a -- :catch_743 -+ :catch_748 +- :catch_991 ++ :catch_996 move-exception v68 -- :goto_744 -+ :goto_749 - const-string v3, "SystemServer" +- :goto_992 ++ :goto_997 + const-string v3, "starting AppWidget Service" - const-string v9, "Failure starting Account Manager" -@@ -2146,19 +2185,19 @@ - move-object/from16 v0, v68 + move-object/from16 v0, p0 +@@ -2817,9 +2856,9 @@ - invoke-static {v3, v9, v0}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -- :try_end_74d -- .catch Ljava/lang/RuntimeException; {:try_start_72b .. :try_end_74d} :catch_74f -+ :try_end_752 -+ .catch Ljava/lang/RuntimeException; {:try_start_730 .. :try_end_752} :catch_754 + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V - goto/16 :goto_14a +- goto/16 :goto_56c ++ goto/16 :goto_571 -- :catch_74f -+ :catch_754 +- :catch_99d ++ :catch_9a2 move-exception v68 - move-object/from16 v7, v44 + const-string v3, "starting Recognition Service" +@@ -2830,9 +2869,9 @@ - move-object/from16 v5, v47 + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V -- :goto_754 -+ :goto_759 - const-string v3, "System" +- goto/16 :goto_57c ++ goto/16 :goto_581 - const-string v9, "******************************************" -@@ -2173,51 +2212,51 @@ +- :catch_9a9 ++ :catch_9ae + move-exception v68 - invoke-static {v3, v9, v0}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + const-string v3, "starting DiskStats Service" +@@ -2843,9 +2882,9 @@ -- goto/16 :goto_212 -+ goto/16 :goto_217 + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V -- :cond_766 -+ :cond_76b - const/4 v3, 0x0 +- goto/16 :goto_58d ++ goto/16 :goto_592 - goto/16 :goto_157 +- :catch_9b5 ++ :catch_9ba + move-exception v68 -- :cond_769 -+ :cond_76e - const/4 v3, 0x0 + const-string v3, "starting SamplingProfiler Service" +@@ -2856,9 +2895,9 @@ - move v9, v3 + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V -- goto/16 :goto_1d5 -+ goto/16 :goto_1da +- goto/16 :goto_59e ++ goto/16 :goto_5a3 -- :cond_76d -+ :cond_772 - const/4 v3, 0x0 +- :catch_9c1 ++ :catch_9c6 + move-exception v68 -- goto/16 :goto_1d8 -+ goto/16 :goto_1dd + const-string v3, "starting NetworkTimeUpdate service" +@@ -2869,12 +2908,12 @@ -- :cond_770 -+ :cond_775 - const/4 v3, 0x1 + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V - move/from16 v0, v69 +- goto/16 :goto_5ae ++ goto/16 :goto_5b3 -- if-ne v0, v3, :cond_784 -+ if-ne v0, v3, :cond_789 +- :catch_9cd ++ :catch_9d2 + move-exception v68 -- :try_start_775 -+ :try_start_77a - const-string v3, "SystemServer" +- :goto_9ce ++ :goto_9d3 + const-string v3, "starting CommonTimeManagementService service" - const-string v9, "No Bluetooth Service (factory test)" + move-object/from16 v0, p0 +@@ -2883,9 +2922,9 @@ - invoke-static {v3, v9}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V -- goto/16 :goto_20e -+ goto/16 :goto_213 +- goto/16 :goto_5c5 ++ goto/16 :goto_5ca -- :catch_77e -+ :catch_783 +- :catch_9d9 ++ :catch_9de move-exception v68 - move-object/from16 v117, v118 + const-string v3, "starting CertBlacklister" +@@ -2896,12 +2935,12 @@ - move-object/from16 v77, v78 + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V -- goto :goto_754 -+ goto :goto_759 +- goto/16 :goto_5d1 ++ goto/16 :goto_5d6 -- :cond_784 -+ :cond_789 - const-string v3, "SystemServer" +- :catch_9e5 ++ :catch_9ea + move-exception v68 - const-string v9, "Bluetooth Service" -@@ -2229,10 +2268,10 @@ - move-object/from16 v0, v49 +- :goto_9e6 ++ :goto_9eb + const-string v3, "starting DreamManagerService" - invoke-direct {v0, v4}, Landroid/server/BluetoothService;->(Landroid/content/Context;)V -- :try_end_792 -- .catch Ljava/lang/RuntimeException; {:try_start_775 .. :try_end_792} :catch_77e -+ :try_end_797 -+ .catch Ljava/lang/RuntimeException; {:try_start_77a .. :try_end_797} :catch_783 + move-object/from16 v0, p0 +@@ -2910,9 +2949,9 @@ -- :try_start_792 -+ :try_start_797 - const-string v3, "bluetooth" + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V - move-object/from16 v0, v49 -@@ -2253,7 +2292,7 @@ +- goto/16 :goto_5f5 ++ goto/16 :goto_5fa - move-result v3 +- :catch_9f1 ++ :catch_9f6 + move-exception v68 -- if-nez v3, :cond_7bf -+ if-nez v3, :cond_7c4 + const-string v3, "SystemServer" +@@ -2923,18 +2962,18 @@ - new-instance v51, Landroid/server/BluetoothA2dpService; + invoke-static {v3, v9, v0}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -@@ -2262,10 +2301,10 @@ - move-object/from16 v1, v49 +- goto/16 :goto_606 ++ goto/16 :goto_60b - invoke-direct {v0, v4, v1}, Landroid/server/BluetoothA2dpService;->(Landroid/content/Context;Landroid/server/BluetoothService;)V -- :try_end_7b3 -- .catch Ljava/lang/RuntimeException; {:try_start_792 .. :try_end_7b3} :catch_aea -+ :try_end_7b8 -+ .catch Ljava/lang/RuntimeException; {:try_start_797 .. :try_end_7b8} :catch_aef +- :cond_9fd ++ :cond_a02 + invoke-static {}, Ldalvik/system/VMRuntime;->getRuntime()Ldalvik/system/VMRuntime; -- :try_start_7b3 -+ :try_start_7b8 - const-string v3, "bluetooth_a2dp" + move-result-object v3 - move-object/from16 v0, v51 -@@ -2273,13 +2312,13 @@ - invoke-static {v3, v0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V + invoke-virtual {v3}, Ldalvik/system/VMRuntime;->startJitCompilation()V - invoke-virtual/range {v49 .. v49}, Landroid/server/BluetoothService;->initAfterA2dpRegistration()V -- :try_end_7bd -- .catch Ljava/lang/RuntimeException; {:try_start_7b3 .. :try_end_7bd} :catch_af3 -+ :try_end_7c2 -+ .catch Ljava/lang/RuntimeException; {:try_start_7b8 .. :try_end_7c2} :catch_af8 +- goto/16 :goto_647 ++ goto/16 :goto_64c - move-object/from16 v50, v51 +- :catch_a06 ++ :catch_a0b + move-exception v68 -- :cond_7bf -- :try_start_7bf -+ :cond_7c4 -+ :try_start_7c4 - move-object/from16 v0, p0 + const-string v3, "making Vibrator Service ready" +@@ -2945,9 +2984,9 @@ - iget-object v3, v0, Lcom/android/server/ServerThread;->mContentResolver:Landroid/content/ContentResolver; -@@ -2292,21 +2331,21 @@ + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V - move-result v52 +- goto/16 :goto_64a ++ goto/16 :goto_64f -- if-eqz v52, :cond_7cf -+ if-eqz v52, :cond_7d4 +- :catch_a12 ++ :catch_a17 + move-exception v68 - invoke-virtual/range {v49 .. v49}, Landroid/server/BluetoothService;->enable()Z -- :try_end_7cf -- .catch Ljava/lang/RuntimeException; {:try_start_7bf .. :try_end_7cf} :catch_aea -+ :try_end_7d4 -+ .catch Ljava/lang/RuntimeException; {:try_start_7c4 .. :try_end_7d4} :catch_aef + const-string v3, "making Device Policy Service ready" +@@ -2958,9 +2997,9 @@ -- :cond_7cf -+ :cond_7d4 - move-object/from16 v48, v49 + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V -- goto/16 :goto_20e -+ goto/16 :goto_213 +- goto/16 :goto_64f ++ goto/16 :goto_654 -- :catch_7d3 -+ :catch_7d8 +- :catch_a1e ++ :catch_a23 move-exception v68 -- :goto_7d4 -+ :goto_7d9 - const-string v3, "starting Input Manager Service" - - move-object/from16 v0, p0 -@@ -2315,9 +2354,9 @@ + const-string v3, "making Notification Service ready" +@@ -2971,9 +3010,9 @@ invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V -- goto/16 :goto_253 -+ goto/16 :goto_258 +- goto/16 :goto_654 ++ goto/16 :goto_659 -- :catch_7df -+ :catch_7e4 +- :catch_a2a ++ :catch_a2f move-exception v68 - const-string v3, "starting Accessibility Manager" -@@ -2328,9 +2367,9 @@ + const-string v3, "making Window Manager Service ready" +@@ -2984,9 +3023,9 @@ invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V -- goto/16 :goto_264 -+ goto/16 :goto_269 +- goto/16 :goto_657 ++ goto/16 :goto_65c -- :catch_7eb -+ :catch_7f0 +- :catch_a36 ++ :catch_a3b move-exception v68 - const-string v3, "making display ready" -@@ -2341,9 +2380,9 @@ - + const-string v3, "making Package Manager Service ready" +@@ -2997,9 +3036,9 @@ + invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V -- goto/16 :goto_267 -+ goto/16 :goto_26c +- goto/16 :goto_68b ++ goto/16 :goto_690 -- :catch_7f7 -+ :catch_7fc +- :catch_a42 ++ :catch_a47 move-exception v68 - const-string v3, "performing boot dexopt" -@@ -2354,12 +2393,12 @@ + const-string v3, "making Lock Settings Service ready" +@@ -3010,171 +3049,171 @@ invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V -- goto/16 :goto_26a -+ goto/16 :goto_26f +- goto/16 :goto_68e ++ goto/16 :goto_693 -- :catch_803 -+ :catch_808 - move-exception v68 +- :catch_a4e ++ :catch_a53 + move-exception v3 -- :goto_804 -+ :goto_809 - const-string v3, "starting Mount Service" + goto/16 :goto_128 - move-object/from16 v0, p0 -@@ -2368,12 +2407,12 @@ +- :catch_a51 ++ :catch_a56 + move-exception v68 - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + move-object/from16 v66, v67 -- goto/16 :goto_2a9 -+ goto/16 :goto_2ae +- goto :goto_9e6 ++ goto :goto_9eb -- :catch_80f -+ :catch_814 +- :catch_a55 ++ :catch_a5a move-exception v68 -- :goto_810 -+ :goto_815 - const-string v3, "starting LockSettingsService service" + move-object/from16 v53, v54 - move-object/from16 v0, p0 -@@ -2382,12 +2421,12 @@ +- goto/16 :goto_9ce ++ goto/16 :goto_9d3 - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V +- :catch_a5a ++ :catch_a5f + move-exception v68 -- goto/16 :goto_2c0 -+ goto/16 :goto_2c5 + move-object/from16 v45, v46 -- :catch_81b -+ :catch_820 +- goto/16 :goto_992 ++ goto/16 :goto_997 + +- :catch_a5f ++ :catch_a64 move-exception v68 -- :goto_81c -+ :goto_821 - const-string v3, "starting DevicePolicyService" + move-object/from16 v103, v104 - move-object/from16 v0, p0 -@@ -2396,12 +2435,12 @@ +- goto/16 :goto_96e ++ goto/16 :goto_973 - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V +- :catch_a64 ++ :catch_a69 + move-exception v68 -- goto/16 :goto_2d7 -+ goto/16 :goto_2dc + move-object/from16 v115, v116 -- :catch_827 -+ :catch_82c +- goto/16 :goto_962 ++ goto/16 :goto_967 + +- :catch_a69 ++ :catch_a6e move-exception v68 -- :goto_828 -+ :goto_82d - const-string v3, "starting StatusBarManagerService" + move-object/from16 v120, v121 - move-object/from16 v0, p0 -@@ -2410,9 +2449,9 @@ +- goto/16 :goto_926 ++ goto/16 :goto_92b - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V +- :catch_a6e ++ :catch_a73 + move-exception v68 -- goto/16 :goto_2f0 -+ goto/16 :goto_2f5 + move-object/from16 v59, v60 -- :catch_833 -+ :catch_838 - move-exception v68 +- goto/16 :goto_902 ++ goto/16 :goto_907 - const-string v3, "starting Clipboard Service" -@@ -2423,9 +2462,9 @@ +- :catch_a73 ++ :catch_a78 + move-exception v68 - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + move-object/from16 v79, v80 -- goto/16 :goto_301 -+ goto/16 :goto_306 +- goto/16 :goto_8f6 ++ goto/16 :goto_8fb -- :catch_83f -+ :catch_844 +- :catch_a78 ++ :catch_a7d move-exception v68 - const-string v3, "starting NetworkManagement Service" -@@ -2436,12 +2475,12 @@ - - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + move-object/from16 v90, v91 -- goto/16 :goto_311 -+ goto/16 :goto_316 +- goto/16 :goto_8de ++ goto/16 :goto_8e3 -- :catch_84b -+ :catch_850 +- :catch_a7d ++ :catch_a82 move-exception v68 -- :goto_84c -+ :goto_851 - const-string v3, "starting Text Service Manager Service" + move-object/from16 v95, v96 - move-object/from16 v0, p0 -@@ -2450,12 +2489,12 @@ +- goto/16 :goto_8ba ++ goto/16 :goto_8bf - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V +- :catch_a82 ++ :catch_a87 + move-exception v68 -- goto/16 :goto_328 -+ goto/16 :goto_32d + move-object/from16 v109, v110 -- :catch_857 -+ :catch_85c +- goto/16 :goto_8a2 ++ goto/16 :goto_8a7 + +- :catch_a87 ++ :catch_a8c move-exception v68 -- :goto_858 -+ :goto_85d - const-string v3, "starting NetworkStats Service" + move-object/from16 v56, v57 - move-object/from16 v0, p0 -@@ -2464,14 +2503,14 @@ +- goto/16 :goto_88a ++ goto/16 :goto_88f - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V +- :catch_a8c ++ :catch_a91 + move-exception v68 -- goto/16 :goto_33f -+ goto/16 :goto_344 + move-object/from16 v122, v123 -- :catch_863 -+ :catch_868 +- goto/16 :goto_87e ++ goto/16 :goto_883 + +- :catch_a91 ++ :catch_a96 move-exception v68 - move-object/from16 v8, v86 + move-object/from16 v124, v125 -- :goto_866 -+ :goto_86b - const-string v3, "starting NetworkPolicy Service" +- goto/16 :goto_872 ++ goto/16 :goto_877 - move-object/from16 v0, p0 -@@ -2480,12 +2519,12 @@ +- :catch_a96 ++ :catch_a9b + move-exception v68 - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V +- goto/16 :goto_866 ++ goto/16 :goto_86b -- goto/16 :goto_356 -+ goto/16 :goto_35b +- :catch_a99 ++ :catch_a9e + move-exception v68 -- :catch_871 -+ :catch_876 + move-object/from16 v12, v87 + +- goto/16 :goto_858 ++ goto/16 :goto_85d + +- :catch_a9e ++ :catch_aa3 move-exception v68 -- :goto_872 -+ :goto_877 - const-string v3, "starting Wi-Fi P2pService" + move-object/from16 v111, v112 - move-object/from16 v0, p0 -@@ -2494,12 +2533,12 @@ +- goto/16 :goto_84c ++ goto/16 :goto_851 - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V +- :catch_aa3 ++ :catch_aa8 + move-exception v68 -- goto/16 :goto_36d -+ goto/16 :goto_372 + move-object/from16 v107, v108 -- :catch_87d -+ :catch_882 +- goto/16 :goto_828 ++ goto/16 :goto_82d + +- :catch_aa8 ++ :catch_aad move-exception v68 -- :goto_87e -+ :goto_883 - const-string v3, "starting Wi-Fi Service" + move-object/from16 v62, v63 - move-object/from16 v0, p0 -@@ -2508,12 +2547,12 @@ +- goto/16 :goto_81c ++ goto/16 :goto_821 - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V +- :catch_aad ++ :catch_ab2 + move-exception v68 -- goto/16 :goto_384 -+ goto/16 :goto_389 + move-object/from16 v81, v82 -- :catch_889 -+ :catch_88e +- goto/16 :goto_810 ++ goto/16 :goto_815 + +- :catch_ab2 ++ :catch_ab7 move-exception v68 -- :goto_88a -+ :goto_88f - const-string v3, "starting Connectivity Service" + move-object/from16 v84, v85 - move-object/from16 v0, p0 -@@ -2522,9 +2561,9 @@ +- goto/16 :goto_804 ++ goto/16 :goto_809 - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V +- :catch_ab7 ++ :catch_abc + move-exception v3 -- goto/16 :goto_3ab -+ goto/16 :goto_3b0 +- goto/16 :goto_27d ++ goto/16 :goto_282 -- :catch_895 -+ :catch_89a +- :catch_aba ++ :catch_abf move-exception v68 - const-string v3, "starting Service Discovery Service" -@@ -2535,12 +2574,12 @@ - - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + move-object/from16 v74, v75 -- goto/16 :goto_3bd -+ goto/16 :goto_3c2 +- goto/16 :goto_7d4 ++ goto/16 :goto_7d9 -- :catch_8a1 -+ :catch_8a6 +- :catch_abf ++ :catch_ac4 move-exception v68 -- :goto_8a2 -+ :goto_8a7 - const-string v3, "starting ThrottleService" - - move-object/from16 v0, p0 -@@ -2549,9 +2588,9 @@ + move-object/from16 v7, v44 +@@ -3183,9 +3222,9 @@ - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + move-object/from16 v6, v94 -- goto/16 :goto_3d4 -+ goto/16 :goto_3d9 +- goto/16 :goto_754 ++ goto/16 :goto_759 -- :catch_8ad -+ :catch_8b2 +- :catch_ac8 ++ :catch_acd move-exception v68 - const-string v3, "starting UpdateLockService" -@@ -2562,12 +2601,12 @@ + move-object/from16 v7, v44 +@@ -3194,9 +3233,9 @@ - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + move-object/from16 v42, v43 -- goto/16 :goto_3e5 -+ goto/16 :goto_3ea +- goto/16 :goto_754 ++ goto/16 :goto_759 -- :catch_8b9 -+ :catch_8be +- :catch_ad1 ++ :catch_ad6 move-exception v68 -- :goto_8ba -+ :goto_8bf - const-string v3, "SystemServer" - - const-string v9, "Failure starting Profile Manager" -@@ -2576,9 +2615,9 @@ + move-object/from16 v7, v44 +@@ -3205,18 +3244,18 @@ - invoke-static {v3, v9, v0}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + move-object/from16 v77, v78 -- goto/16 :goto_401 -+ goto/16 :goto_406 +- goto/16 :goto_754 ++ goto/16 :goto_759 -- :catch_8c5 -+ :catch_8ca +- :catch_ada ++ :catch_adf move-exception v68 - const-string v3, "making Account Manager Service ready" -@@ -2589,9 +2628,9 @@ + move-object/from16 v7, v44 - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + move-object/from16 v77, v78 -- goto/16 :goto_406 -+ goto/16 :goto_40b +- goto/16 :goto_754 ++ goto/16 :goto_759 -- :catch_8d1 -+ :catch_8d6 +- :catch_ae1 ++ :catch_ae6 move-exception v68 - const-string v3, "making Content Service ready" -@@ -2602,12 +2641,12 @@ + move-object/from16 v7, v44 +@@ -3225,9 +3264,9 @@ - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + move-object/from16 v77, v78 -- goto/16 :goto_40b -+ goto/16 :goto_410 +- goto/16 :goto_754 ++ goto/16 :goto_759 -- :catch_8dd -+ :catch_8e2 +- :catch_aea ++ :catch_aef move-exception v68 -- :goto_8de -+ :goto_8e3 - const-string v3, "starting Notification Manager" - - move-object/from16 v0, p0 -@@ -2616,9 +2655,9 @@ + move-object/from16 v48, v49 +@@ -3236,9 +3275,9 @@ - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + move-object/from16 v77, v78 -- goto/16 :goto_42b -+ goto/16 :goto_430 +- goto/16 :goto_754 ++ goto/16 :goto_759 -- :catch_8e9 -+ :catch_8ee +- :catch_af3 ++ :catch_af8 move-exception v68 - const-string v3, "starting DeviceStorageMonitor service" -@@ -2629,12 +2668,12 @@ + move-object/from16 v50, v51 +@@ -3249,17 +3288,17 @@ - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + move-object/from16 v77, v78 -- goto/16 :goto_43c -+ goto/16 :goto_441 +- goto/16 :goto_754 ++ goto/16 :goto_759 -- :catch_8f5 -+ :catch_8fa +- :catch_afe ++ :catch_b03 move-exception v68 -- :goto_8f6 -+ :goto_8fb - const-string v3, "starting Location Manager" + move-object/from16 v42, v43 - move-object/from16 v0, p0 -@@ -2643,12 +2682,12 @@ +- goto/16 :goto_744 ++ goto/16 :goto_749 - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V +- :cond_b03 ++ :cond_b08 + move-object/from16 v8, v86 -- goto/16 :goto_453 -+ goto/16 :goto_458 +- goto/16 :goto_606 ++ goto/16 :goto_60b + .end method +diff -Npru stock-services/smali/com/android/server/TelephonyRegistry$1.smali ext-services/smali/com/android/server/TelephonyRegistry$1.smali +--- stock-services/smali/com/android/server/TelephonyRegistry$1.smali 2012-10-12 12:27:13.837330595 -0500 ++++ ext-services/smali/com/android/server/TelephonyRegistry$1.smali 1969-12-31 18:00:00.000000000 -0600 +@@ -1,14 +0,0 @@ +-.class synthetic Lcom/android/server/TelephonyRegistry$1; +-.super Ljava/lang/Object; +-.source "TelephonyRegistry.java" +- +- +-# annotations +-.annotation system Ldalvik/annotation/EnclosingClass; +- value = Lcom/android/server/TelephonyRegistry; +-.end annotation +- +-.annotation system Ldalvik/annotation/InnerClass; +- accessFlags = 0x1008 +- name = null +-.end annotation +diff -Npru stock-services/smali/com/android/server/TelephonyRegistry$Record.smali ext-services/smali/com/android/server/TelephonyRegistry$Record.smali +--- stock-services/smali/com/android/server/TelephonyRegistry$Record.smali 2012-10-12 12:27:13.837330595 -0500 ++++ ext-services/smali/com/android/server/TelephonyRegistry$Record.smali 2012-10-12 14:19:32.118743926 -0500 +@@ -1,4 +1,4 @@ +-.class Lcom/android/server/TelephonyRegistry$Record; ++.class public Lcom/android/server/TelephonyRegistry$Record; + .super Ljava/lang/Object; + .source "TelephonyRegistry.java" + +@@ -9,7 +9,7 @@ + .end annotation + + .annotation system Ldalvik/annotation/InnerClass; +- accessFlags = 0xa ++ accessFlags = 0x9 + name = "Record" + .end annotation + +@@ -25,18 +25,10 @@ -- :catch_901 -+ :catch_906 - move-exception v68 -- :goto_902 -+ :goto_907 - const-string v3, "starting Country Detector" + # direct methods +-.method private constructor ()V ++.method public constructor ()V + .registers 1 - move-object/from16 v0, p0 -@@ -2657,9 +2696,9 @@ + invoke-direct {p0}, Ljava/lang/Object;->()V - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + return-void + .end method +- +-.method synthetic constructor (Lcom/android/server/TelephonyRegistry$1;)V +- .registers 2 +- +- invoke-direct {p0}, Lcom/android/server/TelephonyRegistry$Record;->()V +- +- return-void +-.end method +diff -Npru stock-services/smali/com/android/server/TelephonyRegistry.smali ext-services/smali/com/android/server/TelephonyRegistry.smali +--- stock-services/smali/com/android/server/TelephonyRegistry.smali 2012-10-12 12:27:13.861330714 -0500 ++++ ext-services/smali/com/android/server/TelephonyRegistry.smali 2012-10-12 14:19:32.054743609 -0500 +@@ -6,7 +6,6 @@ + # annotations + .annotation system Ldalvik/annotation/MemberClasses; + value = { +- Lcom/android/server/TelephonyRegistry$1;, + Lcom/android/server/TelephonyRegistry$Record; + } + .end annotation +@@ -23,15 +22,15 @@ + # instance fields + .field private final mBatteryStats:Lcom/android/internal/app/IBatteryStats; -- goto/16 :goto_46a -+ goto/16 :goto_46f +-.field private mCallForwarding:Z ++.field protected mCallForwarding:Z -- :catch_90d -+ :catch_912 - move-exception v68 +-.field private mCallIncomingNumber:Ljava/lang/String; ++.field protected mCallIncomingNumber:Ljava/lang/String; - const-string v3, "starting Search Service" -@@ -2670,9 +2709,9 @@ +-.field private mCallState:I ++.field protected mCallState:I - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V +-.field private mCellInfo:Landroid/telephony/CellInfo; ++.field protected mCellInfo:Landroid/telephony/CellInfo; -- goto/16 :goto_47b -+ goto/16 :goto_480 +-.field private mCellLocation:Landroid/os/Bundle; ++.field protected mCellLocation:Landroid/os/Bundle; -- :catch_919 -+ :catch_91e - move-exception v68 + .field private mConnectedApns:Ljava/util/ArrayList; + .annotation system Ldalvik/annotation/Signature; +@@ -44,9 +43,9 @@ + .end annotation + .end field - const-string v3, "starting DropBoxManagerService" -@@ -2683,12 +2722,12 @@ +-.field private final mContext:Landroid/content/Context; ++.field protected final mContext:Landroid/content/Context; - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V +-.field private mDataActivity:I ++.field protected mDataActivity:I -- goto/16 :goto_493 -+ goto/16 :goto_498 + .field private mDataConnectionApn:Ljava/lang/String; -- :catch_925 -+ :catch_92a - move-exception v68 +@@ -54,19 +53,19 @@ -- :goto_926 -+ :goto_92b - const-string v3, "starting Wallpaper Service" + .field private mDataConnectionLinkProperties:Landroid/net/LinkProperties; - move-object/from16 v0, p0 -@@ -2697,9 +2736,9 @@ +-.field private mDataConnectionNetworkType:I ++.field protected mDataConnectionNetworkType:I - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + .field private mDataConnectionPossible:Z -- goto/16 :goto_4b9 -+ goto/16 :goto_4be + .field private mDataConnectionReason:Ljava/lang/String; -- :catch_931 -+ :catch_936 - move-exception v68 +-.field private mDataConnectionState:I ++.field protected mDataConnectionState:I - const-string v3, "starting Audio Service" -@@ -2710,9 +2749,9 @@ +-.field private mMessageWaiting:Z ++.field protected mMessageWaiting:Z - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V +-.field private mOtaspMode:I ++.field protected mOtaspMode:I -- goto/16 :goto_4d8 -+ goto/16 :goto_4dd +-.field private final mRecords:Ljava/util/ArrayList; ++.field protected final mRecords:Ljava/util/ArrayList; + .annotation system Ldalvik/annotation/Signature; + value = { + "Ljava/util/ArrayList", +@@ -77,7 +76,7 @@ + .end annotation + .end field -- :catch_93d -+ :catch_942 - move-exception v68 +-.field private final mRemoveList:Ljava/util/ArrayList; ++.field protected final mRemoveList:Ljava/util/ArrayList; + .annotation system Ldalvik/annotation/Signature; + value = { + "Ljava/util/ArrayList", +@@ -88,13 +87,13 @@ + .end annotation + .end field - const-string v3, "starting DockObserver" -@@ -2723,9 +2762,9 @@ +-.field private mServiceState:Landroid/telephony/ServiceState; ++.field protected mServiceState:Landroid/telephony/ServiceState; - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V +-.field private mSignalStrength:Landroid/telephony/SignalStrength; ++.field protected mSignalStrength:Landroid/telephony/SignalStrength; -- goto/16 :goto_4e8 -+ goto/16 :goto_4ed -- :catch_949 -+ :catch_94e - move-exception v68 + # direct methods +-.method constructor (Landroid/content/Context;)V ++.method protected constructor (Landroid/content/Context;)V + .registers 5 - const-string v3, "starting RotationSwitchObserver" -@@ -2736,9 +2775,9 @@ + const/4 v2, 0x0 +@@ -381,8 +380,8 @@ + return-void + .end method - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V +-.method private broadcastServiceStateChanged(Landroid/telephony/ServiceState;)V +- .registers 8 ++.method private broadcastSignalStrengthChanged(Landroid/telephony/SignalStrength;)V ++ .registers 7 -- goto/16 :goto_4fa -+ goto/16 :goto_4ff + invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J -- :catch_955 -+ :catch_95a - move-exception v68 +@@ -391,29 +390,29 @@ + :try_start_4 + iget-object v4, p0, Lcom/android/server/TelephonyRegistry;->mBatteryStats:Lcom/android/internal/app/IBatteryStats; - const-string v3, "starting WiredAccessoryObserver" -@@ -2749,12 +2788,12 @@ +- invoke-virtual {p1}, Landroid/telephony/ServiceState;->getState()I +- +- move-result v5 +- +- invoke-interface {v4, v5}, Lcom/android/internal/app/IBatteryStats;->notePhoneState(I)V +- :try_end_d +- .catchall {:try_start_4 .. :try_end_d} :catchall_28 +- .catch Landroid/os/RemoteException; {:try_start_4 .. :try_end_d} :catch_2d ++ invoke-interface {v4, p1}, Lcom/android/internal/app/IBatteryStats;->notePhoneSignalStrength(Landroid/telephony/SignalStrength;)V ++ :try_end_9 ++ .catchall {:try_start_4 .. :try_end_9} :catchall_29 ++ .catch Landroid/os/RemoteException; {:try_start_4 .. :try_end_9} :catch_2e - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V +- :goto_d ++ :goto_9 + invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V -- goto/16 :goto_506 -+ goto/16 :goto_50b + new-instance v3, Landroid/content/Intent; -- :catch_961 -+ :catch_966 - move-exception v68 +- const-string v4, "android.intent.action.SERVICE_STATE" ++ const-string v4, "android.intent.action.SIG_STR" -- :goto_962 -+ :goto_967 - const-string v3, "starting UsbService" + invoke-direct {v3, v4}, Landroid/content/Intent;->(Ljava/lang/String;)V - move-object/from16 v0, p0 -@@ -2763,12 +2802,12 @@ ++ const/high16 v4, 0x2000 ++ ++ invoke-virtual {v3, v4}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent; ++ + new-instance v0, Landroid/os/Bundle; - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + invoke-direct {v0}, Landroid/os/Bundle;->()V + +- invoke-virtual {p1, v0}, Landroid/telephony/ServiceState;->fillInNotifierBundle(Landroid/os/Bundle;)V ++ invoke-virtual {p1, v0}, Landroid/telephony/SignalStrength;->fillInNotifierBundle(Landroid/os/Bundle;)V -- goto/16 :goto_51d -+ goto/16 :goto_522 + invoke-virtual {v3, v0}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent; -- :catch_96d -+ :catch_972 - move-exception v68 +@@ -423,21 +422,23 @@ -- :goto_96e -+ :goto_973 - const-string v3, "SystemServer" + return-void - const-string v9, "Failure starting SerialService" -@@ -2777,9 +2816,9 @@ +- :catchall_28 ++ :catchall_29 + move-exception v4 - invoke-static {v3, v9, v0}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V -- goto/16 :goto_534 -+ goto/16 :goto_539 + throw v4 -- :catch_979 -+ :catch_97e - move-exception v68 +- :catch_2d ++ :catch_2e + move-exception v4 - const-string v3, "starting UiModeManagerService" -@@ -2790,9 +2829,9 @@ +- goto :goto_d ++ goto :goto_9 + .end method - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V +-.method private broadcastSignalStrengthChanged(Landroid/telephony/SignalStrength;)V +- .registers 7 ++ ++# virtual methods ++.method protected broadcastServiceStateChanged(Landroid/telephony/ServiceState;)V ++ .registers 8 -- goto/16 :goto_544 -+ goto/16 :goto_549 + invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J -- :catch_985 -+ :catch_98a - move-exception v68 +@@ -446,29 +447,29 @@ + :try_start_4 + iget-object v4, p0, Lcom/android/server/TelephonyRegistry;->mBatteryStats:Lcom/android/internal/app/IBatteryStats; - const-string v3, "SystemServer" -@@ -2803,12 +2842,12 @@ +- invoke-interface {v4, p1}, Lcom/android/internal/app/IBatteryStats;->notePhoneSignalStrength(Landroid/telephony/SignalStrength;)V +- :try_end_9 +- .catchall {:try_start_4 .. :try_end_9} :catchall_29 +- .catch Landroid/os/RemoteException; {:try_start_4 .. :try_end_9} :catch_2e ++ invoke-virtual {p1}, Landroid/telephony/ServiceState;->getState()I - invoke-static {v3, v9, v0}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I +- :goto_9 ++ move-result v5 ++ ++ invoke-interface {v4, v5}, Lcom/android/internal/app/IBatteryStats;->notePhoneState(I)V ++ :try_end_d ++ .catchall {:try_start_4 .. :try_end_d} :catchall_28 ++ .catch Landroid/os/RemoteException; {:try_start_4 .. :try_end_d} :catch_2d ++ ++ :goto_d + invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V -- goto/16 :goto_555 -+ goto/16 :goto_55a + new-instance v3, Landroid/content/Intent; -- :catch_991 -+ :catch_996 - move-exception v68 +- const-string v4, "android.intent.action.SIG_STR" ++ const-string v4, "android.intent.action.SERVICE_STATE" -- :goto_992 -+ :goto_997 - const-string v3, "starting AppWidget Service" + invoke-direct {v3, v4}, Landroid/content/Intent;->(Ljava/lang/String;)V - move-object/from16 v0, p0 -@@ -2817,9 +2856,9 @@ +- const/high16 v4, 0x2000 +- +- invoke-virtual {v3, v4}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent; +- + new-instance v0, Landroid/os/Bundle; - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + invoke-direct {v0}, Landroid/os/Bundle;->()V -- goto/16 :goto_56c -+ goto/16 :goto_571 +- invoke-virtual {p1, v0}, Landroid/telephony/SignalStrength;->fillInNotifierBundle(Landroid/os/Bundle;)V ++ invoke-virtual {p1, v0}, Landroid/telephony/ServiceState;->fillInNotifierBundle(Landroid/os/Bundle;)V -- :catch_99d -+ :catch_9a2 - move-exception v68 + invoke-virtual {v3, v0}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent; - const-string v3, "starting Recognition Service" -@@ -2830,9 +2869,9 @@ +@@ -478,20 +479,20 @@ - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + return-void -- goto/16 :goto_57c -+ goto/16 :goto_581 +- :catchall_29 ++ :catchall_28 + move-exception v4 -- :catch_9a9 -+ :catch_9ae - move-exception v68 + invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V - const-string v3, "starting DiskStats Service" -@@ -2843,9 +2882,9 @@ + throw v4 - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V +- :catch_2e ++ :catch_2d + move-exception v4 -- goto/16 :goto_58d -+ goto/16 :goto_592 +- goto :goto_9 ++ goto :goto_d + .end method -- :catch_9b5 -+ :catch_9ba - move-exception v68 +-.method private checkListenerPermission(I)V ++.method protected checkListenerPermission(I)V + .registers 5 - const-string v3, "starting SamplingProfiler Service" -@@ -2856,9 +2895,9 @@ + const/4 v2, 0x0 +@@ -532,7 +533,7 @@ + return-void + .end method - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V +-.method private checkNotifyPermission(Ljava/lang/String;)Z ++.method protected checkNotifyPermission(Ljava/lang/String;)Z + .registers 5 -- goto/16 :goto_59e -+ goto/16 :goto_5a3 + iget-object v1, p0, Lcom/android/server/TelephonyRegistry;->mContext:Landroid/content/Context; +@@ -602,111 +603,6 @@ + goto :goto_b + .end method -- :catch_9c1 -+ :catch_9c6 - move-exception v68 +-.method private handleRemoveListLocked()V +- .registers 4 +- +- iget-object v2, p0, Lcom/android/server/TelephonyRegistry;->mRemoveList:Ljava/util/ArrayList; +- +- invoke-virtual {v2}, Ljava/util/ArrayList;->size()I +- +- move-result v2 +- +- if-lez v2, :cond_23 +- +- iget-object v2, p0, Lcom/android/server/TelephonyRegistry;->mRemoveList:Ljava/util/ArrayList; +- +- invoke-virtual {v2}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; +- +- move-result-object v1 +- +- :goto_e +- invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z +- +- move-result v2 +- +- if-eqz v2, :cond_1e +- +- invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; +- +- move-result-object v0 +- +- check-cast v0, Landroid/os/IBinder; +- +- invoke-direct {p0, v0}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V +- +- goto :goto_e +- +- :cond_1e +- iget-object v2, p0, Lcom/android/server/TelephonyRegistry;->mRemoveList:Ljava/util/ArrayList; +- +- invoke-virtual {v2}, Ljava/util/ArrayList;->clear()V +- +- :cond_23 +- return-void +-.end method +- +-.method private remove(Landroid/os/IBinder;)V +- .registers 6 +- +- iget-object v3, p0, Lcom/android/server/TelephonyRegistry;->mRecords:Ljava/util/ArrayList; +- +- monitor-enter v3 +- +- :try_start_3 +- iget-object v2, p0, Lcom/android/server/TelephonyRegistry;->mRecords:Ljava/util/ArrayList; +- +- invoke-virtual {v2}, Ljava/util/ArrayList;->size()I +- +- move-result v1 +- +- const/4 v0, 0x0 +- +- :goto_a +- if-ge v0, v1, :cond_22 +- +- iget-object v2, p0, Lcom/android/server/TelephonyRegistry;->mRecords:Ljava/util/ArrayList; +- +- invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; +- +- move-result-object v2 +- +- check-cast v2, Lcom/android/server/TelephonyRegistry$Record; +- +- iget-object v2, v2, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; +- +- if-ne v2, p1, :cond_1f +- +- iget-object v2, p0, Lcom/android/server/TelephonyRegistry;->mRecords:Ljava/util/ArrayList; +- +- invoke-virtual {v2, v0}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object; +- +- monitor-exit v3 +- +- :goto_1e +- return-void +- +- :cond_1f +- add-int/lit8 v0, v0, 0x1 +- +- goto :goto_a +- +- :cond_22 +- monitor-exit v3 +- +- goto :goto_1e +- +- :catchall_24 +- move-exception v2 +- +- monitor-exit v3 +- :try_end_26 +- .catchall {:try_start_3 .. :try_end_26} :catchall_24 +- +- throw v2 +-.end method +- +- +-# virtual methods + .method public dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V + .registers 10 - const-string v3, "starting NetworkTimeUpdate service" -@@ -2869,12 +2908,12 @@ +@@ -1204,12 +1100,55 @@ + goto/16 :goto_32 + .end method - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V ++.method protected handleRemoveListLocked()V ++ .registers 4 ++ ++ iget-object v2, p0, Lcom/android/server/TelephonyRegistry;->mRemoveList:Ljava/util/ArrayList; ++ ++ invoke-virtual {v2}, Ljava/util/ArrayList;->size()I ++ ++ move-result v2 ++ ++ if-lez v2, :cond_23 ++ ++ iget-object v2, p0, Lcom/android/server/TelephonyRegistry;->mRemoveList:Ljava/util/ArrayList; ++ ++ invoke-virtual {v2}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; ++ ++ move-result-object v1 ++ ++ :goto_e ++ invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z ++ ++ move-result v2 ++ ++ if-eqz v2, :cond_1e ++ ++ invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; ++ ++ move-result-object v0 ++ ++ check-cast v0, Landroid/os/IBinder; ++ ++ invoke-virtual {p0, v0}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V ++ ++ goto :goto_e ++ ++ :cond_1e ++ iget-object v2, p0, Lcom/android/server/TelephonyRegistry;->mRemoveList:Ljava/util/ArrayList; ++ ++ invoke-virtual {v2}, Ljava/util/ArrayList;->clear()V ++ ++ :cond_23 ++ return-void ++.end method ++ + .method public listen(Ljava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;IZ)V + .registers 17 + +- if-eqz p3, :cond_133 ++ if-eqz p3, :cond_131 + +- invoke-direct {p0, p3}, Lcom/android/server/TelephonyRegistry;->checkListenerPermission(I)V ++ invoke-virtual {p0, p3}, Lcom/android/server/TelephonyRegistry;->checkListenerPermission(I)V + + iget-object v9, p0, Lcom/android/server/TelephonyRegistry;->mRecords:Ljava/util/ArrayList; + +@@ -1226,7 +1165,7 @@ + + invoke-virtual {v8}, Ljava/util/ArrayList;->size()I + :try_end_12 +- .catchall {:try_start_9 .. :try_end_12} :catchall_db ++ .catchall {:try_start_9 .. :try_end_12} :catchall_da + + move-result v0 + +@@ -1246,7 +1185,7 @@ + + check-cast v5, Lcom/android/server/TelephonyRegistry$Record; + :try_end_1f +- .catchall {:try_start_17 .. :try_end_1f} :catchall_13b ++ .catchall {:try_start_17 .. :try_end_1f} :catchall_139 + + :try_start_1f + iget-object v8, v5, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; +@@ -1262,7 +1201,7 @@ + + iput p3, v5, Lcom/android/server/TelephonyRegistry$Record;->events:I + :try_end_2a +- .catchall {:try_start_1f .. :try_end_2a} :catchall_db ++ .catchall {:try_start_1f .. :try_end_2a} :catchall_da + + if-eqz p4, :cond_c1 + +@@ -1281,8 +1220,8 @@ + + invoke-interface {v8, v10}, Lcom/android/internal/telephony/IPhoneStateListener;->onServiceStateChanged(Landroid/telephony/ServiceState;)V + :try_end_3c +- .catchall {:try_start_30 .. :try_end_3c} :catchall_db +- .catch Landroid/os/RemoteException; {:try_start_30 .. :try_end_3c} :catch_de ++ .catchall {:try_start_30 .. :try_end_3c} :catchall_da ++ .catch Landroid/os/RemoteException; {:try_start_30 .. :try_end_3c} :catch_dd + + :cond_3c + :goto_3c +@@ -1308,8 +1247,8 @@ + :cond_4d + invoke-interface {v8, v3}, Lcom/android/internal/telephony/IPhoneStateListener;->onSignalStrengthChanged(I)V + :try_end_50 +- .catchall {:try_start_40 .. :try_end_50} :catchall_db +- .catch Landroid/os/RemoteException; {:try_start_40 .. :try_end_50} :catch_e6 ++ .catchall {:try_start_40 .. :try_end_50} :catchall_da ++ .catch Landroid/os/RemoteException; {:try_start_40 .. :try_end_50} :catch_e5 + + :cond_50 + :goto_50 +@@ -1324,8 +1263,8 @@ + + invoke-interface {v8, v10}, Lcom/android/internal/telephony/IPhoneStateListener;->onMessageWaitingIndicatorChanged(Z)V + :try_end_5b +- .catchall {:try_start_54 .. :try_end_5b} :catchall_db +- .catch Landroid/os/RemoteException; {:try_start_54 .. :try_end_5b} :catch_ee ++ .catchall {:try_start_54 .. :try_end_5b} :catchall_da ++ .catch Landroid/os/RemoteException; {:try_start_54 .. :try_end_5b} :catch_ed + + :cond_5b + :goto_5b +@@ -1340,8 +1279,8 @@ + + invoke-interface {v8, v10}, Lcom/android/internal/telephony/IPhoneStateListener;->onCallForwardingIndicatorChanged(Z)V + :try_end_66 +- .catchall {:try_start_5f .. :try_end_66} :catchall_db +- .catch Landroid/os/RemoteException; {:try_start_5f .. :try_end_66} :catch_f6 ++ .catchall {:try_start_5f .. :try_end_66} :catchall_da ++ .catch Landroid/os/RemoteException; {:try_start_5f .. :try_end_66} :catch_f5 + + :cond_66 + :goto_66 +@@ -1360,8 +1299,8 @@ + + invoke-interface {v8, v10}, Lcom/android/internal/telephony/IPhoneStateListener;->onCellLocationChanged(Landroid/os/Bundle;)V + :try_end_76 +- .catchall {:try_start_6a .. :try_end_76} :catchall_db +- .catch Landroid/os/RemoteException; {:try_start_6a .. :try_end_76} :catch_fe ++ .catchall {:try_start_6a .. :try_end_76} :catchall_da ++ .catch Landroid/os/RemoteException; {:try_start_6a .. :try_end_76} :catch_fd + + :cond_76 + :goto_76 +@@ -1378,8 +1317,8 @@ + + invoke-interface {v8, v10, v11}, Lcom/android/internal/telephony/IPhoneStateListener;->onCallStateChanged(ILjava/lang/String;)V + :try_end_83 +- .catchall {:try_start_7a .. :try_end_83} :catchall_db +- .catch Landroid/os/RemoteException; {:try_start_7a .. :try_end_83} :catch_106 ++ .catchall {:try_start_7a .. :try_end_83} :catchall_da ++ .catch Landroid/os/RemoteException; {:try_start_7a .. :try_end_83} :catch_105 + + :cond_83 + :goto_83 +@@ -1396,8 +1335,8 @@ + + invoke-interface {v8, v10, v11}, Lcom/android/internal/telephony/IPhoneStateListener;->onDataConnectionStateChanged(II)V + :try_end_90 +- .catchall {:try_start_87 .. :try_end_90} :catchall_db +- .catch Landroid/os/RemoteException; {:try_start_87 .. :try_end_90} :catch_10e ++ .catchall {:try_start_87 .. :try_end_90} :catchall_da ++ .catch Landroid/os/RemoteException; {:try_start_87 .. :try_end_90} :catch_10d + + :cond_90 + :goto_90 +@@ -1412,8 +1351,8 @@ + + invoke-interface {v8, v10}, Lcom/android/internal/telephony/IPhoneStateListener;->onDataActivity(I)V + :try_end_9b +- .catchall {:try_start_94 .. :try_end_9b} :catchall_db +- .catch Landroid/os/RemoteException; {:try_start_94 .. :try_end_9b} :catch_116 ++ .catchall {:try_start_94 .. :try_end_9b} :catchall_da ++ .catch Landroid/os/RemoteException; {:try_start_94 .. :try_end_9b} :catch_115 + + :cond_9b + :goto_9b +@@ -1428,8 +1367,8 @@ + + invoke-interface {v8, v10}, Lcom/android/internal/telephony/IPhoneStateListener;->onSignalStrengthsChanged(Landroid/telephony/SignalStrength;)V + :try_end_a6 +- .catchall {:try_start_9f .. :try_end_a6} :catchall_db +- .catch Landroid/os/RemoteException; {:try_start_9f .. :try_end_a6} :catch_11e ++ .catchall {:try_start_9f .. :try_end_a6} :catchall_da ++ .catch Landroid/os/RemoteException; {:try_start_9f .. :try_end_a6} :catch_11c + + :cond_a6 + :goto_a6 +@@ -1444,8 +1383,8 @@ + + invoke-interface {v8, v10}, Lcom/android/internal/telephony/IPhoneStateListener;->onOtaspChanged(I)V + :try_end_b1 +- .catchall {:try_start_aa .. :try_end_b1} :catchall_db +- .catch Landroid/os/RemoteException; {:try_start_aa .. :try_end_b1} :catch_125 ++ .catchall {:try_start_aa .. :try_end_b1} :catchall_da ++ .catch Landroid/os/RemoteException; {:try_start_aa .. :try_end_b1} :catch_123 + + :cond_b1 + :goto_b1 +@@ -1464,15 +1403,15 @@ + + invoke-interface {v8, v10}, Lcom/android/internal/telephony/IPhoneStateListener;->onCellInfoChanged(Landroid/telephony/CellInfo;)V + :try_end_c1 +- .catchall {:try_start_b5 .. :try_end_c1} :catchall_db +- .catch Landroid/os/RemoteException; {:try_start_b5 .. :try_end_c1} :catch_12c ++ .catchall {:try_start_b5 .. :try_end_c1} :catchall_da ++ .catch Landroid/os/RemoteException; {:try_start_b5 .. :try_end_c1} :catch_12a + + :cond_c1 + :goto_c1 + :try_start_c1 + monitor-exit v9 + :try_end_c2 +- .catchall {:try_start_c1 .. :try_end_c2} :catchall_db ++ .catchall {:try_start_c1 .. :try_end_c2} :catchall_da -- goto/16 :goto_5ae -+ goto/16 :goto_5b3 + :goto_c2 + return-void +@@ -1488,13 +1427,11 @@ + :try_start_c8 + new-instance v5, Lcom/android/server/TelephonyRegistry$Record; -- :catch_9cd -+ :catch_9d2 - move-exception v68 +- const/4 v8, 0x0 +- +- invoke-direct {v5, v8}, Lcom/android/server/TelephonyRegistry$Record;->(Lcom/android/server/TelephonyRegistry$1;)V +- :try_end_ce +- .catchall {:try_start_c8 .. :try_end_ce} :catchall_13b ++ invoke-direct {v5}, Lcom/android/server/TelephonyRegistry$Record;->()V ++ :try_end_cd ++ .catchall {:try_start_c8 .. :try_end_cd} :catchall_139 -- :goto_9ce -+ :goto_9d3 - const-string v3, "starting CommonTimeManagementService service" +- :try_start_ce ++ :try_start_cd + iput-object v1, v5, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; - move-object/from16 v0, p0 -@@ -2883,9 +2922,9 @@ + iput-object p2, v5, Lcom/android/server/TelephonyRegistry$Record;->callback:Lcom/android/internal/telephony/IPhoneStateListener; +@@ -1507,133 +1444,133 @@ - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + goto/16 :goto_23 -- goto/16 :goto_5c5 -+ goto/16 :goto_5ca +- :catchall_db ++ :catchall_da + move-exception v8 -- :catch_9d9 -+ :catch_9de - move-exception v68 +- :goto_dc ++ :goto_db + monitor-exit v9 +- :try_end_dd +- .catchall {:try_start_ce .. :try_end_dd} :catchall_db ++ :try_end_dc ++ .catchall {:try_start_cd .. :try_end_dc} :catchall_da - const-string v3, "starting CertBlacklister" -@@ -2896,12 +2935,12 @@ + throw v8 - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V +- :catch_de ++ :catch_dd + move-exception v2 -- goto/16 :goto_5d1 -+ goto/16 :goto_5d6 +- :try_start_df ++ :try_start_de + iget-object v8, v5, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; -- :catch_9e5 -+ :catch_9ea - move-exception v68 +- invoke-direct {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V ++ invoke-virtual {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V -- :goto_9e6 -+ :goto_9eb - const-string v3, "starting DreamManagerService" + goto/16 :goto_3c - move-object/from16 v0, p0 -@@ -2910,9 +2949,9 @@ +- :catch_e6 ++ :catch_e5 + move-exception v2 - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + iget-object v8, v5, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; -- goto/16 :goto_5f5 -+ goto/16 :goto_5fa +- invoke-direct {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V ++ invoke-virtual {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V -- :catch_9f1 -+ :catch_9f6 - move-exception v68 + goto/16 :goto_50 - const-string v3, "SystemServer" -@@ -2923,18 +2962,18 @@ +- :catch_ee ++ :catch_ed + move-exception v2 - invoke-static {v3, v9, v0}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + iget-object v8, v5, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; -- goto/16 :goto_606 -+ goto/16 :goto_60b +- invoke-direct {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V ++ invoke-virtual {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V -- :cond_9fd -+ :cond_a02 - invoke-static {}, Ldalvik/system/VMRuntime;->getRuntime()Ldalvik/system/VMRuntime; + goto/16 :goto_5b - move-result-object v3 +- :catch_f6 ++ :catch_f5 + move-exception v2 - invoke-virtual {v3}, Ldalvik/system/VMRuntime;->startJitCompilation()V + iget-object v8, v5, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; -- goto/16 :goto_647 -+ goto/16 :goto_64c +- invoke-direct {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V ++ invoke-virtual {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V -- :catch_a06 -+ :catch_a0b - move-exception v68 + goto/16 :goto_66 - const-string v3, "making Vibrator Service ready" -@@ -2945,9 +2984,9 @@ +- :catch_fe ++ :catch_fd + move-exception v2 - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + iget-object v8, v5, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; -- goto/16 :goto_64a -+ goto/16 :goto_64f +- invoke-direct {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V ++ invoke-virtual {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V -- :catch_a12 -+ :catch_a17 - move-exception v68 + goto/16 :goto_76 - const-string v3, "making Device Policy Service ready" -@@ -2958,9 +2997,9 @@ +- :catch_106 ++ :catch_105 + move-exception v2 - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + iget-object v8, v5, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; -- goto/16 :goto_64f -+ goto/16 :goto_654 +- invoke-direct {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V ++ invoke-virtual {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V -- :catch_a1e -+ :catch_a23 - move-exception v68 + goto/16 :goto_83 - const-string v3, "making Notification Service ready" -@@ -2971,9 +3010,9 @@ +- :catch_10e ++ :catch_10d + move-exception v2 - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + iget-object v8, v5, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; -- goto/16 :goto_654 -+ goto/16 :goto_659 +- invoke-direct {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V ++ invoke-virtual {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V -- :catch_a2a -+ :catch_a2f - move-exception v68 + goto/16 :goto_90 - const-string v3, "making Window Manager Service ready" -@@ -2984,9 +3023,9 @@ +- :catch_116 ++ :catch_115 + move-exception v2 - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + iget-object v8, v5, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; -- goto/16 :goto_657 -+ goto/16 :goto_65c +- invoke-direct {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V ++ invoke-virtual {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V -- :catch_a36 -+ :catch_a3b - move-exception v68 +- goto/16 :goto_9b ++ goto :goto_9b - const-string v3, "making Package Manager Service ready" -@@ -2997,9 +3036,9 @@ +- :catch_11e ++ :catch_11c + move-exception v2 - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + iget-object v8, v5, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; -- goto/16 :goto_68b -+ goto/16 :goto_690 +- invoke-direct {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V ++ invoke-virtual {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V -- :catch_a42 -+ :catch_a47 - move-exception v68 + goto :goto_a6 - const-string v3, "making Lock Settings Service ready" -@@ -3010,171 +3049,171 @@ +- :catch_125 ++ :catch_123 + move-exception v2 - invoke-virtual {v0, v3, v1}, Lcom/android/server/ServerThread;->reportWtf(Ljava/lang/String;Ljava/lang/Throwable;)V + iget-object v8, v5, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; -- goto/16 :goto_68e -+ goto/16 :goto_693 +- invoke-direct {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V ++ invoke-virtual {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V -- :catch_a4e -+ :catch_a53 - move-exception v3 + goto :goto_b1 - goto/16 :goto_128 +- :catch_12c ++ :catch_12a + move-exception v2 -- :catch_a51 -+ :catch_a56 - move-exception v68 + iget-object v8, v5, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; - move-object/from16 v66, v67 +- invoke-direct {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V +- :try_end_132 +- .catchall {:try_start_df .. :try_end_132} :catchall_db ++ invoke-virtual {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V ++ :try_end_130 ++ .catchall {:try_start_de .. :try_end_130} :catchall_da -- goto :goto_9e6 -+ goto :goto_9eb + goto :goto_c1 -- :catch_a55 -+ :catch_a5a - move-exception v68 +- :cond_133 ++ :cond_131 + invoke-interface {p2}, Lcom/android/internal/telephony/IPhoneStateListener;->asBinder()Landroid/os/IBinder; - move-object/from16 v53, v54 + move-result-object v8 -- goto/16 :goto_9ce -+ goto/16 :goto_9d3 +- invoke-direct {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V ++ invoke-virtual {p0, v8}, Lcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V -- :catch_a5a -+ :catch_a5f - move-exception v68 + goto :goto_c2 - move-object/from16 v45, v46 +- :catchall_13b ++ :catchall_139 + move-exception v8 -- goto/16 :goto_992 -+ goto/16 :goto_997 + move-object v5, v6 -- :catch_a5f -+ :catch_a64 - move-exception v68 +- goto :goto_dc ++ goto :goto_db + .end method - move-object/from16 v103, v104 + .method public notifyCallForwardingChanged(Z)V +@@ -1641,7 +1578,7 @@ -- goto/16 :goto_96e -+ goto/16 :goto_973 + const-string v3, "notifyCallForwardingChanged()" -- :catch_a64 -+ :catch_a69 - move-exception v68 +- invoke-direct {p0, v3}, Lcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z ++ invoke-virtual {p0, v3}, Lcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z - move-object/from16 v115, v116 + move-result v3 -- goto/16 :goto_962 -+ goto/16 :goto_967 +@@ -1719,7 +1656,7 @@ -- :catch_a69 -+ :catch_a6e - move-exception v68 + :cond_38 + :try_start_38 +- invoke-direct {p0}, Lcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V ++ invoke-virtual {p0}, Lcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V - move-object/from16 v120, v121 + monitor-exit v4 + :try_end_3c +@@ -1733,7 +1670,7 @@ -- goto/16 :goto_926 -+ goto/16 :goto_92b + const-string v3, "notifyCallState()" -- :catch_a6e -+ :catch_a73 - move-exception v68 +- invoke-direct {p0, v3}, Lcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z ++ invoke-virtual {p0, v3}, Lcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z - move-object/from16 v59, v60 + move-result v3 -- goto/16 :goto_902 -+ goto/16 :goto_907 +@@ -1813,7 +1750,7 @@ -- :catch_a73 -+ :catch_a78 - move-exception v68 + :cond_3a + :try_start_3a +- invoke-direct {p0}, Lcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V ++ invoke-virtual {p0}, Lcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V - move-object/from16 v79, v80 + monitor-exit v4 + :try_end_3e +@@ -1829,7 +1766,7 @@ -- goto/16 :goto_8f6 -+ goto/16 :goto_8fb + const-string v3, "notifyCellInfo()" -- :catch_a78 -+ :catch_a7d - move-exception v68 +- invoke-direct {p0, v3}, Lcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z ++ invoke-virtual {p0, v3}, Lcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z - move-object/from16 v90, v91 + move-result v3 -- goto/16 :goto_8de -+ goto/16 :goto_8e3 +@@ -1911,7 +1848,7 @@ -- :catch_a7d -+ :catch_a82 - move-exception v68 + :cond_3d + :try_start_3d +- invoke-direct {p0}, Lcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V ++ invoke-virtual {p0}, Lcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V - move-object/from16 v95, v96 + monitor-exit v4 + :try_end_41 +@@ -1925,7 +1862,7 @@ -- goto/16 :goto_8ba -+ goto/16 :goto_8bf + const-string v3, "notifyCellLocation()" -- :catch_a82 -+ :catch_a87 - move-exception v68 +- invoke-direct {p0, v3}, Lcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z ++ invoke-virtual {p0, v3}, Lcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z - move-object/from16 v109, v110 + move-result v3 -- goto/16 :goto_8a2 -+ goto/16 :goto_8a7 +@@ -2007,7 +1944,7 @@ -- :catch_a87 -+ :catch_a8c - move-exception v68 + :cond_3d + :try_start_3d +- invoke-direct {p0}, Lcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V ++ invoke-virtual {p0}, Lcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V - move-object/from16 v56, v57 + monitor-exit v4 + :try_end_41 +@@ -2021,7 +1958,7 @@ -- goto/16 :goto_88a -+ goto/16 :goto_88f + const-string v3, "notifyDataActivity()" -- :catch_a8c -+ :catch_a91 - move-exception v68 +- invoke-direct {p0, v3}, Lcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z ++ invoke-virtual {p0, v3}, Lcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z - move-object/from16 v122, v123 + move-result v3 -- goto/16 :goto_87e -+ goto/16 :goto_883 +@@ -2099,7 +2036,7 @@ -- :catch_a91 -+ :catch_a96 - move-exception v68 + :cond_38 + :try_start_38 +- invoke-direct {p0}, Lcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V ++ invoke-virtual {p0}, Lcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V - move-object/from16 v124, v125 + monitor-exit v4 + :try_end_3c +@@ -2113,7 +2050,7 @@ -- goto/16 :goto_872 -+ goto/16 :goto_877 + const-string v1, "notifyDataConnection()" -- :catch_a96 -+ :catch_a9b - move-exception v68 +- invoke-direct {p0, v1}, Lcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z ++ invoke-virtual {p0, v1}, Lcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z -- goto/16 :goto_866 -+ goto/16 :goto_86b + move-result v1 -- :catch_a99 -+ :catch_a9e - move-exception v68 +@@ -2281,7 +2218,7 @@ + goto :goto_28 - move-object/from16 v12, v87 + :cond_89 +- invoke-direct {p0}, Lcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V ++ invoke-virtual {p0}, Lcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V -- goto/16 :goto_858 -+ goto/16 :goto_85d + :cond_8c + monitor-exit v2 +@@ -2316,7 +2253,7 @@ -- :catch_a9e -+ :catch_aa3 - move-exception v68 + const-string v0, "notifyDataConnectionFailed()" - move-object/from16 v111, v112 +- invoke-direct {p0, v0}, Lcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z ++ invoke-virtual {p0, v0}, Lcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z -- goto/16 :goto_84c -+ goto/16 :goto_851 + move-result v0 -- :catch_aa3 -+ :catch_aa8 - move-exception v68 +@@ -2336,7 +2273,7 @@ - move-object/from16 v107, v108 + const-string v3, "notifyMessageWaitingChanged()" -- goto/16 :goto_828 -+ goto/16 :goto_82d +- invoke-direct {p0, v3}, Lcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z ++ invoke-virtual {p0, v3}, Lcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z -- :catch_aa8 -+ :catch_aad - move-exception v68 + move-result v3 - move-object/from16 v62, v63 +@@ -2414,7 +2351,7 @@ -- goto/16 :goto_81c -+ goto/16 :goto_821 + :cond_38 + :try_start_38 +- invoke-direct {p0}, Lcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V ++ invoke-virtual {p0}, Lcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V -- :catch_aad -+ :catch_ab2 - move-exception v68 + monitor-exit v4 + :try_end_3c +@@ -2428,7 +2365,7 @@ - move-object/from16 v81, v82 + const-string v3, "notifyOtaspChanged()" -- goto/16 :goto_810 -+ goto/16 :goto_815 +- invoke-direct {p0, v3}, Lcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z ++ invoke-virtual {p0, v3}, Lcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z -- :catch_ab2 -+ :catch_ab7 - move-exception v68 + move-result v3 - move-object/from16 v84, v85 +@@ -2506,7 +2443,7 @@ -- goto/16 :goto_804 -+ goto/16 :goto_809 + :cond_38 + :try_start_38 +- invoke-direct {p0}, Lcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V ++ invoke-virtual {p0}, Lcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V -- :catch_ab7 -+ :catch_abc - move-exception v3 + monitor-exit v4 + :try_end_3c +@@ -2516,11 +2453,11 @@ + .end method -- goto/16 :goto_27d -+ goto/16 :goto_282 + .method public notifyServiceState(Landroid/telephony/ServiceState;)V +- .registers 8 ++ .registers 10 -- :catch_aba -+ :catch_abf - move-exception v68 + const-string v3, "notifyServiceState()" - move-object/from16 v74, v75 +- invoke-direct {p0, v3}, Lcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z ++ invoke-virtual {p0, v3}, Lcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z -- goto/16 :goto_7d4 -+ goto/16 :goto_7d9 + move-result v3 -- :catch_abf -+ :catch_ac4 - move-exception v68 +@@ -2537,19 +2474,29 @@ + :try_start_c + iput-object p1, p0, Lcom/android/server/TelephonyRegistry;->mServiceState:Landroid/telephony/ServiceState; - move-object/from16 v7, v44 -@@ -3183,9 +3222,9 @@ ++ iget-object v3, p0, Lcom/android/server/TelephonyRegistry;->mServiceState:Landroid/telephony/ServiceState; ++ ++ const-string v5, "" ++ ++ const-string v6, "" ++ ++ const-string v7, "" ++ ++ invoke-virtual {v3, v5, v6, v7}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V ++ + iget-object v3, p0, Lcom/android/server/TelephonyRegistry;->mRecords:Ljava/util/ArrayList; - move-object/from16 v6, v94 + invoke-virtual {v3}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; -- goto/16 :goto_754 -+ goto/16 :goto_759 + move-result-object v1 -- :catch_ac8 -+ :catch_acd - move-exception v68 +- :cond_14 +- :goto_14 ++ :cond_1f ++ :goto_1f + invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z - move-object/from16 v7, v44 -@@ -3194,9 +3233,9 @@ + move-result v3 - move-object/from16 v42, v43 +- if-eqz v3, :cond_3d ++ if-eqz v3, :cond_51 -- goto/16 :goto_754 -+ goto/16 :goto_759 + invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; -- :catch_ad1 -+ :catch_ad6 - move-exception v68 +@@ -2558,14 +2505,22 @@ + check-cast v2, Lcom/android/server/TelephonyRegistry$Record; - move-object/from16 v7, v44 -@@ -3205,18 +3244,18 @@ + iget v3, v2, Lcom/android/server/TelephonyRegistry$Record;->events:I +- :try_end_22 +- .catchall {:try_start_c .. :try_end_22} :catchall_3a ++ :try_end_2d ++ .catchall {:try_start_c .. :try_end_2d} :catchall_4e - move-object/from16 v77, v78 + and-int/lit8 v3, v3, 0x1 -- goto/16 :goto_754 -+ goto/16 :goto_759 +- if-eqz v3, :cond_14 ++ if-eqz v3, :cond_1f ++ ++ :try_start_31 ++ const-string v3, "" ++ ++ const-string v5, "" ++ ++ const-string v6, "" ++ ++ invoke-virtual {p1, v3, v5, v6}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V -- :catch_ada -+ :catch_adf - move-exception v68 +- :try_start_26 + iget-object v3, v2, Lcom/android/server/TelephonyRegistry$Record;->callback:Lcom/android/internal/telephony/IPhoneStateListener; - move-object/from16 v7, v44 + new-instance v5, Landroid/telephony/ServiceState; +@@ -2573,42 +2528,42 @@ + invoke-direct {v5, p1}, Landroid/telephony/ServiceState;->(Landroid/telephony/ServiceState;)V - move-object/from16 v77, v78 + invoke-interface {v3, v5}, Lcom/android/internal/telephony/IPhoneStateListener;->onServiceStateChanged(Landroid/telephony/ServiceState;)V +- :try_end_30 +- .catchall {:try_start_26 .. :try_end_30} :catchall_3a +- .catch Landroid/os/RemoteException; {:try_start_26 .. :try_end_30} :catch_31 ++ :try_end_44 ++ .catchall {:try_start_31 .. :try_end_44} :catchall_4e ++ .catch Landroid/os/RemoteException; {:try_start_31 .. :try_end_44} :catch_45 -- goto/16 :goto_754 -+ goto/16 :goto_759 +- goto :goto_14 ++ goto :goto_1f -- :catch_ae1 -+ :catch_ae6 - move-exception v68 +- :catch_31 ++ :catch_45 + move-exception v0 - move-object/from16 v7, v44 -@@ -3225,9 +3264,9 @@ +- :try_start_32 ++ :try_start_46 + iget-object v3, p0, Lcom/android/server/TelephonyRegistry;->mRemoveList:Ljava/util/ArrayList; - move-object/from16 v77, v78 + iget-object v5, v2, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; -- goto/16 :goto_754 -+ goto/16 :goto_759 + invoke-virtual {v3, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z -- :catch_aea -+ :catch_aef - move-exception v68 +- goto :goto_14 ++ goto :goto_1f - move-object/from16 v48, v49 -@@ -3236,9 +3275,9 @@ +- :catchall_3a ++ :catchall_4e + move-exception v3 - move-object/from16 v77, v78 + monitor-exit v4 +- :try_end_3c +- .catchall {:try_start_32 .. :try_end_3c} :catchall_3a ++ :try_end_50 ++ .catchall {:try_start_46 .. :try_end_50} :catchall_4e -- goto/16 :goto_754 -+ goto/16 :goto_759 + throw v3 -- :catch_af3 -+ :catch_af8 - move-exception v68 +- :cond_3d +- :try_start_3d +- invoke-direct {p0}, Lcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V ++ :cond_51 ++ :try_start_51 ++ invoke-virtual {p0}, Lcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V - move-object/from16 v50, v51 -@@ -3249,17 +3288,17 @@ + monitor-exit v4 +- :try_end_41 +- .catchall {:try_start_3d .. :try_end_41} :catchall_3a ++ :try_end_55 ++ .catchall {:try_start_51 .. :try_end_55} :catchall_4e - move-object/from16 v77, v78 +- invoke-direct {p0, p1}, Lcom/android/server/TelephonyRegistry;->broadcastServiceStateChanged(Landroid/telephony/ServiceState;)V ++ invoke-virtual {p0, p1}, Lcom/android/server/TelephonyRegistry;->broadcastServiceStateChanged(Landroid/telephony/ServiceState;)V -- goto/16 :goto_754 -+ goto/16 :goto_759 + goto :goto_8 + .end method +@@ -2618,7 +2573,7 @@ -- :catch_afe -+ :catch_b03 - move-exception v68 + const-string v4, "notifySignalStrength()" - move-object/from16 v42, v43 +- invoke-direct {p0, v4}, Lcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z ++ invoke-virtual {p0, v4}, Lcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z -- goto/16 :goto_744 -+ goto/16 :goto_749 + move-result v4 -- :cond_b03 -+ :cond_b08 - move-object/from16 v8, v86 +@@ -2741,7 +2696,7 @@ + goto :goto_30 -- goto/16 :goto_606 -+ goto/16 :goto_60b + :cond_5a +- invoke-direct {p0}, Lcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V ++ invoke-virtual {p0}, Lcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V + + monitor-exit v5 + :try_end_5e +@@ -2751,3 +2706,63 @@ + + goto :goto_8 .end method ++ ++.method protected remove(Landroid/os/IBinder;)V ++ .registers 6 ++ ++ iget-object v3, p0, Lcom/android/server/TelephonyRegistry;->mRecords:Ljava/util/ArrayList; ++ ++ monitor-enter v3 ++ ++ :try_start_3 ++ iget-object v2, p0, Lcom/android/server/TelephonyRegistry;->mRecords:Ljava/util/ArrayList; ++ ++ invoke-virtual {v2}, Ljava/util/ArrayList;->size()I ++ ++ move-result v1 ++ ++ const/4 v0, 0x0 ++ ++ :goto_a ++ if-ge v0, v1, :cond_22 ++ ++ iget-object v2, p0, Lcom/android/server/TelephonyRegistry;->mRecords:Ljava/util/ArrayList; ++ ++ invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; ++ ++ move-result-object v2 ++ ++ check-cast v2, Lcom/android/server/TelephonyRegistry$Record; ++ ++ iget-object v2, v2, Lcom/android/server/TelephonyRegistry$Record;->binder:Landroid/os/IBinder; ++ ++ if-ne v2, p1, :cond_1f ++ ++ iget-object v2, p0, Lcom/android/server/TelephonyRegistry;->mRecords:Ljava/util/ArrayList; ++ ++ invoke-virtual {v2, v0}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object; ++ ++ monitor-exit v3 ++ ++ :goto_1e ++ return-void ++ ++ :cond_1f ++ add-int/lit8 v0, v0, 0x1 ++ ++ goto :goto_a ++ ++ :cond_22 ++ monitor-exit v3 ++ ++ goto :goto_1e ++ ++ :catchall_24 ++ move-exception v2 ++ ++ monitor-exit v3 ++ :try_end_26 ++ .catchall {:try_start_3 .. :try_end_26} :catchall_24 ++ ++ throw v2 ++.end method diff --git a/patches/pdroid/cm10/20121010/smali.txt b/patches/pdroid/cm10/20121010/smali.txt new file mode 100644 index 0000000..680105c --- /dev/null +++ b/patches/pdroid/cm10/20121010/smali.txt @@ -0,0 +1 @@ +system/framework/framework.jar.out/smali/android/app/ContextImpl$20.smali diff --git a/patches/pdroid/jellybean/provisionals/system/framework/framework.jar.out/smali/android/app/ContextImpl$20.smali b/patches/pdroid/jellybean/provisionals/system/framework/framework.jar.out/smali/android/app/ContextImpl$20.smali new file mode 100644 index 0000000..1f27244 --- /dev/null +++ b/patches/pdroid/jellybean/provisionals/system/framework/framework.jar.out/smali/android/app/ContextImpl$20.smali @@ -0,0 +1,46 @@ +.class final Landroid/app/ContextImpl$20; +.super Landroid/app/ContextImpl$ServiceFetcher; +.source "ContextImpl.java" + + +# annotations +.annotation system Ldalvik/annotation/EnclosingClass; + value = Landroid/app/ContextImpl; +.end annotation + +.annotation system Ldalvik/annotation/InnerClass; + accessFlags = 0x8 + name = null +.end annotation + + +# direct methods +.method constructor ()V + .registers 1 + + invoke-direct {p0}, Landroid/app/ContextImpl$ServiceFetcher;->()V + + return-void +.end method + + +# virtual methods +.method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object; + .registers 5 + + const-string v2, "location" + + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder; + + move-result-object v0 + + invoke-static {v0}, Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager; + + move-result-object v1 + + new-instance v2, Landroid/privacy/surrogate/PrivacyLocationManager; + + invoke-direct {v2, v1, p1}, Landroid/privacy/surrogate/PrivacyLocationManager;->(Landroid/location/ILocationManager;Landroid/content/Context;)V + + return-object v2 +.end method -- 2.11.4.GIT