Оценете темата:
  • 1 гласа - средно 1
  • 1
  • 2
  • 3
  • 4
  • 5

[TUTORIAL][MOD][LP] SystemUI Reboot по лесния начин
#1

Здравейте, след близо две години отсъствие реших да се върна обратно във форума и да започна наново с модовете, ромовете и туториалите тук.  Lol

Започвам с един много лесен, но ефективен мод, който позволява рестартирането само на SystemUI без да има нужда да ребуутваме Експерията.

---  Скрийншот (от моя ром за Z1, който ще пусна скоро и тук):

ребуут бутон вляво от иконката за батерия
[Изображение: Screenshot_2016-04-24-15-59-48.png]

В: Защо това е лесният начин?
О: Андрид позволява два начина на ребуут, този, който ще използвам се възползва от способността на андроид да се възстановява от възникнали грешки.
Вариант1: Написване на нов джава клас, който да се компилира и да се постави в SystemUI приложението като смали файл, който да изпълнява ребуута.
Вариант2: Това е лесния начин, чрез добавяне на бутон в нотификейшън панела. Всеки един бутон има метод OnClick() в XML, който когато, когато бутонът бъде натиснат, извиква метод  в джава класа, накратко - от тук нататък нещата се изпълняват както гласи вариант 1. Когато обаче такъв метод не съществува, вместо Force Close съобщението за грешка, Андроид рестартира приложението, в което се намира въпросният бутон. Точно на това разчитаме за този мод.


--- Изисквания:
--- да знаете как се компилира/декомпилира (работа с Apktool)
--- деодекснат (deodexed) SystemUI


--- Инсталация:
--- намерете SystemUI, което е в system>priv-app>SystemUI>SystemUI.apk
--- декомпилирайте
--- намерете и отворете status_bar_expanded_header.xml, който се намира в папката res>layout на декомпилирания SystemUI.apk
--- намерете тази линия:
Код:
<TextView android:textSize="@dimen/battery_level_text_size" android:textColor="#ffffffff" android:layout_gravity="center_vertical" android:id="@id/battery_level" android:layout_width="wrap_content" android:layout_height="wrap_content" android:importantForAccessibility="noHideDescendants" android:paddingEnd="@dimen/battery_level_padding_end" android:layout_marginStart="@dimen/header_battery_margin_expanded" />
   </LinearLayout>

--- копирайте и поставете този код след нея (това е бутонът):
Код:
<ImageButton
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:background="@drawable/systemui_restart"
    android:layout_toStartOf="@id/multi_user_switch"
    android:onClick="selfDestruct"
    android:layout_marginRight="160dip"
    android:layout_marginTop="19dip"/>
--- запаметете status_bar_expanded_header.xml
--- трудната част приключи
--- свалете прикачения архив, разархивирайте и поставете двата файла от него в декомпилирания SystemUI
--- в drawable папката на архива се намира xml файл, който управлява иконката, а в drawable-xhdpi е самата иконката за бутона
--- компилирайте и флашвате
--- това е



Възможно е този мод да работи и на одекснати ромове, защото не се пипа нищо по смали кода, но препоръчвам да направите бекъп преди да го качите. 
Тествано на Z1, но работи на всички Експерии с 5.0.1 (включително) нагоре.
Оригиналната тема в XDA: тук 


Прикачени файлове
.zip systemUI_drawables.zip Размер: 6.43 KB  Сваляния: 2

Advanced Xperience Projects  Team Leader  
  X10, running  Advanced Xperia ROM                                
  Z1, running Advanced Xperience ROM
Цитирай
Аксесоари




Потребители разглеждащи темата: 1 гост(и)