Visualizzazione stampabile
-
Guida: Modificare il numero dei toggles visibili [Jelly Bean]
Partiamo decompilando il SecSettings.apk
Aprite il file
/res/values/arrays.xml ed aggiungete in fondo alla pagina le seguenti righe
[code]
<string-array name="toggles_number_entries">
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
</string-array>
<string-array name="toggles_number_value">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>
[code]
Aprite ora il file
res/xml/display_settings.xml ed inserite nel punto che preferite la seguente riga
codice:
<ListPreference android:persistent="false" android:entries="@array/toggles_number_entries" android:title="Numero Toggles Visibili" android:key="toggles_number_count" android:summary="Verrà riavviato il systemUI" android:widgetLayout="@layout/round_more_icon" android:entryValues="@array/toggles_number_value" />
Andate poi in
smali/com/android/settings/DisplaySettings.smali
cercate
[code]
field private mTouchKeyLight:Landroid/preference/ListPreference;
[code]
e aggiungete sopra di questa la riga
codice:
.field private mTogglesNumber:Landroid/preference/ListPreference;
Andate nel metodo
.method public onCreate(Landroid/os/Bundle;)V
cercate questo spezzone di codice
codice:
.line 423
const-string v12, "font_size"
invoke-virtual {p0, v12}, Lcom/android/settings/DisplaySettings;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
move-result-object v12
check-cast v12, Landroid/preference/ListPreference;
iput-object v12, p0, Lcom/android/settings/DisplaySettings;->mFontSizePref:Landroid/preference/ListPreference;
.line 424
e aggiungete sotto di esso
codice:
const-string v12, "toggles_number_count"
invoke-virtual {p0, v12}, Lcom/android/settings/DisplaySettings;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
move-result-object v12
check-cast v12, Landroid/preference/ListPreference;
iput-object v12, p0, Lcom/android/settings/DisplaySettings;->mTogglesNumber:Landroid/preference/ListPreference;
const-string v12, "toggles_number_count"
const/4 v13, 0x0
invoke-static {v8, v12, v13}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v12
iget-object v13, p0, Lcom/android/settings/DisplaySettings;->mTogglesNumber:Landroid/preference/ListPreference;
invoke-static {v12}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v12
invoke-virtual {v13, v12}, Landroid/preference/ListPreference;->setValue(Ljava/lang/String;)V
iget-object v13, p0, Lcom/android/settings/DisplaySettings;->mTogglesNumber:Landroid/preference/ListPreference;
invoke-virtual {v13, p0}, Landroid/preference/SwitchPreferenceScreen;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V
Recatevi ora nel metodo
.method public onPreferenceChange(Landroid/preference/Preference;Ljava/lang/Object;)Z
e sotto al seguente spezzone di codice
codice:
.line 1100
const-string v1, "DisplaySettings"
const-string v3, "CONTEXTUALPAGE_SWITCH_CHANGED changed = false"
invoke-static {v1, v3}, Landroid/util/Log;->secD(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_7
:cond_41
move-wide v0, v4
goto/16 :goto_3
:cond_42
inserite sotto le seguenti righe
codice:
iget-object v1, p0, Lcom/android/settings/DisplaySettings;->mTogglesNumber:Landroid/preference/ListPreference;
if-ne p1, v1, :cond_2
check-cast p2, Ljava/lang/String;
invoke-static {p2}, Ljava/lang/Integer;->valueOf(Ljava/lang/String;)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
move-result v0
invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v1
const-string v2, "toggles_number_count"
invoke-static {v1, v2, v0}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
goto/16 :goto_4
Chiudete e ricompilate il SecSettings.apk
Se utilizzate i Toggles Lidroid Wanam...decompilate la lidroid-res.apk
aprite il file /res/value/integer.xml
cercate la riga
codice:
<integer name="quickpanel_scroll_threshold_port">5</integer>
e aggiungete sotto di essa le seguenti righe
codice:
<integer name="quickpanel_scroll_threshold_port6">6</integer>
<integer name="quickpanel_scroll_threshold_port7">7</integer>
<integer name="quickpanel_scroll_threshold_port8">8</integer>
compilate e ridecompilate per ottenere i relativi ids
aprire quindi il file /res/value/public.xml, cercate gli ids creati e tenete aperta la pagina per verificare che siano uguali a quelli da me ottenuti.
Segue....
-
Decompilate ora il SystemUI.apk
aprite il file
smali/com/wanam/systemui/quickpanel/PowerWidget.smali
cercate il metodo
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
cambiate il .locals 3 in .locals 6
cercate nello stesso metodo l'ids relativo a "quickpanel_scroll_threshold_port" che nel mio caso corrisponde a questo valore "0x50a000a" e modificate come segue:
codice:
iget-object v3, p0, Lcom/wanam/systemui/quickpanel/PowerWidget;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "toggles_number_count"
const v5, 0x0
invoke-static {v3, v4, v5}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v3
const v4, 0x1
if-eq v3, v4, :cond_0
const v4, 0x2
if-eq v3, v4, :cond_1
const v4, 0x3
if-eq v3, v4, :cond_2
const v1, 0x50a000a -> ids di quickpanel_scroll_threshold_port
goto :goto_0
:cond_0
const v1, 0x50a000c -> ids di quickpanel_scroll_threshold_port6
goto :goto_0
:cond_1
const v1, 0x50a000d -> ids di quickpanel_scroll_threshold_port7
goto :goto_0
:cond_2
const v1, 0x50a000e -> ids di quickpanel_scroll_threshold_port8
:goto_0
alla fine del metodo aggiungere la riga in rosso
codice:
invoke-direct {p0, v2}, Lcom/wanam/systemui/quickpanel/PowerWidget;->regObserver9(Landroid/content/ContentResolver;)V
return-void
.end method
Aggiungere il metodo
codice:
method private regObserver9(Landroid/content/ContentResolver;)V
.locals 3
.parameter "cs"
.prologue
const/4 v2, 0x0
new-instance v0, Lcom/wanam/systemui/quickpanel/PowerWidget9$SettingsObserver;
new-instance v1, Landroid/os/Handler;
invoke-direct {v1}, Landroid/os/Handler;-><init>()V
invoke-direct {v0, p0, p0, v1}, Lcom/wanam/systemui/quickpanel/PowerWidget9$SettingsObserver;-><init>(Lcom/wanam/systemui/quickpanel/PowerWidget;Lcom/wanam/systemui/quickpanel/PowerWidget;Landroid/os/Handler;)V
.local v0, ob:Lcom/wanam/systemui/quickpanel/PowerWidget9$SettingsObserver;
const-string v1, "toggles_number_count"
invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual {p1, v1, v2, v0}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
return-void
.end method
Inserite il file smali contenuto in PowerWidget9$SettingsObserver.zip per ottenere le modifiche in tempo reale
Toggles Samsung
aprite il file
res/values-port/integers.xml
cercate la riga
codice:
<integer name="config_QuickSettingButtonCount">5</integer>
e aggiungete le seguenti righe
codice:
<integer name="config_QuickSettingButtonCount6">6</integer>
<integer name="config_QuickSettingButtonCount7">7</integer>
<integer name="config_QuickSettingButtonCount8">8</integer>
fate la stessa cosa anche in:
/res/values-sw800dp/integers.xml
decompilate e ricompilate per ottenere i relativi ids
aprite il file
smali/com/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel.smali
cercate il metodo .method private update()V
cambiate il .locals 2 in .locals 6
cercate nello stesso metodo l'ids relativo a "config_QuickSettingButtonCount" che nel mio caso corrisponde a "0x7f0b0009" e modificate come segue:
codice:
iget-object v3, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "toggles_number_count"
const v5, 0x0
invoke-static {v3, v4, v5}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v3
const v4, 0x1
if-eq v3, v4, :cond_0
const v4, 0x2
if-eq v3, v4, :cond_1
const v4, 0x3
if-eq v3, v4, :cond_2
const v1, 0x7f0b0009 -> ids di config_QuickSettingButtonCount
goto :goto_0
:cond_0
const v1, 0x7f0b000a -> ids di config_QuickSettingButtonCount6
goto :goto_0
:cond_1
const v1, 0x7f0b000b -> ids di config_QuickSettingButtonCount7
goto :goto_0
:cond_2
const v1, 0x7f0b000c -> ids di config_QuickSettingButtonCount8
:goto_0
Se non utilizzate i toggles lidroid aggiungete le righe e il file observer precedentemente descritti.
Segue....
-
Toggles Quickpanel (su più righe)
Se utilizzate i quickpanel toggles aprite il file
/smali/com/newtoggles/systemui/quickpanel/PowerWidget.smali
cercate la riga
codice:
.field private static final LAYOUT_SCROLL_BUTTON_THRESHOLD_PORT:I = 0x5
e modificatela in
[/code]
.field private static final LAYOUT_SCROLL_BUTTON_THRESHOLD_PORT:I = 0x0
[/code]
cercate il metodo .method private addViewToLinearLayoutRowsAndFixWidth(Landroid/view/View;I)V
cambiate il .locals 11 in .locals 13
ed eliminate la riga subito dopo "const/16 v10, 0x28"
cercate la riga evidenziata in rosso
codice:
:cond_4
const/16 v4, 0x21
if-lt p2, v4, :cond_0
if-gt p2, v10, :cond_0
iget-object v4, p0, Lcom/newtoggles/systemui/quickpanel/PowerWidget;->mLinearLayoutRow5:Landroid/widget/LinearLayout;
e cambiatela come segue
codice:
const/16 v4, 0x21
if-lt p2, v4, :cond_0
const/16 v4, 0x28
if-gt p2, v4, :cond_0
iget-object v4, p0, Lcom/newtoggles/systemui/quickpanel/PowerWidget;->mLinearLayoutRow5:Landroid/widget/LinearLayout;
cercate questa porzione di codice
codice:
:cond_5
iget-object v4, p0, Lcom/newtoggles/systemui/quickpanel/PowerWidget;->mContext:Landroid/content/Context;
invoke-virtual {v4}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v4
invoke-virtual {v4}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v4
iget v4, v4, Landroid/util/DisplayMetrics;->widthPixels:I
div-int/lit8 v3, v4, 0x5
new-instance v1, Landroid/widget/LinearLayout$LayoutParams;
e cambiatela in questo modo:
codice:
iget-object v10, p0, Lcom/newtoggles/systemui/quickpanel/PowerWidget;->mContext:Landroid/content/Context;
invoke-virtual {v10}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v10
const-string v11, "toggles_number_count"
const v12, 0x0
invoke-static {v10, v11, v12}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v10
const v11, 0x1
if-eq v10, v11, :cond_6
const v11, 0x2
if-eq v10, v11, :cond_7
const v11, 0x3
if-eq v10, v11, :cond_8
div-int/lit8 v3, v4, 0x5
goto :goto_1
:cond_6
div-int/lit8 v3, v4, 0x6
goto :goto_1
:cond_7
div-int/lit8 v3, v4, 0x7
goto :goto_1
:cond_8
div-int/lit8 v3, v4, 0x8
:goto_1
new-instance v1, Landroid/widget/LinearLayout$LayoutParams;
un paio di righe sotto troverete un codice simile a questo
codice:
if-lt p2, v7, :cond_6
const/4 v4, 0x5
if-gt p2, v4, :cond_6
modificatelo come segue
codice:
if-lt p2, v7, :cond_c
iget-object v10, p0, Lcom/newtoggles/systemui/quickpanel/PowerWidget;->mContext:Landroid/content/Context;
invoke-virtual {v10}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v10
const-string v11, "toggles_number_count"
const v12, 0x0
invoke-static {v10, v11, v12}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v10
const v11, 0x1
if-eq v10, v11, :cond_9
const v11, 0x2
if-eq v10, v11, :cond_a
const v11, 0x3
if-eq v10, v11, :cond_b
const/16 v4, 0x5
goto :goto_2
:cond_9
const/16 v4, 0x6
goto :goto_2
:cond_a
const/16 v4, 0x7
goto :goto_2
:cond_b
const/16 v4, 0x8
:goto_2
if-gt p2, v4, :cond_c
un altro paio di righe sotto la porzione di codice che segue
codice:
goto :goto_0
:cond_6
const/4 v4, 0x6
if-lt p2, v4, :cond_7
const/16 v4, 0xa
if-gt p2, v4, :cond_7
va modificata in questo modo
codice:
goto/16 :goto_0
:cond_c
iget-object v10, p0, Lcom/newtoggles/systemui/quickpanel/PowerWidget;->mContext:Landroid/content/Context;
invoke-virtual {v10}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v10
const-string v11, "toggles_number_count"
const v12, 0x0
invoke-static {v10, v11, v12}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v10
const v11, 0x1
if-eq v10, v11, :cond_d
const v11, 0x2
if-eq v10, v11, :cond_e
const v11, 0x3
if-eq v10, v11, :cond_f
const/16 v4, 0x6
goto :goto_3
:cond_d
const/16 v4, 0x7
goto :goto_3
:cond_e
const/16 v4, 0x8
goto :goto_3
:cond_f
const/16 v4, 0x9
:goto_3
if-lt p2, v4, :cond_13
iget-object v10, p0, Lcom/newtoggles/systemui/quickpanel/PowerWidget;->mContext:Landroid/content/Context;
invoke-virtual {v10}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v10
const-string v11, "toggles_number_count"
const v12, 0x0
invoke-static {v10, v11, v12}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v10
const v11, 0x1
if-eq v10, v11, :cond_10
const v11, 0x2
if-eq v10, v11, :cond_11
const v11, 0x3
if-eq v10, v11, :cond_12
const/16 v4, 0xa
goto :goto_4
:cond_10
const/16 v4, 0xc
goto :goto_4
:cond_11
const/16 v4, 0xe
goto :goto_4
:cond_12
const/16 v4, 0x10
:goto_4
if-gt p2, v4, :cond_13
altre due righe più in basso il seguente codice
codice:
goto :goto_0
:cond_7
const/16 v4, 0xb
if-lt p2, v4, :cond_8
const/16 v4, 0xf
if-gt p2, v4, :cond_8
deve essere modificato come segue
codice:
goto/16 :goto_0
:cond_13
iget-object v10, p0, Lcom/newtoggles/systemui/quickpanel/PowerWidget;->mContext:Landroid/content/Context;
invoke-virtual {v10}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v10
const-string v11, "toggles_number_count"
const v12, 0x0
invoke-static {v10, v11, v12}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v10
const v11, 0x1
if-eq v10, v11, :cond_14
const v11, 0x2
if-eq v10, v11, :cond_15
const v11, 0x3
if-eq v10, v11, :cond_16
const/16 v4, 0xb
goto :goto_5
:cond_14
const/16 v4, 0xd
goto :goto_5
:cond_15
const/16 v4, 0xf
goto :goto_5
:cond_16
const/16 v4, 0x11
:goto_5
if-lt p2, v4, :cond_1a
iget-object v10, p0, Lcom/newtoggles/systemui/quickpanel/PowerWidget;->mContext:Landroid/content/Context;
invoke-virtual {v10}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v10
const-string v11, "toggles_number_count"
const v12, 0x0
invoke-static {v10, v11, v12}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v10
const v11, 0x1
if-eq v10, v11, :cond_17
const v11, 0x2
if-eq v10, v11, :cond_18
const v11, 0x3
if-eq v10, v11, :cond_19
const/16 v4, 0xf
goto :goto_6
:cond_17
const/16 v4, 0x12
goto :goto_6
:cond_18
const/16 v4, 0x15
goto :goto_6
:cond_19
const/16 v4, 0x18
:goto_6
if-gt p2, v4, :cond_1a
Segue....
-
scendete di ancora di un paio di righe sotto e modificate il codice
codice:
goto :goto_0
:cond_8
if-lt p2, v8, :cond_9
const/16 v4, 0x14
if-gt p2, v4, :cond_9
in
codice:
goto/16 :goto_0
:cond_1a
iget-object v10, p0, Lcom/newtoggles/systemui/quickpanel/PowerWidget;->mContext:Landroid/content/Context;
invoke-virtual {v10}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v10
const-string v11, "toggles_number_count"
const v12, 0x0
invoke-static {v10, v11, v12}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v10
const v11, 0x1
if-eq v10, v11, :cond_1b
const v11, 0x2
if-eq v10, v11, :cond_1c
const v11, 0x3
if-eq v10, v11, :cond_1d
const/16 v4, 0x10
goto :goto_7
:cond_1b
const/16 v4, 0x13
goto :goto_7
:cond_1c
const/16 v4, 0x16
goto :goto_7
:cond_1d
const/16 v4, 0x19
:goto_7
if-lt p2, v4, :cond_21
iget-object v10, p0, Lcom/newtoggles/systemui/quickpanel/PowerWidget;->mContext:Landroid/content/Context;
invoke-virtual {v10}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v10
const-string v11, "toggles_number_count"
const v12, 0x0
invoke-static {v10, v11, v12}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v10
const v11, 0x1
if-eq v10, v11, :cond_1e
const v11, 0x2
if-eq v10, v11, :cond_1f
const v11, 0x3
if-eq v10, v11, :cond_20
const/16 v4, 0x14
goto :goto_8
:cond_1e
const/16 v4, 0x18
goto :goto_8
:cond_1f
const/16 v4, 0x1c
goto :goto_8
:cond_20
const/16 v4, 0x20
:goto_8
if-gt p2, v4, :cond_21
altre due righe sotto il codice seguente
codice:
goto :goto_0
:cond_9
const/16 v4, 0x15
if-lt p2, v4, :cond_a
if-gt p2, v9, :cond_a
modificatelo cosi
codice:
goto/16 :goto_0
:cond_21
iget-object v10, p0, Lcom/newtoggles/systemui/quickpanel/PowerWidget;->mContext:Landroid/content/Context;
invoke-virtual {v10}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v10
const-string v11, "toggles_number_count"
const v12, 0x0
invoke-static {v10, v11, v12}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v10
const v11, 0x1
if-eq v10, v11, :cond_22
const v11, 0x2
if-eq v10, v11, :cond_23
const v11, 0x3
if-eq v10, v11, :cond_24
const/16 v4, 0x15
goto :goto_9
:cond_22
const/16 v4, 0x19
goto :goto_9
:cond_23
const/16 v4, 0x1d
goto :goto_9
:cond_24
const/16 v4, 0x21
:goto_9
if-lt p2, v4, :cond_28
iget-object v10, p0, Lcom/newtoggles/systemui/quickpanel/PowerWidget;->mContext:Landroid/content/Context;
invoke-virtual {v10}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v10
const-string v11, "toggles_number_count"
const v12, 0x0
invoke-static {v10, v11, v12}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v10
const v11, 0x1
if-eq v10, v11, :cond_25
const v11, 0x2
if-eq v10, v11, :cond_26
const v11, 0x3
if-eq v10, v11, :cond_27
const/16 v4, 0x19
goto :goto_a
:cond_25
const/16 v4, 0x1e
goto :goto_a
:cond_26
const/16 v4, 0x23
goto :goto_a
:cond_27
const/16 v4, 0x28
:goto_a
if-gt p2, v4, :cond_28
ora tre righe più in basso apportate le modifiche evidenziate in rosso
codice:
:cond_a -> :cond_28
const/16 v4, 0x1a
if-lt p2, v4, :cond_b -> if-lt p2, v4, :cond_29
const/16 v4, 0x1e
if-gt p2, v4, :cond_b -> if-gt p2, v4, :cond_29
iget-object v4, p0, Lcom/newtoggles/systemui/quickpanel/PowerWidget;->mLinearLayoutRow6:Landroid/widget/LinearLayout;
invoke-virtual {v4, p1, v1}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
goto/16 :goto_0
:cond_b -> :cond_29
const/16 v4, 0x1f
if-lt p2, v4, :cond_c -> if-lt p2, v4, :cond_2a
const/16 v4, 0x23
if-gt p2, v4, :cond_c -> if-gt p2, v4, :cond_2a
iget-object v4, p0, Lcom/newtoggles/systemui/quickpanel/PowerWidget;->mLinearLayoutRow7:Landroid/widget/LinearLayout;
invoke-virtual {v4, p1, v1}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
goto/16 :goto_0
:cond_c -> :cond_2a
const/16 v4, 0x24
Cercate ora il metodo
.method private needScrollBar(I)Z
cambiate il .locals 5 -> .locals 8
e verso la fine del metodo cercate la seguente porzione di codice
codice:
:cond_1
const/4 v1, 0x5
if-le p1, v1, :cond_2
e modificatelo come segue
codice:
:cond_1
iget-object v5, p0, Lcom/newtoggles/systemui/quickpanel/PowerWidget;->mContext:Landroid/content/Context;
invoke-virtual {v5}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v5
const-string v6, "toggles_number_count"
const v7, 0x0
invoke-static {v5, v6, v7}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v5
const v6, 0x1
if-eq v5, v6, :cond_2
const v6, 0x2
if-eq v5, v6, :cond_3
const v6, 0x3
if-eq v5, v6, :cond_4
const/16 v1, 0x5
goto :goto_1
:cond_2
const/16 v1, 0x6
goto :goto_1
:cond_3
const/16 v1, 0x7
goto :goto_1
:cond_4
const/16 v1, 0x8
:goto_1
if-le p1, v1, :cond_5
prima della chiusura del metodo cambiate il :cond_2 in :cond_5
Per terminare cercate il metodo
.method private updateButtonLayoutWidth()V
cambiate il .locals 3 in .locals 6
verso la fine di tale metodo individuate la riga
codice:
div-int/lit8 v2, v2, 0x5
e modificatela come segue
codice:
iget-object v3, p0, Lcom/newtoggles/systemui/quickpanel/PowerWidget;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "toggles_number_count"
const v5, 0x0
invoke-static {v3, v4, v5}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v3
const v4, 0x1
if-eq v3, v4, :cond_1
const v4, 0x2
if-eq v3, v4, :cond_2
const v4, 0x3
if-eq v3, v4, :cond_3
div-int/lit8 v2, v2, 0x5
goto :goto_1
:cond_1
div-int/lit8 v2, v2, 0x6
goto :goto_1
:cond_2
div-int/lit8 v2, v2, 0x7
goto :goto_1
:cond_3
div-int/lit8 v2, v2, 0x8
:goto_1
Ricompilate la lidroid-res.apk, il SystemUI.apk, SecSettings.apk e inserite i file nella vostra rom.
-
regaz a me se cerco di ricompilare il classes.dex del core-libart.jar mi dice:
classout\java\lang\Class.smali[0,0] 2097152 cannot fit into a short
classout\java\lang\Class.smali[834,4] mismatched tree node: I_STATEMENT_FORMAT12
x expecting I_CATCHES
classout\java\lang\Class.smali[843,4] mismatched tree node: I_STATEMENT_FORMAT21
t expecting <UP>
classout\java\lang\String.smali[0,0] 65536 cannot fit into a short
classout\java\lang\String.smali[771,4] mismatched tree node: I_STATEMENT_FORMAT2
2x expecting I_CATCHES
classout\java\lang\String.smali[779,4] mismatched tree node: I_STATEMENT_FORMAT2
2x expecting <UP>
come posso fare?
-
Quote:
Originariamente inviato da
supermodder
regaz a me se cerco di ricompilare il classes.dex del core-libart.jar mi dice:
classout\java\lang\Class.smali[0,0] 2097152 cannot fit into a short
classout\java\lang\Class.smali[834,4] mismatched tree node: I_STATEMENT_FORMAT12
x expecting I_CATCHES
classout\java\lang\Class.smali[843,4] mismatched tree node: I_STATEMENT_FORMAT21
t expecting
classout\java\lang\String.smali[0,0] 65536 cannot fit into a short
classout\java\lang\String.smali[771,4] mismatched tree node: I_STATEMENT_FORMAT2
2x expecting I_CATCHES
classout\java\lang\String.smali[779,4] mismatched tree node: I_STATEMENT_FORMAT2
2x expecting
come posso fare?
Che tipo di modifiche stai facendo.?
Che versione di android? Riesci a postare il tuo Class.smali e il tuo String.smali?
-
Quote:
Originariamente inviato da
nicola78
Che tipo di modifiche stai facendo.?
Che versione di android? Riesci a postare il tuo Class.smali e il tuo String.smali?
Ops...ho sbagliato sezione rotfl perchè io sto moddando l's5 con lollipop 5.0 per installare xposed,e solo adesso ho notato che questa è la sezione s2 :'(
Comunque se mi vuoi aiutare lo stesso dove li trovo i 2 .smali da postare?
-
Quote:
Originariamente inviato da
supermodder
Ops...ho sbagliato sezione rotfl perchè io sto moddando l's5 con lollipop 5.0 per installare xposed,e solo adesso ho notato che questa è la sezione s2 :'(
Comunque se mi vuoi aiutare lo stesso dove li trovo i 2 .smali da postare?
Ma tu che file hai modificato?
-
Quote:
Originariamente inviato da
nicola78
Ma tu che file hai modificato?
il classes.dex del file core-libart.jar;più nello specifico i file PathClassLoader,class,dexcache,string,artfield e artMethod,che andavano sostituiti con i medesimi file di un archivio.Solo che,quando ricompilo il classes.dex modificato mi dà quegli errori
-
Quote:
Originariamente inviato da
supermodder
il classes.dex del file core-libart.jar;più nello specifico i file PathClassLoader,class,dexcache,string,artfield e artMethod,che andavano sostituiti con i medesimi file di un archivio.Solo che,quando ricompilo il classes.dex modificato mi dà quegli errori
Sai se quei file dell'archivio vanno bene per lollipop?
I file che ti hanno dato problemi in fase di compilazione sono quelli dell'archivio
Postalo gli do un'occhiata