- modified. Can you compare the two files, and who understands the code
.method public onCreate (Landroid / os / Bundle;) V
.locals 14
.param p1, "icicle" # Landroid / os / Bundle;
.prologue
.line 116
invoke-super {p0, p1}, Lcom / android / settings / Setting [COLOR = red] [/ COLOR] sPreferenceFragment; ->onCreate (Landroid / os / Bundle;) V
.line 118
const v11, 0x7f06001b
invoke-virtual {p0, v11}, Lcom / android / settings / DeviceInfoSettings; ->addPreferencesFromResource (I) V
.line 120
const-string v11, "firmware_version"
sget-object v12, Landroid / os / Build $ VERSION; ->RELEASE: Ljava / lang / String;
invoke-direct {p0, v11, v12}, Lcom / android / settings / DeviceInfoSettings; ->setStringSummary (Ljava / lang / String; Ljava / lang / String;) V
.line 121
const-string v11, "firmware_version"
invoke-virtual {p0, v11}, Lcom / android / settings / DeviceInfoSettings; ->findPreference (Ljava / lang / CharSequence;) Landroid / preference / Preference;
move-result-object v11
const / 4 v12, 0x1
invoke-virtual {v11, v12}, Landroid / preference / Preference; ->setEnabled (Z) V
.line 122
sget-object v6, Landroid / os / Build $ VERSION; ->SECURITY_PATCH: Ljava / lang / String;
.line 123
.local v6, "patch": Ljava / lang / String;
const-string v11, ""
invoke-virtual {v11, v6}, Ljava / lang / String; ->equals (Ljava / lang / Object;) Z
move-result v11
if-nez v11,: cond_5
.line 125
: try_start_0
new-instance v10, Ljava / text / SimpleDateFormat;
const-string v11, "yyyy-MM-dd"
invoke-direct {v10, v11}, Ljava / text / SimpleDateFormat; -><init>(Ljava / lang / String;) V
.line 126
.local v10, "template": Ljava / text / SimpleDateFormat;
invoke-virtual {v10, v6}, Ljava / text / SimpleDateFormat; ->parse (Ljava / lang / String;) Ljava / util / Date;
move-result-object v7
.line 127
.local v7, "patchDate": Ljava / util / Date;
invoke-static {}, Ljava / util / Locale; ->getDefault () Ljava / util / Locale;
move-result-object v11
const-string v12, "dMMMMyyyy"
invoke-static {v11, v12}, Landroid / text / format / DateFormat; ->getBestDateTimePattern (Ljava / util / Locale; Ljava / lang / String;) Ljava / lang / String;
move-result-object v2
.line 128
.local v2, "format": Ljava / lang / String;
invoke-static {v2, v7}, Landroid / text / format / DateFormat; ->format (Ljava / lang / CharSequence; Ljava / util / Date;) Ljava / lang / CharSequence;
move-result-object v11
invoke-interface {v11}, Ljava / lang / CharSequence; ->toString () Ljava / lang / String;
: try_end_0
.catch Ljava / text / ParseException; {: Try_start_0 ..: try_end_0}: catch_0
move-result-object v6
.line 132
.end local v2 # "format": Ljava / lang / String;
.end local v7 # "patchDate": Ljava / util / Date;
.end local v10 # "template": Ljava / text / SimpleDateFormat;
: goto_0
const-string v11, "security_patch"
invoke-direct {p0, v11, v6}, Lcom / android / settings / DeviceInfoSettings; ->setStringSummary (Ljava / lang / String; Ljava / lang / String;) V
.line 136
: goto_1
const-string v11, "baseband_version"
const-string v12, "gsm.version.baseband"
invoke-direct {p0, v11, v12}, Lcom / android / settings / DeviceInfoSettings; ->setValueSummary (Ljava / lang / String; Ljava / lang / String;) V
.line 137
const-string v11, "fcc_equipment_id"
const-string v12, "ro.ril.fccid"
invoke-direct {p0, v11, v12}, Lcom / android / settings / DeviceInfoSettings; ->setValueSummary (Ljava / lang / String; Ljava / lang / String;) V
.line 138
const-string v11, "device_model"
sget-object v12, Landroid / os / Build; ->MODEL: Ljava / lang / String;
invoke-direct {p0, v11, v12}, Lcom / android / settings / DeviceInfoSettings; ->setStringSummary (Ljava / lang / String; Ljava / lang / String;) V
.line 139
const-string v11, "build_number"
sget-object v12, Landroid / os / Build; ->DISPLAY: Ljava / lang / String;
invoke-direct {p0, v11, v12}, Lcom / android / settings / DeviceInfoSettings; ->setStringSummary (Ljava / lang / String; Ljava / lang / String;) V
.line 140
const-string v11, "build_number"
invoke-virtual {p0, v11}, Lcom / android / settings / DeviceInfoSettings; ->findPreference (Ljava / lang / CharSequence;) Landroid / preference / Preference;
move-result-object v11
const / 4 v12, 0x1
invoke-virtual {v11, v12}, Landroid / preference / Preference; ->setEnabled (Z) V
.line 141
const-string v11, "kernel_version"
invoke-virtual {p0, v11}, Lcom / android / settings / DeviceInfoSettings; ->findPreference (Ljava / lang / CharSequence;) Landroid / preference / Preference;
move-result-object v11
invoke-static {}, Lcom / android / settings / DeviceInfoSettings; ->getFormattedKernelVersion () Ljava / lang / String;
move-result-object v12
invoke-virtual {v11, v12}, Landroid / preference / Preference; ->setSummary (Ljava / lang / CharSequence;) V
.line 142
const-string v11, "mod_version"
const-string v12, "ro.cm.display.version"
invoke-direct {p0, v11, v12}, Lcom / android / settings / DeviceInfoSettings; ->setValueSummary (Ljava / lang / String; Ljava / lang / String;) V
.line 143
const-string v11, "mod_version"
invoke-virtual {p0, v11}, Lcom / android / settings / DeviceInfoSettings; ->findPreference (Ljava / lang / CharSequence;) Landroid / preference / Preference;
move-result-object v11
const / 4 v12, 0x1
invoke-virtual {v11, v12}, Landroid / preference / Preference; ->setEnabled (Z) V
.line 144
const-string v11, "build_date"
const-string v12, "ro.build.date"
invoke-direct {p0, v11, v12}, Lcom / android / settings / DeviceInfoSettings; ->setValueSummary (Ljava / lang / String; Ljava / lang / String;) V
.line 146
invoke-static {}, Landroid / os / SELinux; ->isSELinuxEnabled () Z
move-result v11
if-nez v11,: cond_6
.line 147
invoke-virtual {p0}, Lcom / android / settings / DeviceInfoSettings; ->getResources () Landroid / content / res / Resources;
move-result-object v11
const v12, 0x7f090c0b
invoke-virtual {v11, v12}, Landroid / content / res / Resources; ->getString (I) Ljava / lang / String;
move-result-object v9
.line 148
.local v9, "status": Ljava / lang / String;
const-string v11, "selinux_status"
invoke-direct {p0, v11, v9}, Lcom / android / settings / DeviceInfoSettings; ->setStringSummary (Ljava / lang / String; Ljava / lang / String;) V
.line 154
.end local v9 # "status": Ljava / lang / String;
: cond_0
: goto_2
const-string v11, "device_name"
sget-object v12, Landroid / os / Build; ->PRODUCT: Ljava / lang / String;
invoke-direct {p0, v11, v12}, Lcom / android / settings / DeviceInfoSettings; ->setStringSummary (Ljava / lang / String; Ljava / lang / String;) V
.line 155
const-string v11, "device_name"
invoke-virtual {p0}, Lcom / android / settings / DeviceInfoSettings; ->getResources () Landroid / content / res / Resources;
move-result-object v12
const v13, 0x7f0d000f
invoke-virtual {v12, v13}, Landroid / content / res / Resources; ->getBoolean (I) Z
move-result v12
invoke-direct {p0, v11, v12}, Lcom / android / settings / DeviceInfoSettings; ->removePreferenceIfBoolFalse (Ljava / lang / String; Z) V
.line 159
invoke-virtual {p0}, Lcom / android / settings / DeviceInfoSettings; ->getPreferenceScreen () Landroid / preference / PreferenceScreen;
move-result-object v11
const-string v12, "selinux_status"
const-string v13, "ro.build.selinux"
invoke-direct {p0, v11, v12, v13}, Lcom / android / settings / DeviceInfoSettings; ->removePreferenceIfPropertyMissing (Landroid / preference / PreferenceGroup; Ljava / lang / String; Ljava / lang / String;) V
.line 163
invoke-direct {p0}, Lcom / android / settings / DeviceInfoSettings; ->getCPUInfo () Ljava / lang / String;
move-result-object v1
.line 164
.local v1, "cpuInfo": Ljava / lang / String;
invoke-direct {p0}, Lcom / android / settings / DeviceInfoSettings; ->getMemInfo () Ljava / lang / String;
move-result-object v4
.line 166
.local v4, "memInfo": Ljava / lang / String;
if-eqz v1,: cond_7
.line 167
const-string v11, "device_cpu"
invoke-direct {p0, v11, v1}, Lcom / android / settings / DeviceInfoSettings; ->setStringSummary (Ljava / lang / String; Ljava / lang / String;) V
.line 172
: goto_3
if-eqz v4,: cond_8
.line 173
const-string v11, "device_memory"
invoke-direct {p0, v11, v4}, Lcom / android / settings / DeviceInfoSettings; ->setStringSummary (Ljava / lang / String; Ljava / lang / String;) V
.line 179
: goto_4
invoke-virtual {p0}, Lcom / android / settings / DeviceInfoSettings; ->getPreferenceScreen () Landroid / preference / PreferenceScreen;
move-result-object v11
const-string v12, "safetylegal"
const-string v13, "ro.url.safetylegal"
invoke-direct {p0, v11, v12, v13}, Lcom / android / settings / DeviceInfoSettings; ->removePreferenceIfPropertyMissing (Landroid / preference / PreferenceGroup; Ljava / lang / String; Ljava / lang / String;) V
.line 183
invoke-virtual {p0}, Lcom / android / settings / DeviceInfoSettings; ->getPreferenceScreen () Landroid / preference / PreferenceScreen;
move-result-object v11
const-string v12, "fcc_equipment_id"
const-string v13, "ro.ril.fccid"
invoke-direct {p0, v11, v12, v13}, Lcom / android / settings / DeviceInfoSettings; ->removePreferenceIfPropertyMissing (Landroid / preference / PreferenceGroup; Ljava / lang / String; Ljava / lang / String;) V
.line 187
invoke-virtual {p0}, Lcom / android / settings / DeviceInfoSettings; ->getActivity () Landroid / app / Activity;
move-result-object v11
invoke-static {v11}, Lcom / android / settings / Utils; ->isWifiOnly (Landroid / content / Context;) Z
move-result v11
if-nez v11,: cond_1
invoke-static {}, Landroid / telephony / TelephonyManager; ->getDefault () Landroid / telephony / TelephonyManager;
move-result-object v11
invoke-virtual {v11}, Landroid / telephony / TelephonyManager; ->getPhoneCount () I
move-result v11
const / 4 v12, 0x1
if-le v11, v12,: cond_2
: cond_1
invoke-virtual {p0}, Lcom / android / settings / DeviceInfoSettings; ->getActivity () Landroid / app / Activity;
move-result-object v11
invoke-static {v11}, Lcom / android / settings / Utils; ->showSimCardTile (Landroid / content / Context;) Z
move-result v11
if-nez v11,: cond_2
.line 190
invoke-virtual {p0}, Lcom / android / settings / DeviceInfoSettings; ->getPreferenceScreen () Landroid / preference / PreferenceScreen;
move-result-object v11
const-string v12, "baseband_version"
invoke-virtual {p0, v12}, Lcom / android / settings / DeviceInfoSettings; ->findPreference (Ljava / lang / CharSequence;) Landroid / preference / Preference;
move-result-object v12
invoke-virtual {v11, v12}, Landroid / preference / PreferenceScreen; ->removePreference (Landroid / preference / Preference;) Z
.line 194
: cond_2
invoke-virtual {p0}, Lcom / android / settings / DeviceInfoSettings; ->getActivity () Landroid / app / Activity;
move-result-object v11
invoke-static {v11}, Lcom / android / settings / DeviceInfoSettings; ->getFeedbackReporterPackage (Landroid / content / Context;) Ljava / lang / String;
move-result-object v11
invoke-static {v11}, Landroid / text / TextUtils; ->isEmpty (Ljava / lang / CharSequence;) Z
move-result v11
if-eqz v11,: cond_3
.line 195
invoke-virtual {p0}, Lcom / android / settings / DeviceInfoSettings; ->getPreferenceScreen () Landroid / preference / PreferenceScreen;
move-result-object v11
const-string v12, "device_feedback"
invoke-virtual {p0, v12}, Lcom / android / settings / DeviceInfoSettings; ->findPreference (Ljava / lang / CharSequence;) Landroid / preference / Preference;
move-result-object v12
invoke-virtual {v11, v12}, Landroid / preference / PreferenceScreen; ->removePreference (Landroid / preference / Preference;) Z
.line 202
: cond_3
invoke-virtual {p0}, Lcom / android / settings / DeviceInfoSettings; ->getActivity () Landroid / app / Activity;
move-result-object v0
.line 204
.local v0, "act": Landroid / app / Activity;
const-string v11, "container"
invoke-virtual {p0, v11}, Lcom / android / settings / DeviceInfoSettings; ->findPreference (Ljava / lang / CharSequence;) Landroid / preference / Preference;
move-result-object v5
check-cast v5, Landroid / preference / PreferenceGroup;
.line 205
.local v5, "parentPreference": Landroid / preference / PreferenceGroup;
const-string v11, "terms"
const / 4 v12, 0x1
invoke-static {v0, v5, v11, v12}, Lcom / android / settings / Utils; ->updatePreferenceToSpecificActivityOrRemove (Landroid / content / Context; Landroid / preference / PreferenceGroup; Ljava / lang / String; I) Z
.line 207
const-string v11, "license"
const / 4 v12, 0x1
invoke-static {v0, v5, v11, v12}, Lcom / android / settings / Utils; ->updatePreferenceToSpecificActivityOrRemove (Landroid / content / Context; Landroid / preference / PreferenceGroup; Ljava / lang / String; I) Z
.line 209
const-string v11, "copyright"
const / 4 v12, 0x1
invoke-static {v0, v5, v11, v12}, Lcom / android / settings / Utils; ->updatePreferenceToSpecificActivityOrRemove (Landroid / content / Context; Landroid / preference / PreferenceGroup; Ljava / lang / String; I) Z
.line 211
const-string v11, "webview_license"
const / 4 v12, 0x1
invoke-static {v0, v5, v11, v12}, Lcom / android / settings / Utils; ->updatePreferenceToSpecificActivityOrRemove (Landroid / content / Context; Landroid / preference / PreferenceGroup; Ljava / lang / String; I) Z
.line 215
invoke-virtual {p0}, Lcom / android / settings / DeviceInfoSettings; ->getPreferenceScreen () Landroid / preference / PreferenceScreen;
move-result-object v5
.line 216
invoke-static {}, Landroid / os / UserHandle; ->myUserId () I
move-result v11
if-nez v11,: cond_9
.line 217
const-string v11, "system_update_settings"
const / 4 v12, 0x1
invoke-static {v0, v5, v11, v12}, Lcom / android / settings / Utils; ->updatePreferenceToSpecificActivityOrRemove (Landroid / content / Context; Landroid / preference / PreferenceGroup; Ljava / lang / String; I) Z
.line 226
: goto_5
const-string v11, "additional_system_update_settings"
invoke-virtual {p0}, Lcom / android / settings / DeviceInfoSettings; ->getResources () Landroid / content / res / Resources;
move-result-object v12
const v13, 0x7f0d0003
invoke-virtual {v12, v13}, Landroid / content / res / Resources; ->getBoolean (I) Z
move-result v12
invoke-direct {p0, v11, v12}, Lcom / android / settings / DeviceInfoSettings; ->removePreferenceIfBoolFalse (Ljava / lang / String; Z) V
.line 230
new-instance v3, Landroid / content / Intent;
const-string v11, "android.settings.SHOW_REGULATORY_INFO"
invoke-direct {v3, v11}, Landroid / content / Intent; -><init>(Ljava / lang / String;) V
.line 231
.local v3, "intent": Landroid / content / Intent;
invoke-virtual {p0}, Lcom / android / settings / DeviceInfoSettings; ->getPackageManager () Landroid / content / pm / PackageManager;
move-result-object v11
const / 4 v12, 0x0
invoke-virtual {v11, v3, v12}, Landroid / content / pm / PackageManager; ->queryIntentActivities (Landroid / content / Intent; I) Ljava / util / List;
move-result-object v11
invoke-interface {v11}, Ljava / util / List; ->isEmpty () Z
move-result v11
if-eqz v11,: cond_4
.line 232
const-string v11, "regulatory_info"
invoke-virtual {p0, v11}, Lcom / android / settings / DeviceInfoSettings; ->findPreference (Ljava / lang / CharSequence;) Landroid / preference / Preference;
move-result-object v8
.line 233
.local v8, "pref": Landroid / preference / Preference;
if-eqz v8,: cond_4
.line 234
invoke-virtual {p0}, Lcom / android / settings / DeviceInfoSettings; ->getPreferenceScreen () Landroid / preference / PreferenceScreen;
move-result-object v11
invoke-virtual {v11, v8}, Landroid / preference / PreferenceScreen; ->removePreference (Landroid / preference / Preference;) Z
.line 238
.end local v8 # "pref": Landroid / preference / Preference;
: cond_4
const-string v11, "advanced_mode"
invoke-virtual {p0, v11}, Lcom / android / settings / DeviceInfoSettings; ->findPreference (Ljava / lang / CharSequence;) Landroid / preference / Preference;
move-result-object v11
check-cast v11, Lcom / android / settings / cyanogenmod / CMSecureSettingSwitchPreference;
iput-object v11, p0, Lcom / android / settings / DeviceInfoSettings; ->mAdvancedSettings: Lcom / android / settings / cyanogenmod / CMSecureSettingSwitchPreference;
.line 240
const-string v12, "advanced_mode"
invoke-virtual {p0}, Lcom / android / settings / DeviceInfoSettings; ->getResources () Landroid / content / res / Resources;
move-result-object v11
const v13, 0x11200c0
invoke-virtual {v11, v13}, Landroid / content / res / Resources; ->getBoolean (I) Z
move-result v11
if-nez v11,: cond_a
const / 4 v11, 0x1
: goto_6
invoke-direct {p0, v12, v11}, Lcom / android / settings / DeviceInfoSettings; ->removePreferenceIfBoolFalse (Ljava / lang / String; Z) V
.line 242
return-void
.line 134
.end local v0 # "act": Landroid / app / Activity;
.end local v1 # "cpuInfo": Ljava / lang / String;
.end local v3 # "intent": Landroid / content / Intent;
.end local v4 # "memInfo": Ljava / lang / String;
.end local v5 # "parentPreference": Landroid / preference / PreferenceGroup;
: cond_5
invoke-virtual {p0}, Lcom / android / settings / DeviceInfoSettings; ->getPreferenceScreen () Landroid / preference / PreferenceScreen;
move-result-object v11
const-string v12, "security_patch"
invoke-virtual {p0, v12}, Lcom / android / settings / DeviceInfoSettings; ->findPreference (Ljava / lang / CharSequence;) Landroid / preference / Preference;
move-result-object v12
invoke-virtual {v11, v12}, Landroid / preference / PreferenceScreen; ->removePreference (Landroid / preference / Preference;) Z
goto / 16: goto_1
.line 149
: cond_6
invoke-static {}, Landroid / os / SELinux; ->isSELinuxEnforced () Z
move-result v11
if-nez v11,: cond_0
.line 150
invoke-virtual {p0}, Lcom / android / settings / DeviceInfoSettings; ->getResources () Landroid / content / res / Resources;
move-result-object v11
const v12, 0x7f090c0c
invoke-virtual {v11, v12}, Landroid / content / res / Resources; ->getString (I) Ljava / lang / String;
move-result-object v9
.line 151
.restart local v9 # "status": Ljava / lang / String;
const-string v11, "selinux_status"
invoke-direct {p0, v11, v9}, Lcom / android / settings / DeviceInfoSettings; ->setStringSummary (Ljava / lang / String; Ljava / lang / String;) V
goto / 16: goto_2
.line 169
.end local v9 # "status": Ljava / lang / String;
.restart local v1 # "cpuInfo": Ljava / lang / String;
.restart local v4 # "memInfo": Ljava / lang / String;
: cond_7
invoke-virtual {p0}, Lcom / android / settings / DeviceInfoSettings; ->getPreferenceScreen () Landroid / preference / PreferenceScreen;
move-result-object v11
const-string v12, "device_cpu"
invoke-virtual {p0, v12}, Lcom / android / settings / DeviceInfoSettings; ->findPreference (Ljava / lang / CharSequence;) Landroid / preference / Preference;
move-result-object v12
invoke-virtual {v11, v12}, Landroid / preference / PreferenceScreen; ->removePreference (Landroid / preference / Preference;) Z
goto / 16: goto_3
.line 175
: cond_8
invoke-virtual {p0}, Lcom / android / settings / DeviceInfoSettings; ->getPreferenceScreen () Landroid / preference / PreferenceScreen;
move-result-object v11
const-string v12, "device_memory"
invoke-virtual {p0, v12}, Lcom / android / settings / DeviceInfoSettings; ->findPreference (Ljava / lang / CharSequence;) Landroid / preference / Preference;
move-result-object v12
invoke-virtual {v11, v12}, Landroid / preference / PreferenceScreen; ->removePreference (Landroid / preference / Preference;) Z
goto / 16: goto_4
.line 222
.restart local v0 # "act": Landroid / app / Activity;
.restart local v5 # "parentPreference": Landroid / preference / PreferenceGroup;
: cond_9
const-string v11, "system_update_settings"
invoke-virtual {p0, v11}, Lcom / android / settings / DeviceInfoSettings; ->removePreference (Ljava / lang / String;) V
goto / 16: goto_5
.line 240
.restart local v3 # "intent": Landroid / content / Intent;
: cond_a
const / 4 v11,0x0
goto: goto_6
.line 129
.end local v0 # "act": Landroid / app / Activity;
.end local v1 # "cpuInfo": Ljava / lang / String;
.end local v3 # "intent": Landroid / content / Intent;
.end local v4 # "memInfo": Ljava / lang / String;
.end local v5 # "parentPreference": Landroid / preference / PreferenceGroup;
: catch_0
move-exception v11
goto / 16: goto_0
.end method
.method private getCPUInfo () Ljava / lang / String;
.locals 6
.prologue
const / 4 v5, -0x1
.line 583
const / 4 v2, 0x0
.line 606
.local v2, "result": Ljava / lang / String;
: try_start_0
new-instance v1, Ljava / io / BufferedReader;
new-instance v3, Ljava / io / FileReader;
const-string v4, "/ proc / cpuinfo"
invoke-direct {v3, v4}, Ljava / io / FileReader; -><init>(Ljava / lang / String;) V
const / 16 v4, 0x100
invoke-direct {v1, v3, v4}, Ljava / io / BufferedReader; -><init>(Ljava / io / Reader; I) V
.line 608
.local v1, "reader": Ljava / io / BufferedReader;
invoke-virtual {v1}, Ljava / io / BufferedReader; ->readLine () Ljava / lang / String;
move-result-object v0
.line 610
.local v0, "Line": Ljava / lang / String;
: goto_0
if-eqz v0,: cond_1
.line 611
const-string v3, "model name"
invoke-virtual {v0, v3}, Ljava / lang / String; ->indexOf (Ljava / lang / String;) I
move-result v3
if-ne v3, v5,: cond_0
const-string v3, "Processor"
invoke-virtual {v0, v3}, Ljava / lang / String; ->indexOf (Ljava / lang / String;) I
move-result v3
if-ne v3, v5,: cond_0
.line 613
invoke-virtual {v1}, Ljava / io / BufferedReader; ->readLine () Ljava / lang / String;
move-result-object v0
goto: goto_0
.line 615
: cond_0
const-string v3, ":"
invoke-virtual {v0, v3}, Ljava / lang / String; ->split (Ljava / lang / String;) [Ljava / lang / String;
move-result-object v3
const / 4 v4, 0x1
aget-object v3, v3, v4
invoke-virtual {v3}, Ljava / lang / String; ->trim () Ljava / lang / String;
move-result-object v2
.line 620
: cond_1
invoke-virtual {v1}, Ljava / io / BufferedReader; ->close () V
: try_end_0
.catch Ljava / io / IOException; {: Try_start_0 ..: try_end_0}: catch_0
.line 624
.end local v0 # "Line": Ljava / lang / String;
.end local v1 # "reader": Ljava / io / BufferedReader;
: goto_1
return object v2
.line 622
: catch_0
move-exception v3
goto: goto_1
.end method