Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

CEMPAKA- 1.60 - BUILD 120227-026

Add msb_right check for Endianess video memory
Fix Installer text log drawing
Add ini_get
Add rom_date in ini_get
Fix reboot and back function
Add more and recreate Icons for themes and generic
Rewrite text handler
Add alignment, indentation and list in AROMA Markup String
Change temp directory to /tmp/aroma, /tmp/aroma-data stil works
  • Loading branch information...
commit 17efcb9b07a63c80ab2fe48dfb9c76aa1d121956 1 parent ba737fc
@amarullz authored
Showing with 3,375 additions and 695 deletions.
  1. +4 −4 aroma-installer/deploy.bat
  2. +128 −121 aroma-installer/examples/generic/META-INF/com/google/android/aroma-config
  3. +1,129 −325 aroma-installer/examples/release/META-INF/com/google/android/aroma-config
  4. +82 −0 aroma-installer/examples/release/META-INF/com/google/android/aroma/ams_sample.txt
  5. +102 −0 aroma-installer/examples/release/META-INF/com/google/android/aroma/changelog.txt
  6. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/exec_demo/displaycapture
  7. +56 −0 aroma-installer/examples/release/META-INF/com/google/android/aroma/exec_demo/exec_demo1.sh
  8. +20 −0 aroma-installer/examples/release/META-INF/com/google/android/aroma/exec_demo/exec_demo2.sh
  9. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/exec_demo/sleep
  10. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/fonts/big.png
  11. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/fonts/small.png
  12. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/icons/confirm.png
  13. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/icons/customize.png
  14. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/icons/default.png
  15. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/icons/license.png
  16. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/icons/update.png
  17. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/icons/welcome.png
  18. +59 −0 aroma-installer/examples/release/META-INF/com/google/android/aroma/license.txt
  19. +0 −63 aroma-installer/examples/release/META-INF/com/google/android/aroma/sample.txt
  20. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/theme.png
  21. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/ics/cb.png
  22. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/ics/font.roboto.big.png
  23. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/ics/font.roboto.small.png
  24. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/ics/icon.agreement.png
  25. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/ics/icon.alert.png
  26. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/ics/icon.apps.png
  27. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/ics/icon.confirm.png
  28. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/ics/icon.customize.png
  29. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/ics/icon.default.png
  30. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/ics/icon.info.png
  31. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/ics/icon.install.png
  32. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/ics/icon.license.png
  33. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/ics/icon.personalize.png
  34. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/ics/icon.update.png
  35. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/ics/icon.welcome.png
  36. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/ics/radio.png
  37. +3 −0  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/ics/theme.prop
  38. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui/font.roboto.big.png
  39. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui/font.roboto.small.png
  40. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui/icon.agreement.png
  41. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui/icon.alert.png
  42. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui/icon.apps.png
  43. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui/icon.confirm.png
  44. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui/icon.customize.png
  45. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui/icon.default.png
  46. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui/icon.info.png
  47. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui/icon.install.png
  48. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui/icon.license.png
  49. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui/icon.personalize.png
  50. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui/icon.update.png
  51. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui/icon.welcome.png
  52. +3 −0  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui/theme.prop
  53. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/bg.png
  54. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/button.9.png
  55. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/button_focus.9.png
  56. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/button_press.9.png
  57. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/cb.png
  58. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/cb_focus.png
  59. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/cb_on.png
  60. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/cb_on_focus.png
  61. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/cb_on_press.png
  62. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/cb_press.png
  63. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/dialog.9.png
  64. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/dialog_titlebar.9.png
  65. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/font.roboto.big.png
  66. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/font.roboto.small.png
  67. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/icon.agreement.png
  68. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/icon.alert.png
  69. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/icon.apps.png
  70. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/icon.confirm.png
  71. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/icon.customize.png
  72. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/icon.default.png
  73. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/icon.info.png
  74. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/icon.install.png
  75. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/icon.license.png
  76. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/icon.personalize.png
  77. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/icon.update.png
  78. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/icon.welcome.png
  79. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/list.9.png
  80. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/navbar.png
  81. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/radio.png
  82. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/radio_focus.png
  83. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/radio_on.png
  84. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/radio_on_focus.png
  85. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/radio_on_press.png
  86. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/radio_press.png
  87. +67 −0 aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/theme.prop
  88. BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/themes/miui4/titlebar.9.png
  89. +316 −6 aroma-installer/examples/release/META-INF/com/google/android/updater-script
  90. BIN  aroma-installer/icons/generic/agreement.png
  91. BIN  aroma-installer/icons/generic/alert.png
  92. BIN  aroma-installer/icons/generic/apps.png
  93. BIN  aroma-installer/icons/generic/confirm.png
  94. BIN  aroma-installer/icons/generic/customize.png
  95. BIN  aroma-installer/icons/generic/default.png
  96. BIN  aroma-installer/icons/generic/info.png
  97. BIN  aroma-installer/icons/generic/install.png
  98. BIN  aroma-installer/icons/generic/license.png
  99. BIN  aroma-installer/icons/generic/personalize.png
  100. BIN  aroma-installer/icons/generic/update.png
  101. BIN  aroma-installer/icons/generic/welcome.png
  102. BIN  aroma-installer/icons/ics/icon.agreement.png
  103. BIN  aroma-installer/icons/ics/icon.alert.png
  104. BIN  aroma-installer/icons/ics/icon.apps.png
  105. BIN  aroma-installer/icons/ics/icon.confirm.png
  106. BIN  aroma-installer/icons/ics/icon.customize.png
  107. BIN  aroma-installer/icons/ics/icon.default.png
  108. BIN  aroma-installer/icons/ics/icon.info.png
  109. BIN  aroma-installer/icons/ics/icon.install.png
  110. BIN  aroma-installer/icons/ics/icon.license.png
  111. BIN  aroma-installer/icons/ics/icon.personalize.png
  112. BIN  aroma-installer/icons/ics/icon.update.png
  113. BIN  aroma-installer/icons/ics/icon.welcome.png
  114. BIN  aroma-installer/icons/ics/original/icon.agreement.png
  115. BIN  aroma-installer/icons/ics/original/icon.alert.png
  116. BIN  aroma-installer/icons/ics/original/icon.apps.png
  117. BIN  aroma-installer/icons/ics/original/icon.confirm.png
  118. BIN  aroma-installer/icons/ics/original/icon.customize.png
  119. BIN  aroma-installer/icons/ics/original/icon.default.png
  120. BIN  aroma-installer/icons/ics/original/icon.info.png
  121. BIN  aroma-installer/icons/ics/original/icon.install.png
  122. BIN  aroma-installer/icons/ics/original/icon.license.png
  123. BIN  aroma-installer/icons/ics/original/icon.personalize.png
  124. BIN  aroma-installer/icons/ics/original/icon.update.png
  125. BIN  aroma-installer/icons/ics/original/icon.welcome.png
  126. BIN  aroma-installer/icons/miui/icon.agreement.png
  127. BIN  aroma-installer/icons/miui/icon.alert.png
  128. BIN  aroma-installer/icons/miui/icon.apps.png
  129. BIN  aroma-installer/icons/miui/icon.confirm.png
  130. BIN  aroma-installer/icons/miui/icon.customize.png
  131. BIN  aroma-installer/icons/miui/icon.default.png
  132. BIN  aroma-installer/icons/miui/icon.info.png
  133. BIN  aroma-installer/icons/miui/icon.install.png
  134. BIN  aroma-installer/icons/miui/icon.license.png
  135. BIN  aroma-installer/icons/miui/icon.personalize.png
  136. BIN  aroma-installer/icons/miui/icon.update.png
  137. BIN  aroma-installer/icons/miui/icon.welcome.png
  138. BIN  aroma-installer/icons/miui/ori/ico.apps.png
  139. BIN  aroma-installer/icons/miui/ori/icon.agreement.png
  140. BIN  aroma-installer/icons/miui/ori/icon.alert.png
  141. BIN  aroma-installer/icons/miui/ori/icon.apps.png
  142. BIN  aroma-installer/icons/miui/ori/icon.confirm.png
  143. BIN  aroma-installer/icons/miui/ori/icon.customize.png
  144. BIN  aroma-installer/icons/miui/ori/icon.default.png
  145. BIN  aroma-installer/icons/miui/ori/icon.info.png
  146. BIN  aroma-installer/icons/miui/ori/icon.install.png
  147. BIN  aroma-installer/icons/miui/ori/icon.license.png
  148. BIN  aroma-installer/icons/miui/ori/icon.personalize.png
  149. BIN  aroma-installer/icons/miui/ori/icon.update.png
  150. BIN  aroma-installer/icons/miui/ori/icon.welcome.png
  151. +54 −6 aroma-installer/src/aroma.c
  152. +28 −13 aroma-installer/src/aroma.h
  153. +29 −3 aroma-installer/src/aroma_control_textbox.c
  154. +109 −42 aroma-installer/src/aroma_controls.c
  155. +555 −66 aroma-installer/src/aroma_graph.c
  156. +11 −5 aroma-installer/src/aroma_installer.c
  157. +35 −6 aroma-installer/src/aroma_libs.c
  158. +225 −21 aroma-installer/src/aroma_ui.c
  159. +3 −0  aroma-installer/src/libs/Log.h
  160. +357 −14 info/function-reference.txt
View
8 aroma-installer/deploy.bat
@@ -1,15 +1,15 @@
@echo off
echo Deploying...
REM "D:\DevelTools\AndroidSDK16\" change to android sdk path
-D:\DevelTools\AndroidSDK16\platform-tools\adb push build/aroma /data/
-D:\DevelTools\AndroidSDK16\platform-tools\adb shell chmod 777 /data/aroma
+D:\DevelTools\AndroidSDK16\platform-tools\adb push build/update-binary /data/
+D:\DevelTools\AndroidSDK16\platform-tools\adb shell chmod 777 /data/update-binary
echo STARTING
echo --------------------------------------------------------
echo.
-D:\DevelTools\AndroidSDK16\platform-tools\adb shell /data/aroma 1 0 /sdcard/aroma.zip
+D:\DevelTools\AndroidSDK16\platform-tools\adb shell /data/update-binary 1 0 /sdcard/aroma.zip
echo.
echo --------------------------------------------------------
echo CTRL-C = Save, Enter = Clean
pause
-D:\DevelTools\AndroidSDK16\platform-tools\adb shell rm /data/aroma
+D:\DevelTools\AndroidSDK16\platform-tools\adb shell rm /data/update-binary
View
249 aroma-installer/examples/generic/META-INF/com/google/android/aroma-config
@@ -1,19 +1,43 @@
-##
+### LICENSE:
+#
+# Copyright (C) 2011 Ahmad Amarullah ( http://amarullz.com/ )
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
#
-# AROMA Installer - AROMA Configuration
-# (c) 2011 by Ahmad Amarullah
+### FILE INFO:
+#
+# AROMA Installer 1.50 - AROMA Installer Test Script Configuration
+# (c) 2011-2012 by Ahmad Amarullah
# amarullz - xda-developers
# http://www.amarullz.com/
#
-# Version 1.10
+# Binary Version : 1.50
+# Binary Codename : Cempaka
#
-# INFO:
-# <aroma-assets> = META-INF/com/google/android/aroma
-# <dp> = Device Pixelate. WVGA/QHD = 3, HVGA = 2.
-# dp calculated with = round(min(width,height) / 160)
-# <aroma-tmp> = /tmp/aroma-data/
+### INFO:
#
-##
+# * AROMA Resource Dir = META-INF/com/google/android/aroma
+#
+# * AROMA Temporary Dir = /tmp/aroma-data/
+#
+# * About Icon = @alert - show <AROMA Resource Dir>/icons/alert.png
+# or if theme used it will find <themedir>/icon.alert.png
+# you can still access it via "icons/alert"
+#
+# * dp = Device Pixelate. WVGA/QHD = 3, HVGA = 2.
+# dp calculated with = round(min(width,height) / 160)
+#
+###
##
@@ -53,159 +77,142 @@
# ini_set("customkeycode_back", "158");
#
-
-##
-# Set UI Color
-# foo = Main Color ( If Gradient, it was Top Color )
-# foo_g = Main Color Gradient ( Bottom Color )
-#
-# winbg : Main/Top Most Window Backgroud
-# textbg : Textbox, Checkbox, and any scrollable UI Background
-# textfg : Textbox, Checkbox, and any scrollable UI Text Foreground
-# textfg_gray : Gray Text ( on Optionbox/Checkbox Item Description )
-# controlbg : Control / Button / Checkbox border - Background Color
-# controlfg : Button Text Color
-# selectbg : Selected Element Background ( Pushed/focused Button/items, etc )
-# selectfg : Selected Element Text/Foreground Color
-# titlebg : Window Title Background
-# titlefg : Window Title Text Foreground Color
-# navbg : Bottom Bar (Navigation Bar) Background. Next-Previous Area
-# border : Common Border Color
-#
-#--- If not sets, It will use default colors ( Sense Like )
-#
-# Supported 3 & 6 Char Hex Colors:
-# #fff or #ffffff
-# #469 or #46689a
-#
-#--- Uncomment to use custom color scheme: (Dark)
-# setcolor("winbg", "#444");
-# setcolor("winbg_g", "#222");
-# setcolor("textbg", "#333");
-# setcolor("textfg", "#fff");
-# setcolor("textfg_gray", "#bbb");
-# setcolor("controlbg", "#444");
-# setcolor("controlbg_g", "#222");
-# setcolor("controlfg", "#fff");
-# setcolor("selectbg", "#653");
-# setcolor("selectbg_g", "#542");
-# setcolor("selectfg", "#ffd");
-# setcolor("titlebg", "#333");
-# setcolor("titlebg_g", "#000");
-# setcolor("titlefg", "#fff");
-# setcolor("navbg", "#333");
-# setcolor("navbg_g", "#222");
-# setcolor("border", "#666");
-# setcolor("border_g", "#444");
-
-##
-# SET THEME
-#
-theme("miui");
-
##
# Initializing Rom Information
#
-ini_set("rom_name", "AROMA ROM");
-ini_set("rom_version", "1.0");
+ini_set("rom_name", "AROMA Test Zip");
+ini_set("rom_version", "1.50");
ini_set("rom_author", "amarullz");
-ini_set("rom_device", "HTC Desire (bravo)");
+ini_set("rom_device", "Any Device");
##
-# Show Splash for 4 seconds ( 1000 = 1 sec )
-# "sample" will read <aroma-assets>/"sample".png
-#
-# Image Will auto arrange into center horizontal&vertical
+# Show Simple Splash
#
-splash(2000, "sample");
+splash(
+ #-- Duration 2000ms / 2 seconds
+ 2000,
+
+ #-- <AROMA Resource Dir>/sample.png
+ "sample"
+);
##
-# Show Animated Splash for
+# Show Animated Splash
#
-# Image Will auto arrange into center horizontal&vertical
-#-----
anisplash(
- # Number of Loop
- 8,
-
- # Frame 1 [ Image, duration in millisecond ]
- "splash/a1", 500,
- "splash/a2", 30,
- "splash/a3", 30,
- "splash/a4", 30,
- "splash/a5", 30,
- "splash/a6", 30
+ #-- Number of Loop
+ 8,
+
+ #-- Frame 1 [ Image, duration in millisecond ]
+ #-- <AROMA Resource Dir>/splash/a1.png
+ "splash/a1", 500,
+ "splash/a2", 30,
+ "splash/a3", 30,
+ "splash/a4", 30,
+ "splash/a5", 30,
+ "splash/a6", 30
);
-##-- EXTRACT TEST
-restotmp("sample.png","sample.png");
-
-#
-# Show Calibrating Tools Directly before anything
+##
+# Show Calibrating Tools Directly before show any UI
#
#--- Remove this calibtool if you already know the calibrate data
calibtool("");
+
##
-# View Box UI.
+# STEP 1 - SELECT THEME
#
-# Arguments:
-# 1. Title Text ( max: 31 chars )
-# 2. Text To Show In Window ( max: 1023 chars )
-# 3. PNG Icons, relative to <aroma-assets> ( max width & height: 70 * <dp> )
+selectbox(
+ #-- Title
+ "Select Theme",
+
+ #-- Sub Title
+ "Please select installer theme that you want to use in this installation test:",
+
+ #-- Icon: <AROMA Resource Dir>/icons/personalize.png or <ThemeDir>/icon.personalize.png
+ "@personalize",
+
+ #-- Will be saved in /tmp/aroma-data/theme.prop
+ "theme.prop",
+
+ #---------------------------------[ Selectbox Without Group ]----------------------------------#
+ # TITLE | SUBTITLE | Initial Value #
+ #------------------+-----------------------------------------------------------+---------------#
+ "Generic", "Unthemed AROMA Installer", 1,
+ "MIUI Theme", "MIUI Theme by mickey-r & amarullz", 0,
+ "ICS Theme", "Ice Cream Sandwitch by DemonWav & amarullz", 0,
+ "Sense Theme", "HTC Sense Theme by amarullz", 0
+ #-- Initial Value = 0: Unselected, 1: Selected, 3: Not Visible
+);
+
+##
+# SET THEME
+#
+if
+ prop("theme.prop", "selected.0") == "2"
+then
+ theme("miui");
+endif;
+
+if
+ prop("theme.prop", "selected.0") == "2"
+then
+ theme("ics");
+endif;
+
+if
+ prop("theme.prop", "selected.0") == "3"
+then
+ theme("sense");
+endif;
+
+##
+# STEP 2 - SHOW INFORMATION
#
viewbox(
- # Arg 1
+ #-- Title
"Welcome",
- # Arg 2
- "You are about to Installing AROMA ROM for HTC Desire GSM (bravo).\n\n"+
- "AROMA ROM for HTC Desire GSM, Bring your old Desire Hardware "+
- "Into Stunning Android 5.0 Jelly with AROMA UI, yet "+
- "Powerfull, Stable and Fastest ROM for HTC Desire.\n\n\n"+
- " VERSION : <#080>1.0</#> Insane Edition\n"+
- " UPDATED : <#080>Dec, 30 2011</#>\n\n\n"+
+ #-- Text
+ "You are about to Installing AROMA Test Zip for Any Device.\n\n"+
+
+ "AROMA Installer was the first and the only Touch and Customizable "+
+ "ANDROID ROM Installer in the World.\n\n"+
+ "\t\tVERSION : <b>1.50</b> CODENAME: Cempaka\n"+
+ "\t\tUPDATED : <b>Feb, 20 2012</b>\n\n\n"+
+
"Press Next to Continue the Installation...",
- # Arg 3
- "icons/info"
+ #-- Icon
+ "@info"
);
##
-# Agreement Box UI.
-#
-# Arguments:
-# 1. Title Text ( max: 31 chars )
-# 2. Info Text To Show below title ( max: 1023 chars )
-# 3. PNG Icons, relative to <aroma-assets> ( max width & height: 70 * <dp> )
-# 4. Text. ( can readed from file, with "readfile_aroma" )
-# 5. Agreement Text in checkbox
-# 6. Alert Text when user not checked the checkbox
+# STEP 3 - LICENSE
#
agreebox(
- # Arg 1
- "Terms Of Use",
+ #-- Title
+ "Terms and Conditions",
- # Arg 2
- "Please read carefully The AROMA ROM Terms of Use Below...",
+ #-- Subtitle / Description
+ "Please read carefully The AROMA Installer Terms and Conditions Below.",
- # Arg 3
- "icons/agreement",
+ #-- Icon
+ "@agreement",
- # Arg 4
- ## Read From File: Will read <aroma-assets>/sample.txt
- readfile_aroma("sample.txt"),
+ #-- Text Content ( Read from <AROMA Resource Dir>/license.txt )
+ resread("license.txt"),
# 5
- "I Agree with this Terms Of Use...",
+ "I Agree with this Terms and Conditions...",
# 6
"Please check the agreement..."
);
-
##
# Text Box UI. - Same with Agreement, but without checkbox and alert.
#
View
1,454 aroma-installer/examples/release/META-INF/com/google/android/aroma-config
@@ -1,19 +1,43 @@
-##
+### LICENSE:
+#
+# Copyright (C) 2011 Ahmad Amarullah ( http://amarullz.com/ )
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
#
-# AROMA Installer - AROMA Configuration
-# (c) 2011 by Ahmad Amarullah
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+### FILE INFO:
+#
+# AROMA Installer 1.60 - AROMA Installer Test Script Configuration
+# (c) 2011-2012 by Ahmad Amarullah
# amarullz - xda-developers
# http://www.amarullz.com/
#
-# Version 1.10
+# Binary Version : 1.60
+# Binary Codename : Cempaka
#
-# INFO:
-# <aroma-assets> = META-INF/com/google/android/aroma
-# <dp> = Device Pixelate. WVGA/QHD = 3, HVGA = 2.
-# dp calculated with = round(min(width,height) / 160)
-# <aroma-tmp> = /tmp/aroma-data/
+### INFO:
#
-##
+# * AROMA Resource Dir = META-INF/com/google/android/aroma
+#
+# * AROMA Temporary Dir = /tmp/aroma/
+#
+# * About Icon = @alert - show <AROMA Resource Dir>/icons/alert.png
+# or if theme used it will find <themedir>/icon.alert.png
+# you can still access it via "icons/alert"
+#
+# * dp = Device Pixelate. WVGA/QHD = 3, HVGA = 2.
+# dp calculated with = round(min(width,height) / 160)
+#
+###
##
@@ -29,6 +53,7 @@
#
#-------- Uncomment This to insert calibrating data:
# calibrate("7.90","20","7.90","20");
+#
##
@@ -53,436 +78,1213 @@
# ini_set("customkeycode_back", "158");
#
-
-##
-# Set UI Color
-# foo = Main Color ( If Gradient, it was Top Color )
-# foo_g = Main Color Gradient ( Bottom Color )
-#
-# winbg : Main/Top Most Window Backgroud
-# textbg : Textbox, Checkbox, and any scrollable UI Background
-# textfg : Textbox, Checkbox, and any scrollable UI Text Foreground
-# textfg_gray : Gray Text ( on Optionbox/Checkbox Item Description )
-# controlbg : Control / Button / Checkbox border - Background Color
-# controlfg : Button Text Color
-# selectbg : Selected Element Background ( Pushed/focused Button/items, etc )
-# selectfg : Selected Element Text/Foreground Color
-# titlebg : Window Title Background
-# titlefg : Window Title Text Foreground Color
-# navbg : Bottom Bar (Navigation Bar) Background. Next-Previous Area
-# border : Common Border Color
-#
-#--- If not sets, It will use default colors ( Sense Like )
-#
-# Supported 3 & 6 Char Hex Colors:
-# #fff or #ffffff
-# #469 or #46689a
-#
-#--- Uncomment to use custom color scheme: (Dark)
-# setcolor("winbg", "#444");
-# setcolor("winbg_g", "#222");
-# setcolor("textbg", "#333");
-# setcolor("textfg", "#fff");
-# setcolor("textfg_gray", "#bbb");
-# setcolor("controlbg", "#444");
-# setcolor("controlbg_g", "#222");
-# setcolor("controlfg", "#fff");
-# setcolor("selectbg", "#653");
-# setcolor("selectbg_g", "#542");
-# setcolor("selectfg", "#ffd");
-# setcolor("titlebg", "#333");
-# setcolor("titlebg_g", "#000");
-# setcolor("titlefg", "#fff");
-# setcolor("navbg", "#333");
-# setcolor("navbg_g", "#222");
-# setcolor("border", "#666");
-# setcolor("border_g", "#444");
-
-##
-# SET THEME
-#
-theme("ics");
-
##
# Initializing Rom Information
#
-ini_set("rom_name", "AROMA ROM");
-ini_set("rom_version", "1.0");
+ini_set("rom_name", "AROMA Test Zip");
+ini_set("rom_version", "1.60");
ini_set("rom_author", "amarullz");
-ini_set("rom_device", "HTC Desire (bravo)");
-
+ini_set("rom_device", "Any Device");
+ini_set("rom_date", "Feb, 20 2012");
##
-# Show Splash for 4 seconds ( 1000 = 1 sec )
-# "sample" will read <aroma-assets>/"sample".png
-#
-# Image Will auto arrange into center horizontal&vertical
+# Show Simple Splash
#
-splash(5000, "sample");
+splash(
+ #-- Duration 2000ms / 2 seconds
+ 2000,
+
+ #-- <AROMA Resource Dir>/sample.png
+ "sample"
+);
##
-# Show Animated Splash for
+# Show Animated Splash
#
-# Image Will auto arrange into center horizontal&vertical
-#-----
anisplash(
- # Number of Loop
- 4,
-
- # Frame 1 [ Image, duration in millisecond ]
- "splash/a1", 500,
- "splash/a2", 30,
- "splash/a3", 30,
- "splash/a4", 30,
- "splash/a5", 30,
- "splash/a6", 30
+ #-- Number of Loop
+ 4,
+
+ #-- Frame 1 [ Image, duration in millisecond ]. <AROMA Resource Dir>/splash/a[1..6].png
+ "splash/a1", 500,
+ "splash/a2", 30,
+ "splash/a3", 30,
+ "splash/a4", 30,
+ "splash/a5", 30,
+ "splash/a6", 30
);
-
-##-- EXTRACT TEST
-restotmp("sample.png","sample.png");
+##
+# Show Calibrating Tools Directly before show any UI
+#
+#--- Remove this calibtool if you already know the calibrate data
+calibtool("");
+###################################################################################################################
#
-# Show Calibrating Tools Directly before anything
+# STEP 1 - SELECT THEME
#
-#--- Remove this calibtool if you already know the calibrate data
-calibtool("");
+selectbox(
+ #-- Title
+ "Select Theme",
+
+ #-- Sub Title
+ "Please select installer theme that you want to use in this installation test:",
+
+ #-- Icon: <AROMA Resource Dir>/icons/personalize.png or <ThemeDir>/icon.personalize.png
+ "@personalize",
+
+ #-- Will be saved in /tmp/aroma/theme.prop
+ "theme.prop",
+
+ #---------------------------------[ Selectbox Without Group ]----------------------------------#
+ # TITLE | SUBTITLE | Initial Value #
+ #------------------+-----------------------------------------------------------+---------------#
+
+ "Generic", "Unthemed AROMA Installer", 1, #-- selected.0 = 1
+ "MIUI Theme", "MIUI Theme by mickey-r & amarullz", 0, #-- selected.0 = 2
+ "ICS Theme", "Ice Cream Sandwitch by DemonWav & amarullz", 0, #-- selected.0 = 3
+ "MIUI 4 Theme", "MIUI 4/ICS Theme by amarullz & Lennox", 0, #-- selected.0 = 4
+ "Sense Theme", "HTC Sense Theme by amarullz", 0 #-- selected.0 = 5
+
+ #--------[ Initial Value = 0: Unselected, 1: Selected, 2: Group Item, 3: Not Visible ]---------#
+);
##
-# View Box UI.
+# SET THEME
+#
+#-- Change Info:
+# file_getprop : should use absolute path "/tmp/aroma/theme.prop"
+# prop : just use relative path "theme.prop" will automatically read the "/tmp/aroma/theme.prop"
+#
+if prop("theme.prop","selected.0")=="2" then
+ theme("miui");
+endif;
+
+if prop("theme.prop","selected.0")=="3" then
+ theme("ics");
+endif;
+
+if prop("theme.prop","selected.0")=="4" then
+ theme("miui4");
+endif;
+
+if prop("theme.prop","selected.0")=="5" then
+ theme("sense");
+endif;
+
+###################################################################################################################
#
-# Arguments:
-# 1. Title Text ( max: 31 chars )
-# 2. Text To Show In Window ( max: 1023 chars )
-# 3. PNG Icons, relative to <aroma-assets> ( max width & height: 70 * <dp> )
+# STEP 2 - SHOW ROM INFORMATION
#
viewbox(
- # Arg 1
+ #-- Title
"Welcome",
- # Arg 2
- "You are about to Installing AROMA ROM for HTC Desire GSM (bravo).\n\n"+
- "AROMA ROM for HTC Desire GSM, Bring your old Desire Hardware "+
- "Into Stunning Android 5.0 Jelly with AROMA UI, yet "+
- "Powerfull, Stable and Fastest ROM for HTC Desire.\n\n\n"+
- " VERSION : <#080>1.0</#> Insane Edition\n"+
- " UPDATED : <#080>Dec, 30 2011</#>\n\n\n"+
+ #-- Text
+ "You are about to Installing <b>"+
+ #-- Get Config Value
+ ini_get("rom_name")+
+ "</b> for <b>"+ini_get("rom_device")+"</b>.\n\n"+
+
+ "AROMA Installer was the first and the only Touch and Customizable "+
+ "ANDROID ROM Installer in the World.\n\n"+
+
+ " VERSION\t: <b><#selectbg_g>"+ini_get("rom_version")+"</#></b>\n"+
+ " CODENAME\t: <b><#selectbg_g>Cempaka</#></b>\n"+
+ " UPDATED\t: <b><#selectbg_g>"+ini_get("rom_date")+"</#></b>\n\n\n"+
+
"Press Next to Continue the Installation...",
- # Arg 3
- "icons/info"
+ #-- Icon
+ "@welcome"
);
-##
-# Agreement Box UI.
+###################################################################################################################
#
-# Arguments:
-# 1. Title Text ( max: 31 chars )
-# 2. Info Text To Show below title ( max: 1023 chars )
-# 3. PNG Icons, relative to <aroma-assets> ( max width & height: 70 * <dp> )
-# 4. Text. ( can readed from file, with "readfile_aroma" )
-# 5. Agreement Text in checkbox
-# 6. Alert Text when user not checked the checkbox
+# STEP 3 - LICENSE
#
agreebox(
- # Arg 1
- "Terms Of Use",
+ #-- Title
+ "Terms and Conditions",
- # Arg 2
- "Please read carefully The AROMA ROM Terms of Use Below...",
+ #-- Subtitle / Description
+ "Please read carefully The AROMA Installer Terms and Conditions Below.",
- # Arg 3
- "icons/agreement",
+ #-- Icon
+ "@license",
- # Arg 4
- ## Read From File: Will read <aroma-assets>/sample.txt
- readfile_aroma("sample.txt"),
+ #-- Text Content ( Read from <AROMA Resource Dir>/license.txt )
+ resread("license.txt"),
- # 5
- "I Agree with this Terms Of Use...",
+ #-- Checkbox Text
+ "I Agree with this Terms and Conditions...",
- # 6
+ #-- Unchecked Alert Message
"Please check the agreement..."
);
-##
-# Text Box UI. - Same with Agreement, but without checkbox and alert.
+###################################################################################################################
#
-# Arguments:
-# 1. Title Text ( max: 31 chars )
-# 2. Info Text To Show below title ( max: 1023 chars )
-# 3. PNG Icons, relative to <aroma-assets> ( max width & height: 70 * <dp> )
-# 4. Text. ( can readed from file, with "readfile_aroma" )
+# STEP 4 - CHANGELOG
#
textbox(
- # Arg 1
- "Changelogs",
+ #-- Title
+ "Changelog",
- # Arg 2
- "AROMA ROM Changelogs",
+ #-- Subtitle
+ "AROMA Installer Changelog",
- # Arg 3
- "icons/info",
+ #-- Icon
+ "@update",
- # Arg 4
- readfile_aroma("sample.txt")
+ #-- Arg 4
+ resread("changelog.txt")
);
-##
+###################################################################################################################
#
-# Show please wait Interface.
+# STEP 5 - SHOW MENUBOX - AROMA INSTALLER DEMO MENU
#
-pleasewait("Creating Test Temp File...");
+menubox(
+ #-- Title
+ "AROMA Installer Demo",
+
+ #-- Sub Title
+ "Please select menu below to start AROMA Installer Features Demonstration",
+
+ #-- Icon
+ "@apps",
+
+ #-- Will be saved in /tmp/aroma/demo.prop
+ "demo.prop",
+
+ #-------------------------+-----------------[ Menubox Items ]-------------------------+---------------#
+ # TITLE | SUBTITLE | Item Icons #
+ #-------------------------+-----------------------------------------------------------+---------------#
+
+ "Installation Demo", "ROM Installation demonstration with AROMA Installer", "@install", #-- selected = 1
+ "System Info Demo", "Get and show device/partition informations", "@info", #-- selected = 2
+ "Exec Demo", "Run system program & shell script then show it results", "@default", #-- selected = 3
+ "AMS Demo", "AROMA Markup String demonstration", "@agreement", #-- selected = 4
+ "Dialog Demo", "Show AROMA dialogs demonstration", "@alert", #-- selected = 5
+ "Back Sequence Demo", "Show AROMA back feature demonstration", "@customize", #-- selected = 6
+ "Presistent Data Demo", "Save & Load customize data into/from sdcard", "@update", #-- selected = 7
+ "Other Demo", "Show others AROMA Features demonstration", "@apps" #-- selected = 8
+);
-##
+###################################################################################################################
+# #
+# AROMA INSTALLER DEMO #
+# #
+###################################################################################################################
+
+##--------------------------------------
#
-# Create Temp text file. fill be store at
-# /tmp/aroma-data/"test.txt"
+# System Info Demo
#
-writetmpfile("test.txt","This is test txt...");
+if prop("demo.prop","selected")=="2" then
+ #-- Show Please Wait
+ pleasewait("Get System Informations...");
-##
-#
-# Show Alert Dialog...
+ #-- Fetch System Information
+ setvar(
+ #-- Variable Name
+ "sysinfo",
+
+ #-- Variable Value
+ "<@center><b>Your Device System Information</b></@>\n\n"+
+
+ "Model\t\t\t: <b><#selectbg_g>"+sysprop("ro.product.model")+"</#></b>\n"+
+ "Name\t\t\t: <b><#selectbg_g>"+sysprop("ro.product.name")+"</#></b>\n"+
+ "Device Name\t\t: <b><#selectbg_g>"+sysprop("ro.product.device")+"</#></b>\n"+
+ "Board Name\t\t: <b><#selectbg_g>"+sysprop("ro.product.board")+"</#></b>\n"+
+ "Manufacturer\t\t: <b><#selectbg_g>"+sysprop("ro.product.manufacturer")+"</#></b>\n\n"+
+
+ "CPU\t\t\t: <b><#selectbg_g>"+sysprop("ro.product.cpu.abi")+"</#></b>\n"+
+ "LCD Desinty\t\t: <b><#selectbg_g>"+sysprop("ro.sf.lcd_density")+"</#></b>\n\n"+
+
+ "System Size\t\t: <b><#selectbg_g>"+getdisksize("/system","m")+" MB</#></b>\n"+
+ "\tFree\t\t: <b><#selectbg_g>"+getdiskfree("/system","m")+" MB</#></b>\n\n"+
+ "Data Size\t\t: <b><#selectbg_g>"+getdisksize("/data","m")+" MB</#></b>\n"+
+ "\tFree\t\t: <b><#selectbg_g>"+getdiskfree("/data","m")+" MB</#></b>\n\n"+
+ "(/mnt/sdcard)\t\t: <b><#selectbg_g>"+getdisksize("/mnt/sdcard","m")+" MB</#></b>\n"+
+ "\tFree\t\t: <b><#selectbg_g>"+getdiskfree("/mnt/sdcard","m")+" MB</#></b>\n\n"+
+ "SDCard Size\t\t: <b><#selectbg_g>"+getdisksize("/sdcard","m")+" MB</#></b>\n"+
+ "\tFree\t\t: <b><#selectbg_g>"+getdiskfree("/sdcard","m")+" MB</#></b>\n\n"+
+ "SD-EXT Size\t\t: <b><#selectbg_g>"+getdisksize("/sd-ext","m")+" MB</#></b>\n"+
+ "\tFree\t\t: <b><#selectbg_g>"+getdiskfree("/sd-ext","m")+" MB</#></b>\n\n"+
+
+ ""
+ );
+
+ #-- Show Textbox
+ textbox(
+ #-- Title
+ "System Information",
+
+ #-- Subtitle
+ "Current system information may not supported in all devices.",
+
+ #-- Icon
+ "@info",
+
+ #-- Text
+ getvar("sysinfo")
+ );
+
+ #-- Show Alert
+ alert(
+ #-- Alert Title
+ "Demo Finished",
+
+ #-- Alert Text
+ "You will be back to Demo Main Menu",
+
+ #-- Alert Icon
+ "@alert"
+ );
+
+ #-- Back to Demo Menu ( 2 Wizard UI to Back )
+ back("2");
+
+endif;
+
+
+##--------------------------------------
#
-# Arguments:
-# 1. Title Text ( max: 31 chars )
-# 2. Info Text To Show below title ( max: 512 chars )
-# 3. PNG Icons, relative to <aroma-assets> ( max width & height: 70 * <dp> )
-# 4. OK Button Text. if not defined, it will use "OK"
+# Exec Demo
#
-alert(
- # Arg 1
- "Temp File Has Been Created",
+if prop("demo.prop","selected")=="3" then
+
+ #-- Show Please Wait
+ pleasewait("Executing Shell...");
- # Arg 2
- "Test with: \n"+
- " > adb shell\n"+
- " # cd /tmp/aroma-data\n"+
- " # cat test.txt\n\n"+
- "Thanks...",
+ #-- Resource Exec
+ setvar(
+ #-- Save Return Status
+ "resexec_retstatus",
+
+ #-- Run Shell
+ resexec("exec_demo/exec_demo1.sh")
+ );
- # Arg 3
- "icons/info",
+ #-- Show Exec Buffer
+ textbox(
+ #-- Title
+ "AROMA Exec Demo",
+
+ #-- Subtitle
+ "This textbox Contain Buffer Output from <b>resexec</b> function. And at the end, the return status is appended.",
+
+ #-- Icon
+ "@default",
+
+ #-- Text
+ getvar("exec_buffer")+
+ "\n\n<b>RETURN STATUS : "+
+ getvar("resexec_retstatus")
+ );
- # Arg 4
- "Yahoo..."
-);
-
+
+ #-- Resource Exec
+ setvar(
+ #-- Save Return Status
+ "resexec_retstatus2",
+
+ #-- Run Shell
+ resexec("exec_demo/exec_demo2.sh")
+ );
+
+ #-- Show Exec Buffer
+ textbox(
+ #-- Title
+ "AROMA Exec Demo 2",
+
+ #-- Subtitle
+ "This textbox Contain Buffer Output from <b>resexec</b> function. And at the end, the return status is appended.",
+
+ #-- Icon
+ "@default",
+
+ #-- Text
+ getvar("exec_buffer")+
+ "\n\n<b>RETURN STATUS : "+
+ getvar("resexec_retstatus2")
+ );
+
+ #-- Extract displaycapture to /tmp/aroma/displaycapture
+ restotmp("exec_demo/displaycapture","displaycapture");
+
+ #-- Exec
+ setvar(
+ #-- Save Return Status
+ "resexec_retstatus3",
+
+ #-- Run Shell
+ exec("/tmp/aroma/displaycapture","This is First Argument","This is 2nd Argument","OK_LAST_ARGUMENT")
+ );
+
+ #-- Show Exec Buffer
+ textbox(
+ #-- Title
+ "AROMA Exec Demo 3",
+
+ #-- Subtitle
+ "This demo extract binary executable into AROMA tmp using <b>restotmp()</b>, then execute it using <b>exec()</b> function with arguments.",
+
+ #-- Icon
+ "@default",
+
+ #-- Text
+ getvar("exec_buffer")+
+ "\n\n<b>RETURN STATUS : "+
+ getvar("resexec_retstatus3")
+ );
+
+ #-- Show Alert
+ alert(
+ #-- Alert Title
+ "Demo Finished",
+
+ #-- Alert Text
+ "You will be back to Demo Main Menu",
+
+ #-- Alert Icon
+ "@alert"
+ );
+
+ #-- Back to Demo Menu ( 3 Wizard UI to Back )
+ back("4");
+
+endif;
-pleasewait("Test Variable & Calculation...");
-##
+##--------------------------------------
#
-# Test Variable and Math Calculation
+# AROMA Markup String Demo
#
- setvar("foo","Initial Value");
- appendvar("foo"," Append After");
- prependvar("foo","Prepend Before ");
+if prop("demo.prop","selected")=="4" then
+
+ #-- Show Textbox
+ textbox(
+ #-- Title
+ "AROMA Markup String",
+
+ #-- Subtitle
+ "This textbox demonstration how to use AROMA Markup String for formatting text in AROMA UI.",
+
+ #-- Icon
+ "@agreement",
+
+ #-- Text
+ resread("ams_sample.txt")
+ );
+
+ #-- Show Alert
+ alert(
+ #-- Alert Title
+ "Demo Finished",
+
+ #-- Alert Text
+ "You will be back to Demo Main Menu",
+
+ #-- Alert Icon
+ "@alert"
+ );
+
+ #-- Back to Demo Menu ( 2 Wizard UI to Back )
+ back("2");
+
+endif;
+
+##--------------------------------------
#
-# result: "Prepend Before Initial Value Append After"
+# Dialog Demo
#
- setvar("calculating",
- # 40 * (5+10)
- cal("40","*",cal("5","+","10"))
+if prop("demo.prop","selected")=="5" then
+
+ #-- Show Back Menu
+ menubox(
+ #-- Title
+ "AROMA Dialog Demo",
+
+ #-- Sub Title
+ "Please select menu below to Test AROMA Dialog Demonstration.",
+
+ #-- Icon
+ "@alert",
+
+ #-- Will be saved in /tmp/aroma/dialog_demo.prop
+ "dialog_demo.prop",
+
+ #-------------------------+-----------------[ Menubox Items ]-------------------------+---------------#
+ # TITLE | SUBTITLE | Item Icons #
+ #-------------------------+-----------------------------------------------------------+---------------#
+
+ "Alert Demo", "Show Alert Dialog with OK and Custom OK Button", "@alert", #-- selected = 1
+ "Confirm Demo", "Show Confirmation Dialog and Display The Selected Button", "@info", #-- selected = 2
+ "Text Dialog", "Show Text Dialog, same as Alert but text is scrollable", "@agreement" #-- selected = 3
);
+
+ #-- Show Alert
+ if prop("dialog_demo.prop","selected")=="1" then
+ #-- Alert Demo 1
+ alert(
+ #-- Title
+ "Alert Demo 1",
+ #-- Text
+ "Demo 1: Show Text only with default OK button..."
+ );
+
+ #-- Alert Demo 2
+ alert(
+ #-- Title
+ "Alert Demo 2",
+ #-- Text
+ "Demo 2: Show Text and Info Icon with default OK button...",
+ #-- Icon
+ "@info"
+ );
+
+ #-- Alert Demo 3
+ alert(
+ #-- Title
+ "Alert Demo 3",
+ #-- Text
+ "Demo 3: Show Text and Alert Icon with default OK button...",
+ #-- Icon
+ "@alert"
+ );
+
+ #-- Alert Demo 4
+ alert(
+ #-- Title
+ "Alert Demo 3",
+ #-- Text
+ "Demo 3: Show Text and Alert Icon with custom OK button...",
+ #-- Icon
+ "@alert",
+ #-- Ok text
+ "Custom OK Text"
+ );
+
+ endif;
+
+
+ #-- Show Confirm
+ if prop("dialog_demo.prop","selected")=="2" then
+ #-- Confirm Demo 1
+ if
+ confirm(
+ #-- Title
+ "Confirm Demo 1",
+ #-- Text
+ "Please Select Yes or No?",
+ #-- Icon (Optional)
+ "@info"
+ )=="yes"
+ then
+ alert("Result","You press Yes Button...");
+ else
+ alert("Result","You press No Button...");
+ endif;
+
+ #-- Confirm Demo 2
+ if
+ confirm(
+ #-- Title
+ "Confirm Demo 2",
+ #-- Text
+ "Are you Noobs or Real Dev (lol)?",
+ #-- Icon (Optional)
+ "@personalize",
+ #-- Yes Text
+ "Noobs",
+ #-- No Text
+ "Real Dev"
+ )=="yes"
+ then
+ alert("You Are Noobs","But no problem if you are a human...");
+ else
+ alert("You Are Real Dev","That's Great! If you are not lie ...");
+ endif;
+ endif;
+
+ #-- Show Confirm
+ if prop("dialog_demo.prop","selected")=="3" then
+
+ #-- TextDialog Demo 1
+ textdialog(
+ #-- Title
+ "TextDialog Demo 1",
+ #-- Text
+ resread("license.txt")
+ );
+
+ #-- TextDialog Demo 2
+ textdialog(
+ #-- Title
+ "TextDialog Demo 2",
+ #-- Text
+ resread("ams_sample.txt"),
+ #-- Custom OK Button Text (Optional)
+ "Close"
+ );
+ endif;
+
+ #-- Back to Dialog Demo Menu (Note: Dialog wasn't Wizard UI, so back("1") will back to dialog demo menu
+ back("1");
+endif;
-pleasewait("Get Partitions Size...");
+##--------------------------------------
#
-# getdisksize( path to mount point, unit size - m=MB, k=KB, b=byte )
+# Back Sequence Demo
#
-setvar("systemsize",getdisksize("/system","k"));
-setvar("sdextsize", getdisksize("/sd-ext","m"));
+if prop("demo.prop","selected")=="6" then
+
+ #-- Show Back Menu
+ menubox(
+ #-- Title
+ "AROMA Back Demo",
+
+ #-- Sub Title
+ "Please select menu below to Test Back Sequence Demonstration.\n\n<b>NOTE:</b> Back=1 is back to current UI.",
+
+ #-- Icon
+ "@customize",
+
+ #-- Will be saved in /tmp/aroma/back_demo.prop
+ "back_demo.prop",
+
+ #-------------------------+-----------------[ Menubox Items ]-------------------------+---------------#
+ # TITLE | SUBTITLE | Item Icons #
+ #-------------------------+-----------------------------------------------------------+---------------#
+
+ "Demo Menu", "Back = 2 - Back to Demo Menu", "@apps", #-- selected = 1
+ "Changelog", "Back = 3 - Back to Changelog Screen", "@update", #-- selected = 2
+ "Terms and Conditions", "Back = 4 - Back to Terms and Conditions", "@license", #-- selected = 3
+ "Welcome", "Back = 5 - Back to Welcome Message", "@welcome", #-- selected = 4
+ "Select Theme", "Back = 6 - Back to Select Theme", "@personalize" #-- selected = 5
+ );
+
+ #-- Back Size will be saved in "back_value" variable
+ setvar(
+ #-- Variable Name
+ "back_value",
+
+ #-- Variable Value ( use calculate to set selected+1 )
+ cal(
+ #-- First Value
+ prop("back_demo.prop","selected"),
+
+ #-- Operator (+ = add)
+ "+",
+
+ #-- Second Value
+ "1"
+ )
+ );
+
+ #-- Do Back Action
+ back(
+ getvar("back_value")
+ );
+endif;
+##--------------------------------------
#
-# Show Data In Alert
+# Presistent Data Demo
#
-alert(
- # Arg 1
- "Test Variables & Calc",
+if prop("demo.prop","selected")=="7" then
+
+ #-- Ask SDCARD Mount Point
+ if (getvar("sdcard_location")=="") then
+ #-- Confirm Demo 1
+ if
+ confirm(
+ #-- Title
+ "SDCard Mount Point",
+ #-- Text
+ "Where is your SDCard mounted?",
+ #-- Icon (Optional)
+ "@info",
+ #-- Yes Text
+ "/sdcard",
+ #-- No Text
+ "/mnt/sdcard"
+ )=="yes"
+ then
+ setvar("sdcard_location","/sdcard");
+ else
+ setvar("sdcard_location","/mnt/sdcard");
+ endif;
+ endif;
+
+ #-- Load aroma_demo_presistent.prop into variable
+ setvar(
+ #-- Variable name
+ "presistent_prop",
+ #-- Value
+ read(
+ #-- Absolute Path
+ getvar("sdcard_location")+"/aroma_demo_presistent.prop"
+ )
+ );
+
+ #-- Check is there any aroma_demo_presistent.prop in sdcard
+ if (getvar("presistent_prop")!="") then
+ #-- aroma_demo_presistent.prop is available
+ if
+ confirm(
+ #-- Title
+ "Load Data",
+ #-- Text
+ "Saved File <u>aroma_demo_presistent.prop</u> is Available in your SDCard\n\n"+
+ "Do you want to load previous customization data?",
+ #-- Icon (Optional)
+ "@info"
+ )=="yes"
+ then
+ #-- Write "presistent_prop" into temporary file
+ writetmpfile("presistent.prop",getvar("presistent_prop"));
+ endif;
+ endif;
+
+ ##
+ # Show Customize Test Checkbox
+ #
+ checkbox(
+ # Title
+ "Select Main Mods",
+
+ # Sub Title
+ "This customize data will be saved into <b>aroma_demo_presistent.prop</b> in your sdcard:\n\n"+
+ "After saving the data, try exit installer, then run this demo again.",
+
+ # Icon
+ "@update",
+
+ # Will be saved in /tmp/aroma/mods.prop
+ "presistent.prop",
+
+ #----------------------------------[ Selectbox With Groups ]-----------------------------------#
+ # TITLE | SUBTITLE | Initial Value #
+ #------------------+-----------------------------------------------------------+---------------#
+ "About Yourself", "", 2, #-- Group 1
+ "I am a real Dev", "If you are the real developer", 0, #-- item.1.1
+ "I am a noobs", "If you are the real noobs", 0, #-- item.1.2
+ "I am xda-developers","If you have an account in xda-developers.com", 0, #-- item.1.3
+
+ "Your Projects", "", 2, #-- Group 2
+ "Custom ROM", "If you made a custom ROM", 0, #-- item.2.1
+ "Custom Troll", "If you post many trolls in forum", 0 #-- item.2.2
+
+ #--------[ Initial Value = 0: Unselected, 1: Selected, 2: Group Item, 3: Not Visible ]---------#
+ );
+
+ ##
+ # Show Save Confirmation
+ #
+ if
+ confirm(
+ #-- Title
+ "Save Data",
+ #-- Text
+ "Your customize data will be saved into <u>aroma_demo_presistent.prop</u> in your SDCard\n\n"+
+ "Do you want to save it?",
+ #-- Icon (Optional)
+ "@info"
+ )=="yes"
+ then
+ #-- Write String Into File
+ write(
+ #-- Absolute path into the file
+ getvar("sdcard_location")+"/aroma_demo_presistent.prop",
+
+ #-- File Content to be write into the file
+ readtmpfile("presistent.prop");
+ );
+
+ #-- Show Alert
+ alert(
+ #-- Alert Title
+ "Data Has Been Saved",
+
+ #-- Alert Text
+ "Customized data has been saved into your SDCard\n\n"+
+ "Try to exit the installer, then run this demo again.",
+
+ #-- Alert Icon
+ "@info"
+ );
+
+ endif;
+
+ #-- Show Alert
+ alert(
+ #-- Alert Title
+ "Demo Finished",
+
+ #-- Alert Text
+ "You will be back to Demo Main Menu",
+
+ #-- Alert Icon
+ "@alert"
+ );
- # Arg 2
- "foo: \n"+
- getvar("foo")+"\n"+
+ #-- Back to Dialog Demo Menu
+ back("2");
+endif;
+
+
+##--------------------------------------
+#
+# Other Demo
+#
+if prop("demo.prop","selected")=="8" then
+
+ #-- Show Other Demo
+ menubox(
+ #-- Title
+ "AROMA Other Demo",
- "calculating: \n"+
- getvar("calculating")+"\n\n"+
+ #-- Sub Title
+ "Please Select Misc Demo Below.",
- "/system: "+
- getvar("systemsize")+"KB\n"+
+ #-- Icon
+ "@apps",
+
+ #-- Will be saved in /tmp/aroma/other_demo.prop
+ "other_demo.prop",
+
+ #-------------------------+-----------------[ Menubox Items ]-------------------------+---------------#
+ # TITLE | SUBTITLE | Item Icons #
+ #-------------------------+-----------------------------------------------------------+---------------#
- "/sd-ext: \n"+
- getvar("sdextsize")+"MB\n"+
+ "Reboot", "Reboot Your Device", "@alert", #-- selected = 1
+ "Exit", "Terminate AROMA Installer", "@install", #-- selected = 2
+ "Calculation", "cal() function demo", "@agreement", #-- selected = 3
+ "Inline IF", "iif() & cmp() function demo", "@info" #-- selected = 4
+ );
- # Arg 3
- "icons/alert",
+ #-- Reboot
+ if prop("other_demo.prop","selected")=="1" then
+ if
+ confirm(
+ #-- Title
+ "Reboot",
+ #-- Text
+ "Are you sure want to reboot your device?",
+ #-- Icon (Optional)
+ "@alert"
+ )=="yes"
+ then
+ #
+ # reboot("onfinish"); - Reboot if anything finished
+ # reboot("now"); - Reboot Directly
+ # reboot("disable"); - If you set reboot("now") before, use this command to revert it.
+ #
+ reboot("now");
+ endif;
+ endif;
- # Arg 4
- "Yeah"
-);
+ #-- Exit
+ if prop("other_demo.prop","selected")=="2" then
+ if
+ confirm(
+ #-- Title
+ "Exit",
+ #-- Text
+ "Are you sure want to exit the Installer?",
+ #-- Icon (Optional)
+ "@alert"
+ )=="yes"
+ then
+ #-- Exit - NOTE: Add dummy argument
+ exit("");
+ endif;
+ endif;
+
+ #-- Calculation
+ if prop("other_demo.prop","selected")=="3" then
+ #-- Calculation Alert
+ alert(
+ #-- Alert Title
+ "Calculation",
+
+ #-- Alert Text
+ "1024 * 1024\t="+cal("1024","*","1024")+"\n"+
+ "2000 / 10\t="+cal("2000","/","10")+"\n"+
+ "468 + 520\t="+cal("468","+","520")+"\n"+
+ "9860 - 45\t="+cal("9860","-","45")+"\n"+
+ "1113 mod 99\t="+cal("1113","%","99"),
+
+ #-- Alert Icon
+ "@agreement"
+ );
+ endif;
+
+ #-- Inline If
+ if prop("other_demo.prop","selected")=="4" then
+ #-- Inline If Alert
+ alert(
+ #-- Alert Title
+ "Inline If",
+
+ #-- Alert Text
+ "200 > 100\t= "+iif(cmp("200",">","100"),"True","False")+"\n"+
+ "200 < 100\t= "+iif(cmp("200","<","100"),"True","False")+"\n"+
+ "200 >= 200\t= "+iif(cmp("200",">=","200"),"True","False")+"\n"+
+ "200 <= 100\t= "+iif(cmp("200","<=","100"),"True","False")+"\n"+
+ "100 != 100\t= "+iif(cmp("100","!=","100"),"Yes, It's True","No, It's False")+"\n"+
+ "410 == 410\t= "+iif(cmp("410","==","410"),"True","False")
+ ,
+
+ #-- Alert Icon
+ "@agreement"
+ );
+ endif;
+
+
+
+ #-- Back To Other Demo Menu
+ back(
+ getvar("1")
+ );
+endif;
-##
-# Show Menubox
+
+
+###################################################################################################################
+# #
+# INSTALLATION DEMO #
+# #
+###################################################################################################################
+
+
+###################################################################################################################
+#
+# STEP 6 - SHOW MENUBOX - INSTALLATION TYPE
#
menubox(
- # Title
- "Install Type",
+ #-- Title
+ "Installation Type",
- # Sub Title
- "Lorem Ipsum Dolore",
+ #-- Sub Title
+ "Choose the installation type that best suits your needs.",
- # Icon
- "icons/install",
+ #-- Icon
+ "@install",
- # Will be saved in /tmp/aroma-data/type.prop
+ #-- Will be saved in /tmp/aroma/type.prop
"type.prop",
- # Items ( per 3 arguments ): Title, Subtitle/description, Icon
- # Item 1
- "Typical", "Install default recommended packages into your phone.", "icons/install",
-
- # Item 2
- "Customize", "Install only selected packages into your phone.", "icons/apps"
+ #-------------------------+-----------------[ Menubox Items ]-------------------------+---------------#
+ # TITLE | SUBTITLE | Item Icons #
+ #-------------------------+-----------------------------------------------------------+---------------#
+
+ "Default", "Will install default features and configurations", "@install", #-- selected = 1
+ "Typical", "All recommended features will be installed", "@default", #-- selected = 2
+ "Minimalist", "Only required features will be installed", "@apps", #-- selected = 3
+ "Custom", "Choose which program or mod features you want to installed. "+
+ "Recommended for advanced users", "@customize" #-- selected = 4
);
-##
-# Select Box
+
+###################################################################################################################
#
-selectbox(
- # Title
- "Select Main Mods",
-
- # Sub Title
- "Please Select ROM Mods Below:",
-
- # Icon
- "icons/apps",
-
- # Will be saved in /tmp/aroma-data/mods.prop
- "mods.prop",
-
- # Items ( per 3 arguments ): Title, Subtitle/description, Item Type
- # Item Type:
- # 0 = Unchecked by default
- # 1 = Checked by default
- # 2 = Item Group Title ( the subtitle won't be used )
- #
- # Group 1
- "SD-EXT Mods","",2,
+# STEP 7 - SELECT MAIN MODS
+#
+if (prop("type.prop","selected")=="1") then
+ #-- IF "Default" Installation, don't show configuration, then write default mods.prop
+ #-- NOTE: mods.prop should exists, or updater-script will error
+ writetmpfile(
+ #-- Prop file will write to /tmp/aroma/mods.prop
+ "mods.prop",
+
+ #-- Default Values
+ "selected.1=1\n"+ #-- Default Kernel = 2.6.0 Kernel
+ "selected.2=1\n"+ #-- Default Boot Animation = Default Nexus S
+ "selected.3=1\n"+ #-- Default SD-EXT Mods = Generic APP2SD
+ "selected.4=1\n"+ #-- Default IME = Android IME
+ "selected.5=1\n" #-- Default Camera = Android Generic Camera
+ );
+else
+ #-- IF Not "Default" Show Main Features Selection
+ selectbox(
+ #-- Title
+ "Main Features",
+
+ #-- Sub Title
+ "Please select installer theme that you want to use in this installation test:",
+
+ #-- Icon: <AROMA Resource Dir>/icons/default.png or <ThemeDir>/icon.default.png
+ "@default",
+
+ #-- Will be saved in /tmp/aroma/mods.prop
+ "mods.prop",
+
+ #-----------------------------------[ Selectbox With Groups ]----------------------------------#
+ # TITLE | SUBTITLE | Initial Value #
+ #------------------+-----------------------------------------------------------+---------------#
+
+ "Kernel", "", 2, #-- Group 1. key = "selected.1"
+ "2.6.8 Kernel", "Stable amarullz kernel 2.6.8", 1, #-- selected.1 = 1
+ "3.0.0 Kernel", "Experimental amarullz kernel 3.0.0", 0, #-- selected.1 = 2
+ "AROMA Kernel", "High performance amarullz AROMA kernel, base on 2.6.8", 0, #-- selected.1 = 3
+
+ "Boot Animation", "", 2, #-- Group 2. key = "selected.2"
+ "Default Nexus S", "Default Nexus S Android boot animation", 1, #-- selected.2 = 1
+ "AROMA Boot Animation","AROMA Earthquake logo boot animation", 0, #-- selected.2 = 2
+ "HTC Generic", "Generic white HTC Quitely Briliant boot animation", 0, #-- selected.2 = 3
+ "Old Android", "Old Android logo boot animation", 0, #-- selected.2 = 4
- # Item 1.1
- "Generic APP2SD",
- "Default Mods with APKs in sd-ext, and Data in Internal Storage", 1,
+ "SD-EXT Mods", "", 2, #-- Group 3. key = "selected.3"
+ "Generic APP2SD", "Generic app2sd, all non-system apk in sd-ext", 1, #-- selected.3 = 1
+ "AD2SDX", "All non-system files in sd-ext", 0, #-- selected.3 = 2
+ "Data2SD", "All data files in sd-ext", 0, #-- selected.3 = 3
+
+ "Input Method", "", 2, #-- Group 3. key = "selected.3"
+ "Android IME", "Android AOSP Keyboard", 1, #-- selected.3 = 1
+ "HTC IME", "HTC IME with T9 Support", 0, #-- selected.3 = 2
+
+ "Camera", "", 2, #-- Group 3. key = "selected.4"
+ "Android Camera", "Android AOSP Generic Camera", 1, #-- selected.4 = 1
+ "HTC Camera 3.5", "New and No FC Error, but No 720p Video Recording", 0, #-- selected.4 = 2
+ "HTC Camera 3.0", "Old Camera With 720p Recording, but FC Error in Preview.", 0 #-- selected.4 = 3
+
+ #--------[ Initial Value = 0: Unselected, 1: Selected, 2: Group Item, 3: Not Visible ]---------#
+ );
+endif;
+
+
+###################################################################################################################
+#
+# STEP 8 - CUSTOMIZE YOUR INSTALLATION
+#
+if (prop("type.prop","selected")!="4") then
+ #-- IF Installation type not "Custom", don't show custom setup, then write default customize.prop
+ #-- NOTE: customize.prop should exists, or updater-script will error
+ writetmpfile(
+ #-- Prop file will write to /tmp/aroma/customize.prop
+ "customize.prop",
+
+ #-- Default Values ( item.x.x = value. value=1 selected, value=0 un-selected )
+ iif(
+ #-- If Minimalist
+ prop("type.prop","selected")=="3",
+
+ #-- True Value (minimal install)
+ "item.1.1=0\n"+ #-- Facebook
+ "item.1.2=0\n"+ #-- Twitter
+ "item.1.3=0\n"+ #-- AdobeFlashPlayer
+ "item.1.4=0\n"+ #-- AdobeReader
+
+ "item.2.1=0\n"+ #-- EStrongFilemanager
+ "item.2.2=0\n"+ #-- BackupEverything
+ "item.2.3=0\n"+ #-- DaemonController
+ "item.2.4=0\n"+ #-- DSPManager
+
+ "item.3.1=0\n"+ #-- BookmarksWidget
+ "item.3.2=0\n"+ #-- CalculatorWidget
+ "item.3.3=0\n"+ #-- CalendarWidget
+ "item.3.4=0\n"+ #-- ContactWidget
+ "item.3.5=0\n"+ #-- FMRadioWidget
+ "item.3.6=0\n"+ #-- MusicWidget
+ "item.3.7=0\n"+ #-- QuickLaunchWidget
+ "item.3.8=0\n"+ #-- TrendsWidget
+ "item.3.9=0\n"+ #-- GenieWidget
+
+ "item.4.1=0\n"+ #-- HTCSkins
+ "item.4.2=0\n" #-- MoreSkins
+ ,
+ #-- False Value (non minimal install)
+ "item.1.1=1\n"+ #-- Facebook
+ "item.1.2=1\n"+ #-- Twitter
+ "item.1.3=0\n"+ #-- AdobeFlashPlayer
+ "item.1.4=0\n"+ #-- AdobeReader
+
+ "item.2.1=1\n"+ #-- EStrongFilemanager
+ "item.2.2=0\n"+ #-- BackupEverything
+ "item.2.3=1\n"+ #-- DaemonController
+ "item.2.4=0\n"+ #-- DSPManager
+
+ "item.3.1=0\n"+ #-- BookmarksWidget
+ "item.3.2=0\n"+ #-- CalculatorWidget
+ "item.3.3=0\n"+ #-- CalendarWidget
+ "item.3.4=1\n"+ #-- ContactWidget
+ "item.3.5=1\n"+ #-- FMRadioWidget
+ "item.3.6=1\n"+ #-- MusicWidget
+ "item.3.7=1\n"+ #-- QuickLaunchWidget
+ "item.3.8=1\n"+ #-- TrendsWidget
+ "item.3.9=0\n"+ #-- GenieWidget
+
+ "item.4.1=1\n"+ #-- HTCSkins
+ "item.4.2=0\n" #-- MoreSkins
+ )
+ );
+else
+ #-- IF Installation type = "Custom" Show Customize Selection
+ checkbox(
+ #-- Title
+ "Customize Your Installation",
+
+ #-- Sub Title
+ "Select the program or mod features you want to installed.\n"+
+ "Select an item in the list below to change how a feature is installed.",
+
+ #-- Icon: <AROMA Resource Dir>/icons/personalize.png or <ThemeDir>/icon.personalize.png
+ "@personalize",
+
+ #-- Will be saved in /tmp/aroma/customize.prop
+ "customize.prop",
+
+ #------------------------------------------------[ Checkbox Without Group ]----------------------------------------------#
+ # TITLE | SUBTITLE | Initial Value #
+ #------------------+-------------------------------------------------------------------------------------+---------------#
+
+ "Applications", "", 2, #-- Group 1. key = "item.1.x"
+ "Facebook", "Share and stay connected with your friends with the Facebook for Android app", 1, #-- item.1.1 = Selected by default
+ "Twitter", "Follow your interests: instant updates from your friends", 1, #-- item.1.2 = Selected by default
+ "Adobe FlashPlayer", "Bring the FULL web to your device with Flash Player", 0, #-- item.1.3 = Un-Selected by default
+ "Adobe Reader", "The global standard for reliably viewing and sharing PDF documents", 0, #-- item.1.4 = Un-Selected by default
- # Item 1.2
- "AD2SDX by amarullz",
- "Enhanced Mods with All non-system files in sd-ext",0,
-
- # Group 2
- "Boot Animation","",2,
- # Item 2.1
- "Galaxy Nexus",
- "Boot Animation from Galaxy Nexus ROM.", 1,
+ "Tools & File Manager", "", 2, #-- Group 2. key = "item.2.x"
+ "EStrong Filemanager","All-in-one File manager, Application manager, Task killer, "+
+ "Dropbox client & ftp client", 1, #-- item.2.1 = Selected by default
+ "Backup Everything", "Makes it easy to backup/restore your files from your Android", 0, #-- item.2.2 = Un-Selected by default
+ "Daemon Controller", "Control your CPU, Overclock, Governoor, Voltage an many more", 1, #-- item.2.3 = Selected by default
+ "DSPManager", "Independent equalizer for the headphone, speaker, and bluetooth.", 0, #-- item.2.4 = Un-Selected by default
- # Item 2.2
- "Generic HTC",
- "Generic White HTC Quietly Briliant Boot Animation.",0
-);
+ "Widgets", "", 2, #-- Group 3. key = "item.3.x"
+ "Bookmarks Widget", "Your browsing bookmarks widget", 0, #-- item.3.1 = Selected by default
+ "Calculator Widget", "Calculator on your Home Screen with selectable skins", 0, #-- item.3.2 = Selected by default
+ "Calendar Widget", "Calendar and Agenda on your Home Screen", 0, #-- item.3.3 = Selected by default
+ "Contact Widget", "Show your favorite contacts in slick HTC Sense Contact Widgets", 1, #-- item.3.4 = Selected by default
+ "FM Radio Widget", "Access your FM Radio directly from your Home Screen", 1, #-- item.3.5 = Selected by default
+ "Music Widget", "Music Player on Home Screen Widget", 1, #-- item.3.6 = Selected by default
+ "QuickLaunch Widget", "Bliss Home Screen Widget with clock and shortcuts", 1, #-- item.3.7 = Selected by default
+ "Trends Widget", "Show current trends topic on your Home Screen", 1, #-- item.3.8 = Selected by default
+ "Genie Widget", "Show News/Weather Widget on Home screen", 0, #-- item.3.9 = Un-Selected by default
+
+ "Skins", "", 2, #-- Group 4. key = "item.4.x"
+ "HTC Skins", "BlueSky and Burgundy skins", 1, #-- item.4.1 = Selected by default
+ "More Skins", "HoneyHD and IceHD Skins", 0 #-- item43.2 = Un-Selected by default
+
+ #--------[ Initial Value = 0: Unselected, 1: Selected, 2: Group Item, 3: Not Visible ]---------#
+ );
+endif;
+
##
-# Check Box
#
-checkbox(
- # Title
- "Select Main Mods",
-
- # Sub Title
- "Please Select Apps To Install:",
-
- # Icon
- "icons/personalize",
-
- # Will be saved in /tmp/aroma-data/mods.prop
- "mods.prop",
-
- # Items ( per 3 arguments ): Title, Subtitle/description, Item Type
- # Item Type:
- # 0 = Unchecked by default
- # 1 = Checked by default
- # 2 = Item Group Title ( the subtitle won't be used )
- #
- # Group 1
- "SD-EXT Mods","",2,
-
- # Item 1.1
- "Generic APP2SD",
- "Default Mods with APKs in sd-ext, and Data in Internal Storage", 1,
-
- # Item 1.2
- "AD2SDX by amarullz",
- "Enhanced Mods with All non-system files in sd-ext",1,
-
- # Group 2
- "Boot Animation","",2,
- # Item 2.1
- "Galaxy Nexus",
- "Boot Animation from Galaxy Nexus ROM.", 1,
-
- # Item 2.2
- "Generic HTC",
- "Generic White HTC Quietly Briliant Boot Animation.",1
+# Next Screen is Installation UI, So change the next button text to "Install Now"
+#
+ini_set("text_next", "Install Now");
+
+###################################################################################################################
+#
+# STEP 9 - MAKE SURE USER KNOW THAT NEXT STEP WAS INSTALLATION PROCESS
+#
+viewbox(
+ #-- Title
+ "Ready to Install",
+
+ #-- Text
+ "The wizard is ready to begin installation.\n\n"+
+ "Press <b>Install Now</b> to begin the installation.\n\n"+
+ "If you want to review or change any of your installation settings, press <b>Back</b>. Press Menu Key -> Quit Installation to exit the wizard.",
+
+ #-- Icon
+ "@install"
);
+##
#
-# WONT DO ANYTHING IN TEST BUILD
+# Next Button in successfull installation should be back to "Next >"
+#
+ini_set("text_next", "Next >");
+
+#-- Extract sleep to /tmp/aroma/sleep. It will be used in updater-script for testing wait script
+restotmp("exec_demo/sleep","sleep");
+
+
+###################################################################################################################
+#
+# STEP 10 - INSTALLATION PROCESS
#
setvar("retstatus",
install(
- "Installing",
- "Installing AROMA INSTALLER...\nPlease Wait Until it Finished...",
- "icons/install",
- "Install Sucessfull Install Sucessfull Install Sucessfull Install Sucessfull Install Sucessfull Install Sucessfull Install Sucessfull Install Sucessfull Install Sucessfull Install Sucessfull Install Sucessfull Install Sucessfull Install Sucessfull Install Sucessfull Install Sucessfull Install Sucessfull Install Sucessfull Install Sucessfull"
+ #-- Title
+ "Installing",
+
+ #-- Installation Process message
+ "<b>"+ini_get("rom_name")+"</b> are being installed.\n\n"+
+ "Please wait while installation wizard installs <b>"+ini_get("rom_name")+
+ "</b>. This may take several minutes.",
+
+ #-- Installation Icon
+ "@install",
+
+ #-- Installation Finish Message
+ "The installation wizard has successfully installed <b>"+ini_get("rom_name")+
+ "</b>. Press Next to continue."
)
);
-# Set Next Text fo Finish
+##
+#
+# Next Button is "Finish"
+#
ini_set("text_next", "Finish");
-viewbox(
- "Installation Completed",
- "<#080>Congratulation...</#>\n\n"+
- "AROMA ROM Already Installed Into Your Phone\n"+
- "Press Finish, and Reboot your phone.\n\nThanks\n\n"+
- "Installer Status: "+getvar("retstatus"),
- "icons/info"
+###################################################################################################################
+#
+# STEP 11 - FINISH MESSAGE, Add Checkbox to Reboot or No. Save in "reboot_it" variable
+#
+# You can use return value or "reboot_it" variable to retrive checkbox value
+# Example:
+# if (checkviewbox(....)=="1" then
+# ... checked ...
+# endif;
+#
+checkviewbox(
+ #-- Title
+ "Installation Completed",
+
+ #-- Text
+ "<#selectbg_g><b>Congratulation...</b></#>\n\n"+
+ "<b>"+ini_get("rom_name")+"</b> has been installed into your device.\n\n"+
+ "Installer Status: "+getvar("retstatus")+"\n\n",
+
+ #-- Icon
+ "@welcome",
+
+ #-- Checkbox Text
+ "Reboot your device now.",
+
+ #-- Initial Checkbox value ( 0=unchecked, 1=checked ) - (Optional, default:0)
+ "1",
+
+ #-- Save checked value in variable "reboot_it" (Optional)
+ "reboot_it"
);
+###
+#
+# Check if reboot checkbox was checked
if
- confirm(
- # Arg 1
- "Reboot",
-
- # Arg 2
- "Reboot Now",
-
- # Arg 3
- "icons/info",
-
- # Arg 4 (Yes)
- "Reboot",
-
- # Arg 5 (No)
- "No"
- )=="yes"
+ getvar("reboot_it")=="1"
then
#
# reboot("onfinish"); - Reboot if anything finished
@@ -490,4 +1292,6 @@ then
# reboot("disable"); - If you set reboot("now") before, use this command to revert it.
#
reboot("onfinish");
-endif;
+endif;
+
+#---- FINISH
View
82 aroma-installer/examples/release/META-INF/com/google/android/aroma/ams_sample.txt
@@ -0,0 +1,82 @@
+<b><#selectbg_g>AROMA Markup String Demo</#></b>
+
+You can learn about formatting text in AROMA Installer by reading this file at <b>META-INF/com/google/android/aroma/ams_sample.txt</b>.
+
+<b>AROMA Installer</b> use <u>tag base</u> string to markup the string <u>just like HTML</u>, but with fewer, simpler and different markup.
+
+
+<b><#selectbg_g>FORMATTING TEXT</#></b>
+
+To make the text bolded, use \<b>Bold Text\</b>, it will look like this: <b>Bold Text</b>.
+To add underline in the text, use \<u>Underlined Text\</u>, it will look like this: <u>Underlined Text</u>.
+
+<b><#selectbg_g>COLORING TEXT</#></b>
+
+You can use hex color or colorset to coloring your text. Hex color supported <b>6</b> or <b>3</b> chars hex in RRGGBB or RGB format. Start with sign "#" characters.
+
+<b>Sintax:</b>
+ <b>\<#RRGGBB>6 Chars Hex Color\</#>
+ <b>\<#RGB>3 Chars Hex Color\</#>
+ <b>\<#COLORSETNAME>Colorset\</#>
+
+<b>Example ( 3 Char Hex ):</b>
+ <#000>\<#000></#> = Black
+ <#fff>\<#fff></#> = White
+ <#888>\<#888></#> = Gray
+ <#f00>\<#f00></#> = Red
+ <#0f0>\<#0f0></#> = Green
+ <#00f>\<#00f></#> = Blue
+ <#ff0>\<#ff0></#> = Yellow
+ <#0ff>\<#0ff></#> = Cyan
+ <#f0f>\<#f0f></#> = Magenta
+ <#469>\<#469></#> = Navy
+
+<b>Example ( 6 Char Hex ):</b>
+ <#000000>\<#000000></#> = Black
+ <#ffffff>\<#ffffff></#> = White
+ <#888888>\<#888888></#> = Gray
+ <#ff0000>\<#ff0000></#> = Red
+ <#00ff00>\<#00ff00></#> = Green
+ <#0000ff>\<#0000ff></#> = Blue
+ <#ffff00>\<#ffff00></#> = Yellow
+ <#00ffff>\<#00ffff></#> = Cyan
+ <#ff00ff>\<#ff00ff></#> = Magenta
+ <#446699>\<#446699></#> = Navy
+ <#85afcc>\<#85afcc></#> = Other Color Example
+
+<b>Example ( Colorset ):</b> - This Color depend on theme colorset.
+ <#winbg>\<#winbg></#> = winbg
+ <#winbg_g>\<#winbg_g></#> = winbg_g
+ <#winfg>\<#winfg></#> = winfg
+ <#winfg_gray>\<#winfg_gray></#> = winfg_gray
+ <#dialogbg>\<#dialogbg></#> = dialogbg
+ <#dialogbg_g>\<#dialogbg_g></#> = dialogbg_g
+ <#dialogfg>\<#dialogfg></#> = dialogfg
+ <#textbg>\<#textbg></#> = textbg
+ <#textfg>\<#textfg></#> = textfg
+ <#textfg_gray>\<#textfg_gray></#> = textfg_gray
+ <#controlbg>\<#controlbg></#> = controlbg
+ <#controlbg_g>\<#controlbg_g></#> = controlbg_g
+ <#controlfg>\<#controlfg></#> = controlfg
+ <#selectbg>\<#selectbg></#> = selectbg
+ <#selectbg_g>\<#selectbg_g></#> = selectbg_g
+ <#selectfg>\<#selectfg></#> = selectfg
+ <#titlebg>\<#titlebg></#> = titlebg
+ <#titlebg_g>\<#titlebg_g></#> = titlebg_g
+ <#titlefg>\<#titlefg></#> = titlefg
+ <#dlgtitlebg>\<#dlgtitlebg></#> = dlgtitlebg
+ <#dlgtitlebg_g>\<#dlgtitlebg_g></#> = dlgtitlebg_g
+ <#dlgtitlefg>\<#dlgtitlefg></#> = dlgtitlefg
+ <#scrollbar>\<#scrollbar></#> = scrollbar
+ <#navbg>\<#navbg></#> = navbg
+ <#navbg_g>\<#navbg_g></#> = navbg_g
+ <#border>\<#border></#> = border
+ <#border_g>\<#border_g></#> = border_g
+ <#progressglow>\<#progressglow></#> = progressglow
+
+<b><#selectbg_g>Other Info</#></b>
+
+You can also combine the tags like:
+<b>Bold with <u>italic and <#080>dark green color</#></u></b>.
+
+To write tag in text without accepting the format, you can use backslash to escape the string like this: \\\<b>
View
102 aroma-installer/examples/release/META-INF/com/google/android/aroma/changelog.txt
@@ -0,0 +1,102 @@
+<b><#selectbg_g>CEMPAKA - 1.60 - BUILD 120227-26</#></b>
+<*>Add msb_right check for Endianess video memory</*>
+<*>Fix Installer text log drawing</*>
+<*>Add ini_get</*>
+<*>Add rom_date in ini_get</*>
+<*>Fix reboot and back function</*>
+<*>Add more and recreate Icons for themes and generic</*>
+<*>Rewrite text handler</*>
+<*>Add alignment, indentation and list in AROMA Markup String</*>
+<*>Change temp directory to /tmp/aroma, /tmp/aroma-data stil works</*>
+<*>Add Theme Support</*>
+<*>Add AROMA Markup for \<b> Bold</*>
+<*>Add More Colorset</*>
+<*>Add More Text to Customize</*>
+<*>Add PNG Icon Load From Theme (Default Icons)</*>
+<*>Add Tab support in AROMA Markup String</*>
+<*>Change int to long for partition info, now support big storage information</*>
+<*>Config Init All/Theme Only</*>
+<*>Recreate new example (release) for binary release</*>
+<*>Customizable Font Runtime</*>
+<*>Reformat About Dialog</*>
+<*>Add show progress per time in installer (now support by files and by time).</*>
+<*>Themeable Progressbar</*>
+<*>Enhance Exec Functions to return exit status and autosave buffer into variable</*>
+<*>Fix glibc error in ag_close - Need workaround</*>
+<*>Move ai_trim to system libs</*>
+<*>Add Stretch function for png</*>
+<*>Add 9 Patch drawing function for png</*>
+<*>Fix Reboot Function</*>
+<*>Add Alternative Touch Method</*>
+<*>Add ziptotmp & restotmp</*>
+<*>Add support for mxt224 touch screen (SYN_MT_REPORT event)</*>
+
+<b><#selectbg_g>BOUGENVILLE - 1.10 - BUILD 120208-13</#></b>
+<*>Add Alternative Touch Method</*>
+<*>Added New Functions <#textfg_gray>
+ <*>anisplash - ANIMATED SPLASH SCREEN</*>
+ <*>prop - GET PROP FROM AROMA TMP</*>
+ <*>zipprop - GET PROP FROM ZIP</*>
+ <*>resprop - GET PROP FROM AROMA RESOURCE ZIP</*>
+ <*>sysprop - GET RECOVERY PROP</*>
+ <*>property_get - GET RECOVERY PROP</*>
+ <*>write - WRITE STRING INTO FILESYSTEM</*>
+ <*>readtmpfile - READ TEMPORARY FILE AS STRING</*>
+ <*>read - READ FILESYSTEM AS STRING</*>
+ <*>zipread - Read String From Zip</*>
+ <*>resread - Read Strinf From Resource</*>
+ <*>zipexec - Exec Program From Zip</*>
+ <*>resexec - Exec Program From Resource</*>
+ <*>run_program - Run Program/Exec</*>
+ <*>exec - Run Prohram/Exec</*>
+ <*>back - BACK TO PREVIOUS WIZARD</*>
+ <*>reboot - REBOOT DEVICE</*></#></*>
+<*><u>Deprecated Funcrions</u><#textfg_gray>
+ <*>readfile - Will Renamed to zipread</*>
+ <*>readfile_aroma - Will Renamed to resread</*></#></*>
+<*>Add Some Fix in Touch Up Handler</*>
+<*>Prop parsing, File Handling & Zip Handling has been managed in efficient functions</*>
+<*>Remove CERT.SA - Not Needed</*>
+<*>Add Licence Headers in all aroma source code Apache 2.0</*>
+<*>Add More Comments & Documentation in Souce Code</*>
+<*>Renamed functions for fit needs</*>
+
+<b><#selectbg_g>ANGGREK - 1.00 - BUILD:120204-011</#></b>
+<*>Fix calibrating function not working when set in aroma-config</*>
+<*>Update and fix firmware command from update-binary-installer into recovery.</*>
+
+<b><#selectbg_g>ANGGREK - 1.00 - BUILD:120202-10</#></b>
+<*>Improve touch handler compatibility. Now more accurate in every devices</*>
+<*>Add more chars into ROM Infos from only 31 to 63max</*>
+
+<b><#selectbg_g>ANGGREK - 1.00 - BUILD:120201-009</#></b>
+<*>Stride/Pitch/Padding Framebuffer support for non multiply 8 screen size like qhd on sensation and evo3d</*>
+<*>Rewrite input handler, better keys & touch screen compatibility.</*>
+<*>Change calibration division data from integer to float, more accurate calibrating</*>
+<*>Improve fling and scrolling engine</*>
+<*>Add support for all possible screen bit depth 32/24/16bit. ARGB, ABGR, RGBA, BGRA. No problem now.</*>
+
+<b><#selectbg_g>ANGGREK - 1.00 - BUILD:120129-005</#></b>
+<*>Remove Signature Check - Now You don't need to sign aroma-config and updater-script</*>
+<*>Calibration Tool now show before anything, so you can directly do calibration. you can disabled it in aroma-config by deleting calibtool(""); command.</*>
+<*>Fix some touch screen input handler</*>
+<*>Add 229 in menu keycode (F2 used in emulator as menu key)</*>
+
+<b><#selectbg_g>ANGGREK - 1.00 - BUILD:120128-004</#></b>
+<*>Open Source - Binary No Released</*>
+
+<b><#selectbg_g>ANGGREK - 1.00 - BUILD:120126-003</#></b>
+<*>Refer to defy recovery source code found HERE (Thanks walter79 for github source code) I add some keycode into input reader : Read Here</*>
+<*>Add confirmation if calibrated data will be used in current process (After Calibrating) - So you can try touchscreen without editing aroma-config after you calibrate it.</*>
+<*>Remove precision calculation in scrolling thread (Natural calculation but less fluid)... Feel faster now.</*>
+<*>Add function for aroma-config to define custom key code for up/down/select/back/menu, just like calibrate() function. with format like this: ini_set("customkeycode_up",130); or ini_set("customkeycode_select",13);, the keycode can be capture by aroma-keycapture-flashable.zip</*>
+
+<b><#selectbg_g>ANGGREK - 1.00 - BUILD:120125-002</#></b>
+<*>Add Home & Power Button To Select Items</*>
+<*>Unsigned Script Now Not Terminated Installer, but just show Alert That the script should be signed to pass install ui</*>
+<*>Add More Documentation in aroma-config</*>
+
+<b><#selectbg_g>ANGGREK - 1.00 - BUILD:120124-001</#></b>
+<*>Initial Release ( AROMA UI, AROMA Touch Handler, AROMA Markup String )</*>
+<*>Customizable ( Custom Theme Colors, Customizable Fonts and Images )</*>
+<*>Optimized Build ( Static, -o2, remove unused functions, remove png-write and zlib deflate functions )</*>
View
BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/exec_demo/displaycapture
Binary file not shown
View
56 aroma-installer/examples/release/META-INF/com/google/android/aroma/exec_demo/exec_demo1.sh
@@ -0,0 +1,56 @@
+#!/sbin/sh
+# #!/system/bin/sh
+
+echo "<b>Listing Root Directory:</b>"
+ls /
+echo " "
+
+echo "<b>Running ls -l /</b>"
+ls -l /
+echo " "
+
+echo "<b>Mounting /sdcard</b>"
+mount -t auto /sdcard
+echo " "
+
+echo "<b>Listing /sdcard</b>"
+ls /sdcard
+echo " "
+
+echo "<b>Mounting /system</b>"
+mount -t auto /system
+echo " "
+
+echo "<b>Listing /system</b>"
+ls /system
+echo " "
+
+echo "<b>Mounting /data</b>"
+mount -t auto /data
+echo " "
+
+echo "<b>Listing /data</b>"
+ls /data
+echo " "
+
+echo "<b>Mounting /sd-ext</b>"
+mount -t auto /sd-ext
+echo " "
+
+echo "<b>Listing /sd-ext</b>"
+ls /sd-ext
+echo " "
+
+echo "<b>Running df</b>"
+df
+echo " "
+
+echo "<b>Running ps</b>"
+ps
+echo " "
+echo " "
+
+echo "<u>Shell Finished</u>"
+
+#-- Exit Code
+exit 10
View
20 aroma-installer/examples/release/META-INF/com/google/android/aroma/exec_demo/exec_demo2.sh
@@ -0,0 +1,20 @@
+#!/sbin/sh
+# #!/system/bin/sh
+
+echo "<b>Evironment Variable Demo</b>"
+echo "UPDATE_PACKAGE: <b>$UPDATE_PACKAGE</b>"
+echo "AROMA_TMP: <b>$AROMA_TMP</b>"
+echo "AROMA_NAME: <b>$AROMA_NAME</b>"
+echo "AROMA_COPY: <b>$AROMA_COPY</b>"
+echo "AROMA_VERSION: <b>$AROMA_VERSION</b>"
+echo "AROMA_BUILD: <b>$AROMA_BUILD</b>"
+echo "AROMA_BUILD_CN: <b>$AROMA_BUILD_CN</b>"
+echo "PATH: <b>$PATH</b>"
+echo " "
+
+echo "<b>default.prop value</b>"
+cat /default.prop
+
+
+#-- Exit Code
+exit 0
View
BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/exec_demo/sleep
Binary file not shown
View
BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/fonts/big.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/fonts/small.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/icons/confirm.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/icons/customize.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/icons/default.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/icons/license.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/icons/update.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  aroma-installer/examples/release/META-INF/com/google/android/aroma/icons/welcome.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
59 aroma-installer/examples/release/META-INF/com/google/android/aroma/license.txt
@@ -0,0 +1,59 @@
+<@center><b><#selectbg_g>Apache License</#></b>
+Version 2.0, January 2004
+<u>http://www.apache.org/licenses/</u>
+
+<b><#selectbg_g>TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION</#></b></@>
+
+<b><#selectbg_g>1. Definitions.</#></b>
+
+<@fill><q> "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.</q></@>
+
+<b><#selectbg_g>2. Grant of Copyright License.</#></b>
+<@fill><q> Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.</q></@>
+
+<b><#selectbg_g>3. Grant of Patent License.</#></b>
+<@fill><q> Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.</q></@>
+
+<b><#selectbg_g>4. Redistribution.</#></b>
+<@fill><q> You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
+<*>You must give any other recipients of the Work or Derivative Works a copy of this License; and</*>
+<*>You must cause any modified files to carry prominent notices stating that You changed the files; and</*>
+<*>You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and</*>
+<*>If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.</*>
+
+ You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.</q></@>
+
+<b><#selectbg_g>5. Submission of Contributions.</#></b>
+<@fill><q> Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.</q></@>
+
+<b><#selectbg_g>6. Trademarks.</#></b>
+<@fill><q> This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.</q></@>
+
+<b><#selectbg_g>7. Disclaimer of Warranty.</#></b>
+<@fill><q> Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.</q></@>
+
+<b><#selectbg_g>8. Limitation of Liability.</#></b>
+<@fill><q> In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.</q></@>
+
+<b><#selectbg_g>9. Accepting Warranty or Additional Liability.</#></b>
+<@fill><q> While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.</q></@>
+
+<@center><b><#selectbg_g>END OF TERMS AND CONDITIONS</#></b></@>
View
63 aroma-installer/examples/release/META-INF/com/google/android/aroma/sample.txt
@@ -1,63 +0,0 @@
-<#446699>SAMPLE TEXT FILE</#>
-
-<b>This text readed from text</b> file located in META-INF/com/android/aroma/sample.txt
-
-The text in <b>AROMA <u>Installer</u></b> currently supported 2 formats, <u>Underline</u>, and <#090>Custom Color</#>.
-
-To make the text underlined, use \<u>The Text tobe underlined\</u> just like HTML.
-
-For custom color, use \<#HEXCOLOR>Text tobe colored\</#>, where the HEXCOLOR was standard HTML/CSS color definition in RGB Hexadecimal color code, it can be 3 or 6 character length (RGB or RRGGBB), example <#000099>#000099 for dark blue</#>, <#008800>#008800 for dark green</#>, <#880000>#880000 for dark red</#>, or with only 3 char mode: <#009>#009 for dark blue</#>.
-
-The AROMA Installer
-(c) 2011 by amarullz - xda-developers.
-
-----
-
-Apache License
-Version 2.0, January 2004
-http://www.apache.org/licenses/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
-"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
-"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
-"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
-"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
-"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
-"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
-"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
-"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
-"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
-
-2. Grant of Copyright License.
-Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
-
-3. Grant of Patent License.
-Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
-
-4. Redistribution.
-You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
-(a) You must give any other recipients of the Work or Derivative Works a copy of this License; and
-(b) You must cause any modified files to carry prominent notices stating that You changed the files; and
-(c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
-(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
-You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
-
-5. Submission of Contributions.
-Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
-
-6. Trademarks.
-This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty.
-Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or