--- /home/hans/code/fdroid/data/tmp/com.github.ruleant.getback_gps_41.apk +++ /home/hans/code/fdroid/data/tmp/sigcp_com.github.ruleant.getback_gps_41.apk ├── zipinfo {} │ @@ -1,37 +1,37 @@ │ -Zip file size: 249513 bytes, number of entries: 35 │ +Zip file size: 249556 bytes, number of entries: 35 │ -rw---- 2.0 fat 2769 bl defN 15-Jan-09 06:58 META-INF/MANIFEST.MF │ -rw---- 2.0 fat 2890 bl defN 15-Jan-09 06:58 META-INF/9BE23043.SF │ -rw---- 2.0 fat 1332 bl defN 15-Jan-09 06:58 META-INF/9BE23043.RSA │ -rw---- 2.0 fat 41 bl defN 15-Jan-09 05:57 META-INF/buildserverid │ -rw---- 2.0 fat 41 bl defN 15-Jan-09 05:57 META-INF/fdroidserverid │ --rw---- 2.0 fat 4404 bX defN 15-Jan-09 05:57 AndroidManifest.xml │ --rw---- 1.0 fat 417 b- stor 15-Jan-09 05:56 res/drawable-hdpi-v4/ic_action_refresh.png │ --rw---- 1.0 fat 8675 b- stor 15-Jan-09 05:56 res/drawable-hdpi-v4/ic_launcher.png │ --rw---- 1.0 fat 1450 b- stor 15-Jan-09 05:56 res/drawable-ldpi-v4/ic_action_refresh.png │ --rw---- 1.0 fat 3323 b- stor 15-Jan-09 05:56 res/drawable-ldpi-v4/ic_launcher.png │ --rw---- 1.0 fat 336 b- stor 15-Jan-09 05:56 res/drawable-mdpi-v4/ic_action_refresh.png │ --rw---- 1.0 fat 5322 b- stor 15-Jan-09 05:56 res/drawable-mdpi-v4/ic_launcher.png │ --rw---- 1.0 fat 510 b- stor 15-Jan-09 05:56 res/drawable-xhdpi-v4/ic_action_refresh.png │ --rw---- 1.0 fat 13893 b- stor 15-Jan-09 05:56 res/drawable-xhdpi-v4/ic_launcher.png │ --rw---- 1.0 fat 687 b- stor 15-Jan-09 05:56 res/drawable-xxhdpi-v4/ic_action_refresh.png │ --rw---- 1.0 fat 19845 b- stor 15-Jan-09 05:56 res/drawable-xxhdpi-v4/ic_launcher.png │ --rw---- 1.0 fat 371 b- stor 15-Jan-09 05:56 res/drawable-xxxhdpi-v4/ic_action_refresh.png │ --rw---- 1.0 fat 30814 b- stor 15-Jan-09 05:56 res/drawable-xxxhdpi-v4/ic_launcher.png │ --rw---- 2.0 fat 2100 bl defN 15-Jan-09 05:57 res/layout-land/activity_details.xml │ --rw---- 2.0 fat 1152 bl defN 15-Jan-09 05:57 res/layout-land/activity_main.xml │ --rw---- 2.0 fat 2128 bl defN 15-Jan-09 05:57 res/layout-land/section_to_destination.xml │ --rw---- 2.0 fat 1736 bl defN 15-Jan-09 05:57 res/layout/activity_about.xml │ --rw---- 2.0 fat 1752 bl defN 15-Jan-09 05:57 res/layout/activity_details.xml │ --rw---- 2.0 fat 1312 bl defN 15-Jan-09 05:57 res/layout/activity_main.xml │ --rw---- 2.0 fat 1172 bl defN 15-Jan-09 05:57 res/layout/dialog_location_name.xml │ --rw---- 2.0 fat 1552 bl defN 15-Jan-09 05:57 res/layout/section_current.xml │ --rw---- 2.0 fat 2292 bl defN 15-Jan-09 05:57 res/layout/section_to_destination.xml │ --rw---- 2.0 fat 1060 bl defN 15-Jan-09 05:57 res/menu/common.xml │ --rw---- 2.0 fat 464 bl defN 15-Jan-09 05:57 res/menu/main.xml │ --rw---- 2.0 fat 636 bl defN 15-Jan-09 05:57 res/xml/pref_debug.xml │ --rw---- 2.0 fat 1484 bl defN 15-Jan-09 05:57 res/xml/pref_general.xml │ --rw---- 2.0 fat 476 bl defN 15-Jan-09 05:57 res/xml/pref_header_debug.xml │ --rw---- 2.0 fat 476 bl defN 15-Jan-09 05:57 res/xml/pref_headers.xml │ --rw---- 1.0 fat 101240 b- stor 15-Jan-09 05:56 resources.arsc │ --rw---- 2.0 fat 126232 bl defN 15-Jan-09 05:57 classes.dex │ -35 files, 344384 bytes uncompressed, 244325 bytes compressed: 29.1% │ +-rw---- 2.0 fat 4404 bX defN 08-Jan-01 00:00 AndroidManifest.xml │ +-rw---- 1.0 fat 417 b- stor 08-Jan-01 00:00 res/drawable-hdpi-v4/ic_action_refresh.png │ +-rw---- 1.0 fat 8675 b- stor 08-Jan-01 00:00 res/drawable-hdpi-v4/ic_launcher.png │ +-rw---- 1.0 fat 1450 b- stor 08-Jan-01 00:00 res/drawable-ldpi-v4/ic_action_refresh.png │ +-rw---- 1.0 fat 3323 b- stor 08-Jan-01 00:00 res/drawable-ldpi-v4/ic_launcher.png │ +-rw---- 1.0 fat 336 b- stor 08-Jan-01 00:00 res/drawable-mdpi-v4/ic_action_refresh.png │ +-rw---- 1.0 fat 5322 b- stor 08-Jan-01 00:00 res/drawable-mdpi-v4/ic_launcher.png │ +-rw---- 1.0 fat 510 b- stor 08-Jan-01 00:00 res/drawable-xhdpi-v4/ic_action_refresh.png │ +-rw---- 1.0 fat 13893 b- stor 08-Jan-01 00:00 res/drawable-xhdpi-v4/ic_launcher.png │ +-rw---- 1.0 fat 687 b- stor 08-Jan-01 00:00 res/drawable-xxhdpi-v4/ic_action_refresh.png │ +-rw---- 1.0 fat 19845 b- stor 08-Jan-01 00:00 res/drawable-xxhdpi-v4/ic_launcher.png │ +-rw---- 1.0 fat 371 b- stor 08-Jan-01 00:00 res/drawable-xxxhdpi-v4/ic_action_refresh.png │ +-rw---- 1.0 fat 30814 b- stor 08-Jan-01 00:00 res/drawable-xxxhdpi-v4/ic_launcher.png │ +-rw---- 2.0 fat 2100 bl defN 08-Jan-01 00:00 res/layout-land/activity_details.xml │ +-rw---- 2.0 fat 1152 bl defN 08-Jan-01 00:00 res/layout-land/activity_main.xml │ +-rw---- 2.0 fat 2128 bl defN 08-Jan-01 00:00 res/layout-land/section_to_destination.xml │ +-rw---- 2.0 fat 1736 bl defN 08-Jan-01 00:00 res/layout/activity_about.xml │ +-rw---- 2.0 fat 1752 bl defN 08-Jan-01 00:00 res/layout/activity_details.xml │ +-rw---- 2.0 fat 1312 bl defN 08-Jan-01 00:00 res/layout/activity_main.xml │ +-rw---- 2.0 fat 1172 bl defN 08-Jan-01 00:00 res/layout/dialog_location_name.xml │ +-rw---- 2.0 fat 1552 bl defN 08-Jan-01 00:00 res/layout/section_current.xml │ +-rw---- 2.0 fat 2292 bl defN 08-Jan-01 00:00 res/layout/section_to_destination.xml │ +-rw---- 2.0 fat 1060 bl defN 08-Jan-01 00:00 res/menu/common.xml │ +-rw---- 2.0 fat 464 bl defN 08-Jan-01 00:00 res/menu/main.xml │ +-rw---- 2.0 fat 636 bl defN 08-Jan-01 00:00 res/xml/pref_debug.xml │ +-rw---- 2.0 fat 1484 bl defN 08-Jan-01 00:00 res/xml/pref_general.xml │ +-rw---- 2.0 fat 476 bl defN 08-Jan-01 00:00 res/xml/pref_header_debug.xml │ +-rw---- 2.0 fat 476 bl defN 08-Jan-01 00:00 res/xml/pref_headers.xml │ +-rw---- 1.0 fat 101240 b- stor 08-Jan-01 00:00 resources.arsc │ +-rw---- 2.0 fat 126672 bl defN 08-Jan-01 00:00 classes.dex │ +35 files, 344824 bytes uncompressed, 244470 bytes compressed: 29.1% ├── smali/com/github/ruleant/getback_gps/AboutActivity.smali │ @@ -208,20 +208,22 @@ │ │ new-array v0, v0, [Ljava/lang/Object; │ │ move-object/from16 v17, v0 │ │ const/16 v18, 0x0 │ │ + .line 74 │ invoke-virtual {v6, v4}, Ljava/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String; │ │ move-result-object v19 │ │ aput-object v19, v17, v18 │ │ + .line 73 │ invoke-static/range {v16 .. v17}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v2 │ │ .line 79 │ .end local v4 # "date":Ljava/util/Date; │ :cond_0 │ @@ -280,14 +282,15 @@ │ move-object/from16 v0, v16 │ │ invoke-virtual {v13, v0}, Landroid/widget/TextView;->setMovementMethod(Landroid/text/method/MovementMethod;)V │ │ .line 91 │ const v16, 0x7f070006 │ │ + .line 92 │ move/from16 v0, v16 │ │ invoke-virtual {v8, v0}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v16 │ │ const/16 v17, 0x1 │ @@ -298,22 +301,24 @@ │ │ move-object/from16 v17, v0 │ │ const/16 v18, 0x0 │ │ const v19, 0x7f070053 │ │ + .line 93 │ move/from16 v0, v19 │ │ invoke-virtual {v8, v0}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v19 │ │ aput-object v19, v17, v18 │ │ + .line 92 │ invoke-static/range {v16 .. v17}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v15 │ │ .line 98 │ .local v15, "websiteText":Ljava/lang/String; │ invoke-static {v15}, Landroid/text/Html;->fromHtml(Ljava/lang/String;)Landroid/text/Spanned; │ @@ -368,14 +373,15 @@ │ │ invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v16 │ │ const v17, 0x7f07000b │ │ + .line 106 │ move/from16 v0, v17 │ │ invoke-virtual {v8, v0}, Landroid/content/res/Resources;->getText(I)Ljava/lang/CharSequence; │ │ move-result-object v17 │ │ invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; ├── smali/com/github/ruleant/getback_gps/AbstractGetBackGpsActivity$2.smali │ @@ -22,14 +22,15 @@ │ │ .field final synthetic val$etLocationName:Landroid/widget/EditText; │ │ │ # direct methods │ .method constructor (Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity;Landroid/widget/EditText;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity; │ │ .prologue │ .line 199 │ iput-object p1, p0, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity$2;->this$0:Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity; │ │ iput-object p2, p0, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity$2;->val$etLocationName:Landroid/widget/EditText; │ │ @@ -50,14 +51,15 @@ │ iget-object v1, p0, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity$2;->val$etLocationName:Landroid/widget/EditText; │ │ if-eqz v1, :cond_1 │ │ .line 203 │ iget-object v1, p0, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity$2;->val$etLocationName:Landroid/widget/EditText; │ │ + .line 204 │ invoke-virtual {v1}, Landroid/widget/EditText;->getText()Landroid/text/Editable; │ │ move-result-object v1 │ │ invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String; │ │ move-result-object v0 ├── smali/com/github/ruleant/getback_gps/AbstractGetBackGpsActivity$3.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity; │ │ │ # direct methods │ .method constructor (Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity; │ │ .prologue │ .line 294 │ iput-object p1, p0, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity$3;->this$0:Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/github/ruleant/getback_gps/AbstractGetBackGpsActivity$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity; │ │ │ # direct methods │ .method constructor (Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity; │ │ .prologue │ .line 217 │ iput-object p1, p0, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity$1;->this$0:Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/github/ruleant/getback_gps/AbstractGetBackGpsActivity$5.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity; │ │ │ # direct methods │ .method constructor (Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity; │ │ .prologue │ .line 526 │ iput-object p1, p0, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity$5;->this$0:Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/com/github/ruleant/getback_gps/AbstractGetBackGpsActivity$4.smali │ @@ -22,14 +22,15 @@ │ │ .field final synthetic val$etLocationName:Landroid/widget/EditText; │ │ │ # direct methods │ .method constructor (Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity;Landroid/widget/EditText;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity; │ │ .prologue │ .line 276 │ iput-object p1, p0, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity$4;->this$0:Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity; │ │ iput-object p2, p0, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity$4;->val$etLocationName:Landroid/widget/EditText; │ │ @@ -50,14 +51,15 @@ │ iget-object v1, p0, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity$4;->val$etLocationName:Landroid/widget/EditText; │ │ if-eqz v1, :cond_1 │ │ .line 280 │ iget-object v1, p0, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity$4;->val$etLocationName:Landroid/widget/EditText; │ │ + .line 281 │ invoke-virtual {v1}, Landroid/widget/EditText;->getText()Landroid/text/Editable; │ │ move-result-object v1 │ │ invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String; │ │ move-result-object v0 ├── smali/com/github/ruleant/getback_gps/AbstractGetBackGpsActivity$6.smali │ @@ -17,14 +17,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity; │ │ │ # direct methods │ .method constructor (Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity; │ │ .prologue │ .line 555 │ iput-object p1, p0, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity$6;->this$0:Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity; │ │ invoke-direct {p0}, Lcom/github/ruleant/getback_gps/ILocationServiceCallback$Stub;->()V ├── smali/com/github/ruleant/getback_gps/AbstractGetBackGpsActivity.smali │ @@ -234,18 +234,20 @@ │ .line 130 │ new-instance v1, Lde/keyboardsurfer/android/widget/crouton/Configuration$Builder; │ │ invoke-direct {v1}, Lde/keyboardsurfer/android/widget/crouton/Configuration$Builder;->()V │ │ const/4 v2, -0x1 │ │ + .line 131 │ invoke-virtual {v1, v2}, Lde/keyboardsurfer/android/widget/crouton/Configuration$Builder;->setDuration(I)Lde/keyboardsurfer/android/widget/crouton/Configuration$Builder; │ │ move-result-object v1 │ │ + .line 132 │ invoke-virtual {v1}, Lde/keyboardsurfer/android/widget/crouton/Configuration$Builder;->build()Lde/keyboardsurfer/android/widget/crouton/Configuration; │ │ move-result-object v0 │ │ .line 135 │ .local v0, "croutonConfig":Lde/keyboardsurfer/android/widget/crouton/Configuration; │ const v1, 0x7f07001a │ @@ -714,24 +716,26 @@ │ │ move-result-object v4 │ │ .line 456 │ .local v4, "res":Landroid/content/res/Resources; │ const v7, 0x7f0a0010 │ │ + .line 457 │ invoke-virtual {p0, v7}, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity;->findViewById(I)Landroid/view/View; │ │ move-result-object v6 │ │ check-cast v6, Landroid/widget/TextView; │ │ .line 458 │ .local v6, "tvCurrentSpeed":Landroid/widget/TextView; │ const v7, 0x7f0a0011 │ │ + .line 459 │ invoke-virtual {p0, v7}, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity;->findViewById(I)Landroid/view/View; │ │ move-result-object v5 │ │ check-cast v5, Landroid/widget/TextView; │ │ .line 462 │ @@ -752,22 +756,23 @@ │ │ invoke-virtual {v3}, Lcom/github/ruleant/getback_gps/lib/Navigator;->isLocationAccurate()Z │ │ move-result v7 │ │ if-eqz v7, :cond_2 │ │ - .line 467 │ + .line 468 │ :cond_1 │ invoke-virtual {v3}, Lcom/github/ruleant/getback_gps/lib/Navigator;->getCurrentSpeed()F │ │ move-result v7 │ │ float-to-double v8, v7 │ │ + .line 467 │ invoke-static {v8, v9, p0}, Lcom/github/ruleant/getback_gps/lib/FormatUtils;->formatSpeed(DLandroid/content/Context;)Ljava/lang/String; │ │ move-result-object v2 │ │ .line 472 │ :cond_2 │ if-nez p1, :cond_3 │ @@ -778,18 +783,20 @@ │ │ if-eqz v7, :cond_4 │ │ .line 473 │ :cond_3 │ new-instance v0, Lcom/github/ruleant/getback_gps/lib/CardinalDirection; │ │ + .line 476 │ invoke-virtual {v3}, Lcom/github/ruleant/getback_gps/lib/Navigator;->getCurrentBearing()D │ │ move-result-wide v8 │ │ + .line 475 │ invoke-static {v8, v9}, Lcom/github/ruleant/getback_gps/lib/FormatUtils;->normalizeAngle(D)D │ │ move-result-wide v8 │ │ invoke-direct {v0, p0, v8, v9}, Lcom/github/ruleant/getback_gps/lib/CardinalDirection;->(Landroid/content/Context;D)V │ │ .line 478 │ @@ -820,14 +827,15 @@ │ │ if-eqz v0, :cond_0 │ │ iget-wide v0, p0, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity;->mUpdatedTimestamp:J │ │ const-wide/32 v2, 0x1dcd6500 │ │ + .line 386 │ invoke-static {v0, v1, v2, v3}, Lcom/github/ruleant/getback_gps/lib/Tools;->isTimestampNanoRecent(JJ)Z │ │ move-result v0 │ │ if-eqz v0, :cond_1 │ │ .line 388 │ @@ -879,14 +887,15 @@ │ │ const/4 v6, 0x1 │ │ invoke-static {p0, v5, v6}, Landroid/widget/Toast;->makeText(Landroid/content/Context;II)Landroid/widget/Toast; │ │ move-result-object v5 │ │ + .line 239 │ invoke-virtual {v5}, Landroid/widget/Toast;->show()V │ │ .line 303 │ :goto_0 │ return-void │ │ .line 246 │ @@ -903,22 +912,24 @@ │ │ .line 253 │ .local v3, "inflater":Landroid/view/LayoutInflater; │ const v5, 0x7f030003 │ │ const/4 v6, 0x0 │ │ + .line 254 │ invoke-virtual {v3, v5, v6}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View; │ │ move-result-object v1 │ │ .line 257 │ .local v1, "dialogView":Landroid/view/View; │ const v5, 0x7f0a000e │ │ + .line 258 │ invoke-virtual {v1, v5}, Landroid/view/View;->findViewById(I)Landroid/view/View; │ │ move-result-object v4 │ │ check-cast v4, Landroid/widget/TextView; │ │ .line 259 │ @@ -930,14 +941,15 @@ │ │ invoke-virtual {v4, v5}, Landroid/widget/TextView;->setText(I)V │ │ .line 265 │ :cond_1 │ const v5, 0x7f0a000f │ │ + .line 266 │ invoke-virtual {v1, v5}, Landroid/view/View;->findViewById(I)Landroid/view/View; │ │ move-result-object v2 │ │ check-cast v2, Landroid/widget/EditText; │ │ .line 267 │ @@ -959,32 +971,35 @@ │ │ .line 273 │ :cond_2 │ invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setView(Landroid/view/View;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v5 │ │ + .line 274 │ invoke-virtual {v5, v7}, Landroid/app/AlertDialog$Builder;->setTitle(I)Landroid/app/AlertDialog$Builder; │ │ move-result-object v5 │ │ new-instance v6, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity$4; │ │ invoke-direct {v6, p0, v2}, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity$4;->(Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity;Landroid/widget/EditText;)V │ │ + .line 275 │ invoke-virtual {v5, v7, v6}, Landroid/app/AlertDialog$Builder;->setPositiveButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v5 │ │ const v6, 0x7f070009 │ │ new-instance v7, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity$3; │ │ invoke-direct {v7, p0}, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity$3;->(Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity;)V │ │ + .line 293 │ invoke-virtual {v5, v6, v7}, Landroid/app/AlertDialog$Builder;->setNegativeButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ │ .line 302 │ invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;->create()Landroid/app/AlertDialog; │ │ move-result-object v5 │ │ @@ -1017,14 +1032,15 @@ │ │ const/4 v5, 0x1 │ │ invoke-static {p0, v4, v5}, Landroid/widget/Toast;->makeText(Landroid/content/Context;II)Landroid/widget/Toast; │ │ move-result-object v4 │ │ + .line 174 │ invoke-virtual {v4}, Landroid/widget/Toast;->show()V │ │ .line 226 │ :goto_0 │ return-void │ │ .line 181 │ @@ -1041,52 +1057,57 @@ │ │ .line 188 │ .local v3, "inflater":Landroid/view/LayoutInflater; │ const v4, 0x7f030003 │ │ const/4 v5, 0x0 │ │ + .line 189 │ invoke-virtual {v3, v4, v5}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View; │ │ move-result-object v1 │ │ .line 192 │ .local v1, "dialogView":Landroid/view/View; │ const v4, 0x7f0a000f │ │ + .line 193 │ invoke-virtual {v1, v4}, Landroid/view/View;->findViewById(I)Landroid/view/View; │ │ move-result-object v2 │ │ check-cast v2, Landroid/widget/EditText; │ │ .line 196 │ .local v2, "etLocationName":Landroid/widget/EditText; │ invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setView(Landroid/view/View;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v4 │ │ + .line 197 │ invoke-virtual {v4, v6}, Landroid/app/AlertDialog$Builder;->setTitle(I)Landroid/app/AlertDialog$Builder; │ │ move-result-object v4 │ │ new-instance v5, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity$2; │ │ invoke-direct {v5, p0, v2}, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity$2;->(Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity;Landroid/widget/EditText;)V │ │ + .line 198 │ invoke-virtual {v4, v6, v5}, Landroid/app/AlertDialog$Builder;->setPositiveButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ │ move-result-object v4 │ │ const v5, 0x7f070009 │ │ new-instance v6, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity$1; │ │ invoke-direct {v6, p0}, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity$1;->(Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity;)V │ │ + .line 216 │ invoke-virtual {v4, v5, v6}, Landroid/app/AlertDialog$Builder;->setNegativeButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; │ │ .line 225 │ invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;->create()Landroid/app/AlertDialog; │ │ move-result-object v4 ├── smali/com/github/ruleant/getback_gps/DetailsActivity.smali │ @@ -1,29 +1,20 @@ │ .class public Lcom/github/ruleant/getback_gps/DetailsActivity; │ .super Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity; │ .source "DetailsActivity.java" │ │ │ -# annotations │ -.annotation system Ldalvik/annotation/MemberClasses; │ - value = { │ - Lcom/github/ruleant/getback_gps/DetailsActivity$1; │ - } │ -.end annotation │ - │ - │ # direct methods │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 38 │ invoke-direct {p0}, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity;->()V │ │ - .line 139 │ return-void │ .end method │ │ │ # virtual methods │ .method protected final onCreate(Landroid/os/Bundle;)V │ .locals 1 │ @@ -40,41 +31,38 @@ │ │ .line 43 │ return-void │ .end method │ │ .method public bridge synthetic onCreateOptionsMenu(Landroid/view/Menu;)Z │ .locals 1 │ - .param p1, "x0" # Landroid/view/Menu; │ │ .prologue │ .line 38 │ invoke-super {p0, p1}, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity;->onCreateOptionsMenu(Landroid/view/Menu;)Z │ │ move-result v0 │ │ return v0 │ .end method │ │ .method public bridge synthetic onOptionsItemSelected(Landroid/view/MenuItem;)Z │ .locals 1 │ - .param p1, "x0" # Landroid/view/MenuItem; │ │ .prologue │ .line 38 │ invoke-super {p0, p1}, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity;->onOptionsItemSelected(Landroid/view/MenuItem;)Z │ │ move-result v0 │ │ return v0 │ .end method │ │ .method public bridge synthetic onPrepareOptionsMenu(Landroid/view/Menu;)Z │ .locals 1 │ - .param p1, "x0" # Landroid/view/Menu; │ │ .prologue │ .line 38 │ invoke-super {p0, p1}, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity;->onPrepareOptionsMenu(Landroid/view/Menu;)Z │ │ move-result v0 │ │ @@ -150,14 +138,15 @@ │ │ move-result-object v5 │ │ .line 70 │ .local v5, "currentLocation":Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ const v22, 0x7f0a0007 │ │ + .line 71 │ move-object/from16 v0, p0 │ │ move/from16 v1, v22 │ │ invoke-virtual {v0, v1}, Lcom/github/ruleant/getback_gps/DetailsActivity;->findViewById(I)Landroid/view/View; │ │ move-result-object v19 │ @@ -232,14 +221,15 @@ │ move-object/from16 v0, v19 │ │ invoke-virtual {v0, v11}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V │ │ .line 82 │ const v22, 0x7f0a0008 │ │ + .line 83 │ move-object/from16 v0, p0 │ │ move/from16 v1, v22 │ │ invoke-virtual {v0, v1}, Lcom/github/ruleant/getback_gps/DetailsActivity;->findViewById(I)Landroid/view/View; │ │ move-result-object v18 │ @@ -250,14 +240,15 @@ │ .local v18, "tvLocation":Landroid/widget/TextView; │ new-instance v22, Ljava/lang/StringBuilder; │ │ invoke-direct/range {v22 .. v22}, Ljava/lang/StringBuilder;->()V │ │ const v23, 0x7f07000c │ │ + .line 85 │ move/from16 v0, v23 │ │ invoke-virtual {v12, v0}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v23 │ │ invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ @@ -316,14 +307,15 @@ │ move-object/from16 v0, v18 │ │ invoke-virtual {v0, v9}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V │ │ .line 95 │ const v22, 0x7f0a000b │ │ + .line 96 │ move-object/from16 v0, p0 │ │ move/from16 v1, v22 │ │ invoke-virtual {v0, v1}, Lcom/github/ruleant/getback_gps/DetailsActivity;->findViewById(I)Landroid/view/View; │ │ move-result-object v17 │ @@ -334,14 +326,15 @@ │ .local v17, "tvDestination":Landroid/widget/TextView; │ new-instance v22, Ljava/lang/StringBuilder; │ │ invoke-direct/range {v22 .. v22}, Ljava/lang/StringBuilder;->()V │ │ const v23, 0x7f07000f │ │ + .line 98 │ move/from16 v0, v23 │ │ invoke-virtual {v12, v0}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v23 │ │ invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ @@ -377,14 +370,15 @@ │ │ invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v22 │ │ const v23, 0x7f070034 │ │ + .line 102 │ move/from16 v0, v23 │ │ invoke-virtual {v12, v0}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v23 │ │ invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ @@ -413,14 +407,15 @@ │ │ invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v22 │ │ const v23, 0x7f070033 │ │ + .line 108 │ move/from16 v0, v23 │ │ invoke-virtual {v12, v0}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v23 │ │ invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ @@ -437,14 +432,15 @@ │ move-object/from16 v0, v17 │ │ invoke-virtual {v0, v7}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V │ │ .line 116 │ const v22, 0x7f0a0009 │ │ + .line 117 │ move-object/from16 v0, p0 │ │ move/from16 v1, v22 │ │ invoke-virtual {v0, v1}, Lcom/github/ruleant/getback_gps/DetailsActivity;->findViewById(I)Landroid/view/View; │ │ move-result-object v16 │ @@ -471,20 +467,22 @@ │ │ const-string v23, " : " │ │ invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v22 │ │ + .line 120 │ invoke-virtual {v10}, Lcom/github/ruleant/getback_gps/lib/Navigator;->getSensorBearingOffset()D │ │ move-result-wide v24 │ │ const/16 v23, 0x0 │ │ + .line 119 │ move-wide/from16 v0, v24 │ │ move/from16 v2, v23 │ │ invoke-static {v0, v1, v2}, Lcom/github/ruleant/getback_gps/lib/FormatUtils;->formatAngle(DI)Ljava/lang/String; │ │ move-result-object v23 │ @@ -493,23 +491,25 @@ │ │ move-result-object v22 │ │ invoke-virtual/range {v22 .. v22}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v22 │ │ + .line 118 │ move-object/from16 v0, v16 │ │ move-object/from16 v1, v22 │ │ invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V │ │ .line 123 │ const v22, 0x7f0a000a │ │ + .line 124 │ move-object/from16 v0, p0 │ │ move/from16 v1, v22 │ │ invoke-virtual {v0, v1}, Lcom/github/ruleant/getback_gps/DetailsActivity;->findViewById(I)Landroid/view/View; │ │ move-result-object v21 │ @@ -592,14 +592,15 @@ │ move-object/from16 v0, v21 │ │ invoke-virtual {v0, v15}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V │ │ .line 144 │ const v22, 0x7f0a000c │ │ + .line 145 │ move-object/from16 v0, p0 │ │ move/from16 v1, v22 │ │ invoke-virtual {v0, v1}, Lcom/github/ruleant/getback_gps/DetailsActivity;->findViewById(I)Landroid/view/View; │ │ move-result-object v20 │ @@ -610,14 +611,15 @@ │ .local v20, "tvToDestination":Landroid/widget/TextView; │ new-instance v22, Ljava/lang/StringBuilder; │ │ invoke-direct/range {v22 .. v22}, Ljava/lang/StringBuilder;->()V │ │ const v23, 0x7f07004e │ │ + .line 147 │ move/from16 v0, v23 │ │ invoke-virtual {v12, v0}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v23 │ │ invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ @@ -656,14 +658,15 @@ │ │ invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v22 │ │ const v23, 0x7f070052 │ │ + .line 150 │ move/from16 v0, v23 │ │ invoke-virtual {v12, v0}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v23 │ │ invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ @@ -703,18 +706,20 @@ │ │ move-object/from16 v0, v22 │ │ invoke-virtual {v0, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v22 │ │ + .line 77 │ invoke-virtual {v13}, Lcom/github/ruleant/getback_gps/LocationService;->getLocationProvider()Ljava/lang/String; │ │ move-result-object v23 │ │ + .line 76 │ move-object/from16 v0, p0 │ │ move-object/from16 v1, v23 │ │ invoke-static {v0, v1}, Lcom/github/ruleant/getback_gps/lib/FormatUtils;->localizeProviderName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v23 │ @@ -802,14 +807,15 @@ │ │ invoke-virtual {v0, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v22 │ │ const v23, 0x7f070051 │ │ + .line 134 │ move/from16 v0, v23 │ │ invoke-virtual {v12, v0}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v23 │ │ invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ @@ -833,14 +839,15 @@ │ │ invoke-virtual {v0, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v22 │ │ const v23, 0x7f070050 │ │ + .line 138 │ move/from16 v0, v23 │ │ invoke-virtual {v12, v0}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v23 │ │ invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ @@ -871,14 +878,15 @@ │ │ invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v22 │ │ const v23, 0x7f070017 │ │ + .line 154 │ move/from16 v0, v23 │ │ invoke-virtual {v12, v0}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v23 │ │ invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ @@ -887,14 +895,15 @@ │ │ const-string v23, ": " │ │ invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v22 │ │ + .line 155 │ invoke-virtual {v10}, Lcom/github/ruleant/getback_gps/lib/Navigator;->getDistance()F │ │ move-result v23 │ │ move/from16 v0, v23 │ │ float-to-double v0, v0 │ @@ -918,18 +927,20 @@ │ invoke-virtual/range {v22 .. v22}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v14 │ │ .line 157 │ new-instance v4, Lcom/github/ruleant/getback_gps/lib/CardinalDirection; │ │ + .line 160 │ invoke-virtual {v10}, Lcom/github/ruleant/getback_gps/lib/Navigator;->getAbsoluteDirection()D │ │ move-result-wide v22 │ │ + .line 159 │ invoke-static/range {v22 .. v23}, Lcom/github/ruleant/getback_gps/lib/FormatUtils;->normalizeAngle(D)D │ │ move-result-wide v22 │ │ move-object/from16 v0, p0 │ │ move-wide/from16 v1, v22 │ @@ -952,14 +963,15 @@ │ │ invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v22 │ │ const v23, 0x7f070014 │ │ + .line 163 │ move/from16 v0, v23 │ │ invoke-virtual {v12, v0}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v23 │ │ invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ @@ -968,14 +980,15 @@ │ │ const-string v23, ": " │ │ invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v22 │ │ + .line 164 │ invoke-virtual {v4}, Lcom/github/ruleant/getback_gps/lib/CardinalDirection;->format()Ljava/lang/String; │ │ move-result-object v23 │ │ invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v22 │ @@ -1008,14 +1021,15 @@ │ │ invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v22 │ │ const v23, 0x7f070015 │ │ + .line 172 │ move/from16 v0, v23 │ │ invoke-virtual {v12, v0}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v23 │ │ invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ @@ -1024,20 +1038,22 @@ │ │ const-string v23, ": " │ │ invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v22 │ │ + .line 174 │ invoke-virtual {v10}, Lcom/github/ruleant/getback_gps/lib/Navigator;->getRelativeDirection()D │ │ move-result-wide v24 │ │ const/16 v23, 0x2 │ │ + .line 173 │ move-wide/from16 v0, v24 │ │ move/from16 v2, v23 │ │ invoke-static {v0, v1, v2}, Lcom/github/ruleant/getback_gps/lib/FormatUtils;->formatAngle(DI)Ljava/lang/String; │ │ move-result-object v23 ├── smali/com/github/ruleant/getback_gps/LocationService$1.smali │ @@ -20,14 +20,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/github/ruleant/getback_gps/LocationService; │ │ │ # direct methods │ .method constructor (Lcom/github/ruleant/getback_gps/LocationService;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/github/ruleant/getback_gps/LocationService; │ │ .prologue │ .line 560 │ iput-object p1, p0, Lcom/github/ruleant/getback_gps/LocationService$1;->this$0:Lcom/github/ruleant/getback_gps/LocationService; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ @@ -54,14 +55,15 @@ │ │ move-result-object v3 │ │ if-eqz v3, :cond_0 │ │ iget-object v3, p0, Lcom/github/ruleant/getback_gps/LocationService$1;->this$0:Lcom/github/ruleant/getback_gps/LocationService; │ │ + .line 569 │ # getter for: Lcom/github/ruleant/getback_gps/LocationService;->mDebug:Lcom/github/ruleant/getback_gps/lib/DebugLevel; │ invoke-static {v3}, Lcom/github/ruleant/getback_gps/LocationService;->access$000(Lcom/github/ruleant/getback_gps/LocationService;)Lcom/github/ruleant/getback_gps/lib/DebugLevel; │ │ move-result-object v3 │ │ const/4 v4, 0x2 │ │ @@ -70,27 +72,30 @@ │ move-result v3 │ │ if-eqz v3, :cond_0 │ │ .line 571 │ iget-object v3, p0, Lcom/github/ruleant/getback_gps/LocationService$1;->this$0:Lcom/github/ruleant/getback_gps/LocationService; │ │ + .line 572 │ # getter for: Lcom/github/ruleant/getback_gps/LocationService;->mContext:Landroid/content/Context; │ invoke-static {v3}, Lcom/github/ruleant/getback_gps/LocationService;->access$100(Lcom/github/ruleant/getback_gps/LocationService;)Landroid/content/Context; │ │ move-result-object v3 │ │ const v4, 0x7f070027 │ │ const/4 v5, 0x0 │ │ + .line 571 │ invoke-static {v3, v4, v5}, Landroid/widget/Toast;->makeText(Landroid/content/Context;II)Landroid/widget/Toast; │ │ move-result-object v3 │ │ + .line 575 │ invoke-virtual {v3}, Landroid/widget/Toast;->show()V │ │ .line 579 │ :cond_0 │ iget-object v3, p0, Lcom/github/ruleant/getback_gps/LocationService$1;->this$0:Lcom/github/ruleant/getback_gps/LocationService; │ │ # getter for: Lcom/github/ruleant/getback_gps/LocationService;->mCallbacks:Landroid/os/RemoteCallbackList; ├── smali/com/github/ruleant/getback_gps/LocationService$LocationBinder.smali │ @@ -17,14 +17,15 @@ │ # instance fields │ .field final synthetic this$0:Lcom/github/ruleant/getback_gps/LocationService; │ │ │ # direct methods │ .method public constructor (Lcom/github/ruleant/getback_gps/LocationService;)V │ .locals 0 │ + .param p1, "this$0" # Lcom/github/ruleant/getback_gps/LocationService; │ │ .prologue │ .line 628 │ iput-object p1, p0, Lcom/github/ruleant/getback_gps/LocationService$LocationBinder;->this$0:Lcom/github/ruleant/getback_gps/LocationService; │ │ invoke-direct {p0}, Landroid/os/Binder;->()V ├── smali/com/github/ruleant/getback_gps/LocationService.smali │ @@ -107,15 +107,14 @@ │ .line 560 │ new-instance v0, Lcom/github/ruleant/getback_gps/LocationService$1; │ │ invoke-direct {v0, p0}, Lcom/github/ruleant/getback_gps/LocationService$1;->(Lcom/github/ruleant/getback_gps/LocationService;)V │ │ iput-object v0, p0, Lcom/github/ruleant/getback_gps/LocationService;->mListener:Landroid/location/LocationListener; │ │ - .line 628 │ return-void │ .end method │ │ .method static synthetic access$000(Lcom/github/ruleant/getback_gps/LocationService;)Lcom/github/ruleant/getback_gps/lib/DebugLevel; │ .locals 1 │ .param p0, "x0" # Lcom/github/ruleant/getback_gps/LocationService; │ │ @@ -169,53 +168,57 @@ │ │ if-eqz v0, :cond_1 │ │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/LocationService;->mLocationManager:Landroid/location/LocationManager; │ │ iget-object v1, p0, Lcom/github/ruleant/getback_gps/LocationService;->mProviderName:Ljava/lang/String; │ │ + .line 509 │ invoke-virtual {v0, v1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z │ │ move-result v0 │ │ if-eqz v0, :cond_1 │ │ - .line 512 │ + .line 513 │ invoke-static {p0}, Landroid/preference/PreferenceManager;->getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences; │ │ move-result-object v9 │ │ .line 514 │ .local v9, "sharedPref":Landroid/content/SharedPreferences; │ const-string v0, "loc_update_dist" │ │ const-string v1, "10" │ │ + .line 515 │ invoke-interface {v9, v0, v1}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v7 │ │ .line 518 │ .local v7, "prefLocationUpdateDistance":Ljava/lang/String; │ const-string v0, "loc_update_time" │ │ const-string v1, "10000" │ │ + .line 519 │ invoke-interface {v9, v0, v1}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v8 │ │ .line 528 │ .local v8, "prefLocationUpdateTime":Ljava/lang/String; │ sget v0, Landroid/os/Build$VERSION;->SDK_INT:I │ │ const/16 v1, 0x10 │ │ if-ge v0, v1, :cond_0 │ │ + .line 529 │ invoke-static {v7}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I │ │ move-result v0 │ │ if-nez v0, :cond_0 │ │ .line 530 │ @@ -223,35 +226,39 @@ │ │ .line 534 │ :cond_0 │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/LocationService;->mLocationManager:Landroid/location/LocationManager; │ │ iget-object v1, p0, Lcom/github/ruleant/getback_gps/LocationService;->mProviderName:Ljava/lang/String; │ │ + .line 536 │ invoke-static {v8}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I │ │ move-result v2 │ │ int-to-long v2, v2 │ │ + .line 537 │ invoke-static {v7}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I │ │ move-result v4 │ │ int-to-float v4, v4 │ │ iget-object v5, p0, Lcom/github/ruleant/getback_gps/LocationService;->mListener:Landroid/location/LocationListener; │ │ + .line 534 │ invoke-virtual/range {v0 .. v5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V │ │ .line 539 │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/LocationService;->mLocationManager:Landroid/location/LocationManager; │ │ iget-object v1, p0, Lcom/github/ruleant/getback_gps/LocationService;->mProviderName:Ljava/lang/String; │ │ + .line 540 │ invoke-virtual {v0, v1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location; │ │ move-result-object v6 │ │ .line 542 │ .local v6, "location":Landroid/location/Location; │ if-eqz v6, :cond_2 │ @@ -273,14 +280,15 @@ │ :cond_1 │ const v0, 0x7f07003e │ │ invoke-static {p0, v0, v10}, Landroid/widget/Toast;->makeText(Landroid/content/Context;II)Landroid/widget/Toast; │ │ move-result-object v0 │ │ + .line 551 │ invoke-virtual {v0}, Landroid/widget/Toast;->show()V │ │ .line 554 │ :cond_2 │ const/4 v0, 0x0 │ │ goto :goto_0 │ @@ -450,14 +458,15 @@ │ │ if-eqz v0, :cond_0 │ │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/LocationService;->mDebug:Lcom/github/ruleant/getback_gps/lib/DebugLevel; │ │ const/4 v1, 0x3 │ │ + .line 209 │ invoke-virtual {v0, v1}, Lcom/github/ruleant/getback_gps/lib/DebugLevel;->checkDebugLevel(I)Z │ │ move-result v0 │ │ if-eqz v0, :cond_0 │ │ .line 210 │ @@ -494,14 +503,15 @@ │ │ if-eqz v0, :cond_0 │ │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/LocationService;->mDebug:Lcom/github/ruleant/getback_gps/lib/DebugLevel; │ │ const/4 v1, 0x3 │ │ + .line 129 │ invoke-virtual {v0, v1}, Lcom/github/ruleant/getback_gps/lib/DebugLevel;->checkDebugLevel(I)Z │ │ move-result v0 │ │ if-eqz v0, :cond_0 │ │ .line 130 │ @@ -515,14 +525,15 @@ │ │ invoke-virtual {v0}, Landroid/widget/Toast;->show()V │ │ .line 132 │ :cond_0 │ const-string v0, "location" │ │ + .line 134 │ invoke-virtual {p0, v0}, Lcom/github/ruleant/getback_gps/LocationService;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; │ │ move-result-object v0 │ │ check-cast v0, Landroid/location/LocationManager; │ │ iput-object v0, p0, Lcom/github/ruleant/getback_gps/LocationService;->mLocationManager:Landroid/location/LocationManager; │ @@ -542,14 +553,15 @@ │ invoke-direct {v0, v1}, Lcom/github/ruleant/getback_gps/lib/Navigator;->(Lcom/github/ruleant/getback_gps/lib/SensorOrientation;)V │ │ iput-object v0, p0, Lcom/github/ruleant/getback_gps/LocationService;->mNavigator:Lcom/github/ruleant/getback_gps/lib/Navigator; │ │ .line 140 │ new-instance v0, Lcom/github/ruleant/getback_gps/lib/StoredLocation; │ │ + .line 141 │ invoke-virtual {p0}, Lcom/github/ruleant/getback_gps/LocationService;->getApplicationContext()Landroid/content/Context; │ │ move-result-object v1 │ │ const-string v2, "last_location" │ │ invoke-direct {v0, v1, v2}, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->(Landroid/content/Context;Ljava/lang/String;)V │ @@ -616,14 +628,15 @@ │ │ move-result v0 │ │ if-eqz v0, :cond_1 │ │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/LocationService;->mSensorOrientation:Lcom/github/ruleant/getback_gps/lib/SensorOrientation; │ │ + .line 159 │ invoke-virtual {v0}, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->isSensorsEnabled()Z │ │ move-result v0 │ │ if-eqz v0, :cond_1 │ │ .line 160 │ @@ -710,14 +723,15 @@ │ │ if-eqz v0, :cond_0 │ │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/LocationService;->mDebug:Lcom/github/ruleant/getback_gps/lib/DebugLevel; │ │ const/4 v1, 0x3 │ │ + .line 193 │ invoke-virtual {v0, v1}, Lcom/github/ruleant/getback_gps/lib/DebugLevel;->checkDebugLevel(I)Z │ │ move-result v0 │ │ if-eqz v0, :cond_0 │ │ .line 194 │ @@ -824,14 +838,15 @@ │ │ if-eqz v0, :cond_0 │ │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/LocationService;->mDebug:Lcom/github/ruleant/getback_gps/lib/DebugLevel; │ │ const/4 v1, 0x3 │ │ + .line 218 │ invoke-virtual {v0, v1}, Lcom/github/ruleant/getback_gps/lib/DebugLevel;->checkDebugLevel(I)Z │ │ move-result v0 │ │ if-eqz v0, :cond_0 │ │ .line 219 │ @@ -881,14 +896,15 @@ │ :cond_0 │ const v2, 0x7f07002e │ │ invoke-static {p0, v2, v4}, Landroid/widget/Toast;->makeText(Landroid/content/Context;II)Landroid/widget/Toast; │ │ move-result-object v2 │ │ + .line 430 │ invoke-virtual {v2}, Landroid/widget/Toast;->show()V │ │ .line 456 │ :cond_1 │ :goto_0 │ return-void │ │ @@ -933,14 +949,15 @@ │ invoke-virtual {p0, v2}, Lcom/github/ruleant/getback_gps/LocationService;->setDestination(Lcom/github/ruleant/getback_gps/lib/AriadneLocation;)V │ │ .line 442 │ invoke-static {p0, v1, v4}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; │ │ move-result-object v2 │ │ + .line 446 │ invoke-virtual {v2}, Landroid/widget/Toast;->show()V │ │ goto :goto_0 │ │ .line 450 │ .end local v0 # "location":Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ :cond_3 │ @@ -948,14 +965,15 @@ │ │ const/4 v3, 0x1 │ │ invoke-static {p0, v2, v3}, Landroid/widget/Toast;->makeText(Landroid/content/Context;II)Landroid/widget/Toast; │ │ move-result-object v2 │ │ + .line 454 │ invoke-virtual {v2}, Landroid/widget/Toast;->show()V │ │ goto :goto_0 │ .end method │ │ .method public final setDestination(Landroid/location/Location;)V │ .locals 1 │ @@ -1029,40 +1047,44 @@ │ │ .line 266 │ .local v0, "currentLocation":Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ if-eqz p1, :cond_1 │ │ if-eqz v0, :cond_2 │ │ + .line 268 │ invoke-virtual {p1}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->getTime()J │ │ move-result-wide v2 │ │ invoke-virtual {v0}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->getTime()J │ │ move-result-wide v4 │ │ cmp-long v1, v2, v4 │ │ if-nez v1, :cond_0 │ │ + .line 269 │ invoke-virtual {p1}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->getProvider()Ljava/lang/String; │ │ move-result-object v1 │ │ + .line 270 │ invoke-virtual {v0}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->getProvider()Ljava/lang/String; │ │ move-result-object v2 │ │ invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z │ │ move-result v1 │ │ if-nez v1, :cond_1 │ │ + .line 271 │ :cond_0 │ invoke-virtual {v0, p1}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->isNewer(Landroid/location/Location;)Z │ │ move-result v1 │ │ if-nez v1, :cond_2 │ │ @@ -1139,17 +1161,18 @@ │ :cond_0 │ const v2, 0x7f07002e │ │ invoke-static {p0, v2, v4}, Landroid/widget/Toast;->makeText(Landroid/content/Context;II)Landroid/widget/Toast; │ │ move-result-object v2 │ │ + .line 382 │ invoke-virtual {v2}, Landroid/widget/Toast;->show()V │ │ - .line 385 │ + .line 386 │ invoke-virtual {p0}, Lcom/github/ruleant/getback_gps/LocationService;->getResources()Landroid/content/res/Resources; │ │ move-result-object v2 │ │ const v3, 0x7f070026 │ │ invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ @@ -1172,53 +1195,56 @@ │ invoke-virtual {p0, v2}, Lcom/github/ruleant/getback_gps/LocationService;->setDestination(Lcom/github/ruleant/getback_gps/lib/AriadneLocation;)V │ │ .line 399 │ invoke-static {p0, v1, v4}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; │ │ move-result-object v2 │ │ + .line 403 │ invoke-virtual {v2}, Landroid/widget/Toast;->show()V │ │ .line 411 │ :goto_1 │ return-void │ │ .line 388 │ :cond_1 │ invoke-virtual {v0, p1}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->setName(Ljava/lang/String;)V │ │ - .line 391 │ + .line 392 │ invoke-virtual {p0}, Lcom/github/ruleant/getback_gps/LocationService;->getResources()Landroid/content/res/Resources; │ │ move-result-object v2 │ │ const v3, 0x7f070024 │ │ invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v2 │ │ new-array v3, v5, [Ljava/lang/Object; │ │ aput-object p1, v3, v4 │ │ + .line 391 │ invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v1 │ │ goto :goto_0 │ │ .line 405 │ :cond_2 │ const v2, 0x7f07004c │ │ invoke-static {p0, v2, v5}, Landroid/widget/Toast;->makeText(Landroid/content/Context;II)Landroid/widget/Toast; │ │ move-result-object v2 │ │ + .line 409 │ invoke-virtual {v2}, Landroid/widget/Toast;->show()V │ │ goto :goto_1 │ .end method │ │ .method public final updateLocation()V │ .locals 2 ├── smali/com/github/ruleant/getback_gps/MainActivity.smali │ @@ -81,14 +81,15 @@ │ const v1, 0x7f030002 │ │ invoke-virtual {p0, v1}, Lcom/github/ruleant/getback_gps/MainActivity;->setContentView(I)V │ │ .line 69 │ const v1, 0x7f0a0014 │ │ + .line 70 │ invoke-virtual {p0, v1}, Lcom/github/ruleant/getback_gps/MainActivity;->findViewById(I)Landroid/view/View; │ │ move-result-object v0 │ │ check-cast v0, Landroid/widget/TextView; │ │ .line 71 │ @@ -192,18 +193,20 @@ │ .line 108 │ .local v0, "debug":Lcom/github/ruleant/getback_gps/lib/DebugLevel; │ if-eqz v1, :cond_0 │ │ .line 110 │ const/4 v2, 0x1 │ │ + .line 111 │ invoke-virtual {v0, v2}, Lcom/github/ruleant/getback_gps/lib/DebugLevel;->checkDebugLevel(I)Z │ │ move-result v2 │ │ + .line 110 │ invoke-interface {v1, v2}, Landroid/view/MenuItem;->setVisible(Z)Landroid/view/MenuItem; │ │ .line 114 │ :cond_0 │ invoke-super {p0, p1}, Lcom/github/ruleant/getback_gps/AbstractGetBackGpsActivity;->onPrepareOptionsMenu(Landroid/view/Menu;)Z │ │ move-result v2 │ @@ -265,84 +268,90 @@ │ │ move-result-object v5 │ │ .line 151 │ .local v5, "destination":Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ const v23, 0x7f0a000d │ │ + .line 152 │ move-object/from16 v0, p0 │ │ move/from16 v1, v23 │ │ invoke-virtual {v0, v1}, Lcom/github/ruleant/getback_gps/MainActivity;->findViewById(I)Landroid/view/View; │ │ move-result-object v12 │ │ check-cast v12, Lcom/github/ruleant/getback_gps/NavigationView; │ │ .line 153 │ .local v12, "nvToDestination":Lcom/github/ruleant/getback_gps/NavigationView; │ const v23, 0x7f0a0014 │ │ + .line 154 │ move-object/from16 v0, p0 │ │ move/from16 v1, v23 │ │ invoke-virtual {v0, v1}, Lcom/github/ruleant/getback_gps/MainActivity;->findViewById(I)Landroid/view/View; │ │ move-result-object v22 │ │ check-cast v22, Landroid/widget/TextView; │ │ .line 155 │ .local v22, "tvToDestinationName":Landroid/widget/TextView; │ const v23, 0x7f0a0015 │ │ + .line 156 │ move-object/from16 v0, p0 │ │ move/from16 v1, v23 │ │ invoke-virtual {v0, v1}, Lcom/github/ruleant/getback_gps/MainActivity;->findViewById(I)Landroid/view/View; │ │ move-result-object v20 │ │ check-cast v20, Landroid/widget/TextView; │ │ .line 157 │ .local v20, "tvToDestinationDistance":Landroid/widget/TextView; │ const v23, 0x7f0a0016 │ │ + .line 158 │ move-object/from16 v0, p0 │ │ move/from16 v1, v23 │ │ invoke-virtual {v0, v1}, Lcom/github/ruleant/getback_gps/MainActivity;->findViewById(I)Landroid/view/View; │ │ move-result-object v19 │ │ check-cast v19, Landroid/widget/TextView; │ │ .line 160 │ .local v19, "tvToDestinationDirection":Landroid/widget/TextView; │ const v23, 0x7f0a0013 │ │ + .line 161 │ move-object/from16 v0, p0 │ │ move/from16 v1, v23 │ │ invoke-virtual {v0, v1}, Lcom/github/ruleant/getback_gps/MainActivity;->findViewById(I)Landroid/view/View; │ │ move-result-object v14 │ │ check-cast v14, Landroid/widget/LinearLayout; │ │ .line 162 │ .local v14, "sectionToDestination":Landroid/widget/LinearLayout; │ const v23, 0x7f0a0012 │ │ + .line 163 │ move-object/from16 v0, p0 │ │ move/from16 v1, v23 │ │ invoke-virtual {v0, v1}, Lcom/github/ruleant/getback_gps/MainActivity;->findViewById(I)Landroid/view/View; │ │ move-result-object v21 │ @@ -408,14 +417,15 @@ │ .line 173 │ .local v6, "displayToDest":Ljava/lang/Boolean; │ if-nez v5, :cond_4 │ │ .line 174 │ const v23, 0x7f07002d │ │ + .line 175 │ move/from16 v0, v23 │ │ invoke-virtual {v13, v0}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v17 │ │ .line 236 │ @@ -423,19 +433,20 @@ │ :goto_1 │ invoke-virtual {v9}, Lcom/github/ruleant/getback_gps/lib/Navigator;->isBearingAccurate()Z │ │ move-result v23 │ │ if-eqz v23, :cond_3 │ │ - .line 237 │ + .line 238 │ invoke-virtual {v9}, Lcom/github/ruleant/getback_gps/lib/Navigator;->getCurrentBearing()D │ │ move-result-wide v24 │ │ + .line 237 │ move-wide/from16 v0, v24 │ │ invoke-virtual {v12, v0, v1}, Lcom/github/ruleant/getback_gps/NavigationView;->setAzimuth(D)V │ │ .line 239 │ sget-object v11, Lcom/github/ruleant/getback_gps/NavigationView$Mode;->Accurate:Lcom/github/ruleant/getback_gps/NavigationView$Mode; │ │ @@ -504,14 +515,15 @@ │ move-result v23 │ │ if-eqz v23, :cond_5 │ │ .line 177 │ const v23, 0x7f070010 │ │ + .line 178 │ move/from16 v0, v23 │ │ invoke-virtual {v13, v0}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v17 │ │ goto :goto_1 │ @@ -532,14 +544,15 @@ │ invoke-virtual/range {v23 .. v23}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->getName()Ljava/lang/String; │ │ move-result-object v18 │ │ .line 186 │ if-eqz v18, :cond_6 │ │ + .line 187 │ invoke-virtual {v15}, Ljava/lang/String;->length()I │ │ move-result v23 │ │ if-nez v23, :cond_7 │ │ .line 188 │ @@ -599,22 +612,24 @@ │ .local v7, "lastCharPosition":I │ new-instance v23, Ljava/lang/StringBuilder; │ │ invoke-direct/range {v23 .. v23}, Ljava/lang/StringBuilder;->()V │ │ const/16 v24, 0x0 │ │ + .line 204 │ move-object/from16 v0, v18 │ │ move/from16 v1, v24 │ │ invoke-virtual {v0, v1, v7}, Ljava/lang/String;->subSequence(II)Ljava/lang/CharSequence; │ │ move-result-object v24 │ │ + .line 205 │ invoke-interface/range {v24 .. v24}, Ljava/lang/CharSequence;->toString()Ljava/lang/String; │ │ move-result-object v24 │ │ invoke-virtual/range {v24 .. v24}, Ljava/lang/String;->trim()Ljava/lang/String; │ │ move-result-object v24 │ @@ -638,15 +653,15 @@ │ :cond_8 │ invoke-virtual {v9}, Lcom/github/ruleant/getback_gps/lib/Navigator;->isLocationAccurate()Z │ │ move-result v23 │ │ if-eqz v23, :cond_2 │ │ - .line 211 │ + .line 212 │ invoke-virtual {v9}, Lcom/github/ruleant/getback_gps/lib/Navigator;->getDistance()F │ │ move-result v23 │ │ move/from16 v0, v23 │ │ float-to-double v0, v0 │ @@ -656,18 +671,20 @@ │ invoke-static/range {v24 .. v25}, Lcom/github/ruleant/getback_gps/lib/FormatUtils;->formatDist(D)Ljava/lang/String; │ │ move-result-object v16 │ │ .line 215 │ new-instance v4, Lcom/github/ruleant/getback_gps/lib/CardinalDirection; │ │ + .line 218 │ invoke-virtual {v9}, Lcom/github/ruleant/getback_gps/lib/Navigator;->getAbsoluteDirection()D │ │ move-result-wide v24 │ │ + .line 217 │ invoke-static/range {v24 .. v25}, Lcom/github/ruleant/getback_gps/lib/FormatUtils;->normalizeAngle(D)D │ │ move-result-wide v24 │ │ move-object/from16 v0, p0 │ │ move-wide/from16 v1, v24 │ @@ -683,19 +700,20 @@ │ .line 223 │ invoke-virtual {v9}, Lcom/github/ruleant/getback_gps/lib/Navigator;->isBearingAccurate()Z │ │ move-result v23 │ │ if-eqz v23, :cond_a │ │ - .line 224 │ + .line 225 │ invoke-virtual {v9}, Lcom/github/ruleant/getback_gps/lib/Navigator;->getRelativeDirection()D │ │ move-result-wide v24 │ │ + .line 224 │ move-wide/from16 v0, v24 │ │ invoke-virtual {v12, v0, v1}, Lcom/github/ruleant/getback_gps/NavigationView;->setDirection(D)V │ │ .line 226 │ sget-object v10, Lcom/github/ruleant/getback_gps/NavigationView$Mode;->Accurate:Lcom/github/ruleant/getback_gps/NavigationView$Mode; │ │ @@ -706,21 +724,22 @@ │ .end local v8 # "maxLength":I │ :cond_9 │ const/16 v8, 0x4b │ │ .restart local v8 # "maxLength":I │ goto :goto_3 │ │ - .line 228 │ + .line 229 │ .restart local v4 # "cd":Lcom/github/ruleant/getback_gps/lib/CardinalDirection; │ :cond_a │ invoke-virtual {v9}, Lcom/github/ruleant/getback_gps/lib/Navigator;->getAbsoluteDirection()D │ │ move-result-wide v24 │ │ + .line 228 │ move-wide/from16 v0, v24 │ │ invoke-virtual {v12, v0, v1}, Lcom/github/ruleant/getback_gps/NavigationView;->setDirection(D)V │ │ .line 230 │ sget-object v10, Lcom/github/ruleant/getback_gps/NavigationView$Mode;->Inaccurate:Lcom/github/ruleant/getback_gps/NavigationView$Mode; ├── smali/com/github/ruleant/getback_gps/R.smali │ @@ -24,10 +24,9 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 10 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ - .line 181 │ return-void │ .end method ├── smali/com/github/ruleant/getback_gps/SettingsActivity$GeneralPreferenceFragment.smali │ @@ -32,14 +32,15 @@ │ .method private populateLocUpdateDist()V │ .locals 10 │ │ .prologue │ .line 392 │ const-string v6, "loc_update_dist" │ │ + .line 393 │ invoke-virtual {p0, v6}, Lcom/github/ruleant/getback_gps/SettingsActivity$GeneralPreferenceFragment;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference; │ │ move-result-object v2 │ │ check-cast v2, Landroid/preference/ListPreference; │ │ .line 394 │ @@ -48,14 +49,15 @@ │ │ move-result-object v3 │ │ .line 395 │ .local v3, "resources":Landroid/content/res/Resources; │ const v6, 0x7f050005 │ │ + .line 396 │ invoke-virtual {v3, v6}, Landroid/content/res/Resources;->getStringArray(I)[Ljava/lang/String; │ │ move-result-object v5 │ │ .line 398 │ .local v5, "values":[Ljava/lang/CharSequence; │ array-length v6, v5 │ @@ -92,20 +94,22 @@ │ │ const/4 v7, 0x1 │ │ new-array v7, v7, [Ljava/lang/Object; │ │ const/4 v8, 0x0 │ │ + .line 403 │ invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ move-result-object v9 │ │ aput-object v9, v7, v8 │ │ + .line 402 │ invoke-virtual {v3, v6, v4, v7}, Landroid/content/res/Resources;->getQuantityString(II[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v6 │ │ aput-object v6, v0, v1 │ │ .line 399 │ @@ -142,14 +146,15 @@ │ const/4 v10, 0x1 │ │ const/4 v9, 0x0 │ │ .line 416 │ const-string v6, "loc_update_time" │ │ + .line 417 │ invoke-virtual {p0, v6}, Lcom/github/ruleant/getback_gps/SettingsActivity$GeneralPreferenceFragment;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference; │ │ move-result-object v2 │ │ check-cast v2, Landroid/preference/ListPreference; │ │ .line 418 │ @@ -158,14 +163,15 @@ │ │ move-result-object v3 │ │ .line 419 │ .local v3, "resources":Landroid/content/res/Resources; │ const v6, 0x7f050007 │ │ + .line 420 │ invoke-virtual {v3, v6}, Landroid/content/res/Resources;->getStringArray(I)[Ljava/lang/String; │ │ move-result-object v5 │ │ .line 422 │ .local v5, "values":[Ljava/lang/CharSequence; │ array-length v6, v5 │ @@ -181,18 +187,20 @@ │ array-length v6, v5 │ │ if-ge v1, v6, :cond_1 │ │ .line 424 │ aget-object v6, v5, v1 │ │ + .line 425 │ invoke-interface {v6}, Ljava/lang/CharSequence;->toString()Ljava/lang/String; │ │ move-result-object v6 │ │ + .line 424 │ invoke-static {v6}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I │ │ move-result v6 │ │ div-int/lit16 v4, v6, 0x3e8 │ │ .line 426 │ @@ -205,20 +213,22 @@ │ div-int/lit8 v4, v4, 0x3c │ │ .line 428 │ const v6, 0x7f060001 │ │ new-array v7, v10, [Ljava/lang/Object; │ │ + .line 429 │ invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ move-result-object v8 │ │ aput-object v8, v7, v9 │ │ + .line 428 │ invoke-virtual {v3, v6, v4, v7}, Landroid/content/res/Resources;->getQuantityString(II[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v6 │ │ aput-object v6, v0, v1 │ │ .line 423 │ @@ -229,20 +239,22 @@ │ │ .line 431 │ :cond_0 │ const v6, 0x7f060002 │ │ new-array v7, v10, [Ljava/lang/Object; │ │ + .line 432 │ invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ move-result-object v8 │ │ aput-object v8, v7, v9 │ │ + .line 431 │ invoke-virtual {v3, v6, v4, v7}, Landroid/content/res/Resources;->getQuantityString(II[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v6 │ │ aput-object v6, v0, v1 │ │ goto :goto_1 │ @@ -276,37 +288,43 @@ │ │ .line 372 │ invoke-direct {p0}, Lcom/github/ruleant/getback_gps/SettingsActivity$GeneralPreferenceFragment;->populateLocUpdateTime()V │ │ .line 378 │ const-string v0, "loc_update_dist" │ │ + .line 379 │ invoke-virtual {p0, v0}, Lcom/github/ruleant/getback_gps/SettingsActivity$GeneralPreferenceFragment;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference; │ │ move-result-object v0 │ │ + .line 378 │ # invokes: Lcom/github/ruleant/getback_gps/SettingsActivity;->bindPreferenceSummaryToValue(Landroid/preference/Preference;)V │ invoke-static {v0}, Lcom/github/ruleant/getback_gps/SettingsActivity;->access$000(Landroid/preference/Preference;)V │ │ .line 380 │ const-string v0, "loc_update_time" │ │ + .line 381 │ invoke-virtual {p0, v0}, Lcom/github/ruleant/getback_gps/SettingsActivity$GeneralPreferenceFragment;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference; │ │ move-result-object v0 │ │ + .line 380 │ # invokes: Lcom/github/ruleant/getback_gps/SettingsActivity;->bindPreferenceSummaryToValue(Landroid/preference/Preference;)V │ invoke-static {v0}, Lcom/github/ruleant/getback_gps/SettingsActivity;->access$000(Landroid/preference/Preference;)V │ │ .line 382 │ const-string v0, "geo_orientation_sensor" │ │ + .line 383 │ invoke-virtual {p0, v0}, Lcom/github/ruleant/getback_gps/SettingsActivity$GeneralPreferenceFragment;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference; │ │ move-result-object v0 │ │ + .line 382 │ # invokes: Lcom/github/ruleant/getback_gps/SettingsActivity;->bindPreferenceSummaryToValue(Landroid/preference/Preference;)V │ invoke-static {v0}, Lcom/github/ruleant/getback_gps/SettingsActivity;->access$000(Landroid/preference/Preference;)V │ │ .line 384 │ return-void │ .end method ├── smali/com/github/ruleant/getback_gps/SettingsActivity.smali │ @@ -62,15 +62,14 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 52 │ invoke-direct {p0}, Landroid/preference/PreferenceActivity;->()V │ │ - .line 443 │ return-void │ .end method │ │ .method static synthetic access$000(Landroid/preference/Preference;)V │ .locals 0 │ .param p0, "x0" # Landroid/preference/Preference; │ │ @@ -90,32 +89,36 @@ │ sget-object v0, Lcom/github/ruleant/getback_gps/SettingsActivity;->sBindPreferenceSummaryToValueListener:Landroid/preference/Preference$OnPreferenceChangeListener; │ │ invoke-virtual {p0, v0}, Landroid/preference/Preference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V │ │ .line 351 │ sget-object v0, Lcom/github/ruleant/getback_gps/SettingsActivity;->sBindPreferenceSummaryToValueListener:Landroid/preference/Preference$OnPreferenceChangeListener; │ │ + .line 354 │ invoke-virtual {p0}, Landroid/preference/Preference;->getContext()Landroid/content/Context; │ │ move-result-object v1 │ │ + .line 353 │ invoke-static {v1}, Landroid/preference/PreferenceManager;->getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences; │ │ move-result-object v1 │ │ + .line 354 │ invoke-virtual {p0}, Landroid/preference/Preference;->getKey()Ljava/lang/String; │ │ move-result-object v2 │ │ const-string v3, "" │ │ invoke-interface {v1, v2, v3}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v1 │ │ + .line 351 │ invoke-interface {v0, p0, v1}, Landroid/preference/Preference$OnPreferenceChangeListener;->onPreferenceChange(Landroid/preference/Preference;Ljava/lang/Object;)Z │ │ .line 356 │ return-void │ .end method │ │ .method private static isSimplePreferences(Landroid/content/Context;)Z │ @@ -126,26 +129,29 @@ │ .line 281 │ sget v0, Landroid/os/Build$VERSION;->SDK_INT:I │ │ const/16 v1, 0xb │ │ if-lt v0, v1, :cond_0 │ │ + .line 283 │ invoke-static {p0}, Lcom/github/ruleant/getback_gps/SettingsActivity;->isXLargeTablet(Landroid/content/Context;)Z │ │ move-result v0 │ │ if-nez v0, :cond_1 │ │ :cond_0 │ const/4 v0, 0x1 │ │ + .line 281 │ :goto_0 │ return v0 │ │ + .line 283 │ :cond_1 │ const/4 v0, 0x0 │ │ goto :goto_0 │ .end method │ │ .method private static isXLargeTablet(Landroid/content/Context;)Z │ @@ -159,14 +165,15 @@ │ .line 264 │ sget v0, Landroid/os/Build$VERSION;->SDK_INT:I │ │ const/16 v1, 0x9 │ │ if-lt v0, v1, :cond_0 │ │ + .line 265 │ invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; │ │ move-result-object v0 │ │ invoke-virtual {v0}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration; │ │ move-result-object v0 │ @@ -177,17 +184,19 @@ │ │ const/4 v1, 0x4 │ │ if-lt v0, v1, :cond_0 │ │ const/4 v0, 0x1 │ │ + .line 264 │ :goto_0 │ return v0 │ │ + .line 265 │ :cond_0 │ const/4 v0, 0x0 │ │ goto :goto_0 │ .end method │ │ .method private populateLocUpdateDist()V │ @@ -197,14 +206,15 @@ │ const/16 v14, 0x10 │ │ const/4 v13, 0x1 │ │ .line 182 │ const-string v9, "loc_update_dist" │ │ + .line 183 │ invoke-virtual {p0, v9}, Lcom/github/ruleant/getback_gps/SettingsActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference; │ │ move-result-object v3 │ │ check-cast v3, Landroid/preference/ListPreference; │ │ .line 184 │ @@ -213,14 +223,15 @@ │ │ move-result-object v6 │ │ .line 185 │ .local v6, "resources":Landroid/content/res/Resources; │ const v9, 0x7f050005 │ │ + .line 186 │ invoke-virtual {v6, v9}, Landroid/content/res/Resources;->getStringArray(I)[Ljava/lang/String; │ │ move-result-object v8 │ │ .line 189 │ .local v8, "values":[Ljava/lang/CharSequence; │ array-length v9, v8 │ @@ -231,14 +242,15 @@ │ │ .line 190 │ .local v5, "optionsLength":Ljava/lang/Integer; │ sget v9, Landroid/os/Build$VERSION;->SDK_INT:I │ │ if-ge v9, v14, :cond_0 │ │ + .line 191 │ invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I │ │ move-result v9 │ │ if-lt v9, v13, :cond_0 │ │ .line 192 │ @@ -304,20 +316,22 @@ │ .line 202 │ const/high16 v9, 0x7f060000 │ │ new-array v10, v13, [Ljava/lang/Object; │ │ const/4 v11, 0x0 │ │ + .line 203 │ invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ move-result-object v12 │ │ aput-object v12, v10, v11 │ │ + .line 202 │ invoke-virtual {v6, v9, v7, v10}, Landroid/content/res/Resources;->getQuantityString(II[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v9 │ │ aput-object v9, v0, v2 │ │ .line 204 │ @@ -374,14 +388,15 @@ │ const/4 v10, 0x1 │ │ const/4 v9, 0x0 │ │ .line 228 │ const-string v6, "loc_update_time" │ │ + .line 229 │ invoke-virtual {p0, v6}, Lcom/github/ruleant/getback_gps/SettingsActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference; │ │ move-result-object v2 │ │ check-cast v2, Landroid/preference/ListPreference; │ │ .line 230 │ @@ -390,14 +405,15 @@ │ │ move-result-object v3 │ │ .line 231 │ .local v3, "resources":Landroid/content/res/Resources; │ const v6, 0x7f050007 │ │ + .line 232 │ invoke-virtual {v3, v6}, Landroid/content/res/Resources;->getStringArray(I)[Ljava/lang/String; │ │ move-result-object v5 │ │ .line 234 │ .local v5, "values":[Ljava/lang/CharSequence; │ array-length v6, v5 │ @@ -437,20 +453,22 @@ │ div-int/lit8 v4, v4, 0x3c │ │ .line 239 │ const v6, 0x7f060001 │ │ new-array v7, v10, [Ljava/lang/Object; │ │ + .line 240 │ invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ move-result-object v8 │ │ aput-object v8, v7, v9 │ │ + .line 239 │ invoke-virtual {v3, v6, v4, v7}, Landroid/content/res/Resources;->getQuantityString(II[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v6 │ │ aput-object v6, v0, v1 │ │ .line 235 │ @@ -461,20 +479,22 @@ │ │ .line 242 │ :cond_0 │ const v6, 0x7f060002 │ │ new-array v7, v10, [Ljava/lang/Object; │ │ + .line 243 │ invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ move-result-object v8 │ │ aput-object v8, v7, v9 │ │ + .line 242 │ invoke-virtual {v3, v6, v4, v7}, Landroid/content/res/Resources;->getQuantityString(II[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v6 │ │ aput-object v6, v0, v1 │ │ goto :goto_1 │ @@ -514,36 +534,42 @@ │ │ .line 151 │ invoke-direct {p0}, Lcom/github/ruleant/getback_gps/SettingsActivity;->populateLocUpdateTime()V │ │ .line 164 │ const-string v0, "loc_update_dist" │ │ + .line 165 │ invoke-virtual {p0, v0}, Lcom/github/ruleant/getback_gps/SettingsActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference; │ │ move-result-object v0 │ │ + .line 164 │ invoke-static {v0}, Lcom/github/ruleant/getback_gps/SettingsActivity;->bindPreferenceSummaryToValue(Landroid/preference/Preference;)V │ │ .line 166 │ const-string v0, "loc_update_time" │ │ + .line 167 │ invoke-virtual {p0, v0}, Lcom/github/ruleant/getback_gps/SettingsActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference; │ │ move-result-object v0 │ │ + .line 166 │ invoke-static {v0}, Lcom/github/ruleant/getback_gps/SettingsActivity;->bindPreferenceSummaryToValue(Landroid/preference/Preference;)V │ │ .line 168 │ const-string v0, "geo_orientation_sensor" │ │ + .line 169 │ invoke-virtual {p0, v0}, Lcom/github/ruleant/getback_gps/SettingsActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference; │ │ move-result-object v0 │ │ + .line 168 │ invoke-static {v0}, Lcom/github/ruleant/getback_gps/SettingsActivity;->bindPreferenceSummaryToValue(Landroid/preference/Preference;)V │ │ goto :goto_0 │ .end method │ │ │ # virtual methods │ @@ -563,30 +589,33 @@ │ │ move-result v0 │ │ if-nez v0, :cond_0 │ │ const-class v0, Lcom/github/ruleant/getback_gps/SettingsActivity$DebugPreferenceFragment; │ │ + .line 469 │ invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String; │ │ move-result-object v0 │ │ invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z │ │ move-result v0 │ │ if-eqz v0, :cond_1 │ │ :cond_0 │ const/4 v0, 0x1 │ │ + .line 468 │ :goto_0 │ return v0 │ │ + .line 469 │ :cond_1 │ const/4 v0, 0x0 │ │ goto :goto_0 │ .end method │ │ .method public final onBuildHeaders(Ljava/util/List;)V ├── smali/com/github/ruleant/getback_gps/NavigationView.smali │ @@ -2,15 +2,14 @@ │ .super Landroid/widget/ImageView; │ .source "NavigationView.java" │ │ │ # annotations │ .annotation system Ldalvik/annotation/MemberClasses; │ value = { │ - Lcom/github/ruleant/getback_gps/NavigationView$1;, │ Lcom/github/ruleant/getback_gps/NavigationView$Mode; │ } │ .end annotation │ │ │ # static fields │ .field private static final ARROW_ANGLE:D = 35.0 │ @@ -461,29 +460,33 @@ │ if-lt v0, v1, :cond_0 │ │ .line 454 │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/NavigationView;->mPaintLines:Landroid/graphics/Paint; │ │ const v1, 0x1060017 │ │ + .line 455 │ invoke-virtual {v12, v1}, Landroid/content/res/Resources;->getColor(I)I │ │ move-result v1 │ │ + .line 454 │ invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V │ │ .line 456 │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/NavigationView;->mPaintSolids:Landroid/graphics/Paint; │ │ const v1, 0x1060016 │ │ + .line 457 │ invoke-virtual {v12, v1}, Landroid/content/res/Resources;->getColor(I)I │ │ move-result v1 │ │ + .line 456 │ invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V │ │ .line 464 │ :goto_0 │ new-instance v0, Lcom/github/ruleant/getback_gps/lib/Coordinate; │ │ const-wide/16 v2, 0x0 │ @@ -940,28 +943,31 @@ │ div-double/2addr v4, v8 │ │ invoke-virtual {v1, v4, v5}, Lcom/github/ruleant/getback_gps/lib/CoordinateRotation;->setScaleRadius(D)V │ │ .line 399 │ iget-object v1, p0, Lcom/github/ruleant/getback_gps/NavigationView;->mRotationCenter:Lcom/github/ruleant/getback_gps/lib/Coordinate; │ │ + .line 400 │ invoke-virtual {v1}, Lcom/github/ruleant/getback_gps/lib/Coordinate;->getCartesianX()J │ │ move-result-wide v4 │ │ long-to-float v1, v4 │ │ iget-object v4, p0, Lcom/github/ruleant/getback_gps/NavigationView;->mRotationCenter:Lcom/github/ruleant/getback_gps/lib/Coordinate; │ │ + .line 401 │ invoke-virtual {v4}, Lcom/github/ruleant/getback_gps/lib/Coordinate;->getCartesianY()J │ │ move-result-wide v4 │ │ long-to-float v4, v4 │ │ + .line 402 │ invoke-virtual {p0}, Lcom/github/ruleant/getback_gps/NavigationView;->getHeight()I │ │ move-result v5 │ │ int-to-float v5, v5 │ │ const/high16 v6, 0x40000000 # 2.0f │ @@ -970,14 +976,15 @@ │ │ const v6, 0x3f733333 # 0.95f │ │ mul-float/2addr v5, v6 │ │ iget-object v6, p0, Lcom/github/ruleant/getback_gps/NavigationView;->mPaintRoseLines:Landroid/graphics/Paint; │ │ + .line 399 │ invoke-virtual {p1, v1, v4, v5, v6}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V │ │ .line 406 │ invoke-virtual {p0}, Lcom/github/ruleant/getback_gps/NavigationView;->getOrientationMode()Lcom/github/ruleant/getback_gps/NavigationView$Mode; │ │ move-result-object v1 │ │ @@ -1255,29 +1262,33 @@ │ if-lt v1, v5, :cond_0 │ │ .line 308 │ iget-object v1, p0, Lcom/github/ruleant/getback_gps/NavigationView;->mPaintLines:Landroid/graphics/Paint; │ │ const v2, 0x1060013 │ │ + .line 309 │ invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getColor(I)I │ │ move-result v2 │ │ + .line 308 │ invoke-virtual {v1, v2}, Landroid/graphics/Paint;->setColor(I)V │ │ .line 310 │ iget-object v1, p0, Lcom/github/ruleant/getback_gps/NavigationView;->mPaintSolids:Landroid/graphics/Paint; │ │ const v2, 0x1060012 │ │ + .line 311 │ invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getColor(I)I │ │ move-result v2 │ │ + .line 310 │ invoke-virtual {v1, v2}, Landroid/graphics/Paint;->setColor(I)V │ │ goto :goto_0 │ │ .line 313 │ :cond_0 │ iget-object v1, p0, Lcom/github/ruleant/getback_gps/NavigationView;->mPaintLines:Landroid/graphics/Paint; │ @@ -1301,29 +1312,33 @@ │ if-lt v1, v5, :cond_1 │ │ .line 321 │ iget-object v1, p0, Lcom/github/ruleant/getback_gps/NavigationView;->mPaintLines:Landroid/graphics/Paint; │ │ const v2, 0x1060015 │ │ + .line 322 │ invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getColor(I)I │ │ move-result v2 │ │ + .line 321 │ invoke-virtual {v1, v2}, Landroid/graphics/Paint;->setColor(I)V │ │ .line 323 │ iget-object v1, p0, Lcom/github/ruleant/getback_gps/NavigationView;->mPaintSolids:Landroid/graphics/Paint; │ │ const v2, 0x1060014 │ │ + .line 324 │ invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getColor(I)I │ │ move-result v2 │ │ + .line 323 │ invoke-virtual {v1, v2}, Landroid/graphics/Paint;->setColor(I)V │ │ goto :goto_0 │ │ .line 326 │ :cond_1 │ iget-object v1, p0, Lcom/github/ruleant/getback_gps/NavigationView;->mPaintLines:Landroid/graphics/Paint; ├── smali/com/github/ruleant/getback_gps/lib/CardinalDirection.smali │ @@ -213,14 +213,15 @@ │ :cond_0 │ invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; │ │ move-result-object v2 │ │ const v3, 0x7f070030 │ │ + .line 186 │ invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v1 │ │ .line 188 │ goto :goto_0 │ │ @@ -237,14 +238,15 @@ │ :cond_1 │ invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; │ │ move-result-object v2 │ │ const v3, 0x7f070047 │ │ + .line 195 │ invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v1 │ │ .line 197 │ goto :goto_0 │ │ @@ -261,14 +263,15 @@ │ :cond_2 │ invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; │ │ move-result-object v2 │ │ const v3, 0x7f070048 │ │ + .line 204 │ invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v1 │ │ .line 206 │ goto :goto_0 │ │ @@ -285,14 +288,15 @@ │ :cond_3 │ invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; │ │ move-result-object v2 │ │ const v3, 0x7f070031 │ │ + .line 213 │ invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v1 │ │ .line 215 │ goto :goto_0 ├── smali/com/github/ruleant/getback_gps/lib/AriadneLocation.smali │ @@ -247,14 +247,15 @@ │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ const v11, 0x7f07001b │ │ + .line 139 │ invoke-virtual {v9, v11}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v11 │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ @@ -300,14 +301,15 @@ │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ const v11, 0x7f070028 │ │ + .line 143 │ invoke-virtual {v9, v11}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v11 │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ @@ -350,28 +352,30 @@ │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ const v11, 0x7f070003 │ │ + .line 147 │ invoke-virtual {v9, v11}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v11 │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ const-string v11, ": " │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ + .line 148 │ invoke-virtual {p0}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->getAltitude()D │ │ move-result-wide v12 │ │ invoke-static {v12, v13}, Lcom/github/ruleant/getback_gps/lib/FormatUtils;->formatDist(D)Ljava/lang/String; │ │ move-result-object v11 │ @@ -417,28 +421,30 @@ │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ const v11, 0x7f070007 │ │ + .line 154 │ invoke-virtual {v9, v11}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v11 │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ const-string v11, ": " │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ + .line 155 │ invoke-virtual {v0}, Lcom/github/ruleant/getback_gps/lib/CardinalDirection;->format()Ljava/lang/String; │ │ move-result-object v11 │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ @@ -469,28 +475,30 @@ │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ const v11, 0x7f070049 │ │ + .line 159 │ invoke-virtual {v9, v11}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v11 │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ const-string v11, ": " │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ + .line 160 │ invoke-virtual {p0}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->getSpeed()F │ │ move-result v11 │ │ float-to-double v12, v11 │ │ invoke-static {v12, v13, p1}, Lcom/github/ruleant/getback_gps/lib/FormatUtils;->formatSpeed(DLandroid/content/Context;)Ljava/lang/String; │ @@ -526,28 +534,30 @@ │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ const v11, 0x7f070001 │ │ + .line 164 │ invoke-virtual {v9, v11}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v11 │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ const-string v11, ": " │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ + .line 165 │ invoke-virtual {p0}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->getAccuracy()F │ │ move-result v11 │ │ float-to-double v12, v11 │ │ invoke-static {v12, v13}, Lcom/github/ruleant/getback_gps/lib/FormatUtils;->formatDist(D)Ljava/lang/String; │ @@ -591,28 +601,30 @@ │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ const v11, 0x7f07003d │ │ + .line 172 │ invoke-virtual {v9, v11}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v11 │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ const-string v11, ": " │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ + .line 173 │ invoke-static {p1, v8}, Lcom/github/ruleant/getback_gps/lib/FormatUtils;->localizeProviderName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v11 │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ @@ -638,15 +650,15 @@ │ │ invoke-virtual {p0}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->getTime()J │ │ move-result-wide v10 │ │ invoke-direct {v1, v10, v11}, Ljava/util/Date;->(J)V │ │ - .line 179 │ + .line 180 │ .local v1, "date":Ljava/util/Date; │ invoke-static {}, Ljava/text/SimpleDateFormat;->getDateTimeInstance()Ljava/text/DateFormat; │ │ move-result-object v3 │ │ .line 181 │ .local v3, "formatter":Ljava/text/DateFormat; │ @@ -662,28 +674,30 @@ │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ const v11, 0x7f07004d │ │ + .line 182 │ invoke-virtual {v9, v11}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v11 │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ const-string v11, ": " │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ + .line 183 │ invoke-virtual {v3, v1}, Ljava/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String; │ │ move-result-object v11 │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ @@ -721,14 +735,15 @@ │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ const v11, 0x7f070022 │ │ + .line 189 │ invoke-virtual {v9, v11}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v11 │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ @@ -763,28 +778,30 @@ │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ const v11, 0x7f07003f │ │ + .line 200 │ invoke-virtual {v9, v11}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v11 │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ const-string v11, ": " │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ + .line 201 │ invoke-virtual {p0}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->toString()Ljava/lang/String; │ │ move-result-object v11 │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ @@ -813,14 +830,15 @@ │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 │ │ const v11, 0x7f070021 │ │ + .line 192 │ invoke-virtual {v9, v11}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v11 │ │ invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v10 ├── smali/com/github/ruleant/getback_gps/lib/Coordinate.smali │ @@ -279,18 +279,20 @@ │ │ .line 135 │ :cond_0 │ invoke-virtual {p1}, Lcom/github/ruleant/getback_gps/lib/Coordinate;->getPolarRadius()D │ │ move-result-wide v0 │ │ + .line 136 │ invoke-virtual {p1}, Lcom/github/ruleant/getback_gps/lib/Coordinate;->getPolarAngle()D │ │ move-result-wide v2 │ │ + .line 135 │ invoke-virtual {p0, v0, v1, v2, v3}, Lcom/github/ruleant/getback_gps/lib/Coordinate;->setPolarCoordinate(DD)V │ │ .line 137 │ return-void │ .end method │ │ .method public final setPolarCoordinate(DD)V ├── smali/com/github/ruleant/getback_gps/lib/CircularAverage.smali │ @@ -61,34 +61,36 @@ │ │ if-gez v2, :cond_1 │ │ add-float v2, p1, v4 │ │ sub-float/2addr v2, p0 │ │ + .line 66 │ invoke-static {v2}, Ljava/lang/Math;->abs(F)F │ │ move-result v2 │ │ cmpg-float v2, v2, v3 │ │ if-gez v2, :cond_1 │ │ .line 68 │ add-float/2addr v0, v4 │ │ - .line 79 │ + .line 80 │ :cond_0 │ :goto_0 │ invoke-static {v1, v0, p2}, Lcom/github/ruleant/getback_gps/lib/LowPassFilter;->filterValue(FFF)F │ │ move-result v2 │ │ float-to-double v2, v2 │ │ + .line 79 │ invoke-static {v2, v3}, Lcom/github/ruleant/getback_gps/lib/FormatUtils;->normalizeAngle(D)D │ │ move-result-wide v2 │ │ double-to-float v2, v2 │ │ return v2 │ @@ -111,14 +113,15 @@ │ │ if-gez v2, :cond_0 │ │ add-float v2, p0, v4 │ │ sub-float/2addr v2, p1 │ │ + .line 74 │ invoke-static {v2}, Ljava/lang/Math;->abs(F)F │ │ move-result v2 │ │ cmpg-float v2, v2, v3 │ │ if-gez v2, :cond_0 ├── smali/com/github/ruleant/getback_gps/lib/CoordinateRotation.smali │ @@ -70,14 +70,15 @@ │ │ .line 119 │ .local v2, "radius":D │ new-instance v4, Lcom/github/ruleant/getback_gps/lib/Coordinate; │ │ iget-object v5, p0, Lcom/github/ruleant/getback_gps/lib/CoordinateRotation;->mCenter:Lcom/github/ruleant/getback_gps/lib/Coordinate; │ │ + .line 120 │ invoke-virtual {v5}, Lcom/github/ruleant/getback_gps/lib/Coordinate;->getCartesianX()J │ │ move-result-wide v6 │ │ invoke-static {v0, v1}, Ljava/lang/Math;->sin(D)D │ │ move-result-wide v8 │ @@ -88,14 +89,15 @@ │ │ move-result-wide v8 │ │ add-long/2addr v6, v8 │ │ iget-object v5, p0, Lcom/github/ruleant/getback_gps/lib/CoordinateRotation;->mCenter:Lcom/github/ruleant/getback_gps/lib/Coordinate; │ │ + .line 121 │ invoke-virtual {v5}, Lcom/github/ruleant/getback_gps/lib/Coordinate;->getCartesianY()J │ │ move-result-wide v8 │ │ invoke-static {v0, v1}, Ljava/lang/Math;->cos(D)D │ │ move-result-wide v10 │ @@ -106,14 +108,15 @@ │ │ move-result-wide v10 │ │ sub-long/2addr v8, v10 │ │ invoke-direct {v4, v6, v7, v8, v9}, Lcom/github/ruleant/getback_gps/lib/Coordinate;->(JJ)V │ │ + .line 119 │ return-object v4 │ .end method │ │ .method public final setRotationAngle(D)V │ .locals 3 │ .param p1, "angle" # D ├── smali/com/github/ruleant/getback_gps/lib/FormatUtils.smali │ @@ -192,28 +192,30 @@ │ │ const/4 v10, 0x2 │ │ new-array v10, v10, [Ljava/lang/Object; │ │ const/4 v11, 0x0 │ │ + .line 120 │ invoke-static {v0, v1}, Ljava/lang/Math;->round(D)J │ │ move-result-wide v12 │ │ invoke-static {v12, v13}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; │ │ move-result-object v12 │ │ aput-object v12, v10, v11 │ │ const/4 v11, 0x1 │ │ aput-object v3, v10, v11 │ │ + .line 119 │ invoke-static {v8, v9, v10}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v8 │ │ .line 132 │ :goto_0 │ return-object v8 │ @@ -240,71 +242,75 @@ │ │ const-wide/high16 v10, 0x4024000000000000L # 10.0 │ │ cmpg-double v8, v8, v10 │ │ if-gez v8, :cond_1 │ │ - .line 127 │ + .line 128 │ invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale; │ │ move-result-object v8 │ │ const-string v9, "%1$,.1f%2$s" │ │ const/4 v10, 0x2 │ │ new-array v10, v10, [Ljava/lang/Object; │ │ const/4 v11, 0x0 │ │ + .line 129 │ invoke-static {v6, v7}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double; │ │ move-result-object v12 │ │ aput-object v12, v10, v11 │ │ const/4 v11, 0x1 │ │ aput-object v2, v10, v11 │ │ + .line 127 │ invoke-static {v8, v9, v10}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v8 │ │ goto :goto_0 │ │ - .line 132 │ + .line 133 │ :cond_1 │ invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale; │ │ move-result-object v8 │ │ const-string v9, "%1$,d%2$s" │ │ const/4 v10, 0x2 │ │ new-array v10, v10, [Ljava/lang/Object; │ │ const/4 v11, 0x0 │ │ + .line 134 │ invoke-static {v6, v7}, Ljava/lang/Math;->round(D)J │ │ move-result-wide v12 │ │ invoke-static {v12, v13}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; │ │ move-result-object v12 │ │ aput-object v12, v10, v11 │ │ const/4 v11, 0x1 │ │ aput-object v2, v10, v11 │ │ + .line 132 │ invoke-static {v8, v9, v10}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v8 │ │ goto :goto_0 │ .end method │ │ @@ -367,15 +373,15 @@ │ .local v0, "convertedSpeed":D │ const-wide/high16 v4, 0x4024000000000000L # 10.0 │ │ cmpg-double v3, v0, v4 │ │ if-gez v3, :cond_1 │ │ - .line 175 │ + .line 176 │ invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale; │ │ move-result-object v3 │ │ const-string v4, "%1$,.1f%2$s" │ │ new-array v5, v10, [Ljava/lang/Object; │ @@ -384,43 +390,47 @@ │ │ move-result-object v6 │ │ aput-object v6, v5, v8 │ │ aput-object v2, v5, v9 │ │ + .line 175 │ invoke-static {v3, v4, v5}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v3 │ │ .line 179 │ :goto_0 │ return-object v3 │ │ + .line 180 │ :cond_1 │ invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale; │ │ move-result-object v3 │ │ const-string v4, "%1$,d%2$s" │ │ new-array v5, v10, [Ljava/lang/Object; │ │ + .line 181 │ invoke-static {v0, v1}, Ljava/lang/Math;->round(D)J │ │ move-result-wide v6 │ │ invoke-static {v6, v7}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; │ │ move-result-object v6 │ │ aput-object v6, v5, v8 │ │ aput-object v2, v5, v9 │ │ + .line 179 │ invoke-static {v3, v4, v5}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v3 │ │ goto :goto_0 │ .end method ├── smali/com/github/ruleant/getback_gps/lib/Coordinates.smali │ @@ -155,14 +155,15 @@ │ │ check-cast v0, Lcom/github/ruleant/getback_gps/lib/Coordinate; │ │ invoke-direct {p0, v0}, Lcom/github/ruleant/getback_gps/lib/Coordinates;->convertCoordinate(Lcom/github/ruleant/getback_gps/lib/Coordinate;)Lcom/github/ruleant/getback_gps/lib/Coordinate; │ │ move-result-object v0 │ │ + .line 314 │ invoke-virtual {v0}, Lcom/github/ruleant/getback_gps/lib/Coordinate;->getCartesianCoordinate()[J │ │ move-result-object v0 │ │ .line 317 │ :goto_0 │ return-object v0 ├── smali/com/github/ruleant/getback_gps/lib/Latitude.smali │ @@ -68,14 +68,15 @@ │ │ move-result-object v1 │ │ const-string v2, ":" │ │ const-string v3, "\u00b0 " │ │ + .line 180 │ invoke-virtual {v1, v2, v3}, Ljava/lang/String;->replaceFirst(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v1 │ │ const-string v2, ":" │ │ const-string v3, "\' " │ @@ -94,14 +95,15 @@ │ │ move-result-object v0 │ │ invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v0 │ │ + .line 179 │ return-object v0 │ .end method │ │ .method protected final getConvertedValue()D │ .locals 4 │ │ .prologue │ @@ -218,14 +220,15 @@ │ :cond_0 │ invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; │ │ move-result-object v2 │ │ const v3, 0x7f07001c │ │ + .line 140 │ invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v1 │ │ .line 142 │ goto :goto_0 │ │ @@ -242,14 +245,15 @@ │ :cond_1 │ invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; │ │ move-result-object v2 │ │ const v3, 0x7f07001d │ │ + .line 149 │ invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v1 │ │ .line 151 │ goto :goto_0 ├── smali/com/github/ruleant/getback_gps/lib/Longitude.smali │ @@ -68,14 +68,15 @@ │ │ move-result-object v1 │ │ const-string v2, ":" │ │ const-string v3, "\u00b0 " │ │ + .line 178 │ invoke-virtual {v1, v2, v3}, Ljava/lang/String;->replaceFirst(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v1 │ │ const-string v2, ":" │ │ const-string v3, "\' " │ @@ -94,14 +95,15 @@ │ │ move-result-object v0 │ │ invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v0 │ │ + .line 177 │ return-object v0 │ .end method │ │ .method protected final getConvertedValue()D │ .locals 4 │ │ .prologue │ @@ -218,14 +220,15 @@ │ :cond_0 │ invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; │ │ move-result-object v2 │ │ const v3, 0x7f070029 │ │ + .line 138 │ invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v1 │ │ .line 140 │ goto :goto_0 │ │ @@ -242,14 +245,15 @@ │ :cond_1 │ invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; │ │ move-result-object v2 │ │ const v3, 0x7f07002a │ │ + .line 147 │ invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ move-result-object v1 │ │ .line 149 │ goto :goto_0 ├── smali/com/github/ruleant/getback_gps/lib/LowPassFilter.smali │ @@ -117,30 +117,33 @@ │ │ new-array v4, v4, [Ljava/lang/Object; │ │ const/4 v5, 0x0 │ │ array-length v6, p0 │ │ + .line 96 │ invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ move-result-object v6 │ │ aput-object v6, v4, v5 │ │ const/4 v5, 0x1 │ │ array-length v6, p1 │ │ + .line 97 │ invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ move-result-object v6 │ │ aput-object v6, v4, v5 │ │ + .line 93 │ invoke-static {v3, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; │ │ move-result-object v3 │ │ invoke-direct {v2, v3}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V │ │ throw v2 ├── smali/com/github/ruleant/getback_gps/lib/Navigator.smali │ @@ -128,20 +128,22 @@ │ │ iget-object v8, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mCurrentLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ if-eqz v8, :cond_0 │ │ iget-object v8, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mCurrentLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 406 │ invoke-virtual {v8}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->hasBearing()Z │ │ move-result v8 │ │ if-nez v8, :cond_1 │ │ + .line 407 │ :cond_0 │ invoke-virtual {p0}, Lcom/github/ruleant/getback_gps/lib/Navigator;->isLocationBearingAccurate()Z │ │ move-result v8 │ │ if-eqz v8, :cond_3 │ │ @@ -372,39 +374,43 @@ │ │ if-eqz v3, :cond_1 │ │ iget-object v3, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mCurrentLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ iget-object v6, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mPreviousLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 285 │ invoke-virtual {v3, v6}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z │ │ move-result v3 │ │ if-nez v3, :cond_1 │ │ .line 287 │ iget-object v3, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mCurrentLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ iget-object v6, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mPreviousLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 288 │ invoke-virtual {v3, v6}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->distanceTo(Landroid/location/Location;)F │ │ move-result v2 │ │ .line 289 │ .local v2, "distance":F │ iget-object v3, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mCurrentLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 290 │ invoke-virtual {v3}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->getTime()J │ │ move-result-wide v6 │ │ iget-object v3, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mPreviousLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 291 │ invoke-virtual {v3}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->getTime()J │ │ move-result-wide v8 │ │ sub-long v4, v6, v8 │ │ .line 294 │ @@ -413,24 +419,26 @@ │ │ cmp-long v3, v4, v6 │ │ if-lez v3, :cond_1 │ │ iget-object v3, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mCurrentLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 295 │ invoke-virtual {v3}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->getAccuracy()F │ │ move-result v3 │ │ cmpl-float v3, v2, v3 │ │ if-lez v3, :cond_1 │ │ iget-object v3, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mPreviousLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 296 │ invoke-virtual {v3}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->getAccuracy()F │ │ move-result v3 │ │ cmpl-float v3, v2, v3 │ │ if-lez v3, :cond_1 │ @@ -672,14 +680,15 @@ │ │ invoke-virtual {p0}, Lcom/github/ruleant/getback_gps/lib/Navigator;->getDestination()Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ move-result-object v0 │ │ if-eqz v0, :cond_0 │ │ + .line 265 │ invoke-virtual {p0}, Lcom/github/ruleant/getback_gps/lib/Navigator;->getDistance()F │ │ move-result v0 │ │ iget-object v1, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mCurrentLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ invoke-virtual {v1}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->getAccuracy()F │ @@ -688,17 +697,19 @@ │ │ cmpg-float v0, v0, v1 │ │ if-gez v0, :cond_0 │ │ const/4 v0, 0x1 │ │ + .line 264 │ :goto_0 │ return v0 │ │ + .line 265 │ :cond_0 │ const/4 v0, 0x0 │ │ goto :goto_0 │ .end method │ │ .method public final isLocationAccurate()Z │ @@ -708,39 +719,43 @@ │ .line 355 │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mCurrentLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ if-eqz v0, :cond_0 │ │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mCurrentLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 356 │ invoke-virtual {v0}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->isRecent()Z │ │ move-result v0 │ │ if-eqz v0, :cond_0 │ │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mCurrentLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 357 │ invoke-virtual {v0}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->getAccuracy()F │ │ move-result v0 │ │ float-to-double v0, v0 │ │ const-wide/high16 v2, 0x4049000000000000L # 50.0 │ │ cmpg-double v0, v0, v2 │ │ if-gtz v0, :cond_0 │ │ const/4 v0, 0x1 │ │ + .line 355 │ :goto_0 │ return v0 │ │ + .line 357 │ :cond_0 │ const/4 v0, 0x0 │ │ goto :goto_0 │ .end method │ │ .method public final isLocationBearingAccurate()Z │ @@ -756,53 +771,59 @@ │ │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mPreviousLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ if-eqz v0, :cond_0 │ │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mPreviousLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 394 │ invoke-virtual {v0}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->isRecent()Z │ │ move-result v0 │ │ if-eqz v0, :cond_0 │ │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mPreviousLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ iget-object v1, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mCurrentLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 395 │ invoke-virtual {v0, v1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z │ │ move-result v0 │ │ if-nez v0, :cond_0 │ │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mPreviousLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ iget-object v1, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mCurrentLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 396 │ invoke-virtual {v0, v1}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->distanceTo(Landroid/location/Location;)F │ │ move-result v0 │ │ iget-object v1, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mCurrentLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 397 │ invoke-virtual {v1}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->getAccuracy()F │ │ move-result v1 │ │ cmpl-float v0, v0, v1 │ │ if-lez v0, :cond_0 │ │ const/4 v0, 0x1 │ │ + .line 392 │ :goto_0 │ return v0 │ │ + .line 397 │ :cond_0 │ const/4 v0, 0x0 │ │ goto :goto_0 │ .end method │ │ .method public final isSensorBearingAccurate()Z │ @@ -812,25 +833,28 @@ │ .line 378 │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mSensorOrientation:Lcom/github/ruleant/getback_gps/lib/SensorOrientation; │ │ if-eqz v0, :cond_0 │ │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/lib/Navigator;->mSensorOrientation:Lcom/github/ruleant/getback_gps/lib/SensorOrientation; │ │ + .line 379 │ invoke-virtual {v0}, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->hasOrientation()Z │ │ move-result v0 │ │ if-eqz v0, :cond_0 │ │ const/4 v0, 0x1 │ │ + .line 378 │ :goto_0 │ return v0 │ │ + .line 379 │ :cond_0 │ const/4 v0, 0x0 │ │ goto :goto_0 │ .end method │ │ .method public final setDestination(Lcom/github/ruleant/getback_gps/lib/AriadneLocation;)V ├── smali/com/github/ruleant/getback_gps/lib/SensorOrientation.smali │ @@ -253,22 +253,24 @@ │ │ const/4 v3, 0x0 │ │ aget v3, v0, v3 │ │ float-to-double v4, v3 │ │ + .line 365 │ invoke-static {v4, v5}, Ljava/lang/Math;->toDegrees(D)D │ │ move-result-wide v4 │ │ double-to-float v3, v4 │ │ const v4, 0x3d4ccccd # 0.05f │ │ + .line 363 │ invoke-static {v2, v3, v4}, Lcom/github/ruleant/getback_gps/lib/CircularAverage;->getAverageValue(FFF)F │ │ move-result v2 │ │ float-to-double v2, v2 │ │ iput-wide v2, p0, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->mOrientation:D │ @@ -306,21 +308,20 @@ │ .end method │ │ .method private onOrientationChange()V │ .locals 3 │ │ .prologue │ .line 435 │ - iget-object v2, p0, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->eventListenerList:Ljava/util/ArrayList; │ + iget-object v1, p0, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->eventListenerList:Ljava/util/ArrayList; │ │ - invoke-virtual {v2}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; │ + invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; │ │ move-result-object v1 │ │ - .local v1, "i$":Ljava/util/Iterator; │ :goto_0 │ invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v2 │ │ if-eqz v2, :cond_0 │ │ @@ -400,47 +401,52 @@ │ │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->mMagneticFieldSensor:Landroid/hardware/Sensor; │ │ if-eqz v0, :cond_0 │ │ iget-wide v0, p0, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->mAccelerometerRTTimestamp:J │ │ + .line 245 │ invoke-direct {p0, v0, v1}, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->isTimestampRecent(J)Z │ │ move-result v0 │ │ if-eqz v0, :cond_0 │ │ iget-wide v0, p0, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->mMagneticFieldRTTimestamp:J │ │ + .line 246 │ invoke-direct {p0, v0, v1}, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->isTimestampRecent(J)Z │ │ move-result v0 │ │ if-nez v0, :cond_1 │ │ :cond_0 │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->mOrientationSensor:Landroid/hardware/Sensor; │ │ if-eqz v0, :cond_2 │ │ iget-wide v0, p0, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->mOrientationRTTimestamp:J │ │ + .line 248 │ invoke-direct {p0, v0, v1}, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->isTimestampRecent(J)Z │ │ move-result v0 │ │ if-eqz v0, :cond_2 │ │ :cond_1 │ const/4 v0, 0x1 │ │ + .line 243 │ :goto_0 │ return v0 │ │ + .line 248 │ :cond_2 │ const/4 v0, 0x0 │ │ goto :goto_0 │ .end method │ │ .method public final hasSensors()Z │ @@ -454,55 +460,63 @@ │ │ if-eqz v1, :cond_2 │ │ iget-object v1, p0, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->mSensorManager:Landroid/hardware/SensorManager; │ │ const/4 v2, 0x2 │ │ + .line 269 │ invoke-virtual {v1, v2}, Landroid/hardware/SensorManager;->getSensorList(I)Ljava/util/List; │ │ move-result-object v1 │ │ + .line 270 │ invoke-interface {v1}, Ljava/util/List;->size()I │ │ move-result v1 │ │ if-lez v1, :cond_0 │ │ iget-object v1, p0, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->mSensorManager:Landroid/hardware/SensorManager; │ │ + .line 271 │ invoke-virtual {v1, v0}, Landroid/hardware/SensorManager;->getSensorList(I)Ljava/util/List; │ │ move-result-object v1 │ │ + .line 272 │ invoke-interface {v1}, Ljava/util/List;->size()I │ │ move-result v1 │ │ if-gtz v1, :cond_1 │ │ :cond_0 │ iget-object v1, p0, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->mSensorManager:Landroid/hardware/SensorManager; │ │ const/4 v2, 0x3 │ │ + .line 273 │ invoke-virtual {v1, v2}, Landroid/hardware/SensorManager;->getSensorList(I)Ljava/util/List; │ │ move-result-object v1 │ │ + .line 274 │ invoke-interface {v1}, Ljava/util/List;->size()I │ │ move-result v1 │ │ if-lez v1, :cond_2 │ │ + .line 268 │ :cond_1 │ :goto_0 │ return v0 │ │ + .line 274 │ :cond_2 │ const/4 v0, 0x0 │ │ goto :goto_0 │ .end method │ │ .method public final isSensorsEnabled()Z │ @@ -516,18 +530,20 @@ │ │ move-result-object v0 │ │ const-string v1, "enable_sensors" │ │ const/4 v2, 0x1 │ │ + .line 286 │ invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z │ │ move-result v0 │ │ + .line 285 │ return v0 │ .end method │ │ .method public final onAccuracyChanged(Landroid/hardware/Sensor;I)V │ .locals 0 │ .param p1, "sensor" # Landroid/hardware/Sensor; │ .param p2, "accuracy" # I │ @@ -601,26 +617,29 @@ │ :goto_0 │ return-void │ │ .line 302 │ :cond_1 │ iget-object v1, p0, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->mContext:Landroid/content/Context; │ │ + .line 303 │ invoke-static {v1}, Landroid/preference/PreferenceManager;->getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences; │ │ move-result-object v1 │ │ const-string v2, "geo_orientation_sensor" │ │ const-string v3, "0" │ │ + .line 304 │ invoke-interface {v1, v2, v3}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v1 │ │ + .line 302 │ invoke-static {v1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I │ │ move-result v0 │ │ .line 310 │ .local v0, "sensor":I │ const/4 v1, 0x2 │ @@ -715,14 +734,15 @@ │ │ iget-wide v0, p1, Landroid/hardware/SensorEvent;->timestamp:J │ │ iget-wide v2, p0, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->mAccelerometerTimestamp:J │ │ const-wide/32 v4, 0xbebc200 │ │ + .line 177 │ invoke-static/range {v0 .. v5}, Lcom/github/ruleant/getback_gps/lib/Tools;->isTimestampRecent(JJJ)Z │ │ move-result v0 │ │ if-eqz v0, :cond_1 │ │ .line 190 │ @@ -734,14 +754,15 @@ │ :cond_1 │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->mAccelerometerValues:[F │ │ iget-object v1, p1, Landroid/hardware/SensorEvent;->values:[F │ │ const v2, 0x3f19999a # 0.6f │ │ + .line 183 │ invoke-static {v0, v1, v2}, Lcom/github/ruleant/getback_gps/lib/LowPassFilter;->filterValueSet([F[FF)[F │ │ move-result-object v0 │ │ iput-object v0, p0, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->mAccelerometerValues:[F │ │ .line 185 │ @@ -783,14 +804,15 @@ │ │ iget-wide v0, p1, Landroid/hardware/SensorEvent;->timestamp:J │ │ iget-wide v2, p0, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->mMagneticFieldTimestamp:J │ │ const-wide/32 v4, 0xbebc200 │ │ + .line 200 │ invoke-static/range {v0 .. v5}, Lcom/github/ruleant/getback_gps/lib/Tools;->isTimestampRecent(JJJ)Z │ │ move-result v0 │ │ if-eqz v0, :cond_1 │ │ .line 213 │ @@ -802,14 +824,15 @@ │ :cond_1 │ iget-object v0, p0, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->mMagneticFieldValues:[F │ │ iget-object v1, p1, Landroid/hardware/SensorEvent;->values:[F │ │ const v2, 0x3f19999a # 0.6f │ │ + .line 206 │ invoke-static {v0, v1, v2}, Lcom/github/ruleant/getback_gps/lib/LowPassFilter;->filterValueSet([F[FF)[F │ │ move-result-object v0 │ │ iput-object v0, p0, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->mMagneticFieldValues:[F │ │ .line 208 │ @@ -851,14 +874,15 @@ │ │ iget-wide v0, p1, Landroid/hardware/SensorEvent;->timestamp:J │ │ iget-wide v2, p0, Lcom/github/ruleant/getback_gps/lib/SensorOrientation;->mOrientationTimestamp:J │ │ const-wide/32 v4, 0xbebc200 │ │ + .line 223 │ invoke-static/range {v0 .. v5}, Lcom/github/ruleant/getback_gps/lib/Tools;->isTimestampRecent(JJJ)Z │ │ move-result v0 │ │ if-eqz v0, :cond_1 │ │ .line 233 ├── smali/com/github/ruleant/getback_gps/lib/StoredLocation.smali │ @@ -159,14 +159,15 @@ │ :try_start_0 │ iget-object v2, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mPrefs:Landroid/content/SharedPreferences; │ │ const-string v3, "saved" │ │ const-string v4, "false" │ │ + .line 262 │ invoke-interface {v2, v3, v4}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v2 │ │ invoke-static {v2}, Ljava/lang/Boolean;->parseBoolean(Ljava/lang/String;)Z │ │ move-result v2 │ @@ -200,39 +201,43 @@ │ :try_start_1 │ iget-object v2, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mPrefs:Landroid/content/SharedPreferences; │ │ const-string v3, "longitude" │ │ const-string v4, "0.0" │ │ + .line 275 │ invoke-interface {v2, v3, v4}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v2 │ │ invoke-static {v2}, Landroid/location/Location;->convert(Ljava/lang/String;)D │ │ move-result-wide v2 │ │ + .line 274 │ invoke-virtual {v1, v2, v3}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->setLongitude(D)V │ │ .line 277 │ iget-object v2, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mPrefs:Landroid/content/SharedPreferences; │ │ const-string v3, "latitude" │ │ const-string v4, "0.0" │ │ + .line 278 │ invoke-interface {v2, v3, v4}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v2 │ │ invoke-static {v2}, Landroid/location/Location;->convert(Ljava/lang/String;)D │ │ move-result-wide v2 │ │ + .line 277 │ invoke-virtual {v1, v2, v3}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->setLatitude(D)V │ :try_end_1 │ .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_1 │ │ .line 287 │ :try_start_2 │ iget-object v2, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mPrefs:Landroid/content/SharedPreferences; │ @@ -254,22 +259,24 @@ │ .line 288 │ iget-object v2, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mPrefs:Landroid/content/SharedPreferences; │ │ const-string v3, "altitude" │ │ const-string v4, "0.0" │ │ + .line 289 │ invoke-interface {v2, v3, v4}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v2 │ │ invoke-static {v2}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D │ │ move-result-wide v2 │ │ + .line 288 │ invoke-virtual {v1, v2, v3}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->setAltitude(D)V │ :try_end_2 │ .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_2 │ │ .line 297 │ :cond_1 │ :goto_1 │ @@ -293,22 +300,24 @@ │ .line 298 │ iget-object v2, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mPrefs:Landroid/content/SharedPreferences; │ │ const-string v3, "bearing" │ │ const-string v4, "0.0" │ │ + .line 299 │ invoke-interface {v2, v3, v4}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v2 │ │ invoke-static {v2}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F │ │ move-result v2 │ │ + .line 298 │ invoke-virtual {v1, v2}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->setBearing(F)V │ :try_end_3 │ .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_3} :catch_3 │ │ .line 307 │ :cond_2 │ :goto_2 │ @@ -332,22 +341,24 @@ │ .line 308 │ iget-object v2, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mPrefs:Landroid/content/SharedPreferences; │ │ const-string v3, "speed" │ │ const-string v4, "0.0" │ │ + .line 309 │ invoke-interface {v2, v3, v4}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v2 │ │ invoke-static {v2}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F │ │ move-result v2 │ │ + .line 308 │ invoke-virtual {v1, v2}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->setSpeed(F)V │ :try_end_4 │ .catch Ljava/lang/Exception; {:try_start_4 .. :try_end_4} :catch_4 │ │ .line 317 │ :cond_3 │ :goto_3 │ @@ -371,22 +382,24 @@ │ .line 318 │ iget-object v2, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mPrefs:Landroid/content/SharedPreferences; │ │ const-string v3, "accuracy" │ │ const-string v4, "0.0" │ │ + .line 319 │ invoke-interface {v2, v3, v4}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; │ │ move-result-object v2 │ │ invoke-static {v2}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F │ │ move-result v2 │ │ + .line 318 │ invoke-virtual {v1, v2}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->setAccuracy(F)V │ :try_end_5 │ .catch Ljava/lang/Exception; {:try_start_5 .. :try_end_5} :catch_5 │ │ .line 328 │ :cond_4 │ :goto_4 │ @@ -576,52 +589,60 @@ │ if-eqz v3, :cond_4 │ │ .line 191 │ const-string v3, "longitude" │ │ iget-object v4, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 194 │ invoke-virtual {v4}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->getLongitude()D │ │ move-result-wide v4 │ │ + .line 193 │ invoke-static {v4, v5, v2}, Landroid/location/Location;->convert(DI)Ljava/lang/String; │ │ move-result-object v4 │ │ + .line 191 │ invoke-interface {v0, v3, v4}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; │ │ .line 197 │ const-string v3, "latitude" │ │ iget-object v4, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 200 │ invoke-virtual {v4}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->getLatitude()D │ │ move-result-wide v4 │ │ + .line 199 │ invoke-static {v4, v5, v2}, Landroid/location/Location;->convert(DI)Ljava/lang/String; │ │ move-result-object v4 │ │ + .line 197 │ invoke-interface {v0, v3, v4}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; │ │ .line 205 │ const-string v3, "has_altitude" │ │ iget-object v4, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 206 │ invoke-virtual {v4}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->hasAltitude()Z │ │ move-result v4 │ │ invoke-static {v4}, Ljava/lang/Boolean;->toString(Z)Ljava/lang/String; │ │ move-result-object v4 │ │ + .line 205 │ invoke-interface {v0, v3, v4}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; │ │ .line 207 │ iget-object v3, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ invoke-virtual {v3}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->hasAltitude()Z │ │ @@ -630,38 +651,42 @@ │ if-eqz v3, :cond_0 │ │ .line 208 │ const-string v3, "altitude" │ │ iget-object v4, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 209 │ invoke-virtual {v4}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->getAltitude()D │ │ move-result-wide v4 │ │ invoke-static {v4, v5}, Ljava/lang/Double;->toString(D)Ljava/lang/String; │ │ move-result-object v4 │ │ + .line 208 │ invoke-interface {v0, v3, v4}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; │ │ .line 213 │ :cond_0 │ const-string v3, "has_bearing" │ │ iget-object v4, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 214 │ invoke-virtual {v4}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->hasBearing()Z │ │ move-result v4 │ │ invoke-static {v4}, Ljava/lang/Boolean;->toString(Z)Ljava/lang/String; │ │ move-result-object v4 │ │ + .line 213 │ invoke-interface {v0, v3, v4}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; │ │ .line 215 │ iget-object v3, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ invoke-virtual {v3}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->hasBearing()Z │ │ @@ -670,38 +695,42 @@ │ if-eqz v3, :cond_1 │ │ .line 216 │ const-string v3, "bearing" │ │ iget-object v4, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 217 │ invoke-virtual {v4}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->getBearing()F │ │ move-result v4 │ │ invoke-static {v4}, Ljava/lang/Float;->toString(F)Ljava/lang/String; │ │ move-result-object v4 │ │ + .line 216 │ invoke-interface {v0, v3, v4}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; │ │ .line 221 │ :cond_1 │ const-string v3, "has_speed" │ │ iget-object v4, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 222 │ invoke-virtual {v4}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->hasSpeed()Z │ │ move-result v4 │ │ invoke-static {v4}, Ljava/lang/Boolean;->toString(Z)Ljava/lang/String; │ │ move-result-object v4 │ │ + .line 221 │ invoke-interface {v0, v3, v4}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; │ │ .line 223 │ iget-object v3, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ invoke-virtual {v3}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->hasSpeed()Z │ │ @@ -710,38 +739,42 @@ │ if-eqz v3, :cond_2 │ │ .line 224 │ const-string v3, "speed" │ │ iget-object v4, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 225 │ invoke-virtual {v4}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->getSpeed()F │ │ move-result v4 │ │ invoke-static {v4}, Ljava/lang/Float;->toString(F)Ljava/lang/String; │ │ move-result-object v4 │ │ + .line 224 │ invoke-interface {v0, v3, v4}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; │ │ .line 229 │ :cond_2 │ const-string v3, "has_accuracy" │ │ iget-object v4, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 230 │ invoke-virtual {v4}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->hasAccuracy()Z │ │ move-result v4 │ │ invoke-static {v4}, Ljava/lang/Boolean;->toString(Z)Ljava/lang/String; │ │ move-result-object v4 │ │ + .line 229 │ invoke-interface {v0, v3, v4}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; │ │ .line 231 │ iget-object v3, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ invoke-virtual {v3}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->hasAccuracy()Z │ │ @@ -750,22 +783,24 @@ │ if-eqz v3, :cond_3 │ │ .line 232 │ const-string v3, "accuracy" │ │ iget-object v4, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ │ + .line 233 │ invoke-virtual {v4}, Lcom/github/ruleant/getback_gps/lib/AriadneLocation;->getAccuracy()F │ │ move-result v4 │ │ invoke-static {v4}, Ljava/lang/Float;->toString(F)Ljava/lang/String; │ │ move-result-object v4 │ │ + .line 232 │ invoke-interface {v0, v3, v4}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; │ │ .line 236 │ :cond_3 │ const-string v3, "timestamp" │ │ iget-object v4, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mLocation:Lcom/github/ruleant/getback_gps/lib/AriadneLocation; │ @@ -808,19 +843,21 @@ │ │ iget-boolean v4, p0, Lcom/github/ruleant/getback_gps/lib/StoredLocation;->mHasLocation:Z │ │ if-eqz v4, :cond_5 │ │ const/4 v2, 0x1 │ │ + .line 241 │ :cond_5 │ invoke-static {v2}, Ljava/lang/Boolean;->toString(Z)Ljava/lang/String; │ │ move-result-object v2 │ │ + .line 240 │ invoke-interface {v0, v3, v2}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; │ │ .line 243 │ invoke-interface {v0}, Landroid/content/SharedPreferences$Editor;->commit()Z │ │ .line 246 │ invoke-static {v1}, Ljava/util/Locale;->setDefault(Ljava/util/Locale;)V