MIUI Модификации и украшательства

MansurNovemLineis

Новичок
05.01.2021
4
19
3
MIUI Модификации и украшательства
Код:
[CENTER]Тут пишем название урока, а так же версию MIUI[/CENTER]
Если надо, дополнительная информация (версия apktool, версия android, благодарности и т.д)
[SPOILER="Описание"]Описание, подробная инструкция[/SPOILER]
[SPOILER="Скриншоты"]Прикрепляем скриншоты при необходимости[/SPOILER]

Пост будет пополняться...
Авторы модификаций и Администрация форума не несут ответственности за работоспособность Ваших девайсов!
Помните: все, что Вы делаете - Вы делаете на свой страх и риск!
 
Последнее редактирование:

MansurNovemLineis

Новичок
05.01.2021
4
19
3
Цвет, размер,видимость текста и стиль шрифта текста тоглов в центре управления MIUI12

Декомпилируем MiuiSystemUI.apk идём по пути /smali/Lcom/android/systemui/miui/controlcenter/tileImpl/CCQSTileView.smali
В конец класса добавляем метод
Код:
.method public updateLabelSettings()V
    .registers 7
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()V"
        }
    .end annotation

    .prologue
    const/4 v5, 0x1

    const/4 v4, 0x0

    .line 25
    iget-object v0, p0, Lcom/android/systemui/miui/controlcenter/tileImpl/CCQSTileView;->mLabel:Landroid/widget/TextView;

    .line 26
    iget-object v1, p0, Lcom/android/systemui/miui/controlcenter/tileImpl/CCQSTileView;->mContext:Landroid/content/Context;

    invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

    move-result-object v1

    .line 27
    const-string v2, "custom_qs_text_color_visible"

    invoke-static {v1, v2, v4}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

    move-result v2

    if-eqz v2, :cond_5e

    .line 28
    const-string v2, "leo_qs_icon_label_color"

    const v3, -0xdadadb

    invoke-static {v1, v2, v3}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

    move-result v2

    invoke-virtual {v0, v2}, Landroid/widget/TextView;->setTextColor(I)V

    .line 29
    const-string v2, "qs_icon_label_size"

    const/16 v3, 0xc

    invoke-static {v1, v2, v3}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

    move-result v2

    int-to-float v2, v2

    invoke-virtual {v0, v2}, Landroid/widget/TextView;->setTextSize(F)V

    .line 30
    const-string v2, "custom_qs_text_fontstyle"

    invoke-static {v1, v2, v4}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

    move-result v2

    if-eqz v2, :cond_4e

    .line 31
    const-string v2, "leo_qs_fontstyle"

    invoke-static {v1, v2, v4}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

    move-result v2

    .line 32
    invoke-static {v2}, Landroid/graphics/Typeface;->defaultFromStyle(I)Landroid/graphics/Typeface;

    move-result-object v2

    invoke-virtual {v0, v2}, Landroid/widget/TextView;->setTypeface(Landroid/graphics/Typeface;)V

    .line 33
    const-string v2, "custom_qs_text_fontstyle"

    invoke-static {v1, v2, v4}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

    move-result v2

    if-nez v2, :cond_4e

    .line 34
    invoke-static {v4}, Landroid/graphics/Typeface;->defaultFromStyle(I)Landroid/graphics/Typeface;

    move-result-object v2

    invoke-virtual {v0, v2}, Landroid/widget/TextView;->setTypeface(Landroid/graphics/Typeface;)V

    .line 38
    :cond_4e
    const-string v0, "leo_qs_label"

    invoke-static {v1, v0, v5}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

    move-result v0

    if-ne v0, v5, :cond_5f

    .line 39
    iget-object v0, p0, Lcom/android/systemui/miui/controlcenter/tileImpl/CCQSTileView;->mLabel:Landroid/widget/TextView;

    invoke-virtual {v0, v4}, Landroid/widget/TextView;->setVisibility(I)V

    .line 40
    invoke-virtual {p0}, Lcom/android/systemui/qs/tileimpl/QSTileView;->requestLayout()V

    .line 44
    :cond_5e
    :goto_5e
    return-void

    .line 43
    :cond_5f
    iget-object v0, p0, Lcom/android/systemui/miui/controlcenter/tileImpl/CCQSTileView;->mLabel:Landroid/widget/TextView;

    const/16 v1, 0x8

    invoke-virtual {v0, v1}, Landroid/widget/TextView;->setVisibility(I)V

    .line 44
    invoke-virtual {p0}, Lcom/android/systemui/qs/tileimpl/QSTileView;->requestLayout()V

    goto :goto_5e
.end method
В методе
.method protected handleStateChanged(Lcom/android/systemui/plugins/qs/QSTile$State;)V
после .registers
Добавляем
Код:
    invoke-virtual {p0}, Lcom/android/systemui/miui/controlcenter/tileImpl/CCQSTileView;->updateLabelSettings()V
Для добавления настроек в settings.apk должны лежать эти
Открываем notch_status_bar_settings.xml или любой другой и добавляем эти настройки
Код:
        <XMiuiCheckBoxPreference
            intent="my.intent.action.REFRESH_STATUS_BAR"
            android:title="Свой цвет текста тоглов и их видимость"
            android:key="custom_qs_text_color_visible"
            android:defaultValue="0"
            android:summaryOn="Кастомный цвет"
            android:summaryOff="сток" />
        <XMiuiCheckBoxPreference
            intent="my.intent.action.REFRESH_STATUS_BAR"
            android:title="Видимость текста тоглов"
            android:key="leo_qs_label"
            android:dependency="custom_qs_text_color_visible"
            android:defaultValue="0"
            android:summaryOn="показано"
            android:summaryOff="скрыто" />
        <XMiuiColorPickerPreference
            intent="my.intent.action.REFRESH_STATUS_BAR"
            alphaSlider="true"
            hexValue="true"
            android:title="Цвет названия тоглов"
            android:key="leo_qs_icon_label_color"
            android:dependency="custom_qs_text_color_visible"
            android:defaultValue="0x41687697" />
        <XMiuiCheckBoxPreference
            intent="my.intent.action.REFRESH_STATUS_BAR"
            android:title="Свой стиль шрифта текста тоглов"
            android:key="custom_qs_text_fontstyle"
            android:dependency="custom_qs_text_color_visible"
            android:defaultValue="0"
            android:summaryOn="свой"
            android:summaryOff="сток" />
        <XMiuiDropDownPreference
            intent="my.intent.action.REFRESH_STATUS_BAR"
            android:title="Стиль шрифта названия тоглов"
            android:key="leo_qs_fontstyle"
          app:entries="@array/tile_style_entries"
            app:entryValues="@array/tile_style_entries_values" />
        <XMiuiSeekBarPreference
            max="20"
            min="0"
            step="1"
            intent="my.intent.action.REFRESH_STATUS_BAR"
            android:layout="@layout/miuix_seekbar"
            android:title="Размер текста тоглов"
            android:key="qs_icon_label_size"
            android:summary="Текущее значение: %"
            android:defaultValue="12" />
В res/values/Arrays.xml
Добавляем
<string-array name="tile_style_entries">
<item>Нормальный</item>
<item>Жирный</item>
<item>Курсив</item>
<item>Жирный курсив</item>
</string-array>
<string-array name="tile_style_entries_values">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>
Screenshot_2021-01-05-02-01-53-241_com.android.settings.jpgScreenshot_2021-01-05-02-01-57-213_com.android.settings.jpg
 
Последнее редактирование:

MansurNovemLineis

Новичок
05.01.2021
4
19
3
Помощник для чтения и записи параметров из настроек
этот класс был написан namin78 ,
На авторство не претендую
Инструкция: Добавить в самый последний smali_classes в Framework.jar
Пример у меня есть 4 смали папки я добавляю в 4 и все
Сам файл прикреплен
SettingsHelper_[SmartsWorld.ru].rar
 

MansurNovemLineis

Новичок
05.01.2021
4
19
3
XMiuisettings для MIUI12 от Namin78
Файл для добавления пунктов и настроек в настройки
Закинуть файл прикрепленный в settings.apk
Идем androidx/preference/Preference.smali
находим .method public onBindViewHolder и после строки .locals добавляем вызов
invoke-virtual {p0, p1}, Landroidx/preference/Preference;->onMyBindViewHolder(Ljava/lang/Object;)V

и вставляем метод
Код:
.method public onMyBindViewHolder(Ljava/lang/Object;)V
    .registers 3
    .param p1, "view" # Ljava/lang/Object;
    .prologue
return-void
.end method
Синтаксис настройки такой
Код:
<XMiuiDropDownPreference android:title="Тут_название_настройки" android:key="тут_ключ_настройки"
settings:entries="@array/массив_с_названиями_пунктов"
settings:entryValues="@array/массмв_со_значениями"
settings:entryIcons="@array/массив_с_иконками_не_обязательный_пункт"
intent="тут_ваш_интент_не_обязательный_пункт" />
обратите внимание на префикс "settings:" - это только для Settings.apk
xmiui.zip