├── .classpath
├── .gitignore
├── .project
├── .settings
└── org.eclipse.core.resources.prefs
├── AndroidManifest.xml
├── CHANGELOG.txt
├── NOTICE
├── README.md
├── assets
└── xposed_init
├── ext
├── XposedBridgeApi.jar
└── core-classes.jar
├── proguard-project.txt
├── project.properties
├── res
├── drawable-hdpi-finger
│ └── ic_grabber.png
├── drawable-hdpi
│ ├── arrow_down.png
│ ├── arrow_up.png
│ ├── ic_launcher.png
│ ├── ic_lock_bootloader.png
│ ├── ic_lock_expanded_desktop.png
│ ├── ic_lock_reboot.png
│ ├── ic_lock_reboot_soft.png
│ ├── ic_lock_recovery.png
│ ├── ic_lock_screenshot.png
│ ├── ic_qs_2g3g_on.png
│ ├── ic_qs_2g_on.png
│ ├── ic_qs_3g_on.png
│ ├── ic_qs_expanded_desktop_off.png
│ ├── ic_qs_expanded_desktop_on.png
│ ├── ic_qs_gps_disable.png
│ ├── ic_qs_gps_enable.png
│ ├── ic_qs_gps_locked.png
│ ├── ic_qs_gravitybox.png
│ ├── ic_qs_lte.png
│ ├── ic_qs_qr_playing.png
│ ├── ic_qs_qr_record.png
│ ├── ic_qs_qr_recording.png
│ ├── ic_qs_qr_saved.png
│ ├── ic_qs_ring_off.png
│ ├── ic_qs_ring_on.png
│ ├── ic_qs_ring_vibrate_on.png
│ ├── ic_qs_screenshot.png
│ ├── ic_qs_signal_data_off.png
│ ├── ic_qs_sleep.png
│ ├── ic_qs_stayawake_off.png
│ ├── ic_qs_stayawake_on.png
│ ├── ic_qs_sync_off.png
│ ├── ic_qs_sync_on.png
│ ├── ic_qs_torch_off.png
│ ├── ic_qs_torch_on.png
│ ├── ic_qs_unexpected_network.png
│ ├── ic_qs_vibrate_on.png
│ ├── ic_qs_volume.png
│ ├── ic_qs_wifi_0.png
│ ├── ic_qs_wifi_1.png
│ ├── ic_qs_wifi_2.png
│ ├── ic_qs_wifi_3.png
│ ├── ic_qs_wifi_4.png
│ ├── ic_qs_wifi_ap_neutral.png
│ ├── ic_qs_wifi_ap_off.png
│ ├── ic_qs_wifi_ap_on.png
│ ├── ic_qs_wifi_full_1.png
│ ├── ic_qs_wifi_full_2.png
│ ├── ic_qs_wifi_full_3.png
│ ├── ic_qs_wifi_full_4.png
│ ├── ic_qs_wifi_off.png
│ ├── ic_sysbar_apps.png
│ ├── ic_sysbar_search_side.png
│ ├── stat_sys_alarm_kk.png
│ ├── stat_sys_battery_0.png
│ ├── stat_sys_battery_100.png
│ ├── stat_sys_battery_15.png
│ ├── stat_sys_battery_28.png
│ ├── stat_sys_battery_43.png
│ ├── stat_sys_battery_57.png
│ ├── stat_sys_battery_71.png
│ ├── stat_sys_battery_85.png
│ ├── stat_sys_battery_charge_anim0.png
│ ├── stat_sys_battery_charge_anim100.png
│ ├── stat_sys_battery_charge_anim15.png
│ ├── stat_sys_battery_charge_anim28.png
│ ├── stat_sys_battery_charge_anim43.png
│ ├── stat_sys_battery_charge_anim57.png
│ ├── stat_sys_battery_charge_anim71.png
│ ├── stat_sys_battery_charge_anim85.png
│ ├── stat_sys_data_bluetooth.png
│ ├── stat_sys_data_bluetooth_connected.png
│ ├── stat_sys_headset_with_mic_jb.png
│ ├── stat_sys_headset_without_mic_jb.png
│ ├── stat_sys_ringer_silent_jb.png
│ ├── stat_sys_ringer_silent_kk.png
│ ├── stat_sys_ringer_vibrate_kk.png
│ ├── stat_sys_signal_0.png
│ ├── stat_sys_signal_0_fully.png
│ ├── stat_sys_signal_1.png
│ ├── stat_sys_signal_1_fully.png
│ ├── stat_sys_signal_2.png
│ ├── stat_sys_signal_2_fully.png
│ ├── stat_sys_signal_3.png
│ ├── stat_sys_signal_3_fully.png
│ ├── stat_sys_signal_4.png
│ ├── stat_sys_signal_4_fully.png
│ ├── stat_sys_wifi_signal_0.png
│ ├── stat_sys_wifi_signal_1.png
│ ├── stat_sys_wifi_signal_1_fully.png
│ ├── stat_sys_wifi_signal_2.png
│ ├── stat_sys_wifi_signal_2_fully.png
│ ├── stat_sys_wifi_signal_3.png
│ ├── stat_sys_wifi_signal_3_fully.png
│ ├── stat_sys_wifi_signal_4.png
│ ├── stat_sys_wifi_signal_4_fully.png
│ └── stat_sys_wifi_signal_null.png
├── drawable-nodpi
│ ├── background_holo_dark.png
│ ├── background_holo_dark_solid.png
│ └── background_holo_light.png
├── drawable-xhdpi
│ ├── arrow_down.png
│ ├── arrow_up.png
│ ├── ic_launcher.png
│ ├── ic_lock_expanded_desktop.png
│ ├── ic_lock_screenshot.png
│ ├── ic_qs_2g3g_on.png
│ ├── ic_qs_2g_on.png
│ ├── ic_qs_3g_on.png
│ ├── ic_qs_expanded_desktop_off.png
│ ├── ic_qs_expanded_desktop_on.png
│ ├── ic_qs_gps_disable.png
│ ├── ic_qs_gps_enable.png
│ ├── ic_qs_gps_locked.png
│ ├── ic_qs_gravitybox.png
│ ├── ic_qs_lte.png
│ ├── ic_qs_qr_playing.png
│ ├── ic_qs_qr_record.png
│ ├── ic_qs_qr_recorded.png
│ ├── ic_qs_qr_recording.png
│ ├── ic_qs_ring_off.png
│ ├── ic_qs_ring_on.png
│ ├── ic_qs_ring_vibrate_on.png
│ ├── ic_qs_screenshot.png
│ ├── ic_qs_signal_data_off.png
│ ├── ic_qs_sleep.png
│ ├── ic_qs_stayawake_off.png
│ ├── ic_qs_stayawake_on.png
│ ├── ic_qs_sync_off.png
│ ├── ic_qs_sync_on.png
│ ├── ic_qs_torch_off.png
│ ├── ic_qs_torch_on.png
│ ├── ic_qs_unexpected_network.png
│ ├── ic_qs_vibrate_on.png
│ ├── ic_qs_volume.png
│ ├── ic_qs_wifi_0.png
│ ├── ic_qs_wifi_1.png
│ ├── ic_qs_wifi_2.png
│ ├── ic_qs_wifi_3.png
│ ├── ic_qs_wifi_4.png
│ ├── ic_qs_wifi_ap_neutral.png
│ ├── ic_qs_wifi_ap_off.png
│ ├── ic_qs_wifi_ap_on.png
│ ├── ic_qs_wifi_full_1.png
│ ├── ic_qs_wifi_full_2.png
│ ├── ic_qs_wifi_full_3.png
│ ├── ic_qs_wifi_full_4.png
│ ├── ic_qs_wifi_off.png
│ ├── ic_sysbar_apps.png
│ ├── ic_sysbar_search_side.png
│ ├── stat_sys_alarm_kk.png
│ ├── stat_sys_battery_0.png
│ ├── stat_sys_battery_100.png
│ ├── stat_sys_battery_15.png
│ ├── stat_sys_battery_28.png
│ ├── stat_sys_battery_43.png
│ ├── stat_sys_battery_57.png
│ ├── stat_sys_battery_71.png
│ ├── stat_sys_battery_85.png
│ ├── stat_sys_battery_charge_anim0.png
│ ├── stat_sys_battery_charge_anim100.png
│ ├── stat_sys_battery_charge_anim15.png
│ ├── stat_sys_battery_charge_anim28.png
│ ├── stat_sys_battery_charge_anim43.png
│ ├── stat_sys_battery_charge_anim57.png
│ ├── stat_sys_battery_charge_anim71.png
│ ├── stat_sys_battery_charge_anim85.png
│ ├── stat_sys_data_bluetooth.png
│ ├── stat_sys_data_bluetooth_connected.png
│ ├── stat_sys_headset_with_mic_jb.png
│ ├── stat_sys_headset_without_mic_jb.png
│ ├── stat_sys_ringer_silent_jb.png
│ ├── stat_sys_ringer_silent_kk.png
│ ├── stat_sys_ringer_vibrate_kk.png
│ ├── stat_sys_signal_0.png
│ ├── stat_sys_signal_0_fully.png
│ ├── stat_sys_signal_1.png
│ ├── stat_sys_signal_1_fully.png
│ ├── stat_sys_signal_2.png
│ ├── stat_sys_signal_2_fully.png
│ ├── stat_sys_signal_3.png
│ ├── stat_sys_signal_3_fully.png
│ ├── stat_sys_signal_4.png
│ ├── stat_sys_signal_4_fully.png
│ ├── stat_sys_wifi_signal_0.png
│ ├── stat_sys_wifi_signal_1.png
│ ├── stat_sys_wifi_signal_1_fully.png
│ ├── stat_sys_wifi_signal_2.png
│ ├── stat_sys_wifi_signal_2_fully.png
│ ├── stat_sys_wifi_signal_3.png
│ ├── stat_sys_wifi_signal_3_fully.png
│ ├── stat_sys_wifi_signal_4.png
│ ├── stat_sys_wifi_signal_4_fully.png
│ └── stat_sys_wifi_signal_null.png
├── drawable-xxhdpi
│ ├── ic_launcher.png
│ ├── stat_sys_alarm_kk.png
│ ├── stat_sys_data_bluetooth.png
│ ├── stat_sys_data_bluetooth_connected.png
│ ├── stat_sys_ringer_silent_kk.png
│ ├── stat_sys_ringer_vibrate_kk.png
│ ├── stat_sys_signal_0.png
│ ├── stat_sys_signal_0_fully.png
│ ├── stat_sys_signal_1.png
│ ├── stat_sys_signal_1_fully.png
│ ├── stat_sys_signal_2.png
│ ├── stat_sys_signal_2_fully.png
│ ├── stat_sys_signal_3.png
│ ├── stat_sys_signal_3_fully.png
│ ├── stat_sys_signal_4.png
│ ├── stat_sys_signal_4_fully.png
│ ├── stat_sys_wifi_signal_0.png
│ ├── stat_sys_wifi_signal_1.png
│ ├── stat_sys_wifi_signal_1_fully.png
│ ├── stat_sys_wifi_signal_2.png
│ ├── stat_sys_wifi_signal_2_fully.png
│ ├── stat_sys_wifi_signal_3.png
│ ├── stat_sys_wifi_signal_3_fully.png
│ ├── stat_sys_wifi_signal_4.png
│ ├── stat_sys_wifi_signal_4_fully.png
│ └── stat_sys_wifi_signal_null.png
├── layout-finger
│ ├── order_tile_list_activity.xml
│ └── order_tile_list_item.xml
├── layout-hdpi
│ └── navbar_app_dialog.xml
├── layout-land
│ ├── dialog_color_picker.xml
│ └── linear_color_bar.xml
├── layout-port
│ └── linear_color_bar.xml
├── layout-xhdpi
│ └── navbar_app_dialog.xml
├── layout
│ ├── app_picker_preference.xml
│ ├── dialog_color_picker.xml
│ ├── dlgpref_autobrightness.xml
│ ├── ongoing_notif_preference.xml
│ ├── quick_settings_app_dialog.xml
│ ├── quick_settings_tile_expanded_desktop.xml
│ ├── quick_settings_tile_gps.xml
│ ├── quick_settings_tile_gravity.xml
│ ├── quick_settings_tile_network_mode.xml
│ ├── quick_settings_tile_quick_app.xml
│ ├── quick_settings_tile_quickrecord.xml
│ ├── quick_settings_tile_ringer_mode.xml
│ ├── quick_settings_tile_screenshot.xml
│ ├── quick_settings_tile_sleep.xml
│ ├── quick_settings_tile_stay_awake.xml
│ ├── quick_settings_tile_sync.xml
│ ├── quick_settings_tile_torch.xml
│ ├── quick_settings_tile_volume.xml
│ ├── quick_settings_tile_wifi.xml
│ ├── quick_settings_tile_wifi_ap.xml
│ ├── simple_list_item_2_multiple_choice.xml
│ └── slider_preference.xml
├── values-ar
│ └── strings.xml
├── values-ca
│ └── strings.xml
├── values-cs
│ └── strings.xml
├── values-da
│ └── strings.xml
├── values-de
│ └── strings.xml
├── values-el
│ └── strings.xml
├── values-es
│ └── strings.xml
├── values-fr
│ └── strings.xml
├── values-hu
│ └── strings.xml
├── values-in
│ └── strings.xml
├── values-it
│ └── strings.xml
├── values-ja
│ └── strings.xml
├── values-nl
│ └── strings.xml
├── values-pl
│ └── strings.xml
├── values-pt-rPT
│ └── strings.xml
├── values-pt
│ └── strings.xml
├── values-ru
│ └── strings.xml
├── values-sk
│ └── strings.xml
├── values-tr
│ └── strings.xml
├── values-uk
│ └── strings.xml
├── values-v11
│ └── styles.xml
├── values-v14
│ └── styles.xml
├── values-vi
│ └── strings.xml
├── values-zh-rCN
│ └── strings.xml
├── values-zh-rTW
│ └── strings.xml
├── values
│ ├── arrays.xml
│ ├── colors.xml
│ ├── config.xml
│ ├── dimens.xml
│ ├── integers.xml
│ ├── strings.xml
│ └── styles.xml
└── xml
│ └── gravitybox.xml
└── src
├── com
└── ceco
│ └── gm2
│ └── gravitybox
│ ├── AppLauncher.java
│ ├── BackgroundAlphaColorDrawable.java
│ ├── BroadcastSubReceiver.java
│ ├── CmCircleBattery.java
│ ├── ConnectivityServiceWrapper.java
│ ├── FixCalendar.java
│ ├── FixCallerIdMms.java
│ ├── FixCallerIdPhone.java
│ ├── FixDateTimeCrash.java
│ ├── FixDevOptions.java
│ ├── FixMmsWakelock.java
│ ├── FixTraceFlood.java
│ ├── FixTtsSettings.java
│ ├── GravityBox.java
│ ├── GravityBoxResultReceiver.java
│ ├── GravityBoxService.java
│ ├── GravityBoxSettings.java
│ ├── KeyButtonView.java
│ ├── KitKatBattery.java
│ ├── LinearColorBar.java
│ ├── MemInfoReader.java
│ ├── ModAudio.java
│ ├── ModAudioSettings.java
│ ├── ModBatteryStyle.java
│ ├── ModCallCard.java
│ ├── ModCellConnService.java
│ ├── ModClearAllRecents.java
│ ├── ModDisplay.java
│ ├── ModElectronBeam.java
│ ├── ModExpandedDesktop.java
│ ├── ModHwKeys.java
│ ├── ModLockscreen.java
│ ├── ModLowBatteryWarning.java
│ ├── ModMms.java
│ ├── ModMtkToolbar.java
│ ├── ModNavigationBar.java
│ ├── ModPhone.java
│ ├── ModPieControls.java
│ ├── ModPowerMenu.java
│ ├── ModQuickSettings.java
│ ├── ModSettings.java
│ ├── ModSignalIconHide.java
│ ├── ModStatusBar.java
│ ├── ModStatusbarColor.java
│ ├── ModVolKeyCursor.java
│ ├── ModVolumeKeySkipTrack.java
│ ├── ModVolumePanel.java
│ ├── NotificationWallpaper.java
│ ├── PatchMasterKey.java
│ ├── PhoneNumberUtils.java
│ ├── PhoneSensorEventListener.java
│ ├── PhoneWrapper.java
│ ├── RecordingService.java
│ ├── StatusBarIconManager.java
│ ├── StatusbarBatteryPercentage.java
│ ├── StatusbarClock.java
│ ├── StatusbarSignalCluster.java
│ ├── StatusbarSignalClusterMt6572.java
│ ├── StatusbarSignalClusterMtk.java
│ ├── SystemPropertyProvider.java
│ ├── SystemWideResources.java
│ ├── TorchService.java
│ ├── TouchInterceptor.java
│ ├── TrafficMeter.java
│ ├── TransparencyManager.java
│ ├── UnicodeFilter.java
│ ├── Utils.java
│ ├── WifiManagerWrapper.java
│ ├── adapters
│ ├── BaseListAdapterFilter.java
│ ├── BasicIconListItem.java
│ ├── BasicListItem.java
│ ├── IBaseListAdapterItem.java
│ ├── IIconCheckListAdapterItem.java
│ ├── IIconListAdapterItem.java
│ ├── IconCheckListAdapter.java
│ └── IconListAdapter.java
│ ├── pie
│ ├── PieController.java
│ ├── PieItem.java
│ ├── PieLayout.java
│ ├── PieSliceContainer.java
│ └── PieSysInfo.java
│ ├── preference
│ ├── AppPickerPreference.java
│ ├── AutoBrightnessDialogPreference.java
│ ├── OngoingNotifPreference.java
│ └── SeekBarPreference.java
│ └── quicksettings
│ ├── AQuickSettingsTile.java
│ ├── ExpandedDesktopTile.java
│ ├── GpsTile.java
│ ├── GravityBoxTile.java
│ ├── NetworkModeTile.java
│ ├── QuickAppTile.java
│ ├── QuickRecordTile.java
│ ├── RingerModeTile.java
│ ├── ScreenshotTile.java
│ ├── SleepTile.java
│ ├── StayAwakeTile.java
│ ├── SyncTile.java
│ ├── TileOrderActivity.java
│ ├── TorchTile.java
│ ├── VolumeTile.java
│ ├── WifiApTile.java
│ └── WifiTile.java
└── net
└── margaritov
└── preference
└── colorpicker
├── AlphaPatternDrawable.java
├── ColorPickerDialog.java
├── ColorPickerPanelView.java
├── ColorPickerPreference.java
└── ColorPickerView.java
/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /bin
2 | /libs
3 | /gen
4 |
--------------------------------------------------------------------------------
/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | GravityBox
4 |
5 |
6 |
7 |
8 |
9 | com.android.ide.eclipse.adt.ResourceManagerBuilder
10 |
11 |
12 |
13 |
14 | com.android.ide.eclipse.adt.PreCompilerBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.jdt.core.javabuilder
20 |
21 |
22 |
23 |
24 | com.android.ide.eclipse.adt.ApkBuilder
25 |
26 |
27 |
28 |
29 |
30 | com.android.ide.eclipse.adt.AndroidNature
31 | org.eclipse.jdt.core.javanature
32 |
33 |
34 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.core.resources.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | encoding//src/com/ceco/gm2/gravitybox/UnicodeFilter.java=UTF-8
3 |
--------------------------------------------------------------------------------
/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
21 |
22 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
39 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
76 |
79 |
82 |
83 |
84 |
85 |
--------------------------------------------------------------------------------
/NOTICE:
--------------------------------------------------------------------------------
1 | * Copyright (C) 2013 Peter Gregus (ceco@ceco.sk.eu.org)
2 | * Licensed under the Apache License, Version 2.0 (the "License");
3 | * you may not use this file except in compliance with the License.
4 | * You may obtain a copy of the License at
5 | *
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS,
10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and
12 | * limitations under the License.
13 | *
14 | * You may not distribute nor sell this software or parts of it in
15 | * Source, Object nor in any other form without explicit permission obtained
16 | * from the original author.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | GravityBox
2 | ==========
3 |
4 | This repository is deprecated.
5 | Official one is maintained under [GravityBox organization](https://github.com/GravityBox/GravityBox)
6 |
--------------------------------------------------------------------------------
/assets/xposed_init:
--------------------------------------------------------------------------------
1 | com.ceco.gm2.gravitybox.GravityBox
--------------------------------------------------------------------------------
/ext/XposedBridgeApi.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/ext/XposedBridgeApi.jar
--------------------------------------------------------------------------------
/ext/core-classes.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/ext/core-classes.jar
--------------------------------------------------------------------------------
/proguard-project.txt:
--------------------------------------------------------------------------------
1 | # To enable ProGuard in your project, edit project.properties
2 | # to define the proguard.config property as described in that file.
3 | #
4 | # Add project specific ProGuard rules here.
5 | # By default, the flags in this file are appended to flags specified
6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt
7 | # You can edit the include path and order by changing the ProGuard
8 | # include property in project.properties.
9 | #
10 | # For more details, see
11 | # http://developer.android.com/guide/developing/tools/proguard.html
12 |
13 | # Add any project specific keep options here:
14 |
15 | # If your project uses WebView with JS, uncomment the following
16 | # and specify the fully qualified class name to the JavaScript interface
17 | # class:
18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
19 | # public *;
20 | #}
21 |
--------------------------------------------------------------------------------
/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system edit
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 | #
10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
12 |
13 | # Project target.
14 | target=android-17
15 |
--------------------------------------------------------------------------------
/res/drawable-hdpi-finger/ic_grabber.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi-finger/ic_grabber.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/arrow_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/arrow_down.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/arrow_up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/arrow_up.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_lock_bootloader.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_lock_bootloader.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_lock_expanded_desktop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_lock_expanded_desktop.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_lock_reboot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_lock_reboot.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_lock_reboot_soft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_lock_reboot_soft.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_lock_recovery.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_lock_recovery.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_lock_screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_lock_screenshot.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_2g3g_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_2g3g_on.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_2g_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_2g_on.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_3g_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_3g_on.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_expanded_desktop_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_expanded_desktop_off.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_expanded_desktop_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_expanded_desktop_on.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_gps_disable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_gps_disable.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_gps_enable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_gps_enable.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_gps_locked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_gps_locked.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_gravitybox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_gravitybox.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_lte.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_lte.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_qr_playing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_qr_playing.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_qr_record.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_qr_record.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_qr_recording.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_qr_recording.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_qr_saved.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_qr_saved.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_ring_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_ring_off.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_ring_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_ring_on.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_ring_vibrate_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_ring_vibrate_on.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_screenshot.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_signal_data_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_signal_data_off.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_sleep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_sleep.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_stayawake_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_stayawake_off.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_stayawake_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_stayawake_on.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_sync_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_sync_off.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_sync_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_sync_on.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_torch_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_torch_off.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_torch_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_torch_on.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_unexpected_network.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_unexpected_network.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_vibrate_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_vibrate_on.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_volume.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_volume.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_wifi_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_wifi_0.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_wifi_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_wifi_1.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_wifi_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_wifi_2.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_wifi_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_wifi_3.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_wifi_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_wifi_4.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_wifi_ap_neutral.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_wifi_ap_neutral.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_wifi_ap_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_wifi_ap_off.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_wifi_ap_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_wifi_ap_on.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_wifi_full_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_wifi_full_1.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_wifi_full_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_wifi_full_2.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_wifi_full_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_wifi_full_3.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_wifi_full_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_wifi_full_4.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_qs_wifi_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_qs_wifi_off.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_sysbar_apps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_sysbar_apps.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_sysbar_search_side.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/ic_sysbar_search_side.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_alarm_kk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_alarm_kk.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_battery_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_battery_0.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_battery_100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_battery_100.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_battery_15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_battery_15.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_battery_28.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_battery_28.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_battery_43.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_battery_43.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_battery_57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_battery_57.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_battery_71.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_battery_71.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_battery_85.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_battery_85.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_battery_charge_anim0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_battery_charge_anim0.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_battery_charge_anim100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_battery_charge_anim100.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_battery_charge_anim15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_battery_charge_anim15.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_battery_charge_anim28.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_battery_charge_anim28.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_battery_charge_anim43.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_battery_charge_anim43.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_battery_charge_anim57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_battery_charge_anim57.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_battery_charge_anim71.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_battery_charge_anim71.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_battery_charge_anim85.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_battery_charge_anim85.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_data_bluetooth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_data_bluetooth.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_data_bluetooth_connected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_data_bluetooth_connected.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_headset_with_mic_jb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_headset_with_mic_jb.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_headset_without_mic_jb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_headset_without_mic_jb.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_ringer_silent_jb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_ringer_silent_jb.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_ringer_silent_kk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_ringer_silent_kk.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_ringer_vibrate_kk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_ringer_vibrate_kk.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_signal_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_signal_0.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_signal_0_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_signal_0_fully.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_signal_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_signal_1.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_signal_1_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_signal_1_fully.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_signal_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_signal_2.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_signal_2_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_signal_2_fully.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_signal_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_signal_3.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_signal_3_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_signal_3_fully.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_signal_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_signal_4.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_signal_4_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_signal_4_fully.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_wifi_signal_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_wifi_signal_0.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_wifi_signal_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_wifi_signal_1.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_wifi_signal_1_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_wifi_signal_1_fully.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_wifi_signal_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_wifi_signal_2.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_wifi_signal_2_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_wifi_signal_2_fully.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_wifi_signal_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_wifi_signal_3.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_wifi_signal_3_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_wifi_signal_3_fully.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_wifi_signal_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_wifi_signal_4.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_wifi_signal_4_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_wifi_signal_4_fully.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/stat_sys_wifi_signal_null.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-hdpi/stat_sys_wifi_signal_null.png
--------------------------------------------------------------------------------
/res/drawable-nodpi/background_holo_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-nodpi/background_holo_dark.png
--------------------------------------------------------------------------------
/res/drawable-nodpi/background_holo_dark_solid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-nodpi/background_holo_dark_solid.png
--------------------------------------------------------------------------------
/res/drawable-nodpi/background_holo_light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-nodpi/background_holo_light.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/arrow_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/arrow_down.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/arrow_up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/arrow_up.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_lock_expanded_desktop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_lock_expanded_desktop.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_lock_screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_lock_screenshot.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_2g3g_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_2g3g_on.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_2g_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_2g_on.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_3g_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_3g_on.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_expanded_desktop_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_expanded_desktop_off.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_expanded_desktop_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_expanded_desktop_on.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_gps_disable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_gps_disable.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_gps_enable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_gps_enable.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_gps_locked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_gps_locked.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_gravitybox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_gravitybox.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_lte.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_lte.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_qr_playing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_qr_playing.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_qr_record.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_qr_record.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_qr_recorded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_qr_recorded.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_qr_recording.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_qr_recording.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_ring_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_ring_off.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_ring_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_ring_on.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_ring_vibrate_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_ring_vibrate_on.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_screenshot.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_signal_data_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_signal_data_off.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_sleep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_sleep.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_stayawake_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_stayawake_off.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_stayawake_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_stayawake_on.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_sync_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_sync_off.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_sync_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_sync_on.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_torch_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_torch_off.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_torch_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_torch_on.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_unexpected_network.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_unexpected_network.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_vibrate_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_vibrate_on.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_volume.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_volume.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_wifi_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_wifi_0.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_wifi_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_wifi_1.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_wifi_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_wifi_2.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_wifi_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_wifi_3.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_wifi_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_wifi_4.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_wifi_ap_neutral.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_wifi_ap_neutral.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_wifi_ap_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_wifi_ap_off.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_wifi_ap_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_wifi_ap_on.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_wifi_full_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_wifi_full_1.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_wifi_full_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_wifi_full_2.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_wifi_full_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_wifi_full_3.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_wifi_full_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_wifi_full_4.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_qs_wifi_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_qs_wifi_off.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_sysbar_apps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_sysbar_apps.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_sysbar_search_side.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/ic_sysbar_search_side.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_alarm_kk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_alarm_kk.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_battery_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_battery_0.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_battery_100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_battery_100.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_battery_15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_battery_15.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_battery_28.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_battery_28.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_battery_43.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_battery_43.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_battery_57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_battery_57.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_battery_71.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_battery_71.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_battery_85.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_battery_85.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_battery_charge_anim0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_battery_charge_anim0.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_battery_charge_anim100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_battery_charge_anim100.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_battery_charge_anim15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_battery_charge_anim15.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_battery_charge_anim28.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_battery_charge_anim28.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_battery_charge_anim43.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_battery_charge_anim43.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_battery_charge_anim57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_battery_charge_anim57.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_battery_charge_anim71.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_battery_charge_anim71.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_battery_charge_anim85.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_battery_charge_anim85.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_data_bluetooth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_data_bluetooth.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_data_bluetooth_connected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_data_bluetooth_connected.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_headset_with_mic_jb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_headset_with_mic_jb.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_headset_without_mic_jb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_headset_without_mic_jb.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_ringer_silent_jb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_ringer_silent_jb.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_ringer_silent_kk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_ringer_silent_kk.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_ringer_vibrate_kk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_ringer_vibrate_kk.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_signal_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_signal_0.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_signal_0_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_signal_0_fully.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_signal_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_signal_1.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_signal_1_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_signal_1_fully.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_signal_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_signal_2.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_signal_2_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_signal_2_fully.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_signal_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_signal_3.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_signal_3_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_signal_3_fully.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_signal_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_signal_4.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_signal_4_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_signal_4_fully.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_wifi_signal_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_wifi_signal_0.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_wifi_signal_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_wifi_signal_1.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_wifi_signal_1_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_wifi_signal_1_fully.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_wifi_signal_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_wifi_signal_2.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_wifi_signal_2_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_wifi_signal_2_fully.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_wifi_signal_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_wifi_signal_3.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_wifi_signal_3_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_wifi_signal_3_fully.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_wifi_signal_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_wifi_signal_4.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_wifi_signal_4_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_wifi_signal_4_fully.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/stat_sys_wifi_signal_null.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xhdpi/stat_sys_wifi_signal_null.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_alarm_kk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_alarm_kk.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_data_bluetooth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_data_bluetooth.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_data_bluetooth_connected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_data_bluetooth_connected.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_ringer_silent_kk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_ringer_silent_kk.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_ringer_vibrate_kk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_ringer_vibrate_kk.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_signal_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_signal_0.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_signal_0_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_signal_0_fully.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_signal_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_signal_1.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_signal_1_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_signal_1_fully.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_signal_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_signal_2.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_signal_2_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_signal_2_fully.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_signal_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_signal_3.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_signal_3_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_signal_3_fully.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_signal_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_signal_4.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_signal_4_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_signal_4_fully.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_wifi_signal_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_wifi_signal_0.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_wifi_signal_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_wifi_signal_1.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_wifi_signal_1_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_wifi_signal_1_fully.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_wifi_signal_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_wifi_signal_2.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_wifi_signal_2_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_wifi_signal_2_fully.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_wifi_signal_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_wifi_signal_3.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_wifi_signal_3_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_wifi_signal_3_fully.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_wifi_signal_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_wifi_signal_4.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_wifi_signal_4_fully.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_wifi_signal_4_fully.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/stat_sys_wifi_signal_null.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/C3C0/GravityBox/ea14106fe7139d7e90db654b8a4fc36c9a1a9de1/res/drawable-xxhdpi/stat_sys_wifi_signal_null.png
--------------------------------------------------------------------------------
/res/layout-finger/order_tile_list_activity.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
23 |
24 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/res/layout-finger/order_tile_list_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
26 |
27 |
31 |
32 |
37 |
38 |
39 |
46 |
47 |
48 |
55 |
56 |
57 |
69 |
70 |
71 |
72 |
73 |
--------------------------------------------------------------------------------
/res/layout-land/dialog_color_picker.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
23 |
24 |
30 |
31 |
36 |
37 |
44 |
45 |
46 |
56 |
57 |
62 |
63 |
71 |
72 |
77 |
78 |
79 |
--------------------------------------------------------------------------------
/res/layout-land/linear_color_bar.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
22 |
23 |
32 |
33 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/res/layout-port/linear_color_bar.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
22 |
23 |
32 |
33 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/res/layout/app_picker_preference.xml:
--------------------------------------------------------------------------------
1 |
15 |
16 |
21 |
22 |
29 |
30 |
37 |
38 |
44 |
45 |
--------------------------------------------------------------------------------
/res/layout/dialog_color_picker.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
23 |
24 |
30 |
31 |
38 |
39 |
45 |
46 |
54 |
55 |
56 |
57 |
62 |
63 |
68 |
69 |
77 |
78 |
83 |
84 |
85 |
--------------------------------------------------------------------------------
/res/layout/dlgpref_autobrightness.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
22 |
23 |
27 |
28 |
35 |
36 |
41 |
42 |
49 |
50 |
55 |
56 |
61 |
62 |
--------------------------------------------------------------------------------
/res/layout/ongoing_notif_preference.xml:
--------------------------------------------------------------------------------
1 |
15 |
16 |
21 |
22 |
28 |
29 |
34 |
35 |
40 |
41 |
48 |
49 |
54 |
55 |
--------------------------------------------------------------------------------
/res/layout/quick_settings_app_dialog.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
24 |
25 |
32 |
33 |
40 |
41 |
48 |
49 |
56 |
57 |
58 |
--------------------------------------------------------------------------------
/res/layout/quick_settings_tile_expanded_desktop.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/res/layout/quick_settings_tile_gps.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/res/layout/quick_settings_tile_gravity.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/res/layout/quick_settings_tile_network_mode.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/res/layout/quick_settings_tile_quick_app.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/res/layout/quick_settings_tile_quickrecord.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/res/layout/quick_settings_tile_ringer_mode.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/res/layout/quick_settings_tile_screenshot.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/res/layout/quick_settings_tile_sleep.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/res/layout/quick_settings_tile_stay_awake.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/res/layout/quick_settings_tile_sync.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/res/layout/quick_settings_tile_torch.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/res/layout/quick_settings_tile_volume.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/res/layout/quick_settings_tile_wifi.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/res/layout/quick_settings_tile_wifi_ap.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/res/layout/simple_list_item_2_multiple_choice.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
21 |
22 |
30 |
31 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/res/values-v11/styles.xml:
--------------------------------------------------------------------------------
1 |
15 |
16 |
17 |
18 |
22 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
15 |
16 |
17 |
18 |
23 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
20 | #cc000000
21 |
22 | @android:color/holo_blue_light
23 | #ffffffff
24 | #ffffffff
25 | #dd0099cc
26 | @android:color/holo_blue_light
27 | #dd0099cc
28 |
29 |
30 | @android:color/holo_blue_light
31 |
32 |
33 | #e8ffffff
34 | #40ffffff
35 | #ff000000
36 |
37 |
38 |
--------------------------------------------------------------------------------
/res/values/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 | http://forum.xda-developers.com/showthread.php?t=2316070
19 | http://forum.xda-developers.com/showthread.php?t=1574401
20 | https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=9MZNBXYEN5S68&lc=SK&item_name=GravityBox¤cy_code=EUR&bn=PP%%2dDonationsBF%%3abtn_donateCC_LG\%2egif%%3aNonHosted
21 |
22 |
23 | 5
24 | 5
25 |
26 |
27 |
--------------------------------------------------------------------------------
/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
15 |
16 |
17 |
18 |
19 | 16dp
20 | 16dp
21 |
22 |
23 |
24 | 5dp
25 |
26 | 8dp
27 |
28 | 16dp
29 |
30 | 30dp
31 |
32 | 4dp
33 | 2dp
34 |
35 | 12sp
36 |
37 | 30dp
38 | 70dp
39 | 85dp
40 | 165dp
41 | 85sp
42 |
43 |
44 |
45 | 64dip
46 |
47 | 128dip
48 |
49 |
50 | 180dp
51 | 320dp
52 |
53 |
54 |
--------------------------------------------------------------------------------
/res/values/integers.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 | 0xff000000
19 | 0xff00ff00
20 | 0xff33b5e5
21 | 0xffffffff
22 |
--------------------------------------------------------------------------------
/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
15 |
16 |
17 |
18 |
22 |
29 |
30 |
31 |
34 |
35 |
36 |
37 |
38 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/BackgroundAlphaColorDrawable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 AOKP Project
3 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.ceco.gm2.gravitybox;
18 |
19 | import android.graphics.Canvas;
20 | import android.graphics.Color;
21 | import android.graphics.ColorFilter;
22 | import android.graphics.PixelFormat;
23 | import android.graphics.PorterDuff.Mode;
24 | import android.graphics.drawable.ColorDrawable;
25 |
26 | public class BackgroundAlphaColorDrawable extends ColorDrawable {
27 | int mBgColor;
28 | int mAlpha = 255;
29 | int mComputedDrawColor = 0;
30 |
31 | public BackgroundAlphaColorDrawable(int bgColor) {
32 | setBgColor(mBgColor = bgColor);
33 | updateColor();
34 | }
35 |
36 | public void setBgColor(int color) {
37 | mBgColor = color;
38 | updateColor();
39 | }
40 |
41 | @Override
42 | public void setColor(int color) {
43 | mComputedDrawColor = mBgColor = color;
44 | invalidateSelf();
45 | }
46 |
47 | @Override
48 | public int getColor() {
49 | return mComputedDrawColor;
50 | }
51 |
52 | @Override
53 | public void setAlpha(int alpha) {
54 | if (alpha > 255) {
55 | alpha = 255;
56 | } else if (alpha < 0) {
57 | alpha = 0;
58 | }
59 | mAlpha = alpha;
60 | updateColor();
61 | }
62 |
63 | public int getBgColor() {
64 | return mBgColor;
65 | }
66 |
67 | @Override
68 | public void draw(Canvas canvas) {
69 | canvas.drawColor(mComputedDrawColor, Mode.SRC);
70 | }
71 |
72 | private void updateColor() {
73 | mComputedDrawColor = applyAlphaToColor(mBgColor, mAlpha);
74 | invalidateSelf();
75 | }
76 |
77 | @Override
78 | public int getAlpha() {
79 | return mAlpha;
80 | }
81 |
82 | @Override
83 | public void setColorFilter(ColorFilter cf) {
84 | }
85 |
86 | @Override
87 | public int getOpacity() {
88 | return PixelFormat.TRANSLUCENT;
89 | }
90 |
91 | public static int floatAlphaToInt(float alpha) {
92 | return Math.round(alpha * 255);
93 | }
94 |
95 | public static int applyAlphaToColor(int color, float alpha) {
96 | int a = floatAlphaToInt(alpha);
97 | return applyAlphaToColor(color, a);
98 | }
99 |
100 | public static int applyAlphaToColor(int color, int alpha) {
101 | int r = Color.red(color);
102 | int g = Color.green(color);
103 | int b = Color.blue(color);
104 | return Color.argb(alpha, r, g, b);
105 | }
106 | }
107 |
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/BroadcastSubReceiver.java:
--------------------------------------------------------------------------------
1 | package com.ceco.gm2.gravitybox;
2 |
3 | import android.content.Context;
4 | import android.content.Intent;
5 |
6 | public interface BroadcastSubReceiver {
7 | void onBroadcastReceived(Context context, Intent intent);
8 | }
9 |
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/ConnectivityServiceWrapper.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox;
17 |
18 | import android.content.BroadcastReceiver;
19 | import android.content.Context;
20 | import android.content.Intent;
21 | import android.content.IntentFilter;
22 | import de.robv.android.xposed.XC_MethodHook;
23 | import de.robv.android.xposed.XposedBridge;
24 | import de.robv.android.xposed.XposedHelpers;
25 |
26 | public class ConnectivityServiceWrapper {
27 | private static final String TAG = "GB:ConnectivityServiceWrapper";
28 | private static final boolean DEBUG = false;
29 |
30 | private static final String CLASS_CONNECTIVITY_SERVICE = "com.android.server.ConnectivityService";
31 |
32 | public static final String ACTION_SET_MOBILE_DATA_ENABLED =
33 | "gravitybox.intent.action.SET_MOBILE_DATA_ENABLED";
34 | public static final String ACTION_XPERIA_MOBILE_DATA_TOGGLE =
35 | "com.android.phone.intent.ACTION_DATA_TRAFFIC_SWITCH";
36 | public static final String EXTRA_ENABLED = "enabled";
37 |
38 | private static Object mConnectivityService;
39 |
40 | private static void log(String message) {
41 | XposedBridge.log(TAG + ": " + message);
42 | }
43 |
44 | private static BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
45 | @Override
46 | public void onReceive(Context context, Intent intent) {
47 | if (DEBUG) log("Broadcast received: " + intent.toString());
48 |
49 | if (intent.getAction().equals(ACTION_SET_MOBILE_DATA_ENABLED)) {
50 | final boolean enabled = intent.getBooleanExtra(EXTRA_ENABLED, false);
51 | setMobileDataEnabled(enabled);
52 | }
53 | }
54 | };
55 |
56 | public static void initZygote() {
57 | try {
58 | final Class> connServiceClass =
59 | XposedHelpers.findClass(CLASS_CONNECTIVITY_SERVICE, null);
60 |
61 | XposedBridge.hookAllConstructors(connServiceClass, new XC_MethodHook() {
62 | @Override
63 | protected void afterHookedMethod(final MethodHookParam param) throws Throwable {
64 | if (DEBUG) log("ConnectivityService constructed.");
65 | mConnectivityService = param.thisObject;
66 |
67 | Context context = (Context) XposedHelpers.getObjectField(
68 | param.thisObject, "mContext");
69 | if (context == null && param.args.length != 0) {
70 | context = (Context) param.args[0];
71 | }
72 |
73 | if (context != null) {
74 | IntentFilter intentFilter = new IntentFilter();
75 | intentFilter.addAction(ACTION_SET_MOBILE_DATA_ENABLED);
76 | context.registerReceiver(mBroadcastReceiver, intentFilter);
77 | }
78 | }
79 | });
80 | } catch (Throwable t) {
81 | XposedBridge.log(t);
82 | }
83 | }
84 |
85 | private static void setMobileDataEnabled(boolean enabled) {
86 | if (mConnectivityService == null) return;
87 | try {
88 | XposedHelpers.callMethod(mConnectivityService, "setMobileDataEnabled", enabled);
89 | if (DEBUG) log("setMobileDataEnabled called");
90 | } catch (Throwable t) {
91 | XposedBridge.log(t);
92 | }
93 | }
94 | }
95 |
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/FixCallerIdPhone.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox;
17 |
18 | import de.robv.android.xposed.XC_MethodHook;
19 | import de.robv.android.xposed.XC_MethodReplacement;
20 | import de.robv.android.xposed.XSharedPreferences;
21 | import de.robv.android.xposed.XposedBridge;
22 | import de.robv.android.xposed.XposedHelpers;
23 |
24 | public class FixCallerIdPhone {
25 | public static final String TAG = "GB:FixCallerIdPhone";
26 | public static final String CLASS_PHONE_NUMBER_UTILS = "android.telephony.PhoneNumberUtils";
27 | private static final boolean DEBUG = false;
28 |
29 | public static void initZygote(final XSharedPreferences prefs) {
30 | if (DEBUG) XposedBridge.log(TAG + ": initZygote");
31 |
32 | try {
33 | final Class> numUtilsClass = XposedHelpers.findClass(CLASS_PHONE_NUMBER_UTILS, null);
34 |
35 | if (DEBUG) XposedBridge.log(TAG + ": replacing compareLoosely method");
36 | XposedHelpers.findAndHookMethod(numUtilsClass, "compareLoosely", String.class, String.class,
37 | new XC_MethodReplacement() {
38 | @Override
39 | protected Object replaceHookedMethod(MethodHookParam param) throws Throwable {
40 | Object retVal = (Object) PhoneNumberUtils.compareLoosely((String)param.args[0], (String)param.args[1]);
41 | if (DEBUG) {
42 | XposedBridge.log(TAG + ": invoked replacement compareLoosely(" +
43 | param.args[0] + ", " + param.args[1] + "); retVal = " + retVal.toString());
44 | }
45 | return retVal;
46 | }
47 | });
48 |
49 | if (DEBUG) XposedBridge.log(TAG + ": hooking internalGetStrippedReversed method");
50 | XposedHelpers.findAndHookMethod(numUtilsClass, "internalGetStrippedReversed", String.class, int.class,
51 | new XC_MethodHook() {
52 | @Override
53 | protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
54 | if (DEBUG) {
55 | XposedBridge.log(TAG + ": internalGetStrippedReversed: original MIN_MATCH=" +
56 | param.args[1] + ", new MIN_MATCH=" + PhoneNumberUtils.MIN_MATCH);
57 | }
58 | param.args[1] = PhoneNumberUtils.MIN_MATCH;
59 | }
60 | });
61 | } catch (Throwable t) {
62 | XposedBridge.log(t);
63 | }
64 | }
65 | }
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/FixDateTimeCrash.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox;
17 |
18 | import java.util.Date;
19 | import java.util.TimeZone;
20 |
21 | import de.robv.android.xposed.XC_MethodReplacement;
22 | import de.robv.android.xposed.XSharedPreferences;
23 | import de.robv.android.xposed.XposedBridge;
24 | import de.robv.android.xposed.XposedHelpers;
25 |
26 | public class FixDateTimeCrash {
27 | private static final String TAG = "GB:FixDateTimeCrash";
28 | public static final String PACKAGE_NAME = "com.android.settings";
29 | public static final String CLASS_DATETIME_SETTINGS = "com.android.settings.DateTimeSettings";
30 | private static final boolean DEBUG = false;
31 |
32 | public static void init (final XSharedPreferences prefs, final ClassLoader classLoader) {
33 | if (DEBUG) XposedBridge.log(TAG + ": init");
34 |
35 | try {
36 | Class> dtSettingsClass = XposedHelpers.findClass(CLASS_DATETIME_SETTINGS, classLoader);
37 |
38 | XposedHelpers.findAndHookMethod(dtSettingsClass, "getTimeZoneText", TimeZone.class,
39 | new XC_MethodReplacement() {
40 |
41 | @Override
42 | protected Object replaceHookedMethod(MethodHookParam param) throws Throwable {
43 | // Similar to new SimpleDateFormat("'GMT'Z, zzzz").format(new Date()), but
44 | // we want "GMT-03:00" rather than "GMT-0300".
45 | if (DEBUG) XposedBridge.log(TAG + ": running replaced getTimeZoneText() method");
46 | TimeZone tz = (TimeZone) param.args[0];
47 | Date now = new Date();
48 | return formatOffset(new StringBuilder(), tz, now).
49 | append(", ").
50 | append(tz.getDisplayName(tz.inDaylightTime(now), TimeZone.LONG)).toString();
51 | }
52 | });
53 | } catch (Throwable t) {
54 | XposedBridge.log(t);
55 | }
56 | }
57 |
58 | private static StringBuilder formatOffset(StringBuilder sb, TimeZone tz, Date d) {
59 | int off = tz.getOffset(d.getTime()) / 1000 / 60;
60 |
61 | sb.append("GMT");
62 | if (off < 0) {
63 | sb.append('-');
64 | off = -off;
65 | } else {
66 | sb.append('+');
67 | }
68 |
69 | int hours = off / 60;
70 | int minutes = off % 60;
71 |
72 | sb.append((char) ('0' + hours / 10));
73 | sb.append((char) ('0' + hours % 10));
74 |
75 | sb.append(':');
76 |
77 | sb.append((char) ('0' + minutes / 10));
78 | sb.append((char) ('0' + minutes % 10));
79 |
80 | return sb;
81 | }
82 | }
83 |
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/FixTraceFlood.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox;
17 |
18 | import de.robv.android.xposed.XC_MethodReplacement;
19 | import de.robv.android.xposed.XposedBridge;
20 | import de.robv.android.xposed.XposedHelpers;
21 |
22 | public class FixTraceFlood {
23 | private static final String TAG = "GB:FixTraceFlood";
24 | private static final String CLASS_TRACE = "android.os.Trace";
25 | private static final boolean DEBUG = false;
26 |
27 | public static void initZygote() {
28 | if (DEBUG) XposedBridge.log(TAG + ": initZygote");
29 |
30 | try {
31 | final Class> traceClass = XposedHelpers.findClass(CLASS_TRACE, null);
32 |
33 | XposedHelpers.findAndHookMethod(traceClass, "cacheEnabledTags", new XC_MethodReplacement() {
34 |
35 | @Override
36 | protected Object replaceHookedMethod(MethodHookParam param) throws Throwable {
37 | long tags = (Long) XposedHelpers.callStaticMethod(traceClass, "nativeGetEnabledTags");
38 | XposedHelpers.setStaticLongField(traceClass, "sEnabledTags", tags);
39 | return tags;
40 | }
41 |
42 | });
43 | } catch (Throwable t) {
44 | XposedBridge.log(t);
45 | }
46 | }
47 | }
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/FixTtsSettings.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox;
17 |
18 | import android.preference.PreferenceCategory;
19 | import android.preference.PreferenceFragment;
20 | import de.robv.android.xposed.XC_MethodReplacement;
21 | import de.robv.android.xposed.XSharedPreferences;
22 | import de.robv.android.xposed.XposedBridge;
23 | import de.robv.android.xposed.XposedHelpers;
24 |
25 | public class FixTtsSettings {
26 | private static final String TAG = "GB:FixTtsSettings";
27 | public static final String PACKAGE_NAME = "com.android.settings";
28 | private static final String CLASS_VOICEIO_SETTINGS = "com.android.settings.VoiceInputOutputSettings";
29 | private static final boolean DEBUG = false;
30 |
31 | private static void log(String message) {
32 | XposedBridge.log(TAG + ": " + message);
33 | }
34 |
35 | public static void init(final XSharedPreferences prefs, final ClassLoader classLoader) {
36 | try {
37 |
38 | final Class> classVoiceIoSettings = XposedHelpers.findClass(CLASS_VOICEIO_SETTINGS, classLoader);
39 |
40 | if (DEBUG) log("replacing populateOrRemovePreferences method");
41 | XposedHelpers.findAndHookMethod(classVoiceIoSettings, "populateOrRemovePreferences",
42 | new XC_MethodReplacement() {
43 |
44 | @Override
45 | protected Object replaceHookedMethod(MethodHookParam param) throws Throwable {
46 | boolean hasRecognizer = (Boolean) XposedHelpers.callMethod(param.thisObject,
47 | "populateOrRemoveRecognizerPrefs");
48 | boolean hasTts = (Boolean) XposedHelpers.callMethod(param.thisObject,
49 | "populateOrRemoveTtsPrefs");
50 | if (DEBUG) log("populateOrRemovePreferences: hasRecognizer=" + hasRecognizer + "; hasTts=" + hasTts);
51 |
52 | if (hasRecognizer || hasTts) {
53 | return null;
54 | }
55 |
56 | PreferenceFragment fragment = (PreferenceFragment) XposedHelpers.getObjectField(
57 | param.thisObject, "mFragment");
58 | PreferenceCategory prefCat = (PreferenceCategory) XposedHelpers.getObjectField(
59 | param.thisObject, "mVoiceCategory");
60 | if (fragment != null && prefCat != null) {
61 | fragment.getPreferenceScreen().removePreference(prefCat);
62 | }
63 |
64 | return null;
65 | }
66 |
67 | });
68 | }
69 | catch (Throwable t) {
70 | XposedBridge.log(t);
71 | }
72 | }
73 | }
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/GravityBoxResultReceiver.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox;
17 |
18 | import android.os.Bundle;
19 | import android.os.Handler;
20 | import android.os.ResultReceiver;
21 |
22 | public class GravityBoxResultReceiver extends ResultReceiver {
23 |
24 | private Receiver mReceiver;
25 |
26 | public interface Receiver {
27 | public void onReceiveResult(int resultCode, Bundle resultData);
28 | }
29 |
30 | public GravityBoxResultReceiver(Handler handler) {
31 | super(handler);
32 | }
33 |
34 | public void setReceiver(Receiver receiver) {
35 | mReceiver = receiver;
36 | }
37 |
38 | @Override
39 | protected void onReceiveResult(int resultCode, Bundle resultData) {
40 | if (mReceiver != null) {
41 | mReceiver.onReceiveResult(resultCode, resultData);
42 | }
43 | }
44 | }
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/GravityBoxService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox;
17 |
18 | import android.app.IntentService;
19 | import android.content.ContentResolver;
20 | import android.content.Intent;
21 | import android.os.Bundle;
22 | import android.os.ResultReceiver;
23 |
24 | public class GravityBoxService extends IntentService {
25 | public static final String ACTION_TOGGLE_SYNC = "gravitybox.intent.action.TOGGLE_SYNC";
26 | public static final String ACTION_GET_SYNC_STATUS = "gravitybox.intent.action.GET_SYNC_STATUS";
27 |
28 | public static final int RESULT_SYNC_STATUS = 0;
29 | public static final String KEY_SYNC_STATUS = "syncStatus";
30 |
31 | public GravityBoxService() {
32 | super("GravityBoxService");
33 | }
34 |
35 | @Override
36 | protected void onHandleIntent(Intent intent) {
37 | if (intent.getAction().equals(ACTION_TOGGLE_SYNC)) {
38 | ContentResolver.setMasterSyncAutomatically(!ContentResolver.getMasterSyncAutomatically());
39 | } else if (intent.getAction().equals(ACTION_GET_SYNC_STATUS)) {
40 | boolean syncStatus = ContentResolver.getMasterSyncAutomatically();
41 | ResultReceiver receiver = intent.getParcelableExtra("receiver");
42 | Bundle data = new Bundle();
43 | data.putBoolean(KEY_SYNC_STATUS, syncStatus);
44 | receiver.send(RESULT_SYNC_STATUS, data);
45 | }
46 | }
47 |
48 | }
49 |
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/MemInfoReader.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2011 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.ceco.gm2.gravitybox;
18 |
19 | import java.io.FileInputStream;
20 |
21 | import android.os.StrictMode;
22 |
23 | public class MemInfoReader {
24 | byte[] mBuffer = new byte[1024];
25 |
26 | private long mTotalSize;
27 | private long mFreeSize;
28 | private long mCachedSize;
29 |
30 | private boolean matchText(byte[] buffer, int index, String text) {
31 | int N = text.length();
32 | if ((index+N) >= buffer.length) {
33 | return false;
34 | }
35 | for (int i=0; i= '0' && buffer[index] <= '9') {
46 | int start = index;
47 | index++;
48 | while (index < buffer.length && buffer[index] >= '0'
49 | && buffer[index] <= '9') {
50 | index++;
51 | }
52 | String str = new String(buffer, 0, start, index-start);
53 | return ((long)Integer.parseInt(str)) * 1024;
54 | }
55 | index++;
56 | }
57 | return 0;
58 | }
59 |
60 | public void readMemInfo() {
61 | // Permit disk reads here, as /proc/meminfo isn't really "on
62 | // disk" and should be fast. TODO: make BlockGuard ignore
63 | // /proc/ and /sys/ files perhaps?
64 | StrictMode.ThreadPolicy savedPolicy = StrictMode.allowThreadDiskReads();
65 | try {
66 | mTotalSize = 0;
67 | mFreeSize = 0;
68 | mCachedSize = 0;
69 | FileInputStream is = new FileInputStream("/proc/meminfo");
70 | int len = is.read(mBuffer);
71 | is.close();
72 | final int BUFLEN = mBuffer.length;
73 | int count = 0;
74 | for (int i=0; i classConfirmDlg = XposedHelpers.findClass(CLASS_CONFIRM_DLG, classLoader);
38 |
39 | XposedHelpers.findAndHookMethod(classConfirmDlg, "onNewIntent", Intent.class, new XC_MethodHook() {
40 |
41 | @Override
42 | protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
43 | prefs.reload();
44 | Intent intent = (Intent) param.args[0];
45 | if (DEBUG) log("onNewIntent: " + ((intent == null) ? "NULL" : intent.toString()));
46 |
47 | if (intent == null
48 | || !prefs.getBoolean(GravityBoxSettings.PREF_KEY_ROAMING_WARNING_DISABLE, false)) {
49 | return;
50 | }
51 |
52 | if (intent.getIntExtra("confirm_type", 0) == 0x195
53 | && !intent.getBooleanExtra("confirm_roamingWithPrefer", false)) {
54 | if (DEBUG) log("Roaming warning intent received - ignoring");
55 | XposedHelpers.callMethod(param.thisObject, "sendConfirmResult", 0x195, true);
56 | ((Activity)param.thisObject).finish();
57 | param.setResult(null);
58 | }
59 | }
60 | });
61 | } catch (Throwable t) {
62 | XposedBridge.log(t);
63 | }
64 | }
65 | }
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/ModElectronBeam.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox;
17 |
18 | import android.animation.ObjectAnimator;
19 | import de.robv.android.xposed.XC_MethodHook;
20 | import de.robv.android.xposed.XSharedPreferences;
21 | import de.robv.android.xposed.XposedBridge;
22 | import de.robv.android.xposed.XposedHelpers;
23 |
24 | public class ModElectronBeam {
25 | private static final String TAG = "GB:ModElectronBeam";
26 | private static final String CLASS_DISPLAY_POWER_STATE = "com.android.server.power.DisplayPowerState";
27 | private static final String CLASS_DISPLAY_POWER_CONTROLLER = "com.android.server.power.DisplayPowerController";
28 |
29 | public static void initZygote(final XSharedPreferences prefs) {
30 | try {
31 | final Class> clsDisplayPowerState = XposedHelpers.findClass(CLASS_DISPLAY_POWER_STATE, null);
32 | final Class> clsDisplaPowerController = XposedHelpers.findClass(CLASS_DISPLAY_POWER_CONTROLLER, null);
33 |
34 | XposedHelpers.findAndHookMethod(clsDisplayPowerState, "prepareElectronBeam", int.class,
35 | new XC_MethodHook() {
36 | @Override
37 | protected void beforeHookedMethod(final MethodHookParam param) throws Throwable {
38 | prefs.reload();
39 | int ebMode =
40 | prefs.getBoolean(GravityBoxSettings.PREF_KEY_CRT_OFF_EFFECT, false) ? 1 : 2;
41 | param.args[0] = ebMode;
42 | }
43 |
44 | });
45 |
46 | XposedHelpers.findAndHookMethod(clsDisplaPowerController, "initialize", new XC_MethodHook() {
47 |
48 | @Override
49 | protected void afterHookedMethod(final MethodHookParam param) throws Throwable {
50 | ObjectAnimator oa = (ObjectAnimator)
51 | XposedHelpers.getObjectField(param.thisObject, "mElectronBeamOffAnimator");
52 | if (oa != null) {
53 | oa.setDuration(400);
54 | }
55 | }
56 | });
57 | } catch (Throwable t) {
58 | XposedBridge.log(t);
59 | }
60 | }
61 | }
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/ModSettings.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox;
17 |
18 | import de.robv.android.xposed.XSharedPreferences;
19 | import de.robv.android.xposed.XposedBridge;
20 |
21 | public class ModSettings {
22 | private static final String TAG = "GB:ModSettings";
23 | public static final String PACKAGE_NAME = "com.android.settings";
24 | private static final boolean DEBUG = false;
25 |
26 | private static void log (String message) {
27 | XposedBridge.log(TAG + ": " + message);
28 | }
29 |
30 | public static void init(final XSharedPreferences prefs, final ClassLoader classLoader) {
31 | try {
32 | // reserved for potential future use
33 | } catch (Throwable t) {
34 | XposedBridge.log(t);
35 | }
36 | }
37 | }
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/PhoneSensorEventListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 The CyanogenMod Project
3 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.ceco.gm2.gravitybox;
18 |
19 | import android.hardware.Sensor;
20 | import android.hardware.SensorEvent;
21 | import android.hardware.SensorEventListener;
22 |
23 | public class PhoneSensorEventListener implements SensorEventListener {
24 | // Our accelerometers are not quite accurate.
25 | private static final int FACE_UP_GRAVITY_THRESHOLD = 7;
26 | private static final int FACE_DOWN_GRAVITY_THRESHOLD = -7;
27 | private static final int SENSOR_SAMPLES = 3;
28 | private static final int MIN_ACCEPT_COUNT = SENSOR_SAMPLES - 1;
29 |
30 | private boolean mStopped;
31 | private boolean mWasFaceUp;
32 | private boolean[] mSamples = new boolean[SENSOR_SAMPLES];
33 | private int mSampleIndex;
34 | private ActionHandler mActionHandler;
35 |
36 | public interface ActionHandler {
37 | void onFaceDown();
38 | void onFaceUp();
39 | }
40 |
41 | public PhoneSensorEventListener(ActionHandler actionHandler) {
42 | mActionHandler = actionHandler;
43 | }
44 |
45 | @Override
46 | public void onAccuracyChanged(Sensor sensor, int acc) {
47 | }
48 |
49 | public void reset() {
50 | mWasFaceUp = false;
51 | mStopped = false;
52 | for (int i = 0; i < SENSOR_SAMPLES; i++) {
53 | mSamples[i] = false;
54 | }
55 | }
56 |
57 | private boolean filterSamples() {
58 | int trues = 0;
59 | for (boolean sample : mSamples) {
60 | if(sample) {
61 | ++trues;
62 | }
63 | }
64 | return trues >= MIN_ACCEPT_COUNT;
65 | }
66 |
67 | @Override
68 | public void onSensorChanged(SensorEvent event) {
69 | // Add a sample overwriting the oldest one. Several samples
70 | // are used to avoid the erroneous values the sensor sometimes
71 | // returns.
72 | float z = event.values[2];
73 |
74 | if (mStopped) {
75 | return;
76 | }
77 |
78 | if (!mWasFaceUp) {
79 | // Check if its face up enough.
80 | mSamples[mSampleIndex] = z > FACE_UP_GRAVITY_THRESHOLD;
81 |
82 | // face up
83 | if (filterSamples()) {
84 | mWasFaceUp = true;
85 | for (int i = 0; i < SENSOR_SAMPLES; i++) {
86 | mSamples[i] = false;
87 | }
88 | if (mActionHandler != null) mActionHandler.onFaceUp();
89 | }
90 | } else {
91 | // Check if its face down enough.
92 | mSamples[mSampleIndex] = z < FACE_DOWN_GRAVITY_THRESHOLD;
93 |
94 | // face down
95 | if (filterSamples()) {
96 | mStopped = true;
97 | if (mActionHandler != null) mActionHandler.onFaceDown();
98 | }
99 | }
100 |
101 | mSampleIndex = ((mSampleIndex + 1) % SENSOR_SAMPLES);
102 | }
103 | }
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/StatusbarBatteryPercentage.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox;
17 |
18 | import com.ceco.gm2.gravitybox.StatusBarIconManager.ColorInfo;
19 | import com.ceco.gm2.gravitybox.StatusBarIconManager.IconManagerListener;
20 |
21 | import android.widget.TextView;
22 |
23 | public class StatusbarBatteryPercentage implements IconManagerListener {
24 | private TextView mPercentage;
25 | private int mDefaultColor;
26 |
27 | public StatusbarBatteryPercentage(TextView clockView) {
28 | mPercentage = clockView;
29 | mDefaultColor = mPercentage.getCurrentTextColor();
30 | }
31 |
32 | public TextView getView() {
33 | return mPercentage;
34 | }
35 |
36 | @Override
37 | public void onIconManagerStatusChanged(int flags, ColorInfo colorInfo) {
38 | if ((flags & StatusBarIconManager.FLAG_ICON_COLOR_CHANGED) != 0) {
39 | if (colorInfo.coloringEnabled) {
40 | mPercentage.setTextColor(colorInfo.iconColor[0]);
41 | } else {
42 | if (colorInfo.followStockBatteryColor && colorInfo.stockBatteryColor != null) {
43 | mPercentage.setTextColor(colorInfo.stockBatteryColor);
44 | } else {
45 | mPercentage.setTextColor(mDefaultColor);
46 | }
47 | }
48 | } else if ((flags & StatusBarIconManager.FLAG_LOW_PROFILE_CHANGED) != 0) {
49 | mPercentage.setAlpha(colorInfo.lowProfile ? 0.5f : 1);
50 | }
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/StatusbarClock.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox;
17 |
18 | import com.ceco.gm2.gravitybox.StatusBarIconManager.ColorInfo;
19 | import com.ceco.gm2.gravitybox.StatusBarIconManager.IconManagerListener;
20 |
21 | import android.widget.TextView;
22 |
23 | public class StatusbarClock implements IconManagerListener {
24 | private TextView mClock;
25 | private int mDefaultClockColor;
26 | private int mOriginalPaddingLeft;
27 |
28 | public StatusbarClock(TextView clockView) {
29 | mClock = clockView;
30 | mDefaultClockColor = mClock.getCurrentTextColor();
31 | mOriginalPaddingLeft = mClock.getPaddingLeft();
32 | }
33 |
34 | public TextView getView() {
35 | return mClock;
36 | }
37 |
38 | public void resetOriginalPaddingLeft() {
39 | if (mClock != null) {
40 | mClock.setPadding(mOriginalPaddingLeft, 0, 0, 0);
41 | }
42 | }
43 |
44 | @Override
45 | public void onIconManagerStatusChanged(int flags, ColorInfo colorInfo) {
46 | if ((flags & StatusBarIconManager.FLAG_ICON_COLOR_CHANGED) != 0) {
47 | if (colorInfo.coloringEnabled) {
48 | mClock.setTextColor(colorInfo.iconColor[0]);
49 | } else {
50 | if (colorInfo.followStockBatteryColor && colorInfo.stockBatteryColor != null) {
51 | mClock.setTextColor(colorInfo.stockBatteryColor);
52 | } else {
53 | mClock.setTextColor(mDefaultClockColor);
54 | }
55 | }
56 | }
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/SystemWideResources.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox;
17 |
18 | import android.content.res.Resources;
19 | import android.content.res.XModuleResources;
20 | import android.content.res.XResources;
21 | import android.os.Build;
22 | import de.robv.android.xposed.XSharedPreferences;
23 | import de.robv.android.xposed.XposedBridge;
24 |
25 | public class SystemWideResources {
26 |
27 | public static void initResources(final XSharedPreferences prefs) {
28 | try {
29 | Resources systemRes = XResources.getSystem();
30 |
31 | XModuleResources modRes = XModuleResources.createInstance(GravityBox.MODULE_PATH, null);
32 |
33 | if (Build.VERSION.SDK_INT > 16) {
34 | XResources.setSystemWideReplacement("android", "bool", "config_animateScreenLights", true);
35 | }
36 |
37 | boolean holoBgDither = prefs.getBoolean(GravityBoxSettings.PREF_KEY_HOLO_BG_DITHER, false);
38 | if (prefs.getBoolean(GravityBoxSettings.PREF_KEY_HOLO_BG_SOLID_BLACK, false)) {
39 | XResources.setSystemWideReplacement(
40 | "android", "drawable", "background_holo_dark", modRes.fwd(R.drawable.background_holo_dark_solid));
41 | } else if (holoBgDither) {
42 | XResources.setSystemWideReplacement(
43 | "android", "drawable", "background_holo_dark", modRes.fwd(R.drawable.background_holo_dark));
44 | }
45 | if (holoBgDither) {
46 | XResources.setSystemWideReplacement(
47 | "android", "drawable", "background_holo_light", modRes.fwd(R.drawable.background_holo_light));
48 | }
49 |
50 | if (prefs.getBoolean(GravityBoxSettings.PREF_KEY_NAVBAR_OVERRIDE, false)) {
51 | XResources.setSystemWideReplacement("android", "bool", "config_showNavigationBar",
52 | prefs.getBoolean(GravityBoxSettings.PREF_KEY_NAVBAR_ENABLE,
53 | SystemPropertyProvider.getSystemConfigBool(systemRes,
54 | "config_showNavigationBar")));
55 | }
56 |
57 | XResources.setSystemWideReplacement("android", "bool", "config_unplugTurnsOnScreen",
58 | prefs.getBoolean(GravityBoxSettings.PREF_KEY_UNPLUG_TURNS_ON_SCREEN,
59 | SystemPropertyProvider.getSystemConfigBool(systemRes,
60 | "config_unplugTurnsOnScreen")));
61 | } catch (Throwable t) {
62 | XposedBridge.log(t);
63 | }
64 | }
65 |
66 | }
67 |
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/adapters/BaseListAdapterFilter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox.adapters;
17 |
18 | import java.util.ArrayList;
19 | import java.util.List;
20 | import java.util.Locale;
21 |
22 | import android.widget.Filter;
23 |
24 | public class BaseListAdapterFilter extends Filter {
25 | private IBaseListAdapterFilterable mTarget;
26 |
27 | public interface IBaseListAdapterFilterable {
28 | public List getOriginalData();
29 | public List getFilteredData();
30 | public void onFilterPublishResults(List results);
31 | }
32 |
33 | public BaseListAdapterFilter(IBaseListAdapterFilterable target) {
34 | mTarget = target;
35 | }
36 |
37 | @Override
38 | protected FilterResults performFiltering(CharSequence constraint) {
39 | FilterResults results = new FilterResults();
40 | String search = constraint.toString().toLowerCase(Locale.getDefault());
41 | ArrayList original = new ArrayList(mTarget.getOriginalData());
42 |
43 | if(search == null || search.length() == 0) {
44 | results.values = original;
45 | results.count = original.size();
46 | } else {
47 | final ArrayList nlist = new ArrayList();
48 | for (int i = 0; i < original.size(); i++) {
49 | final T item = original.get(i);
50 | final String val = item.getText().toLowerCase(Locale.getDefault());
51 |
52 | if(val.contains(search))
53 | nlist.add(item);
54 | }
55 |
56 | results.values = nlist;
57 | results.count = nlist.size();
58 | }
59 |
60 | return results;
61 | }
62 |
63 | @SuppressWarnings("unchecked")
64 | @Override
65 | protected void publishResults(CharSequence constraint, FilterResults results) {
66 | mTarget.onFilterPublishResults((ArrayList) results.values);
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/adapters/BasicIconListItem.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox.adapters;
17 |
18 | import android.graphics.drawable.Drawable;
19 |
20 | public class BasicIconListItem extends BasicListItem
21 | implements IIconListAdapterItem {
22 | private Drawable mIconLeft;
23 | private Drawable mIconRight;
24 |
25 | public BasicIconListItem(String text, String subText, Drawable iconIdLeft, Drawable iconIdRight) {
26 | super(text, subText);
27 |
28 | mIconLeft = iconIdLeft;
29 | mIconRight = iconIdRight;
30 | }
31 |
32 | public BasicIconListItem(String text, String subText) {
33 | this(text, subText, null, null);
34 | }
35 |
36 | @Override
37 | public Drawable getIconLeft() {
38 | return mIconLeft;
39 | }
40 |
41 | @Override
42 | public Drawable getIconRight() {
43 | return mIconRight;
44 | }
45 |
46 | public void setIconIdLeft(Drawable icon) {
47 | mIconLeft = icon;
48 | }
49 |
50 | public void setIconRight(Drawable icon) {
51 | mIconRight = icon;
52 | }
53 |
54 | public void setIconIds(Drawable left, Drawable right) {
55 | mIconLeft = left;
56 | mIconRight = right;
57 | }
58 | }
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/adapters/BasicListItem.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox.adapters;
17 |
18 | public class BasicListItem implements IBaseListAdapterItem {
19 | private String mText;
20 | private String mSubText;
21 |
22 | public BasicListItem(String text, String subText) {
23 | mText = text;
24 | mSubText = subText;
25 | }
26 |
27 | @Override
28 | public String getText() {
29 | return mText;
30 | }
31 |
32 | @Override
33 | public String getSubText() {
34 | return mSubText;
35 | }
36 |
37 | public void setText(String text) {
38 | mText = text;
39 | }
40 |
41 | public void setSubText(String text) {
42 | mSubText = text;
43 | }
44 | }
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/adapters/IBaseListAdapterItem.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox.adapters;
17 |
18 | public interface IBaseListAdapterItem {
19 | public String getText();
20 | public String getSubText();
21 | }
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/adapters/IIconCheckListAdapterItem.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox.adapters;
17 |
18 | public interface IIconCheckListAdapterItem extends IIconListAdapterItem {
19 | void setChecked(boolean checked);
20 | boolean isChecked();
21 | }
22 |
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/adapters/IIconListAdapterItem.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox.adapters;
17 |
18 | import android.graphics.drawable.Drawable;
19 |
20 | public interface IIconListAdapterItem extends IBaseListAdapterItem {
21 | public Drawable getIconLeft();
22 | public Drawable getIconRight();
23 | }
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/adapters/IconCheckListAdapter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox.adapters;
17 |
18 | import java.util.ArrayList;
19 | import java.util.List;
20 |
21 | import com.ceco.gm2.gravitybox.R;
22 |
23 | import android.content.Context;
24 | import android.view.LayoutInflater;
25 | import android.view.View;
26 | import android.view.ViewGroup;
27 | import android.widget.ArrayAdapter;
28 | import android.widget.CheckedTextView;
29 | import android.widget.TextView;
30 |
31 | public class IconCheckListAdapter extends ArrayAdapter {
32 | private Context mContext;
33 | private List mData = null;
34 | private boolean mSubtextEnabled;
35 |
36 | public IconCheckListAdapter(Context context, List objects) {
37 | super(context, R.layout.simple_list_item_2_multiple_choice, objects);
38 |
39 | mContext = context;
40 | mData = new ArrayList(objects);
41 | mSubtextEnabled = true;
42 | }
43 |
44 | static class ViewHolder {
45 | CheckedTextView text;
46 | TextView subText;
47 | }
48 |
49 | public void setSubtextEnabled(boolean enabled) {
50 | mSubtextEnabled = enabled;
51 | }
52 |
53 | @Override
54 | public View getView(int position, View convertView, ViewGroup parent) {
55 | View row = convertView;
56 | ViewHolder holder = null;
57 |
58 | if(row == null) {
59 | LayoutInflater inflater =
60 | (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
61 | row = inflater.inflate(R.layout.simple_list_item_2_multiple_choice, parent, false);
62 |
63 | holder = new ViewHolder();
64 | holder.text = (CheckedTextView) row.findViewById(R.id.text1);
65 | holder.text.setCompoundDrawablePadding(10);
66 | holder.subText = (TextView) row.findViewById(R.id.text2);
67 | if (!mSubtextEnabled) {
68 | holder.subText.setVisibility(View.GONE);
69 | }
70 | row.setTag(holder);
71 | } else {
72 | holder = (ViewHolder) row.getTag();
73 | }
74 |
75 | IIconCheckListAdapterItem item = mData.get(position);
76 |
77 | holder.text.setText(item.getText());
78 | holder.text.setCompoundDrawablesWithIntrinsicBounds(
79 | item.getIconLeft(), null, item.getIconRight(), null);
80 | holder.text.setChecked(item.isChecked());
81 | holder.subText.setText(item.getSubText());
82 |
83 | return row;
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/adapters/IconListAdapter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox.adapters;
17 |
18 | import java.util.ArrayList;
19 | import java.util.List;
20 |
21 | import com.ceco.gm2.gravitybox.adapters.BaseListAdapterFilter.IBaseListAdapterFilterable;
22 |
23 | import android.content.Context;
24 | import android.view.LayoutInflater;
25 | import android.view.View;
26 | import android.view.ViewGroup;
27 | import android.widget.ArrayAdapter;
28 | import android.widget.TextView;
29 |
30 | public class IconListAdapter extends ArrayAdapter
31 | implements IBaseListAdapterFilterable {
32 | private Context mContext;
33 | private List mData = null;
34 | private List mFilteredData = null;
35 | private android.widget.Filter mFilter;
36 |
37 | public IconListAdapter(Context context, List objects) {
38 | super(context, android.R.layout.simple_list_item_1, objects);
39 |
40 | mContext = context;
41 | mData = new ArrayList(objects);
42 | mFilteredData = new ArrayList(objects);
43 | }
44 |
45 | static class ViewHolder {
46 | TextView text;
47 | }
48 |
49 | @Override
50 | public View getView(int position, View convertView, ViewGroup parent) {
51 | View row = convertView;
52 | ViewHolder holder = null;
53 |
54 | if(row == null) {
55 | LayoutInflater inflater =
56 | (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
57 | row = inflater.inflate(android.R.layout.simple_list_item_1, parent, false);
58 |
59 | holder = new ViewHolder();
60 | holder.text = (TextView) row.findViewById(android.R.id.text1);
61 | holder.text.setCompoundDrawablePadding(10);
62 | row.setTag(holder);
63 | } else {
64 | holder = (ViewHolder) row.getTag();
65 | }
66 |
67 | IIconListAdapterItem item = mFilteredData.get(position);
68 |
69 | holder.text.setText(item.getText());
70 | holder.text.setCompoundDrawablesWithIntrinsicBounds(
71 | item.getIconLeft(), null, item.getIconRight(), null);
72 |
73 | return row;
74 | }
75 |
76 | @Override
77 | public android.widget.Filter getFilter() {
78 | if(mFilter == null)
79 | mFilter = new BaseListAdapterFilter(this);
80 |
81 | return mFilter;
82 | }
83 |
84 | @Override
85 | public List getOriginalData() {
86 | return mData;
87 | }
88 |
89 | @Override
90 | public List getFilteredData() {
91 | return mFilteredData;
92 | }
93 |
94 | @Override
95 | public void onFilterPublishResults(List results) {
96 | mFilteredData = results;
97 | clear();
98 | for (int i = 0; i < mFilteredData.size(); i++)
99 | {
100 | IIconListAdapterItem item = mFilteredData.get(i);
101 | add(item);
102 | }
103 | }
104 | }
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/pie/PieSliceContainer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 The CyanogenMod Project
3 | * Copyright (C) 2013 Peter Gregus for GravityBox project (C3C076@xda)
4 | *
5 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6 | * use this file except in compliance with the License. You may obtain a copy of
7 | * the License at
8 | *
9 | * http://www.apache.org/licenses/LICENSE-2.0
10 | *
11 | * Unless required by applicable law or agreed to in writing, software
12 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 | * License for the specific language governing permissions and limitations under
15 | * the License.
16 | */
17 | package com.ceco.gm2.gravitybox.pie;
18 |
19 | import android.graphics.Canvas;
20 |
21 | import com.ceco.gm2.gravitybox.pie.PieLayout.PieDrawable;
22 | import com.ceco.gm2.gravitybox.pie.PieController.Position;
23 |
24 | import de.robv.android.xposed.XposedBridge;
25 |
26 | import java.util.ArrayList;
27 | import java.util.List;
28 |
29 | /**
30 | * A generic container for {@link PieItems}.
31 | */
32 | public class PieSliceContainer extends PieLayout.PieSlice {
33 |
34 | protected PieLayout mPieLayout;
35 | private List mItems = new ArrayList();
36 |
37 | private static void log(String message) {
38 | XposedBridge.log(PieLayout.TAG + ": " + message);
39 | }
40 |
41 | public PieSliceContainer(PieLayout parent, int initialFlags) {
42 | mPieLayout = parent;
43 |
44 | flags = initialFlags | PieLayout.PieDrawable.VISIBLE;
45 | }
46 |
47 | @Override
48 | public void prepare(Position position, float scale) {
49 | if (hasItems()) {
50 | int totalWidth = 0;
51 | for (PieItem item : mItems) {
52 | if ((item.flags & PieDrawable.VISIBLE) != 0) {
53 | totalWidth += item.width;
54 | }
55 | }
56 |
57 | // if there is no item to be lay out stop here
58 | if (totalWidth == 0) {
59 | return;
60 | }
61 |
62 | float gapMinder = ((totalWidth * GAP * 2.0f) / (mOuter + mInner));
63 | float deltaSweep = mSweep / totalWidth;
64 | int width = position != Position.TOP ? 0 : totalWidth;
65 |
66 | int viewMask = PieDrawable.VISIBLE | position.FLAG;
67 |
68 | boolean top = position == Position.TOP;
69 | for (PieItem item : mItems) {
70 | if ((item.flags & viewMask) == viewMask) {
71 | if (top) width -= item.width;
72 |
73 | item.setGeometry(mStart + deltaSweep * width,
74 | item.width * deltaSweep, mInner, mOuter);
75 | item.setGap(deltaSweep * gapMinder);
76 |
77 | if (PieLayout.DEBUG) {
78 | log("Layout " + item.tag + " : ("
79 | + (mStart + deltaSweep * width) + ","
80 | + (item.width * deltaSweep) + ")");
81 | }
82 |
83 | if (!top) width += item.width;
84 | }
85 | }
86 | }
87 | }
88 |
89 | @Override
90 | public void draw(Canvas canvas, Position gravity) {
91 | }
92 |
93 | @Override
94 | public PieItem interact(float alpha, int radius) {
95 | return null;
96 | }
97 |
98 | public boolean hasItems() {
99 | return !mItems.isEmpty();
100 | }
101 |
102 | public void addItem(PieItem item) {
103 | mItems.add(item);
104 | }
105 |
106 | public List getItems() {
107 | return mItems;
108 | }
109 |
110 | public void clear() {
111 | mItems.clear();
112 | }
113 | }
114 |
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/quicksettings/GravityBoxTile.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox.quicksettings;
17 |
18 | import com.ceco.gm2.gravitybox.GravityBox;
19 | import com.ceco.gm2.gravitybox.GravityBoxSettings;
20 | import com.ceco.gm2.gravitybox.R;
21 |
22 | import android.content.Context;
23 | import android.content.Intent;
24 | import android.os.Build;
25 | import android.view.LayoutInflater;
26 | import android.view.View;
27 | import android.widget.TextView;
28 |
29 | public class GravityBoxTile extends AQuickSettingsTile {
30 |
31 | public GravityBoxTile(Context context, Context gbContext, Object statusBar, Object panelBar) {
32 | super(context, gbContext, statusBar, panelBar);
33 |
34 | mOnClick = new View.OnClickListener() {
35 | @Override
36 | public void onClick(View v) {
37 | Intent i = new Intent();
38 | i.setClassName(GravityBox.PACKAGE_NAME, GravityBoxSettings.class.getName());
39 | startActivity(i);
40 | }
41 | };
42 |
43 | if (Build.VERSION.SDK_INT > 16) {
44 | mOnLongClick = new View.OnLongClickListener() {
45 | @Override
46 | public boolean onLongClick(View v) {
47 | Intent i = new Intent();
48 | i.setClassName(GravityBox.PACKAGE_NAME, TileOrderActivity.class.getName());
49 | startActivity(i);
50 | return true;
51 | }
52 | };
53 | }
54 | }
55 |
56 | @Override
57 | protected void onTileCreate() {
58 | mDrawableId = R.drawable.ic_qs_gravitybox;
59 | mLabel = "GravityBox";
60 |
61 | LayoutInflater inflater = LayoutInflater.from(mGbContext);
62 | inflater.inflate(R.layout.quick_settings_tile_gravity, mTile);
63 | }
64 |
65 | @Override
66 | protected synchronized void updateTile() {
67 | TextView tv = (TextView) mTile.findViewById(R.id.gravitybox_tileview);
68 | tv.setText(mLabel);
69 | tv.setCompoundDrawablesWithIntrinsicBounds(0, mDrawableId, 0, 0);
70 | }
71 | }
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/quicksettings/ScreenshotTile.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox.quicksettings;
17 |
18 | import com.ceco.gm2.gravitybox.ModHwKeys;
19 | import com.ceco.gm2.gravitybox.R;
20 |
21 | import android.content.Context;
22 | import android.content.Intent;
23 | import android.graphics.PorterDuff;
24 | import android.graphics.drawable.Drawable;
25 | import android.os.Handler;
26 | import android.view.LayoutInflater;
27 | import android.view.View;
28 | import android.widget.TextView;
29 |
30 | public class ScreenshotTile extends AQuickSettingsTile {
31 |
32 | private TextView mTextView;
33 |
34 | public ScreenshotTile(Context context, Context gbContext, Object statusBar, Object panelBar) {
35 | super(context, gbContext, statusBar, panelBar);
36 |
37 | mOnClick = new View.OnClickListener() {
38 | @Override
39 | public void onClick(View v) {
40 | collapsePanels();
41 | new Handler().postDelayed(new Runnable() {
42 | @Override
43 | public void run() {
44 | Intent intent = new Intent(ModHwKeys.ACTION_SCREENSHOT);
45 | mContext.sendBroadcast(intent);
46 | }
47 | }, 1000);
48 | }
49 | };
50 | }
51 |
52 | @Override
53 | protected void onTileCreate() {
54 | LayoutInflater inflater = LayoutInflater.from(mGbContext);
55 | inflater.inflate(R.layout.quick_settings_tile_screenshot, mTile);
56 | mTextView = (TextView) mTile.findViewById(R.id.screenshot_tileview);
57 | }
58 |
59 | @Override
60 | protected synchronized void updateTile() {
61 | mDrawableId = R.drawable.ic_qs_screenshot;
62 | mLabel = mGbContext.getString(R.string.qs_tile_screenshot);
63 | mTextView.setText(mLabel);
64 | if (mTileStyle == KITKAT) {
65 | Drawable d = mGbResources.getDrawable(mDrawableId).mutate();
66 | d.setColorFilter(KK_COLOR_ON, PorterDuff.Mode.SRC_ATOP);
67 | mTextView.setCompoundDrawablesWithIntrinsicBounds(null, d, null, null);
68 | } else {
69 | mTextView.setCompoundDrawablesWithIntrinsicBounds(0, mDrawableId, 0, 0);
70 | }
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/quicksettings/SleepTile.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox.quicksettings;
17 |
18 | import com.ceco.gm2.gravitybox.ModHwKeys;
19 | import com.ceco.gm2.gravitybox.R;
20 |
21 | import de.robv.android.xposed.XposedBridge;
22 | import android.content.Context;
23 | import android.content.Intent;
24 | import android.graphics.PorterDuff;
25 | import android.graphics.drawable.Drawable;
26 | import android.os.PowerManager;
27 | import android.os.SystemClock;
28 | import android.view.LayoutInflater;
29 | import android.view.View;
30 | import android.widget.TextView;
31 |
32 | public class SleepTile extends AQuickSettingsTile {
33 |
34 | public SleepTile(Context context, Context gbContext, Object statusBar, Object panelBar) {
35 | super(context, gbContext, statusBar, panelBar);
36 |
37 | mOnClick = new View.OnClickListener() {
38 |
39 | @Override
40 | public void onClick(View v) {
41 | try {
42 | PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
43 | pm.goToSleep(SystemClock.uptimeMillis());
44 | } catch(Exception e) {
45 | XposedBridge.log(e);
46 | }
47 | }
48 | };
49 |
50 | mOnLongClick = new View.OnLongClickListener() {
51 |
52 | @Override
53 | public boolean onLongClick(View v) {
54 | Intent intent = new Intent(ModHwKeys.ACTION_SHOW_POWER_MENU);
55 | mContext.sendBroadcast(intent);
56 | collapsePanels();
57 | return true;
58 | }
59 | };
60 | }
61 |
62 | @Override
63 | protected void onTileCreate() {
64 | mDrawableId = R.drawable.ic_qs_sleep;
65 | mLabel = mGbResources.getString(R.string.qs_tile_sleep);
66 |
67 | LayoutInflater inflater = LayoutInflater.from(mGbContext);
68 | inflater.inflate(R.layout.quick_settings_tile_sleep, mTile);
69 | }
70 |
71 | @Override
72 | protected void updateTile() {
73 | TextView tv = (TextView) mTile.findViewById(R.id.sleep_tileview);
74 | tv.setText(mLabel);
75 | if (mTileStyle == KITKAT) {
76 | Drawable d = mGbResources.getDrawable(mDrawableId).mutate();
77 | d.setColorFilter(KK_COLOR_ON, PorterDuff.Mode.SRC_ATOP);
78 | tv.setCompoundDrawablesWithIntrinsicBounds(null, d, null, null);
79 | } else {
80 | tv.setCompoundDrawablesWithIntrinsicBounds(0, mDrawableId, 0, 0);
81 | }
82 | }
83 |
84 | }
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/quicksettings/TorchTile.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox.quicksettings;
17 |
18 | import com.ceco.gm2.gravitybox.R;
19 | import com.ceco.gm2.gravitybox.TorchService;
20 |
21 | import android.content.BroadcastReceiver;
22 | import android.content.Context;
23 | import android.content.Intent;
24 | import android.content.IntentFilter;
25 | import android.graphics.PorterDuff;
26 | import android.graphics.drawable.Drawable;
27 | import android.view.LayoutInflater;
28 | import android.view.View;
29 | import android.widget.TextView;
30 |
31 | public class TorchTile extends AQuickSettingsTile {
32 |
33 | private TextView mTextView;
34 | private int mTorchStatus = TorchService.TORCH_STATUS_OFF;
35 |
36 | private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
37 |
38 | @Override
39 | public void onReceive(Context context, Intent intent) {
40 | if (intent.getAction().equals(TorchService.ACTION_TORCH_STATUS_CHANGED) &&
41 | intent.hasExtra(TorchService.EXTRA_TORCH_STATUS)) {
42 | mTorchStatus = intent.getIntExtra(TorchService.EXTRA_TORCH_STATUS,
43 | TorchService.TORCH_STATUS_OFF);
44 | updateResources();
45 | }
46 | }
47 |
48 | };
49 |
50 | public TorchTile(Context context, Context gbContext, Object statusBar, Object panelBar) {
51 | super(context, gbContext, statusBar, panelBar);
52 |
53 | mOnClick = new View.OnClickListener() {
54 |
55 | @Override
56 | public void onClick(View v) {
57 | toggleState();
58 | }
59 | };
60 | }
61 |
62 | @Override
63 | protected void onTileCreate() {
64 | LayoutInflater inflater = LayoutInflater.from(mGbContext);
65 | inflater.inflate(R.layout.quick_settings_tile_torch, mTile);
66 | mTextView = (TextView) mTile.findViewById(R.id.torch_tileview);
67 |
68 | IntentFilter intentFilter = new IntentFilter(TorchService.ACTION_TORCH_STATUS_CHANGED);
69 | mContext.registerReceiver(mBroadcastReceiver, intentFilter);
70 | }
71 |
72 | @Override
73 | protected void updateTile() {
74 | if (mTorchStatus == TorchService.TORCH_STATUS_ON) {
75 | mDrawableId = R.drawable.ic_qs_torch_on;
76 | mLabel = mGbResources.getString(R.string.quick_settings_torch_on);
77 | } else {
78 | mDrawableId = R.drawable.ic_qs_torch_off;
79 | mLabel = mGbResources.getString(R.string.quick_settings_torch_off);
80 | }
81 |
82 | mTextView.setText(mLabel);
83 | if (mTileStyle == KITKAT) {
84 | Drawable d = mGbResources.getDrawable(mDrawableId).mutate();
85 | d.setColorFilter(mTorchStatus == TorchService.TORCH_STATUS_ON ?
86 | KK_COLOR_ON : KK_COLOR_OFF, PorterDuff.Mode.SRC_ATOP);
87 | mTextView.setCompoundDrawablesWithIntrinsicBounds(null, d, null, null);
88 | } else {
89 | mTextView.setCompoundDrawablesWithIntrinsicBounds(0, mDrawableId, 0, 0);
90 | }
91 | }
92 |
93 | private void toggleState() {
94 | Intent si = new Intent(mGbContext, TorchService.class);
95 | si.setAction(TorchService.ACTION_TOGGLE_TORCH);
96 | mGbContext.startService(si);
97 | }
98 | }
--------------------------------------------------------------------------------
/src/com/ceco/gm2/gravitybox/quicksettings/VolumeTile.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peter Gregus for GravityBox Project (C3C076@xda)
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package com.ceco.gm2.gravitybox.quicksettings;
17 |
18 | import com.ceco.gm2.gravitybox.R;
19 |
20 | import de.robv.android.xposed.XposedHelpers;
21 |
22 | import android.content.Context;
23 | import android.graphics.PorterDuff;
24 | import android.graphics.drawable.Drawable;
25 | import android.media.AudioManager;
26 | import android.view.LayoutInflater;
27 | import android.view.View;
28 | import android.widget.TextView;
29 |
30 | public class VolumeTile extends AQuickSettingsTile {
31 |
32 | public VolumeTile(Context context, Context gbContext, Object statusBar, Object panelBar) {
33 | super(context, gbContext, statusBar, panelBar);
34 |
35 | mOnClick = new View.OnClickListener() {
36 |
37 | @Override
38 | public void onClick(View v) {
39 | XposedHelpers.callMethod(mStatusBar, "animateCollapsePanels");
40 | AudioManager am = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
41 | am.adjustVolume(AudioManager.ADJUST_SAME, AudioManager.FLAG_SHOW_UI);
42 | }
43 | };
44 |
45 | mOnLongClick = new View.OnLongClickListener() {
46 |
47 | @Override
48 | public boolean onLongClick(View v) {
49 | startActivity(android.provider.Settings.ACTION_SOUND_SETTINGS);
50 | return true;
51 | }
52 | };
53 | }
54 |
55 | @Override
56 | protected void onTileCreate() {
57 | mDrawableId = R.drawable.ic_qs_volume;
58 | mLabel = mGbContext.getString(R.string.qs_tile_volume);
59 |
60 | LayoutInflater inflater = LayoutInflater.from(mGbContext);
61 | inflater.inflate(R.layout.quick_settings_tile_volume, mTile);
62 | }
63 |
64 | @Override
65 | protected synchronized void updateTile() {
66 | TextView tv = (TextView) mTile.findViewById(R.id.volume_tileview);
67 | tv.setText(mLabel);
68 | if (mTileStyle == KITKAT) {
69 | Drawable d = mGbResources.getDrawable(mDrawableId).mutate();
70 | d.setColorFilter(KK_COLOR_ON, PorterDuff.Mode.SRC_ATOP);
71 | tv.setCompoundDrawablesWithIntrinsicBounds(null, d, null, null);
72 | } else {
73 | tv.setCompoundDrawablesWithIntrinsicBounds(0, mDrawableId, 0, 0);
74 | }
75 | }
76 | }
--------------------------------------------------------------------------------
/src/net/margaritov/preference/colorpicker/AlphaPatternDrawable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 Daniel Nilsson
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package net.margaritov.preference.colorpicker;
18 |
19 | import android.graphics.Bitmap;
20 | import android.graphics.Bitmap.Config;
21 | import android.graphics.Canvas;
22 | import android.graphics.ColorFilter;
23 | import android.graphics.Paint;
24 | import android.graphics.Rect;
25 | import android.graphics.drawable.Drawable;
26 |
27 | /**
28 | * This drawable that draws a simple white and gray chessboard pattern.
29 | * It's pattern you will often see as a background behind a
30 | * partly transparent image in many applications.
31 | * @author Daniel Nilsson
32 | */
33 | public class AlphaPatternDrawable extends Drawable {
34 |
35 | private int mRectangleSize = 10;
36 |
37 | private Paint mPaint = new Paint();
38 | private Paint mPaintWhite = new Paint();
39 | private Paint mPaintGray = new Paint();
40 |
41 | private int numRectanglesHorizontal;
42 | private int numRectanglesVertical;
43 |
44 | /**
45 | * Bitmap in which the pattern will be cahched.
46 | */
47 | private Bitmap mBitmap;
48 |
49 | public AlphaPatternDrawable(int rectangleSize) {
50 | mRectangleSize = rectangleSize;
51 | mPaintWhite.setColor(0xffffffff);
52 | mPaintGray.setColor(0xffcbcbcb);
53 | }
54 |
55 | @Override
56 | public void draw(Canvas canvas) {
57 | canvas.drawBitmap(mBitmap, null, getBounds(), mPaint);
58 | }
59 |
60 | @Override
61 | public int getOpacity() {
62 | return 0;
63 | }
64 |
65 | @Override
66 | public void setAlpha(int alpha) {
67 | throw new UnsupportedOperationException("Alpha is not supported by this drawwable.");
68 | }
69 |
70 | @Override
71 | public void setColorFilter(ColorFilter cf) {
72 | throw new UnsupportedOperationException("ColorFilter is not supported by this drawwable.");
73 | }
74 |
75 | @Override
76 | protected void onBoundsChange(Rect bounds) {
77 | super.onBoundsChange(bounds);
78 |
79 | int height = bounds.height();
80 | int width = bounds.width();
81 |
82 | numRectanglesHorizontal = (int) Math.ceil((width / mRectangleSize));
83 | numRectanglesVertical = (int) Math.ceil(height / mRectangleSize);
84 |
85 | generatePatternBitmap();
86 |
87 | }
88 |
89 | /**
90 | * This will generate a bitmap with the pattern
91 | * as big as the rectangle we were allow to draw on.
92 | * We do this to chache the bitmap so we don't need to
93 | * recreate it each time draw() is called since it
94 | * takes a few milliseconds.
95 | */
96 | private void generatePatternBitmap(){
97 |
98 | if(getBounds().width() <= 0 || getBounds().height() <= 0){
99 | return;
100 | }
101 |
102 | mBitmap = Bitmap.createBitmap(getBounds().width(), getBounds().height(), Config.ARGB_8888);
103 | Canvas canvas = new Canvas(mBitmap);
104 |
105 | Rect r = new Rect();
106 | boolean verticalStartWhite = true;
107 | for (int i = 0; i <= numRectanglesVertical; i++) {
108 |
109 | boolean isWhite = verticalStartWhite;
110 | for (int j = 0; j <= numRectanglesHorizontal; j++) {
111 |
112 | r.top = i * mRectangleSize;
113 | r.left = j * mRectangleSize;
114 | r.bottom = r.top + mRectangleSize;
115 | r.right = r.left + mRectangleSize;
116 |
117 | canvas.drawRect(r, isWhite ? mPaintWhite : mPaintGray);
118 |
119 | isWhite = !isWhite;
120 | }
121 |
122 | verticalStartWhite = !verticalStartWhite;
123 |
124 | }
125 |
126 | }
127 |
128 | }
--------------------------------------------------------------------------------