mirror of
https://github.com/Divested-Mobile/DivestOS-Build.git
synced 2025-02-04 09:05:34 -05:00
Repository cleanup
This commit is contained in:
parent
ee867dad1c
commit
1fe7864416
@ -1,42 +0,0 @@
|
||||
General Changes
|
||||
Build
|
||||
- Base: Added 182 applications to the automatic power profile switcher config
|
||||
- Base: Don't enable battery saver when switching to power save profile
|
||||
- Browser: Changed some default settings
|
||||
- Browser: UI Update
|
||||
- Compiled with UBERTC GCC 4.9 and AOSP NDK 4.9 using JustArchi's v4.1 optimization flags
|
||||
- Removed analytics from various packages
|
||||
- Removed some packages for privacy reasons
|
||||
- Removed useless packages
|
||||
- Settings: Added option to change encryption password
|
||||
- Settings: Senisitive notification content is hidden by default
|
||||
Kernels
|
||||
- Compiled with UBERTC GCC 4.8 using Cortex-A15 optimization flags
|
||||
- Enabled DIAG (SnoopSnitch support)
|
||||
- Enabled modules support
|
||||
- Implemented KEXEC support (Multirom support)
|
||||
- Implemented Quick Wakeup (Battery savings)
|
||||
To Do
|
||||
- DNScrypt support
|
||||
- Remove DRM server
|
||||
- Add more governors
|
||||
- Add more I/O schedulers
|
||||
- LZ4 boot support
|
||||
- Remove unneeded Qualcomm blobs
|
||||
|
||||
Bacon Changes
|
||||
Kernel
|
||||
- Implemented UKSM (Memory deduplication)
|
||||
- Overclocked from 2.45Ghz to 2.88Ghz
|
||||
- Underclocked from 300Mhz to 268Mhz
|
||||
- Upgraded from Linux 3.4.67 to 3.4.110
|
||||
Device
|
||||
- Basic performance/battery build.prop optimizations
|
||||
- Removed bundled Google Widevine DRM and Microsoft PlayReady DRM firmware files
|
||||
|
||||
Mako Changes
|
||||
Kernel
|
||||
- Overclocked from 1.51Ghz to 1.94Ghz
|
||||
- Underclocked from 384Mhz to 81Mhz
|
||||
Device
|
||||
- None Yet
|
@ -1,53 +0,0 @@
|
||||
Last Updated: 08/11/2016
|
||||
General changes
|
||||
- Changed network connectivity check URL to personal server (with logging disabled on server)
|
||||
- Compiled with UBERTC GCC 4.9 and AOSP NDK 4.9 using JustArchi's v4.1 optimization flags
|
||||
- Compiled with OpenJDK 8
|
||||
- Doze is significantly more aggressive
|
||||
- Instant shutdown after 5 failed unlock attempts
|
||||
- Fixed Profiles failing to change to user's prefered network type
|
||||
- Miscellaneous hardening
|
||||
- Removed Cyanogen AmbientSDK from various repos and packages
|
||||
- Removed CyanogenMod analytics from various repos and packages
|
||||
- Removed Gello from supported devices
|
||||
- Removed unnecessary/outdated packages
|
||||
- Replaced outdated AOSP webview with newer Chromium-based webview
|
||||
- Browser
|
||||
- Changed default home page to DuckDuckGo
|
||||
- Changed default search engine to DuckDuckGo
|
||||
- Link preloading is disabled by default
|
||||
- Plugins are disabled by default
|
||||
- Removed referrer flags from DuckDuckGo
|
||||
- Removed RLZ tracking
|
||||
- Search result preloading is disabled by default
|
||||
- Camera2
|
||||
- Location recording is disabled by default
|
||||
- Settings
|
||||
- NFC and NDEF are disabled by default
|
||||
- Passwords are hidden by default
|
||||
- Senisitive notification content is hidden by default
|
||||
|
||||
Device Changes
|
||||
- bacon
|
||||
- Kernel
|
||||
- Overclocked from 2.45Ghz to 2.95Ghz
|
||||
- No thats not a typo, its actually pretty stable
|
||||
- Underclocked from 300Mhz to 268Mhz
|
||||
- Device
|
||||
- Basic performance/battery build.prop optimizations
|
||||
- Removed bundled Google Widevine DRM and Microsoft PlayReady DRM firmware files
|
||||
- Removed as many unnecessary proprietary Qualcomm blobs (CNE/DPM/Location/QTI)
|
||||
- mako
|
||||
- Device
|
||||
- Enabled LTE support
|
||||
- Increase speaker and microphone volume by 4dB
|
||||
- Fixed dexopt related bootloop
|
||||
|
||||
To Do
|
||||
- Implement ARMORED (TRESOR)
|
||||
- Implement DNScrypt support
|
||||
- Implement MAC address and hostname randomization
|
||||
- Remove CMStats from Trebuchet, currently only disabled code still there
|
||||
- Remove DRM server
|
||||
- Remove RemoteFolder from Trebuchet
|
||||
- Remove unnecessary proprietary blobs
|
@ -1,48 +0,0 @@
|
||||
Last Updated: 12/23/2016
|
||||
Credits: CyanogenMod, CopperheadOS, OmniROM, TeamWin, F-Droid, MicroG, anarkia1976, bhb27, Daniel Micay, dirtyhank, Evisceration, Felipe de Leon, flar2, franciscofranco, hellsgod, mar-v-in, nikhil18, Paul Reioux, savoca, stefano.villa1976, WedyDQ10, XileForce
|
||||
General Changes
|
||||
- Added support for Chromium monochrome
|
||||
- Builds are dex-preopted on supported devices
|
||||
- Builds are signed with private release-keys
|
||||
- Bundled in our custom DNS blocklist
|
||||
- Compiled with OpenJDK 8
|
||||
- Doze is re-enabled on devices without real Google Play Services
|
||||
- Hardened IPv4 and IPv6 stacks
|
||||
- Hardened special file systems
|
||||
- Hardened SQLite
|
||||
- Nuked CMAnalytics from orbit
|
||||
- Removed unnecessary/outdated/insecure packages. Warning: No Browser is included, please install getChromium or IceCat from F-Droid
|
||||
- Updated Chromium WebView on arm64 devices
|
||||
- F-Droid
|
||||
- F-Droid and FDroidPrivilegedExtension are included by default
|
||||
- FDroidPrivilegedExtension ONLY allows access to our signed version of F-Droid
|
||||
- MicroG
|
||||
- GmsCore, GsfProxy, and FakeStore are included by default
|
||||
- Required signature spoofing permission is ONLY granted to signed system apps unlike other ROMs
|
||||
- Settings
|
||||
- NFC and NDEF are disabled by default
|
||||
- Passwords are hidden by default
|
||||
Device Changes
|
||||
- bacon
|
||||
- Overclocked from 2.45Ghz to 2.95Ghz (=+2.02Ghz)
|
||||
- Underclocked from 300Mhz to 268Mhz
|
||||
- Qualcomm DIAG enabled
|
||||
- Removed bundled Google Widevine DRM and Microsoft PlayReady DRM firmware files
|
||||
- bullhead
|
||||
- Overclocked a57 from 1.82Ghz to 2.01Ghz, overclocked a53 from 1.44Ghz to 1.63Ghz (=+1.14Ghz)
|
||||
- Underclocked both from 384Mhz to 300Mhz
|
||||
- MMC performance slightly increased
|
||||
- clark
|
||||
- Overclocked a57 from 1.82Ghz to 2.01Ghz, overclocked a53 from 1.44Ghz to 1.63Ghz (=+1.14Ghz)
|
||||
- Underclocked both from 384Mhz to 300Mhz
|
||||
- MMC performance slightly increased
|
||||
- Removed bundled Google Widevine DRM and Microsoft PlayReady DRM firmware files
|
||||
- mako
|
||||
- Overclocked from 1.51Ghz to 1.94Ghz (=+1.72Ghz)
|
||||
- Underclocked from 384Mhz to 81Mhz
|
||||
- Enabled LTE support (Requires LTE hybrid modem to be flashed)
|
||||
- hammerhead
|
||||
- Overclocked from 2.26Ghz to 2.95Ghz (=+2.75Ghz)
|
||||
- shamu
|
||||
- Overclocked from 2.64Ghz to 2.88Ghz (=+0.96Ghz)
|
||||
- Underclocked from 300Mhz to 35Mhz
|
@ -1,137 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<manifest>
|
||||
|
||||
<remove-project name="CyanogenMod/android_device_generic_goldfish" />
|
||||
<remove-project name="CyanogenMod/android_device_generic_mips" />
|
||||
<remove-project name="CyanogenMod/android_device_google_atv" />
|
||||
<remove-project name="CyanogenMod/android_external_android-mock" />
|
||||
<remove-project name="CyanogenMod/android_external_ant-wireless_ant_native" />
|
||||
<remove-project name="CyanogenMod/android_external_ant-wireless_ant_service" />
|
||||
<remove-project name="CyanogenMod/android_frameworks_compile_mclinker" />
|
||||
<remove-project name="CyanogenMod/android_hardware_intel_common_libmix" />
|
||||
<remove-project name="CyanogenMod/android_hardware_intel_common_libva" />
|
||||
<remove-project name="CyanogenMod/android_hardware_intel_common_libwsbm" />
|
||||
<remove-project name="CyanogenMod/android_hardware_intel_common_omx-components" />
|
||||
<remove-project name="CyanogenMod/android_hardware_intel_img_hwcomposer" />
|
||||
<remove-project name="CyanogenMod/android_hardware_intel_img_psb_headers" />
|
||||
<remove-project name="CyanogenMod/android_hardware_intel_img_psb_video" />
|
||||
<remove-project name="CyanogenMod/android_hardware_qcom_fm" />
|
||||
<remove-project name="CyanogenMod/android_hardware_samsung_slsi_exynos5" />
|
||||
<remove-project name="CyanogenMod/android_hardware_ti_omap4" />
|
||||
<remove-project name="CyanogenMod/android_hardware_ti_omap4xxx" />
|
||||
<remove-project name="CyanogenMod/android_hardware_ti_wlan" />
|
||||
<remove-project name="CyanogenMod/android_hardware_ti_wpan" />
|
||||
<remove-project name="CyanogenMod/android_packages_apps_CMBugreport" />
|
||||
<remove-project name="CyanogenMod/android_packages_apps_CMUpdater" />
|
||||
<!--<remove-project name="CyanogenMod/android_packages_apps_Eleven" />-->
|
||||
<remove-project name="CyanogenMod/android_packages_apps_FMRadio" />
|
||||
<remove-project name="CyanogenMod/android_packages_apps_LockClock" />
|
||||
<remove-project name="CyanogenMod/android_packages_apps_ManagedProvisioning" />
|
||||
<remove-project name="CyanogenMod/android_packages_apps_Provision" />
|
||||
<remove-project name="CyanogenMod/android_packages_apps_SmartCardService" />
|
||||
<remove-project name="CyanogenMod/android_packages_apps_SpeechRecorder" />
|
||||
<remove-project name="CyanogenMod/android_packages_apps_Stk" />
|
||||
<!--<remove-project name="CyanogenMod/android_packages_apps_Terminal" />-->
|
||||
<remove-project name="CyanogenMod/android_packages_apps_TvSettings" />
|
||||
<remove-project name="CyanogenMod/android_packages_experimental" />
|
||||
<remove-project name="CyanogenMod/android_packages_providers_PartnerBookmarksProvider" />
|
||||
<remove-project name="CyanogenMod/android_packages_providers_TvProvider" />
|
||||
<remove-project name="CyanogenMod/android_packages_screensavers_Basic" />
|
||||
<remove-project name="CyanogenMod/android_packages_screensavers_PhotoTable" />
|
||||
<remove-project name="CyanogenMod/android_packages_screensavers_WebView" />
|
||||
<remove-project name="CyanogenMod/android_packages_wallpapers_Galaxy4" />
|
||||
<remove-project name="CyanogenMod/android_packages_wallpapers_HoloSpiral" />
|
||||
<remove-project name="CyanogenMod/android_packages_wallpapers_MagicSmoke" />
|
||||
<remove-project name="CyanogenMod/android_packages_wallpapers_NoiseField" />
|
||||
<remove-project name="CyanogenMod/android_packages_wallpapers_PhaseBeam" />
|
||||
<remove-project name="CyanogenMod/android_packages_wallpapers_PhotoPhase" />
|
||||
<remove-project name="device/generic/mini-emulator-arm64" />
|
||||
<remove-project name="device/generic/mini-emulator-armv7-a-neon" />
|
||||
<remove-project name="device/generic/mini-emulator-mips" />
|
||||
<remove-project name="device/generic/mini-emulator-x86" />
|
||||
<remove-project name="device/generic/mini-emulator-x86_64" />
|
||||
<remove-project name="device/generic/qemu" />
|
||||
<remove-project name="device/generic/x86" />
|
||||
<remove-project name="device/generic/x86_64" />
|
||||
<remove-project name="device/google/accessory/arduino" />
|
||||
<remove-project name="device/google/accessory/demokit" />
|
||||
<remove-project name="device/sample" />
|
||||
<remove-project name="platform/cts" />
|
||||
<remove-project name="platform/developers/build" />
|
||||
<remove-project name="platform/developers/samples/android" />
|
||||
<remove-project name="platform/docs/source.android.com" />
|
||||
<remove-project name="platform/external/google-tv-pairing-protocol" />
|
||||
<remove-project name="platform/hardware/intel/audio_media" />
|
||||
<remove-project name="platform/hardware/intel/bootstub" />
|
||||
<remove-project name="platform/hardware/intel/common/bd_prov" />
|
||||
<remove-project name="platform/hardware/intel/common/libstagefrighthw" />
|
||||
<remove-project name="platform/hardware/intel/common/utils" />
|
||||
<remove-project name="platform/hardware/intel/common/wrs_omxil_core" />
|
||||
<remove-project name="platform/hardware/intel/sensors" />
|
||||
<remove-project name="platform/hardware/marvell/bt" />
|
||||
<remove-project name="platform/hardware/mediatek" />
|
||||
<remove-project name="platform/hardware/ti/omap3" />
|
||||
<remove-project name="platform/hardware/ti/omap4-aah" />
|
||||
<remove-project name="platform/packages/apps/OneTimeInitializer" />
|
||||
<remove-project name="platform/prebuilts/android-emulator" />
|
||||
<remove-project name="platform/prebuilts/clang/darwin-x86/host/3.6" />
|
||||
<remove-project name="platform/prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9" />
|
||||
<remove-project name="platform/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.8" />
|
||||
<remove-project name="platform/prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.9" />
|
||||
<remove-project name="platform/prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1" />
|
||||
<remove-project name="platform/prebuilts/gcc/darwin-x86/mips/mips64el-linux-android-4.9" />
|
||||
<remove-project name="platform/prebuilts/gcc/darwin-x86/x86/x86_64-linux-android-4.9" />
|
||||
<remove-project name="platform/prebuilts/gcc/linux-x86/mips/mips64el-linux-android-4.9" />
|
||||
<remove-project name="platform/prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9" />
|
||||
<remove-project name="platform/prebuilts/python/darwin-x86/2.7.5" />
|
||||
|
||||
<remote name="gitlab" fetch="https://gitlab.com/" />
|
||||
|
||||
<!--Chromium-->
|
||||
<remove-project name="platform/external/chromium-webview" />
|
||||
<project path="external/chromium-webview" name="copperheados/platform_external_chromium-webview" remote="github" revision="marshmallow" />
|
||||
<project path="external/chromium" name="copperheados/platform_external_chromium" remote="github" revision="marshmallow" />
|
||||
|
||||
<!--Optimizations-->
|
||||
<remove-project name="CyanogenMod/android_build" />
|
||||
<project path="build" name="ArchiDroid/android_build" remote="github" revision="cm-13.0" />
|
||||
<remove-project name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9" />
|
||||
<remove-project name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8" />
|
||||
<remove-project name="platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9" />
|
||||
|
||||
<!--DNScrypt-->
|
||||
<project path="external/dnscrypt-proxy" name="CyanogenMod/android_external_dnscrypt_dnscrypt-proxy" remote="github" revision="cm-12.1" />
|
||||
<project path="external/libsodium" name="CyanogenMod/android_external_dnscrypt_libsodium" remote="github" revision="cm-12.1" />
|
||||
|
||||
<!--Device Repos-->
|
||||
<project path="device/lge/g3-common" name="CyanogenMod/android_device_lge_g3-common" remote="github" revision="cm-13.0" />
|
||||
<project path="device/lge/hammerhead" name="CyanogenMod/android_device_lge_hammerhead" remote="github" revision="cm-13.0" />
|
||||
<project path="device/lge/mako" name="SpotComms/android_device_lge_mako" remote="github" revision="cm-13.0" />
|
||||
<project path="device/lge/vs985" name="CyanogenMod/android_device_lge_vs985" remote="github" revision="cm-13.0" />
|
||||
<project path="device/moto/shamu" name="CyanogenMod/android_device_moto_shamu" remote="github" revision="cm-13.0" />
|
||||
<project path="device/oneplus/bacon" name="SpotComms/android_device_oneplus_bacon" remote="github" revision="cm-13.0" />
|
||||
<project path="device/oppo/common" name="CyanogenMod/android_device_oppo_common" remote="github" revision="cm-13.0" />
|
||||
<project path="device/oppo/msm8974-common" name="CyanogenMod/android_device_oppo_msm8974-common" remote="github" revision="cm-13.0" />
|
||||
<project path="device/qcom/common" name="CyanogenMod/android_device_qcom_common" remote="github" revision="cm-13.0" />
|
||||
<project path="device/samsung/hlte-common" name="CyanogenMod/android_device_samsung_hlte-common" remote="github" revision="cm-13.0" />
|
||||
<project path="device/samsung/hlte" name="CyanogenMod/android_device_samsung_hlte" remote="github" revision="cm-13.0" />
|
||||
<project path="device/samsung/msm8974-common" name="CyanogenMod/android_device_samsung_msm8974-common" remote="github" revision="cm-13.0" />
|
||||
<project path="device/samsung/qcom-common" name="CyanogenMod/android_device_samsung_qcom-common" remote="github" revision="cm-13.0" />
|
||||
<project path="external/stlport" name="CyanogenMod/android_external_stlport" remote="github" revision="cm-13.0" />
|
||||
<project path="hardware/samsung" name="CyanogenMod/android_hardware_samsung" remote="github" revision="cm-13.0" />
|
||||
<project path="kernel/google/msm" name="SpotComms/android_kernel_google_msm" remote="github" revision="cm-13.0" />
|
||||
<project path="kernel/lge/g3" name="CyanogenMod/android_kernel_lge_g3" remote="github" revision="cm-13.0" />
|
||||
<project path="kernel/lge/hammerhead" name="CyanogenMod/android_kernel_lge_hammerhead" remote="github" revision="cm-13.0" />
|
||||
<project path="kernel/moto/shamu" name="CyanogenMod/android_kernel_moto_shamu" remote="github" revision="cm-13.0" />
|
||||
<project path="kernel/oneplus/msm8974" name="SpotComms/android_kernel_oneplus_msm8974" remote="github" revision="cm-13.0-new3" />
|
||||
<project path="kernel/samsung/hlte" name="CyanogenMod/android_kernel_samsung_hlte" remote="github" revision="cm-13.0" />
|
||||
<project path="vendor/lge" name="TheMuppets/proprietary_vendor_lge" remote="github" revision="cm-13.0" />
|
||||
<project path="vendor/motorola" name="TheMuppets/proprietary_vendor_motorola" remote="github" revision="cm-13.0" />
|
||||
<project path="vendor/oneplus" name="TheMuppets/proprietary_vendor_oneplus" remote="github" revision="cm-13.0" />
|
||||
<project path="vendor/oppo" name="TheMuppets/proprietary_vendor_oppo" remote="github" revision="cm-13.0" />
|
||||
<project path="vendor/samsung" name="TheMuppets/proprietary_vendor_samsung" remote="github" revision="cm-13.0" />
|
||||
|
||||
<!--TWRP
|
||||
<remove-project name="CyanogenMod/android_bootable_recovery" />
|
||||
<project path="bootable/recovery" name="omnirom/android_bootable_recovery" remote="github" revision="android-6.0" />-->
|
||||
</manifest>
|
@ -1,156 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<manifest>
|
||||
|
||||
<!-- START OF UNNECESSARY REPO REMOVAL -->
|
||||
<remove-project name="CyanogenMod/android_external_ant-wireless_ant_native" />
|
||||
<remove-project name="CyanogenMod/android_external_ant-wireless_ant_service" />
|
||||
<remove-project name="CyanogenMod/android_external_gello_build" />
|
||||
<remove-project name="CyanogenMod/android_hardware_intel_common_libmix" />
|
||||
<remove-project name="CyanogenMod/android_hardware_intel_common_libva" />
|
||||
<remove-project name="CyanogenMod/android_hardware_intel_common_libwsbm" />
|
||||
<remove-project name="CyanogenMod/android_hardware_intel_common_omx-components" />
|
||||
<remove-project name="CyanogenMod/android_hardware_intel_common_utils" />
|
||||
<remove-project name="CyanogenMod/android_hardware_intel_img_hwcomposer" />
|
||||
<remove-project name="CyanogenMod/android_hardware_intel_img_psb_headers" />
|
||||
<remove-project name="CyanogenMod/android_hardware_intel_img_psb_video" />
|
||||
<remove-project name="CyanogenMod/android_hardware_ti_omap4xxx" />
|
||||
<remove-project name="CyanogenMod/android_packages_apps_Browser" />
|
||||
<remove-project name="CyanogenMod/android_packages_apps_CMBugreport" />
|
||||
<remove-project name="CyanogenMod/android_packages_apps_FMRadio" />
|
||||
<remove-project name="CyanogenMod/android_packages_apps_Gello" />
|
||||
<remove-project name="CyanogenMod/android_packages_apps_ManagedProvisioning" />
|
||||
<remove-project name="CyanogenMod/android_packages_apps_Stk" />
|
||||
<remove-project name="CyanogenMod/android_packages_apps_TvSettings" />
|
||||
<remove-project name="CyanogenMod/android_packages_providers_PartnerBookmarksProvider" />
|
||||
<remove-project name="CyanogenMod/android_packages_providers_TvProvider" />
|
||||
<remove-project name="CyanogenMod/android_packages_screensavers_Basic" />
|
||||
<remove-project name="CyanogenMod/android_packages_screensavers_PhotoTable" />
|
||||
<remove-project name="CyanogenMod/android_packages_screensavers_WebView" />
|
||||
<remove-project name="CyanogenMod/android_packages_services_Car" />
|
||||
<remove-project name="CyanogenMod/android_prebuilts_gcc_darwin-x86_aarch64_aarch64-linux-android-4.9" />
|
||||
<remove-project name="CyanogenMod/android_prebuilts_gcc_darwin-x86_arm_arm-linux-androideabi-4.9" />
|
||||
<remove-project name="CyanogenMod/android_prebuilts_gcc_darwin-x86_x86_x86_64-linux-android-4.9" />
|
||||
<remove-project name="device/generic/goldfish" />
|
||||
<remove-project name="device/generic/mini-emulator-arm64" />
|
||||
<remove-project name="device/generic/mini-emulator-armv7-a-neon" />
|
||||
<remove-project name="device/generic/mini-emulator-x86" />
|
||||
<remove-project name="device/generic/mini-emulator-x86_64" />
|
||||
<remove-project name="device/generic/qemu" />
|
||||
<remove-project name="device/sample" />
|
||||
<remove-project name="platform/cts" />
|
||||
<remove-project name="platform/hardware/intel/audio_media" />
|
||||
<remove-project name="platform/hardware/intel/bootstub" />
|
||||
<remove-project name="platform/hardware/intel/common/bd_prov" />
|
||||
<remove-project name="platform/hardware/intel/common/libstagefrighthw" />
|
||||
<remove-project name="platform/hardware/intel/common/wrs_omxil_core" />
|
||||
<remove-project name="platform/hardware/intel/sensors" />
|
||||
<remove-project name="platform/hardware/ti/omap3" />
|
||||
<remove-project name="platform/hardware/ti/omap4-aah" />
|
||||
<remove-project name="platform/packages/apps/Provision" />
|
||||
<remove-project name="platform/prebuilts/clang/darwin-x86/host/3.6" />
|
||||
<remove-project name="platform/prebuilts/clang/host/darwin-x86" />
|
||||
<remove-project name="platform/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.8" />
|
||||
<remove-project name="platform/prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1" />
|
||||
<remove-project name="platform/prebuilts/gdb/darwin-x86" />
|
||||
<remove-project name="platform/prebuilts/go/darwin-x86" />
|
||||
<remove-project name="platform/prebuilts/ninja/darwin-x86" />
|
||||
<remove-project name="platform/prebuilts/python/darwin-x86/2.7.5" />
|
||||
<!-- END OF UNNECESSARY REPO REMOVAL -->
|
||||
|
||||
|
||||
<!-- START OF REPLACEMENT REPOS -->
|
||||
<!-- Updated WebView
|
||||
<remove-project name="platform/external/chromium-webview" /> -->
|
||||
|
||||
<!-- OpenDelta Updater -->
|
||||
<remove-project name="CyanogenMod/android_packages_apps_CMUpdater" />
|
||||
<project path="packages/apps/OpenDelta" name="omnirom/android_packages_apps_OpenDelta" remote="github" revision="android-7.1" />
|
||||
|
||||
<!-- TWRP
|
||||
<remove-project name="CyanogenMod/android_bootable_recovery" />
|
||||
<project path="bootable/recovery" name="omnirom/android_bootable_recovery" remote="github" revision="android-7.1" /> -->
|
||||
<!-- <project path="external/busybox" name="omnirom/android_external_busybox" remote="github" revision="android-7.1" />-->
|
||||
|
||||
<!-- MicroG -->
|
||||
<project path="packages/apps/GmsCore" name="microg/android_packages_apps_GmsCore" remote="github" revision="master" />
|
||||
<project path="packages/apps/GsfProxy" name="microg/android_packages_apps_GsfProxy" remote="github" revision="master" />
|
||||
<project path="packages/apps/FakeStore" name="microg/android_packages_apps_FakeStore" remote="github" revision="master" />
|
||||
|
||||
<!-- F-Droid -->
|
||||
<remote name="fdroid" fetch="https://gitlab.com/fdroid/" />
|
||||
<project path="packages/apps/FDroidPrivilegedExtension" name="privileged-extension.git" remote="fdroid" revision="master" />
|
||||
<project path="packages/apps/FDroid" name="fdroidclient.git" remote="fdroid" revision="master" />
|
||||
<!-- END OF REPLACEMENT REPOS -->
|
||||
|
||||
|
||||
<!-- START OF DEVICE REPOS -->
|
||||
<!-- Common -->
|
||||
<project path="packages/resources/devicesettings" name="CyanogenMod/android_packages_resources_devicesettings" remote="github" />
|
||||
<project path="device/amazon/hdx-common" name="CyanogenMod/android_device_amazon_hdx-common" remote="github" />
|
||||
<project path="device/oppo/common" name="CyanogenMod/android_device_oppo_common" remote="github" />
|
||||
<project path="device/qcom/common" name="CyanogenMod/android_device_qcom_common" remote="github" />
|
||||
<project path="hardware/samsung" name="CyanogenMod/android_hardware_samsung" remote="github" />
|
||||
<project path="hardware/sony/thermanager" name="CyanogenMod/android_hardware_sony_thermanager" remote="github" />
|
||||
<project path="kernel/amazon/hdx-common" name="CyanogenMod/android_kernel_amazon_hdx-common" remote="github" />
|
||||
<project path="kernel/google/msm" name="CyanogenMod/android_kernel_google_msm" remote="github" />
|
||||
|
||||
<!-- Nexus 4 (Mako) -->
|
||||
<project path="device/lge/mako" name="CyanogenMod/android_device_lge_mako" remote="github" />
|
||||
<project path="kernel/lge/mako" name="CyanogenMod/lge-kernel-mako" remote="github" />
|
||||
|
||||
<!-- Nexus 5 (Hammerhead) -->
|
||||
<project path="device/lge/hammerhead" name="CyanogenMod/android_device_lge_hammerhead" remote="github" />
|
||||
<project path="kernel/lge/hammerhead" name="CyanogenMod/android_kernel_lge_hammerhead" remote="github" />
|
||||
|
||||
<!-- Nexus 6 (Shamu) -->
|
||||
<project path="device/moto/shamu" name="CyanogenMod/android_device_moto_shamu" remote="github" />
|
||||
<project path="kernel/moto/shamu" name="CyanogenMod/android_kernel_moto_shamu" remote="github" />
|
||||
|
||||
<!-- Nexus 5X (Bullhead) -->
|
||||
<project path="device/lge/bullhead" name="CyanogenMod/android_device_lge_bullhead" remote="github" />
|
||||
<project path="kernel/lge/bullhead" name="CyanogenMod/android_kernel_lge_bullhead" remote="github" />
|
||||
|
||||
<!-- Nexus 6P (Angler) -->
|
||||
<project path="device/huawei/angler" name="CyanogenMod/android_device_huawei_angler" remote="github" />
|
||||
<project path="kernel/huawei/angler" name="CyanogenMod/android_kernel_huawei_angler" remote="github" />
|
||||
|
||||
<!-- Amazon Kindle Fire HDX 7 3rd Gen (Thor)-->
|
||||
<project path="device/amazon/thor" name="CyanogenMod/android_device_amazon_thor" remote="github" />
|
||||
|
||||
<!-- Asus Zenfone 2 Laser (Z00T) -->
|
||||
<project name="CyanogenMod/android_device_asus_msm8916-common" path="device/asus/msm8916-common" remote="github" />
|
||||
<project name="CyanogenMod/android_device_asus_Z00T" path="device/asus/Z00T" remote="github" />
|
||||
<project name="CyanogenMod/android_kernel_asus_msm8916" path="kernel/asus/msm8916" remote="github" />
|
||||
|
||||
<!-- LG G3 (VS985) -->
|
||||
<project path="device/lge/g3-common" name="CyanogenMod/android_device_lge_g3-common" remote="github" />
|
||||
<project path="device/lge/vs985" name="CyanogenMod/android_device_lge_vs985" remote="github" />
|
||||
<project path="kernel/lge/g3" name="CyanogenMod/android_kernel_lge_g3" remote="github" />
|
||||
|
||||
<!-- Moto X Pure Edition (XT1575) -->
|
||||
<project path="device/motorola/clark" name="CyanogenMod/android_device_motorola_clark" remote="github" />
|
||||
<project path="kernel/motorola/msm8992" name="CyanogenMod/android_kernel_motorola_msm8992" remote="github" />
|
||||
|
||||
<!-- OnePlus One (Bacon) -->
|
||||
<project path="device/oneplus/bacon" name="CyanogenMod/android_device_oneplus_bacon" remote="github" />
|
||||
<project path="device/oppo/msm8974-common" name="CyanogenMod/android_device_oppo_msm8974-common" remote="github" />
|
||||
<project path="kernel/oneplus/msm8974" name="CyanogenMod/android_kernel_oneplus_msm8974" remote="github" />
|
||||
|
||||
<!-- Samsung Galaxy Note 4 (trltetmo)
|
||||
<project path="device/samsung/trlte-common" name="CyanogenMod/android_device_samsung_trlte-common" remote="github" />
|
||||
<project path="device/samsung/trltetmo" name="CyanogenMod/android_device_samsung_trltetmo" remote="github" />
|
||||
<project path="kernel/samsung/trlte" name="CyanogenMod/android_kernel_samsung_trlte" remote="github" />-->
|
||||
|
||||
<!-- Proprietary Blobs -->
|
||||
<project path="vendor/amazon" name="TheMuppets/proprietary_vendor_amazon" remote="github" />
|
||||
<project path="vendor/asus" name="TheMuppets/proprietary_vendor_asus" remote="github" />
|
||||
<project path="vendor/huawei" name="TheMuppets/proprietary_vendor_huawei" remote="github" />
|
||||
<project path="vendor/lge" name="TheMuppets/proprietary_vendor_lge" remote="github" />
|
||||
<project path="vendor/motorola" name="TheMuppets/proprietary_vendor_motorola" remote="github" />
|
||||
<project path="vendor/oneplus" name="TheMuppets/proprietary_vendor_oneplus" remote="github" />
|
||||
<project path="vendor/oppo" name="TheMuppets/proprietary_vendor_oppo" remote="github" />
|
||||
<project path="vendor/samsung" name="TheMuppets/proprietary_vendor_samsung" remote="github" />
|
||||
<project path="vendor/qcom/binaries" name="TheMuppets/proprietary_vendor_qcom_binaries" remote="github" />
|
||||
<!-- END OF DEVICE REPOS -->
|
||||
|
||||
</manifest>
|
@ -1,14 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<manifest>
|
||||
|
||||
<!-- START OF DEVICE REPOS -->
|
||||
<!-- Proprietary Blobs -->
|
||||
<project path="vendor/lge" name="DonkeyCoyote/proprietary_vendor_lge" remote="github" revision="android-7.1" />
|
||||
<project path="vendor/motorola" name="DonkeyCoyote/proprietary_vendor_motorola" remote="github" revision="android-7.1" />
|
||||
<project path="vendor/oneplus" name="DonkeyCoyote/proprietary_vendor_oneplus" remote="github" revision="android-7.1" />
|
||||
<project path="vendor/oppo" name="DonkeyCoyote/proprietary_vendor_oppo" remote="github" revision="android-7.1" />
|
||||
<project path="vendor/qcom/binaries" name="DonkeyCoyote/proprietary_vendor_qcom_binaries" remote="github" revision="android-7.1" />
|
||||
<!-- END OF DEVICE REPOS -->
|
||||
|
||||
</manifest>
|
||||
|
@ -1,104 +0,0 @@
|
||||
From 4eb4173b876ab4b4d71a5be541096d346649bbef Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Sat, 30 May 2015 22:47:50 -0400
|
||||
Subject: [PATCH] add optional automated signing
|
||||
|
||||
---
|
||||
core/Makefile | 48 ++++++++++++++++++++++++++++++++++++++++--------
|
||||
1 file changed, 40 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/core/Makefile b/core/Makefile
|
||||
index 7eca2db..82006c9 100644
|
||||
--- a/core/Makefile
|
||||
+++ b/core/Makefile
|
||||
@@ -408,6 +408,11 @@ ifneq ($(OTA_PACKAGE_SIGNING_KEY),)
|
||||
DEFAULT_KEY_CERT_PAIR := $(OTA_PACKAGE_SIGNING_KEY)
|
||||
endif
|
||||
|
||||
+ifneq ($(SIGNING_KEY_DIR),)
|
||||
+ KEY_CERT_DIR := $(SIGNING_KEY_DIR)
|
||||
+ DEFAULT_KEY_CERT_PAIR := $(SIGNING_KEY_DIR)/releasekey
|
||||
+endif
|
||||
+
|
||||
# Rules that need to be present for the all targets, even
|
||||
# if they don't do anything.
|
||||
.PHONY: systemimage
|
||||
@@ -943,13 +948,18 @@ endif
|
||||
# substitute other keys for this one.
|
||||
OTA_PUBLIC_KEYS := $(DEFAULT_SYSTEM_DEV_CERTIFICATE).x509.pem
|
||||
|
||||
-ifneq ($(OTA_PACKAGE_SIGNING_KEY),)
|
||||
- OTA_PUBLIC_KEYS := $(OTA_PACKAGE_SIGNING_KEY).x509.pem
|
||||
- PRODUCT_EXTRA_RECOVERY_KEYS := $(DEFAULT_SYSTEM_DEV_CERTIFICATE)
|
||||
+ifneq ($(SIGNING_KEY_DIR),)
|
||||
+ OTA_PUBLIC_KEYS := $(SIGNING_KEY_DIR)/releasekey.x509.pem
|
||||
+ PRODUCT_EXTRA_RECOVERY_KEYS += $(SIGNING_KEY_DIR)/extra
|
||||
else
|
||||
- PRODUCT_EXTRA_RECOVERY_KEYS += \
|
||||
- build/target/product/security/cm \
|
||||
- build/target/product/security/cm-devkey
|
||||
+ ifneq ($(OTA_PACKAGE_SIGNING_KEY),)
|
||||
+ OTA_PUBLIC_KEYS := $(OTA_PACKAGE_SIGNING_KEY).x509.pem
|
||||
+ PRODUCT_EXTRA_RECOVERY_KEYS := $(DEFAULT_SYSTEM_DEV_CERTIFICATE)
|
||||
+ else
|
||||
+ PRODUCT_EXTRA_RECOVERY_KEYS += \
|
||||
+ build/target/product/security/cm \
|
||||
+ build/target/product/security/cm-devkey
|
||||
+ endif
|
||||
endif
|
||||
|
||||
# Generate a file containing the keys that will be read by the
|
||||
@@ -1593,6 +1603,12 @@ BUILT_TARGET_FILES_PACKAGE := $(intermediates)/$(name).zip
|
||||
$(BUILT_TARGET_FILES_PACKAGE): intermediates := $(intermediates)
|
||||
$(BUILT_TARGET_FILES_PACKAGE): \
|
||||
zip_root := $(intermediates)/$(name)
|
||||
+SIGNED_TARGET_FILES_PACKAGE := $(intermediates)/signed-$(name).zip
|
||||
+MAYBE_SIGNED_TARGET_FILES_PACKAGE := $(BUILT_TARGET_FILES_PACKAGE)
|
||||
+
|
||||
+ifneq ($(SIGNING_KEY_DIR),)
|
||||
+ MAYBE_SIGNED_TARGET_FILES_PACKAGE := $(SIGNED_TARGET_FILES_PACKAGE)
|
||||
+endif
|
||||
|
||||
# $(1): Directory to copy
|
||||
# $(2): Location to copy it to
|
||||
@@ -1868,6 +1884,12 @@ else
|
||||
OTA_FROM_TARGET_SCRIPT := $(TARGET_RELEASETOOL_OTA_FROM_TARGET_SCRIPT)
|
||||
endif
|
||||
|
||||
+ifeq ($(TARGET_RELEASETOOL_SIGN_TARGET_SCRIPT),)
|
||||
+ SIGN_TARGET_SCRIPT := ./build/tools/releasetools/sign_target_files_apks
|
||||
+else
|
||||
+ SIGN_TARGET_SCRIPT := $(TARGET_RELEASETOOL_SIGN_TARGET_SCRIPT)
|
||||
+endif
|
||||
+
|
||||
ifeq ($(WITH_GMS),true)
|
||||
$(INTERNAL_OTA_PACKAGE_TARGET): backuptool := false
|
||||
else
|
||||
@@ -1895,7 +1917,17 @@ ifneq ($(BLOCK_BASED_OTA),false)
|
||||
$(INTERNAL_OTA_PACKAGE_TARGET): block_based := --block
|
||||
endif
|
||||
|
||||
-$(INTERNAL_OTA_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE) $(DISTTOOLS)
|
||||
+$(SIGNED_TARGET_FILES_PACKAGE): $(BUILT_TARGET_FILES_PACKAGE) $(DISTTOOLS)
|
||||
+ @echo "$(SIGN_TARGET_SCRIPT)" > $(PRODUCT_OUT)/sign_script_path
|
||||
+ @echo -e ${CL_YLW}"Sign target files:"${CL_RST}" $@"
|
||||
+ $(hide) $(SIGN_TARGET_SCRIPT) \
|
||||
+ -d $(KEY_CERT_DIR) \
|
||||
+ -o \
|
||||
+ -e SMSSecure.apk,Orbot.apk,Android-IMSI-Catcher-Detector.apk,FreeOTP.apk,F-Droid.apk= \
|
||||
+ $(BUILT_TARGET_FILES_PACKAGE) \
|
||||
+ $(SIGNED_TARGET_FILES_PACKAGE)
|
||||
+
|
||||
+$(INTERNAL_OTA_PACKAGE_TARGET): $(MAYBE_SIGNED_TARGET_FILES_PACKAGE) $(DISTTOOLS)
|
||||
@echo "$(OTA_FROM_TARGET_SCRIPT)" > $(PRODUCT_OUT)/ota_script_path
|
||||
@echo "$(override_device)" > $(PRODUCT_OUT)/ota_override_device
|
||||
@echo -e ${CL_YLW}"Package OTA:"${CL_RST}" $@"
|
||||
@@ -1907,7 +1939,7 @@ $(INTERNAL_OTA_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE) $(DISTTOOLS)
|
||||
--backup=$(backuptool) \
|
||||
--override_device=$(override_device) $(override_prop) \
|
||||
$(if $(OEM_OTA_CONFIG), -o $(OEM_OTA_CONFIG)) \
|
||||
- $(BUILT_TARGET_FILES_PACKAGE) $@
|
||||
+ $(MAYBE_SIGNED_TARGET_FILES_PACKAGE) $@
|
||||
|
||||
CM_TARGET_PACKAGE := $(PRODUCT_OUT)/cm-$(CM_VERSION).zip
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 56366ba56892d9de832ca86c95acb6674820d360 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Thu, 14 May 2015 19:14:53 -0400
|
||||
Subject: [PATCH] enable secure_delete by default
|
||||
|
||||
This sanitizes deleted data by overwriting it with zeroes. It prevents a
|
||||
non-root user from obtaining the deleted data even though it can still
|
||||
linger on the underlying storage device.
|
||||
---
|
||||
dist/Android.mk | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dist/Android.mk b/dist/Android.mk
|
||||
index 20b3a0a..7eabbdc 100644
|
||||
--- a/dist/Android.mk
|
||||
+++ b/dist/Android.mk
|
||||
@@ -27,7 +27,8 @@ common_sqlite_flags := \
|
||||
-DSQLITE_OMIT_BUILTIN_TEST \
|
||||
-DSQLITE_OMIT_COMPILEOPTION_DIAGS \
|
||||
-DSQLITE_OMIT_LOAD_EXTENSION \
|
||||
- -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600
|
||||
+ -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600 \
|
||||
+ -DSQLITE_SECURE_DELETE
|
||||
|
||||
device_sqlite_flags := $(common_sqlite_flags) \
|
||||
-DSQLITE_ENABLE_ICU \
|
@ -1,50 +0,0 @@
|
||||
From 938608ff6a4c61b4c1db2f6b94e81cae1a970aae Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Wed, 27 May 2015 00:29:08 -0400
|
||||
Subject: [PATCH] hide passwords by default
|
||||
|
||||
---
|
||||
core/java/android/text/method/TextKeyListener.java | 2 +-
|
||||
core/java/com/android/internal/widget/PasswordEntryKeyboardHelper.java | 2 +-
|
||||
packages/Keyguard/src/com/android/keyguard/PasswordTextView.java | 2 +-
|
||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/core/java/android/text/method/TextKeyListener.java b/core/java/android/text/method/TextKeyListener.java
|
||||
index 994f3d7..b2ac244 100644
|
||||
--- a/core/java/android/text/method/TextKeyListener.java
|
||||
+++ b/core/java/android/text/method/TextKeyListener.java
|
||||
@@ -291,7 +291,7 @@ private void updatePrefs(ContentResolver resolver) {
|
||||
boolean cap = System.getInt(resolver, System.TEXT_AUTO_CAPS, 1) > 0;
|
||||
boolean text = System.getInt(resolver, System.TEXT_AUTO_REPLACE, 1) > 0;
|
||||
boolean period = System.getInt(resolver, System.TEXT_AUTO_PUNCTUATE, 1) > 0;
|
||||
- boolean pw = System.getInt(resolver, System.TEXT_SHOW_PASSWORD, 1) > 0;
|
||||
+ boolean pw = System.getInt(resolver, System.TEXT_SHOW_PASSWORD, 0) > 0;
|
||||
|
||||
mPrefs = (cap ? AUTO_CAP : 0) |
|
||||
(text ? AUTO_TEXT : 0) |
|
||||
diff --git a/core/java/com/android/internal/widget/PasswordEntryKeyboardHelper.java b/core/java/com/android/internal/widget/PasswordEntryKeyboardHelper.java
|
||||
index b2c9dc5..dc5b7f9 100644
|
||||
--- a/core/java/com/android/internal/widget/PasswordEntryKeyboardHelper.java
|
||||
+++ b/core/java/com/android/internal/widget/PasswordEntryKeyboardHelper.java
|
||||
@@ -159,7 +159,7 @@ public void setKeyboardMode(int mode) {
|
||||
mKeyboardState = KEYBOARD_STATE_NORMAL;
|
||||
final boolean visiblePassword = Settings.System.getInt(
|
||||
mContext.getContentResolver(),
|
||||
- Settings.System.TEXT_SHOW_PASSWORD, 1) != 0;
|
||||
+ Settings.System.TEXT_SHOW_PASSWORD, 0) != 0;
|
||||
final boolean enablePreview = false; // TODO: grab from configuration
|
||||
mKeyboardView.setPreviewEnabled(visiblePassword && enablePreview);
|
||||
break;
|
||||
diff --git a/packages/Keyguard/src/com/android/keyguard/PasswordTextView.java b/packages/Keyguard/src/com/android/keyguard/PasswordTextView.java
|
||||
index 50e7ecb..7d29928 100644
|
||||
--- a/packages/Keyguard/src/com/android/keyguard/PasswordTextView.java
|
||||
+++ b/packages/Keyguard/src/com/android/keyguard/PasswordTextView.java
|
||||
@@ -129,7 +129,7 @@ public PasswordTextView(Context context, AttributeSet attrs, int defStyleAttr,
|
||||
mCharPadding = getContext().getResources().getDimensionPixelSize(R.dimen
|
||||
.password_char_padding);
|
||||
mShowPassword = Settings.System.getInt(mContext.getContentResolver(),
|
||||
- Settings.System.TEXT_SHOW_PASSWORD, 1) == 1;
|
||||
+ Settings.System.TEXT_SHOW_PASSWORD, 0) == 1;
|
||||
mAppearInterpolator = AnimationUtils.loadInterpolator(mContext,
|
||||
android.R.interpolator.linear_out_slow_in);
|
||||
mDisappearInterpolator = AnimationUtils.loadInterpolator(mContext,
|
@ -1,154 +0,0 @@
|
||||
From a798817de09cc787850ee957c7326fb36dc6c5a5 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Thu, 3 Dec 2015 14:27:34 -0500
|
||||
Subject: [PATCH] support separate encryption/lockscreen passwords
|
||||
|
||||
This adds the necessary infrastructure for allowing users to opt-in to a
|
||||
distinct device encryption passphrase. The passwords are still tied
|
||||
together by default. This makes it possible to use a complex encryption
|
||||
passphrase without losing the convenience of a very simple lockscreen
|
||||
pin.
|
||||
|
||||
This feature can be combined with a forced reboot after a chosen number
|
||||
of failed unlocking attempts to prevent brute-forcing by requiring the
|
||||
entry of the encryption password instead.
|
||||
---
|
||||
core/java/android/provider/Settings.java | 7 +++
|
||||
.../android/internal/widget/LockPatternUtils.java | 72 +++++++++++++++++++++-
|
||||
.../com/android/server/LockSettingsService.java | 1 +
|
||||
3 files changed, 77 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
|
||||
index e107fd1..a6be540 100644
|
||||
--- a/core/java/android/provider/Settings.java
|
||||
+++ b/core/java/android/provider/Settings.java
|
||||
@@ -4850,6 +4850,13 @@ public static boolean putFloatForUser(ContentResolver cr, String name, float val
|
||||
"lock_screen_allow_private_notifications";
|
||||
|
||||
/**
|
||||
+ * Separate password for encryption and the lockscreen.
|
||||
+ * @hide
|
||||
+ */
|
||||
+ public static final String LOCK_SEPARATE_ENCRYPTION_PASSWORD =
|
||||
+ "lock_separate_encryption_password";
|
||||
+
|
||||
+ /**
|
||||
* Set by the system to track if the user needs to see the call to action for
|
||||
* the lockscreen notification policy.
|
||||
* @hide
|
||||
diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java
|
||||
index ae22b50..25f56e7 100644
|
||||
--- a/core/java/com/android/internal/widget/LockPatternUtils.java
|
||||
+++ b/core/java/com/android/internal/widget/LockPatternUtils.java
|
||||
@@ -457,7 +457,8 @@ public void clearLock(int userHandle) {
|
||||
// well, we tried...
|
||||
}
|
||||
|
||||
- if (userHandle == UserHandle.USER_OWNER) {
|
||||
+ if (userHandle == UserHandle.USER_OWNER
|
||||
+ && !isSeparateEncryptionPasswordEnabled()) {
|
||||
// Set the encryption password to default.
|
||||
updateEncryptionPassword(StorageManager.CRYPT_TYPE_DEFAULT, null);
|
||||
}
|
||||
@@ -518,7 +519,8 @@ public void saveLockPattern(List<LockPatternView.Cell> pattern, String savedPatt
|
||||
|
||||
// Update the device encryption password.
|
||||
if (userId == UserHandle.USER_OWNER
|
||||
- && LockPatternUtils.isDeviceEncryptionEnabled()) {
|
||||
+ && LockPatternUtils.isDeviceEncryptionEnabled()
|
||||
+ && !isSeparateEncryptionPasswordEnabled()) {
|
||||
if (!shouldEncryptWithCredentials(true)) {
|
||||
clearEncryptionPassword();
|
||||
} else {
|
||||
@@ -727,7 +729,8 @@ public void saveLockPassword(String password, String savedPassword, int quality,
|
||||
|
||||
// Update the device encryption password.
|
||||
if (userHandle == UserHandle.USER_OWNER
|
||||
- && LockPatternUtils.isDeviceEncryptionEnabled()) {
|
||||
+ && LockPatternUtils.isDeviceEncryptionEnabled()
|
||||
+ && !isSeparateEncryptionPasswordEnabled()) {
|
||||
if (!shouldEncryptWithCredentials(true)) {
|
||||
clearEncryptionPassword();
|
||||
} else {
|
||||
@@ -1071,6 +1074,69 @@ public void setVisiblePasswordEnabled(boolean enabled, int userId) {
|
||||
}
|
||||
}
|
||||
|
||||
+ private void updateEncryptionPasswordFromPassword(String password) {
|
||||
+ if (!TextUtils.isEmpty(password)) {
|
||||
+ int computedQuality = computePasswordQuality(password);
|
||||
+ boolean numeric = computedQuality
|
||||
+ == DevicePolicyManager.PASSWORD_QUALITY_NUMERIC;
|
||||
+ boolean numericComplex = computedQuality
|
||||
+ == DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX;
|
||||
+ int type = numeric || numericComplex ? StorageManager.CRYPT_TYPE_PIN
|
||||
+ : StorageManager.CRYPT_TYPE_PASSWORD;
|
||||
+ updateEncryptionPassword(type, password);
|
||||
+ } else {
|
||||
+ clearEncryptionPassword();
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Set the encryption password separately from the lockscreen password.
|
||||
+ *
|
||||
+ * @param password The password to save
|
||||
+ */
|
||||
+ public void setSeparateEncryptionPassword(String password) {
|
||||
+ updateEncryptionPasswordFromPassword(password);
|
||||
+ setSeparateEncryptionPasswordEnabled(true);
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Replace the separate encryption password by tying it to the lockscreen
|
||||
+ * password. No change will occur if the provided lockscreen password is
|
||||
+ * incorrect.
|
||||
+ *
|
||||
+ * @param password The current lockscreen password
|
||||
+ * @return Whether the lockscreen password was correct.
|
||||
+ */
|
||||
+ public void replaceSeparateEncryptionPassword(String password) {
|
||||
+ updateEncryptionPasswordFromPassword(password);
|
||||
+ setSeparateEncryptionPasswordEnabled(false);
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Replace the separate encryption password by tying it to the lockscreen
|
||||
+ * pattern. No change will occur if the provided lockscreen password is
|
||||
+ * incorrect.
|
||||
+ *
|
||||
+ * @param pattern The current lockscreen pattern
|
||||
+ * @return Whether the lockscreen pattern was correct.
|
||||
+ */
|
||||
+ public void replaceSeparateEncryptionPasswordWithPattern(List<LockPatternView.Cell> pattern) {
|
||||
+ String stringPattern = patternToString(pattern);
|
||||
+ updateEncryptionPassword(StorageManager.CRYPT_TYPE_PATTERN, stringPattern);
|
||||
+ setSeparateEncryptionPasswordEnabled(false);
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * @return Whether the encryption password is separate from the lockscreen password.
|
||||
+ */
|
||||
+ public boolean isSeparateEncryptionPasswordEnabled() {
|
||||
+ return getBoolean(Settings.Secure.LOCK_SEPARATE_ENCRYPTION_PASSWORD, false, UserHandle.USER_OWNER);
|
||||
+ }
|
||||
+
|
||||
+ private void setSeparateEncryptionPasswordEnabled(boolean enabled) {
|
||||
+ setBoolean(Settings.Secure.LOCK_SEPARATE_ENCRYPTION_PASSWORD, enabled, UserHandle.USER_OWNER);
|
||||
+ }
|
||||
+
|
||||
/**
|
||||
* @return Whether tactile feedback for the pattern is enabled.
|
||||
*/
|
||||
diff --git a/services/core/java/com/android/server/LockSettingsService.java b/services/core/java/com/android/server/LockSettingsService.java
|
||||
index bb0615d..6e05fde 100644
|
||||
--- a/services/core/java/com/android/server/LockSettingsService.java
|
||||
+++ b/services/core/java/com/android/server/LockSettingsService.java
|
||||
@@ -813,6 +813,7 @@ public void requireStrongAuth(int strongAuthReason, int userId) {
|
||||
Secure.LOCK_PATTERN_SIZE,
|
||||
Secure.LOCK_DOTS_VISIBLE,
|
||||
Secure.LOCK_SHOW_ERROR_PATH,
|
||||
+ Secure.LOCK_SEPARATE_ENCRYPTION_PASSWORD
|
||||
};
|
||||
|
||||
// Reading these settings needs the contacts permission
|
@ -1,22 +0,0 @@
|
||||
From e46cfef3dcfec3b5ee5aff05c46d21ea76b36100 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Sat, 5 Dec 2015 19:33:19 -0500
|
||||
Subject: [PATCH] remove analytics support
|
||||
|
||||
---
|
||||
.../src/com/android/providers/settings/DatabaseHelper.java | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
|
||||
index b3ec295..9784ee7 100644
|
||||
--- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
|
||||
+++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
|
||||
@@ -1911,8 +1911,6 @@ public void onUpgrade(SQLiteDatabase db, int oldVersion, int currentVersion) {
|
||||
}
|
||||
|
||||
if (upgradeVersion < 115) {
|
||||
- moveSettingsToNewTable(db, TABLE_SYSTEM, TABLE_SECURE,
|
||||
- new String[] { CMSettings.Secure.STATS_COLLECTION }, true);
|
||||
if (mUserHandle == UserHandle.USER_OWNER) {
|
||||
db.beginTransaction();
|
||||
SQLiteStatement stmt = null;
|
@ -1,31 +0,0 @@
|
||||
From 4b908ef94233b911fe3d6f2d93a6076a7ab92151 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Sun, 5 Apr 2015 00:57:23 -0400
|
||||
Subject: [PATCH] remove duckduckgo referral strings
|
||||
|
||||
---
|
||||
res/values/all_search_engines.xml | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/res/values/all_search_engines.xml b/res/values/all_search_engines.xml
|
||||
index a87c880..51ebfe4 100644
|
||||
--- a/res/values/all_search_engines.xml
|
||||
+++ b/res/values/all_search_engines.xml
|
||||
@@ -752,7 +752,7 @@ http://www.opensearch.org/Specifications/OpenSearch/1.1/Draft_4#OpenSearch_1.1_p
|
||||
<item>DuckDuckGo</item>
|
||||
<item>duckduckgo.com</item>
|
||||
<item>https://duckduckgo.com/favicon.ico</item>
|
||||
- <item>https://duckduckgo.com/?q={searchTerms}&t=cyanogenmod</item>
|
||||
+ <item>https://duckduckgo.com/?q={searchTerms}</item>
|
||||
<item>UTF-8</item>
|
||||
<item></item>
|
||||
</string-array>
|
||||
@@ -760,7 +760,7 @@ http://www.opensearch.org/Specifications/OpenSearch/1.1/Draft_4#OpenSearch_1.1_p
|
||||
<item>DuckDuckGo (UK)</item>
|
||||
<item>duckduckgo.com</item>
|
||||
<item>https://duckduckgo.com/favicon.ico</item>
|
||||
- <item>https://duckduckgo.com/?q={searchTerms}%20r:uk&t=cyanogenmod</item>
|
||||
+ <item>https://duckduckgo.com/?q={searchTerms}%20r:uk</item>
|
||||
<item>UTF-8</item>
|
||||
<item></item>
|
||||
</string-array>
|
@ -1,36 +0,0 @@
|
||||
From 58bde4cc16f1a0544526fed769542b707b7dc516 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Fri, 20 Mar 2015 18:13:23 -0400
|
||||
Subject: [PATCH] switch default search engine to duckduckgo
|
||||
|
||||
---
|
||||
res/xml-sw600dp/advanced_preferences.xml | 2 +-
|
||||
res/xml/advanced_preferences.xml | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/res/xml-sw600dp/advanced_preferences.xml b/res/xml-sw600dp/advanced_preferences.xml
|
||||
index f3107d8..ae19504 100644
|
||||
--- a/res/xml-sw600dp/advanced_preferences.xml
|
||||
+++ b/res/xml-sw600dp/advanced_preferences.xml
|
||||
@@ -21,7 +21,7 @@
|
||||
<com.android.browser.search.SearchEnginePreference
|
||||
android:key="search_engine"
|
||||
android:title="@string/pref_content_search_engine"
|
||||
- android:defaultValue="google"
|
||||
+ android:defaultValue="duckduckgo"
|
||||
android:summary="@string/pref_content_search_engine_summary"
|
||||
android:dialogTitle="@string/pref_content_search_engine" />
|
||||
|
||||
diff --git a/res/xml/advanced_preferences.xml b/res/xml/advanced_preferences.xml
|
||||
index 1b051f8..f068330 100644
|
||||
--- a/res/xml/advanced_preferences.xml
|
||||
+++ b/res/xml/advanced_preferences.xml
|
||||
@@ -21,7 +21,7 @@
|
||||
<com.android.browser.search.SearchEnginePreference
|
||||
android:key="search_engine"
|
||||
android:title="@string/pref_content_search_engine"
|
||||
- android:defaultValue="google"
|
||||
+ android:defaultValue="duckduckgo"
|
||||
android:summary="@string/pref_content_search_engine_summary"
|
||||
android:dialogTitle="@string/pref_content_search_engine" />
|
||||
|
@ -1,23 +0,0 @@
|
||||
From 54f68f47ef79ebda9b695e0205b8abc4e2f07d86 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Sun, 5 Apr 2015 01:00:31 -0400
|
||||
Subject: [PATCH] switch default home page to duckduckgo
|
||||
|
||||
---
|
||||
res/values/strings.xml | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index d79c7f7..0899df9 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -794,8 +794,7 @@
|
||||
<string name="dump_nav" translatable="false">Dump navigation cache</string>
|
||||
|
||||
<!-- The default homepage. -->
|
||||
- <string name="homepage_base" translatable="false">
|
||||
- https://www.google.com/webhp?client={CID}&source=android-home</string>
|
||||
+ <string name="homepage_base" translatable="false">https://duckduckgo.com/</string>
|
||||
|
||||
<!-- Bookmarks -->
|
||||
<string-array name="bookmarks" translatable="false">
|
@ -1,22 +0,0 @@
|
||||
From defa0e59c0f38e8f0ea6429ee05414a9402bbd8b Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Sun, 5 Apr 2015 01:27:56 -0400
|
||||
Subject: [PATCH] disable link preloading by default
|
||||
|
||||
---
|
||||
res/values/strings.xml | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index 0899df9..8529cf6 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -684,7 +684,7 @@
|
||||
<string name="pref_link_prefetch_value_never" translatable="false">NEVER</string>
|
||||
<string name="pref_link_prefetch_value_wifi_only" translatable="false">WIFI_ONLY</string>
|
||||
<string name="pref_link_prefetch_value_always" translatable="false">ALWAYS</string>
|
||||
- <string name="pref_link_prefetch_default_value" translatable="false">@string/pref_link_prefetch_value_wifi_only</string>
|
||||
+ <string name="pref_link_prefetch_default_value" translatable="false">@string/pref_link_prefetch_value_never</string>
|
||||
<string-array name="pref_link_prefetch_values" translatable="false">
|
||||
<item><xliff:g>@string/pref_link_prefetch_value_never</xliff:g></item>
|
||||
<item><xliff:g>@string/pref_link_prefetch_value_wifi_only</xliff:g></item>
|
@ -1,22 +0,0 @@
|
||||
From a2cf2c31329c3b14798059d0d7a56b7568089552 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Sun, 5 Apr 2015 01:29:22 -0400
|
||||
Subject: [PATCH] disable search result preloading by default
|
||||
|
||||
---
|
||||
res/values/strings.xml | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index 8529cf6..9012511 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -662,7 +662,7 @@
|
||||
<string name="pref_data_preload_value_never" translatable="false">NEVER</string>
|
||||
<string name="pref_data_preload_value_wifi_only" translatable="false">WIFI_ONLY</string>
|
||||
<string name="pref_data_preload_value_always" translatable="false">ALWAYS</string>
|
||||
- <string name="pref_data_preload_default_value" translatable="false">@string/pref_data_preload_value_wifi_only</string>
|
||||
+ <string name="pref_data_preload_default_value" translatable="false">@string/pref_data_preload_value_never</string>
|
||||
<string-array name="pref_data_preload_values" translatable="false">
|
||||
<item><xliff:g>@string/pref_data_preload_value_never</xliff:g></item>
|
||||
<item><xliff:g>@string/pref_data_preload_value_wifi_only</xliff:g></item>
|
@ -1,36 +0,0 @@
|
||||
From 093e38c00f3e46f875726f1e14190e2f120d3ed7 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Tue, 7 Apr 2015 02:18:09 -0400
|
||||
Subject: [PATCH] disable plugins by default
|
||||
|
||||
---
|
||||
res/xml-sw600dp/advanced_preferences.xml | 2 +-
|
||||
res/xml/advanced_preferences.xml | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/res/xml-sw600dp/advanced_preferences.xml b/res/xml-sw600dp/advanced_preferences.xml
|
||||
index ae19504..93ccbf1 100644
|
||||
--- a/res/xml-sw600dp/advanced_preferences.xml
|
||||
+++ b/res/xml-sw600dp/advanced_preferences.xml
|
||||
@@ -46,7 +46,7 @@
|
||||
<ListPreference
|
||||
android:key="plugin_state"
|
||||
android:title="@string/pref_content_plugins"
|
||||
- android:defaultValue="ON"
|
||||
+ android:defaultValue="OFF"
|
||||
android:entries="@array/pref_content_plugins_choices"
|
||||
android:entryValues="@array/pref_content_plugins_values"
|
||||
android:dialogTitle="@string/pref_content_plugins" />
|
||||
diff --git a/res/xml/advanced_preferences.xml b/res/xml/advanced_preferences.xml
|
||||
index f068330..0996bab 100644
|
||||
--- a/res/xml/advanced_preferences.xml
|
||||
+++ b/res/xml/advanced_preferences.xml
|
||||
@@ -51,7 +51,7 @@
|
||||
<ListPreference
|
||||
android:key="plugin_state"
|
||||
android:title="@string/pref_content_plugins"
|
||||
- android:defaultValue="ON"
|
||||
+ android:defaultValue="OFF"
|
||||
android:entries="@array/pref_content_plugins_choices"
|
||||
android:entryValues="@array/pref_content_plugins_values"
|
||||
android:dialogTitle="@string/pref_content_plugins" />
|
@ -1,203 +0,0 @@
|
||||
From 664f95d59cc672fb8b8ea3068a92530b08114f95 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Tue, 7 Apr 2015 03:23:22 -0400
|
||||
Subject: [PATCH] remove RLZ tracking
|
||||
|
||||
---
|
||||
AndroidManifest.xml | 8 --
|
||||
res/values/strings.xml | 3 -
|
||||
src/com/android/browser/UrlHandler.java | 129 --------------------------------
|
||||
3 files changed, 140 deletions(-)
|
||||
|
||||
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
|
||||
index 0ffdec4..7152192 100644
|
||||
--- a/AndroidManifest.xml
|
||||
+++ b/AndroidManifest.xml
|
||||
@@ -239,14 +239,6 @@
|
||||
<!-- Makes .BrowserActivity the search target for any activity in Browser -->
|
||||
<meta-data android:name="android.app.default_searchable" android:value=".BrowserActivity" />
|
||||
|
||||
- <!-- Application code for RLZ tracking. RLZ assigns non-unique, non-personally identifiable
|
||||
- tracking labels to client products; these labels sometimes appear in Google search
|
||||
- queries. See http://code.google.com/p/rlz for more info.
|
||||
-
|
||||
- This value signifies to the RLZ client that this application uses RLZ tracking. -->
|
||||
- <meta-data android:name="com.google.android.partnersetup.RLZ_ACCESS_POINT"
|
||||
- android:value="@string/rlz_access_point" />
|
||||
-
|
||||
<receiver android:name=".OpenDownloadReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.DOWNLOAD_NOTIFICATION_CLICKED"/>
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index 9012511..d9023ec 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -875,9 +875,6 @@
|
||||
<!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
|
||||
<string name="other_bookmarks">Other Bookmarks</string>
|
||||
|
||||
- <!-- Access point for RLZ tracking. -->
|
||||
- <string name="rlz_access_point">Y1</string>
|
||||
-
|
||||
<!-- Title for a dialog asking the user which account to sync their bookmarks to [CHAR LIMIT=32] -->
|
||||
<string name="account_chooser_dialog_title" msgid="4833571985009544332">Choose account</string>
|
||||
|
||||
diff --git a/src/com/android/browser/UrlHandler.java b/src/com/android/browser/UrlHandler.java
|
||||
index 084a479..52919c8 100644
|
||||
--- a/src/com/android/browser/UrlHandler.java
|
||||
+++ b/src/com/android/browser/UrlHandler.java
|
||||
@@ -38,9 +38,6 @@
|
||||
*/
|
||||
public class UrlHandler {
|
||||
|
||||
- static final String RLZ_PROVIDER = "com.google.android.partnersetup.rlzappprovider";
|
||||
- static final Uri RLZ_PROVIDER_URI = Uri.parse("content://" + RLZ_PROVIDER + "/");
|
||||
-
|
||||
// Use in overrideUrlLoading
|
||||
/* package */ final static String SCHEME_WTAI = "wtai://wp/";
|
||||
/* package */ final static String SCHEME_WTAI_MC = "wtai://wp/mc;";
|
||||
@@ -50,9 +47,6 @@
|
||||
Controller mController;
|
||||
Activity mActivity;
|
||||
|
||||
- private Boolean mIsProviderPresent = null;
|
||||
- private Uri mRlzUri = null;
|
||||
-
|
||||
public UrlHandler(Controller controller) {
|
||||
mController = controller;
|
||||
mActivity = mController.getActivity();
|
||||
@@ -101,20 +95,6 @@ boolean shouldOverrideUrlLoading(Tab tab, WebView view, String url) {
|
||||
return false;
|
||||
}
|
||||
|
||||
- // If this is a Google search, attempt to add an RLZ string
|
||||
- // (if one isn't already present).
|
||||
- if (rlzProviderPresent()) {
|
||||
- Uri siteUri = Uri.parse(url);
|
||||
- if (needsRlzString(siteUri)) {
|
||||
- // Need to look up the RLZ info from a database, so do it in an
|
||||
- // AsyncTask. Although we are not overriding the URL load synchronously,
|
||||
- // we guarantee that we will handle this URL load after the task executes,
|
||||
- // so it's safe to just return true to WebCore now to stop its own loading.
|
||||
- new RLZTask(tab, siteUri, view).execute();
|
||||
- return true;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
if (startActivityForUrl(tab, url)) {
|
||||
return true;
|
||||
}
|
||||
@@ -248,113 +228,4 @@ boolean handleMenuClick(Tab tab, String url) {
|
||||
|
||||
return false;
|
||||
}
|
||||
-
|
||||
- // TODO: Move this class into Tab, where it can be properly stopped upon
|
||||
- // closure of the tab
|
||||
- private class RLZTask extends AsyncTask<Void, Void, String> {
|
||||
- private Tab mTab;
|
||||
- private Uri mSiteUri;
|
||||
- private WebView mWebView;
|
||||
-
|
||||
- public RLZTask(Tab tab, Uri uri, WebView webView) {
|
||||
- mTab = tab;
|
||||
- mSiteUri = uri;
|
||||
- mWebView = webView;
|
||||
- }
|
||||
-
|
||||
- protected String doInBackground(Void... unused) {
|
||||
- String result = mSiteUri.toString();
|
||||
- Cursor cur = null;
|
||||
- try {
|
||||
- cur = mActivity.getContentResolver()
|
||||
- .query(getRlzUri(), null, null, null, null);
|
||||
- if (cur != null && cur.moveToFirst() && !cur.isNull(0)) {
|
||||
- result = mSiteUri.buildUpon()
|
||||
- .appendQueryParameter("rlz", cur.getString(0))
|
||||
- .build().toString();
|
||||
- }
|
||||
- } finally {
|
||||
- if (cur != null) {
|
||||
- cur.close();
|
||||
- }
|
||||
- }
|
||||
- return result;
|
||||
- }
|
||||
-
|
||||
- protected void onPostExecute(String result) {
|
||||
- // abort if we left browser already
|
||||
- if (mController.isActivityPaused()) return;
|
||||
- // Make sure the Tab was not closed while handling the task
|
||||
- if (mController.getTabControl().getTabPosition(mTab) != -1) {
|
||||
- // If the Activity Manager is not invoked, load the URL directly
|
||||
- if (!startActivityForUrl(mTab, result)) {
|
||||
- if (!handleMenuClick(mTab, result)) {
|
||||
- mController.loadUrl(mTab, result);
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- // Determine whether the RLZ provider is present on the system.
|
||||
- private boolean rlzProviderPresent() {
|
||||
- if (mIsProviderPresent == null) {
|
||||
- PackageManager pm = mActivity.getPackageManager();
|
||||
- mIsProviderPresent = pm.resolveContentProvider(RLZ_PROVIDER, 0) != null;
|
||||
- }
|
||||
- return mIsProviderPresent;
|
||||
- }
|
||||
-
|
||||
- // Retrieve the RLZ access point string and cache the URI used to
|
||||
- // retrieve RLZ values.
|
||||
- private Uri getRlzUri() {
|
||||
- if (mRlzUri == null) {
|
||||
- String ap = mActivity.getResources()
|
||||
- .getString(R.string.rlz_access_point);
|
||||
- mRlzUri = Uri.withAppendedPath(RLZ_PROVIDER_URI, ap);
|
||||
- }
|
||||
- return mRlzUri;
|
||||
- }
|
||||
-
|
||||
- // Determine if this URI appears to be for a Google search
|
||||
- // and does not have an RLZ parameter.
|
||||
- // Taken largely from Chrome source, src/chrome/browser/google_url_tracker.cc
|
||||
- private static boolean needsRlzString(Uri uri) {
|
||||
- String scheme = uri.getScheme();
|
||||
- if (("http".equals(scheme) || "https".equals(scheme)) &&
|
||||
- (uri.getQueryParameter("q") != null) &&
|
||||
- (uri.getQueryParameter("rlz") == null)) {
|
||||
- String host = uri.getHost();
|
||||
- if (host == null) {
|
||||
- return false;
|
||||
- }
|
||||
- String[] hostComponents = host.split("\\.");
|
||||
-
|
||||
- if (hostComponents.length < 2) {
|
||||
- return false;
|
||||
- }
|
||||
- int googleComponent = hostComponents.length - 2;
|
||||
- String component = hostComponents[googleComponent];
|
||||
- if (!"google".equals(component)) {
|
||||
- if (hostComponents.length < 3 ||
|
||||
- (!"co".equals(component) && !"com".equals(component))) {
|
||||
- return false;
|
||||
- }
|
||||
- googleComponent = hostComponents.length - 3;
|
||||
- if (!"google".equals(hostComponents[googleComponent])) {
|
||||
- return false;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- // Google corp network handling.
|
||||
- if (googleComponent > 0 && "corp".equals(
|
||||
- hostComponents[googleComponent - 1])) {
|
||||
- return false;
|
||||
- }
|
||||
-
|
||||
- return true;
|
||||
- }
|
||||
- return false;
|
||||
- }
|
||||
-
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
From cd7f624c7ead431469813ddf146f1b94c57eeda3 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Tue, 13 Oct 2015 17:36:00 -0400
|
||||
Subject: [PATCH] disable location recording by default
|
||||
|
||||
---
|
||||
src/com/android/camera/settings/Keys.java | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/src/com/android/camera/settings/Keys.java b/src/com/android/camera/settings/Keys.java
|
||||
index f59591f..5092bfa 100644
|
||||
--- a/src/com/android/camera/settings/Keys.java
|
||||
+++ b/src/com/android/camera/settings/Keys.java
|
||||
@@ -182,6 +182,10 @@ public static void setDefaults(SettingsManager settingsManager, Context context)
|
||||
|
||||
settingsManager.setDefaults(KEY_SHOULD_SHOW_SETTINGS_BUTTON_CLING, true);
|
||||
|
||||
+ settingsManager.setDefaults(KEY_RECORD_LOCATION, false);
|
||||
+ if (!settingsManager.isSet(SettingsManager.SCOPE_GLOBAL, KEY_RECORD_LOCATION)) {
|
||||
+ settingsManager.setToDefault(SettingsManager.SCOPE_GLOBAL, KEY_RECORD_LOCATION);
|
||||
+ }
|
||||
}
|
||||
|
||||
/** Helper functions for some defined keys. */
|
@ -1,25 +0,0 @@
|
||||
From 8d7a463afe1ab6aaecdff9707576b4fe74fab713 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Sat, 6 Jun 2015 10:40:51 -0400
|
||||
Subject: [PATCH] disable NFC and NDEF Push by default
|
||||
|
||||
---
|
||||
src/com/android/nfc/NfcService.java | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/com/android/nfc/NfcService.java b/src/com/android/nfc/NfcService.java
|
||||
index 6aa0dfc..cd4b819 100755
|
||||
--- a/src/com/android/nfc/NfcService.java
|
||||
+++ b/src/com/android/nfc/NfcService.java
|
||||
@@ -98,9 +98,9 @@
|
||||
public static final String PREF = "NfcServicePrefs";
|
||||
|
||||
static final String PREF_NFC_ON = "nfc_on";
|
||||
- static final boolean NFC_ON_DEFAULT = true;
|
||||
+ static final boolean NFC_ON_DEFAULT = false;
|
||||
static final String PREF_NDEF_PUSH_ON = "ndef_push_on";
|
||||
- static final boolean NDEF_PUSH_ON_DEFAULT = true;
|
||||
+ static final boolean NDEF_PUSH_ON_DEFAULT = false;
|
||||
static final String PREF_FIRST_BEAM = "first_beam";
|
||||
static final String PREF_FIRST_BOOT = "first_boot";
|
||||
static final String PREF_AIRPLANE_OVERRIDE = "airplane_override";
|
File diff suppressed because it is too large
Load Diff
@ -1,36 +0,0 @@
|
||||
From 382f9153c766ef96ac03adbd1ad8ec5bae2fa193 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Wed, 2 Dec 2015 00:14:29 -0500
|
||||
Subject: [PATCH] hide passwords by default
|
||||
|
||||
---
|
||||
src/com/android/settings/CryptKeeperConfirm.java | 2 +-
|
||||
src/com/android/settings/SecuritySettings.java | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/com/android/settings/CryptKeeperConfirm.java b/src/com/android/settings/CryptKeeperConfirm.java
|
||||
index 45b50f6..bb0c7e5 100644
|
||||
--- a/src/com/android/settings/CryptKeeperConfirm.java
|
||||
+++ b/src/com/android/settings/CryptKeeperConfirm.java
|
||||
@@ -130,7 +130,7 @@ public void onClick(View v) {
|
||||
}
|
||||
int value = Settings.System.getInt(getContext().getContentResolver(),
|
||||
Settings.System.TEXT_SHOW_PASSWORD,
|
||||
- 1);
|
||||
+ 0);
|
||||
utils.setVisiblePasswordEnabled(value != 0, UserHandle.USER_OWNER);
|
||||
|
||||
Intent intent = new Intent(getActivity(), Blank.class);
|
||||
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
|
||||
index c0e5b73..ec04136 100644
|
||||
--- a/src/com/android/settings/SecuritySettings.java
|
||||
+++ b/src/com/android/settings/SecuritySettings.java
|
||||
@@ -661,7 +661,7 @@ public void onResume() {
|
||||
|
||||
if (mShowPassword != null) {
|
||||
mShowPassword.setChecked(Settings.System.getInt(getContentResolver(),
|
||||
- Settings.System.TEXT_SHOW_PASSWORD, 1) != 0);
|
||||
+ Settings.System.TEXT_SHOW_PASSWORD, 0) != 0);
|
||||
}
|
||||
|
||||
if (mResetCredentials != null) {
|
@ -1,756 +0,0 @@
|
||||
From 2d6aa76f7c765ac129d5ac163460eb8e62080afa Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Mon, 15 Jun 2015 10:06:33 -0400
|
||||
Subject: [PATCH] support setting a separate encryption password
|
||||
|
||||
---
|
||||
AndroidManifest.xml | 3 +
|
||||
res/values/strings.xml | 9 +
|
||||
res/xml/security_settings_encrypted.xml | 10 +
|
||||
.../android/settings/ChooseEncryptionPassword.java | 682 +++++++++++++++++++++
|
||||
4 files changed, 704 insertions(+)
|
||||
create mode 100644 src/com/android/settings/ChooseEncryptionPassword.java
|
||||
|
||||
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
|
||||
index 63648fc..a561d7e 100755
|
||||
--- a/AndroidManifest.xml
|
||||
+++ b/AndroidManifest.xml
|
||||
@@ -1524,6 +1524,9 @@
|
||||
<activity android:name="ChooseLockPassword" android:exported="false"
|
||||
android:windowSoftInputMode="stateVisible|adjustResize"/>
|
||||
|
||||
+ <activity android:name="ChooseEncryptionPassword" android:exported="false"
|
||||
+ android:windowSoftInputMode="stateVisible|adjustResize"/>
|
||||
+
|
||||
<activity android:name=".SetupEncryptionInterstitial"
|
||||
android:taskAffinity="com.android.wizard"
|
||||
android:theme="@style/SetupWizardDisableAppStartingTheme"/>
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index 3072f33..d5324f1 100755
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -937,6 +937,15 @@
|
||||
<!-- Image button description to switch input method -->
|
||||
<string name="crypt_keeper_switch_input_method">Switch input method</string>
|
||||
|
||||
+ <!-- Title for PreferenceScreen to change encryption password [CHAR LIMIT=22] -->
|
||||
+ <string name="crypt_keeper_change_password_title">Change encryption password</string>
|
||||
+
|
||||
+ <!-- Summary for PreferenceScreen to change encryption password [CHAR LIMIT=45] -->
|
||||
+ <string name="crypt_keeper_change_password_summary">Change the password used for device encryption</string>
|
||||
+
|
||||
+ <!-- Header on first screen of choose encryption password [CHAR LIMIT=30] -->
|
||||
+ <string name="crypt_keeper_choose_your_password_header">Set encryption password</string>
|
||||
+
|
||||
<!-- Unlock Picker Settings --><skip />
|
||||
|
||||
<!-- Security Picker --><skip />
|
||||
diff --git a/res/xml/security_settings_encrypted.xml b/res/xml/security_settings_encrypted.xml
|
||||
index 2399243..f05bad5 100644
|
||||
--- a/res/xml/security_settings_encrypted.xml
|
||||
+++ b/res/xml/security_settings_encrypted.xml
|
||||
@@ -27,6 +27,16 @@
|
||||
android:title="@string/crypt_keeper_encrypt_title"
|
||||
android:summary="@string/crypt_keeper_encrypted_summary"/>
|
||||
|
||||
+ <Preference
|
||||
+ android:key="crypt_keeper_change_password"
|
||||
+ android:title="@string/crypt_keeper_change_password_title"
|
||||
+ android:summary="@string/crypt_keeper_change_password_summary">
|
||||
+
|
||||
+ <intent android:action="android.intent.action.MAIN"
|
||||
+ android:targetPackage="com.android.settings"
|
||||
+ android:targetClass="com.android.settings.ChooseEncryptionPassword" />
|
||||
+ </Preference>
|
||||
+
|
||||
</PreferenceCategory>
|
||||
|
||||
|
||||
diff --git a/src/com/android/settings/ChooseEncryptionPassword.java b/src/com/android/settings/ChooseEncryptionPassword.java
|
||||
new file mode 100644
|
||||
index 0000000..43e2b0e
|
||||
--- /dev/null
|
||||
+++ b/src/com/android/settings/ChooseEncryptionPassword.java
|
||||
@@ -0,0 +1,682 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2015 The Android Open Source Project
|
||||
+ *
|
||||
+ * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
+ * you may not use this file except in compliance with the License.
|
||||
+ * You may obtain a copy of the License at
|
||||
+ *
|
||||
+ * http://www.apache.org/licenses/LICENSE-2.0
|
||||
+ *
|
||||
+ * Unless required by applicable law or agreed to in writing, software
|
||||
+ * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
+ * See the License for the specific language governing permissions and
|
||||
+ * limitations under the License.
|
||||
+ */
|
||||
+
|
||||
+package com.android.settings;
|
||||
+
|
||||
+import com.android.internal.logging.MetricsLogger;
|
||||
+import com.android.internal.widget.LockPatternUtils;
|
||||
+import com.android.internal.widget.PasswordEntryKeyboardHelper;
|
||||
+import com.android.internal.widget.PasswordEntryKeyboardView;
|
||||
+import com.android.internal.widget.TextViewInputDisabler;
|
||||
+import com.android.internal.widget.LockPatternUtils.RequestThrottledException;
|
||||
+import com.android.settings.notification.RedactionInterstitial;
|
||||
+
|
||||
+import android.app.Activity;
|
||||
+import android.app.Fragment;
|
||||
+import android.app.admin.DevicePolicyManager;
|
||||
+import android.content.Context;
|
||||
+import android.content.Intent;
|
||||
+import android.inputmethodservice.KeyboardView;
|
||||
+import android.os.Bundle;
|
||||
+import android.os.Handler;
|
||||
+import android.os.Message;
|
||||
+import android.os.UserHandle;
|
||||
+import android.text.Editable;
|
||||
+import android.text.InputType;
|
||||
+import android.text.Selection;
|
||||
+import android.text.Spannable;
|
||||
+import android.text.TextUtils;
|
||||
+import android.text.TextWatcher;
|
||||
+import android.util.Log;
|
||||
+import android.view.KeyEvent;
|
||||
+import android.view.LayoutInflater;
|
||||
+import android.view.View;
|
||||
+import android.view.ViewGroup;
|
||||
+import android.view.View.OnClickListener;
|
||||
+import android.view.inputmethod.EditorInfo;
|
||||
+import android.widget.Button;
|
||||
+import android.widget.TextView;
|
||||
+import android.widget.TextView.OnEditorActionListener;
|
||||
+
|
||||
+public class ChooseEncryptionPassword extends SettingsActivity {
|
||||
+ public static final String PASSWORD_MIN_KEY = "lockscreen.password_min";
|
||||
+ public static final String PASSWORD_MAX_KEY = "lockscreen.password_max";
|
||||
+ public static final String PASSWORD_MIN_LETTERS_KEY = "lockscreen.password_min_letters";
|
||||
+ public static final String PASSWORD_MIN_LOWERCASE_KEY = "lockscreen.password_min_lowercase";
|
||||
+ public static final String PASSWORD_MIN_UPPERCASE_KEY = "lockscreen.password_min_uppercase";
|
||||
+ public static final String PASSWORD_MIN_NUMERIC_KEY = "lockscreen.password_min_numeric";
|
||||
+ public static final String PASSWORD_MIN_SYMBOLS_KEY = "lockscreen.password_min_symbols";
|
||||
+ public static final String PASSWORD_MIN_NONLETTER_KEY = "lockscreen.password_min_nonletter";
|
||||
+
|
||||
+ private static final String TAG = "ChooseEncryptionPassword";
|
||||
+
|
||||
+ @Override
|
||||
+ public Intent getIntent() {
|
||||
+ Intent modIntent = new Intent(super.getIntent());
|
||||
+ modIntent.putExtra(EXTRA_SHOW_FRAGMENT, getFragmentClass().getName());
|
||||
+ return modIntent;
|
||||
+ }
|
||||
+
|
||||
+ public static Intent createIntent(Context context, int quality,
|
||||
+ int minLength, final int maxLength, boolean requirePasswordToDecrypt,
|
||||
+ boolean confirmCredentials) {
|
||||
+ Intent intent = new Intent().setClass(context, ChooseEncryptionPassword.class);
|
||||
+ intent.putExtra(LockPatternUtils.PASSWORD_TYPE_KEY, quality);
|
||||
+ intent.putExtra(PASSWORD_MIN_KEY, minLength);
|
||||
+ intent.putExtra(PASSWORD_MAX_KEY, maxLength);
|
||||
+ intent.putExtra(ChooseLockGeneric.CONFIRM_CREDENTIALS, confirmCredentials);
|
||||
+ intent.putExtra(EncryptionInterstitial.EXTRA_REQUIRE_PASSWORD, requirePasswordToDecrypt);
|
||||
+ return intent;
|
||||
+ }
|
||||
+
|
||||
+ public static Intent createIntent(Context context, int quality,
|
||||
+ int minLength, final int maxLength, boolean requirePasswordToDecrypt, String password) {
|
||||
+ Intent intent = createIntent(context, quality, minLength, maxLength,
|
||||
+ requirePasswordToDecrypt, false);
|
||||
+ intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD, password);
|
||||
+ return intent;
|
||||
+ }
|
||||
+
|
||||
+ public static Intent createIntent(Context context, int quality,
|
||||
+ int minLength, final int maxLength, boolean requirePasswordToDecrypt, long challenge) {
|
||||
+ Intent intent = createIntent(context, quality, minLength, maxLength,
|
||||
+ requirePasswordToDecrypt, false);
|
||||
+ intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, true);
|
||||
+ intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE, challenge);
|
||||
+ return intent;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ protected boolean isValidFragment(String fragmentName) {
|
||||
+ if (ChooseEncryptionPasswordFragment.class.getName().equals(fragmentName)) return true;
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ /* package */ Class<? extends Fragment> getFragmentClass() {
|
||||
+ return ChooseEncryptionPasswordFragment.class;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onCreate(Bundle savedInstanceState) {
|
||||
+ // TODO: Fix on phones
|
||||
+ // Disable IME on our window since we provide our own keyboard
|
||||
+ //getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
|
||||
+ //WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
|
||||
+ super.onCreate(savedInstanceState);
|
||||
+ CharSequence msg = getText(R.string.lockpassword_choose_your_password_header);
|
||||
+ setTitle(msg);
|
||||
+ }
|
||||
+
|
||||
+ public static class ChooseEncryptionPasswordFragment extends InstrumentedFragment
|
||||
+ implements OnClickListener, OnEditorActionListener, TextWatcher,
|
||||
+ SaveAndFinishWorker.Listener {
|
||||
+ private static final String KEY_FIRST_PIN = "first_pin";
|
||||
+ private static final String KEY_UI_STAGE = "ui_stage";
|
||||
+ private static final String KEY_CURRENT_PASSWORD = "current_password";
|
||||
+ private static final String FRAGMENT_TAG_SAVE_AND_FINISH = "save_and_finish_worker";
|
||||
+
|
||||
+ private String mCurrentPassword;
|
||||
+ private String mChosenPassword;
|
||||
+ private boolean mHasChallenge;
|
||||
+ private long mChallenge;
|
||||
+ private TextView mPasswordEntry;
|
||||
+ private TextViewInputDisabler mPasswordEntryInputDisabler;
|
||||
+ private int mPasswordMinLength = LockPatternUtils.MIN_LOCK_PASSWORD_SIZE;
|
||||
+ private int mPasswordMaxLength = 16;
|
||||
+ private int mPasswordMinLetters = 0;
|
||||
+ private int mPasswordMinUpperCase = 0;
|
||||
+ private int mPasswordMinLowerCase = 0;
|
||||
+ private int mPasswordMinSymbols = 0;
|
||||
+ private int mPasswordMinNumeric = 0;
|
||||
+ private int mPasswordMinNonLetter = 0;
|
||||
+ private LockPatternUtils mLockPatternUtils;
|
||||
+ private SaveAndFinishWorker mSaveAndFinishWorker;
|
||||
+ private int mRequestedQuality = DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC;
|
||||
+ private ChooseLockSettingsHelper mChooseLockSettingsHelper;
|
||||
+ private Stage mUiStage = Stage.Introduction;
|
||||
+
|
||||
+ private TextView mHeaderText;
|
||||
+ private String mFirstPin;
|
||||
+ private KeyboardView mKeyboardView;
|
||||
+ private PasswordEntryKeyboardHelper mKeyboardHelper;
|
||||
+ private boolean mIsAlphaMode;
|
||||
+ private Button mCancelButton;
|
||||
+ private Button mNextButton;
|
||||
+ private static final int CONFIRM_EXISTING_REQUEST = 58;
|
||||
+ static final int RESULT_FINISHED = RESULT_FIRST_USER;
|
||||
+ private static final long ERROR_MESSAGE_TIMEOUT = 3000;
|
||||
+ private static final int MSG_SHOW_ERROR = 1;
|
||||
+
|
||||
+ private Handler mHandler = new Handler() {
|
||||
+ @Override
|
||||
+ public void handleMessage(Message msg) {
|
||||
+ if (msg.what == MSG_SHOW_ERROR) {
|
||||
+ updateStage((Stage) msg.obj);
|
||||
+ }
|
||||
+ }
|
||||
+ };
|
||||
+
|
||||
+ /**
|
||||
+ * Keep track internally of where the user is in choosing a pattern.
|
||||
+ */
|
||||
+ protected enum Stage {
|
||||
+
|
||||
+ Introduction(R.string.lockpassword_choose_your_password_header,
|
||||
+ R.string.lockpassword_choose_your_pin_header,
|
||||
+ R.string.lockpassword_continue_label),
|
||||
+
|
||||
+ NeedToConfirm(R.string.lockpassword_confirm_your_password_header,
|
||||
+ R.string.lockpassword_confirm_your_pin_header,
|
||||
+ R.string.lockpassword_ok_label),
|
||||
+
|
||||
+ ConfirmWrong(R.string.lockpassword_confirm_passwords_dont_match,
|
||||
+ R.string.lockpassword_confirm_pins_dont_match,
|
||||
+ R.string.lockpassword_continue_label);
|
||||
+
|
||||
+ Stage(int hintInAlpha, int hintInNumeric, int nextButtonText) {
|
||||
+ this.alphaHint = hintInAlpha;
|
||||
+ this.numericHint = hintInNumeric;
|
||||
+ this.buttonText = nextButtonText;
|
||||
+ }
|
||||
+
|
||||
+ public final int alphaHint;
|
||||
+ public final int numericHint;
|
||||
+ public final int buttonText;
|
||||
+ }
|
||||
+
|
||||
+ // required constructor for fragments
|
||||
+ public ChooseEncryptionPasswordFragment() {
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onCreate(Bundle savedInstanceState) {
|
||||
+ super.onCreate(savedInstanceState);
|
||||
+ mLockPatternUtils = new LockPatternUtils(getActivity());
|
||||
+ Intent intent = getActivity().getIntent();
|
||||
+ if (!(getActivity() instanceof ChooseEncryptionPassword)) {
|
||||
+ throw new SecurityException("Fragment contained in wrong activity");
|
||||
+ }
|
||||
+ mRequestedQuality = Math.max(intent.getIntExtra(LockPatternUtils.PASSWORD_TYPE_KEY,
|
||||
+ mRequestedQuality), mLockPatternUtils.getRequestedPasswordQuality(
|
||||
+ UserHandle.myUserId()));
|
||||
+ mPasswordMinLength = Math.max(Math.max(
|
||||
+ LockPatternUtils.MIN_LOCK_PASSWORD_SIZE,
|
||||
+ intent.getIntExtra(PASSWORD_MIN_KEY, mPasswordMinLength)),
|
||||
+ mLockPatternUtils.getRequestedMinimumPasswordLength(UserHandle.myUserId()));
|
||||
+ mPasswordMaxLength = intent.getIntExtra(PASSWORD_MAX_KEY, mPasswordMaxLength);
|
||||
+ mPasswordMinLetters = Math.max(intent.getIntExtra(PASSWORD_MIN_LETTERS_KEY,
|
||||
+ mPasswordMinLetters), mLockPatternUtils.getRequestedPasswordMinimumLetters(
|
||||
+ UserHandle.myUserId()));
|
||||
+ mPasswordMinUpperCase = Math.max(intent.getIntExtra(PASSWORD_MIN_UPPERCASE_KEY,
|
||||
+ mPasswordMinUpperCase), mLockPatternUtils.getRequestedPasswordMinimumUpperCase(
|
||||
+ UserHandle.myUserId()));
|
||||
+ mPasswordMinLowerCase = Math.max(intent.getIntExtra(PASSWORD_MIN_LOWERCASE_KEY,
|
||||
+ mPasswordMinLowerCase), mLockPatternUtils.getRequestedPasswordMinimumLowerCase(
|
||||
+ UserHandle.myUserId()));
|
||||
+ mPasswordMinNumeric = Math.max(intent.getIntExtra(PASSWORD_MIN_NUMERIC_KEY,
|
||||
+ mPasswordMinNumeric), mLockPatternUtils.getRequestedPasswordMinimumNumeric(
|
||||
+ UserHandle.myUserId()));
|
||||
+ mPasswordMinSymbols = Math.max(intent.getIntExtra(PASSWORD_MIN_SYMBOLS_KEY,
|
||||
+ mPasswordMinSymbols), mLockPatternUtils.getRequestedPasswordMinimumSymbols(
|
||||
+ UserHandle.myUserId()));
|
||||
+ mPasswordMinNonLetter = Math.max(intent.getIntExtra(PASSWORD_MIN_NONLETTER_KEY,
|
||||
+ mPasswordMinNonLetter), mLockPatternUtils.getRequestedPasswordMinimumNonLetter(
|
||||
+ UserHandle.myUserId()));
|
||||
+
|
||||
+ mChooseLockSettingsHelper = new ChooseLockSettingsHelper(getActivity());
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
+ Bundle savedInstanceState) {
|
||||
+ return inflater.inflate(R.layout.choose_lock_password, container, false);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||
+ super.onViewCreated(view, savedInstanceState);
|
||||
+
|
||||
+ mCancelButton = (Button) view.findViewById(R.id.cancel_button);
|
||||
+ mCancelButton.setOnClickListener(this);
|
||||
+ mNextButton = (Button) view.findViewById(R.id.next_button);
|
||||
+ mNextButton.setOnClickListener(this);
|
||||
+
|
||||
+ mIsAlphaMode = DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC == mRequestedQuality
|
||||
+ || DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC == mRequestedQuality
|
||||
+ || DevicePolicyManager.PASSWORD_QUALITY_COMPLEX == mRequestedQuality;
|
||||
+ mKeyboardView = (PasswordEntryKeyboardView) view.findViewById(R.id.keyboard);
|
||||
+ mPasswordEntry = (TextView) view.findViewById(R.id.password_entry);
|
||||
+ mPasswordEntry.setOnEditorActionListener(this);
|
||||
+ mPasswordEntry.addTextChangedListener(this);
|
||||
+ mPasswordEntryInputDisabler = new TextViewInputDisabler(mPasswordEntry);
|
||||
+
|
||||
+ final Activity activity = getActivity();
|
||||
+ mKeyboardHelper = new PasswordEntryKeyboardHelper(activity,
|
||||
+ mKeyboardView, mPasswordEntry);
|
||||
+ mKeyboardHelper.setKeyboardMode(mIsAlphaMode ?
|
||||
+ PasswordEntryKeyboardHelper.KEYBOARD_MODE_ALPHA
|
||||
+ : PasswordEntryKeyboardHelper.KEYBOARD_MODE_NUMERIC);
|
||||
+
|
||||
+ mHeaderText = (TextView) view.findViewById(R.id.headerText);
|
||||
+ mKeyboardView.requestFocus();
|
||||
+
|
||||
+ int currentType = mPasswordEntry.getInputType();
|
||||
+ mPasswordEntry.setInputType(mIsAlphaMode ? currentType
|
||||
+ : (InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD));
|
||||
+
|
||||
+ Intent intent = getActivity().getIntent();
|
||||
+ final boolean confirmCredentials = intent.getBooleanExtra(
|
||||
+ ChooseLockGeneric.CONFIRM_CREDENTIALS, true);
|
||||
+ mCurrentPassword = intent.getStringExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
|
||||
+ mHasChallenge = intent.getBooleanExtra(
|
||||
+ ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, false);
|
||||
+ mChallenge = intent.getLongExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE, 0);
|
||||
+ if (savedInstanceState == null) {
|
||||
+ updateStage(Stage.Introduction);
|
||||
+ if (confirmCredentials) {
|
||||
+ mChooseLockSettingsHelper.launchConfirmationActivity(CONFIRM_EXISTING_REQUEST,
|
||||
+ getString(R.string.unlock_set_unlock_launch_picker_title), true);
|
||||
+ }
|
||||
+ } else {
|
||||
+ // restore from previous state
|
||||
+ mFirstPin = savedInstanceState.getString(KEY_FIRST_PIN);
|
||||
+ final String state = savedInstanceState.getString(KEY_UI_STAGE);
|
||||
+ if (state != null) {
|
||||
+ mUiStage = Stage.valueOf(state);
|
||||
+ updateStage(mUiStage);
|
||||
+ }
|
||||
+
|
||||
+ if (mCurrentPassword == null) {
|
||||
+ mCurrentPassword = savedInstanceState.getString(KEY_CURRENT_PASSWORD);
|
||||
+ }
|
||||
+
|
||||
+ // Re-attach to the exiting worker if there is one.
|
||||
+ mSaveAndFinishWorker = (SaveAndFinishWorker) getFragmentManager().findFragmentByTag(
|
||||
+ FRAGMENT_TAG_SAVE_AND_FINISH);
|
||||
+ }
|
||||
+ if (activity instanceof SettingsActivity) {
|
||||
+ final SettingsActivity sa = (SettingsActivity) activity;
|
||||
+ int id = mIsAlphaMode ? R.string.lockpassword_choose_your_password_header
|
||||
+ : R.string.lockpassword_choose_your_pin_header;
|
||||
+ CharSequence title = getText(id);
|
||||
+ sa.setTitle(title);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ protected int getMetricsCategory() {
|
||||
+ return MetricsLogger.CHOOSE_LOCK_PASSWORD;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onResume() {
|
||||
+ super.onResume();
|
||||
+ updateStage(mUiStage);
|
||||
+ if (mSaveAndFinishWorker != null) {
|
||||
+ mSaveAndFinishWorker.setListener(this);
|
||||
+ } else {
|
||||
+ mKeyboardView.requestFocus();
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onPause() {
|
||||
+ mHandler.removeMessages(MSG_SHOW_ERROR);
|
||||
+ if (mSaveAndFinishWorker != null) {
|
||||
+ mSaveAndFinishWorker.setListener(null);
|
||||
+ }
|
||||
+
|
||||
+ super.onPause();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onSaveInstanceState(Bundle outState) {
|
||||
+ super.onSaveInstanceState(outState);
|
||||
+ outState.putString(KEY_UI_STAGE, mUiStage.name());
|
||||
+ outState.putString(KEY_FIRST_PIN, mFirstPin);
|
||||
+ outState.putString(KEY_CURRENT_PASSWORD, mCurrentPassword);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onActivityResult(int requestCode, int resultCode,
|
||||
+ Intent data) {
|
||||
+ super.onActivityResult(requestCode, resultCode, data);
|
||||
+ switch (requestCode) {
|
||||
+ case CONFIRM_EXISTING_REQUEST:
|
||||
+ if (resultCode != Activity.RESULT_OK) {
|
||||
+ getActivity().setResult(RESULT_FINISHED);
|
||||
+ getActivity().finish();
|
||||
+ } else {
|
||||
+ mCurrentPassword = data.getStringExtra(
|
||||
+ ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
|
||||
+ }
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ protected Intent getRedactionInterstitialIntent(Context context) {
|
||||
+ return RedactionInterstitial.createStartIntent(context);
|
||||
+ }
|
||||
+
|
||||
+ protected void updateStage(Stage stage) {
|
||||
+ final Stage previousStage = mUiStage;
|
||||
+ mUiStage = stage;
|
||||
+ updateUi();
|
||||
+
|
||||
+ // If the stage changed, announce the header for accessibility. This
|
||||
+ // is a no-op when accessibility is disabled.
|
||||
+ if (previousStage != stage) {
|
||||
+ mHeaderText.announceForAccessibility(mHeaderText.getText());
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Validates PIN and returns a message to display if PIN fails test.
|
||||
+ * @param password the raw password the user typed in
|
||||
+ * @return error message to show to user or null if password is OK
|
||||
+ */
|
||||
+ private String validatePassword(String password) {
|
||||
+ if (password.length() < mPasswordMinLength) {
|
||||
+ return getString(mIsAlphaMode ?
|
||||
+ R.string.lockpassword_password_too_short
|
||||
+ : R.string.lockpassword_pin_too_short, mPasswordMinLength);
|
||||
+ }
|
||||
+ if (password.length() > mPasswordMaxLength) {
|
||||
+ return getString(mIsAlphaMode ?
|
||||
+ R.string.lockpassword_password_too_long
|
||||
+ : R.string.lockpassword_pin_too_long, mPasswordMaxLength + 1);
|
||||
+ }
|
||||
+ int letters = 0;
|
||||
+ int numbers = 0;
|
||||
+ int lowercase = 0;
|
||||
+ int symbols = 0;
|
||||
+ int uppercase = 0;
|
||||
+ int nonletter = 0;
|
||||
+ for (int i = 0; i < password.length(); i++) {
|
||||
+ char c = password.charAt(i);
|
||||
+ // allow non control Latin-1 characters only
|
||||
+ if (c < 32 || c > 127) {
|
||||
+ return getString(R.string.lockpassword_illegal_character);
|
||||
+ }
|
||||
+ if (c >= '0' && c <= '9') {
|
||||
+ numbers++;
|
||||
+ nonletter++;
|
||||
+ } else if (c >= 'A' && c <= 'Z') {
|
||||
+ letters++;
|
||||
+ uppercase++;
|
||||
+ } else if (c >= 'a' && c <= 'z') {
|
||||
+ letters++;
|
||||
+ lowercase++;
|
||||
+ } else {
|
||||
+ symbols++;
|
||||
+ nonletter++;
|
||||
+ }
|
||||
+ }
|
||||
+ if (DevicePolicyManager.PASSWORD_QUALITY_NUMERIC == mRequestedQuality
|
||||
+ || DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX == mRequestedQuality) {
|
||||
+ if (letters > 0 || symbols > 0) {
|
||||
+ // This shouldn't be possible unless user finds some way to bring up
|
||||
+ // soft keyboard
|
||||
+ return getString(R.string.lockpassword_pin_contains_non_digits);
|
||||
+ }
|
||||
+ // Check for repeated characters or sequences (e.g. '1234', '0000', '2468')
|
||||
+ final int sequence = LockPatternUtils.maxLengthSequence(password);
|
||||
+ if (DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX == mRequestedQuality
|
||||
+ && sequence > LockPatternUtils.MAX_ALLOWED_SEQUENCE) {
|
||||
+ return getString(R.string.lockpassword_pin_no_sequential_digits);
|
||||
+ }
|
||||
+ } else if (DevicePolicyManager.PASSWORD_QUALITY_COMPLEX == mRequestedQuality) {
|
||||
+ if (letters < mPasswordMinLetters) {
|
||||
+ return String.format(getResources().getQuantityString(
|
||||
+ R.plurals.lockpassword_password_requires_letters, mPasswordMinLetters),
|
||||
+ mPasswordMinLetters);
|
||||
+ } else if (numbers < mPasswordMinNumeric) {
|
||||
+ return String.format(getResources().getQuantityString(
|
||||
+ R.plurals.lockpassword_password_requires_numeric, mPasswordMinNumeric),
|
||||
+ mPasswordMinNumeric);
|
||||
+ } else if (lowercase < mPasswordMinLowerCase) {
|
||||
+ return String.format(getResources().getQuantityString(
|
||||
+ R.plurals.lockpassword_password_requires_lowercase, mPasswordMinLowerCase),
|
||||
+ mPasswordMinLowerCase);
|
||||
+ } else if (uppercase < mPasswordMinUpperCase) {
|
||||
+ return String.format(getResources().getQuantityString(
|
||||
+ R.plurals.lockpassword_password_requires_uppercase, mPasswordMinUpperCase),
|
||||
+ mPasswordMinUpperCase);
|
||||
+ } else if (symbols < mPasswordMinSymbols) {
|
||||
+ return String.format(getResources().getQuantityString(
|
||||
+ R.plurals.lockpassword_password_requires_symbols, mPasswordMinSymbols),
|
||||
+ mPasswordMinSymbols);
|
||||
+ } else if (nonletter < mPasswordMinNonLetter) {
|
||||
+ return String.format(getResources().getQuantityString(
|
||||
+ R.plurals.lockpassword_password_requires_nonletter, mPasswordMinNonLetter),
|
||||
+ mPasswordMinNonLetter);
|
||||
+ }
|
||||
+ } else {
|
||||
+ final boolean alphabetic = DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC
|
||||
+ == mRequestedQuality;
|
||||
+ final boolean alphanumeric = DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC
|
||||
+ == mRequestedQuality;
|
||||
+ if ((alphabetic || alphanumeric) && letters == 0) {
|
||||
+ return getString(R.string.lockpassword_password_requires_alpha);
|
||||
+ }
|
||||
+ if (alphanumeric && numbers == 0) {
|
||||
+ return getString(R.string.lockpassword_password_requires_digit);
|
||||
+ }
|
||||
+ }
|
||||
+ if(mLockPatternUtils.checkPasswordHistory(password, UserHandle.myUserId())) {
|
||||
+ return getString(mIsAlphaMode ? R.string.lockpassword_password_recently_used
|
||||
+ : R.string.lockpassword_pin_recently_used);
|
||||
+ }
|
||||
+
|
||||
+ return null;
|
||||
+ }
|
||||
+
|
||||
+ public void handleNext() {
|
||||
+ if (mSaveAndFinishWorker != null) return;
|
||||
+ mChosenPassword = mPasswordEntry.getText().toString();
|
||||
+ if (TextUtils.isEmpty(mChosenPassword)) {
|
||||
+ return;
|
||||
+ }
|
||||
+ String errorMsg = null;
|
||||
+ if (mUiStage == Stage.Introduction) {
|
||||
+ errorMsg = validatePassword(mChosenPassword);
|
||||
+ if (errorMsg == null) {
|
||||
+ mFirstPin = mChosenPassword;
|
||||
+ mPasswordEntry.setText("");
|
||||
+ updateStage(Stage.NeedToConfirm);
|
||||
+ }
|
||||
+ } else if (mUiStage == Stage.NeedToConfirm) {
|
||||
+ if (mFirstPin.equals(mChosenPassword)) {
|
||||
+ startSaveAndFinish();
|
||||
+ } else {
|
||||
+ CharSequence tmp = mPasswordEntry.getText();
|
||||
+ if (tmp != null) {
|
||||
+ Selection.setSelection((Spannable) tmp, 0, tmp.length());
|
||||
+ }
|
||||
+ updateStage(Stage.ConfirmWrong);
|
||||
+ }
|
||||
+ }
|
||||
+ if (errorMsg != null) {
|
||||
+ showError(errorMsg, mUiStage);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ protected void setNextEnabled(boolean enabled) {
|
||||
+ mNextButton.setEnabled(enabled);
|
||||
+ }
|
||||
+
|
||||
+ protected void setNextText(int text) {
|
||||
+ mNextButton.setText(text);
|
||||
+ }
|
||||
+
|
||||
+ public void onClick(View v) {
|
||||
+ switch (v.getId()) {
|
||||
+ case R.id.next_button:
|
||||
+ handleNext();
|
||||
+ break;
|
||||
+
|
||||
+ case R.id.cancel_button:
|
||||
+ getActivity().finish();
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private void showError(String msg, final Stage next) {
|
||||
+ mHeaderText.setText(msg);
|
||||
+ mHeaderText.announceForAccessibility(mHeaderText.getText());
|
||||
+ Message mesg = mHandler.obtainMessage(MSG_SHOW_ERROR, next);
|
||||
+ mHandler.removeMessages(MSG_SHOW_ERROR);
|
||||
+ mHandler.sendMessageDelayed(mesg, ERROR_MESSAGE_TIMEOUT);
|
||||
+ }
|
||||
+
|
||||
+ public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
|
||||
+ // Check if this was the result of hitting the enter or "done" key
|
||||
+ if (actionId == EditorInfo.IME_NULL
|
||||
+ || actionId == EditorInfo.IME_ACTION_DONE
|
||||
+ || actionId == EditorInfo.IME_ACTION_NEXT) {
|
||||
+ handleNext();
|
||||
+ return true;
|
||||
+ }
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Update the hint based on current Stage and length of password entry
|
||||
+ */
|
||||
+ private void updateUi() {
|
||||
+ final boolean canInput = mSaveAndFinishWorker == null;
|
||||
+ String password = mPasswordEntry.getText().toString();
|
||||
+ final int length = password.length();
|
||||
+ if (mUiStage == Stage.Introduction) {
|
||||
+ if (length < mPasswordMinLength) {
|
||||
+ String msg = getString(mIsAlphaMode ? R.string.lockpassword_password_too_short
|
||||
+ : R.string.lockpassword_pin_too_short, mPasswordMinLength);
|
||||
+ mHeaderText.setText(msg);
|
||||
+ setNextEnabled(false);
|
||||
+ } else {
|
||||
+ String error = validatePassword(password);
|
||||
+ if (error != null) {
|
||||
+ mHeaderText.setText(error);
|
||||
+ setNextEnabled(false);
|
||||
+ } else {
|
||||
+ mHeaderText.setText(R.string.lockpassword_press_continue);
|
||||
+ setNextEnabled(true);
|
||||
+ }
|
||||
+ }
|
||||
+ } else {
|
||||
+ mHeaderText.setText(mIsAlphaMode ? mUiStage.alphaHint : mUiStage.numericHint);
|
||||
+ setNextEnabled(canInput && length > 0);
|
||||
+ }
|
||||
+ setNextText(mUiStage.buttonText);
|
||||
+ mPasswordEntryInputDisabler.setInputEnabled(canInput);
|
||||
+ }
|
||||
+
|
||||
+ public void afterTextChanged(Editable s) {
|
||||
+ // Changing the text while error displayed resets to NeedToConfirm state
|
||||
+ if (mUiStage == Stage.ConfirmWrong) {
|
||||
+ mUiStage = Stage.NeedToConfirm;
|
||||
+ }
|
||||
+ updateUi();
|
||||
+ }
|
||||
+
|
||||
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+ private void startSaveAndFinish() {
|
||||
+ if (mSaveAndFinishWorker != null) {
|
||||
+ Log.w(TAG, "startSaveAndFinish with an existing SaveAndFinishWorker.");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ mPasswordEntryInputDisabler.setInputEnabled(false);
|
||||
+ setNextEnabled(false);
|
||||
+
|
||||
+ mSaveAndFinishWorker = new SaveAndFinishWorker();
|
||||
+ getFragmentManager().beginTransaction().add(mSaveAndFinishWorker,
|
||||
+ FRAGMENT_TAG_SAVE_AND_FINISH).commit();
|
||||
+ mSaveAndFinishWorker.setListener(this);
|
||||
+
|
||||
+ final boolean required = getActivity().getIntent().getBooleanExtra(
|
||||
+ EncryptionInterstitial.EXTRA_REQUIRE_PASSWORD, true);
|
||||
+ mSaveAndFinishWorker.start(mLockPatternUtils, required, mHasChallenge, mChallenge,
|
||||
+ mChosenPassword, mCurrentPassword, mRequestedQuality);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onChosenLockSaveFinished(boolean wasSecureBefore, Intent resultData) {
|
||||
+ getActivity().setResult(RESULT_FINISHED, resultData);
|
||||
+ getActivity().finish();
|
||||
+
|
||||
+ if (!wasSecureBefore) {
|
||||
+ Intent intent = getRedactionInterstitialIntent(getActivity());
|
||||
+ if (intent != null) {
|
||||
+ startActivity(intent);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private static class SaveAndFinishWorker extends SaveChosenLockWorkerBase {
|
||||
+
|
||||
+ private String mChosenPassword;
|
||||
+ private String mCurrentPassword;
|
||||
+ private int mRequestedQuality;
|
||||
+
|
||||
+ public void start(LockPatternUtils utils, boolean required,
|
||||
+ boolean hasChallenge, long challenge,
|
||||
+ String chosenPassword, String currentPassword, int requestedQuality) {
|
||||
+ prepare(utils, required, hasChallenge, challenge);
|
||||
+
|
||||
+ mChosenPassword = chosenPassword;
|
||||
+ mCurrentPassword = currentPassword;
|
||||
+ mRequestedQuality = requestedQuality;
|
||||
+
|
||||
+ start();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ protected Intent saveAndVerifyInBackground() {
|
||||
+ Intent result = null;
|
||||
+ final int userId = UserHandle.myUserId();
|
||||
+ mUtils.setCredentialRequiredToDecrypt(true);
|
||||
+ mUtils.setSeparateEncryptionPassword(mChosenPassword);
|
||||
+
|
||||
+ if (mHasChallenge) {
|
||||
+ byte[] token;
|
||||
+ try {
|
||||
+ token = mUtils.verifyPassword(mChosenPassword, mChallenge, userId);
|
||||
+ } catch (RequestThrottledException e) {
|
||||
+ token = null;
|
||||
+ }
|
||||
+
|
||||
+ if (token == null) {
|
||||
+ Log.e(TAG, "critical: no token returned for known good password.");
|
||||
+ }
|
||||
+
|
||||
+ result = new Intent();
|
||||
+ result.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token);
|
||||
+ }
|
||||
+
|
||||
+ return result;
|
||||
+ }
|
||||
+ }
|
||||
+}
|
@ -1,198 +0,0 @@
|
||||
From 0985c9dc829bd54d29335231704bff3bda2750b3 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Sat, 27 Jun 2015 12:39:17 -0400
|
||||
Subject: [PATCH] support replacing a separate encryption password
|
||||
|
||||
---
|
||||
AndroidManifest.xml | 2 +
|
||||
res/values/strings.xml | 6 ++
|
||||
res/xml/security_settings_encrypted.xml | 10 +++
|
||||
.../settings/ReplaceEncryptionPassword.java | 99 ++++++++++++++++++++++
|
||||
src/com/android/settings/SecuritySettings.java | 10 +++
|
||||
5 files changed, 127 insertions(+)
|
||||
create mode 100644 src/com/android/settings/ReplaceEncryptionPassword.java
|
||||
|
||||
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
|
||||
index a561d7e..c54e4fa 100755
|
||||
--- a/AndroidManifest.xml
|
||||
+++ b/AndroidManifest.xml
|
||||
@@ -1527,6 +1527,8 @@
|
||||
<activity android:name="ChooseEncryptionPassword" android:exported="false"
|
||||
android:windowSoftInputMode="stateVisible|adjustResize"/>
|
||||
|
||||
+ <activity android:name="ReplaceEncryptionPassword" android:exported="false"/>
|
||||
+
|
||||
<activity android:name=".SetupEncryptionInterstitial"
|
||||
android:taskAffinity="com.android.wizard"
|
||||
android:theme="@style/SetupWizardDisableAppStartingTheme"/>
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index d5324f1..224c91e 100755
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -946,6 +946,12 @@
|
||||
<!-- Header on first screen of choose encryption password [CHAR LIMIT=30] -->
|
||||
<string name="crypt_keeper_choose_your_password_header">Set encryption password</string>
|
||||
|
||||
+ <!-- Title for PreferenceScreen to replace encryption password [CHAR LIMIT=22] -->
|
||||
+ <string name="crypt_keeper_replace_password_title">Replace encryption password</string>
|
||||
+
|
||||
+ <!-- Summary for PreferenceScreen to replace encryption password [CHAR LIMIT=45] -->
|
||||
+ <string name="crypt_keeper_replace_password_summary">Remove the separate encryption password</string>
|
||||
+
|
||||
<!-- Unlock Picker Settings --><skip />
|
||||
|
||||
<!-- Security Picker --><skip />
|
||||
diff --git a/res/xml/security_settings_encrypted.xml b/res/xml/security_settings_encrypted.xml
|
||||
index f05bad5..e068541 100644
|
||||
--- a/res/xml/security_settings_encrypted.xml
|
||||
+++ b/res/xml/security_settings_encrypted.xml
|
||||
@@ -37,6 +37,16 @@
|
||||
android:targetClass="com.android.settings.ChooseEncryptionPassword" />
|
||||
</Preference>
|
||||
|
||||
+ <Preference
|
||||
+ android:key="crypt_keeper_replace_password"
|
||||
+ android:title="@string/crypt_keeper_replace_password_title"
|
||||
+ android:summary="@string/crypt_keeper_replace_password_summary">
|
||||
+
|
||||
+ <intent android:action="android.intent.action.MAIN"
|
||||
+ android:targetPackage="com.android.settings"
|
||||
+ android:targetClass="com.android.settings.ReplaceEncryptionPassword" />
|
||||
+ </Preference>
|
||||
+
|
||||
</PreferenceCategory>
|
||||
|
||||
|
||||
diff --git a/src/com/android/settings/ReplaceEncryptionPassword.java b/src/com/android/settings/ReplaceEncryptionPassword.java
|
||||
new file mode 100644
|
||||
index 0000000..84dcc48
|
||||
--- /dev/null
|
||||
+++ b/src/com/android/settings/ReplaceEncryptionPassword.java
|
||||
@@ -0,0 +1,99 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2015 The Android Open Source Project
|
||||
+ *
|
||||
+ * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
+ * you may not use this file except in compliance with the License.
|
||||
+ * You may obtain a copy of the License at
|
||||
+ *
|
||||
+ * http://www.apache.org/licenses/LICENSE-2.0
|
||||
+ *
|
||||
+ * Unless required by applicable law or agreed to in writing, software
|
||||
+ * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
+ * See the License for the specific language governing permissions and
|
||||
+ * limitations under the License.
|
||||
+ */
|
||||
+
|
||||
+package com.android.settings;
|
||||
+
|
||||
+import com.android.internal.widget.LockPatternUtils;
|
||||
+import com.android.internal.widget.LockPatternUtils.RequestThrottledException;
|
||||
+
|
||||
+import android.app.Activity;
|
||||
+import android.app.Fragment;
|
||||
+import android.content.Intent;
|
||||
+import android.content.res.Resources;
|
||||
+import android.os.Bundle;
|
||||
+import android.os.storage.StorageManager;
|
||||
+import android.os.UserHandle;
|
||||
+import android.view.LayoutInflater;
|
||||
+import android.view.View;
|
||||
+import android.view.ViewGroup;
|
||||
+
|
||||
+public class ReplaceEncryptionPassword extends SettingsActivity {
|
||||
+ @Override
|
||||
+ public Intent getIntent() {
|
||||
+ Intent modIntent = new Intent(super.getIntent());
|
||||
+ modIntent.putExtra(EXTRA_SHOW_FRAGMENT, getFragmentClass().getName());
|
||||
+ return modIntent;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ protected boolean isValidFragment(String fragmentName) {
|
||||
+ if (ReplaceEncryptionPasswordFragment.class.getName().equals(fragmentName)) return true;
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ /* package */ Class<? extends Fragment> getFragmentClass() {
|
||||
+ return ReplaceEncryptionPasswordFragment.class;
|
||||
+ }
|
||||
+
|
||||
+ public static class ReplaceEncryptionPasswordFragment extends Fragment {
|
||||
+ private static final int KEYGUARD_REQUEST = 55;
|
||||
+
|
||||
+ @Override
|
||||
+ public void onCreate(Bundle savedInstanceState) {
|
||||
+ super.onCreate(savedInstanceState);
|
||||
+ if (!(getActivity() instanceof ReplaceEncryptionPassword)) {
|
||||
+ throw new SecurityException("Fragment contained in wrong activity");
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedState) {
|
||||
+ Resources res = getActivity().getResources();
|
||||
+ ChooseLockSettingsHelper helper = new ChooseLockSettingsHelper(getActivity(), this);
|
||||
+
|
||||
+ helper.launchConfirmationActivity(KEYGUARD_REQUEST,
|
||||
+ res.getText(R.string.unlock_set_unlock_password_title),
|
||||
+ true);
|
||||
+
|
||||
+ return null;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
+ super.onActivityResult(requestCode, resultCode, data);
|
||||
+
|
||||
+ if (requestCode != KEYGUARD_REQUEST) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ // If the user entered a valid keyguard trace, present the final
|
||||
+ // confirmation prompt; otherwise, go back to the initial state.
|
||||
+ if (resultCode == Activity.RESULT_OK && data != null) {
|
||||
+ LockPatternUtils utils = new LockPatternUtils(getActivity());
|
||||
+ int type = data.getIntExtra(ChooseLockSettingsHelper.EXTRA_KEY_TYPE, -1);
|
||||
+ String password = data.getStringExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
|
||||
+ if (type == StorageManager.CRYPT_TYPE_PATTERN) {
|
||||
+ utils.replaceSeparateEncryptionPasswordWithPattern(
|
||||
+ utils.stringToPattern(password, utils.getLockPatternSize()));
|
||||
+ } else {
|
||||
+ utils.replaceSeparateEncryptionPassword(password);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ getActivity().finish();
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
|
||||
index 4d76f08..7cab5ca 100644
|
||||
--- a/src/com/android/settings/SecuritySettings.java
|
||||
+++ b/src/com/android/settings/SecuritySettings.java
|
||||
@@ -110,6 +110,7 @@
|
||||
private static final String PACKAGE_MIME_TYPE = "application/vnd.android.package-archive";
|
||||
private static final String KEY_TRUST_AGENT = "trust_agent";
|
||||
private static final String KEY_SCREEN_PINNING = "screen_pinning_settings";
|
||||
+ private static final String KEY_REPLACE_ENCRYPTION_PASSWORD = "crypt_keeper_replace_password";
|
||||
private static final String KEY_SMS_SECURITY_CHECK_PREF = "sms_security_check_limit";
|
||||
|
||||
// malloc configuration
|
||||
@@ -270,6 +271,15 @@ public boolean onPreferenceClick(Preference preference) {
|
||||
if (LockPatternUtils.isDeviceEncryptionEnabled()) {
|
||||
// The device is currently encrypted.
|
||||
addPreferencesFromResource(R.xml.security_settings_encrypted);
|
||||
+ if (!mLockPatternUtils.isSeparateEncryptionPasswordEnabled()) {
|
||||
+ PreferenceGroup securityCategory =
|
||||
+ (PreferenceGroup)root.findPreference(KEY_SECURITY_CATEGORY);
|
||||
+ if (securityCategory != null) {
|
||||
+ Preference replaceEncryptionPassword =
|
||||
+ root.findPreference(KEY_REPLACE_ENCRYPTION_PASSWORD);
|
||||
+ securityCategory.removePreference(replaceEncryptionPassword);
|
||||
+ }
|
||||
+ }
|
||||
} else {
|
||||
// This device supports encryption but isn't encrypted.
|
||||
addPreferencesFromResource(R.xml.security_settings_unencrypted);
|
@ -1,73 +0,0 @@
|
||||
From a29c050a986312d6863d2a7ed6cceb1f1b0b9fac Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Sun, 28 Jun 2015 13:31:54 -0400
|
||||
Subject: [PATCH] fix usage of ChooseLockSettingsHelper
|
||||
|
||||
The fragment was not being passed, so the ChooseLock* fragments are not
|
||||
informed if authentication fails (i.e. the cancel button is pushed) and
|
||||
continue on as if it was successful. This wasn't noticed because this
|
||||
code isn't used in the normal path where authentication happens before
|
||||
entering the preferences menu to choose the authentication method.
|
||||
|
||||
The authentication support built-in to these fragments may even be dead
|
||||
code, but it should work correctly if it's there because it may be the
|
||||
basis of new code.
|
||||
---
|
||||
src/com/android/settings/ChooseEncryptionPassword.java | 2 +-
|
||||
src/com/android/settings/ChooseLockGeneric.java | 2 +-
|
||||
src/com/android/settings/ChooseLockPassword.java | 2 +-
|
||||
src/com/android/settings/ChooseLockPattern.java | 2 +-
|
||||
4 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/com/android/settings/ChooseEncryptionPassword.java b/src/com/android/settings/ChooseEncryptionPassword.java
|
||||
index 43e2b0e..761603a 100644
|
||||
--- a/src/com/android/settings/ChooseEncryptionPassword.java
|
||||
+++ b/src/com/android/settings/ChooseEncryptionPassword.java
|
||||
@@ -237,7 +237,7 @@ public void onCreate(Bundle savedInstanceState) {
|
||||
mPasswordMinNonLetter), mLockPatternUtils.getRequestedPasswordMinimumNonLetter(
|
||||
UserHandle.myUserId()));
|
||||
|
||||
- mChooseLockSettingsHelper = new ChooseLockSettingsHelper(getActivity());
|
||||
+ mChooseLockSettingsHelper = new ChooseLockSettingsHelper(getActivity(), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java
|
||||
index 7f5960f..b177d11 100644
|
||||
--- a/src/com/android/settings/ChooseLockGeneric.java
|
||||
+++ b/src/com/android/settings/ChooseLockGeneric.java
|
||||
@@ -137,7 +137,7 @@ public void onCreate(Bundle savedInstanceState) {
|
||||
(FingerprintManager) getActivity().getSystemService(Context.FINGERPRINT_SERVICE);
|
||||
mDPM = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
|
||||
mKeyStore = KeyStore.getInstance();
|
||||
- mChooseLockSettingsHelper = new ChooseLockSettingsHelper(this.getActivity());
|
||||
+ mChooseLockSettingsHelper = new ChooseLockSettingsHelper(this.getActivity(), this);
|
||||
mLockPatternUtils = new LockPatternUtils(getActivity());
|
||||
mLockPatternUtils.sanitizePassword();
|
||||
|
||||
diff --git a/src/com/android/settings/ChooseLockPassword.java b/src/com/android/settings/ChooseLockPassword.java
|
||||
index 54c3620..59d1153 100644
|
||||
--- a/src/com/android/settings/ChooseLockPassword.java
|
||||
+++ b/src/com/android/settings/ChooseLockPassword.java
|
||||
@@ -237,7 +237,7 @@ public void onCreate(Bundle savedInstanceState) {
|
||||
mPasswordMinNonLetter), mLockPatternUtils.getRequestedPasswordMinimumNonLetter(
|
||||
UserHandle.myUserId()));
|
||||
|
||||
- mChooseLockSettingsHelper = new ChooseLockSettingsHelper(getActivity());
|
||||
+ mChooseLockSettingsHelper = new ChooseLockSettingsHelper(getActivity(), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/src/com/android/settings/ChooseLockPattern.java b/src/com/android/settings/ChooseLockPattern.java
|
||||
index c85e604..f6f0b7e 100644
|
||||
--- a/src/com/android/settings/ChooseLockPattern.java
|
||||
+++ b/src/com/android/settings/ChooseLockPattern.java
|
||||
@@ -366,7 +366,7 @@ public void run() {
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
- mChooseLockSettingsHelper = new ChooseLockSettingsHelper(getActivity());
|
||||
+ mChooseLockSettingsHelper = new ChooseLockSettingsHelper(getActivity(), this);
|
||||
if (!(getActivity() instanceof ChooseLockPattern)) {
|
||||
throw new SecurityException("Fragment contained in wrong activity");
|
||||
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,24 +0,0 @@
|
||||
From fe1708406e0b31214fcb9a9abf2a4b7c944fab6d Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Fri, 27 Mar 2015 02:55:14 -0400
|
||||
Subject: [PATCH] add back dmesg_restrict
|
||||
|
||||
The debugging use case with the shell user is not very compelling. This
|
||||
is supposed to enforced elsewhere via SELinux now but there's no harm in
|
||||
redundancy.
|
||||
---
|
||||
rootdir/init.rc | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/rootdir/init.rc b/rootdir/init.rc
|
||||
index 5c6b606..b98443a 100644
|
||||
--- a/rootdir/init.rc
|
||||
+++ b/rootdir/init.rc
|
||||
@@ -105,6 +105,7 @@ on init
|
||||
write /proc/sys/kernel/sched_child_runs_first 0
|
||||
|
||||
write /proc/sys/kernel/randomize_va_space 2
|
||||
+ write /proc/sys/kernel/dmesg_restrict 1
|
||||
write /proc/sys/kernel/kptr_restrict 2
|
||||
write /proc/sys/vm/mmap_min_addr 32768
|
||||
write /proc/sys/net/ipv4/ping_group_range "0 2147483647"
|
@ -1,26 +0,0 @@
|
||||
From 5eb07e6823e9e68e30f25e4d85466d9b1fccf48d Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Fri, 6 Feb 2015 11:46:34 -0500
|
||||
Subject: [PATCH] tighten up mount permissions
|
||||
|
||||
---
|
||||
init/init.cpp | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/init/init.cpp b/init/init.cpp
|
||||
index 542c35e..c7275b1 100644
|
||||
--- a/init/init.cpp
|
||||
+++ b/init/init.cpp
|
||||
@@ -1039,9 +1039,9 @@ int main(int argc, char** argv) {
|
||||
mount("tmpfs", "/dev", "tmpfs", MS_NOSUID, "mode=0755");
|
||||
mkdir("/dev/pts", 0755);
|
||||
mkdir("/dev/socket", 0755);
|
||||
- mount("devpts", "/dev/pts", "devpts", 0, NULL);
|
||||
- mount("proc", "/proc", "proc", 0, NULL);
|
||||
- mount("sysfs", "/sys", "sysfs", 0, NULL);
|
||||
+ mount("devpts", "/dev/pts", "devpts", MS_NOSUID|MS_NOEXEC, NULL);
|
||||
+ mount("proc", "/proc", "proc", MS_NOSUID|MS_NODEV|MS_NOEXEC, NULL);
|
||||
+ mount("sysfs", "/sys", "sysfs", MS_NOSUID|MS_NODEV|MS_NOEXEC, NULL);
|
||||
}
|
||||
|
||||
// We must have some place other than / to create the device nodes for
|
@ -1,35 +0,0 @@
|
||||
From eee064eb93d1ee3f1db56a9634015ba23e3b0e92 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Thu, 5 Feb 2015 20:33:17 -0500
|
||||
Subject: [PATCH] tighten up kernel tcp/ip settings
|
||||
|
||||
---
|
||||
rootdir/init.rc | 15 +++++++++++++++
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
diff --git a/rootdir/init.rc b/rootdir/init.rc
|
||||
index b98443a..f30baf4 100644
|
||||
--- a/rootdir/init.rc
|
||||
+++ b/rootdir/init.rc
|
||||
@@ -124,6 +124,21 @@ on init
|
||||
write /proc/sys/net/ipv4/conf/all/accept_redirects 0
|
||||
write /proc/sys/net/ipv6/conf/all/accept_redirects 0
|
||||
|
||||
+ # IPv4 hardening
|
||||
+ #
|
||||
+ # reverse path filtering is done with netfilter for consistency with IPv6
|
||||
+ write /proc/sys/net/ipv4/tcp_rfc1337 1
|
||||
+ write /proc/sys/net/ipv4/conf/all/accept_source_route 0
|
||||
+ write /proc/sys/net/ipv4/conf/default/accept_source_route 0
|
||||
+ write /proc/sys/net/ipv4/conf/default/accept_redirects 0
|
||||
+ write /proc/sys/net/ipv4/conf/all/send_redirects 0
|
||||
+ write /proc/sys/net/ipv4/conf/default/send_redirects 0
|
||||
+
|
||||
+ # IPv6 hardening
|
||||
+ write /proc/sys/net/ipv6/conf/default/accept_redirects 0
|
||||
+ write /proc/sys/net/ipv6/conf/all/use_tempaddr 2
|
||||
+ write /proc/sys/net/ipv6/conf/default/use_tempaddr 2
|
||||
+
|
||||
# Create cgroup mount points for process groups
|
||||
mkdir /dev/cpuctl
|
||||
mount cgroup none /dev/cpuctl cpu
|
@ -1,22 +0,0 @@
|
||||
From f7704509fc9ae1abed312e5e4276ce51f1c541ad Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Fri, 14 Aug 2015 15:07:33 -0400
|
||||
Subject: [PATCH] slow down the service respawning rate
|
||||
|
||||
---
|
||||
init/init.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/init/init.cpp b/init/init.cpp
|
||||
index 78859a5..11ed674 100644
|
||||
--- a/init/init.cpp
|
||||
+++ b/init/init.cpp
|
||||
@@ -465,7 +465,7 @@ void property_changed(const char *name, const char *value)
|
||||
|
||||
static void restart_service_if_needed(struct service *svc)
|
||||
{
|
||||
- time_t next_start_time = svc->time_started + 5;
|
||||
+ time_t next_start_time = svc->time_started + 10;
|
||||
|
||||
if (next_start_time <= gettime()) {
|
||||
svc->flags &= (~SVC_RESTARTING);
|
@ -1,23 +0,0 @@
|
||||
From 868adf173741eb6a3f0693d6b14fb92148a48db1 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Fri, 20 Nov 2015 00:13:54 -0500
|
||||
Subject: [PATCH] remove analytics support
|
||||
|
||||
---
|
||||
.../vendor/cmsdk/packages/CMSettingsProvider/res/values/defaults.xml | 5 -----
|
||||
1 file changed, 5 deletions(-)
|
||||
|
||||
diff --git a/overlay/common/vendor/cmsdk/packages/CMSettingsProvider/res/values/defaults.xml b/overlay/common/vendor/cmsdk/packages/CMSettingsProvider/res/values/defaults.xml
|
||||
index eec242d..27ec5fe 100644
|
||||
--- a/overlay/common/vendor/cmsdk/packages/CMSettingsProvider/res/values/defaults.xml
|
||||
+++ b/overlay/common/vendor/cmsdk/packages/CMSettingsProvider/res/values/defaults.xml
|
||||
@@ -22,9 +22,4 @@
|
||||
1. Right
|
||||
2. Left -->
|
||||
<integer name="def_qs_quick_pulldown">1</integer>
|
||||
-
|
||||
- <!-- Defaults for Secure -->
|
||||
-
|
||||
- <!-- Default for CMSettings.Secure.STATS_COLLECTION -->
|
||||
- <bool name="def_stats_collection">true</bool>
|
||||
</resources>
|
@ -1,107 +0,0 @@
|
||||
From 882d5f332dfa9e0904c1e931440712fddbccf034 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Fri, 18 Dec 2015 20:27:11 -0500
|
||||
Subject: [PATCH] remove analytics support
|
||||
|
||||
Change-Id: Ie3e0541398747d43ab24bad9b9b93c81df4877b9
|
||||
---
|
||||
host/migration/src/CMSettings.java | 7 -------
|
||||
packages/CMSettingsProvider/res/values/defaults.xml | 5 +----
|
||||
.../src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java | 3 ---
|
||||
src/java/cyanogenmod/providers/CMSettings.java | 13 -------------
|
||||
4 files changed, 1 insertion(+), 27 deletions(-)
|
||||
|
||||
diff --git a/host/migration/src/CMSettings.java b/host/migration/src/CMSettings.java
|
||||
index 0d57b0d..b4f5be9 100644
|
||||
--- a/host/migration/src/CMSettings.java
|
||||
+++ b/host/migration/src/CMSettings.java
|
||||
@@ -833,12 +833,6 @@ public final class CMSettings {
|
||||
public static final String QS_USE_MAIN_TILES = "sysui_qs_main_tiles";
|
||||
|
||||
/**
|
||||
- * Global stats collection
|
||||
- * @hide
|
||||
- */
|
||||
- public static final String STATS_COLLECTION = "stats_collection";
|
||||
-
|
||||
- /**
|
||||
* Boolean value whether to link ringtone and notification volume
|
||||
*
|
||||
* @hide
|
||||
@@ -1021,7 +1015,6 @@ public final class CMSettings {
|
||||
CMSettings.Secure.DEV_FORCE_SHOW_NAVBAR,
|
||||
CMSettings.Secure.KEYBOARD_BRIGHTNESS,
|
||||
CMSettings.Secure.POWER_MENU_ACTIONS,
|
||||
- CMSettings.Secure.STATS_COLLECTION,
|
||||
CMSettings.Secure.QS_SHOW_BRIGHTNESS_SLIDER,
|
||||
CMSettings.Secure.QS_TILES,
|
||||
CMSettings.Secure.QS_USE_MAIN_TILES,
|
||||
diff --git a/packages/CMSettingsProvider/res/values/defaults.xml b/packages/CMSettingsProvider/res/values/defaults.xml
|
||||
index 3a514f8..96af970 100644
|
||||
--- a/packages/CMSettingsProvider/res/values/defaults.xml
|
||||
+++ b/packages/CMSettingsProvider/res/values/defaults.xml
|
||||
@@ -41,9 +41,6 @@
|
||||
Comma-delimited, quick settings tiles. See QSConstants.java for a list of all available tiles -->
|
||||
<string name="def_qs_tiles">wifi,bt,cell,airplane,rotation,flashlight,location,cast,visualizer,hotspot,live_display</string>
|
||||
|
||||
- <!-- Default for CMSettings.Secure.STATS_COLLECTION -->
|
||||
- <bool name="def_stats_collection">false</bool>
|
||||
-
|
||||
<!-- Default for CMSettings.Secure.QS_USE_MAIN_TILES -->
|
||||
<bool name="def_sysui_qs_main_tiles">true</bool>
|
||||
|
||||
@@ -76,4 +73,4 @@
|
||||
<!-- Default value for whether or not to use multiple notification LEDs
|
||||
on devices equiped with more than one LED -->
|
||||
<bool name="def_notification_multiple_leds">false</bool>
|
||||
-</resources>
|
||||
\ No newline at end of file
|
||||
+</resources>
|
||||
diff --git a/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java b/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java
|
||||
index 5d40866..de0fe19 100644
|
||||
--- a/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java
|
||||
+++ b/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java
|
||||
@@ -234,9 +234,6 @@ public class CMDatabaseHelper extends SQLiteOpenHelper{
|
||||
loadBooleanSetting(db, CMTableNames.TABLE_SECURE, CMSettings.Secure.QS_USE_MAIN_TILES,
|
||||
R.bool.def_sysui_qs_main_tiles);
|
||||
|
||||
- loadBooleanSetting(db, CMTableNames.TABLE_SECURE, CMSettings.Secure.STATS_COLLECTION,
|
||||
- R.bool.def_stats_collection);
|
||||
-
|
||||
loadBooleanSetting(db, CMTableNames.TABLE_SECURE,
|
||||
CMSettings.Secure.LOCKSCREEN_VISUALIZER_ENABLED, R.bool.def_lockscreen_visualizer);
|
||||
}
|
||||
diff --git a/src/java/cyanogenmod/providers/CMSettings.java b/src/java/cyanogenmod/providers/CMSettings.java
|
||||
index 9da713b..9d63a9b 100644
|
||||
--- a/src/java/cyanogenmod/providers/CMSettings.java
|
||||
+++ b/src/java/cyanogenmod/providers/CMSettings.java
|
||||
@@ -2464,18 +2464,6 @@ public final class CMSettings {
|
||||
public static final String QS_USE_MAIN_TILES = "sysui_qs_main_tiles";
|
||||
|
||||
/**
|
||||
- * Global stats collection
|
||||
- * @hide
|
||||
- */
|
||||
- public static final String STATS_COLLECTION = "stats_collection";
|
||||
-
|
||||
- /**
|
||||
- * Whether the global stats collection setting has been successfully reported to server
|
||||
- * @hide
|
||||
- */
|
||||
- public static final String STATS_COLLECTION_REPORTED = "stats_collection_reported";
|
||||
-
|
||||
- /**
|
||||
* Whether newly installed apps should run with privacy guard by default
|
||||
* @hide
|
||||
*/
|
||||
@@ -2631,7 +2619,6 @@ public final class CMSettings {
|
||||
CMSettings.Secure.DEV_FORCE_SHOW_NAVBAR,
|
||||
CMSettings.Secure.KEYBOARD_BRIGHTNESS,
|
||||
CMSettings.Secure.POWER_MENU_ACTIONS,
|
||||
- CMSettings.Secure.STATS_COLLECTION,
|
||||
CMSettings.Secure.QS_SHOW_BRIGHTNESS_SLIDER,
|
||||
CMSettings.Secure.QS_TILES,
|
||||
CMSettings.Secure.QS_USE_MAIN_TILES,
|
||||
--
|
||||
2.6.4
|
||||
|
@ -1,103 +0,0 @@
|
||||
From fdea0fad552207679fc0981a937079b262bfc810 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Fri, 20 Nov 2015 00:13:11 -0500
|
||||
Subject: [PATCH] remove analytics support
|
||||
|
||||
---
|
||||
host/migration/src/CMSettings.java | 7 -------
|
||||
packages/CMSettingsProvider/res/values/defaults.xml | 5 +----
|
||||
.../src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java | 3 ---
|
||||
src/java/cyanogenmod/providers/CMSettings.java | 13 -------------
|
||||
4 files changed, 1 insertion(+), 27 deletions(-)
|
||||
|
||||
diff --git a/host/migration/src/CMSettings.java b/host/migration/src/CMSettings.java
|
||||
index 0d57b0d..b4f5be9 100644
|
||||
--- a/host/migration/src/CMSettings.java
|
||||
+++ b/host/migration/src/CMSettings.java
|
||||
@@ -833,12 +833,6 @@ public static boolean isLegacySetting(String key) {
|
||||
public static final String QS_USE_MAIN_TILES = "sysui_qs_main_tiles";
|
||||
|
||||
/**
|
||||
- * Global stats collection
|
||||
- * @hide
|
||||
- */
|
||||
- public static final String STATS_COLLECTION = "stats_collection";
|
||||
-
|
||||
- /**
|
||||
* Boolean value whether to link ringtone and notification volume
|
||||
*
|
||||
* @hide
|
||||
@@ -1021,7 +1015,6 @@ public static boolean isLegacySetting(String key) {
|
||||
CMSettings.Secure.DEV_FORCE_SHOW_NAVBAR,
|
||||
CMSettings.Secure.KEYBOARD_BRIGHTNESS,
|
||||
CMSettings.Secure.POWER_MENU_ACTIONS,
|
||||
- CMSettings.Secure.STATS_COLLECTION,
|
||||
CMSettings.Secure.QS_SHOW_BRIGHTNESS_SLIDER,
|
||||
CMSettings.Secure.QS_TILES,
|
||||
CMSettings.Secure.QS_USE_MAIN_TILES,
|
||||
diff --git a/packages/CMSettingsProvider/res/values/defaults.xml b/packages/CMSettingsProvider/res/values/defaults.xml
|
||||
index ffc9c88..762abc1 100644
|
||||
--- a/packages/CMSettingsProvider/res/values/defaults.xml
|
||||
+++ b/packages/CMSettingsProvider/res/values/defaults.xml
|
||||
@@ -41,9 +41,6 @@
|
||||
Comma-delimited, quick settings tiles. See QSConstants.java for a list of all available tiles -->
|
||||
<string name="def_qs_tiles">wifi,bt,cell,airplane,rotation,flashlight,location,cast,visualizer,hotspot,live_display</string>
|
||||
|
||||
- <!-- Default for CMSettings.Secure.STATS_COLLECTION -->
|
||||
- <bool name="def_stats_collection">false</bool>
|
||||
-
|
||||
<!-- Default for CMSettings.Secure.QS_USE_MAIN_TILES -->
|
||||
<bool name="def_sysui_qs_main_tiles">true</bool>
|
||||
|
||||
@@ -73,4 +70,4 @@
|
||||
<!-- Default value for whether or not to use multiple notification LEDs
|
||||
on devices equiped with more than one LED -->
|
||||
<bool name="def_notification_multiple_leds">false</bool>
|
||||
-</resources>
|
||||
\ No newline at end of file
|
||||
+</resources>
|
||||
diff --git a/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java b/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java
|
||||
index 4257c42..baee50a 100644
|
||||
--- a/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java
|
||||
+++ b/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java
|
||||
@@ -233,9 +233,6 @@ private void loadSecureSettings(SQLiteDatabase db) {
|
||||
|
||||
loadBooleanSetting(db, CMTableNames.TABLE_SECURE, CMSettings.Secure.QS_USE_MAIN_TILES,
|
||||
R.bool.def_sysui_qs_main_tiles);
|
||||
-
|
||||
- loadBooleanSetting(db, CMTableNames.TABLE_SECURE, CMSettings.Secure.STATS_COLLECTION,
|
||||
- R.bool.def_stats_collection);
|
||||
}
|
||||
|
||||
private void loadSystemSettings(SQLiteDatabase db) {
|
||||
diff --git a/src/java/cyanogenmod/providers/CMSettings.java b/src/java/cyanogenmod/providers/CMSettings.java
|
||||
index 4b2fb7c..468b226 100644
|
||||
--- a/src/java/cyanogenmod/providers/CMSettings.java
|
||||
+++ b/src/java/cyanogenmod/providers/CMSettings.java
|
||||
@@ -2464,18 +2464,6 @@ public static boolean putFloatForUser(ContentResolver cr, String name, float val
|
||||
public static final String QS_USE_MAIN_TILES = "sysui_qs_main_tiles";
|
||||
|
||||
/**
|
||||
- * Global stats collection
|
||||
- * @hide
|
||||
- */
|
||||
- public static final String STATS_COLLECTION = "stats_collection";
|
||||
-
|
||||
- /**
|
||||
- * Whether the global stats collection setting has been successfully reported to server
|
||||
- * @hide
|
||||
- */
|
||||
- public static final String STATS_COLLECTION_REPORTED = "stats_collection_reported";
|
||||
-
|
||||
- /**
|
||||
* Boolean value whether to link ringtone and notification volume
|
||||
*
|
||||
* @hide
|
||||
@@ -2619,7 +2607,6 @@ public static boolean putFloatForUser(ContentResolver cr, String name, float val
|
||||
CMSettings.Secure.DEV_FORCE_SHOW_NAVBAR,
|
||||
CMSettings.Secure.KEYBOARD_BRIGHTNESS,
|
||||
CMSettings.Secure.POWER_MENU_ACTIONS,
|
||||
- CMSettings.Secure.STATS_COLLECTION,
|
||||
CMSettings.Secure.QS_SHOW_BRIGHTNESS_SLIDER,
|
||||
CMSettings.Secure.QS_TILES,
|
||||
CMSettings.Secure.QS_USE_MAIN_TILES,
|
@ -1,28 +0,0 @@
|
||||
From cadb44f5ff20d3e32c5eece6b6185a507f4e8bbf Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Tue, 5 Jan 2016 20:06:35 -0500
|
||||
Subject: [PATCH] Change toolchain
|
||||
|
||||
Change-Id: Ib6df0dc6af32c755f828f4cfe9204a87b01c4551
|
||||
---
|
||||
core/combo/TARGET_linux-arm.mk | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/core/combo/TARGET_linux-arm.mk b/core/combo/TARGET_linux-arm.mk
|
||||
index 5020865..dcc2e9a 100644
|
||||
--- a/core/combo/TARGET_linux-arm.mk
|
||||
+++ b/core/combo/TARGET_linux-arm.mk
|
||||
@@ -38,8 +38,8 @@ endif
|
||||
$(combo_2nd_arch_prefix)TARGET_NDK_GCC_VERSION := 4.9
|
||||
|
||||
ifeq ($(strip $(TARGET_GCC_VERSION_EXP)),)
|
||||
-$(combo_2nd_arch_prefix)TARGET_GCC_VERSION := 4.9
|
||||
-$(combo_2nd_arch_prefix)TARGET_LEGACY_GCC_VERSION := 4.8
|
||||
+$(combo_2nd_arch_prefix)TARGET_GCC_VERSION := 4.9-cortex-a15
|
||||
+$(combo_2nd_arch_prefix)TARGET_LEGACY_GCC_VERSION := 4.8-cortex-a15
|
||||
else
|
||||
$(combo_2nd_arch_prefix)TARGET_GCC_VERSION := $(TARGET_GCC_VERSION_EXP)
|
||||
endif
|
||||
--
|
||||
2.6.4
|
||||
|
@ -1,26 +0,0 @@
|
||||
From d90bf77e8215c26ae50c221ae346894bc8b37568 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Thu, 25 Feb 2016 05:59:06 -0500
|
||||
Subject: [PATCH] Disable 5.3 opt
|
||||
|
||||
Change-Id: I166e24efeeeec3555efbadf590363bc40fb5468c
|
||||
---
|
||||
core/archidroid.mk | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/core/archidroid.mk b/core/archidroid.mk
|
||||
index 9ab4918..29bd257 100644
|
||||
--- a/core/archidroid.mk
|
||||
+++ b/core/archidroid.mk
|
||||
@@ -45,7 +45,7 @@ ARCHIDROID_GCC_LDFLAGS := -Wl,-O3 -Wl,--as-needed -Wl,--gc-sections -Wl,--relax
|
||||
# Flags below are applied to specific targets only, use them if your flag is not compatible for both compilers
|
||||
|
||||
# We use GCC 5.3 for arm-linux-androideabi, make sure to remove flags below if you decided to stick with 4.9
|
||||
-ARCHIDROID_GCC_CFLAGS_32 := -Wno-error=bool-compare -Wno-error=logical-not-parentheses -Wno-error=sizeof-array-argument
|
||||
+#ARCHIDROID_GCC_CFLAGS_32 := -Wno-error=bool-compare -Wno-error=logical-not-parentheses -Wno-error=sizeof-array-argument
|
||||
|
||||
# We use GCC 4.9 for aarch64-linux-android, so we don't have any extra flags for it
|
||||
ARCHIDROID_GCC_CFLAGS_64 :=
|
||||
--
|
||||
2.5.0
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 8076f19e43061cbc363c7a01f4485c65a266ab57 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Thu, 25 Feb 2016 19:40:24 -0500
|
||||
Subject: [PATCH] Enable graphite
|
||||
|
||||
Change-Id: I799412c31dd0c30050657fbc6f1d0daec8d4d54c
|
||||
---
|
||||
core/archidroid.mk | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/core/archidroid.mk b/core/archidroid.mk
|
||||
index 9ab4918..2ace5f1 100644
|
||||
--- a/core/archidroid.mk
|
||||
+++ b/core/archidroid.mk
|
||||
@@ -64,7 +64,7 @@ ARCHIDROID_GCC_CFLAGS_64 :=
|
||||
# ARCHIDROID_GCC_CFLAGS += -ftracer -funroll-loops
|
||||
|
||||
# These flags may cause ICEs in some compilers, but work fine in other ones, test carefully
|
||||
-# ARCHIDROID_GCC_CFLAGS += -fgraphite -fgraphite-identity
|
||||
+ARCHIDROID_GCC_CFLAGS += -fgraphite -fgraphite-identity
|
||||
|
||||
# The following flags (-floop) require that your GCC has been configured --with-isl
|
||||
# Additionally, applying any of them will most likely cause ICE in your compiler, so they're disabled
|
||||
--
|
||||
2.5.0
|
||||
|
@ -1,19 +0,0 @@
|
||||
From 2b18a46758ef5e6bc377315cd9bf8d08d1dd5b17 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Mon, 4 Jan 2016 07:41:10 -0500
|
||||
Subject: [PATCH] switch to SMSSecure as the messaging app
|
||||
|
||||
---
|
||||
target/product/aosp_base_telephony.mk | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/target/product/aosp_base_telephony.mk b/target/product/aosp_base_telephony.mk
|
||||
index 0d4e333..f43eec5 100644
|
||||
--- a/target/product/aosp_base_telephony.mk
|
||||
+++ b/target/product/aosp_base_telephony.mk
|
||||
@@ -16,4 +16,4 @@
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
- messaging
|
||||
+ SMSSecure
|
@ -1,26 +0,0 @@
|
||||
From 8bff5fb1bf50db8e26ee64d1f15181f67a68fc7b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C5=81ukasz=20Domeradzki?=
|
||||
<JustArchi@users.noreply.github.com>
|
||||
Date: Mon, 10 Aug 2015 02:01:37 +0200
|
||||
Subject: [PATCH] Fix O3 SIGBUS
|
||||
|
||||
---
|
||||
main/Android.mk | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/main/Android.mk b/main/Android.mk
|
||||
index d98d2ef..8cfee24 100644
|
||||
--- a/main/Android.mk
|
||||
+++ b/main/Android.mk
|
||||
@@ -134,7 +134,7 @@ ifeq ($(BOARD_USES_WIPOWER), true)
|
||||
LOCAL_C_INCLUDES+= $(LOCAL_PATH)/../wipowerif/include
|
||||
endif
|
||||
|
||||
-LOCAL_CFLAGS += -DBUILDCFG $(bdroid_CFLAGS) -Wno-error=maybe-uninitialized -Wno-error=uninitialized -Wno-error=unused-parameter
|
||||
+LOCAL_CFLAGS += -DBUILDCFG $(bdroid_CFLAGS) -Os -Wno-error=maybe-uninitialized -Wno-error=uninitialized -Wno-error=unused-parameter
|
||||
LOCAL_CONLYFLAGS := -std=c99
|
||||
|
||||
ifeq ($(TARGET_PRODUCT), full_crespo)
|
||||
--
|
||||
2.5.0
|
||||
|
@ -1,26 +0,0 @@
|
||||
From d3774f2251a1fcaadd097de56f2494698b576034 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Thu, 25 Feb 2016 09:57:28 -0500
|
||||
Subject: [PATCH] Disable opt
|
||||
|
||||
Change-Id: I53a1075347b33690ad694fb400d06290a19e2666
|
||||
---
|
||||
media/libstagefright/id3/ID3.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/media/libstagefright/id3/ID3.cpp b/media/libstagefright/id3/ID3.cpp
|
||||
index 76d65f0..0ff541a 100644
|
||||
--- a/media/libstagefright/id3/ID3.cpp
|
||||
+++ b/media/libstagefright/id3/ID3.cpp
|
||||
@@ -500,7 +500,7 @@ void ID3::Iterator::getString(String8 *id, String8 *comment) const {
|
||||
// comment fields (COM/COMM) contain an initial short descriptor, followed by \0,
|
||||
// followed by more data. The data following the \0 can be retrieved by setting
|
||||
// "otherdata" to true.
|
||||
-void ID3::Iterator::getstring(String8 *id, bool otherdata) const {
|
||||
+void __attribute__((optimize("no-tree-vectorize"))) ID3::Iterator::getstring(String8 *id, bool otherdata) const {
|
||||
id->setTo("");
|
||||
|
||||
size_t size;
|
||||
--
|
||||
2.7.1
|
||||
|
@ -1,91 +0,0 @@
|
||||
From c7995a8a49315d0e7378606c9208caa0400afdd2 Mon Sep 17 00:00:00 2001
|
||||
From: Kyle Repinski <repinski23@gmail.com>
|
||||
Date: Sun, 19 Apr 2015 01:03:46 -0500
|
||||
Subject: [PATCH] Fix compiler issues uncovered at higher optimization levels.
|
||||
|
||||
amrwbenc: Fix incorrect array-bounds warning/error.
|
||||
m4v_h263: dec: Fix bogus strict-overflow warning/error.
|
||||
af: Fix ICE in AudioMixer::track__NoResample.
|
||||
|
||||
Change-Id: I2b44072eff6499026034a82107d9dfc6195a6810
|
||||
---
|
||||
media/libstagefright/codecs/amrwbenc/src/isp_az.c | 13 ++++++-------
|
||||
.../codecs/m4v_h263/dec/src/deringing_luma.cpp | 4 ++--
|
||||
services/audioflinger/AudioMixer.cpp | 2 +-
|
||||
3 files changed, 9 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/media/libstagefright/codecs/amrwbenc/src/isp_az.c b/media/libstagefright/codecs/amrwbenc/src/isp_az.c
|
||||
index 62e29e7..6423ec8 100644
|
||||
--- a/media/libstagefright/codecs/amrwbenc/src/isp_az.c
|
||||
+++ b/media/libstagefright/codecs/amrwbenc/src/isp_az.c
|
||||
@@ -42,7 +42,7 @@ void Isp_Az(
|
||||
/* 1 : adaptive scaling enabled */
|
||||
)
|
||||
{
|
||||
- Word32 i, j;
|
||||
+ Word16 i, j;
|
||||
Word16 hi, lo;
|
||||
Word32 f1[NC16k + 1], f2[NC16k];
|
||||
Word16 nc;
|
||||
@@ -58,18 +58,17 @@ void Isp_Az(
|
||||
{
|
||||
f1[i] = f1[i] << 2;
|
||||
}
|
||||
- } else
|
||||
- Get_isp_pol(&isp[0], f1, nc);
|
||||
-
|
||||
- if (nc > 8)
|
||||
- {
|
||||
Get_isp_pol_16kHz(&isp[1], f2, (nc - 1));
|
||||
for (i = 0; i <= nc - 1; i++)
|
||||
{
|
||||
f2[i] = f2[i] << 2;
|
||||
}
|
||||
- } else
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ Get_isp_pol(&isp[0], f1, nc);
|
||||
Get_isp_pol(&isp[1], f2, (nc - 1));
|
||||
+ }
|
||||
|
||||
/*-----------------------------------------------------*
|
||||
* Multiply F2(z) by (1 - z^-2) *
|
||||
diff --git a/media/libstagefright/codecs/m4v_h263/dec/src/deringing_luma.cpp b/media/libstagefright/codecs/m4v_h263/dec/src/deringing_luma.cpp
|
||||
index b5574b4..1319251 100644
|
||||
--- a/media/libstagefright/codecs/m4v_h263/dec/src/deringing_luma.cpp
|
||||
+++ b/media/libstagefright/codecs/m4v_h263/dec/src/deringing_luma.cpp
|
||||
@@ -78,7 +78,7 @@ void Deringing_Luma(
|
||||
for (v_blk = 0; v_blk < MBSIZE; v_blk += BLKSIZE)
|
||||
{
|
||||
v0 = ((v_blk - 1) >= 1) ? (v_blk - 1) : 1;
|
||||
- for (h_blk = MB_H; h_blk < MB_H + MBSIZE; h_blk += BLKSIZE)
|
||||
+ for (h_blk = MB_H; (unsigned int)h_blk < (unsigned int)((unsigned int)MB_H + (unsigned int)MBSIZE); h_blk += BLKSIZE)
|
||||
{
|
||||
h0 = ((h_blk - 1) >= 1) ? (h_blk - 1) : 1;
|
||||
|
||||
@@ -129,7 +129,7 @@ void Deringing_Luma(
|
||||
}
|
||||
|
||||
blks = 0;
|
||||
- for (v_blk = MB_V; v_blk < MB_V + MBSIZE; v_blk += BLKSIZE)
|
||||
+ for (v_blk = MB_V; (unsigned int)v_blk < (unsigned int)((unsigned int)MB_V + (unsigned int)MBSIZE); v_blk += BLKSIZE)
|
||||
{
|
||||
v0 = v_blk - 1;
|
||||
for (h_blk = 0; h_blk < MBSIZE; h_blk += BLKSIZE)
|
||||
diff --git a/services/audioflinger/AudioMixer.cpp b/services/audioflinger/AudioMixer.cpp
|
||||
index 806eaf1..a12d595 100644
|
||||
--- a/services/audioflinger/AudioMixer.cpp
|
||||
+++ b/services/audioflinger/AudioMixer.cpp
|
||||
@@ -1934,7 +1934,7 @@ void AudioMixer::track__Resample(track_t* t, TO* out, size_t outFrameCount, TO*
|
||||
* TA: int32_t (Q4.27)
|
||||
*/
|
||||
template <int MIXTYPE, typename TO, typename TI, typename TA>
|
||||
-void AudioMixer::track__NoResample(track_t* t, TO* out, size_t frameCount,
|
||||
+void __attribute__((optimize("no-tree-vectorize"))) AudioMixer::track__NoResample(track_t* t, TO* out, size_t frameCount,
|
||||
TO* temp __unused, TA* aux)
|
||||
{
|
||||
ALOGVV("track__NoResample\n");
|
||||
--
|
||||
2.7.1
|
||||
|
@ -1,67 +0,0 @@
|
||||
From c293c1e3284e88ad4d6a19af6f9dde6722a487d9 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 19 Mar 2016 10:43:15 -0400
|
||||
Subject: [PATCH] Aggressive Doze
|
||||
|
||||
Change-Id: Ia5d7031f24f84afd3329090de0be5302b47f420e
|
||||
---
|
||||
.../com/android/server/DeviceIdleController.java | 26 +++++++++++-----------
|
||||
1 file changed, 13 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/DeviceIdleController.java b/services/core/java/com/android/server/DeviceIdleController.java
|
||||
index 71650c3..0f541d1 100644
|
||||
--- a/services/core/java/com/android/server/DeviceIdleController.java
|
||||
+++ b/services/core/java/com/android/server/DeviceIdleController.java
|
||||
@@ -554,36 +554,36 @@ public class DeviceIdleController extends SystemService
|
||||
}
|
||||
|
||||
INACTIVE_TIMEOUT = mParser.getLong(KEY_INACTIVE_TIMEOUT,
|
||||
- !COMPRESS_TIME ? 30 * 60 * 1000L : 3 * 60 * 1000L);
|
||||
+ 30000L);
|
||||
SENSING_TIMEOUT = mParser.getLong(KEY_SENSING_TIMEOUT,
|
||||
- !DEBUG ? 4 * 60 * 1000L : 60 * 1000L);
|
||||
+ 0L);
|
||||
LOCATING_TIMEOUT = mParser.getLong(KEY_LOCATING_TIMEOUT,
|
||||
- !DEBUG ? 30 * 1000L : 15 * 1000L);
|
||||
+ 0L);
|
||||
LOCATION_ACCURACY = mParser.getFloat(KEY_LOCATION_ACCURACY, 20);
|
||||
MOTION_INACTIVE_TIMEOUT = mParser.getLong(KEY_MOTION_INACTIVE_TIMEOUT,
|
||||
- !COMPRESS_TIME ? 10 * 60 * 1000L : 60 * 1000L);
|
||||
+ 0L);
|
||||
IDLE_AFTER_INACTIVE_TIMEOUT = mParser.getLong(KEY_IDLE_AFTER_INACTIVE_TIMEOUT,
|
||||
- !COMPRESS_TIME ? 30 * 60 * 1000L : 3 * 60 * 1000L);
|
||||
+ 0L);
|
||||
IDLE_PENDING_TIMEOUT = mParser.getLong(KEY_IDLE_PENDING_TIMEOUT,
|
||||
- !COMPRESS_TIME ? 5 * 60 * 1000L : 30 * 1000L);
|
||||
+ 12000L);
|
||||
MAX_IDLE_PENDING_TIMEOUT = mParser.getLong(KEY_MAX_IDLE_PENDING_TIMEOUT,
|
||||
- !COMPRESS_TIME ? 10 * 60 * 1000L : 60 * 1000L);
|
||||
+ 12000L);
|
||||
IDLE_PENDING_FACTOR = mParser.getFloat(KEY_IDLE_PENDING_FACTOR,
|
||||
2f);
|
||||
IDLE_TIMEOUT = mParser.getLong(KEY_IDLE_TIMEOUT,
|
||||
- !COMPRESS_TIME ? 60 * 60 * 1000L : 6 * 60 * 1000L);
|
||||
+ 60000L);
|
||||
MAX_IDLE_TIMEOUT = mParser.getLong(KEY_MAX_IDLE_TIMEOUT,
|
||||
- !COMPRESS_TIME ? 6 * 60 * 60 * 1000L : 30 * 60 * 1000L);
|
||||
+ 21600000L);
|
||||
IDLE_FACTOR = mParser.getFloat(KEY_IDLE_FACTOR,
|
||||
2f);
|
||||
MIN_TIME_TO_ALARM = mParser.getLong(KEY_MIN_TIME_TO_ALARM,
|
||||
- !COMPRESS_TIME ? 60 * 60 * 1000L : 6 * 60 * 1000L);
|
||||
+ 600000L);
|
||||
MAX_TEMP_APP_WHITELIST_DURATION = mParser.getLong(
|
||||
- KEY_MAX_TEMP_APP_WHITELIST_DURATION, 5 * 60 * 1000L);
|
||||
+ KEY_MAX_TEMP_APP_WHITELIST_DURATION, 10000L);
|
||||
MMS_TEMP_APP_WHITELIST_DURATION = mParser.getLong(
|
||||
- KEY_MMS_TEMP_APP_WHITELIST_DURATION, 60 * 1000L);
|
||||
+ KEY_MMS_TEMP_APP_WHITELIST_DURATION, 10000L);
|
||||
SMS_TEMP_APP_WHITELIST_DURATION = mParser.getLong(
|
||||
- KEY_SMS_TEMP_APP_WHITELIST_DURATION, 20 * 1000L);
|
||||
+ KEY_SMS_TEMP_APP_WHITELIST_DURATION, 10000L);
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,71 +0,0 @@
|
||||
From e565d5688ac11ee1440d7622a84ae5a688f7f3b5 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 16 Apr 2016 22:49:51 -0400
|
||||
Subject: [PATCH] Aggressive Doze
|
||||
|
||||
Change-Id: If28d95b48fc283d88999a200112ee579dd9a4bc2
|
||||
---
|
||||
.../com/android/server/DeviceIdleController.java | 47 ++++++++--------------
|
||||
1 file changed, 16 insertions(+), 31 deletions(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/DeviceIdleController.java b/services/core/java/com/android/server/DeviceIdleController.java
|
||||
index 0f541d1..44cc490 100644
|
||||
--- a/services/core/java/com/android/server/DeviceIdleController.java
|
||||
+++ b/services/core/java/com/android/server/DeviceIdleController.java
|
||||
@@ -553,37 +553,22 @@ public class DeviceIdleController extends SystemService
|
||||
Slog.e(TAG, "Bad device idle settings", e);
|
||||
}
|
||||
|
||||
- INACTIVE_TIMEOUT = mParser.getLong(KEY_INACTIVE_TIMEOUT,
|
||||
- 30000L);
|
||||
- SENSING_TIMEOUT = mParser.getLong(KEY_SENSING_TIMEOUT,
|
||||
- 0L);
|
||||
- LOCATING_TIMEOUT = mParser.getLong(KEY_LOCATING_TIMEOUT,
|
||||
- 0L);
|
||||
- LOCATION_ACCURACY = mParser.getFloat(KEY_LOCATION_ACCURACY, 20);
|
||||
- MOTION_INACTIVE_TIMEOUT = mParser.getLong(KEY_MOTION_INACTIVE_TIMEOUT,
|
||||
- 0L);
|
||||
- IDLE_AFTER_INACTIVE_TIMEOUT = mParser.getLong(KEY_IDLE_AFTER_INACTIVE_TIMEOUT,
|
||||
- 0L);
|
||||
- IDLE_PENDING_TIMEOUT = mParser.getLong(KEY_IDLE_PENDING_TIMEOUT,
|
||||
- 12000L);
|
||||
- MAX_IDLE_PENDING_TIMEOUT = mParser.getLong(KEY_MAX_IDLE_PENDING_TIMEOUT,
|
||||
- 12000L);
|
||||
- IDLE_PENDING_FACTOR = mParser.getFloat(KEY_IDLE_PENDING_FACTOR,
|
||||
- 2f);
|
||||
- IDLE_TIMEOUT = mParser.getLong(KEY_IDLE_TIMEOUT,
|
||||
- 60000L);
|
||||
- MAX_IDLE_TIMEOUT = mParser.getLong(KEY_MAX_IDLE_TIMEOUT,
|
||||
- 21600000L);
|
||||
- IDLE_FACTOR = mParser.getFloat(KEY_IDLE_FACTOR,
|
||||
- 2f);
|
||||
- MIN_TIME_TO_ALARM = mParser.getLong(KEY_MIN_TIME_TO_ALARM,
|
||||
- 600000L);
|
||||
- MAX_TEMP_APP_WHITELIST_DURATION = mParser.getLong(
|
||||
- KEY_MAX_TEMP_APP_WHITELIST_DURATION, 10000L);
|
||||
- MMS_TEMP_APP_WHITELIST_DURATION = mParser.getLong(
|
||||
- KEY_MMS_TEMP_APP_WHITELIST_DURATION, 10000L);
|
||||
- SMS_TEMP_APP_WHITELIST_DURATION = mParser.getLong(
|
||||
- KEY_SMS_TEMP_APP_WHITELIST_DURATION, 10000L);
|
||||
+ INACTIVE_TIMEOUT = 300000L;//5m
|
||||
+ SENSING_TIMEOUT = 15000L;//15s
|
||||
+ LOCATING_TIMEOUT = 15000L;//15s
|
||||
+ LOCATION_ACCURACY = 30f;
|
||||
+ MOTION_INACTIVE_TIMEOUT = 15000L;//15s
|
||||
+ IDLE_AFTER_INACTIVE_TIMEOUT = 15000L;//15s
|
||||
+ IDLE_PENDING_TIMEOUT = 15000L;//15s
|
||||
+ MAX_IDLE_PENDING_TIMEOUT = 60000L;//60s
|
||||
+ IDLE_PENDING_FACTOR = 2f;
|
||||
+ IDLE_TIMEOUT = 600000L;//10m
|
||||
+ MAX_IDLE_TIMEOUT = 21600000L;//6h
|
||||
+ IDLE_FACTOR = 2f;
|
||||
+ MIN_TIME_TO_ALARM = 600000L;//10m
|
||||
+ MAX_TEMP_APP_WHITELIST_DURATION = 120000L;//2m
|
||||
+ MMS_TEMP_APP_WHITELIST_DURATION = 60000L;//1m
|
||||
+ SMS_TEMP_APP_WHITELIST_DURATION = 30000L;//30s
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.8.0
|
||||
|
@ -1,71 +0,0 @@
|
||||
From 23763f4eb6fba1a9031bc5d46fdd81bfc1a35c0c Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 23 Apr 2016 18:46:05 -0400
|
||||
Subject: [PATCH] Aggressive Doze
|
||||
|
||||
Change-Id: If7b7776ca634d9bb63cd77458a5d1c93fe38bc8f
|
||||
---
|
||||
.../com/android/server/DeviceIdleController.java | 47 ++++++++--------------
|
||||
1 file changed, 16 insertions(+), 31 deletions(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/DeviceIdleController.java b/services/core/java/com/android/server/DeviceIdleController.java
|
||||
index 71650c3..44cc490 100644
|
||||
--- a/services/core/java/com/android/server/DeviceIdleController.java
|
||||
+++ b/services/core/java/com/android/server/DeviceIdleController.java
|
||||
@@ -553,37 +553,22 @@ public class DeviceIdleController extends SystemService
|
||||
Slog.e(TAG, "Bad device idle settings", e);
|
||||
}
|
||||
|
||||
- INACTIVE_TIMEOUT = mParser.getLong(KEY_INACTIVE_TIMEOUT,
|
||||
- !COMPRESS_TIME ? 30 * 60 * 1000L : 3 * 60 * 1000L);
|
||||
- SENSING_TIMEOUT = mParser.getLong(KEY_SENSING_TIMEOUT,
|
||||
- !DEBUG ? 4 * 60 * 1000L : 60 * 1000L);
|
||||
- LOCATING_TIMEOUT = mParser.getLong(KEY_LOCATING_TIMEOUT,
|
||||
- !DEBUG ? 30 * 1000L : 15 * 1000L);
|
||||
- LOCATION_ACCURACY = mParser.getFloat(KEY_LOCATION_ACCURACY, 20);
|
||||
- MOTION_INACTIVE_TIMEOUT = mParser.getLong(KEY_MOTION_INACTIVE_TIMEOUT,
|
||||
- !COMPRESS_TIME ? 10 * 60 * 1000L : 60 * 1000L);
|
||||
- IDLE_AFTER_INACTIVE_TIMEOUT = mParser.getLong(KEY_IDLE_AFTER_INACTIVE_TIMEOUT,
|
||||
- !COMPRESS_TIME ? 30 * 60 * 1000L : 3 * 60 * 1000L);
|
||||
- IDLE_PENDING_TIMEOUT = mParser.getLong(KEY_IDLE_PENDING_TIMEOUT,
|
||||
- !COMPRESS_TIME ? 5 * 60 * 1000L : 30 * 1000L);
|
||||
- MAX_IDLE_PENDING_TIMEOUT = mParser.getLong(KEY_MAX_IDLE_PENDING_TIMEOUT,
|
||||
- !COMPRESS_TIME ? 10 * 60 * 1000L : 60 * 1000L);
|
||||
- IDLE_PENDING_FACTOR = mParser.getFloat(KEY_IDLE_PENDING_FACTOR,
|
||||
- 2f);
|
||||
- IDLE_TIMEOUT = mParser.getLong(KEY_IDLE_TIMEOUT,
|
||||
- !COMPRESS_TIME ? 60 * 60 * 1000L : 6 * 60 * 1000L);
|
||||
- MAX_IDLE_TIMEOUT = mParser.getLong(KEY_MAX_IDLE_TIMEOUT,
|
||||
- !COMPRESS_TIME ? 6 * 60 * 60 * 1000L : 30 * 60 * 1000L);
|
||||
- IDLE_FACTOR = mParser.getFloat(KEY_IDLE_FACTOR,
|
||||
- 2f);
|
||||
- MIN_TIME_TO_ALARM = mParser.getLong(KEY_MIN_TIME_TO_ALARM,
|
||||
- !COMPRESS_TIME ? 60 * 60 * 1000L : 6 * 60 * 1000L);
|
||||
- MAX_TEMP_APP_WHITELIST_DURATION = mParser.getLong(
|
||||
- KEY_MAX_TEMP_APP_WHITELIST_DURATION, 5 * 60 * 1000L);
|
||||
- MMS_TEMP_APP_WHITELIST_DURATION = mParser.getLong(
|
||||
- KEY_MMS_TEMP_APP_WHITELIST_DURATION, 60 * 1000L);
|
||||
- SMS_TEMP_APP_WHITELIST_DURATION = mParser.getLong(
|
||||
- KEY_SMS_TEMP_APP_WHITELIST_DURATION, 20 * 1000L);
|
||||
+ INACTIVE_TIMEOUT = 300000L;//5m
|
||||
+ SENSING_TIMEOUT = 15000L;//15s
|
||||
+ LOCATING_TIMEOUT = 15000L;//15s
|
||||
+ LOCATION_ACCURACY = 30f;
|
||||
+ MOTION_INACTIVE_TIMEOUT = 15000L;//15s
|
||||
+ IDLE_AFTER_INACTIVE_TIMEOUT = 15000L;//15s
|
||||
+ IDLE_PENDING_TIMEOUT = 15000L;//15s
|
||||
+ MAX_IDLE_PENDING_TIMEOUT = 60000L;//60s
|
||||
+ IDLE_PENDING_FACTOR = 2f;
|
||||
+ IDLE_TIMEOUT = 600000L;//10m
|
||||
+ MAX_IDLE_TIMEOUT = 21600000L;//6h
|
||||
+ IDLE_FACTOR = 2f;
|
||||
+ MIN_TIME_TO_ALARM = 600000L;//10m
|
||||
+ MAX_TEMP_APP_WHITELIST_DURATION = 120000L;//2m
|
||||
+ MMS_TEMP_APP_WHITELIST_DURATION = 60000L;//1m
|
||||
+ SMS_TEMP_APP_WHITELIST_DURATION = 30000L;//30s
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.8.0
|
||||
|
@ -1,40 +0,0 @@
|
||||
From bffe81a931165fbc57bbf7a7ff688f6b09b911cd Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Wed, 20 Jul 2016 00:06:16 -0400
|
||||
Subject: [PATCH] Change default connectivity check URLs
|
||||
|
||||
Change-Id: I8d75ab078f179e23b2ae983b7a4e5653f1eca08e
|
||||
---
|
||||
.../src/com/android/captiveportallogin/CaptivePortalLoginActivity.java | 2 +-
|
||||
services/core/java/com/android/server/connectivity/NetworkMonitor.java | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java b/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java
|
||||
index ed9c111..09a8898 100644
|
||||
--- a/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java
|
||||
+++ b/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java
|
||||
@@ -86,7 +86,7 @@ public class CaptivePortalLoginActivity extends Activity {
|
||||
if (server == null) server = DEFAULT_SERVER;
|
||||
mCm = ConnectivityManager.from(this);
|
||||
try {
|
||||
- mURL = new URL("http", server, "/generate_204");
|
||||
+ mURL = new URL("https://spotco.us/gen204.php");
|
||||
} catch (MalformedURLException e) {
|
||||
// System misconfigured, bail out in a way that at least provides network access.
|
||||
Log.e(TAG, "Invalid captive portal URL, server=" + server);
|
||||
diff --git a/services/core/java/com/android/server/connectivity/NetworkMonitor.java b/services/core/java/com/android/server/connectivity/NetworkMonitor.java
|
||||
index 5108564..0ebf739 100644
|
||||
--- a/services/core/java/com/android/server/connectivity/NetworkMonitor.java
|
||||
+++ b/services/core/java/com/android/server/connectivity/NetworkMonitor.java
|
||||
@@ -640,7 +640,7 @@ public class NetworkMonitor extends StateMachine {
|
||||
HttpURLConnection urlConnection = null;
|
||||
int httpResponseCode = 599;
|
||||
try {
|
||||
- URL url = new URL("http", mServer, "/generate_204");
|
||||
+ URL url = new URL("https://spotco.us/gen204.php");
|
||||
// On networks with a PAC instead of fetching a URL that should result in a 204
|
||||
// reponse, we instead simply fetch the PAC script. This is done for a few reasons:
|
||||
// 1. At present our PAC code does not yet handle multiple PACs on multiple networks
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,226 +0,0 @@
|
||||
From 322f9019c0ca410c0d72190dd17bc316351d35db Mon Sep 17 00:00:00 2001
|
||||
From: Martin Brabham <optedoblivion@cyngn.com>
|
||||
Date: Fri, 9 Jan 2015 16:20:34 -0800
|
||||
Subject: [PATCH] DNSCrypt: Encrypt dns queries - Add DNS encryption settings
|
||||
constants. - Listen for settings changes and handle rerouting dns queries -
|
||||
Handle switching servers
|
||||
|
||||
Change-Id: Ic97285ac6924aa0c930ff59709da384e197cd3ca
|
||||
---
|
||||
core/java/android/provider/Settings.java | 22 ++++
|
||||
.../com/android/server/ConnectivityService.java | 116 ++++++++++++++++++---
|
||||
2 files changed, 123 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
|
||||
index f6642d8..9905483 100644
|
||||
--- a/core/java/android/provider/Settings.java
|
||||
+++ b/core/java/android/provider/Settings.java
|
||||
@@ -4058,6 +4058,28 @@ public final class Settings {
|
||||
public static final class Secure extends NameValueTable {
|
||||
public static final String SYS_PROP_SETTING_VERSION = "sys.settings_secure_version";
|
||||
|
||||
+ // DNS Encryption
|
||||
+
|
||||
+ /**
|
||||
+ * @hide
|
||||
+ */
|
||||
+ public static final String DNS_ENCRYPTION_TOGGLE = "dns_enc_toggle";
|
||||
+
|
||||
+ /**
|
||||
+ * @hide
|
||||
+ */
|
||||
+ public static final int DNS_ENCRYPTION_TOGGLE_DEFAULT = 0;
|
||||
+
|
||||
+ /**
|
||||
+ * @hide
|
||||
+ */
|
||||
+ public static final String DNS_ENCRYPTION_SERVER = "dns_enc_server";
|
||||
+
|
||||
+ /**
|
||||
+ * @hide
|
||||
+ */
|
||||
+ public static final String DNS_ENCRYPTION_SERVER_DEFAULT = "opendns";
|
||||
+
|
||||
/**
|
||||
* The content:// style URL for this table
|
||||
*/
|
||||
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
|
||||
index 2a47460..0e6578f 100644
|
||||
--- a/services/core/java/com/android/server/ConnectivityService.java
|
||||
+++ b/services/core/java/com/android/server/ConnectivityService.java
|
||||
@@ -91,6 +91,8 @@ import android.os.SystemProperties;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.provider.Settings;
|
||||
+import android.provider.Settings.Secure;
|
||||
+import android.provider.Settings.SettingNotFoundException;
|
||||
import android.security.Credentials;
|
||||
import android.security.KeyStore;
|
||||
import android.telephony.TelephonyManager;
|
||||
@@ -167,6 +169,9 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
implements PendingIntent.OnFinished {
|
||||
private static final String TAG = "ConnectivityService";
|
||||
|
||||
+ private static final String NETID_UPDATE =
|
||||
+ "org.codeaurora.NETID_UPDATE";
|
||||
+
|
||||
private static final boolean DBG = true;
|
||||
private static final boolean VDBG = false;
|
||||
|
||||
@@ -229,6 +234,16 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
private static final int ENABLED = 1;
|
||||
private static final int DISABLED = 0;
|
||||
|
||||
+ // DNS Encryption variables
|
||||
+ private static final String DNSCRYPT_SERVICE = "dnscrypt-proxy";
|
||||
+ private static final String LOOPBACK_ADDR = "127.0.0.1";
|
||||
+ private static final String NULL_DOMAIN = "";
|
||||
+ private boolean mDnsEncryptionEnabled = false;
|
||||
+ private String mDnsEncryptionServer = Secure.DNS_ENCRYPTION_SERVER_DEFAULT;
|
||||
+ private Collection<InetAddress> mActualDnses = new ArrayList<InetAddress>();
|
||||
+ private int mNetId = -1;
|
||||
+ private String mActualDomains = null;
|
||||
+
|
||||
private enum ReapUnvalidatedNetworks {
|
||||
// Tear down networks that have no chance (e.g. even if validated) of becoming
|
||||
// the highest scoring network satisfying a NetworkRequest. This should be passed when
|
||||
@@ -827,6 +842,13 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
mSettingsObserver.observe(
|
||||
Settings.Global.getUriFor(Settings.Global.MOBILE_DATA_ALWAYS_ON),
|
||||
EVENT_CONFIGURE_MOBILE_DATA_ALWAYS_ON);
|
||||
+
|
||||
+ // Watch for whether or not to use DNScrypt
|
||||
+ resolver.registerContentObserver(Settings.Secure.getUriFor(
|
||||
+ Secure.DNS_ENCRYPTION_TOGGLE), false, this);
|
||||
+ resolver.registerContentObserver(Settings.Secure.getUriFor(Secure
|
||||
+ .DNS_ENCRYPTION_SERVER), false, this);
|
||||
+ onPreferencesChanged();
|
||||
}
|
||||
|
||||
private synchronized int nextNetworkRequestId() {
|
||||
@@ -3027,7 +3049,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
}
|
||||
}
|
||||
|
||||
- private static class SettingsObserver extends ContentObserver {
|
||||
+ private class SettingsObserver extends ContentObserver {
|
||||
final private HashMap<Uri, Integer> mUriEventMap;
|
||||
final private Context mContext;
|
||||
final private Handler mHandler;
|
||||
@@ -3058,7 +3080,70 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
} else {
|
||||
loge("No matching event to send for URI=" + uri);
|
||||
}
|
||||
+ onPreferencesChanged();
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Called when preference are updated from Settings
|
||||
+ * {@hide}
|
||||
+ */
|
||||
+ private void onPreferencesChanged() {
|
||||
+ setDnsEncryptionDns();
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Updates the DNS to either encrypted or regular
|
||||
+ */
|
||||
+ private void setDnsEncryptionDns() {
|
||||
+ try {
|
||||
+ mDnsEncryptionEnabled = Secure.getIntForUser(mContext.getContentResolver(),
|
||||
+ Secure.DNS_ENCRYPTION_TOGGLE, UserHandle.USER_CURRENT) != 0;
|
||||
+ } catch (SettingNotFoundException e) {
|
||||
+ loge("Exception getting dns enabled setting: " + e);
|
||||
+ }
|
||||
+ String serverName = Secure.getStringForUser(mContext.getContentResolver(),
|
||||
+ Secure.DNS_ENCRYPTION_SERVER, UserHandle.USER_CURRENT);
|
||||
+ serverName = (TextUtils.isEmpty(serverName)) ? Secure.DNS_ENCRYPTION_SERVER_DEFAULT :
|
||||
+ serverName;
|
||||
+
|
||||
+ // If they aren't equal, then we have a change!
|
||||
+ boolean changed = !mDnsEncryptionServer.equals(serverName);
|
||||
+
|
||||
+ // Set last server name
|
||||
+ mDnsEncryptionServer = serverName;
|
||||
+
|
||||
+ log("DNS Encryption Enabled: " + mDnsEncryptionEnabled);
|
||||
+ Collection<InetAddress> dnses = mActualDnses;
|
||||
+ String domains = mActualDomains;
|
||||
+ if (mDnsEncryptionEnabled) {
|
||||
+ if (changed) {
|
||||
+ // If we had a server change, need to restart service to pick up new server
|
||||
+ SystemProperties.set("ctl.stop", DNSCRYPT_SERVICE);
|
||||
+ SystemProperties.set("net.dnscrypt_resolver", mDnsEncryptionServer);
|
||||
+ }
|
||||
+ SystemProperties.set("ctl.start", DNSCRYPT_SERVICE);
|
||||
+ dnses = new ArrayList<InetAddress>();
|
||||
+ dnses.add(NetworkUtils.numericToInetAddress(LOOPBACK_ADDR));
|
||||
+ domains = NULL_DOMAIN;
|
||||
+ } else {
|
||||
+ SystemProperties.set("ctl.stop", DNSCRYPT_SERVICE);
|
||||
+ }
|
||||
+ updateDnsesInternal(dnses, mNetId, domains);
|
||||
+ }
|
||||
+
|
||||
+ private void updateDnsesInternal(Collection<InetAddress> dnses, int netId, String domains) {
|
||||
+ if (DBG) log("Setting Dns servers for network " + netId + " to " + dnses);
|
||||
+ try {
|
||||
+ mNetd.setDnsServersForNetwork(netId, NetworkUtils.makeStrings(dnses), domains);
|
||||
+ } catch (Exception e) {
|
||||
+ loge("Exception in setDnsServersForNetwork: " + e);
|
||||
+ }
|
||||
+ NetworkAgentInfo defaultNai = mNetworkForRequestId.get(mDefaultRequest.requestId);
|
||||
+ if (defaultNai != null && defaultNai.network.netId == netId) {
|
||||
+ setDefaultDnsSystemProperties(dnses);
|
||||
}
|
||||
+ flushVmDnsCache();
|
||||
}
|
||||
|
||||
private static void log(String s) {
|
||||
@@ -4122,27 +4207,28 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
|
||||
private void updateDnses(LinkProperties newLp, LinkProperties oldLp, int netId,
|
||||
boolean flush, boolean useDefaultDns) {
|
||||
- if (oldLp == null || (newLp.isIdenticalDnses(oldLp) == false)) {
|
||||
- Collection<InetAddress> dnses = newLp.getDnsServers();
|
||||
+ if (oldLp == null || !newLp.isIdenticalDnses(oldLp)) {
|
||||
+ Collection<InetAddress> dnses = newLp.getDnsServers();
|
||||
if (dnses.size() == 0 && mDefaultDns != null && useDefaultDns) {
|
||||
- dnses = new ArrayList();
|
||||
+ dnses = new ArrayList<InetAddress>();
|
||||
dnses.add(mDefaultDns);
|
||||
if (DBG) {
|
||||
loge("no dns provided for netId " + netId + ", so using defaults");
|
||||
}
|
||||
}
|
||||
- if (DBG) log("Setting Dns servers for network " + netId + " to " + dnses);
|
||||
- try {
|
||||
- mNetd.setDnsServersForNetwork(netId, NetworkUtils.makeStrings(dnses),
|
||||
- newLp.getDomains());
|
||||
- } catch (Exception e) {
|
||||
- loge("Exception in setDnsServersForNetwork: " + e);
|
||||
- }
|
||||
- final NetworkAgentInfo defaultNai = getDefaultNetwork();
|
||||
- if (defaultNai != null && defaultNai.network.netId == netId) {
|
||||
- setDefaultDnsSystemProperties(dnses);
|
||||
+
|
||||
+ // Set tracking fields
|
||||
+ mNetId = netId;
|
||||
+ mActualDnses = dnses;
|
||||
+ mActualDomains = newLp.getDomains();
|
||||
+
|
||||
+ String domains = mActualDomains;
|
||||
+ if (mDnsEncryptionEnabled) {
|
||||
+ dnses = new ArrayList<InetAddress>();
|
||||
+ dnses.add(NetworkUtils.numericToInetAddress(LOOPBACK_ADDR));
|
||||
+ domains = NULL_DOMAIN;
|
||||
}
|
||||
- flushVmDnsCache();
|
||||
+ updateDnsesInternal(dnses, netId, domains);
|
||||
} else if (flush) {
|
||||
try {
|
||||
mNetd.flushNetworkDnsCache(netId);
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,49 +0,0 @@
|
||||
From 9b8ea26004ada2b15d0403f55a23a0c02d16c5b2 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 2 Apr 2016 11:28:50 -0400
|
||||
Subject: [PATCH] Shutdown after 5 failed unlock attempts
|
||||
|
||||
Change-Id: If18654ff5816a1c7b31187b4c511b940772c20cf
|
||||
---
|
||||
.../Keyguard/src/com/android/keyguard/KeyguardSecurityContainer.java | 5 +++++
|
||||
packages/SystemUI/AndroidManifest.xml | 1 +
|
||||
2 files changed, 6 insertions(+)
|
||||
|
||||
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityContainer.java b/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityContainer.java
|
||||
index 827b378..3bb587b 100644
|
||||
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityContainer.java
|
||||
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityContainer.java
|
||||
@@ -19,6 +19,7 @@ import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.content.Context;
|
||||
+import android.os.PowerManager;
|
||||
import android.os.RemoteException;
|
||||
import android.os.UserHandle;
|
||||
import android.util.AttributeSet;
|
||||
@@ -294,6 +295,10 @@ public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSe
|
||||
if (timeoutMs > 0) {
|
||||
showTimeoutDialog(timeoutMs);
|
||||
}
|
||||
+ if(failedAttempts >= 5) {
|
||||
+ final PowerManager powerManager = mContext.getSystemService(PowerManager.class);
|
||||
+ powerManager.shutdown(false, false);
|
||||
+ }
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml
|
||||
index 1562901..add89a4 100644
|
||||
--- a/packages/SystemUI/AndroidManifest.xml
|
||||
+++ b/packages/SystemUI/AndroidManifest.xml
|
||||
@@ -109,6 +109,7 @@
|
||||
<uses-permission android:name="android.permission.TRUST_LISTENER" />
|
||||
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
|
||||
<uses-permission android:name="android.permission.RESET_FINGERPRINT_LOCKOUT" />
|
||||
+ <uses-permission android:name="android.permission.REBOOT" />
|
||||
|
||||
<!-- Needed for WallpaperManager.clear in ImageWallpaper.updateWallpaperLocked -->
|
||||
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
|
||||
--
|
||||
2.8.0
|
||||
|
@ -1,40 +0,0 @@
|
||||
From 6ee2fef0118b2e2955bcec974af36c5ed107deb3 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Mon, 18 Apr 2016 09:21:48 -0400
|
||||
Subject: [PATCH] Implement hostname Randomization
|
||||
|
||||
Change-Id: I938b7e896716ea4cb79b4a2e9d852dbe968a778d
|
||||
---
|
||||
services/core/java/com/android/server/ConnectivityService.java | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
|
||||
index 2a47460..4dccc03 100644
|
||||
--- a/services/core/java/com/android/server/ConnectivityService.java
|
||||
+++ b/services/core/java/com/android/server/ConnectivityService.java
|
||||
@@ -146,6 +146,7 @@ import java.io.PrintWriter;
|
||||
import java.net.Inet4Address;
|
||||
import java.net.InetAddress;
|
||||
import java.net.UnknownHostException;
|
||||
+import java.security.SecureRandom;
|
||||
import java.util.ArrayDeque;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -646,8 +647,13 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
mTrackerHandler = new NetworkStateTrackerHandler(mHandlerThread.getLooper());
|
||||
|
||||
// setup our unique device name
|
||||
- String hostname = CMSettings.Secure.getString(context.getContentResolver(),
|
||||
+ String hostname;
|
||||
+ if(SystemProperties.getBoolean("persist.privacy.randomize_host", true)) {
|
||||
+ hostname = Long.toHexString(new SecureRandom().nextLong());
|
||||
+ } else {
|
||||
+ hostname = CMSettings.Secure.getString(context.getContentResolver(),
|
||||
CMSettings.Secure.DEVICE_HOSTNAME);
|
||||
+ }
|
||||
if (TextUtils.isEmpty(hostname) &&
|
||||
TextUtils.isEmpty(SystemProperties.get("net.hostname"))) {
|
||||
String id = Settings.Secure.getString(context.getContentResolver(),
|
||||
--
|
||||
2.8.0
|
||||
|
@ -1,198 +0,0 @@
|
||||
From f00b971d99ae9320cf463f32c860640a4b67b179 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Mon, 8 Aug 2016 16:01:07 -0400
|
||||
Subject: [PATCH] Add radio tile (1/2)
|
||||
|
||||
Change-Id: I5d1cb2fede884b9aa044e0de0cf6459d225e0016
|
||||
---
|
||||
packages/SystemUI/res/drawable/ic_qs_radio_off.xml | 10 +++
|
||||
packages/SystemUI/res/drawable/ic_qs_radio_on.xml | 10 +++
|
||||
packages/SystemUI/res/values/cm_strings.xml | 1 +
|
||||
.../src/com/android/systemui/qs/RadioTile.java | 92 ++++++++++++++++++++++
|
||||
.../systemui/statusbar/phone/QSTileHost.java | 4 +
|
||||
5 files changed, 117 insertions(+)
|
||||
create mode 100644 packages/SystemUI/res/drawable/ic_qs_radio_off.xml
|
||||
create mode 100644 packages/SystemUI/res/drawable/ic_qs_radio_on.xml
|
||||
create mode 100644 packages/SystemUI/src/com/android/systemui/qs/RadioTile.java
|
||||
|
||||
diff --git a/packages/SystemUI/res/drawable/ic_qs_radio_off.xml b/packages/SystemUI/res/drawable/ic_qs_radio_off.xml
|
||||
new file mode 100644
|
||||
index 0000000..1cb4918
|
||||
--- /dev/null
|
||||
+++ b/packages/SystemUI/res/drawable/ic_qs_radio_off.xml
|
||||
@@ -0,0 +1,10 @@
|
||||
+<?xml version="1.0" encoding="utf-8"?>
|
||||
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
+ android:width="64dp"
|
||||
+ android:height="64dp"
|
||||
+ android:viewportWidth="24"
|
||||
+ android:viewportHeight="24">
|
||||
+ <path
|
||||
+ android:fillColor="#4DFFFFFF"
|
||||
+ android:pathData="M12,5c-3.87,0 -7,3.13 -7,7h2c0,-2.76 2.24,-5 5,-5s5,2.24 5,5h2c0,-3.87 -3.13,-7 -7,-7zM13,14.29c0.88,-0.39 1.5,-1.26 1.5,-2.29 0,-1.38 -1.12,-2.5 -2.5,-2.5S9.5,10.62 9.5,12c0,1.02 0.62,1.9 1.5,2.29v3.3L7.59,21 9,22.41l3,-3 3,3L16.41,21 13,17.59v-3.3zM12,1C5.93,1 1,5.93 1,12h2c0,-4.97 4.03,-9 9,-9s9,4.03 9,9h2c0,-6.07 -4.93,-11 -11,-11z" />
|
||||
+</vector>
|
||||
diff --git a/packages/SystemUI/res/drawable/ic_qs_radio_on.xml b/packages/SystemUI/res/drawable/ic_qs_radio_on.xml
|
||||
new file mode 100644
|
||||
index 0000000..d446deb
|
||||
--- /dev/null
|
||||
+++ b/packages/SystemUI/res/drawable/ic_qs_radio_on.xml
|
||||
@@ -0,0 +1,10 @@
|
||||
+<?xml version="1.0" encoding="utf-8"?>
|
||||
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
+ android:width="64dp"
|
||||
+ android:height="64dp"
|
||||
+ android:viewportWidth="24"
|
||||
+ android:viewportHeight="24">
|
||||
+ <path
|
||||
+ android:fillColor="#FFFFFFFF"
|
||||
+ android:pathData="M12,5c-3.87,0 -7,3.13 -7,7h2c0,-2.76 2.24,-5 5,-5s5,2.24 5,5h2c0,-3.87 -3.13,-7 -7,-7zM13,14.29c0.88,-0.39 1.5,-1.26 1.5,-2.29 0,-1.38 -1.12,-2.5 -2.5,-2.5S9.5,10.62 9.5,12c0,1.02 0.62,1.9 1.5,2.29v3.3L7.59,21 9,22.41l3,-3 3,3L16.41,21 13,17.59v-3.3zM12,1C5.93,1 1,5.93 1,12h2c0,-4.97 4.03,-9 9,-9s9,4.03 9,9h2c0,-6.07 -4.93,-11 -11,-11z" />
|
||||
+</vector>
|
||||
diff --git a/packages/SystemUI/res/values/cm_strings.xml b/packages/SystemUI/res/values/cm_strings.xml
|
||||
index 2996d21..41b65ae 100644
|
||||
--- a/packages/SystemUI/res/values/cm_strings.xml
|
||||
+++ b/packages/SystemUI/res/values/cm_strings.xml
|
||||
@@ -103,6 +103,7 @@
|
||||
<string name="quick_settings_profiles">System profiles</string>
|
||||
<string name="quick_settings_profiles_off">Profiles disabled</string>
|
||||
<string name="quick_settings_heads_up_label">Heads up</string>
|
||||
+ <string name="quick_settings_radio_power_label">Radio power</string>
|
||||
<string name="quick_settings_battery_saver_label">Battery saver</string>
|
||||
<!-- quick settings battery saver label to show when device is charging and tile is disabled -->
|
||||
<string name="quick_settings_battery_saver_label_charging">Battery saver (charging)</string>
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/qs/RadioTile.java b/packages/SystemUI/src/com/android/systemui/qs/RadioTile.java
|
||||
new file mode 100644
|
||||
index 0000000..74cc6c0
|
||||
--- /dev/null
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/qs/RadioTile.java
|
||||
@@ -0,0 +1,92 @@
|
||||
+package com.android.systemui.qs.tiles;
|
||||
+
|
||||
+import android.content.BroadcastReceiver;
|
||||
+import android.content.Context;
|
||||
+import android.content.Intent;
|
||||
+import android.content.IntentFilter;
|
||||
+
|
||||
+import android.util.Log;
|
||||
+import com.android.systemui.R;
|
||||
+import com.android.systemui.qs.QSTile;
|
||||
+import org.cyanogenmod.internal.util.QSUtils;
|
||||
+
|
||||
+import com.android.internal.telephony.Phone;
|
||||
+import com.android.internal.telephony.PhoneFactory;
|
||||
+
|
||||
+public class RadioTile extends QSTile<QSTile.BooleanState> {
|
||||
+
|
||||
+ private boolean mListening;
|
||||
+ private Phone phone = null;
|
||||
+
|
||||
+ private BroadcastReceiver mReceiver = new BroadcastReceiver() {
|
||||
+ @Override
|
||||
+ public void onReceive(Context context, Intent intent) {
|
||||
+ refreshState();
|
||||
+ }
|
||||
+ };
|
||||
+
|
||||
+ public RadioTile(Host host) {
|
||||
+ super(host);
|
||||
+ phone = PhoneFactory.getDefaultPhone();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ protected BooleanState newTileState() {
|
||||
+ return new BooleanState();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ protected void handleClick() {
|
||||
+ boolean newState = !getState().value;
|
||||
+ setState(newState);
|
||||
+ refreshState();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ protected void handleLongClick() {
|
||||
+ Intent lauchRadioInfo = new Intent();
|
||||
+ launchRadioInfo.setClassName("com.android.settings", "com.android.settings.RadioInfo");
|
||||
+ mHost.startActivityDismissingKeyguard(lauchRadioInfo);
|
||||
+ }
|
||||
+
|
||||
+ private void setEnabled(boolean enabled) {
|
||||
+ phone.setRadioPower(enabled);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ protected void handleUpdateState(BooleanState state, Object arg) {
|
||||
+ state.visible = true;
|
||||
+ final boolean radioPower = arg instanceof Boolean ? (boolean) arg : phone.isRadioOn();
|
||||
+ state.value = radioPower;
|
||||
+ state.label = mContext.getString(R.string.quick_settings_radio_power_label);
|
||||
+ if(state.value) {
|
||||
+ state.icon = ResourceIcon.get(R.drawable.ic_qs_radio_on);
|
||||
+ } else {
|
||||
+ state.icon = ResourceIcon.get(R.drawable.ic_qs_radio_off);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setListening(boolean listening) {
|
||||
+ if (mListening == listening) return;
|
||||
+ mListening = listening;
|
||||
+ if (listening) {
|
||||
+ final IntentFilter filter = new IntentFilter();
|
||||
+ filter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED);
|
||||
+ mContext.registerReceiver(mReceiver, filter);
|
||||
+ } else {
|
||||
+ mContext.unregisterReceiver(mReceiver);
|
||||
+ }
|
||||
+ mSetting.setListening(listening);
|
||||
+ }
|
||||
+
|
||||
+ private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
|
||||
+ @Override
|
||||
+ public void onReceive(Context context, Intent intent) {
|
||||
+ if (Intent.ACTION_AIRPLANE_MODE_CHANGED.equals(intent.getAction())) {
|
||||
+ refreshState();
|
||||
+ }
|
||||
+ }
|
||||
+ };
|
||||
+}
|
||||
+}
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java
|
||||
index e88ed73..e6116b7 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java
|
||||
@@ -59,6 +59,7 @@ import com.android.systemui.qs.tiles.LockscreenToggleTile;
|
||||
import com.android.systemui.qs.tiles.NfcTile;
|
||||
import com.android.systemui.qs.tiles.PerfProfileTile;
|
||||
import com.android.systemui.qs.tiles.ProfilesTile;
|
||||
+import com.android.systemui.qs.tiles.RadioTile;
|
||||
import com.android.systemui.qs.tiles.RotationLockTile;
|
||||
import com.android.systemui.qs.tiles.ScreenTimeoutTile;
|
||||
import com.android.systemui.qs.tiles.SyncTile;
|
||||
@@ -371,6 +372,7 @@ public class QSTileHost implements QSTile.Host, Tunable {
|
||||
else if (tileSpec.equals("lockscreen")) return new LockscreenToggleTile(this);
|
||||
else if (tileSpec.equals("ambient_display")) return new AmbientDisplayTile(this);
|
||||
else if (tileSpec.equals("heads_up")) return new HeadsUpTile(this);
|
||||
+ else if (tileSpec.equals("radio_power")) return new RadioTile(this);
|
||||
else if (tileSpec.equals("battery_saver")) return new BatterySaverTile(this);
|
||||
else if (tileSpec.equals("caffeine")) return new CaffeineTile(this);
|
||||
else if (tileSpec.startsWith(IntentTile.PREFIX)) return IntentTile.create(this,tileSpec);
|
||||
@@ -468,6 +470,7 @@ public class QSTileHost implements QSTile.Host, Tunable {
|
||||
else if (spec.equals("lockscreen")) return R.string.quick_settings_lockscreen_label;
|
||||
else if (spec.equals("ambient_display")) return R.string.quick_settings_ambient_display_label;
|
||||
else if (spec.equals("heads_up")) return R.string.quick_settings_heads_up_label;
|
||||
+ else if (spec.equals("radio_power")) return R.string.quick_settings_radio_power_label;
|
||||
else if (spec.equals("battery_saver")) return R.string.quick_settings_battery_saver_label;
|
||||
else if (spec.equals("caffeine")) return R.string.quick_settings_caffeine_label;
|
||||
return 0;
|
||||
@@ -498,6 +501,7 @@ public class QSTileHost implements QSTile.Host, Tunable {
|
||||
else if (spec.equals("lockscreen")) return R.drawable.ic_qs_lock_screen_on;
|
||||
else if (spec.equals("ambient_display")) return R.drawable.ic_qs_ambientdisplay_on;
|
||||
else if (spec.equals("heads_up")) return R.drawable.ic_qs_heads_up_on;
|
||||
+ else if (spec.equals("radio_power")) return R.drawable.ic_qs_radio_on;
|
||||
else if (spec.equals("battery_saver")) return R.drawable.ic_qs_battery_saver_on;
|
||||
else if (spec.equals("caffeine")) return R.drawable.ic_qs_caffeine_on;
|
||||
return 0;
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 367e1be44a79ed50b95c78f06ede4532294e96f6 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Wed, 24 Feb 2016 08:53:20 -0500
|
||||
Subject: [PATCH] Remove analytics
|
||||
|
||||
Change-Id: Icbf1deb4fd0cd6696f3fa8e2edab2c30960b121b
|
||||
---
|
||||
.../src/com/android/providers/settings/DatabaseHelper.java | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
|
||||
index 2b5c14f..0b094a0 100644
|
||||
--- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
|
||||
+++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
|
||||
@@ -1917,8 +1917,6 @@ class DatabaseHelper extends SQLiteOpenHelper {
|
||||
}
|
||||
|
||||
if (upgradeVersion < 115) {
|
||||
- moveSettingsToNewTable(db, TABLE_SYSTEM, TABLE_SECURE,
|
||||
- new String[] { CMSettings.Secure.STATS_COLLECTION }, true);
|
||||
if (mUserHandle == UserHandle.USER_OWNER) {
|
||||
db.beginTransaction();
|
||||
SQLiteStatement stmt = null;
|
||||
--
|
||||
2.7.1
|
||||
|
@ -1,97 +0,0 @@
|
||||
From d3ec926a99694ed258f60f197a85b83b5f0e75f3 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Tue, 22 Mar 2016 15:10:47 -0400
|
||||
Subject: [PATCH] Allow packages to fake their signature
|
||||
|
||||
Change-Id: Iba3b34256161926886c27ef63271795fd8b93f1a
|
||||
---
|
||||
core/res/AndroidManifest.xml | 7 +++++++
|
||||
core/res/res/values/config.xml | 2 ++
|
||||
core/res/res/values/strings.xml | 5 +++++
|
||||
.../android/server/pm/PackageManagerService.java | 23 ++++++++++++++++++++--
|
||||
4 files changed, 35 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
|
||||
index 50a4b38..9be1bcb 100644
|
||||
--- a/core/res/AndroidManifest.xml
|
||||
+++ b/core/res/AndroidManifest.xml
|
||||
@@ -1654,6 +1654,13 @@
|
||||
android:description="@string/permdesc_getPackageSize"
|
||||
android:protectionLevel="normal" />
|
||||
|
||||
+ <!-- @hide Allows an application to change the package signature as
|
||||
+ seen by applications -->
|
||||
+ <permission android:name="android.permission.FAKE_PACKAGE_SIGNATURE"
|
||||
+ android:protectionLevel="dangerous"
|
||||
+ android:label="@string/permlab_fakePackageSignature"
|
||||
+ android:description="@string/permdesc_fakePackageSignature" />
|
||||
+
|
||||
<!-- @deprecated No longer useful, see
|
||||
{@link android.content.pm.PackageManager#addPackageToPreferred}
|
||||
for details. -->
|
||||
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
|
||||
index 5cdce93..ac23bb6 100644
|
||||
--- a/core/res/res/values/config.xml
|
||||
+++ b/core/res/res/values/config.xml
|
||||
@@ -1298,6 +1298,8 @@
|
||||
<string-array name="config_locationProviderPackageNames" translatable="false">
|
||||
<!-- The standard AOSP fused location provider -->
|
||||
<item>com.android.location.fused</item>
|
||||
+ <!-- The (faked) microg fused location provider -->
|
||||
+ <item>com.google.android.gms</item>
|
||||
</string-array>
|
||||
|
||||
<!-- This string array can be overriden to enable test location providers initially. -->
|
||||
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
|
||||
index 1fef7e7..0924463 100644
|
||||
--- a/core/res/res/values/strings.xml
|
||||
+++ b/core/res/res/values/strings.xml
|
||||
@@ -615,6 +615,11 @@
|
||||
|
||||
<!-- Permissions -->
|
||||
|
||||
+ <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
|
||||
+ <string name="permlab_fakePackageSignature">Spoof package signature</string>
|
||||
+ <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
|
||||
+ <string name="permdesc_fakePackageSignature">Allows the app to pretend to be a different app. Malicious applications might be able to use this to access private application data. Grant this permission with caution only!</string>
|
||||
+
|
||||
<!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
|
||||
<string name="permlab_statusBar">disable or modify status bar</string>
|
||||
<!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
|
||||
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
|
||||
index d5c58df..7b68c3e 100644
|
||||
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
|
||||
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
|
||||
@@ -2805,8 +2805,27 @@ public class PackageManagerService extends IPackageManager.Stub {
|
||||
final Set<String> permissions = permissionsState.getPermissions(userId);
|
||||
final PackageUserState state = ps.readUserState(userId);
|
||||
|
||||
- return PackageParser.generatePackageInfo(p, gids, flags,
|
||||
- ps.firstInstallTime, ps.lastUpdateTime, permissions, state, userId);
|
||||
+ return mayFakeSignature(p, PackageParser.generatePackageInfo(p, gids, flags,
|
||||
+ ps.firstInstallTime, ps.lastUpdateTime, permissions, state, userId),
|
||||
+ permissions);
|
||||
+ }
|
||||
+
|
||||
+ private PackageInfo mayFakeSignature(PackageParser.Package p, PackageInfo pi,
|
||||
+ Set<String> permissions) {
|
||||
+ try {
|
||||
+ if (permissions.contains("android.permission.FAKE_PACKAGE_SIGNATURE")
|
||||
+ && p.applicationInfo.targetSdkVersion > Build.VERSION_CODES.LOLLIPOP_MR1
|
||||
+ && p.mAppMetaData != null) {
|
||||
+ String sig = p.mAppMetaData.getString("fake-signature");
|
||||
+ if (sig != null) {
|
||||
+ pi.signatures = new Signature[] {new Signature(sig)};
|
||||
+ }
|
||||
+ }
|
||||
+ } catch (Throwable t) {
|
||||
+ // We should never die because of any failures, this is system code!
|
||||
+ Log.w("PackageManagerService.FAKE_PACKAGE_SIGNATURE", t);
|
||||
+ }
|
||||
+ return pi;
|
||||
}
|
||||
|
||||
@Override
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,104 +0,0 @@
|
||||
From 7357f8c0c8a6bdc09555ab47dae83f28346b8470 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Beno=C3=AEt=20Mauduit?= <bmauduit@beneth.fr>
|
||||
Date: Wed, 22 Jun 2016 15:04:56 +0200
|
||||
Subject: [PATCH 1/1] Add signature Spoofing permission
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This is needed by GmsCore (https://microg.org/) to pretend
|
||||
the existence of the official Play Services to applications calling
|
||||
Google APIs.
|
||||
|
||||
Signed-off-by: Benoît Mauduit <bmauduit@beneth.fr>
|
||||
---
|
||||
core/res/AndroidManifest.xml | 7 +++++++
|
||||
core/res/res/values/config.xml | 2 ++
|
||||
core/res/res/values/strings.xml | 5 +++++
|
||||
.../android/server/pm/PackageManagerService.java | 23 ++++++++++++++++++++--
|
||||
4 files changed, 35 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
|
||||
index ea0e39c..a936983 100644
|
||||
--- a/core/res/AndroidManifest.xml
|
||||
+++ b/core/res/AndroidManifest.xml
|
||||
@@ -1654,6 +1654,13 @@
|
||||
android:description="@string/permdesc_getPackageSize"
|
||||
android:protectionLevel="normal" />
|
||||
|
||||
+ <!-- @hide Allows an application to change the package signature as
|
||||
+ seen by applications -->
|
||||
+ <permission android:name="android.permission.FAKE_PACKAGE_SIGNATURE"
|
||||
+ android:protectionLevel="dangerous"
|
||||
+ android:label="@string/permlab_fakePackageSignature"
|
||||
+ android:description="@string/permdesc_fakePackageSignature" />
|
||||
+
|
||||
<!-- @deprecated No longer useful, see
|
||||
{@link android.content.pm.PackageManager#addPackageToPreferred}
|
||||
for details. -->
|
||||
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
|
||||
index c7846cf..916d8a5 100644
|
||||
--- a/core/res/res/values/config.xml
|
||||
+++ b/core/res/res/values/config.xml
|
||||
@@ -1298,6 +1298,8 @@
|
||||
<string-array name="config_locationProviderPackageNames" translatable="false">
|
||||
<!-- The standard AOSP fused location provider -->
|
||||
<item>com.android.location.fused</item>
|
||||
+ <!-- The (faked) microg fused location provider -->
|
||||
+ <item>com.google.android.gms</item>
|
||||
</string-array>
|
||||
|
||||
<!-- This string array can be overriden to enable test location providers initially. -->
|
||||
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
|
||||
index 58135db..e65367a 100644
|
||||
--- a/core/res/res/values/strings.xml
|
||||
+++ b/core/res/res/values/strings.xml
|
||||
@@ -616,6 +616,11 @@
|
||||
<!-- Permissions -->
|
||||
|
||||
<!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
|
||||
+ <string name="permlab_fakePackageSignature">Spoof package signature</string>
|
||||
+ <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
|
||||
+ <string name="permdesc_fakePackageSignature">Allows the app to pretend to be a different app. Malicious applications might be able to use this to access private application data. Grant this permission with caution only!</string>
|
||||
+
|
||||
+ <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
|
||||
<string name="permlab_statusBar">disable or modify status bar</string>
|
||||
<!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
|
||||
<string name="permdesc_statusBar">Allows the app to disable the status bar or add and remove system icons.</string>
|
||||
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
|
||||
index 0493180..35f49d7 100644
|
||||
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
|
||||
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
|
||||
@@ -2816,8 +2816,27 @@ public class PackageManagerService extends IPackageManager.Stub {
|
||||
final Set<String> permissions = permissionsState.getPermissions(userId);
|
||||
final PackageUserState state = ps.readUserState(userId);
|
||||
|
||||
- return PackageParser.generatePackageInfo(p, gids, flags,
|
||||
- ps.firstInstallTime, ps.lastUpdateTime, permissions, state, userId);
|
||||
+ return mayFakeSignature(p, PackageParser.generatePackageInfo(p, gids, flags,
|
||||
+ ps.firstInstallTime, ps.lastUpdateTime, permissions, state, userId),
|
||||
+ permissions);
|
||||
+ }
|
||||
+
|
||||
+ private PackageInfo mayFakeSignature(PackageParser.Package p, PackageInfo pi,
|
||||
+ Set<String> permissions) {
|
||||
+ try {
|
||||
+ if (permissions.contains("android.permission.FAKE_PACKAGE_SIGNATURE")
|
||||
+ && p.applicationInfo.targetSdkVersion > Build.VERSION_CODES.LOLLIPOP_MR1
|
||||
+ && p.mAppMetaData != null) {
|
||||
+ String sig = p.mAppMetaData.getString("fake-signature");
|
||||
+ if (sig != null) {
|
||||
+ pi.signatures = new Signature[] {new Signature(sig)};
|
||||
+ }
|
||||
+ }
|
||||
+ } catch (Throwable t) {
|
||||
+ // We should never die because of any failures, this is system code!
|
||||
+ Log.w("PackageManagerService.FAKE_PACKAGE_SIGNATURE", t);
|
||||
+ }
|
||||
+ return pi;
|
||||
}
|
||||
|
||||
@Override
|
||||
--
|
||||
2.8.1
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,535 +0,0 @@
|
||||
From 7af4441cada12ddb125c2b747eab897729b62961 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Thu, 13 Oct 2016 19:10:14 -0400
|
||||
Subject: [PATCH] Remove analytics
|
||||
|
||||
Change-Id: Idc9e1bd67d81ffbf62fc5cb8680828603f94c886
|
||||
---
|
||||
Android.mk | 2 -
|
||||
.../cyanogenmod/audiofx/AudioFxApplication.java | 11 --
|
||||
.../audiofx/activity/ActivityMusic.java | 13 --
|
||||
.../audiofx/activity/EqualizerManager.java | 13 --
|
||||
.../audiofx/fragment/AudioFxFragment.java | 2 -
|
||||
.../audiofx/fragment/ControlsFragment.java | 4 -
|
||||
.../audiofx/fragment/EqualizerFragment.java | 4 -
|
||||
src/org/cyanogenmod/audiofx/knobs/RadialKnob.java | 3 -
|
||||
src/org/cyanogenmod/audiofx/stats/AppState.java | 53 -----
|
||||
src/org/cyanogenmod/audiofx/stats/UserSession.java | 215 ---------------------
|
||||
10 files changed, 320 deletions(-)
|
||||
delete mode 100644 src/org/cyanogenmod/audiofx/stats/AppState.java
|
||||
delete mode 100644 src/org/cyanogenmod/audiofx/stats/UserSession.java
|
||||
|
||||
diff --git a/Android.mk b/Android.mk
|
||||
index e2553d0..d9a1b99 100644
|
||||
--- a/Android.mk
|
||||
+++ b/Android.mk
|
||||
@@ -20,9 +20,7 @@ LOCAL_PROGUARD_ENABLED := disabled
|
||||
|
||||
LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, res)
|
||||
LOCAL_AAPT_FLAGS := --auto-add-overlay
|
||||
-LOCAL_AAPT_FLAGS += --extra-packages com.cyanogen.ambient
|
||||
|
||||
-LOCAL_STATIC_JAVA_AAR_LIBRARIES := ambientsdk
|
||||
|
||||
LOCAL_PRIVILEGED_MODULE := true
|
||||
LOCAL_CERTIFICATE := platform
|
||||
diff --git a/src/org/cyanogenmod/audiofx/AudioFxApplication.java b/src/org/cyanogenmod/audiofx/AudioFxApplication.java
|
||||
index 9f08a0c..54819fe 100644
|
||||
--- a/src/org/cyanogenmod/audiofx/AudioFxApplication.java
|
||||
+++ b/src/org/cyanogenmod/audiofx/AudioFxApplication.java
|
||||
@@ -18,30 +18,19 @@ package org.cyanogenmod.audiofx;
|
||||
import android.app.Application;
|
||||
import android.util.Log;
|
||||
|
||||
-import com.cyanogen.ambient.analytics.AnalyticsServices;
|
||||
-import com.cyanogen.ambient.analytics.Event;
|
||||
-import com.cyanogen.ambient.common.api.AmbientApiClient;
|
||||
-
|
||||
public class AudioFxApplication extends Application {
|
||||
|
||||
private static final String TAG = AudioFxApplication.class.getSimpleName();
|
||||
private static final boolean DEBUG = false;
|
||||
|
||||
- private AmbientApiClient mClient;
|
||||
-
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
- mClient = new AmbientApiClient.Builder(this)
|
||||
- .addApi(AnalyticsServices.API)
|
||||
- .build();
|
||||
- mClient.connect();
|
||||
}
|
||||
|
||||
public void sendEvent(Event event) {
|
||||
if (DEBUG) {
|
||||
Log.i(TAG, "sendEvent() called with event = [" + event + "]");
|
||||
}
|
||||
- AnalyticsServices.AnalyticsApi.sendEvent(mClient, event);
|
||||
}
|
||||
}
|
||||
diff --git a/src/org/cyanogenmod/audiofx/activity/ActivityMusic.java b/src/org/cyanogenmod/audiofx/activity/ActivityMusic.java
|
||||
index 411ba45..54ede87 100644
|
||||
--- a/src/org/cyanogenmod/audiofx/activity/ActivityMusic.java
|
||||
+++ b/src/org/cyanogenmod/audiofx/activity/ActivityMusic.java
|
||||
@@ -28,7 +28,6 @@ import android.view.View;
|
||||
import android.view.ViewStub;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.CompoundButton;
|
||||
-import com.cyanogen.ambient.analytics.Event;
|
||||
import org.cyanogenmod.audiofx.AudioFxApplication;
|
||||
import org.cyanogenmod.audiofx.Constants;
|
||||
import org.cyanogenmod.audiofx.R;
|
||||
@@ -36,8 +35,6 @@ import org.cyanogenmod.audiofx.fragment.AudioFxFragment;
|
||||
import org.cyanogenmod.audiofx.knobs.KnobCommander;
|
||||
import org.cyanogenmod.audiofx.service.AudioFxService;
|
||||
import org.cyanogenmod.audiofx.service.DevicePreferenceManager;
|
||||
-import org.cyanogenmod.audiofx.stats.AppState;
|
||||
-import org.cyanogenmod.audiofx.stats.UserSession;
|
||||
|
||||
public class ActivityMusic extends Activity {
|
||||
|
||||
@@ -59,9 +56,6 @@ public class ActivityMusic extends Activity {
|
||||
@Override
|
||||
public void onCheckedChanged(final CompoundButton buttonView,
|
||||
final boolean isChecked) {
|
||||
- if (UserSession.getInstance() != null) {
|
||||
- UserSession.getInstance().deviceEnabledDisabled();
|
||||
- }
|
||||
mConfig.setCurrentDeviceEnabled(isChecked);
|
||||
}
|
||||
};
|
||||
@@ -174,20 +168,13 @@ public class ActivityMusic extends Activity {
|
||||
if (DEBUG) Log.i(TAG, "onResume() called with " + "");
|
||||
super.onResume();
|
||||
|
||||
- // initiate a new session
|
||||
- new UserSession(mCallingPackage);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
|
||||
- if (DEBUG) Log.d(TAG, "Session: " + UserSession.getInstance());
|
||||
|
||||
- final Event.Builder builder = new Event.Builder("session", "ended");
|
||||
- UserSession.getInstance().append(builder);
|
||||
- AppState.appendState(mConfig, KnobCommander.getInstance(this), builder);
|
||||
- ((AudioFxApplication) getApplicationContext()).sendEvent(builder.build());
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/src/org/cyanogenmod/audiofx/activity/EqualizerManager.java b/src/org/cyanogenmod/audiofx/activity/EqualizerManager.java
|
||||
index a9e0a6d..0fc928f 100644
|
||||
--- a/src/org/cyanogenmod/audiofx/activity/EqualizerManager.java
|
||||
+++ b/src/org/cyanogenmod/audiofx/activity/EqualizerManager.java
|
||||
@@ -26,7 +26,6 @@ import org.cyanogenmod.audiofx.Preset;
|
||||
import org.cyanogenmod.audiofx.R;
|
||||
import org.cyanogenmod.audiofx.eq.EqUtils;
|
||||
import org.cyanogenmod.audiofx.service.AudioFxService;
|
||||
-import org.cyanogenmod.audiofx.stats.UserSession;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -274,10 +273,6 @@ public class EqualizerManager {
|
||||
* @return the index that the levels were copied to
|
||||
*/
|
||||
private int addPreset(float[] levels) {
|
||||
- if (UserSession.getInstance() != null) {
|
||||
- UserSession.getInstance().presetCreated();
|
||||
- }
|
||||
-
|
||||
final int customPresets = Constants.getCustomPresets(mContext, mNumBands).size();
|
||||
// format the name so it's like "Custom <N>", start with "Custom 2"
|
||||
final String name = String.format(mContext.getString(R.string.custom_n), customPresets + 2);
|
||||
@@ -588,10 +583,6 @@ public class EqualizerManager {
|
||||
}
|
||||
|
||||
public void renameCurrentPreset(String s) {
|
||||
- if (UserSession.getInstance() != null) {
|
||||
- UserSession.getInstance().presetRenamed();
|
||||
- }
|
||||
-
|
||||
if (isUserPreset()) {
|
||||
((Preset.CustomPreset) getCurrentPreset()).setName(s);
|
||||
}
|
||||
@@ -602,10 +593,6 @@ public class EqualizerManager {
|
||||
}
|
||||
|
||||
public boolean removePreset(int index) {
|
||||
- if (UserSession.getInstance() != null) {
|
||||
- UserSession.getInstance().presetRemoved();
|
||||
- }
|
||||
-
|
||||
if (index > mEQCustomPresetPosition) {
|
||||
mEqPresets.remove(index);
|
||||
mConfig.getCallbacks().notifyPresetsChanged();
|
||||
diff --git a/src/org/cyanogenmod/audiofx/fragment/AudioFxFragment.java b/src/org/cyanogenmod/audiofx/fragment/AudioFxFragment.java
|
||||
index 582e3d6..89e4b91 100644
|
||||
--- a/src/org/cyanogenmod/audiofx/fragment/AudioFxFragment.java
|
||||
+++ b/src/org/cyanogenmod/audiofx/fragment/AudioFxFragment.java
|
||||
@@ -45,7 +45,6 @@ import org.cyanogenmod.audiofx.activity.ActivityMusic;
|
||||
import org.cyanogenmod.audiofx.activity.EqualizerManager;
|
||||
import org.cyanogenmod.audiofx.activity.MasterConfigControl;
|
||||
import org.cyanogenmod.audiofx.activity.StateCallbacks;
|
||||
-import org.cyanogenmod.audiofx.stats.UserSession;
|
||||
import org.cyanogenmod.audiofx.widget.InterceptableLinearLayout;
|
||||
|
||||
import java.util.List;
|
||||
@@ -337,7 +336,6 @@ public class AudioFxFragment extends Fragment implements StateCallbacks.DeviceCh
|
||||
AudioDeviceInfo device = mMenuItems.get(item);
|
||||
|
||||
if (device != null) {
|
||||
- UserSession.getInstance().deviceChanged();
|
||||
mDeviceChanging = true;
|
||||
if (item.isCheckable()) {
|
||||
item.setChecked(!item.isChecked());
|
||||
diff --git a/src/org/cyanogenmod/audiofx/fragment/ControlsFragment.java b/src/org/cyanogenmod/audiofx/fragment/ControlsFragment.java
|
||||
index 4a0eed6..9c9f5eb 100644
|
||||
--- a/src/org/cyanogenmod/audiofx/fragment/ControlsFragment.java
|
||||
+++ b/src/org/cyanogenmod/audiofx/fragment/ControlsFragment.java
|
||||
@@ -29,7 +29,6 @@ import org.cyanogenmod.audiofx.R;
|
||||
import org.cyanogenmod.audiofx.activity.MasterConfigControl;
|
||||
import org.cyanogenmod.audiofx.knobs.KnobCommander;
|
||||
import org.cyanogenmod.audiofx.knobs.KnobContainer;
|
||||
-import org.cyanogenmod.audiofx.stats.UserSession;
|
||||
|
||||
public class ControlsFragment extends AudioFxBaseFragment {
|
||||
|
||||
@@ -44,9 +43,6 @@ public class ControlsFragment extends AudioFxBaseFragment {
|
||||
= new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
- if (mConfig.getMaxxVolumeEnabled() != isChecked) {
|
||||
- UserSession.getInstance().maxxVolumeToggled();
|
||||
- }
|
||||
mConfig.setMaxxVolumeEnabled(isChecked);
|
||||
}
|
||||
};
|
||||
diff --git a/src/org/cyanogenmod/audiofx/fragment/EqualizerFragment.java b/src/org/cyanogenmod/audiofx/fragment/EqualizerFragment.java
|
||||
index 0f95365..7b459cf 100644
|
||||
--- a/src/org/cyanogenmod/audiofx/fragment/EqualizerFragment.java
|
||||
+++ b/src/org/cyanogenmod/audiofx/fragment/EqualizerFragment.java
|
||||
@@ -46,7 +46,6 @@ import org.cyanogenmod.audiofx.eq.EqContainerView;
|
||||
import org.cyanogenmod.audiofx.preset.InfinitePagerAdapter;
|
||||
import org.cyanogenmod.audiofx.preset.InfiniteViewPager;
|
||||
import org.cyanogenmod.audiofx.preset.PresetPagerAdapter;
|
||||
-import org.cyanogenmod.audiofx.stats.UserSession;
|
||||
import org.cyanogenmod.audiofx.viewpagerindicator.CirclePageIndicator;
|
||||
|
||||
public class EqualizerFragment extends AudioFxBaseFragment
|
||||
@@ -516,9 +515,6 @@ public class EqualizerFragment extends AudioFxBaseFragment
|
||||
mSelectedPosition = position;
|
||||
if (!mDeviceChanging) {
|
||||
mSelectedPositionBands = mEqManager.getPresetLevels(mSelectedPosition);
|
||||
- if (UserSession.getInstance() != null) {
|
||||
- UserSession.getInstance().presetSelected();
|
||||
- }
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/src/org/cyanogenmod/audiofx/knobs/RadialKnob.java b/src/org/cyanogenmod/audiofx/knobs/RadialKnob.java
|
||||
index 9f35835..b9bd045 100644
|
||||
--- a/src/org/cyanogenmod/audiofx/knobs/RadialKnob.java
|
||||
+++ b/src/org/cyanogenmod/audiofx/knobs/RadialKnob.java
|
||||
@@ -49,7 +49,6 @@ import android.view.View;
|
||||
import android.view.animation.AccelerateInterpolator;
|
||||
import android.widget.Toast;
|
||||
import org.cyanogenmod.audiofx.R;
|
||||
-import org.cyanogenmod.audiofx.stats.UserSession;
|
||||
|
||||
public class RadialKnob extends View {
|
||||
|
||||
@@ -456,8 +455,6 @@ public class RadialKnob extends View {
|
||||
}
|
||||
}
|
||||
if (mMoved) {
|
||||
- UserSession.getInstance()
|
||||
- .knobOptionsAdjusted(((KnobContainer.KnobInfo)getTag()).whichKnob);
|
||||
}
|
||||
mLastX = -1;
|
||||
mLastY = -1;
|
||||
diff --git a/src/org/cyanogenmod/audiofx/stats/AppState.java b/src/org/cyanogenmod/audiofx/stats/AppState.java
|
||||
deleted file mode 100644
|
||||
index 7ca0c9c..0000000
|
||||
--- a/src/org/cyanogenmod/audiofx/stats/AppState.java
|
||||
+++ /dev/null
|
||||
@@ -1,53 +0,0 @@
|
||||
-/*
|
||||
- * Copyright (C) 2016 The CyanogenMod Project
|
||||
- *
|
||||
- * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
- * you may not use this file except in compliance with the License.
|
||||
- * You may obtain a copy of the License at
|
||||
- *
|
||||
- * http://www.apache.org/licenses/LICENSE-2.0
|
||||
- *
|
||||
- * Unless required by applicable law or agreed to in writing, software
|
||||
- * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
- * See the License for the specific language governing permissions and
|
||||
- * limitations under the License.
|
||||
- */
|
||||
-package org.cyanogenmod.audiofx.stats;
|
||||
-
|
||||
-import com.cyanogen.ambient.analytics.Event;
|
||||
-import org.cyanogenmod.audiofx.Preset;
|
||||
-import org.cyanogenmod.audiofx.activity.MasterConfigControl;
|
||||
-import org.cyanogenmod.audiofx.eq.EqUtils;
|
||||
-import org.cyanogenmod.audiofx.knobs.KnobCommander;
|
||||
-
|
||||
-public class AppState {
|
||||
- public static void appendState(MasterConfigControl control,
|
||||
- KnobCommander knobs, Event.Builder builder) {
|
||||
- // what's the current output device?
|
||||
- builder.addField("state_current_device", control.getCurrentDeviceIdentifier());
|
||||
-
|
||||
- // what preset? if custom, what name/values?
|
||||
- builder.addField("state_preset_name", control.getEqualizerManager().getCurrentPreset().getName());
|
||||
-
|
||||
- if (control.getEqualizerManager().getCurrentPreset() instanceof Preset.CustomPreset) {
|
||||
- builder.addField("state_custom_preset_values",
|
||||
- EqUtils.floatLevelsToString(control.getEqualizerManager().getCurrentPreset().getLevels()));
|
||||
- }
|
||||
-
|
||||
- // knob states
|
||||
- if (control.hasMaxxAudio()) {
|
||||
- builder.addField("state_maxx_volume", control.getMaxxVolumeEnabled());
|
||||
- }
|
||||
-
|
||||
- if (knobs.hasBassBoost()) {
|
||||
- builder.addField("state_knob_bass", knobs.getBassStrength());
|
||||
- }
|
||||
- if (knobs.hasTreble()) {
|
||||
- builder.addField("state_knob_treble", knobs.getTrebleStrength());
|
||||
- }
|
||||
- if (knobs.hasVirtualizer()) {
|
||||
- builder.addField("state_knob_virtualizer", knobs.getVirtualizerStrength());
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
diff --git a/src/org/cyanogenmod/audiofx/stats/UserSession.java b/src/org/cyanogenmod/audiofx/stats/UserSession.java
|
||||
deleted file mode 100644
|
||||
index 285edb3..0000000
|
||||
--- a/src/org/cyanogenmod/audiofx/stats/UserSession.java
|
||||
+++ /dev/null
|
||||
@@ -1,215 +0,0 @@
|
||||
-/*
|
||||
- * Copyright (C) 2016 The CyanogenMod Project
|
||||
- *
|
||||
- * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
- * you may not use this file except in compliance with the License.
|
||||
- * You may obtain a copy of the License at
|
||||
- *
|
||||
- * http://www.apache.org/licenses/LICENSE-2.0
|
||||
- *
|
||||
- * Unless required by applicable law or agreed to in writing, software
|
||||
- * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
- * See the License for the specific language governing permissions and
|
||||
- * limitations under the License.
|
||||
- */
|
||||
-package org.cyanogenmod.audiofx.stats;
|
||||
-
|
||||
-import android.os.Parcel;
|
||||
-import android.os.Parcelable;
|
||||
-import com.cyanogen.ambient.analytics.Event;
|
||||
-import org.cyanogenmod.audiofx.Preset;
|
||||
-import org.cyanogenmod.audiofx.knobs.KnobCommander;
|
||||
-
|
||||
-public class UserSession implements Parcelable {
|
||||
-
|
||||
- private static final String SOURCE_NONE = "none";
|
||||
-
|
||||
- private static UserSession sSession;
|
||||
- public static final UserSession getInstance() {
|
||||
- return sSession;
|
||||
- }
|
||||
-
|
||||
- private String mSource;
|
||||
- private int mDevicesChanged;
|
||||
- private int mEnabledDisabledToggles;
|
||||
- private int mPresetsSelected;
|
||||
- private int mPresetsCreated;
|
||||
- private int mPresetsRemoved;
|
||||
- private int mPresetsRenamed;
|
||||
- private int mMaxxVolumeToggled;
|
||||
- private int mTrebleKnobAdjusted;
|
||||
- private int mBassKnobAdjusted;
|
||||
- private int mVirtualizerKnobAdjusted;
|
||||
-
|
||||
- public UserSession(String incomingPackageSource) {
|
||||
- if (incomingPackageSource == null) {
|
||||
- mSource = SOURCE_NONE;
|
||||
- } else {
|
||||
- mSource = incomingPackageSource;
|
||||
- }
|
||||
- sSession = this;
|
||||
- }
|
||||
-
|
||||
- public void deviceChanged() {
|
||||
- mDevicesChanged++;
|
||||
- }
|
||||
-
|
||||
- public void deviceEnabledDisabled() {
|
||||
- mEnabledDisabledToggles++;
|
||||
- }
|
||||
-
|
||||
- public void presetSelected() {
|
||||
- mPresetsSelected++;
|
||||
- }
|
||||
-
|
||||
- public void presetRemoved() {
|
||||
- mPresetsRemoved++;
|
||||
- }
|
||||
-
|
||||
- public void presetRenamed() {
|
||||
- mPresetsRenamed++;
|
||||
- }
|
||||
-
|
||||
- public void presetCreated() {
|
||||
- mPresetsCreated++;
|
||||
- }
|
||||
-
|
||||
- public void maxxVolumeToggled() {
|
||||
- mMaxxVolumeToggled++;
|
||||
- }
|
||||
-
|
||||
- public void knobOptionsAdjusted(int knob) {
|
||||
- switch (knob) {
|
||||
- case KnobCommander.KNOB_BASS:
|
||||
- mBassKnobAdjusted++;
|
||||
- break;
|
||||
- case KnobCommander.KNOB_TREBLE:
|
||||
- mTrebleKnobAdjusted++;
|
||||
- break;
|
||||
- case KnobCommander.KNOB_VIRTUALIZER:
|
||||
- mVirtualizerKnobAdjusted++;
|
||||
- break;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- public void append(Event.Builder builder) {
|
||||
- builder.addField("session_source", mSource);
|
||||
- if (mDevicesChanged > 0)
|
||||
- builder.addField("session_devices_changed_count", mDevicesChanged);
|
||||
- if (mEnabledDisabledToggles > 0)
|
||||
- builder.addField("session_devices_enabled_disabled_count", mEnabledDisabledToggles);
|
||||
- if (mPresetsSelected > 0)
|
||||
- builder.addField("session_presets_changed_count", mPresetsSelected);
|
||||
- if (mPresetsCreated > 0)
|
||||
- builder.addField("session_presets_created_count", mPresetsCreated);
|
||||
- if (mPresetsRemoved > 0)
|
||||
- builder.addField("session_presets_removed_count", mPresetsRemoved);
|
||||
- if (mPresetsRenamed > 0)
|
||||
- builder.addField("session_presets_renamed_count", mPresetsRenamed);
|
||||
- if (mMaxxVolumeToggled > 0)
|
||||
- builder.addField("session_maxx_volume_toggled", mMaxxVolumeToggled);
|
||||
- if (mBassKnobAdjusted > 0)
|
||||
- builder.addField("session_knobs_bass_adjusted_count", mBassKnobAdjusted);
|
||||
- if (mVirtualizerKnobAdjusted > 0)
|
||||
- builder.addField("session_knobs_virtualizer_adjusted_count", mVirtualizerKnobAdjusted);
|
||||
- if (mTrebleKnobAdjusted > 0)
|
||||
- builder.addField("session_knobs_treble_adjusted_count", mTrebleKnobAdjusted);
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public String toString() {
|
||||
- StringBuilder s = new StringBuilder(getClass().getName() + "[");
|
||||
- if (mSource != null) {
|
||||
- s.append("mSource=").append(mSource).append(", ");
|
||||
- }
|
||||
- if (mDevicesChanged > 0) {
|
||||
- s.append("mDevicesChanged=").append(mDevicesChanged).append(", ");
|
||||
- }
|
||||
- if (mEnabledDisabledToggles > 0) {
|
||||
- s.append("mEnabledDisabledToggles=").append(mEnabledDisabledToggles).append(", ");
|
||||
- }
|
||||
- if (mPresetsSelected > 0) {
|
||||
- s.append("mPresetsSelected=").append(mPresetsSelected).append(", ");
|
||||
- }
|
||||
- if (mPresetsCreated > 0) {
|
||||
- s.append("mPresetsCreated=").append(mPresetsCreated).append(", ");
|
||||
- }
|
||||
- if (mPresetsRemoved > 0) {
|
||||
- s.append("mPresetsRemoved=").append(mPresetsRemoved).append(", ");
|
||||
- }
|
||||
- if (mPresetsRenamed > 0) {
|
||||
- s.append("mPresetsRenamed=").append(mPresetsRenamed).append(", ");
|
||||
- }
|
||||
- if (mMaxxVolumeToggled > 0) {
|
||||
- s.append("mMaxxVolumeToggled=").append(mMaxxVolumeToggled).append(", ");
|
||||
- }
|
||||
- if (mBassKnobAdjusted > 0) {
|
||||
- s.append("mBassKnobAdjusted=").append(mBassKnobAdjusted).append(", ");
|
||||
- }
|
||||
- if (mVirtualizerKnobAdjusted > 0) {
|
||||
- s.append("mVirtualizerKnobAdjusted=").append(mVirtualizerKnobAdjusted).append(", ");
|
||||
- }
|
||||
- if (mTrebleKnobAdjusted > 0) {
|
||||
- s.append("mTrebleKnobAdjusted=").append(mTrebleKnobAdjusted).append(", ");
|
||||
- }
|
||||
- if (s.charAt(s.length() - 2) == ',') {
|
||||
- s.delete(s.length() - 2, s.length());
|
||||
- }
|
||||
- s.append("]");
|
||||
-
|
||||
- return s.toString();
|
||||
- }
|
||||
-
|
||||
- public static final Creator<UserSession> CREATOR = new Creator<UserSession>() {
|
||||
- @Override
|
||||
- public UserSession createFromParcel(Parcel in) {
|
||||
- return new UserSession(in);
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public UserSession[] newArray(int size) {
|
||||
- return new UserSession[size];
|
||||
- }
|
||||
- };
|
||||
-
|
||||
- @Override
|
||||
- public int describeContents() {
|
||||
- return 0;
|
||||
- }
|
||||
-
|
||||
- protected UserSession(Parcel in) {
|
||||
- mSource = in.readString();
|
||||
- mDevicesChanged = in.readInt();
|
||||
- mEnabledDisabledToggles = in.readInt();
|
||||
- mPresetsSelected = in.readInt();
|
||||
- mPresetsCreated = in.readInt();
|
||||
- mPresetsRemoved = in.readInt();
|
||||
- mPresetsRenamed = in.readInt();
|
||||
- mBassKnobAdjusted = in.readInt();
|
||||
- mVirtualizerKnobAdjusted = in.readInt();
|
||||
- mTrebleKnobAdjusted = in.readInt();
|
||||
- mMaxxVolumeToggled = in.readInt();
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public void writeToParcel(Parcel dest, int flags) {
|
||||
- dest.writeString(mSource);
|
||||
- dest.writeInt(mDevicesChanged);
|
||||
- dest.writeInt(mEnabledDisabledToggles);
|
||||
- dest.writeInt(mPresetsSelected);
|
||||
- dest.writeInt(mPresetsCreated);
|
||||
- dest.writeInt(mPresetsRemoved);
|
||||
- dest.writeInt(mPresetsRenamed);
|
||||
- dest.writeInt(mBassKnobAdjusted);
|
||||
- dest.writeInt(mVirtualizerKnobAdjusted);
|
||||
- dest.writeInt(mTrebleKnobAdjusted);
|
||||
- dest.writeInt(mMaxxVolumeToggled);
|
||||
- }
|
||||
-
|
||||
- private static class State {
|
||||
- private String mOutputDevice;
|
||||
- private Preset mPreset;
|
||||
- private String mKnobsOpts;
|
||||
- }
|
||||
-}
|
||||
--
|
||||
2.9.3
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,36 +0,0 @@
|
||||
From 66f4525e8f6603a9bceb2168a41ab1cdcea9c20e Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sun, 10 Jul 2016 15:19:45 -0400
|
||||
Subject: [PATCH] Fix build failure
|
||||
|
||||
Change-Id: If17279e2d537f3d7f1e5e5df6ed5c444b3449719
|
||||
---
|
||||
src/com/android/incallui/AnswerPresenter.java | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/src/com/android/incallui/AnswerPresenter.java b/src/com/android/incallui/AnswerPresenter.java
|
||||
index b0619b1..31a824e 100644
|
||||
--- a/src/com/android/incallui/AnswerPresenter.java
|
||||
+++ b/src/com/android/incallui/AnswerPresenter.java
|
||||
@@ -127,6 +127,18 @@ public class AnswerPresenter extends Presenter<AnswerPresenter.AnswerUi>
|
||||
|
||||
public void notifyRefreshViceInfo(QtiViceInfo qtiViceInfo) {
|
||||
}
|
||||
+public void receiveCallTransferResponse(int result) {
|
||||
+
|
||||
+}
|
||||
+
|
||||
+public void notifyVopsStatus(boolean result) {
|
||||
+
|
||||
+}
|
||||
+
|
||||
+public void notifySsacStatus(boolean result) {
|
||||
+
|
||||
+}
|
||||
+
|
||||
};
|
||||
|
||||
/**
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,604 +0,0 @@
|
||||
From b2252cf1a4b22d60dae76300415ad5bbc6cd0a89 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Brabham <optedoblivion@cyngn.com>
|
||||
Date: Fri, 9 Jan 2015 14:49:10 -0800
|
||||
Subject: [PATCH] DNSCrypt: Add settings for starting/stopping and configuring
|
||||
the DNSCrypt daemon.
|
||||
|
||||
Wire up to framework Settings.Secure
|
||||
|
||||
Change-Id: I846e30f7121460b1eed9879d9d225ffe1506050b
|
||||
---
|
||||
AndroidManifest.xml | 10 ++
|
||||
res/values/cm_strings.xml | 11 ++
|
||||
res/xml/dns_crypt_settings.xml | 38 +++++
|
||||
res/xml/privacy_settings_cyanogenmod.xml | 10 ++
|
||||
.../dnscrypt/DnsCryptPreferenceActivity.java | 149 ++++++++++++++++++++
|
||||
.../settings/dnscrypt/LoadConfigFileTask.java | 152 ++++++++++++++++++++
|
||||
.../dnscrypt/model/DnsCryptServerEntry.java | 155 +++++++++++++++++++++
|
||||
7 files changed, 525 insertions(+)
|
||||
create mode 100644 res/xml/dns_crypt_settings.xml
|
||||
create mode 100644 src/com/android/settings/dnscrypt/DnsCryptPreferenceActivity.java
|
||||
create mode 100644 src/com/android/settings/dnscrypt/LoadConfigFileTask.java
|
||||
create mode 100644 src/com/android/settings/dnscrypt/model/DnsCryptServerEntry.java
|
||||
|
||||
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
|
||||
index f38e0bc..ed95f32 100755
|
||||
--- a/AndroidManifest.xml
|
||||
+++ b/AndroidManifest.xml
|
||||
@@ -2868,6 +2868,16 @@
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
+ <activity
|
||||
+ android:name=".dnscrypt.DnsCryptPreferenceActivity"
|
||||
+ android:label="DNS Encryption"
|
||||
+ android:excludeFromRecents="true">
|
||||
+ <intent-filter>
|
||||
+ <action android:name="com.android.settings.action.ACTION_DNSCRYPT_SETTINGS" />
|
||||
+ <category android:name="android.intent.category.DEFAULT" />
|
||||
+ </intent-filter>
|
||||
+ </activity>
|
||||
+
|
||||
<activity android:name=".applications.ProtectedAppsActivity"
|
||||
android:label="@string/protected_apps"
|
||||
android:excludeFromRecents="true"
|
||||
diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml
|
||||
index 6b42f4e..51aff3c 100644
|
||||
--- a/res/values/cm_strings.xml
|
||||
+++ b/res/values/cm_strings.xml
|
||||
@@ -1163,4 +1163,15 @@
|
||||
<string name="restrict_app_cellular_title">Disable app cellular usage</string>
|
||||
<string name="restrict_app_cellular_summary">Prevent app from using cellular data connection</string>
|
||||
<string name="privacy_guard_internet_category">Internet</string>
|
||||
+
|
||||
+ <!-- DNS Encryption -->
|
||||
+ <string name="dns_enc_title">DNS encryption</string>
|
||||
+ <string name="dns_enc_summary">Manage DNS encryption settings</string>
|
||||
+ <string name="dns_enc_switch_title">Enable DNS encryption</string>
|
||||
+ <string name="dns_enc_switch_summary">Toggle execution of local DNS encryption service</string>
|
||||
+ <string name="dns_enc_cat_config_title">Configuration</string>
|
||||
+ <string name="dns_enc_server_title">DNS resolver list</string>
|
||||
+ <string name="dns_enc_server_summary">Select which server you want to use</string>
|
||||
+ <string name="dns_enc_resolver_label">DNS resolver: </string>
|
||||
+ <string name="dns_enc_resolvers_loading">Loading encrypted DNS resolver configuration...</string>
|
||||
</resources>
|
||||
diff --git a/res/xml/dns_crypt_settings.xml b/res/xml/dns_crypt_settings.xml
|
||||
new file mode 100644
|
||||
index 0000000..636f754
|
||||
--- /dev/null
|
||||
+++ b/res/xml/dns_crypt_settings.xml
|
||||
@@ -0,0 +1,38 @@
|
||||
+<?xml version="1.0" encoding="utf-8"?>
|
||||
+<!-- Copyright (C) 2008 The Android Open Source Project
|
||||
+
|
||||
+ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
+ you may not use this file except in compliance with the License.
|
||||
+ You may obtain a copy of the License at
|
||||
+
|
||||
+ http://www.apache.org/licenses/LICENSE-2.0
|
||||
+
|
||||
+ Unless required by applicable law or agreed to in writing, software
|
||||
+ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
+ See the License for the specific language governing permissions and
|
||||
+ limitations under the License.
|
||||
+-->
|
||||
+
|
||||
+<PreferenceScreen
|
||||
+ xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
+ xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"
|
||||
+ android:title="@string/radio_controls_title">
|
||||
+
|
||||
+ <SwitchPreference
|
||||
+ android:key="pref_toggle_dnscrypt"
|
||||
+ android:title="@string/dns_enc_switch_title"
|
||||
+ android:summary="@string/dns_enc_switch_summary"
|
||||
+ android:persistent="false"/>
|
||||
+
|
||||
+ <PreferenceCategory
|
||||
+ android:key="pref_cat_config"
|
||||
+ android:title="@string/dns_enc_cat_config_title">
|
||||
+ <ListPreference
|
||||
+ android:key="pref_server_list"
|
||||
+ android:title="@string/dns_enc_server_title"
|
||||
+ android:summary="@string/dns_enc_server_summary"
|
||||
+ android:persistent="false"/>
|
||||
+ </PreferenceCategory>
|
||||
+
|
||||
+</PreferenceScreen>
|
||||
diff --git a/res/xml/privacy_settings_cyanogenmod.xml b/res/xml/privacy_settings_cyanogenmod.xml
|
||||
index 256ca00..25221c2 100644
|
||||
--- a/res/xml/privacy_settings_cyanogenmod.xml
|
||||
+++ b/res/xml/privacy_settings_cyanogenmod.xml
|
||||
@@ -47,4 +47,14 @@
|
||||
android:targetPackage="com.android.settings"
|
||||
android:targetClass="com.android.settings.applications.ProtectedAppsActivity" />
|
||||
</Preference>
|
||||
+
|
||||
+ <PreferenceScreen
|
||||
+ android:key="key_dns_crypt"
|
||||
+ android:title="@string/dns_enc_title"
|
||||
+ android:summary="@string/dns_enc_summary">
|
||||
+ <intent
|
||||
+ android:action="com.android.settings.action.ACTION_DNSCRYPT_SETTINGS"
|
||||
+ android:targetPackage="com.android.settings"
|
||||
+ android:targetClass="com.android.settings.dnscrypt.DnsCryptPreferenceActivity" />
|
||||
+ </PreferenceScreen>
|
||||
</PreferenceScreen>
|
||||
diff --git a/src/com/android/settings/dnscrypt/DnsCryptPreferenceActivity.java b/src/com/android/settings/dnscrypt/DnsCryptPreferenceActivity.java
|
||||
new file mode 100644
|
||||
index 0000000..64f13c7
|
||||
--- /dev/null
|
||||
+++ b/src/com/android/settings/dnscrypt/DnsCryptPreferenceActivity.java
|
||||
@@ -0,0 +1,149 @@
|
||||
+/*
|
||||
+* Copyright (C) 2014 The CyanogenMod Project
|
||||
+*
|
||||
+* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
+* you may not use this file except in compliance with the License.
|
||||
+* You may obtain a copy of the License at
|
||||
+*
|
||||
+* http://www.apache.org/licenses/LICENSE-2.0
|
||||
+*
|
||||
+* Unless required by applicable law or agreed to in writing, software
|
||||
+* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
+* See the License for the specific language governing permissions and
|
||||
+* limitations under the License.
|
||||
+*/
|
||||
+
|
||||
+package com.android.settings.dnscrypt;
|
||||
+
|
||||
+import android.app.ProgressDialog;
|
||||
+import android.os.Bundle;
|
||||
+import android.preference.ListPreference;
|
||||
+import android.preference.Preference;
|
||||
+import android.preference.Preference.OnPreferenceChangeListener;
|
||||
+import android.preference.PreferenceActivity;
|
||||
+import android.preference.SwitchPreference;
|
||||
+import android.provider.Settings;
|
||||
+import android.util.Log;
|
||||
+import com.android.settings.R;
|
||||
+import com.android.settings.dnscrypt.LoadConfigFileTask.ILoadConfigListener;
|
||||
+
|
||||
+import java.io.File;
|
||||
+
|
||||
+/**
|
||||
+ * DnsCryptSettingsFragment
|
||||
+ * <pre>
|
||||
+ * Screen for configuring and starting stopping encrypted dns daemon
|
||||
+ * </pre>
|
||||
+ *
|
||||
+ * @see {@link android.preference.PreferenceActivity}
|
||||
+ * @see {@link android.preference.Preference.OnPreferenceChangeListener}
|
||||
+ */
|
||||
+public class DnsCryptPreferenceActivity extends PreferenceActivity implements
|
||||
+ OnPreferenceChangeListener, ILoadConfigListener {
|
||||
+
|
||||
+ // Constants
|
||||
+ private static final String TAG = DnsCryptPreferenceActivity.class.getSimpleName();
|
||||
+ private static final String PREF_TOGGLE = "pref_toggle_dnscrypt";
|
||||
+ private static final String PREF_SERVER_LIST = "pref_server_list";
|
||||
+ private static final String CONFIG_FILE = "/system/etc/dnscrypt-resolvers.csv";
|
||||
+
|
||||
+ // Members
|
||||
+ private SwitchPreference mEncryptionSwitchPreference;
|
||||
+ private ListPreference mServerListPreference;
|
||||
+ private LoadConfigFileTask mLoadConfigFileTask;
|
||||
+ private String mDnsResolverLabel = "DNS provider";
|
||||
+
|
||||
+ // Views
|
||||
+ private ProgressDialog mProgressDialog;
|
||||
+
|
||||
+ @Override
|
||||
+ public void onCreate(Bundle savedInstanceState) {
|
||||
+ super.onCreate(savedInstanceState);
|
||||
+ getActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
+ getActionBar().setTitle(R.string.dns_enc_title);
|
||||
+ addPreferencesFromResource(R.xml.dns_crypt_settings);
|
||||
+ mEncryptionSwitchPreference = (SwitchPreference) findPreference(PREF_TOGGLE);
|
||||
+ mEncryptionSwitchPreference.setOnPreferenceChangeListener(this);
|
||||
+ mServerListPreference = (ListPreference) findPreference(PREF_SERVER_LIST);
|
||||
+ mServerListPreference.setOnPreferenceChangeListener(this);
|
||||
+ mDnsResolverLabel = getResources().getString(R.string.dns_enc_resolver_label);
|
||||
+ mProgressDialog = new ProgressDialog(this);
|
||||
+ mProgressDialog.setTitle(R.string.dns_enc_resolvers_loading);
|
||||
+ mProgressDialog.show();
|
||||
+ if (mLoadConfigFileTask == null) {
|
||||
+ mLoadConfigFileTask =
|
||||
+ new LoadConfigFileTask(new File(CONFIG_FILE), mProgressDialog, this);
|
||||
+ mLoadConfigFileTask.execute();
|
||||
+ }
|
||||
+ initPreferences();
|
||||
+ }
|
||||
+
|
||||
+ private void initPreferences() {
|
||||
+ boolean currentCheckedState = (Settings.Secure.getInt(getContentResolver(),
|
||||
+ Settings.Secure.DNS_ENCRYPTION_TOGGLE,
|
||||
+ Settings.Secure.DNS_ENCRYPTION_TOGGLE_DEFAULT) == 1);
|
||||
+ if (mEncryptionSwitchPreference != null) {
|
||||
+ mEncryptionSwitchPreference.setChecked(currentCheckedState);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean onPreferenceChange(Preference preference, Object o) {
|
||||
+ if (preference == mEncryptionSwitchPreference) {
|
||||
+ Boolean newCheckedState = (Boolean) o;
|
||||
+ mServerListPreference.setEnabled(newCheckedState);
|
||||
+ int setValue = (newCheckedState) ? 1 : 0;
|
||||
+ Settings.Secure.putInt(getContentResolver(), Settings.Secure.DNS_ENCRYPTION_TOGGLE,
|
||||
+ setValue);
|
||||
+ return true;
|
||||
+ } else if (preference == mServerListPreference) {
|
||||
+ String value = (String) o;
|
||||
+ int i;
|
||||
+ for (i = 0; i < mServerListPreference.getEntryValues().length; i++) {
|
||||
+ if (value.equals(mServerListPreference.getEntryValues()[i])) {
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ try {
|
||||
+ mServerListPreference.setSummary(mDnsResolverLabel +
|
||||
+ mServerListPreference.getEntries()[i]);
|
||||
+ } catch (ArrayIndexOutOfBoundsException oobe) {
|
||||
+ Log.e(TAG, "Error finding default value!");
|
||||
+ mServerListPreference.setSummary(R.string.dns_enc_server_summary);
|
||||
+ }
|
||||
+ Settings.Secure.putString(getContentResolver(), Settings.Secure
|
||||
+ .DNS_ENCRYPTION_SERVER, value);
|
||||
+ return true;
|
||||
+ }
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onConfigLoaded(CharSequence[] entries, CharSequence[] entryValues) {
|
||||
+ if (mServerListPreference != null && entries != null && entryValues != null) {
|
||||
+ mServerListPreference.setEntries(entries);
|
||||
+ mServerListPreference.setEntryValues(entryValues);
|
||||
+ String value = Settings.Secure.getString(getContentResolver(),
|
||||
+ Settings.Secure.DNS_ENCRYPTION_SERVER);
|
||||
+ value = (value == null) ? Settings.Secure.DNS_ENCRYPTION_SERVER_DEFAULT : value;
|
||||
+ mServerListPreference.setValue(value);
|
||||
+ int i;
|
||||
+ for (i = 0; i < mServerListPreference.getEntryValues().length; i++) {
|
||||
+ if (value.equals(mServerListPreference.getEntryValues()[i])) {
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ try {
|
||||
+ mServerListPreference.setSummary(mDnsResolverLabel
|
||||
+ + mServerListPreference.getEntries()[i]);
|
||||
+ } catch (ArrayIndexOutOfBoundsException oobe) {
|
||||
+ Log.e(TAG, "Error finding default value!", oobe);
|
||||
+ mServerListPreference.setSummary(R.string.dns_enc_server_summary);
|
||||
+ }
|
||||
+ mServerListPreference.setEnabled(mEncryptionSwitchPreference.isChecked());
|
||||
+ }
|
||||
+ mLoadConfigFileTask = null;
|
||||
+ mProgressDialog.dismiss();
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/com/android/settings/dnscrypt/LoadConfigFileTask.java b/src/com/android/settings/dnscrypt/LoadConfigFileTask.java
|
||||
new file mode 100644
|
||||
index 0000000..910e6c1
|
||||
--- /dev/null
|
||||
+++ b/src/com/android/settings/dnscrypt/LoadConfigFileTask.java
|
||||
@@ -0,0 +1,152 @@
|
||||
+/*
|
||||
+* Copyright (C) 2014 The CyanogenMod Project
|
||||
+*
|
||||
+* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
+* you may not use this file except in compliance with the License.
|
||||
+* You may obtain a copy of the License at
|
||||
+*
|
||||
+* http://www.apache.org/licenses/LICENSE-2.0
|
||||
+*
|
||||
+* Unless required by applicable law or agreed to in writing, software
|
||||
+* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
+* See the License for the specific language governing permissions and
|
||||
+* limitations under the License.
|
||||
+*/
|
||||
+
|
||||
+package com.android.settings.dnscrypt;
|
||||
+
|
||||
+import android.app.ProgressDialog;
|
||||
+import android.os.AsyncTask;
|
||||
+import android.util.Log;
|
||||
+
|
||||
+import java.io.BufferedReader;
|
||||
+import java.io.File;
|
||||
+import java.io.FileInputStream;
|
||||
+import java.io.IOException;
|
||||
+import java.io.InputStreamReader;
|
||||
+import java.util.ArrayList;
|
||||
+import java.util.List;
|
||||
+
|
||||
+/**
|
||||
+ * LoadConfigFileTask
|
||||
+ * <pre>
|
||||
+ * This task will check if the config file exists in /system/etc and if so will load it for
|
||||
+ * configuration display in Settings
|
||||
+ * </pre>
|
||||
+ */
|
||||
+public class LoadConfigFileTask extends AsyncTask<Void, Integer, Void> {
|
||||
+
|
||||
+ // Constants
|
||||
+ private static final String TAG = LoadConfigFileTask.class.getSimpleName();
|
||||
+
|
||||
+ // Members
|
||||
+ private ILoadConfigListener mListener;
|
||||
+ private File mConfigFile;
|
||||
+ private ProgressDialog mProgressDialog;
|
||||
+ private CharSequence[] mEntries;
|
||||
+ private CharSequence[] mEntryValues;
|
||||
+
|
||||
+ /**
|
||||
+ * Constructor
|
||||
+ *
|
||||
+ * @param configFile {@link java.io.File}
|
||||
+ * @param progressDialog {@link android.app.ProgressDialog}
|
||||
+ * @throws IllegalArgumentException {@link java.lang.IllegalArgumentException}
|
||||
+ */
|
||||
+ public LoadConfigFileTask(File configFile, ProgressDialog progressDialog, ILoadConfigListener
|
||||
+ listener)
|
||||
+ throws IllegalArgumentException {
|
||||
+ if (configFile == null || !configFile.exists()) {
|
||||
+ throw new IllegalArgumentException("'configFile' must not be null and must exist!");
|
||||
+ }
|
||||
+ mConfigFile = configFile;
|
||||
+ mProgressDialog = progressDialog;
|
||||
+ mListener = listener;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onPreExecute() {
|
||||
+ if (mProgressDialog != null) {
|
||||
+ mProgressDialog.show();
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onProgressUpdate(Integer... progress) {
|
||||
+ if (mProgressDialog != null) {
|
||||
+ mProgressDialog.setProgress(progress[0]);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public Void doInBackground(Void... params) {
|
||||
+
|
||||
+ if (mConfigFile == null || !mConfigFile.exists()) {
|
||||
+ Log.w(TAG, "No config file found....such strange!");
|
||||
+ // [TODO][MSB]: Download that sucker!
|
||||
+ // [TODO][MSB]: Perform sig check?
|
||||
+ return null;
|
||||
+ }
|
||||
+
|
||||
+ try {
|
||||
+ FileInputStream fis = new FileInputStream(mConfigFile);
|
||||
+ InputStreamReader reader = new InputStreamReader(fis);
|
||||
+ BufferedReader bufferedReader = new BufferedReader(reader);
|
||||
+ List<String> configLines = new ArrayList<String>();
|
||||
+ String line = "";
|
||||
+ while((line = bufferedReader.readLine()) != null) {
|
||||
+ configLines.add(line);
|
||||
+ }
|
||||
+ mEntries = new CharSequence[configLines.size() - 1];
|
||||
+ mEntryValues = new CharSequence[configLines.size() - 1];
|
||||
+ if (mProgressDialog != null) {
|
||||
+ mProgressDialog.setMax(configLines.size());
|
||||
+ }
|
||||
+ boolean skippedTitle = false;
|
||||
+ int progress = 0;
|
||||
+ int i = 0;
|
||||
+ for (String configLine : configLines) {
|
||||
+ if (!skippedTitle) {
|
||||
+ skippedTitle = true;
|
||||
+ progress++;
|
||||
+ continue;
|
||||
+ }
|
||||
+ String[] configParts = configLine.split(",");
|
||||
+ if (configParts.length > 3) {
|
||||
+ String name = configParts[0];
|
||||
+ String fullName = configParts[1];
|
||||
+ mEntries[i] = fullName;
|
||||
+ mEntryValues[i] = name;
|
||||
+ }
|
||||
+ i++;
|
||||
+ progress++;
|
||||
+ publishProgress(progress);
|
||||
+ }
|
||||
+ } catch (IOException e) {
|
||||
+ Log.e(TAG, e.getMessage());
|
||||
+ }
|
||||
+ return null;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onPostExecute(Void result) {
|
||||
+ if (mListener != null) {
|
||||
+ mListener.onConfigLoaded(mEntries, mEntryValues);
|
||||
+ }
|
||||
+ if (mProgressDialog != null) {
|
||||
+ mProgressDialog.dismiss();
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * ILoadConfigListener
|
||||
+ * <pre>
|
||||
+ * Callback interface for passing back results
|
||||
+ * </pre>
|
||||
+ */
|
||||
+ public interface ILoadConfigListener {
|
||||
+ public void onConfigLoaded(CharSequence[] entries, CharSequence[] entryValues);
|
||||
+ }
|
||||
+
|
||||
+}
|
||||
diff --git a/src/com/android/settings/dnscrypt/model/DnsCryptServerEntry.java b/src/com/android/settings/dnscrypt/model/DnsCryptServerEntry.java
|
||||
new file mode 100644
|
||||
index 0000000..c0f2c75
|
||||
--- /dev/null
|
||||
+++ b/src/com/android/settings/dnscrypt/model/DnsCryptServerEntry.java
|
||||
@@ -0,0 +1,155 @@
|
||||
+/*
|
||||
+* Copyright (C) 2014 The CyanogenMod Project
|
||||
+*
|
||||
+* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
+* you may not use this file except in compliance with the License.
|
||||
+* You may obtain a copy of the License at
|
||||
+*
|
||||
+* http://www.apache.org/licenses/LICENSE-2.0
|
||||
+*
|
||||
+* Unless required by applicable law or agreed to in writing, software
|
||||
+* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
+* See the License for the specific language governing permissions and
|
||||
+* limitations under the License.
|
||||
+*/
|
||||
+
|
||||
+package com.android.settings.dnscrypt.model;
|
||||
+
|
||||
+/**
|
||||
+ * DnsCryptServerEntry
|
||||
+ * <pre>
|
||||
+ * Model object for representing a dns crypt server entry
|
||||
+ * </pre>
|
||||
+ */
|
||||
+public class DnsCryptServerEntry {
|
||||
+
|
||||
+ // Members
|
||||
+ private String mName;
|
||||
+ private String mFullName;
|
||||
+ private String mDescription;
|
||||
+ private String mLocation;
|
||||
+ private String mCoords;
|
||||
+ private String mUrl;
|
||||
+ private String mVersion;
|
||||
+ private String mDnsSecValidation;
|
||||
+ private String mNoLogs;
|
||||
+ private String mNamecoin;
|
||||
+ private String mResolverAddress;
|
||||
+ private String mProviderName;
|
||||
+ private String mProviderPublicKey;
|
||||
+ private String mProviderPublicKeyTextRecord;
|
||||
+
|
||||
+ public String getName() {
|
||||
+ return mName;
|
||||
+ }
|
||||
+
|
||||
+ public void setName(String name) {
|
||||
+ mName = name;
|
||||
+ }
|
||||
+
|
||||
+ public String getFullName() {
|
||||
+ return mFullName;
|
||||
+ }
|
||||
+
|
||||
+ public void setFullName(String fullName) {
|
||||
+ mFullName = fullName;
|
||||
+ }
|
||||
+
|
||||
+ public String getDescription() {
|
||||
+ return mDescription;
|
||||
+ }
|
||||
+
|
||||
+ public void setDescription(String description) {
|
||||
+ mDescription = description;
|
||||
+ }
|
||||
+
|
||||
+ public String getLocation() {
|
||||
+ return mLocation;
|
||||
+ }
|
||||
+
|
||||
+ public void setLocation(String location) {
|
||||
+ mLocation = location;
|
||||
+ }
|
||||
+
|
||||
+ public String getCoords() {
|
||||
+ return mCoords;
|
||||
+ }
|
||||
+
|
||||
+ public void setCoords(String coords) {
|
||||
+ mCoords = coords;
|
||||
+ }
|
||||
+
|
||||
+ public String getUrl() {
|
||||
+ return mUrl;
|
||||
+ }
|
||||
+
|
||||
+ public void setUrl(String url) {
|
||||
+ mUrl = url;
|
||||
+ }
|
||||
+
|
||||
+ public String getVersion() {
|
||||
+ return mVersion;
|
||||
+ }
|
||||
+
|
||||
+ public void setVersion(String version) {
|
||||
+ mVersion = version;
|
||||
+ }
|
||||
+
|
||||
+ public String getDnsSecValidation() {
|
||||
+ return mDnsSecValidation;
|
||||
+ }
|
||||
+
|
||||
+ public void setDnsSecValidation(String dnsSecValidation) {
|
||||
+ mDnsSecValidation = dnsSecValidation;
|
||||
+ }
|
||||
+
|
||||
+ public String getNoLogs() {
|
||||
+ return mNoLogs;
|
||||
+ }
|
||||
+
|
||||
+ public void setNoLogs(String noLogs) {
|
||||
+ mNoLogs = noLogs;
|
||||
+ }
|
||||
+
|
||||
+ public String getNamecoin() {
|
||||
+ return mNamecoin;
|
||||
+ }
|
||||
+
|
||||
+ public void setNamecoin(String namecoin) {
|
||||
+ mNamecoin = namecoin;
|
||||
+ }
|
||||
+
|
||||
+ public String getResolverAddress() {
|
||||
+ return mResolverAddress;
|
||||
+ }
|
||||
+
|
||||
+ public void setResolverAddress(String resolverAddress) {
|
||||
+ mResolverAddress = resolverAddress;
|
||||
+ }
|
||||
+
|
||||
+ public String getProviderName() {
|
||||
+ return mProviderName;
|
||||
+ }
|
||||
+
|
||||
+ public void setProviderName(String providerName) {
|
||||
+ mProviderName = providerName;
|
||||
+ }
|
||||
+
|
||||
+ public String getProviderPublicKey() {
|
||||
+ return mProviderPublicKey;
|
||||
+ }
|
||||
+
|
||||
+ public void setProviderPublicKey(String providerPublicKey) {
|
||||
+ mProviderPublicKey = providerPublicKey;
|
||||
+ }
|
||||
+
|
||||
+ public String getProviderPublicKeyTextRecord() {
|
||||
+ return mProviderPublicKeyTextRecord;
|
||||
+ }
|
||||
+
|
||||
+ public void setProviderPublicKeyTextRecord(String providerPublicKeyTextRecord) {
|
||||
+ mProviderPublicKeyTextRecord = providerPublicKeyTextRecord;
|
||||
+ }
|
||||
+
|
||||
+}
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,231 +0,0 @@
|
||||
From ef32dacb30b5c938d48ba294ff660b0cd5777dd6 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Mon, 18 Apr 2016 09:27:27 -0400
|
||||
Subject: [PATCH] Implement hostname Randomization
|
||||
|
||||
Change-Id: I00bfb9235979c2c80191cb0871716adaa3583e06
|
||||
---
|
||||
MAC_Rand.patch | 120 +++++++++++++++++++++++++
|
||||
res/values/cm_strings.xml | 4 +
|
||||
res/xml/wireless_settings.xml | 6 ++
|
||||
src/com/android/settings/WirelessSettings.java | 14 +++
|
||||
4 files changed, 144 insertions(+)
|
||||
create mode 100644 MAC_Rand.patch
|
||||
|
||||
diff --git a/MAC_Rand.patch b/MAC_Rand.patch
|
||||
new file mode 100644
|
||||
index 0000000..48ad1ec
|
||||
--- /dev/null
|
||||
+++ b/MAC_Rand.patch
|
||||
@@ -0,0 +1,120 @@
|
||||
+From e84a1e030313cbc2875c9d3ee1f016808d33dab3 Mon Sep 17 00:00:00 2001
|
||||
+From: Tad <tad@spotco.us>
|
||||
+Date: Mon, 18 Apr 2016 08:53:03 -0400
|
||||
+Subject: [PATCH] Implement MAC Randomization
|
||||
+
|
||||
+Change-Id: Id074d011eac7c33af267de4c1649670c32770cb5
|
||||
+---
|
||||
+ res/values/cm_strings.xml | 4 ++++
|
||||
+ res/xml/wireless_settings.xml | 6 ++++++
|
||||
+ src/com/android/settings/WirelessSettings.java | 24 +++++++++++++++++++++++-
|
||||
+ 3 files changed, 33 insertions(+), 1 deletion(-)
|
||||
+
|
||||
+diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml
|
||||
+index 128660e..8aa4785 100644
|
||||
+--- a/res/values/cm_strings.xml
|
||||
++++ b/res/values/cm_strings.xml
|
||||
+@@ -1187,4 +1187,8 @@
|
||||
+
|
||||
+ <!-- Label for settings shortcut: carrier selection -->
|
||||
+ <string name="shortcut_carrier_title">Network operators</string>
|
||||
++
|
||||
++ <!-- randomize MAC addresses -->
|
||||
++ <string name="randomize_mac_title">Randomize MAC addresses</string>
|
||||
++ <string name="randomize_mac_summary">Assign random MAC addresses when network devices are enabled</string>
|
||||
+ </resources>
|
||||
+diff --git a/res/xml/wireless_settings.xml b/res/xml/wireless_settings.xml
|
||||
+index 8882003..4a2d5d0 100644
|
||||
+--- a/res/xml/wireless_settings.xml
|
||||
++++ b/res/xml/wireless_settings.xml
|
||||
+@@ -19,6 +19,12 @@
|
||||
+ android:title="@string/radio_controls_title">
|
||||
+
|
||||
+ <SwitchPreference
|
||||
++ android:key="randomize_mac"
|
||||
++ android:title="@string/randomize_mac_title"
|
||||
++ android:summary="@string/randomize_mac_summary"
|
||||
++ android:persistent="false" />
|
||||
++
|
||||
++ <SwitchPreference
|
||||
+ android:key="toggle_airplane"
|
||||
+ android:title="@string/airplane_mode"
|
||||
+ android:persistent="false"
|
||||
+diff --git a/src/com/android/settings/WirelessSettings.java b/src/com/android/settings/WirelessSettings.java
|
||||
+index 4a0c9e3..4432940 100644
|
||||
+--- a/src/com/android/settings/WirelessSettings.java
|
||||
++++ b/src/com/android/settings/WirelessSettings.java
|
||||
+@@ -37,6 +37,7 @@ import android.os.SystemProperties;
|
||||
+ import android.os.UserHandle;
|
||||
+ import android.os.UserManager;
|
||||
+ import android.preference.Preference;
|
||||
++import android.preference.Preference.OnPreferenceChangeListener;
|
||||
+ import android.preference.PreferenceCategory;
|
||||
+ import android.preference.PreferenceScreen;
|
||||
+ import android.preference.SwitchPreference;
|
||||
+@@ -58,9 +59,11 @@ import java.util.ArrayList;
|
||||
+ import java.util.Arrays;
|
||||
+ import java.util.List;
|
||||
+
|
||||
+-public class WirelessSettings extends SettingsPreferenceFragment implements Indexable {
|
||||
++public class WirelessSettings extends SettingsPreferenceFragment
|
||||
++ implements OnPreferenceChangeListener, Indexable {
|
||||
+ private static final String TAG = "WirelessSettings";
|
||||
+
|
||||
++ private static final String KEY_RANDOMIZE_MAC = "randomize_mac";
|
||||
+ private static final String KEY_TOGGLE_AIRPLANE = "toggle_airplane";
|
||||
+ private static final String KEY_NFC_CATEGORY_SETTINGS = "nfc_category_settings";
|
||||
+ private static final String KEY_TOGGLE_NFC = "toggle_nfc";
|
||||
+@@ -76,9 +79,12 @@ public class WirelessSettings extends SettingsPreferenceFragment implements Inde
|
||||
+ private static final String KEY_WFC_SETTINGS = "wifi_calling_settings";
|
||||
+ private static final String KEY_NFC_PAYMENT_SETTINGS = "nfc_payment_settings";
|
||||
+
|
||||
++ private static final String RANDOMIZE_PERSIST_PROP = "persist.privacy.randomize_mac";
|
||||
++
|
||||
+ public static final String EXIT_ECM_RESULT = "exit_ecm_result";
|
||||
+ public static final int REQUEST_CODE_EXIT_ECM = 1;
|
||||
+
|
||||
++ private SwitchPreference mRandomizeMac;
|
||||
+ private AirplaneModeEnabler mAirplaneModeEnabler;
|
||||
+ private SwitchPreference mAirplaneModePreference;
|
||||
+ private NfcEnabler mNfcEnabler;
|
||||
+@@ -232,6 +238,8 @@ public class WirelessSettings extends SettingsPreferenceFragment implements Inde
|
||||
+ final boolean isSecondaryUser = myUserId != UserHandle.USER_OWNER;
|
||||
+
|
||||
+ final Activity activity = getActivity();
|
||||
++ mRandomizeMac = (SwitchPreference) findPreference(KEY_RANDOMIZE_MAC);
|
||||
++ mRandomizeMac.setOnPreferenceChangeListener(this);
|
||||
+ mAirplaneModePreference = (SwitchPreference) findPreference(KEY_TOGGLE_AIRPLANE);
|
||||
+ SwitchPreference nfc = (SwitchPreference) findPreference(KEY_TOGGLE_NFC);
|
||||
+ PreferenceScreen androidBeam = (PreferenceScreen) findPreference(KEY_ANDROID_BEAM_SETTINGS);
|
||||
+@@ -370,6 +378,10 @@ public class WirelessSettings extends SettingsPreferenceFragment implements Inde
|
||||
+ public void onResume() {
|
||||
+ super.onResume();
|
||||
+
|
||||
++ if (mRandomizeMac != null) {
|
||||
++ mRandomizeMac.setChecked(SystemProperties.getBoolean(RANDOMIZE_PERSIST_PROP, true));
|
||||
++ }
|
||||
++
|
||||
+ mAirplaneModeEnabler.resume();
|
||||
+ if (mNfcEnabler != null) {
|
||||
+ mNfcEnabler.resume();
|
||||
+@@ -390,6 +402,16 @@ public class WirelessSettings extends SettingsPreferenceFragment implements Inde
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
++ @Override
|
||||
++ public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
++ if (preference == mRandomizeMac) {
|
||||
++ SystemProperties.set(RANDOMIZE_PERSIST_PROP, (Boolean) newValue ? "1" : "0");
|
||||
++ return true;
|
||||
++ }
|
||||
++
|
||||
++ return false;
|
||||
++ }
|
||||
++
|
||||
+ @Override
|
||||
+ public void onSaveInstanceState(Bundle outState) {
|
||||
+ super.onSaveInstanceState(outState);
|
||||
+--
|
||||
+2.8.0
|
||||
+
|
||||
diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml
|
||||
index 8aa4785..cb825c2 100644
|
||||
--- a/res/values/cm_strings.xml
|
||||
+++ b/res/values/cm_strings.xml
|
||||
@@ -1191,4 +1191,8 @@
|
||||
<!-- randomize MAC addresses -->
|
||||
<string name="randomize_mac_title">Randomize MAC addresses</string>
|
||||
<string name="randomize_mac_summary">Assign random MAC addresses when network devices are enabled</string>
|
||||
+
|
||||
+ <!-- randomize hostname -->
|
||||
+ <string name="randomize_hostname_title">Randomize network hostname</string>
|
||||
+ <string name="randomize_hostname_summary">Assign random network hostname on boot</string>
|
||||
</resources>
|
||||
diff --git a/res/xml/wireless_settings.xml b/res/xml/wireless_settings.xml
|
||||
index 4a2d5d0..905e8de 100644
|
||||
--- a/res/xml/wireless_settings.xml
|
||||
+++ b/res/xml/wireless_settings.xml
|
||||
@@ -25,6 +25,12 @@
|
||||
android:persistent="false" />
|
||||
|
||||
<SwitchPreference
|
||||
+ android:key="randomize_hostname"
|
||||
+ android:title="@string/randomize_hostname_title"
|
||||
+ android:summary="@string/randomize_hostname_summary"
|
||||
+ android:persistent="false" />
|
||||
+
|
||||
+ <SwitchPreference
|
||||
android:key="toggle_airplane"
|
||||
android:title="@string/airplane_mode"
|
||||
android:persistent="false"
|
||||
diff --git a/src/com/android/settings/WirelessSettings.java b/src/com/android/settings/WirelessSettings.java
|
||||
index 4432940..6ce772e 100644
|
||||
--- a/src/com/android/settings/WirelessSettings.java
|
||||
+++ b/src/com/android/settings/WirelessSettings.java
|
||||
@@ -64,6 +64,7 @@ public class WirelessSettings extends SettingsPreferenceFragment
|
||||
private static final String TAG = "WirelessSettings";
|
||||
|
||||
private static final String KEY_RANDOMIZE_MAC = "randomize_mac";
|
||||
+ private static final String KEY_RANDOMIZE_HOST = "randomize_hostname";
|
||||
private static final String KEY_TOGGLE_AIRPLANE = "toggle_airplane";
|
||||
private static final String KEY_NFC_CATEGORY_SETTINGS = "nfc_category_settings";
|
||||
private static final String KEY_TOGGLE_NFC = "toggle_nfc";
|
||||
@@ -80,11 +81,13 @@ public class WirelessSettings extends SettingsPreferenceFragment
|
||||
private static final String KEY_NFC_PAYMENT_SETTINGS = "nfc_payment_settings";
|
||||
|
||||
private static final String RANDOMIZE_PERSIST_PROP = "persist.privacy.randomize_mac";
|
||||
+ private static final String RANDOMIZE_HOST_PERSIST_PROP = "persist.privacy.randomize_host";
|
||||
|
||||
public static final String EXIT_ECM_RESULT = "exit_ecm_result";
|
||||
public static final int REQUEST_CODE_EXIT_ECM = 1;
|
||||
|
||||
private SwitchPreference mRandomizeMac;
|
||||
+ private SwitchPreference mRandomizeHost;
|
||||
private AirplaneModeEnabler mAirplaneModeEnabler;
|
||||
private SwitchPreference mAirplaneModePreference;
|
||||
private NfcEnabler mNfcEnabler;
|
||||
@@ -240,6 +243,8 @@ public class WirelessSettings extends SettingsPreferenceFragment
|
||||
final Activity activity = getActivity();
|
||||
mRandomizeMac = (SwitchPreference) findPreference(KEY_RANDOMIZE_MAC);
|
||||
mRandomizeMac.setOnPreferenceChangeListener(this);
|
||||
+ mRandomizeHost = (SwitchPreference) findPreference(KEY_RANDOMIZE_HOST);
|
||||
+ mRandomizeHost.setOnPreferenceChangeListener(this);
|
||||
mAirplaneModePreference = (SwitchPreference) findPreference(KEY_TOGGLE_AIRPLANE);
|
||||
SwitchPreference nfc = (SwitchPreference) findPreference(KEY_TOGGLE_NFC);
|
||||
PreferenceScreen androidBeam = (PreferenceScreen) findPreference(KEY_ANDROID_BEAM_SETTINGS);
|
||||
@@ -382,6 +387,10 @@ public class WirelessSettings extends SettingsPreferenceFragment
|
||||
mRandomizeMac.setChecked(SystemProperties.getBoolean(RANDOMIZE_PERSIST_PROP, true));
|
||||
}
|
||||
|
||||
+ if (mRandomizeHost != null) {
|
||||
+ mRandomizeHost.setChecked(SystemProperties.getBoolean(RANDOMIZE_HOST_PERSIST_PROP, true));
|
||||
+ }
|
||||
+
|
||||
mAirplaneModeEnabler.resume();
|
||||
if (mNfcEnabler != null) {
|
||||
mNfcEnabler.resume();
|
||||
@@ -409,6 +418,11 @@ public class WirelessSettings extends SettingsPreferenceFragment
|
||||
return true;
|
||||
}
|
||||
|
||||
+ if (preference == mRandomizeHost) {
|
||||
+ SystemProperties.set(RANDOMIZE_HOST_PERSIST_PROP, (Boolean) newValue ? "1" : "0");
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
return false;
|
||||
}
|
||||
|
||||
--
|
||||
2.8.0
|
||||
|
@ -1,120 +0,0 @@
|
||||
From e84a1e030313cbc2875c9d3ee1f016808d33dab3 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Mon, 18 Apr 2016 08:53:03 -0400
|
||||
Subject: [PATCH] Implement MAC Randomization
|
||||
|
||||
Change-Id: Id074d011eac7c33af267de4c1649670c32770cb5
|
||||
---
|
||||
res/values/cm_strings.xml | 4 ++++
|
||||
res/xml/wireless_settings.xml | 6 ++++++
|
||||
src/com/android/settings/WirelessSettings.java | 24 +++++++++++++++++++++++-
|
||||
3 files changed, 33 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml
|
||||
index 128660e..8aa4785 100644
|
||||
--- a/res/values/cm_strings.xml
|
||||
+++ b/res/values/cm_strings.xml
|
||||
@@ -1187,4 +1187,8 @@
|
||||
|
||||
<!-- Label for settings shortcut: carrier selection -->
|
||||
<string name="shortcut_carrier_title">Network operators</string>
|
||||
+
|
||||
+ <!-- randomize MAC addresses -->
|
||||
+ <string name="randomize_mac_title">Randomize MAC addresses</string>
|
||||
+ <string name="randomize_mac_summary">Assign random MAC addresses when network devices are enabled</string>
|
||||
</resources>
|
||||
diff --git a/res/xml/wireless_settings.xml b/res/xml/wireless_settings.xml
|
||||
index 8882003..4a2d5d0 100644
|
||||
--- a/res/xml/wireless_settings.xml
|
||||
+++ b/res/xml/wireless_settings.xml
|
||||
@@ -19,6 +19,12 @@
|
||||
android:title="@string/radio_controls_title">
|
||||
|
||||
<SwitchPreference
|
||||
+ android:key="randomize_mac"
|
||||
+ android:title="@string/randomize_mac_title"
|
||||
+ android:summary="@string/randomize_mac_summary"
|
||||
+ android:persistent="false" />
|
||||
+
|
||||
+ <SwitchPreference
|
||||
android:key="toggle_airplane"
|
||||
android:title="@string/airplane_mode"
|
||||
android:persistent="false"
|
||||
diff --git a/src/com/android/settings/WirelessSettings.java b/src/com/android/settings/WirelessSettings.java
|
||||
index 4a0c9e3..4432940 100644
|
||||
--- a/src/com/android/settings/WirelessSettings.java
|
||||
+++ b/src/com/android/settings/WirelessSettings.java
|
||||
@@ -37,6 +37,7 @@ import android.os.SystemProperties;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.preference.Preference;
|
||||
+import android.preference.Preference.OnPreferenceChangeListener;
|
||||
import android.preference.PreferenceCategory;
|
||||
import android.preference.PreferenceScreen;
|
||||
import android.preference.SwitchPreference;
|
||||
@@ -58,9 +59,11 @@ import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
-public class WirelessSettings extends SettingsPreferenceFragment implements Indexable {
|
||||
+public class WirelessSettings extends SettingsPreferenceFragment
|
||||
+ implements OnPreferenceChangeListener, Indexable {
|
||||
private static final String TAG = "WirelessSettings";
|
||||
|
||||
+ private static final String KEY_RANDOMIZE_MAC = "randomize_mac";
|
||||
private static final String KEY_TOGGLE_AIRPLANE = "toggle_airplane";
|
||||
private static final String KEY_NFC_CATEGORY_SETTINGS = "nfc_category_settings";
|
||||
private static final String KEY_TOGGLE_NFC = "toggle_nfc";
|
||||
@@ -76,9 +79,12 @@ public class WirelessSettings extends SettingsPreferenceFragment implements Inde
|
||||
private static final String KEY_WFC_SETTINGS = "wifi_calling_settings";
|
||||
private static final String KEY_NFC_PAYMENT_SETTINGS = "nfc_payment_settings";
|
||||
|
||||
+ private static final String RANDOMIZE_PERSIST_PROP = "persist.privacy.randomize_mac";
|
||||
+
|
||||
public static final String EXIT_ECM_RESULT = "exit_ecm_result";
|
||||
public static final int REQUEST_CODE_EXIT_ECM = 1;
|
||||
|
||||
+ private SwitchPreference mRandomizeMac;
|
||||
private AirplaneModeEnabler mAirplaneModeEnabler;
|
||||
private SwitchPreference mAirplaneModePreference;
|
||||
private NfcEnabler mNfcEnabler;
|
||||
@@ -232,6 +238,8 @@ public class WirelessSettings extends SettingsPreferenceFragment implements Inde
|
||||
final boolean isSecondaryUser = myUserId != UserHandle.USER_OWNER;
|
||||
|
||||
final Activity activity = getActivity();
|
||||
+ mRandomizeMac = (SwitchPreference) findPreference(KEY_RANDOMIZE_MAC);
|
||||
+ mRandomizeMac.setOnPreferenceChangeListener(this);
|
||||
mAirplaneModePreference = (SwitchPreference) findPreference(KEY_TOGGLE_AIRPLANE);
|
||||
SwitchPreference nfc = (SwitchPreference) findPreference(KEY_TOGGLE_NFC);
|
||||
PreferenceScreen androidBeam = (PreferenceScreen) findPreference(KEY_ANDROID_BEAM_SETTINGS);
|
||||
@@ -370,6 +378,10 @@ public class WirelessSettings extends SettingsPreferenceFragment implements Inde
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
|
||||
+ if (mRandomizeMac != null) {
|
||||
+ mRandomizeMac.setChecked(SystemProperties.getBoolean(RANDOMIZE_PERSIST_PROP, true));
|
||||
+ }
|
||||
+
|
||||
mAirplaneModeEnabler.resume();
|
||||
if (mNfcEnabler != null) {
|
||||
mNfcEnabler.resume();
|
||||
@@ -390,6 +402,16 @@ public class WirelessSettings extends SettingsPreferenceFragment implements Inde
|
||||
}
|
||||
}
|
||||
|
||||
+ @Override
|
||||
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
+ if (preference == mRandomizeMac) {
|
||||
+ SystemProperties.set(RANDOMIZE_PERSIST_PROP, (Boolean) newValue ? "1" : "0");
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
@Override
|
||||
public void onSaveInstanceState(Bundle outState) {
|
||||
super.onSaveInstanceState(outState);
|
||||
--
|
||||
2.8.0
|
||||
|
@ -1,971 +0,0 @@
|
||||
From 20b2e611f53c505bfeb5d76176bc0efab9fdf216 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Wed, 24 Feb 2016 08:41:10 -0500
|
||||
Subject: [PATCH] Remove analytics
|
||||
|
||||
Change-Id: I8ef6bc93aa3e8a256bfd137a982d50c15100d4f0
|
||||
---
|
||||
AndroidManifest.xml | 26 --
|
||||
res/xml/anonymous_stats.xml | 32 ---
|
||||
res/xml/privacy_settings_cyanogenmod.xml | 8 -
|
||||
.../android/settings/cmstats/AnonymousStats.java | 107 --------
|
||||
src/com/android/settings/cmstats/PreviewData.java | 55 ----
|
||||
.../android/settings/cmstats/ReportingService.java | 106 --------
|
||||
.../settings/cmstats/ReportingServiceManager.java | 123 ---------
|
||||
.../settings/cmstats/StatsUploadJobService.java | 291 ---------------------
|
||||
src/com/android/settings/cmstats/Utilities.java | 102 --------
|
||||
.../settings/cyanogenmod/PrivacySettings.java | 3 -
|
||||
10 files changed, 853 deletions(-)
|
||||
delete mode 100644 res/xml/anonymous_stats.xml
|
||||
delete mode 100644 src/com/android/settings/cmstats/AnonymousStats.java
|
||||
delete mode 100644 src/com/android/settings/cmstats/PreviewData.java
|
||||
delete mode 100644 src/com/android/settings/cmstats/ReportingService.java
|
||||
delete mode 100644 src/com/android/settings/cmstats/ReportingServiceManager.java
|
||||
delete mode 100644 src/com/android/settings/cmstats/StatsUploadJobService.java
|
||||
delete mode 100644 src/com/android/settings/cmstats/Utilities.java
|
||||
|
||||
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
|
||||
index 775dbf0..f0ca92f 100755
|
||||
--- a/AndroidManifest.xml
|
||||
+++ b/AndroidManifest.xml
|
||||
@@ -1556,12 +1556,6 @@
|
||||
|
||||
<activity android:name=".EncryptionInterstitial"/>
|
||||
|
||||
- <service android:label="ReportingService"
|
||||
- android:enabled="true"
|
||||
- android:exported="false"
|
||||
- android:name=".cmstats.ReportingService">
|
||||
- </service>
|
||||
-
|
||||
<!-- Runs in the phone process since it needs access to the Phone object -->
|
||||
<activity android:name=".deviceinfo.Status"
|
||||
android:label="@string/device_status_activity_title"
|
||||
@@ -2674,26 +2668,6 @@
|
||||
</intent-filter>$
|
||||
</receiver>
|
||||
|
||||
- <!-- Anonymous Statistics -->
|
||||
- <receiver android:name=".cmstats.ReportingServiceManager"
|
||||
- android:enabled="true"
|
||||
- android:exported="false"
|
||||
- android:label="ReportingServiceManager">
|
||||
- <intent-filter>
|
||||
- <action android:name="android.intent.action.BOOT_COMPLETED" />
|
||||
- <action android:name="com.android.settings.action.TRIGGER_REPORT_METRICS" />
|
||||
- </intent-filter>
|
||||
- </receiver>
|
||||
-
|
||||
- <service android:label="ReportingService"
|
||||
- android:enabled="true"
|
||||
- android:exported="false"
|
||||
- android:name=".cmstats.ReportingService">
|
||||
- </service>
|
||||
-
|
||||
- <service android:name=".cmstats.StatsUploadJobService"
|
||||
- android:permission="android.permission.BIND_JOB_SERVICE" />
|
||||
-
|
||||
<!-- Watch for ContactsContract.Profile changes and update the user's photo. -->
|
||||
<receiver android:name=".users.ProfileUpdateReceiver">
|
||||
<intent-filter>
|
||||
diff --git a/res/xml/anonymous_stats.xml b/res/xml/anonymous_stats.xml
|
||||
deleted file mode 100644
|
||||
index 0f3b8e2..0000000
|
||||
--- a/res/xml/anonymous_stats.xml
|
||||
+++ /dev/null
|
||||
@@ -1,32 +0,0 @@
|
||||
-<?xml version="1.0" encoding="utf-8"?>
|
||||
-<!-- Copyright (C) 2012 The CyanogenMod Project
|
||||
-
|
||||
- Licensed under the Apache License, Version 2.0 (the "License");
|
||||
- you may not use this file except in compliance with the License.
|
||||
- You may obtain a copy of the License at
|
||||
-
|
||||
- http://www.apache.org/licenses/LICENSE-2.0
|
||||
-
|
||||
- Unless required by applicable law or agreed to in writing, software
|
||||
- distributed under the License is distributed on an "AS IS" BASIS,
|
||||
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
- See the License for the specific language governing permissions and
|
||||
- limitations under the License.
|
||||
--->
|
||||
-
|
||||
-<PreferenceScreen
|
||||
- xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
- android:title="@string/anonymous_statistics_title"
|
||||
- xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
|
||||
-
|
||||
- <com.android.settings.cyanogenmod.CMSecureSettingSwitchPreference
|
||||
- android:key="stats_collection"
|
||||
- android:title="@string/stats_collection_title"
|
||||
- android:summary="@string/stats_collection_summary"
|
||||
- android:defaultValue="true" />
|
||||
-
|
||||
- <PreferenceScreen
|
||||
- android:title="@string/preview_data_title"
|
||||
- android:fragment="com.android.settings.cmstats.PreviewData" />
|
||||
-
|
||||
-</PreferenceScreen>
|
||||
diff --git a/res/xml/privacy_settings_cyanogenmod.xml b/res/xml/privacy_settings_cyanogenmod.xml
|
||||
index 256ca00..04f8643 100644
|
||||
--- a/res/xml/privacy_settings_cyanogenmod.xml
|
||||
+++ b/res/xml/privacy_settings_cyanogenmod.xml
|
||||
@@ -29,14 +29,6 @@
|
||||
android:summary="@string/blacklist_summary"
|
||||
android:fragment="com.android.settings.blacklist.BlacklistSettings" />
|
||||
|
||||
- <!-- Anonymous statistics - (CMStats) -->
|
||||
- <PreferenceScreen
|
||||
- android:key="cmstats"
|
||||
- android:title="@string/anonymous_statistics_title"
|
||||
- android:summary="@string/anonymous_statistics_summary"
|
||||
- android:fragment="com.android.settings.cmstats.AnonymousStats" >
|
||||
- </PreferenceScreen>
|
||||
-
|
||||
<!-- Protected Apps! -->
|
||||
<Preference
|
||||
android:key="protected_apps_manager"
|
||||
diff --git a/src/com/android/settings/cmstats/AnonymousStats.java b/src/com/android/settings/cmstats/AnonymousStats.java
|
||||
deleted file mode 100644
|
||||
index 232a533..0000000
|
||||
--- a/src/com/android/settings/cmstats/AnonymousStats.java
|
||||
+++ /dev/null
|
||||
@@ -1,107 +0,0 @@
|
||||
-/*
|
||||
- * Copyright (C) 2015 The CyanogenMod Project
|
||||
- *
|
||||
- * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
- * you may not use this file except in compliance with the License.
|
||||
- * You may obtain a copy of the License at
|
||||
- *
|
||||
- * http://www.apache.org/licenses/LICENSE-2.0
|
||||
- *
|
||||
- * Unless required by applicable law or agreed to in writing, software
|
||||
- * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
- * See the License for the specific language governing permissions and
|
||||
- * limitations under the License.
|
||||
- */
|
||||
-
|
||||
-package com.android.settings.cmstats;
|
||||
-
|
||||
-import android.content.Context;
|
||||
-import android.content.SharedPreferences;
|
||||
-import android.os.Bundle;
|
||||
-
|
||||
-import android.os.UserHandle;
|
||||
-import android.preference.Preference;
|
||||
-import android.preference.PreferenceScreen;
|
||||
-import android.preference.SwitchPreference;
|
||||
-import com.android.settings.R;
|
||||
-import com.android.settings.SettingsPreferenceFragment;
|
||||
-
|
||||
-import cyanogenmod.providers.CMSettings;
|
||||
-
|
||||
-import org.cyanogenmod.internal.logging.CMMetricsLogger;
|
||||
-
|
||||
-public class AnonymousStats extends SettingsPreferenceFragment {
|
||||
-
|
||||
- private static final String PREF_FILE_NAME = "CMStats";
|
||||
- /* package */ static final String ANONYMOUS_OPT_IN = "pref_anonymous_opt_in";
|
||||
- /* package */ static final String ANONYMOUS_LAST_CHECKED = "pref_anonymous_checked_in";
|
||||
-
|
||||
- /* package */ static final String KEY_LAST_JOB_ID = "last_job_id";
|
||||
- /* package */ static final int QUEUE_MAX_THRESHOLD = 1000;
|
||||
-
|
||||
- public static final String KEY_STATS = "stats_collection";
|
||||
-
|
||||
- SwitchPreference mStatsSwitch;
|
||||
-
|
||||
- public static SharedPreferences getPreferences(Context context) {
|
||||
- return context.getSharedPreferences(PREF_FILE_NAME, 0);
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public void onCreate(Bundle savedInstanceState) {
|
||||
- super.onCreate(savedInstanceState);
|
||||
- addPreferencesFromResource(R.xml.anonymous_stats);
|
||||
- mStatsSwitch = (SwitchPreference) findPreference(KEY_STATS);
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
|
||||
- if (preference == mStatsSwitch) {
|
||||
- boolean checked = mStatsSwitch.isChecked();
|
||||
- if (checked) {
|
||||
- // clear opt out flags
|
||||
- CMSettings.Secure.putIntForUser(getContentResolver(),
|
||||
- CMSettings.Secure.STATS_COLLECTION_REPORTED, 0, UserHandle.USER_OWNER);
|
||||
- }
|
||||
- // will initiate opt out sequence if necessary
|
||||
- ReportingServiceManager.setAlarm(getActivity());
|
||||
- return true;
|
||||
- }
|
||||
- return super.onPreferenceTreeClick(preferenceScreen, preference);
|
||||
- }
|
||||
-
|
||||
- public static void updateLastSynced(Context context) {
|
||||
- getPreferences(context)
|
||||
- .edit()
|
||||
- .putLong(ANONYMOUS_LAST_CHECKED,System.currentTimeMillis())
|
||||
- .commit();
|
||||
- }
|
||||
-
|
||||
- private static int getLastJobId(Context context) {
|
||||
- return getPreferences(context).getInt(KEY_LAST_JOB_ID, 0);
|
||||
- }
|
||||
-
|
||||
- private static void setLastJobId(Context context, int id) {
|
||||
- getPreferences(context)
|
||||
- .edit()
|
||||
- .putInt(KEY_LAST_JOB_ID, id)
|
||||
- .commit();
|
||||
- }
|
||||
-
|
||||
- public static int getNextJobId(Context context) {
|
||||
- int lastId = getLastJobId(context);
|
||||
- if (lastId >= QUEUE_MAX_THRESHOLD) {
|
||||
- lastId = 1;
|
||||
- } else {
|
||||
- lastId += 1;
|
||||
- }
|
||||
- setLastJobId(context, lastId);
|
||||
- return lastId;
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- protected int getMetricsCategory() {
|
||||
- return CMMetricsLogger.ANONYMOUS_STATS;
|
||||
- }
|
||||
-}
|
||||
diff --git a/src/com/android/settings/cmstats/PreviewData.java b/src/com/android/settings/cmstats/PreviewData.java
|
||||
deleted file mode 100644
|
||||
index 0adacad..0000000
|
||||
--- a/src/com/android/settings/cmstats/PreviewData.java
|
||||
+++ /dev/null
|
||||
@@ -1,55 +0,0 @@
|
||||
-/*
|
||||
- * Copyright (C) 2012 The CyanogenMod Project
|
||||
- *
|
||||
- * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
- * you may not use this file except in compliance with the License.
|
||||
- * You may obtain a copy of the License at
|
||||
- *
|
||||
- * http://www.apache.org/licenses/LICENSE-2.0
|
||||
- *
|
||||
- * Unless required by applicable law or agreed to in writing, software
|
||||
- * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
- * See the License for the specific language governing permissions and
|
||||
- * limitations under the License.
|
||||
- */
|
||||
-
|
||||
-package com.android.settings.cmstats;
|
||||
-
|
||||
-import android.content.Context;
|
||||
-import android.os.Bundle;
|
||||
-import android.preference.Preference;
|
||||
-import android.preference.PreferenceScreen;
|
||||
-
|
||||
-import com.android.settings.R;
|
||||
-import com.android.settings.SettingsPreferenceFragment;
|
||||
-import org.cyanogenmod.internal.logging.CMMetricsLogger;
|
||||
-
|
||||
-public class PreviewData extends SettingsPreferenceFragment {
|
||||
- private static final String UNIQUE_ID = "preview_id";
|
||||
- private static final String DEVICE = "preview_device";
|
||||
- private static final String VERSION = "preview_version";
|
||||
- private static final String COUNTRY = "preview_country";
|
||||
- private static final String CARRIER = "preview_carrier";
|
||||
-
|
||||
- @Override
|
||||
- public void onCreate(Bundle savedInstanceState) {
|
||||
- super.onCreate(savedInstanceState);
|
||||
-
|
||||
- addPreferencesFromResource(R.xml.preview_data);
|
||||
-
|
||||
- final PreferenceScreen prefSet = getPreferenceScreen();
|
||||
- final Context context = getActivity();
|
||||
-
|
||||
- prefSet.findPreference(UNIQUE_ID).setSummary(Utilities.getUniqueID(context));
|
||||
- prefSet.findPreference(DEVICE).setSummary(Utilities.getDevice());
|
||||
- prefSet.findPreference(VERSION).setSummary(Utilities.getModVersion());
|
||||
- prefSet.findPreference(COUNTRY).setSummary(Utilities.getCountryCode(context));
|
||||
- prefSet.findPreference(CARRIER).setSummary(Utilities.getCarrier(context));
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- protected int getMetricsCategory() {
|
||||
- return CMMetricsLogger.PREVIEW_DATA;
|
||||
- }
|
||||
-}
|
||||
diff --git a/src/com/android/settings/cmstats/ReportingService.java b/src/com/android/settings/cmstats/ReportingService.java
|
||||
deleted file mode 100644
|
||||
index 8410143..0000000
|
||||
--- a/src/com/android/settings/cmstats/ReportingService.java
|
||||
+++ /dev/null
|
||||
@@ -1,106 +0,0 @@
|
||||
-/*
|
||||
- * Copyright (C) 2015 The CyanogenMod Project
|
||||
- *
|
||||
- * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
- * you may not use this file except in compliance with the License.
|
||||
- * You may obtain a copy of the License at
|
||||
- *
|
||||
- * http://www.apache.org/licenses/LICENSE-2.0
|
||||
- *
|
||||
- * Unless required by applicable law or agreed to in writing, software
|
||||
- * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
- * See the License for the specific language governing permissions and
|
||||
- * limitations under the License.
|
||||
- */
|
||||
-
|
||||
-package com.android.settings.cmstats;
|
||||
-
|
||||
-import android.app.IntentService;
|
||||
-import android.app.job.JobInfo;
|
||||
-import android.app.job.JobScheduler;
|
||||
-import android.content.ComponentName;
|
||||
-import android.content.Context;
|
||||
-import android.content.Intent;
|
||||
-import android.os.PersistableBundle;
|
||||
-import android.os.UserHandle;
|
||||
-import android.util.Log;
|
||||
-import cyanogenmod.providers.CMSettings;
|
||||
-
|
||||
-import java.util.List;
|
||||
-
|
||||
-public class ReportingService extends IntentService {
|
||||
- /* package */ static final String TAG = "CMStats";
|
||||
- private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
|
||||
-
|
||||
- public static final String EXTRA_OPTING_OUT = "cmstats::opt_out";
|
||||
-
|
||||
- public ReportingService() {
|
||||
- super(ReportingService.class.getSimpleName());
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- protected void onHandleIntent(Intent intent) {
|
||||
- JobScheduler js = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE);
|
||||
-
|
||||
- String deviceId = Utilities.getUniqueID(getApplicationContext());
|
||||
- String deviceName = Utilities.getDevice();
|
||||
- String deviceVersion = Utilities.getModVersion();
|
||||
- String deviceCountry = Utilities.getCountryCode(getApplicationContext());
|
||||
- String deviceCarrier = Utilities.getCarrier(getApplicationContext());
|
||||
- String deviceCarrierId = Utilities.getCarrierId(getApplicationContext());
|
||||
- boolean optOut = intent.getBooleanExtra(EXTRA_OPTING_OUT, false);
|
||||
-
|
||||
- final int cyanogenJobId = AnonymousStats.getNextJobId(getApplicationContext());
|
||||
- final int cmOrgJobId = AnonymousStats.getNextJobId(getApplicationContext());
|
||||
-
|
||||
- if (DEBUG) Log.d(TAG, "scheduling jobs id: " + cyanogenJobId + ", " + cmOrgJobId);
|
||||
-
|
||||
- PersistableBundle cyanogenBundle = new PersistableBundle();
|
||||
- cyanogenBundle.putBoolean(StatsUploadJobService.KEY_OPT_OUT, optOut);
|
||||
- cyanogenBundle.putString(StatsUploadJobService.KEY_DEVICE_NAME, deviceName);
|
||||
- cyanogenBundle.putString(StatsUploadJobService.KEY_UNIQUE_ID, deviceId);
|
||||
- cyanogenBundle.putString(StatsUploadJobService.KEY_VERSION, deviceVersion);
|
||||
- cyanogenBundle.putString(StatsUploadJobService.KEY_COUNTRY, deviceCountry);
|
||||
- cyanogenBundle.putString(StatsUploadJobService.KEY_CARRIER, deviceCarrier);
|
||||
- cyanogenBundle.putString(StatsUploadJobService.KEY_CARRIER_ID, deviceCarrierId);
|
||||
- cyanogenBundle.putLong(StatsUploadJobService.KEY_TIMESTAMP, System.currentTimeMillis());
|
||||
-
|
||||
- // get snapshot and persist it
|
||||
- PersistableBundle cmBundle = new PersistableBundle(cyanogenBundle);
|
||||
-
|
||||
- // set job types
|
||||
- cyanogenBundle.putInt(StatsUploadJobService.KEY_JOB_TYPE,
|
||||
- StatsUploadJobService.JOB_TYPE_CYANOGEN);
|
||||
- cmBundle.putInt(StatsUploadJobService.KEY_JOB_TYPE,
|
||||
- StatsUploadJobService.JOB_TYPE_CMORG);
|
||||
-
|
||||
- // schedule cyanogen stats upload
|
||||
- js.schedule(new JobInfo.Builder(cyanogenJobId, new ComponentName(getPackageName(),
|
||||
- StatsUploadJobService.class.getName()))
|
||||
- .setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
|
||||
- .setMinimumLatency(1000)
|
||||
- .setExtras(cyanogenBundle)
|
||||
- .setPersisted(true)
|
||||
- .build());
|
||||
-
|
||||
- // schedule cmorg stats upload
|
||||
- js.schedule(new JobInfo.Builder(cmOrgJobId, new ComponentName(getPackageName(),
|
||||
- StatsUploadJobService.class.getName()))
|
||||
- .setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
|
||||
- .setMinimumLatency(1000)
|
||||
- .setExtras(cmBundle)
|
||||
- .setPersisted(true)
|
||||
- .build());
|
||||
-
|
||||
- if (optOut) {
|
||||
- // we've successfully scheduled the opt out.
|
||||
- CMSettings.Secure.putIntForUser(getContentResolver(),
|
||||
- CMSettings.Secure.STATS_COLLECTION_REPORTED, 1, UserHandle.USER_OWNER);
|
||||
- }
|
||||
-
|
||||
- // reschedule
|
||||
- AnonymousStats.updateLastSynced(this);
|
||||
- ReportingServiceManager.setAlarm(this);
|
||||
- }
|
||||
-}
|
||||
diff --git a/src/com/android/settings/cmstats/ReportingServiceManager.java b/src/com/android/settings/cmstats/ReportingServiceManager.java
|
||||
deleted file mode 100644
|
||||
index bce1372..0000000
|
||||
--- a/src/com/android/settings/cmstats/ReportingServiceManager.java
|
||||
+++ /dev/null
|
||||
@@ -1,123 +0,0 @@
|
||||
-/*
|
||||
- * Copyright (C) 2012 The CyanogenMod Project
|
||||
- *
|
||||
- * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
- * you may not use this file except in compliance with the License.
|
||||
- * You may obtain a copy of the License at
|
||||
- *
|
||||
- * http://www.apache.org/licenses/LICENSE-2.0
|
||||
- *
|
||||
- * Unless required by applicable law or agreed to in writing, software
|
||||
- * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
- * See the License for the specific language governing permissions and
|
||||
- * limitations under the License.
|
||||
- */
|
||||
-
|
||||
-package com.android.settings.cmstats;
|
||||
-
|
||||
-import android.app.AlarmManager;
|
||||
-import android.app.PendingIntent;
|
||||
-import android.app.job.JobScheduler;
|
||||
-import android.content.BroadcastReceiver;
|
||||
-import android.content.Context;
|
||||
-import android.content.Intent;
|
||||
-import android.content.SharedPreferences;
|
||||
-import android.os.UserHandle;
|
||||
-import android.util.Log;
|
||||
-import cyanogenmod.providers.CMSettings;
|
||||
-
|
||||
-public class ReportingServiceManager extends BroadcastReceiver {
|
||||
- private static final long MILLIS_PER_HOUR = 60L * 60L * 1000L;
|
||||
- private static final long MILLIS_PER_DAY = 24L * MILLIS_PER_HOUR;
|
||||
- private static final long UPDATE_INTERVAL = 1L * MILLIS_PER_DAY;
|
||||
-
|
||||
- private static final String TAG = ReportingServiceManager.class.getSimpleName();
|
||||
-
|
||||
- public static final String ACTION_LAUNCH_SERVICE =
|
||||
- "com.android.settings.action.TRIGGER_REPORT_METRICS";
|
||||
- public static final String EXTRA_FORCE = "force";
|
||||
-
|
||||
- @Override
|
||||
- public void onReceive(Context context, Intent intent) {
|
||||
- if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
|
||||
- setAlarm(context);
|
||||
- } else if (intent.getAction().equals(ACTION_LAUNCH_SERVICE)){
|
||||
- launchService(context, intent.getBooleanExtra(EXTRA_FORCE, false));
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- /**
|
||||
- * opt out if we haven't yet
|
||||
- */
|
||||
- public static void initiateOptOut(Context context) {
|
||||
- final boolean optOutReported = CMSettings.Secure.getIntForUser(context.getContentResolver(),
|
||||
- CMSettings.Secure.STATS_COLLECTION_REPORTED, 0, UserHandle.USER_OWNER) == 1;
|
||||
- if (!optOutReported) {
|
||||
- Intent intent = new Intent();
|
||||
- intent.setClass(context, ReportingService.class);
|
||||
- intent.putExtra(ReportingService.EXTRA_OPTING_OUT, true);
|
||||
- context.startServiceAsUser(intent, UserHandle.OWNER);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- public static void setAlarm(Context context) {
|
||||
- SharedPreferences prefs = AnonymousStats.getPreferences(context);
|
||||
- if (prefs.contains(AnonymousStats.ANONYMOUS_OPT_IN)) {
|
||||
- migrate(context, prefs);
|
||||
- }
|
||||
- if (!Utilities.isStatsCollectionEnabled(context)) {
|
||||
- initiateOptOut(context);
|
||||
- return;
|
||||
- }
|
||||
- long lastSynced = prefs.getLong(AnonymousStats.ANONYMOUS_LAST_CHECKED, 0);
|
||||
- if (lastSynced == 0) {
|
||||
- launchService(context, true); // service will reschedule the next alarm
|
||||
- return;
|
||||
- }
|
||||
- long millisFromNow = (lastSynced + UPDATE_INTERVAL) - System.currentTimeMillis();
|
||||
-
|
||||
- Intent intent = new Intent(ACTION_LAUNCH_SERVICE);
|
||||
- intent.setClass(context, ReportingServiceManager.class);
|
||||
-
|
||||
- AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
|
||||
- alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + millisFromNow,
|
||||
- PendingIntent.getBroadcast(context, 0, intent, 0));
|
||||
- Log.d(TAG, "Next sync attempt in : "
|
||||
- + (millisFromNow / MILLIS_PER_HOUR) + " hours");
|
||||
- }
|
||||
-
|
||||
- public static void launchService(Context context, boolean force) {
|
||||
- SharedPreferences prefs = AnonymousStats.getPreferences(context);
|
||||
-
|
||||
- if (!Utilities.isStatsCollectionEnabled(context)) {
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- if (!force) {
|
||||
- long lastSynced = prefs.getLong(AnonymousStats.ANONYMOUS_LAST_CHECKED, 0);
|
||||
- if (lastSynced == 0) {
|
||||
- setAlarm(context);
|
||||
- return;
|
||||
- }
|
||||
- long timeElapsed = System.currentTimeMillis() - lastSynced;
|
||||
- if (timeElapsed < UPDATE_INTERVAL) {
|
||||
- long timeLeft = UPDATE_INTERVAL - timeElapsed;
|
||||
- Log.d(TAG, "Waiting for next sync : "
|
||||
- + timeLeft / MILLIS_PER_HOUR + " hours");
|
||||
- return;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- Intent intent = new Intent();
|
||||
- intent.setClass(context, ReportingService.class);
|
||||
- context.startServiceAsUser(intent, UserHandle.OWNER);
|
||||
- }
|
||||
-
|
||||
- private static void migrate(Context context, SharedPreferences prefs) {
|
||||
- Utilities.setStatsCollectionEnabled(context,
|
||||
- prefs.getBoolean(AnonymousStats.ANONYMOUS_OPT_IN, true));
|
||||
- prefs.edit().remove(AnonymousStats.ANONYMOUS_OPT_IN).commit();
|
||||
- }
|
||||
-
|
||||
-}
|
||||
diff --git a/src/com/android/settings/cmstats/StatsUploadJobService.java b/src/com/android/settings/cmstats/StatsUploadJobService.java
|
||||
deleted file mode 100644
|
||||
index 580a20f..0000000
|
||||
--- a/src/com/android/settings/cmstats/StatsUploadJobService.java
|
||||
+++ /dev/null
|
||||
@@ -1,291 +0,0 @@
|
||||
-/*
|
||||
- * Copyright (C) 2015 The CyanogenMod Project
|
||||
- *
|
||||
- * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
- * you may not use this file except in compliance with the License.
|
||||
- * You may obtain a copy of the License at
|
||||
- *
|
||||
- * http://www.apache.org/licenses/LICENSE-2.0
|
||||
- *
|
||||
- * Unless required by applicable law or agreed to in writing, software
|
||||
- * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
- * See the License for the specific language governing permissions and
|
||||
- * limitations under the License.
|
||||
- */
|
||||
-
|
||||
-package com.android.settings.cmstats;
|
||||
-
|
||||
-import android.app.job.JobParameters;
|
||||
-import android.app.job.JobService;
|
||||
-import android.net.Uri;
|
||||
-import android.os.AsyncTask;
|
||||
-import android.os.PersistableBundle;
|
||||
-import android.util.ArrayMap;
|
||||
-import android.util.Log;
|
||||
-import com.android.settings.R;
|
||||
-import org.json.JSONException;
|
||||
-import org.json.JSONObject;
|
||||
-
|
||||
-import java.io.BufferedInputStream;
|
||||
-import java.io.BufferedReader;
|
||||
-import java.io.BufferedWriter;
|
||||
-import java.io.IOException;
|
||||
-import java.io.InputStream;
|
||||
-import java.io.InputStreamReader;
|
||||
-import java.io.OutputStream;
|
||||
-import java.io.OutputStreamWriter;
|
||||
-import java.net.HttpURLConnection;
|
||||
-import java.net.URL;
|
||||
-import java.util.Collections;
|
||||
-import java.util.Map;
|
||||
-
|
||||
-public class StatsUploadJobService extends JobService {
|
||||
-
|
||||
- private static final String TAG = StatsUploadJobService.class.getSimpleName();
|
||||
- private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
|
||||
-
|
||||
- public static final String KEY_JOB_TYPE = "job_type";
|
||||
- public static final int JOB_TYPE_CYANOGEN = 1;
|
||||
- public static final int JOB_TYPE_CMORG = 2;
|
||||
-
|
||||
- public static final String KEY_UNIQUE_ID = "uniqueId";
|
||||
- public static final String KEY_DEVICE_NAME = "deviceName";
|
||||
- public static final String KEY_VERSION = "version";
|
||||
- public static final String KEY_COUNTRY = "country";
|
||||
- public static final String KEY_CARRIER = "carrier";
|
||||
- public static final String KEY_CARRIER_ID = "carrierId";
|
||||
- public static final String KEY_TIMESTAMP = "timeStamp";
|
||||
- public static final String KEY_OPT_OUT = "optOut";
|
||||
-
|
||||
- private final Map<JobParameters, StatsUploadTask> mCurrentJobs
|
||||
- = Collections.synchronizedMap(new ArrayMap<JobParameters, StatsUploadTask>());
|
||||
-
|
||||
- @Override
|
||||
- public boolean onStartJob(JobParameters jobParameters) {
|
||||
- if (DEBUG)
|
||||
- Log.d(TAG, "onStartJob() called with " + "jobParameters = [" + jobParameters + "]");
|
||||
- final StatsUploadTask uploadTask = new StatsUploadTask(jobParameters);
|
||||
- mCurrentJobs.put(jobParameters, uploadTask);
|
||||
- uploadTask.execute((Void) null);
|
||||
- return true;
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public boolean onStopJob(JobParameters jobParameters) {
|
||||
- if (DEBUG)
|
||||
- Log.d(TAG, "onStopJob() called with " + "jobParameters = [" + jobParameters + "]");
|
||||
-
|
||||
- final StatsUploadTask cancelledJob;
|
||||
- cancelledJob = mCurrentJobs.remove(jobParameters);
|
||||
-
|
||||
- if (cancelledJob != null) {
|
||||
- // cancel the ongoing background task
|
||||
- cancelledJob.cancel(true);
|
||||
- return true; // reschedule
|
||||
- }
|
||||
-
|
||||
- return false;
|
||||
- }
|
||||
-
|
||||
- private class StatsUploadTask extends AsyncTask<Void, Void, Boolean> {
|
||||
-
|
||||
- private JobParameters mJobParams;
|
||||
-
|
||||
- public StatsUploadTask(JobParameters jobParams) {
|
||||
- this.mJobParams = jobParams;
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- protected Boolean doInBackground(Void... params) {
|
||||
-
|
||||
- PersistableBundle extras = mJobParams.getExtras();
|
||||
-
|
||||
- String deviceId = extras.getString(KEY_UNIQUE_ID);
|
||||
- String deviceName = extras.getString(KEY_DEVICE_NAME);
|
||||
- String deviceVersion = extras.getString(KEY_VERSION);
|
||||
- String deviceCountry = extras.getString(KEY_COUNTRY);
|
||||
- String deviceCarrier = extras.getString(KEY_CARRIER);
|
||||
- String deviceCarrierId = extras.getString(KEY_CARRIER_ID);
|
||||
- long timeStamp = extras.getLong(KEY_TIMESTAMP);
|
||||
- boolean optOut = extras.getBoolean(KEY_OPT_OUT);
|
||||
-
|
||||
- boolean success = false;
|
||||
- int jobType = extras.getInt(KEY_JOB_TYPE, -1);
|
||||
- if (!isCancelled()) {
|
||||
- switch (jobType) {
|
||||
- case JOB_TYPE_CYANOGEN:
|
||||
- try {
|
||||
- JSONObject json = new JSONObject();
|
||||
- json.put("optOut", optOut);
|
||||
- json.put("uniqueId", deviceId);
|
||||
- json.put("deviceName", deviceName);
|
||||
- json.put("version", deviceVersion);
|
||||
- json.put("country", deviceCountry);
|
||||
- json.put("carrier", deviceCarrier);
|
||||
- json.put("carrierId", deviceCarrierId);
|
||||
- json.put("timestamp", timeStamp);
|
||||
-
|
||||
- success = uploadToCyanogen(json);
|
||||
- } catch (IOException | JSONException e) {
|
||||
- Log.e(TAG, "Could not upload stats checkin to cyanogen server", e);
|
||||
- success = false;
|
||||
- }
|
||||
- break;
|
||||
-
|
||||
- case JOB_TYPE_CMORG:
|
||||
- try {
|
||||
- success = uploadToCM(deviceId, deviceName, deviceVersion, deviceCountry,
|
||||
- deviceCarrier, deviceCarrierId, optOut);
|
||||
- } catch (IOException e) {
|
||||
- Log.e(TAG, "Could not upload stats checkin to commnity server", e);
|
||||
- success = false;
|
||||
- }
|
||||
- break;
|
||||
- }
|
||||
- }
|
||||
- if (DEBUG)
|
||||
- Log.d(TAG, "job id " + mJobParams.getJobId() + ", has finished with success="
|
||||
- + success);
|
||||
- return success;
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- protected void onPostExecute(Boolean success) {
|
||||
- mCurrentJobs.remove(mJobParams);
|
||||
- jobFinished(mJobParams, !success);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
-
|
||||
- private boolean uploadToCM(String deviceId, String deviceName, String deviceVersion,
|
||||
- String deviceCountry, String deviceCarrier, String deviceCarrierId,
|
||||
- boolean optOut)
|
||||
- throws IOException {
|
||||
-
|
||||
- final Uri uri = Uri.parse(getString(R.string.stats_cm_url)).buildUpon()
|
||||
- .appendQueryParameter("opt_out", optOut ? "1" : "0")
|
||||
- .appendQueryParameter("device_hash", deviceId)
|
||||
- .appendQueryParameter("device_name", deviceName)
|
||||
- .appendQueryParameter("device_version", deviceVersion)
|
||||
- .appendQueryParameter("device_country", deviceCountry)
|
||||
- .appendQueryParameter("device_carrier", deviceCarrier)
|
||||
- .appendQueryParameter("device_carrier_id", deviceCarrierId).build();
|
||||
- URL url = new URL(uri.toString());
|
||||
- HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
|
||||
- try {
|
||||
- urlConnection.setInstanceFollowRedirects(true);
|
||||
- urlConnection.setDoOutput(true);
|
||||
- urlConnection.connect();
|
||||
-
|
||||
- final int responseCode = urlConnection.getResponseCode();
|
||||
- if (DEBUG) Log.d(TAG, "cm server response code=" + responseCode);
|
||||
- final boolean success = responseCode == HttpURLConnection.HTTP_OK;
|
||||
- if (!success) {
|
||||
- Log.w(TAG, "failed sending, server returned: " + getResponse(urlConnection,
|
||||
- !success));
|
||||
- }
|
||||
- return success;
|
||||
- } finally {
|
||||
- urlConnection.disconnect();
|
||||
- }
|
||||
-
|
||||
- }
|
||||
-
|
||||
- private boolean uploadToCyanogen(JSONObject json)
|
||||
- throws IOException, JSONException {
|
||||
- String authToken = getAuthToken();
|
||||
-
|
||||
- if (authToken.isEmpty()) {
|
||||
- Log.w(TAG, "no auth token!");
|
||||
- }
|
||||
-
|
||||
- URL url = new URL(getString(R.string.stats_cyanogen_url));
|
||||
- HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
|
||||
- try {
|
||||
- urlConnection.setInstanceFollowRedirects(true);
|
||||
- urlConnection.setDoInput(true);
|
||||
- urlConnection.setDoOutput(true);
|
||||
-
|
||||
- urlConnection.setRequestProperty("Accept-Encoding", "identity");
|
||||
- urlConnection.setRequestProperty("Authorization", authToken);
|
||||
- urlConnection.setRequestProperty("Content-Type", "application/json");
|
||||
-
|
||||
- OutputStream os = urlConnection.getOutputStream();
|
||||
- BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8"));
|
||||
- writer.write(json.toString());
|
||||
- writer.flush();
|
||||
- writer.close();
|
||||
- os.close();
|
||||
-
|
||||
- urlConnection.connect();
|
||||
-
|
||||
- final int responseCode = urlConnection.getResponseCode();
|
||||
- final boolean success = responseCode == HttpURLConnection.HTTP_OK;
|
||||
-
|
||||
- final String response = getResponse(urlConnection, !success);
|
||||
- if (DEBUG)
|
||||
- Log.d(TAG, "server responseCode: " + responseCode +", response=" + response);
|
||||
-
|
||||
- if (!success) {
|
||||
- Log.w(TAG, "failed sending, server returned: " + response);
|
||||
- }
|
||||
- return success;
|
||||
- } finally {
|
||||
- urlConnection.disconnect();
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- private String getAuthToken() {
|
||||
- HttpURLConnection urlConnection = null;
|
||||
- try {
|
||||
- URL url = new URL(getString(R.string.stats_cyanogen_token_url));
|
||||
- urlConnection = (HttpURLConnection) url.openConnection();
|
||||
- urlConnection.setInstanceFollowRedirects(true);
|
||||
- urlConnection.setDoInput(true);
|
||||
-
|
||||
- urlConnection.setRequestProperty("Accept-Encoding", "identity");
|
||||
- urlConnection.setRequestProperty("Content-Type", "text/plain");
|
||||
-
|
||||
- urlConnection.connect();
|
||||
-
|
||||
- final int responseCode = urlConnection.getResponseCode();
|
||||
- final boolean success = responseCode == HttpURLConnection.HTTP_OK;
|
||||
- if (DEBUG) Log.d(TAG, "server auth response code=" + responseCode);
|
||||
- final String response = getResponse(urlConnection, !success);
|
||||
- if (DEBUG)
|
||||
- Log.d(TAG, "server auth response=" + response);
|
||||
-
|
||||
- if (success) {
|
||||
- return response;
|
||||
- }
|
||||
- } catch (IOException e) {
|
||||
- Log.e(TAG, "error getting auth token", e);
|
||||
- } finally {
|
||||
- if (urlConnection != null) {
|
||||
- urlConnection.disconnect();
|
||||
- }
|
||||
- }
|
||||
- return "";
|
||||
- }
|
||||
-
|
||||
- private String getResponse(HttpURLConnection httpUrlConnection, boolean errorStream)
|
||||
- throws IOException {
|
||||
- InputStream responseStream = new BufferedInputStream(errorStream
|
||||
- ? httpUrlConnection.getErrorStream()
|
||||
- : httpUrlConnection.getInputStream());
|
||||
-
|
||||
- BufferedReader responseStreamReader = new BufferedReader(
|
||||
- new InputStreamReader(responseStream));
|
||||
- String line = "";
|
||||
- StringBuilder stringBuilder = new StringBuilder();
|
||||
- while ((line = responseStreamReader.readLine()) != null) {
|
||||
- stringBuilder.append(line).append("\n");
|
||||
- }
|
||||
- responseStreamReader.close();
|
||||
- responseStream.close();
|
||||
-
|
||||
- return stringBuilder.toString();
|
||||
- }
|
||||
-
|
||||
-}
|
||||
diff --git a/src/com/android/settings/cmstats/Utilities.java b/src/com/android/settings/cmstats/Utilities.java
|
||||
deleted file mode 100644
|
||||
index 1e98888..0000000
|
||||
--- a/src/com/android/settings/cmstats/Utilities.java
|
||||
+++ /dev/null
|
||||
@@ -1,102 +0,0 @@
|
||||
-/*
|
||||
- * Copyright (C) 2012 The CyanogenMod Project
|
||||
- *
|
||||
- * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
- * you may not use this file except in compliance with the License.
|
||||
- * You may obtain a copy of the License at
|
||||
- *
|
||||
- * http://www.apache.org/licenses/LICENSE-2.0
|
||||
- *
|
||||
- * Unless required by applicable law or agreed to in writing, software
|
||||
- * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
- * See the License for the specific language governing permissions and
|
||||
- * limitations under the License.
|
||||
- */
|
||||
-
|
||||
-package com.android.settings.cmstats;
|
||||
-
|
||||
-import android.content.Context;
|
||||
-import android.os.Build;
|
||||
-import android.os.SystemProperties;
|
||||
-import android.provider.Settings;
|
||||
-import android.telephony.TelephonyManager;
|
||||
-import android.text.TextUtils;
|
||||
-
|
||||
-import cyanogenmod.providers.CMSettings;
|
||||
-
|
||||
-import java.math.BigInteger;
|
||||
-import java.net.NetworkInterface;
|
||||
-import java.security.MessageDigest;
|
||||
-
|
||||
-public class Utilities {
|
||||
- public static String getUniqueID(Context context) {
|
||||
- final String id = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
|
||||
- return digest(context.getPackageName() + id);
|
||||
- }
|
||||
-
|
||||
- public static String getCarrier(Context context) {
|
||||
- TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
|
||||
- String carrier = tm.getNetworkOperatorName();
|
||||
- if (TextUtils.isEmpty(carrier)) {
|
||||
- carrier = "Unknown";
|
||||
- }
|
||||
- return carrier;
|
||||
- }
|
||||
-
|
||||
- public static String getCarrierId(Context context) {
|
||||
- TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
|
||||
- String carrierId = tm.getNetworkOperator();
|
||||
- if (TextUtils.isEmpty(carrierId)) {
|
||||
- carrierId = "0";
|
||||
- }
|
||||
- return carrierId;
|
||||
- }
|
||||
-
|
||||
- public static String getCountryCode(Context context) {
|
||||
- TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
|
||||
- String countryCode = tm.getNetworkCountryIso();
|
||||
- if (TextUtils.isEmpty(countryCode)) {
|
||||
- countryCode = "Unknown";
|
||||
- }
|
||||
- return countryCode;
|
||||
- }
|
||||
-
|
||||
- public static String getDevice() {
|
||||
- return SystemProperties.get("ro.cm.device", Build.PRODUCT);
|
||||
- }
|
||||
-
|
||||
- public static String getModVersion() {
|
||||
- return SystemProperties.get("ro.cm.version", Build.DISPLAY);
|
||||
- }
|
||||
-
|
||||
- public static String digest(String input) {
|
||||
- try {
|
||||
- MessageDigest md = MessageDigest.getInstance("MD5");
|
||||
- return new BigInteger(1, md.digest(input.getBytes())).toString(16).toUpperCase();
|
||||
- } catch (Exception e) {
|
||||
- return null;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- /**
|
||||
- * Check to see if global stats are enabled.
|
||||
- * @param context
|
||||
- * @return Whether or not stats collection is enabled.
|
||||
- */
|
||||
- public static boolean isStatsCollectionEnabled(Context context) {
|
||||
- return CMSettings.Secure.getInt(context.getContentResolver(),
|
||||
- CMSettings.Secure.STATS_COLLECTION, 1) != 0;
|
||||
- }
|
||||
-
|
||||
- /**
|
||||
- * Enabled or disable stats collection
|
||||
- * @param context
|
||||
- * @param enabled Boolean that sets collection being enabled.
|
||||
- */
|
||||
- public static void setStatsCollectionEnabled(Context context, boolean enabled) {
|
||||
- int enable = (enabled) ? 1 : 0;
|
||||
- CMSettings.Secure.putInt(context.getContentResolver(),
|
||||
- CMSettings.Secure.STATS_COLLECTION, enable);
|
||||
- }
|
||||
-}
|
||||
diff --git a/src/com/android/settings/cyanogenmod/PrivacySettings.java b/src/com/android/settings/cyanogenmod/PrivacySettings.java
|
||||
index f6a9c15..066063a 100644
|
||||
--- a/src/com/android/settings/cyanogenmod/PrivacySettings.java
|
||||
+++ b/src/com/android/settings/cyanogenmod/PrivacySettings.java
|
||||
@@ -32,7 +32,6 @@ import org.cyanogenmod.internal.logging.CMMetricsLogger;
|
||||
public class PrivacySettings extends SettingsPreferenceFragment {
|
||||
|
||||
private static final String KEY_BLACKLIST = "blacklist";
|
||||
- private static final String KEY_STATS = "cmstats";
|
||||
|
||||
private PreferenceScreen mBlacklist;
|
||||
|
||||
@@ -48,8 +47,6 @@ public class PrivacySettings extends SettingsPreferenceFragment {
|
||||
|
||||
boolean isOwner = Utils.isUserOwner();
|
||||
if (!isOwner) {
|
||||
- PreferenceScreen root = getPreferenceScreen();
|
||||
- root.removePreference(findPreference(KEY_STATS));
|
||||
}
|
||||
|
||||
// Determine options based on device telephony support
|
||||
--
|
||||
2.7.2
|
||||
|
@ -1,954 +0,0 @@
|
||||
From 353e522115eca684a4036f2005f64ab14123218f Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Fri, 8 Apr 2016 20:43:21 -0400
|
||||
Subject: [PATCH] Remove analytics
|
||||
|
||||
Change-Id: I4d38768fc22791f9e5085c56a22f94f335526c31
|
||||
---
|
||||
AndroidManifest.xml | 1 -
|
||||
.../setupwizard/cmstats/SetupStats.java | 162 ---------------------
|
||||
.../setupwizard/cmstats/StatsUtils.java | 44 ------
|
||||
.../setupwizard/setup/BluetoothSetupPage.java | 7 -
|
||||
.../setupwizard/setup/ChooseDataSimPage.java | 4 -
|
||||
.../setupwizard/setup/CyanogenServicesPage.java | 13 --
|
||||
.../setupwizard/setup/CyanogenSettingsPage.java | 56 -------
|
||||
.../setupwizard/setup/DateTimePage.java | 19 ---
|
||||
.../setupwizard/setup/FingerprintSetupPage.java | 4 -
|
||||
.../setupwizard/setup/GmsAccountPage.java | 23 ---
|
||||
.../setupwizard/setup/MobileDataPage.java | 4 -
|
||||
.../setupwizard/setup/OtherSettingsPage.java | 17 +--
|
||||
.../cyanogenmod/setupwizard/setup/SetupPage.java | 7 -
|
||||
.../cyanogenmod/setupwizard/setup/WelcomePage.java | 14 --
|
||||
.../setupwizard/setup/WifiSetupPage.java | 25 ----
|
||||
.../setupwizard/ui/SetupPageFragment.java | 3 -
|
||||
.../setupwizard/ui/SetupWizardActivity.java | 6 -
|
||||
.../util/EnableAccessibilityController.java | 3 -
|
||||
18 files changed, 1 insertion(+), 411 deletions(-)
|
||||
delete mode 100644 src/com/cyanogenmod/setupwizard/cmstats/SetupStats.java
|
||||
delete mode 100644 src/com/cyanogenmod/setupwizard/cmstats/StatsUtils.java
|
||||
|
||||
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
|
||||
index d8c7617..8e2ec08 100644
|
||||
--- a/AndroidManifest.xml
|
||||
+++ b/AndroidManifest.xml
|
||||
@@ -43,7 +43,6 @@
|
||||
<uses-permission android:name="android.permission.BACKUP" />
|
||||
<uses-permission android:name="cyanogenmod.permission.FINISH_SETUP" />
|
||||
<uses-permission android:name="cyanogenmod.permission.LEGALESE" />
|
||||
- <uses-permission android:name="com.cyngn.stats.SEND_ANALYTICS" />
|
||||
<uses-permission android:name="com.cyanogen.permission.REQUEST_KILL_SWITCH_OP" />
|
||||
<uses-permission android:name="cyanogenmod.permission.WRITE_SETTINGS"/>
|
||||
<uses-permission android:name="cyanogenmod.permission.WRITE_SECURE_SETTINGS"/>
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/cmstats/SetupStats.java b/src/com/cyanogenmod/setupwizard/cmstats/SetupStats.java
|
||||
deleted file mode 100644
|
||||
index 6eb527f..0000000
|
||||
--- a/src/com/cyanogenmod/setupwizard/cmstats/SetupStats.java
|
||||
+++ /dev/null
|
||||
@@ -1,162 +0,0 @@
|
||||
-/*
|
||||
- * Copyright (C) 2014 The CyanogenMod Project
|
||||
- *
|
||||
- * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
- * you may not use this file except in compliance with the License.
|
||||
- * You may obtain a copy of the License at
|
||||
- *
|
||||
- * http://www.apache.org/licenses/LICENSE-2.0
|
||||
- *
|
||||
- * Unless required by applicable law or agreed to in writing, software
|
||||
- * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
- * See the License for the specific language governing permissions and
|
||||
- * limitations under the License.
|
||||
- */
|
||||
-
|
||||
-package com.cyanogenmod.setupwizard.cmstats;
|
||||
-
|
||||
-import android.content.Context;
|
||||
-import android.content.Intent;
|
||||
-import android.os.UserHandle;
|
||||
-import android.util.Log;
|
||||
-
|
||||
-import java.util.LinkedList;
|
||||
-
|
||||
-
|
||||
-public class SetupStats {
|
||||
-
|
||||
- private static final String TAG = SetupStats.class.getSimpleName();
|
||||
-
|
||||
- private static final String ANALYTIC_INTENT = "com.cyngn.stats.action.SEND_ANALYTIC_EVENT";
|
||||
- private static final String ANALYTIC_PERMISSION = "com.cyngn.stats.SEND_ANALYTICS";
|
||||
-
|
||||
- public static final String TRACKING_ID = "tracking_id";
|
||||
-
|
||||
- private final LinkedList<Event> mEvents = new LinkedList<Event>();
|
||||
-
|
||||
- private static final SetupStats sInstance = new SetupStats();
|
||||
-
|
||||
- private static final boolean DEBUG = false;
|
||||
-
|
||||
- private SetupStats() {}
|
||||
-
|
||||
- public static void addEvent(String category, String action,
|
||||
- String label, String value) {
|
||||
- sInstance.mEvents.add(new Event(category, action, label, value));
|
||||
- }
|
||||
-
|
||||
- public static void addEvent(String category, String action) {
|
||||
- sInstance.mEvents.add(new Event(category, action, null, null));
|
||||
- }
|
||||
-
|
||||
- public static void sendEvents(Context context) {
|
||||
- while (!sInstance.mEvents.isEmpty()) {
|
||||
- sInstance.sendEvent(context, sInstance.mEvents.remove());
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- private void sendEvent(Context context, Event event) {
|
||||
-
|
||||
- if (!StatsUtils.isStatsPackageInstalled(context)
|
||||
- || !StatsUtils.isStatsCollectionEnabled(context)) {
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- // Create new intent
|
||||
- Intent intent = new Intent();
|
||||
- intent.setAction(ANALYTIC_INTENT);
|
||||
-
|
||||
- // add tracking id
|
||||
- intent.putExtra(TRACKING_ID, context.getPackageName());
|
||||
- // append
|
||||
- intent.putExtra(Fields.EVENT_CATEGORY, event.category);
|
||||
- if (DEBUG) Log.d(TAG, Fields.EVENT_CATEGORY + "=" + event.category);
|
||||
- intent.putExtra(Fields.EVENT_ACTION, event.action);
|
||||
- if (DEBUG) Log.d(TAG, Fields.EVENT_ACTION + "=" + event.action);
|
||||
- // check if exist
|
||||
- if (event.label != null) {
|
||||
- intent.putExtra(Fields.EVENT_LABEL, event.label);
|
||||
- if (DEBUG) Log.d(TAG, Fields.EVENT_LABEL + "=" + event.label);
|
||||
- }
|
||||
-
|
||||
- if (event.value != null) {
|
||||
- intent.putExtra(Fields.EVENT_VALUE, event.value);
|
||||
- if (DEBUG) Log.d(TAG, Fields.EVENT_VALUE + "=" + event.value);
|
||||
- }
|
||||
-
|
||||
- // broadcast for internal package
|
||||
- context.sendBroadcastAsUser(intent,
|
||||
- new UserHandle(UserHandle.USER_CURRENT), ANALYTIC_PERMISSION);
|
||||
- }
|
||||
-
|
||||
- private static final class Event {
|
||||
- private final String category;
|
||||
- private final String action;
|
||||
- private final String label;
|
||||
- private final String value;
|
||||
-
|
||||
- public Event(String category, String action, String label, String value) {
|
||||
- this.action = action;
|
||||
- this.category = category;
|
||||
- this.label = label;
|
||||
- this.value = value;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- public static final class Fields {
|
||||
- public static final String EVENT_CATEGORY = "category";
|
||||
- public static final String EVENT_ACTION = "action";
|
||||
- public static final String EVENT_LABEL = "label";
|
||||
- public static final String EVENT_VALUE = "value";
|
||||
- }
|
||||
-
|
||||
- public static final class Categories {
|
||||
- public static final String APP_LAUNCH = "app_launch";
|
||||
- public static final String APP_FINISHED = "app_finish";
|
||||
- public static final String PAGE_LOAD = "page_load";
|
||||
- public static final String EXTERNAL_PAGE_LOAD = "external_page_load";
|
||||
- public static final String BUTTON_CLICK = "button_click";
|
||||
- public static final String SETTING_CHANGED = "setting_changed";
|
||||
- }
|
||||
-
|
||||
- public static final class Action {
|
||||
- public static final String PAGE_LOADED = "page_loaded";
|
||||
- public static final String PREVIOUS_BUTTON = "previous_button";
|
||||
- public static final String NEXT_BUTTON = "next_button";
|
||||
- public static final String CHANGE_LOCALE = "change_local";
|
||||
- public static final String EXTERNAL_PAGE_LAUNCH = "external_page_launch";
|
||||
- public static final String EXTERNAL_PAGE_RESULT = "external_page_result";
|
||||
- public static final String ENABLE_MOBILE_DATA = "enable_mobile_data";
|
||||
- public static final String PREFERRED_DATA_SIM = "preferred_data_sim";
|
||||
- public static final String APPLY_CUSTOM_THEME = "apply_custom_theme";
|
||||
- public static final String USE_SECURE_SMS = "use_secure_sms";
|
||||
- public static final String ENABLE_BACKUP = "enable_backup";
|
||||
- public static final String ENABLE_NAV_KEYS = "enable_nav_keys";
|
||||
- public static final String ENABLE_LOCATION = "enable_location";
|
||||
- public static final String ENABLE_NETWORK_LOCATION = "enable_network_location";
|
||||
- public static final String ENABLE_GPS_LOCATION = "enable_gps_location";
|
||||
- public static final String DATE_CHANGED = "date_changed";
|
||||
- public static final String TIME_CHANGED = "time_changed";
|
||||
- public static final String TIMEZONE_CHANGED = "timezone_changed";
|
||||
- }
|
||||
-
|
||||
- public static final class Label {
|
||||
- public static final String PAGE = "page";
|
||||
- public static final String LOCALE = "local";
|
||||
- public static final String RESULT = "result";
|
||||
- public static final String WIFI_SETUP = "wifi_setup";
|
||||
- public static final String BLUETOOTH_SETUP = "bluetooth_setup";
|
||||
- public static final String CYANOGEN_ACCOUNT = "cyanogen_account_setup";
|
||||
- public static final String CAPTIVE_PORTAL_LOGIN = "captive_portal_login";
|
||||
- public static final String EMERGENCY_CALL = "emergency_call";
|
||||
- public static final String GMS_ACCOUNT = "gms_account";
|
||||
- public static final String RESTORE = "restore";
|
||||
- public static final String CHECKED = "checked";
|
||||
- public static final String VALUE = "value";
|
||||
- public static final String SLOT = "slot";
|
||||
- public static final String TOTAL_TIME = "total_time";
|
||||
- public static final String FINGERPRINT_SETUP = "fingerprint_setup";
|
||||
- }
|
||||
-
|
||||
-}
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/cmstats/StatsUtils.java b/src/com/cyanogenmod/setupwizard/cmstats/StatsUtils.java
|
||||
deleted file mode 100644
|
||||
index 8be8fad..0000000
|
||||
--- a/src/com/cyanogenmod/setupwizard/cmstats/StatsUtils.java
|
||||
+++ /dev/null
|
||||
@@ -1,44 +0,0 @@
|
||||
-
|
||||
-/*
|
||||
- * Copyright (C) 2014 The CyanogenMod Project
|
||||
- *
|
||||
- * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
- * you may not use this file except in compliance with the License.
|
||||
- * You may obtain a copy of the License at
|
||||
- *
|
||||
- * http://www.apache.org/licenses/LICENSE-2.0
|
||||
- *
|
||||
- * Unless required by applicable law or agreed to in writing, software
|
||||
- * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
- * See the License for the specific language governing permissions and
|
||||
- * limitations under the License.
|
||||
- */
|
||||
-
|
||||
-package com.cyanogenmod.setupwizard.cmstats;
|
||||
-
|
||||
-import android.content.Context;
|
||||
-import android.content.pm.ApplicationInfo;
|
||||
-import android.content.pm.PackageInfo;
|
||||
-import android.content.pm.PackageManager;
|
||||
-
|
||||
-import cyanogenmod.providers.CMSettings;
|
||||
-
|
||||
-public class StatsUtils {
|
||||
- private static final String STATS_PACKAGE = "com.cyngn.stats";
|
||||
-
|
||||
- public static boolean isStatsCollectionEnabled(Context context) {
|
||||
- return CMSettings.Secure.getInt(context.getContentResolver(),
|
||||
- CMSettings.Secure.STATS_COLLECTION, 1) != 0;
|
||||
- }
|
||||
-
|
||||
- public static boolean isStatsPackageInstalled(Context context) {
|
||||
- try {
|
||||
- PackageInfo pi = context.getPackageManager().getPackageInfo(STATS_PACKAGE, 0);
|
||||
- return pi.applicationInfo.enabled
|
||||
- && ((pi.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0);
|
||||
- } catch (PackageManager.NameNotFoundException e) {
|
||||
- return false;
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/BluetoothSetupPage.java b/src/com/cyanogenmod/setupwizard/setup/BluetoothSetupPage.java
|
||||
index 915abec..8609dbb 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/BluetoothSetupPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/BluetoothSetupPage.java
|
||||
@@ -28,7 +28,6 @@ import android.util.Log;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.LoadingFragment;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
@@ -91,9 +90,6 @@ public class BluetoothSetupPage extends SetupPage {
|
||||
@Override
|
||||
public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
if (requestCode == SetupWizardApp.REQUEST_CODE_SETUP_BLUETOOTH) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.BLUETOOTH_SETUP, "success");
|
||||
getCallbacks().onNextPage();
|
||||
} else {
|
||||
return false;
|
||||
@@ -111,9 +107,6 @@ public class BluetoothSetupPage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(mContext,
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE, SetupStats.Label.BLUETOOTH_SETUP);
|
||||
mLoadingFragment.startActivityForResult(intent,
|
||||
SetupWizardApp.REQUEST_CODE_SETUP_BLUETOOTH, options.toBundle());
|
||||
}
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java b/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java
|
||||
index 255cbad..a3282af 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java
|
||||
@@ -47,7 +47,6 @@ import com.android.internal.telephony.TelephonyIntents;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
|
||||
@@ -356,9 +355,6 @@ public class ChooseDataSimPage extends SetupPage {
|
||||
for (int i = 0; i < mCheckBoxes.size(); i++) {
|
||||
if (subInfoRecord.getSimSlotIndex() == i) {
|
||||
mCheckBoxes.get(i).setChecked(true);
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.PREFERRED_DATA_SIM,
|
||||
- SetupStats.Label.SLOT, String.valueOf(i + 1));
|
||||
} else {
|
||||
mCheckBoxes.get(i).setChecked(false);
|
||||
}
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/CyanogenServicesPage.java b/src/com/cyanogenmod/setupwizard/setup/CyanogenServicesPage.java
|
||||
index e71dd79..5bfe3b0 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/CyanogenServicesPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/CyanogenServicesPage.java
|
||||
@@ -32,7 +32,6 @@ import android.util.Log;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.LoadingFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
|
||||
@@ -95,10 +94,6 @@ public class CyanogenServicesPage extends SetupPage {
|
||||
public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
if (requestCode == SetupWizardApp.REQUEST_CODE_SETUP_CYANOGEN) {
|
||||
if (resultCode == Activity.RESULT_OK || resultCode == Activity.RESULT_FIRST_USER) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.CYANOGEN_ACCOUNT,
|
||||
- resultCode == Activity.RESULT_OK ? "success" : "skipped");
|
||||
if (SetupWizardUtils.accountExists(mContext,
|
||||
mContext.getString(R.string.cm_account_type))) {
|
||||
if (SetupWizardUtils.isDeviceLocked()) {
|
||||
@@ -108,9 +103,6 @@ public class CyanogenServicesPage extends SetupPage {
|
||||
}
|
||||
getCallbacks().onNextPage();
|
||||
} else if (resultCode == Activity.RESULT_CANCELED) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.CYANOGEN_ACCOUNT, "canceled");
|
||||
getCallbacks().onPreviousPage();
|
||||
}
|
||||
}
|
||||
@@ -136,11 +128,6 @@ public class CyanogenServicesPage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(mContext,
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats
|
||||
- .addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE,
|
||||
- SetupStats.Label.CYANOGEN_ACCOUNT);
|
||||
mFragment.startActivityForResult(intent,
|
||||
SetupWizardApp.REQUEST_CODE_SETUP_CYANOGEN,
|
||||
options.toBundle());
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/CyanogenSettingsPage.java b/src/com/cyanogenmod/setupwizard/setup/CyanogenSettingsPage.java
|
||||
index d17d64b..2c95253 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/CyanogenSettingsPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/CyanogenSettingsPage.java
|
||||
@@ -42,7 +42,6 @@ import android.widget.TextView;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
|
||||
@@ -54,7 +53,6 @@ public class CyanogenSettingsPage extends SetupPage {
|
||||
|
||||
public static final String TAG = "CyanogenSettingsPage";
|
||||
|
||||
- public static final String KEY_SEND_METRICS = "send_metrics";
|
||||
public static final String DISABLE_NAV_KEYS = "disable_nav_keys";
|
||||
public static final String KEY_APPLY_DEFAULT_THEME = "apply_default_theme";
|
||||
public static final String KEY_BUTTON_BACKLIGHT = "pre_navbar_button_backlight";
|
||||
@@ -116,37 +114,18 @@ public class CyanogenSettingsPage extends SetupPage {
|
||||
@Override
|
||||
public void run() {
|
||||
if (getData().containsKey(DISABLE_NAV_KEYS)) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.ENABLE_NAV_KEYS,
|
||||
- SetupStats.Label.CHECKED,
|
||||
- String.valueOf(getData().getBoolean(DISABLE_NAV_KEYS)));
|
||||
writeDisableNavkeysOption(mContext, getData().getBoolean(DISABLE_NAV_KEYS));
|
||||
}
|
||||
}
|
||||
});
|
||||
- handleEnableMetrics();
|
||||
handleDefaultThemeSetup();
|
||||
}
|
||||
|
||||
- private void handleEnableMetrics() {
|
||||
- Bundle privacyData = getData();
|
||||
- if (privacyData != null
|
||||
- && privacyData.containsKey(KEY_SEND_METRICS)) {
|
||||
- CMSettings.Secure.putInt(mContext.getContentResolver(),
|
||||
- CMSettings.Secure.STATS_COLLECTION, privacyData.getBoolean(KEY_SEND_METRICS)
|
||||
- ? 1 : 0);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
private void handleDefaultThemeSetup() {
|
||||
Bundle privacyData = getData();
|
||||
if (!SetupWizardUtils.getDefaultThemePackageName(mContext).equals(
|
||||
ThemeConfig.SYSTEM_DEFAULT) && privacyData != null &&
|
||||
privacyData.getBoolean(KEY_APPLY_DEFAULT_THEME)) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.APPLY_CUSTOM_THEME,
|
||||
- SetupStats.Label.CHECKED,
|
||||
- String.valueOf(privacyData.getBoolean(KEY_APPLY_DEFAULT_THEME)));
|
||||
Log.i(TAG, "Applying default theme");
|
||||
final ThemeManager tm = ThemeManager.getInstance(mContext);
|
||||
tm.applyDefaultTheme();
|
||||
@@ -176,26 +155,14 @@ public class CyanogenSettingsPage extends SetupPage {
|
||||
private View mKillSwitchView;
|
||||
private TextView mKillSwitchTitle;
|
||||
private ImageView mKillSwitchStatus;
|
||||
- private View mMetricsRow;
|
||||
private View mDefaultThemeRow;
|
||||
private View mNavKeysRow;
|
||||
- private CheckBox mMetrics;
|
||||
private CheckBox mDefaultTheme;
|
||||
private CheckBox mNavKeys;
|
||||
|
||||
private boolean mHideNavKeysRow = false;
|
||||
private boolean mHideThemeRow = false;
|
||||
|
||||
-
|
||||
- private View.OnClickListener mMetricsClickListener = new View.OnClickListener() {
|
||||
- @Override
|
||||
- public void onClick(View view) {
|
||||
- boolean checked = !mMetrics.isChecked();
|
||||
- mMetrics.setChecked(checked);
|
||||
- mPage.getData().putBoolean(KEY_SEND_METRICS, checked);
|
||||
- }
|
||||
- };
|
||||
-
|
||||
private View.OnClickListener mDefaultThemeClickListener = new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
@@ -253,19 +220,6 @@ public class CyanogenSettingsPage extends SetupPage {
|
||||
}
|
||||
}
|
||||
|
||||
- mMetricsRow = mRootView.findViewById(R.id.metrics);
|
||||
- mMetricsRow.setOnClickListener(mMetricsClickListener);
|
||||
- String metricsHelpImproveCM =
|
||||
- getString(R.string.services_help_improve_cm, getString(R.string.os_name));
|
||||
- String metricsSummary = getString(R.string.services_metrics_label,
|
||||
- metricsHelpImproveCM, getString(R.string.os_name));
|
||||
- final SpannableStringBuilder metricsSpan = new SpannableStringBuilder(metricsSummary);
|
||||
- metricsSpan.setSpan(new android.text.style.StyleSpan(android.graphics.Typeface.BOLD),
|
||||
- 0, metricsHelpImproveCM.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
- TextView metrics = (TextView) mRootView.findViewById(R.id.enable_metrics_summary);
|
||||
- metrics.setText(metricsSpan);
|
||||
- mMetrics = (CheckBox) mRootView.findViewById(R.id.enable_metrics_checkbox);
|
||||
-
|
||||
mDefaultThemeRow = mRootView.findViewById(R.id.theme);
|
||||
mHideThemeRow = hideThemeSwitch(getActivity());
|
||||
if (mHideThemeRow) {
|
||||
@@ -314,19 +268,9 @@ public class CyanogenSettingsPage extends SetupPage {
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
updateDisableNavkeysOption();
|
||||
- updateMetricsOption();
|
||||
updateThemeOption();
|
||||
}
|
||||
|
||||
- private void updateMetricsOption() {
|
||||
- final Bundle myPageBundle = mPage.getData();
|
||||
- boolean metricsChecked =
|
||||
- !myPageBundle.containsKey(KEY_SEND_METRICS) || myPageBundle
|
||||
- .getBoolean(KEY_SEND_METRICS);
|
||||
- mMetrics.setChecked(metricsChecked);
|
||||
- myPageBundle.putBoolean(KEY_SEND_METRICS, metricsChecked);
|
||||
- }
|
||||
-
|
||||
private void updateThemeOption() {
|
||||
if (!mHideThemeRow) {
|
||||
final Bundle myPageBundle = mPage.getData();
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/DateTimePage.java b/src/com/cyanogenmod/setupwizard/setup/DateTimePage.java
|
||||
index 7a5922b..a669163 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/DateTimePage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/DateTimePage.java
|
||||
@@ -42,7 +42,6 @@ import android.widget.TextView;
|
||||
import android.widget.TimePicker;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
@@ -136,8 +135,6 @@ public class DateTimePage extends SetupPage {
|
||||
mDateView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.BUTTON_CLICK,
|
||||
- "date_picker");
|
||||
showDatePicker();
|
||||
}
|
||||
});
|
||||
@@ -145,8 +142,6 @@ public class DateTimePage extends SetupPage {
|
||||
mTimeView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.BUTTON_CLICK,
|
||||
- "time_picker");
|
||||
showTimePicker();
|
||||
}
|
||||
});
|
||||
@@ -167,17 +162,11 @@ public class DateTimePage extends SetupPage {
|
||||
final Map<?, ?> map = (Map<?, ?>) adapterView.getItemAtPosition(position);
|
||||
final String tzId = (String) map.get(KEY_ID);
|
||||
if (mCurrentTimeZone != null && !mCurrentTimeZone.getID().equals(tzId)) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.BUTTON_CLICK,
|
||||
- "timezone_picker");
|
||||
// Update the system timezone value
|
||||
final Activity activity = getActivity();
|
||||
final AlarmManager alarm = (AlarmManager) activity.getSystemService(Context.ALARM_SERVICE);
|
||||
alarm.setTimeZone(tzId);
|
||||
mCurrentTimeZone = TimeZone.getTimeZone(tzId);
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.TIMEZONE_CHANGED,
|
||||
- SetupStats.Label.VALUE,
|
||||
- mCurrentTimeZone.getDisplayName());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -232,10 +221,6 @@ public class DateTimePage extends SetupPage {
|
||||
if (activity != null) {
|
||||
setDate(activity, year, month, day);
|
||||
updateTimeAndDateDisplay(activity);
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.DATE_CHANGED,
|
||||
- SetupStats.Label.VALUE,
|
||||
- month+"/"+day+"/"+year);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -245,10 +230,6 @@ public class DateTimePage extends SetupPage {
|
||||
if (activity != null) {
|
||||
setTime(activity, hourOfDay, minute);
|
||||
updateTimeAndDateDisplay(activity);
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.TIME_CHANGED,
|
||||
- SetupStats.Label.VALUE,
|
||||
- hourOfDay+":"+minute);
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/FingerprintSetupPage.java b/src/com/cyanogenmod/setupwizard/setup/FingerprintSetupPage.java
|
||||
index 890a4f6..c9174c6 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/FingerprintSetupPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/FingerprintSetupPage.java
|
||||
@@ -28,7 +28,6 @@ import android.widget.TextView;
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
|
||||
public class FingerprintSetupPage extends SetupPage {
|
||||
@@ -113,9 +112,6 @@ public class FingerprintSetupPage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(getActivity(),
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE, SetupStats.Label.FINGERPRINT_SETUP);
|
||||
startActivityForResult(intent, SetupWizardApp.REQUEST_CODE_SETUP_FINGERPRINT,
|
||||
options.toBundle());
|
||||
}
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/GmsAccountPage.java b/src/com/cyanogenmod/setupwizard/setup/GmsAccountPage.java
|
||||
index 9bcce42..64b84da 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/GmsAccountPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/GmsAccountPage.java
|
||||
@@ -34,7 +34,6 @@ import android.util.Log;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.LoadingFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
|
||||
@@ -116,10 +115,6 @@ public class GmsAccountPage extends SetupPage {
|
||||
boolean restorePicker = !data.hasExtra(EXTRA_RESTORE_TOKEN)
|
||||
&& !data.hasExtra(EXTRA_RESTORE_ACCOUNT) &&
|
||||
data.hasExtra(EXTRA_AUTH_ACCOUNT);
|
||||
-
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.GMS_ACCOUNT, "success");
|
||||
launchGmsRestorePage(restorePicker);
|
||||
} else {
|
||||
handleResult(requestCode, resultCode);
|
||||
@@ -140,24 +135,12 @@ public class GmsAccountPage extends SetupPage {
|
||||
|
||||
private void handleResult(int requestCode, int resultCode) {
|
||||
if (resultCode == Activity.RESULT_CANCELED) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- requestCode == SetupWizardApp.REQUEST_CODE_SETUP_GMS ?
|
||||
- SetupStats.Label.GMS_ACCOUNT : SetupStats.Label.RESTORE, "canceled");
|
||||
getCallbacks().onPreviousPage();
|
||||
} else {
|
||||
if (resultCode == Activity.RESULT_OK) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- requestCode == SetupWizardApp.REQUEST_CODE_SETUP_GMS ?
|
||||
- SetupStats.Label.GMS_ACCOUNT : SetupStats.Label.RESTORE, "success");
|
||||
getCallbacks().onNextPage();
|
||||
} else {
|
||||
if (canSkip()) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- requestCode == SetupWizardApp.REQUEST_CODE_SETUP_GMS ?
|
||||
- SetupStats.Label.GMS_ACCOUNT : SetupStats.Label.RESTORE, "skipped");
|
||||
getCallbacks().onNextPage();
|
||||
} else {
|
||||
getCallbacks().onPreviousPage();
|
||||
@@ -194,9 +177,6 @@ public class GmsAccountPage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(mContext,
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE, SetupStats.Label.RESTORE);
|
||||
mFragment.startActivityForResult(
|
||||
intent,
|
||||
SetupWizardApp.REQUEST_CODE_RESTORE_GMS, options.toBundle());
|
||||
@@ -240,9 +220,6 @@ public class GmsAccountPage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(mContext,
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE, SetupStats.Label.GMS_ACCOUNT);
|
||||
mFragment.startActivityForResult(intent,
|
||||
SetupWizardApp.REQUEST_CODE_SETUP_GMS, options.toBundle());
|
||||
} catch (OperationCanceledException e) {
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java b/src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java
|
||||
index 8940fd3..02ee1b6 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java
|
||||
@@ -38,7 +38,6 @@ import android.widget.TextView;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
|
||||
@@ -147,9 +146,6 @@ public class MobileDataPage extends SetupPage {
|
||||
} else {
|
||||
onDataStateReady();
|
||||
}
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.ENABLE_MOBILE_DATA,
|
||||
- SetupStats.Label.CHECKED, String.valueOf(checked));
|
||||
}
|
||||
};
|
||||
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/OtherSettingsPage.java b/src/com/cyanogenmod/setupwizard/setup/OtherSettingsPage.java
|
||||
index 0ed17ff..0bea90b 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/OtherSettingsPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/OtherSettingsPage.java
|
||||
@@ -40,7 +40,6 @@ import android.widget.TextView;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
|
||||
@@ -233,9 +232,6 @@ public class OtherSettingsPage extends SetupPage {
|
||||
private void onToggleBackup(boolean checked) {
|
||||
try {
|
||||
mBackupManager.setBackupEnabled(checked);
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.ENABLE_BACKUP,
|
||||
- SetupStats.Label.CHECKED, String.valueOf(checked));
|
||||
} catch (RemoteException e) {}
|
||||
updateBackupToggle();
|
||||
}
|
||||
@@ -309,9 +305,6 @@ public class OtherSettingsPage extends SetupPage {
|
||||
}
|
||||
|
||||
private void onToggleLocationAccess(boolean checked) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.ENABLE_LOCATION,
|
||||
- SetupStats.Label.CHECKED, String.valueOf(checked));
|
||||
|
||||
if (checked) {
|
||||
setLocationMode(Settings.Secure.LOCATION_MODE_SENSORS_ONLY);
|
||||
@@ -321,10 +314,6 @@ public class OtherSettingsPage extends SetupPage {
|
||||
}
|
||||
|
||||
private void onToggleBatterySaving(boolean checked) {
|
||||
- /* SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.ENABLE_BATTERY_SAVING_LOCATION,
|
||||
- SetupStats.Label.CHECKED, String.valueOf(checked)); */
|
||||
-
|
||||
if (checked) {
|
||||
setLocationMode(Settings.Secure.LOCATION_MODE_BATTERY_SAVING);
|
||||
} else {
|
||||
@@ -333,11 +322,7 @@ public class OtherSettingsPage extends SetupPage {
|
||||
}
|
||||
|
||||
private void onToggleNetwork(boolean checked) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.ENABLE_NETWORK_LOCATION,
|
||||
- SetupStats.Label.CHECKED, String.valueOf(checked));
|
||||
-
|
||||
- if (checked) {
|
||||
+ if (checked) {
|
||||
setLocationMode(Settings.Secure.LOCATION_MODE_HIGH_ACCURACY);
|
||||
} else {
|
||||
setLocationMode(Settings.Secure.LOCATION_MODE_SENSORS_ONLY);
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/SetupPage.java b/src/com/cyanogenmod/setupwizard/setup/SetupPage.java
|
||||
index 1a19fb0..9804049 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/SetupPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/SetupPage.java
|
||||
@@ -26,7 +26,6 @@ import android.transition.Transition;
|
||||
import android.view.Gravity;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
|
||||
|
||||
public abstract class SetupPage implements Page {
|
||||
@@ -76,18 +75,12 @@ public abstract class SetupPage implements Page {
|
||||
public void doLoadAction(FragmentManager fragmentManager, int action) {
|
||||
Fragment fragment = getFragment(fragmentManager, action);
|
||||
if (action == Page.ACTION_NEXT) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.BUTTON_CLICK,
|
||||
- SetupStats.Action.NEXT_BUTTON, getKey(),
|
||||
- String.valueOf(System.currentTimeMillis()));
|
||||
Transition t = new Slide(Gravity.RIGHT);
|
||||
fragment.setEnterTransition(t);
|
||||
fragmentManager.beginTransaction()
|
||||
.replace(R.id.content,fragment, getKey())
|
||||
.commit();
|
||||
} else {
|
||||
- SetupStats.addEvent(SetupStats.Categories.BUTTON_CLICK,
|
||||
- SetupStats.Action.PREVIOUS_BUTTON, getKey(),
|
||||
- String.valueOf(System.currentTimeMillis()));
|
||||
Transition t = new Slide(Gravity.LEFT);
|
||||
fragment.setEnterTransition(t);
|
||||
fragmentManager.beginTransaction()
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/WelcomePage.java b/src/com/cyanogenmod/setupwizard/setup/WelcomePage.java
|
||||
index e09c2a1..eedb24d 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/WelcomePage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/WelcomePage.java
|
||||
@@ -42,7 +42,6 @@ import android.widget.Toast;
|
||||
import com.android.internal.telephony.MccTable;
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.LocalePicker;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
@@ -87,7 +86,6 @@ public class WelcomePage extends SetupPage {
|
||||
return true;
|
||||
} else {
|
||||
if (mWelcomeFragment != null) {
|
||||
- mWelcomeFragment.sendLocaleStats();
|
||||
}
|
||||
return super.doNextAction();
|
||||
}
|
||||
@@ -102,10 +100,6 @@ public class WelcomePage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(mContext,
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats.addEvent(SetupStats.Categories.BUTTON_CLICK, SetupStats.Label.EMERGENCY_CALL);
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE, SetupStats.Label.EMERGENCY_CALL);
|
||||
mContext.startActivity(intent, options.toBundle());
|
||||
return true;
|
||||
}
|
||||
@@ -269,14 +263,6 @@ public class WelcomePage extends SetupPage {
|
||||
return R.layout.setup_welcome_page;
|
||||
}
|
||||
|
||||
- public void sendLocaleStats() {
|
||||
- if (!mCurrentLocale.equals(mInitialLocale)) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.CHANGE_LOCALE, SetupStats.Label.LOCALE,
|
||||
- mCurrentLocale.getDisplayName());
|
||||
- }
|
||||
- }
|
||||
-
|
||||
public void fetchAndUpdateSimLocale() {
|
||||
if (mIgnoreSimLocale || isDetached()) {
|
||||
return;
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/WifiSetupPage.java b/src/com/cyanogenmod/setupwizard/setup/WifiSetupPage.java
|
||||
index 2d8084a..3a131f7 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/WifiSetupPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/WifiSetupPage.java
|
||||
@@ -31,7 +31,6 @@ import android.util.Log;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.LoadingFragment;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
@@ -86,9 +85,6 @@ public class WifiSetupPage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(mContext,
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE, SetupStats.Label.CAPTIVE_PORTAL_LOGIN);
|
||||
mLoadingFragment.startActivityForResult(intent,
|
||||
SetupWizardApp.REQUEST_CODE_SETUP_CAPTIVE_PORTAL,
|
||||
options.toBundle());
|
||||
@@ -157,19 +153,10 @@ public class WifiSetupPage extends SetupPage {
|
||||
public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
if (requestCode == SetupWizardApp.REQUEST_CODE_SETUP_WIFI) {
|
||||
if (resultCode == Activity.RESULT_CANCELED) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.WIFI_SETUP, "canceled");
|
||||
getCallbacks().onPreviousPage();
|
||||
} else if (resultCode == Activity.RESULT_OK) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.WIFI_SETUP, "success");
|
||||
checkForCaptivePortal();
|
||||
} else {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.WIFI_SETUP, "skipped");
|
||||
getCallbacks().onNextPage();
|
||||
}
|
||||
} else if (requestCode == SetupWizardApp.REQUEST_CODE_SETUP_CAPTIVE_PORTAL) {
|
||||
@@ -179,20 +166,11 @@ public class WifiSetupPage extends SetupPage {
|
||||
}
|
||||
String token = data.getStringExtra("response_token");
|
||||
if (token != null && !token.equals(mResponseToken)) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.CAPTIVE_PORTAL_LOGIN, "token_mismatch");
|
||||
launchWifiSetup();
|
||||
} else {
|
||||
if (resultCode == Activity.RESULT_CANCELED) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.CAPTIVE_PORTAL_LOGIN, "canceled");
|
||||
launchWifiSetup();
|
||||
} else {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.CAPTIVE_PORTAL_LOGIN, "success");
|
||||
getCallbacks().onNextPage();
|
||||
}
|
||||
}
|
||||
@@ -256,9 +234,6 @@ public class WifiSetupPage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(mContext,
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE, SetupStats.Label.WIFI_SETUP);
|
||||
mLoadingFragment.startActivityForResult(intent,
|
||||
SetupWizardApp.REQUEST_CODE_SETUP_WIFI, options.toBundle());
|
||||
}
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/ui/SetupPageFragment.java b/src/com/cyanogenmod/setupwizard/ui/SetupPageFragment.java
|
||||
index b0df440..33c61c7 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/ui/SetupPageFragment.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/ui/SetupPageFragment.java
|
||||
@@ -26,7 +26,6 @@ import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.setup.Page;
|
||||
import com.cyanogenmod.setupwizard.setup.SetupDataCallbacks;
|
||||
|
||||
@@ -43,8 +42,6 @@ public abstract class SetupPageFragment extends Fragment {
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setRetainInstance(true);
|
||||
- SetupStats.addEvent(SetupStats.Categories.PAGE_LOAD, SetupStats.Action.PAGE_LOADED,
|
||||
- mKey, String.valueOf(System.currentTimeMillis()));
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java b/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java
|
||||
index 6005347..05b2939 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java
|
||||
@@ -43,7 +43,6 @@ import android.widget.ProgressBar;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.setup.CMSetupWizardData;
|
||||
import com.cyanogenmod.setupwizard.setup.GmsAccountPage;
|
||||
import com.cyanogenmod.setupwizard.setup.Page;
|
||||
@@ -106,7 +105,6 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks,
|
||||
}
|
||||
});
|
||||
if (sLaunchTime == 0) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.APP_LAUNCH, TAG);
|
||||
sLaunchTime = System.nanoTime();
|
||||
}
|
||||
setContentView(R.layout.setup_main);
|
||||
@@ -381,9 +379,6 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks,
|
||||
@Override
|
||||
public void finishSetup() {
|
||||
if (!mIsFinishing) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.APP_FINISHED, TAG,
|
||||
- SetupStats.Label.TOTAL_TIME, String.valueOf(
|
||||
- System.nanoTime() - sLaunchTime));
|
||||
final SetupWizardApp setupWizardApp = (SetupWizardApp)getApplication();
|
||||
setupWizardApp.sendStickyBroadcastAsUser(
|
||||
new Intent(SetupWizardApp.ACTION_FINISHED),
|
||||
@@ -471,7 +466,6 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks,
|
||||
}
|
||||
final ThemeManager tm = ThemeManager.getInstance(SetupWizardActivity.this);
|
||||
tm.removeClient(SetupWizardActivity.this);
|
||||
- SetupStats.sendEvents(SetupWizardActivity.this);
|
||||
SetupWizardUtils.disableGMSSetupWizard(SetupWizardActivity.this);
|
||||
final WallpaperManager wallpaperManager =
|
||||
WallpaperManager.getInstance(SetupWizardActivity.this);
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/util/EnableAccessibilityController.java b/src/com/cyanogenmod/setupwizard/util/EnableAccessibilityController.java
|
||||
index 440129b..47d6de5 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/util/EnableAccessibilityController.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/util/EnableAccessibilityController.java
|
||||
@@ -39,7 +39,6 @@ import android.view.accessibility.AccessibilityManager;
|
||||
import android.view.accessibility.IAccessibilityManager;
|
||||
|
||||
import com.android.internal.R;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
@@ -284,8 +283,6 @@ public class EnableAccessibilityController {
|
||||
// Turn on accessibility mode last.
|
||||
Settings.Secure.putIntForUser(resolver, Settings.Secure.ACCESSIBILITY_ENABLED,
|
||||
1, userId);
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- "accessibility_enabled");
|
||||
} else if (keyguardLocked) {
|
||||
try {
|
||||
mAccessibilityManager.temporaryEnableAccessibilityStateUntilKeyguardRemoved(
|
||||
--
|
||||
2.8.0
|
||||
|
@ -1,954 +0,0 @@
|
||||
From 4a66cf8f67b5941037ae566db6c74a748a5351a2 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Fri, 8 Apr 2016 20:43:21 -0400
|
||||
Subject: [PATCH] Remove analytics
|
||||
|
||||
Change-Id: I4d38768fc22791f9e5085c56a22f94f335526c31
|
||||
---
|
||||
AndroidManifest.xml | 1 -
|
||||
.../setupwizard/cmstats/SetupStats.java | 162 ---------------------
|
||||
.../setupwizard/cmstats/StatsUtils.java | 44 ------
|
||||
.../setupwizard/setup/BluetoothSetupPage.java | 7 -
|
||||
.../setupwizard/setup/ChooseDataSimPage.java | 4 -
|
||||
.../setupwizard/setup/CyanogenServicesPage.java | 13 --
|
||||
.../setupwizard/setup/CyanogenSettingsPage.java | 56 -------
|
||||
.../setupwizard/setup/DateTimePage.java | 19 ---
|
||||
.../setupwizard/setup/FingerprintSetupPage.java | 4 -
|
||||
.../setupwizard/setup/GmsAccountPage.java | 23 ---
|
||||
.../setupwizard/setup/MobileDataPage.java | 4 -
|
||||
.../setupwizard/setup/OtherSettingsPage.java | 17 +--
|
||||
.../cyanogenmod/setupwizard/setup/SetupPage.java | 7 -
|
||||
.../cyanogenmod/setupwizard/setup/WelcomePage.java | 14 --
|
||||
.../setupwizard/setup/WifiSetupPage.java | 25 ----
|
||||
.../setupwizard/ui/SetupPageFragment.java | 3 -
|
||||
.../setupwizard/ui/SetupWizardActivity.java | 6 -
|
||||
.../util/EnableAccessibilityController.java | 3 -
|
||||
18 files changed, 1 insertion(+), 411 deletions(-)
|
||||
delete mode 100644 src/com/cyanogenmod/setupwizard/cmstats/SetupStats.java
|
||||
delete mode 100644 src/com/cyanogenmod/setupwizard/cmstats/StatsUtils.java
|
||||
|
||||
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
|
||||
index d8c7617..8e2ec08 100644
|
||||
--- a/AndroidManifest.xml
|
||||
+++ b/AndroidManifest.xml
|
||||
@@ -43,7 +43,6 @@
|
||||
<uses-permission android:name="android.permission.BACKUP" />
|
||||
<uses-permission android:name="cyanogenmod.permission.FINISH_SETUP" />
|
||||
<uses-permission android:name="cyanogenmod.permission.LEGALESE" />
|
||||
- <uses-permission android:name="com.cyngn.stats.SEND_ANALYTICS" />
|
||||
<uses-permission android:name="com.cyanogen.permission.REQUEST_KILL_SWITCH_OP" />
|
||||
<uses-permission android:name="cyanogenmod.permission.WRITE_SETTINGS"/>
|
||||
<uses-permission android:name="cyanogenmod.permission.WRITE_SECURE_SETTINGS"/>
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/cmstats/SetupStats.java b/src/com/cyanogenmod/setupwizard/cmstats/SetupStats.java
|
||||
deleted file mode 100644
|
||||
index 6eb527f..0000000
|
||||
--- a/src/com/cyanogenmod/setupwizard/cmstats/SetupStats.java
|
||||
+++ /dev/null
|
||||
@@ -1,162 +0,0 @@
|
||||
-/*
|
||||
- * Copyright (C) 2014 The CyanogenMod Project
|
||||
- *
|
||||
- * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
- * you may not use this file except in compliance with the License.
|
||||
- * You may obtain a copy of the License at
|
||||
- *
|
||||
- * http://www.apache.org/licenses/LICENSE-2.0
|
||||
- *
|
||||
- * Unless required by applicable law or agreed to in writing, software
|
||||
- * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
- * See the License for the specific language governing permissions and
|
||||
- * limitations under the License.
|
||||
- */
|
||||
-
|
||||
-package com.cyanogenmod.setupwizard.cmstats;
|
||||
-
|
||||
-import android.content.Context;
|
||||
-import android.content.Intent;
|
||||
-import android.os.UserHandle;
|
||||
-import android.util.Log;
|
||||
-
|
||||
-import java.util.LinkedList;
|
||||
-
|
||||
-
|
||||
-public class SetupStats {
|
||||
-
|
||||
- private static final String TAG = SetupStats.class.getSimpleName();
|
||||
-
|
||||
- private static final String ANALYTIC_INTENT = "com.cyngn.stats.action.SEND_ANALYTIC_EVENT";
|
||||
- private static final String ANALYTIC_PERMISSION = "com.cyngn.stats.SEND_ANALYTICS";
|
||||
-
|
||||
- public static final String TRACKING_ID = "tracking_id";
|
||||
-
|
||||
- private final LinkedList<Event> mEvents = new LinkedList<Event>();
|
||||
-
|
||||
- private static final SetupStats sInstance = new SetupStats();
|
||||
-
|
||||
- private static final boolean DEBUG = false;
|
||||
-
|
||||
- private SetupStats() {}
|
||||
-
|
||||
- public static void addEvent(String category, String action,
|
||||
- String label, String value) {
|
||||
- sInstance.mEvents.add(new Event(category, action, label, value));
|
||||
- }
|
||||
-
|
||||
- public static void addEvent(String category, String action) {
|
||||
- sInstance.mEvents.add(new Event(category, action, null, null));
|
||||
- }
|
||||
-
|
||||
- public static void sendEvents(Context context) {
|
||||
- while (!sInstance.mEvents.isEmpty()) {
|
||||
- sInstance.sendEvent(context, sInstance.mEvents.remove());
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- private void sendEvent(Context context, Event event) {
|
||||
-
|
||||
- if (!StatsUtils.isStatsPackageInstalled(context)
|
||||
- || !StatsUtils.isStatsCollectionEnabled(context)) {
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- // Create new intent
|
||||
- Intent intent = new Intent();
|
||||
- intent.setAction(ANALYTIC_INTENT);
|
||||
-
|
||||
- // add tracking id
|
||||
- intent.putExtra(TRACKING_ID, context.getPackageName());
|
||||
- // append
|
||||
- intent.putExtra(Fields.EVENT_CATEGORY, event.category);
|
||||
- if (DEBUG) Log.d(TAG, Fields.EVENT_CATEGORY + "=" + event.category);
|
||||
- intent.putExtra(Fields.EVENT_ACTION, event.action);
|
||||
- if (DEBUG) Log.d(TAG, Fields.EVENT_ACTION + "=" + event.action);
|
||||
- // check if exist
|
||||
- if (event.label != null) {
|
||||
- intent.putExtra(Fields.EVENT_LABEL, event.label);
|
||||
- if (DEBUG) Log.d(TAG, Fields.EVENT_LABEL + "=" + event.label);
|
||||
- }
|
||||
-
|
||||
- if (event.value != null) {
|
||||
- intent.putExtra(Fields.EVENT_VALUE, event.value);
|
||||
- if (DEBUG) Log.d(TAG, Fields.EVENT_VALUE + "=" + event.value);
|
||||
- }
|
||||
-
|
||||
- // broadcast for internal package
|
||||
- context.sendBroadcastAsUser(intent,
|
||||
- new UserHandle(UserHandle.USER_CURRENT), ANALYTIC_PERMISSION);
|
||||
- }
|
||||
-
|
||||
- private static final class Event {
|
||||
- private final String category;
|
||||
- private final String action;
|
||||
- private final String label;
|
||||
- private final String value;
|
||||
-
|
||||
- public Event(String category, String action, String label, String value) {
|
||||
- this.action = action;
|
||||
- this.category = category;
|
||||
- this.label = label;
|
||||
- this.value = value;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- public static final class Fields {
|
||||
- public static final String EVENT_CATEGORY = "category";
|
||||
- public static final String EVENT_ACTION = "action";
|
||||
- public static final String EVENT_LABEL = "label";
|
||||
- public static final String EVENT_VALUE = "value";
|
||||
- }
|
||||
-
|
||||
- public static final class Categories {
|
||||
- public static final String APP_LAUNCH = "app_launch";
|
||||
- public static final String APP_FINISHED = "app_finish";
|
||||
- public static final String PAGE_LOAD = "page_load";
|
||||
- public static final String EXTERNAL_PAGE_LOAD = "external_page_load";
|
||||
- public static final String BUTTON_CLICK = "button_click";
|
||||
- public static final String SETTING_CHANGED = "setting_changed";
|
||||
- }
|
||||
-
|
||||
- public static final class Action {
|
||||
- public static final String PAGE_LOADED = "page_loaded";
|
||||
- public static final String PREVIOUS_BUTTON = "previous_button";
|
||||
- public static final String NEXT_BUTTON = "next_button";
|
||||
- public static final String CHANGE_LOCALE = "change_local";
|
||||
- public static final String EXTERNAL_PAGE_LAUNCH = "external_page_launch";
|
||||
- public static final String EXTERNAL_PAGE_RESULT = "external_page_result";
|
||||
- public static final String ENABLE_MOBILE_DATA = "enable_mobile_data";
|
||||
- public static final String PREFERRED_DATA_SIM = "preferred_data_sim";
|
||||
- public static final String APPLY_CUSTOM_THEME = "apply_custom_theme";
|
||||
- public static final String USE_SECURE_SMS = "use_secure_sms";
|
||||
- public static final String ENABLE_BACKUP = "enable_backup";
|
||||
- public static final String ENABLE_NAV_KEYS = "enable_nav_keys";
|
||||
- public static final String ENABLE_LOCATION = "enable_location";
|
||||
- public static final String ENABLE_NETWORK_LOCATION = "enable_network_location";
|
||||
- public static final String ENABLE_GPS_LOCATION = "enable_gps_location";
|
||||
- public static final String DATE_CHANGED = "date_changed";
|
||||
- public static final String TIME_CHANGED = "time_changed";
|
||||
- public static final String TIMEZONE_CHANGED = "timezone_changed";
|
||||
- }
|
||||
-
|
||||
- public static final class Label {
|
||||
- public static final String PAGE = "page";
|
||||
- public static final String LOCALE = "local";
|
||||
- public static final String RESULT = "result";
|
||||
- public static final String WIFI_SETUP = "wifi_setup";
|
||||
- public static final String BLUETOOTH_SETUP = "bluetooth_setup";
|
||||
- public static final String CYANOGEN_ACCOUNT = "cyanogen_account_setup";
|
||||
- public static final String CAPTIVE_PORTAL_LOGIN = "captive_portal_login";
|
||||
- public static final String EMERGENCY_CALL = "emergency_call";
|
||||
- public static final String GMS_ACCOUNT = "gms_account";
|
||||
- public static final String RESTORE = "restore";
|
||||
- public static final String CHECKED = "checked";
|
||||
- public static final String VALUE = "value";
|
||||
- public static final String SLOT = "slot";
|
||||
- public static final String TOTAL_TIME = "total_time";
|
||||
- public static final String FINGERPRINT_SETUP = "fingerprint_setup";
|
||||
- }
|
||||
-
|
||||
-}
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/cmstats/StatsUtils.java b/src/com/cyanogenmod/setupwizard/cmstats/StatsUtils.java
|
||||
deleted file mode 100644
|
||||
index 8be8fad..0000000
|
||||
--- a/src/com/cyanogenmod/setupwizard/cmstats/StatsUtils.java
|
||||
+++ /dev/null
|
||||
@@ -1,44 +0,0 @@
|
||||
-
|
||||
-/*
|
||||
- * Copyright (C) 2014 The CyanogenMod Project
|
||||
- *
|
||||
- * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
- * you may not use this file except in compliance with the License.
|
||||
- * You may obtain a copy of the License at
|
||||
- *
|
||||
- * http://www.apache.org/licenses/LICENSE-2.0
|
||||
- *
|
||||
- * Unless required by applicable law or agreed to in writing, software
|
||||
- * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
- * See the License for the specific language governing permissions and
|
||||
- * limitations under the License.
|
||||
- */
|
||||
-
|
||||
-package com.cyanogenmod.setupwizard.cmstats;
|
||||
-
|
||||
-import android.content.Context;
|
||||
-import android.content.pm.ApplicationInfo;
|
||||
-import android.content.pm.PackageInfo;
|
||||
-import android.content.pm.PackageManager;
|
||||
-
|
||||
-import cyanogenmod.providers.CMSettings;
|
||||
-
|
||||
-public class StatsUtils {
|
||||
- private static final String STATS_PACKAGE = "com.cyngn.stats";
|
||||
-
|
||||
- public static boolean isStatsCollectionEnabled(Context context) {
|
||||
- return CMSettings.Secure.getInt(context.getContentResolver(),
|
||||
- CMSettings.Secure.STATS_COLLECTION, 1) != 0;
|
||||
- }
|
||||
-
|
||||
- public static boolean isStatsPackageInstalled(Context context) {
|
||||
- try {
|
||||
- PackageInfo pi = context.getPackageManager().getPackageInfo(STATS_PACKAGE, 0);
|
||||
- return pi.applicationInfo.enabled
|
||||
- && ((pi.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0);
|
||||
- } catch (PackageManager.NameNotFoundException e) {
|
||||
- return false;
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/BluetoothSetupPage.java b/src/com/cyanogenmod/setupwizard/setup/BluetoothSetupPage.java
|
||||
index 915abec..8609dbb 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/BluetoothSetupPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/BluetoothSetupPage.java
|
||||
@@ -28,7 +28,6 @@ import android.util.Log;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.LoadingFragment;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
@@ -91,9 +90,6 @@ public class BluetoothSetupPage extends SetupPage {
|
||||
@Override
|
||||
public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
if (requestCode == SetupWizardApp.REQUEST_CODE_SETUP_BLUETOOTH) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.BLUETOOTH_SETUP, "success");
|
||||
getCallbacks().onNextPage();
|
||||
} else {
|
||||
return false;
|
||||
@@ -111,9 +107,6 @@ public class BluetoothSetupPage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(mContext,
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE, SetupStats.Label.BLUETOOTH_SETUP);
|
||||
mLoadingFragment.startActivityForResult(intent,
|
||||
SetupWizardApp.REQUEST_CODE_SETUP_BLUETOOTH, options.toBundle());
|
||||
}
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java b/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java
|
||||
index a0a4312..42e7ea2 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java
|
||||
@@ -47,7 +47,6 @@ import com.android.internal.telephony.TelephonyIntents;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
|
||||
@@ -356,9 +355,6 @@ public class ChooseDataSimPage extends SetupPage {
|
||||
for (int i = 0; i < mCheckBoxes.size(); i++) {
|
||||
if (subInfoRecord.getSimSlotIndex() == i) {
|
||||
mCheckBoxes.get(i).setChecked(true);
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.PREFERRED_DATA_SIM,
|
||||
- SetupStats.Label.SLOT, String.valueOf(i + 1));
|
||||
} else {
|
||||
mCheckBoxes.get(i).setChecked(false);
|
||||
}
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/CyanogenServicesPage.java b/src/com/cyanogenmod/setupwizard/setup/CyanogenServicesPage.java
|
||||
index e71dd79..5bfe3b0 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/CyanogenServicesPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/CyanogenServicesPage.java
|
||||
@@ -32,7 +32,6 @@ import android.util.Log;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.LoadingFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
|
||||
@@ -95,10 +94,6 @@ public class CyanogenServicesPage extends SetupPage {
|
||||
public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
if (requestCode == SetupWizardApp.REQUEST_CODE_SETUP_CYANOGEN) {
|
||||
if (resultCode == Activity.RESULT_OK || resultCode == Activity.RESULT_FIRST_USER) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.CYANOGEN_ACCOUNT,
|
||||
- resultCode == Activity.RESULT_OK ? "success" : "skipped");
|
||||
if (SetupWizardUtils.accountExists(mContext,
|
||||
mContext.getString(R.string.cm_account_type))) {
|
||||
if (SetupWizardUtils.isDeviceLocked()) {
|
||||
@@ -108,9 +103,6 @@ public class CyanogenServicesPage extends SetupPage {
|
||||
}
|
||||
getCallbacks().onNextPage();
|
||||
} else if (resultCode == Activity.RESULT_CANCELED) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.CYANOGEN_ACCOUNT, "canceled");
|
||||
getCallbacks().onPreviousPage();
|
||||
}
|
||||
}
|
||||
@@ -136,11 +128,6 @@ public class CyanogenServicesPage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(mContext,
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats
|
||||
- .addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE,
|
||||
- SetupStats.Label.CYANOGEN_ACCOUNT);
|
||||
mFragment.startActivityForResult(intent,
|
||||
SetupWizardApp.REQUEST_CODE_SETUP_CYANOGEN,
|
||||
options.toBundle());
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/CyanogenSettingsPage.java b/src/com/cyanogenmod/setupwizard/setup/CyanogenSettingsPage.java
|
||||
index d17d64b..2c95253 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/CyanogenSettingsPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/CyanogenSettingsPage.java
|
||||
@@ -42,7 +42,6 @@ import android.widget.TextView;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
|
||||
@@ -54,7 +53,6 @@ public class CyanogenSettingsPage extends SetupPage {
|
||||
|
||||
public static final String TAG = "CyanogenSettingsPage";
|
||||
|
||||
- public static final String KEY_SEND_METRICS = "send_metrics";
|
||||
public static final String DISABLE_NAV_KEYS = "disable_nav_keys";
|
||||
public static final String KEY_APPLY_DEFAULT_THEME = "apply_default_theme";
|
||||
public static final String KEY_BUTTON_BACKLIGHT = "pre_navbar_button_backlight";
|
||||
@@ -116,37 +114,18 @@ public class CyanogenSettingsPage extends SetupPage {
|
||||
@Override
|
||||
public void run() {
|
||||
if (getData().containsKey(DISABLE_NAV_KEYS)) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.ENABLE_NAV_KEYS,
|
||||
- SetupStats.Label.CHECKED,
|
||||
- String.valueOf(getData().getBoolean(DISABLE_NAV_KEYS)));
|
||||
writeDisableNavkeysOption(mContext, getData().getBoolean(DISABLE_NAV_KEYS));
|
||||
}
|
||||
}
|
||||
});
|
||||
- handleEnableMetrics();
|
||||
handleDefaultThemeSetup();
|
||||
}
|
||||
|
||||
- private void handleEnableMetrics() {
|
||||
- Bundle privacyData = getData();
|
||||
- if (privacyData != null
|
||||
- && privacyData.containsKey(KEY_SEND_METRICS)) {
|
||||
- CMSettings.Secure.putInt(mContext.getContentResolver(),
|
||||
- CMSettings.Secure.STATS_COLLECTION, privacyData.getBoolean(KEY_SEND_METRICS)
|
||||
- ? 1 : 0);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
private void handleDefaultThemeSetup() {
|
||||
Bundle privacyData = getData();
|
||||
if (!SetupWizardUtils.getDefaultThemePackageName(mContext).equals(
|
||||
ThemeConfig.SYSTEM_DEFAULT) && privacyData != null &&
|
||||
privacyData.getBoolean(KEY_APPLY_DEFAULT_THEME)) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.APPLY_CUSTOM_THEME,
|
||||
- SetupStats.Label.CHECKED,
|
||||
- String.valueOf(privacyData.getBoolean(KEY_APPLY_DEFAULT_THEME)));
|
||||
Log.i(TAG, "Applying default theme");
|
||||
final ThemeManager tm = ThemeManager.getInstance(mContext);
|
||||
tm.applyDefaultTheme();
|
||||
@@ -176,26 +155,14 @@ public class CyanogenSettingsPage extends SetupPage {
|
||||
private View mKillSwitchView;
|
||||
private TextView mKillSwitchTitle;
|
||||
private ImageView mKillSwitchStatus;
|
||||
- private View mMetricsRow;
|
||||
private View mDefaultThemeRow;
|
||||
private View mNavKeysRow;
|
||||
- private CheckBox mMetrics;
|
||||
private CheckBox mDefaultTheme;
|
||||
private CheckBox mNavKeys;
|
||||
|
||||
private boolean mHideNavKeysRow = false;
|
||||
private boolean mHideThemeRow = false;
|
||||
|
||||
-
|
||||
- private View.OnClickListener mMetricsClickListener = new View.OnClickListener() {
|
||||
- @Override
|
||||
- public void onClick(View view) {
|
||||
- boolean checked = !mMetrics.isChecked();
|
||||
- mMetrics.setChecked(checked);
|
||||
- mPage.getData().putBoolean(KEY_SEND_METRICS, checked);
|
||||
- }
|
||||
- };
|
||||
-
|
||||
private View.OnClickListener mDefaultThemeClickListener = new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
@@ -253,19 +220,6 @@ public class CyanogenSettingsPage extends SetupPage {
|
||||
}
|
||||
}
|
||||
|
||||
- mMetricsRow = mRootView.findViewById(R.id.metrics);
|
||||
- mMetricsRow.setOnClickListener(mMetricsClickListener);
|
||||
- String metricsHelpImproveCM =
|
||||
- getString(R.string.services_help_improve_cm, getString(R.string.os_name));
|
||||
- String metricsSummary = getString(R.string.services_metrics_label,
|
||||
- metricsHelpImproveCM, getString(R.string.os_name));
|
||||
- final SpannableStringBuilder metricsSpan = new SpannableStringBuilder(metricsSummary);
|
||||
- metricsSpan.setSpan(new android.text.style.StyleSpan(android.graphics.Typeface.BOLD),
|
||||
- 0, metricsHelpImproveCM.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
- TextView metrics = (TextView) mRootView.findViewById(R.id.enable_metrics_summary);
|
||||
- metrics.setText(metricsSpan);
|
||||
- mMetrics = (CheckBox) mRootView.findViewById(R.id.enable_metrics_checkbox);
|
||||
-
|
||||
mDefaultThemeRow = mRootView.findViewById(R.id.theme);
|
||||
mHideThemeRow = hideThemeSwitch(getActivity());
|
||||
if (mHideThemeRow) {
|
||||
@@ -314,19 +268,9 @@ public class CyanogenSettingsPage extends SetupPage {
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
updateDisableNavkeysOption();
|
||||
- updateMetricsOption();
|
||||
updateThemeOption();
|
||||
}
|
||||
|
||||
- private void updateMetricsOption() {
|
||||
- final Bundle myPageBundle = mPage.getData();
|
||||
- boolean metricsChecked =
|
||||
- !myPageBundle.containsKey(KEY_SEND_METRICS) || myPageBundle
|
||||
- .getBoolean(KEY_SEND_METRICS);
|
||||
- mMetrics.setChecked(metricsChecked);
|
||||
- myPageBundle.putBoolean(KEY_SEND_METRICS, metricsChecked);
|
||||
- }
|
||||
-
|
||||
private void updateThemeOption() {
|
||||
if (!mHideThemeRow) {
|
||||
final Bundle myPageBundle = mPage.getData();
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/DateTimePage.java b/src/com/cyanogenmod/setupwizard/setup/DateTimePage.java
|
||||
index 7a5922b..a669163 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/DateTimePage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/DateTimePage.java
|
||||
@@ -42,7 +42,6 @@ import android.widget.TextView;
|
||||
import android.widget.TimePicker;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
@@ -136,8 +135,6 @@ public class DateTimePage extends SetupPage {
|
||||
mDateView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.BUTTON_CLICK,
|
||||
- "date_picker");
|
||||
showDatePicker();
|
||||
}
|
||||
});
|
||||
@@ -145,8 +142,6 @@ public class DateTimePage extends SetupPage {
|
||||
mTimeView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.BUTTON_CLICK,
|
||||
- "time_picker");
|
||||
showTimePicker();
|
||||
}
|
||||
});
|
||||
@@ -167,17 +162,11 @@ public class DateTimePage extends SetupPage {
|
||||
final Map<?, ?> map = (Map<?, ?>) adapterView.getItemAtPosition(position);
|
||||
final String tzId = (String) map.get(KEY_ID);
|
||||
if (mCurrentTimeZone != null && !mCurrentTimeZone.getID().equals(tzId)) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.BUTTON_CLICK,
|
||||
- "timezone_picker");
|
||||
// Update the system timezone value
|
||||
final Activity activity = getActivity();
|
||||
final AlarmManager alarm = (AlarmManager) activity.getSystemService(Context.ALARM_SERVICE);
|
||||
alarm.setTimeZone(tzId);
|
||||
mCurrentTimeZone = TimeZone.getTimeZone(tzId);
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.TIMEZONE_CHANGED,
|
||||
- SetupStats.Label.VALUE,
|
||||
- mCurrentTimeZone.getDisplayName());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -232,10 +221,6 @@ public class DateTimePage extends SetupPage {
|
||||
if (activity != null) {
|
||||
setDate(activity, year, month, day);
|
||||
updateTimeAndDateDisplay(activity);
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.DATE_CHANGED,
|
||||
- SetupStats.Label.VALUE,
|
||||
- month+"/"+day+"/"+year);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -245,10 +230,6 @@ public class DateTimePage extends SetupPage {
|
||||
if (activity != null) {
|
||||
setTime(activity, hourOfDay, minute);
|
||||
updateTimeAndDateDisplay(activity);
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.TIME_CHANGED,
|
||||
- SetupStats.Label.VALUE,
|
||||
- hourOfDay+":"+minute);
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/FingerprintSetupPage.java b/src/com/cyanogenmod/setupwizard/setup/FingerprintSetupPage.java
|
||||
index 890a4f6..c9174c6 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/FingerprintSetupPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/FingerprintSetupPage.java
|
||||
@@ -28,7 +28,6 @@ import android.widget.TextView;
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
|
||||
public class FingerprintSetupPage extends SetupPage {
|
||||
@@ -113,9 +112,6 @@ public class FingerprintSetupPage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(getActivity(),
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE, SetupStats.Label.FINGERPRINT_SETUP);
|
||||
startActivityForResult(intent, SetupWizardApp.REQUEST_CODE_SETUP_FINGERPRINT,
|
||||
options.toBundle());
|
||||
}
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/GmsAccountPage.java b/src/com/cyanogenmod/setupwizard/setup/GmsAccountPage.java
|
||||
index eebf3f5..1de9c82 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/GmsAccountPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/GmsAccountPage.java
|
||||
@@ -34,7 +34,6 @@ import android.util.Log;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.LoadingFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
|
||||
@@ -138,10 +137,6 @@ public class GmsAccountPage extends SetupPage {
|
||||
boolean restorePicker = !data.hasExtra(EXTRA_RESTORE_TOKEN)
|
||||
&& !data.hasExtra(EXTRA_RESTORE_ACCOUNT) &&
|
||||
data.hasExtra(EXTRA_AUTH_ACCOUNT);
|
||||
-
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.GMS_ACCOUNT, "success");
|
||||
launchGmsRestorePage(restorePicker);
|
||||
} else {
|
||||
handleResult(requestCode, resultCode);
|
||||
@@ -169,24 +164,12 @@ public class GmsAccountPage extends SetupPage {
|
||||
|
||||
private void handleResult(int requestCode, int resultCode) {
|
||||
if (resultCode == Activity.RESULT_CANCELED) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- requestCode == SetupWizardApp.REQUEST_CODE_SETUP_GMS ?
|
||||
- SetupStats.Label.GMS_ACCOUNT : SetupStats.Label.RESTORE, "canceled");
|
||||
getCallbacks().onPreviousPage();
|
||||
} else {
|
||||
if (resultCode == Activity.RESULT_OK) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- requestCode == SetupWizardApp.REQUEST_CODE_SETUP_GMS ?
|
||||
- SetupStats.Label.GMS_ACCOUNT : SetupStats.Label.RESTORE, "success");
|
||||
getCallbacks().onNextPage();
|
||||
} else {
|
||||
if (canSkip()) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- requestCode == SetupWizardApp.REQUEST_CODE_SETUP_GMS ?
|
||||
- SetupStats.Label.GMS_ACCOUNT : SetupStats.Label.RESTORE, "skipped");
|
||||
getCallbacks().onNextPage();
|
||||
} else {
|
||||
getCallbacks().onPreviousPage();
|
||||
@@ -226,9 +209,6 @@ public class GmsAccountPage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(mContext,
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE, SetupStats.Label.RESTORE);
|
||||
mFragment.startActivityForResult(
|
||||
intent,
|
||||
SetupWizardApp.REQUEST_CODE_RESTORE_GMS, options.toBundle());
|
||||
@@ -275,9 +255,6 @@ public class GmsAccountPage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(mContext,
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE, SetupStats.Label.GMS_ACCOUNT);
|
||||
mFragment.startActivityForResult(intent,
|
||||
SetupWizardApp.REQUEST_CODE_SETUP_GMS, options.toBundle());
|
||||
} catch (OperationCanceledException e) {
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java b/src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java
|
||||
index da3872e..36d9ad5 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java
|
||||
@@ -38,7 +38,6 @@ import android.widget.TextView;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
|
||||
@@ -147,9 +146,6 @@ public class MobileDataPage extends SetupPage {
|
||||
} else {
|
||||
onDataStateReady();
|
||||
}
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.ENABLE_MOBILE_DATA,
|
||||
- SetupStats.Label.CHECKED, String.valueOf(checked));
|
||||
}
|
||||
};
|
||||
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/OtherSettingsPage.java b/src/com/cyanogenmod/setupwizard/setup/OtherSettingsPage.java
|
||||
index 0ed17ff..0bea90b 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/OtherSettingsPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/OtherSettingsPage.java
|
||||
@@ -40,7 +40,6 @@ import android.widget.TextView;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
|
||||
@@ -233,9 +232,6 @@ public class OtherSettingsPage extends SetupPage {
|
||||
private void onToggleBackup(boolean checked) {
|
||||
try {
|
||||
mBackupManager.setBackupEnabled(checked);
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.ENABLE_BACKUP,
|
||||
- SetupStats.Label.CHECKED, String.valueOf(checked));
|
||||
} catch (RemoteException e) {}
|
||||
updateBackupToggle();
|
||||
}
|
||||
@@ -309,9 +305,6 @@ public class OtherSettingsPage extends SetupPage {
|
||||
}
|
||||
|
||||
private void onToggleLocationAccess(boolean checked) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.ENABLE_LOCATION,
|
||||
- SetupStats.Label.CHECKED, String.valueOf(checked));
|
||||
|
||||
if (checked) {
|
||||
setLocationMode(Settings.Secure.LOCATION_MODE_SENSORS_ONLY);
|
||||
@@ -321,10 +314,6 @@ public class OtherSettingsPage extends SetupPage {
|
||||
}
|
||||
|
||||
private void onToggleBatterySaving(boolean checked) {
|
||||
- /* SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.ENABLE_BATTERY_SAVING_LOCATION,
|
||||
- SetupStats.Label.CHECKED, String.valueOf(checked)); */
|
||||
-
|
||||
if (checked) {
|
||||
setLocationMode(Settings.Secure.LOCATION_MODE_BATTERY_SAVING);
|
||||
} else {
|
||||
@@ -333,11 +322,7 @@ public class OtherSettingsPage extends SetupPage {
|
||||
}
|
||||
|
||||
private void onToggleNetwork(boolean checked) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.ENABLE_NETWORK_LOCATION,
|
||||
- SetupStats.Label.CHECKED, String.valueOf(checked));
|
||||
-
|
||||
- if (checked) {
|
||||
+ if (checked) {
|
||||
setLocationMode(Settings.Secure.LOCATION_MODE_HIGH_ACCURACY);
|
||||
} else {
|
||||
setLocationMode(Settings.Secure.LOCATION_MODE_SENSORS_ONLY);
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/SetupPage.java b/src/com/cyanogenmod/setupwizard/setup/SetupPage.java
|
||||
index 1a19fb0..9804049 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/SetupPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/SetupPage.java
|
||||
@@ -26,7 +26,6 @@ import android.transition.Transition;
|
||||
import android.view.Gravity;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
|
||||
|
||||
public abstract class SetupPage implements Page {
|
||||
@@ -76,18 +75,12 @@ public abstract class SetupPage implements Page {
|
||||
public void doLoadAction(FragmentManager fragmentManager, int action) {
|
||||
Fragment fragment = getFragment(fragmentManager, action);
|
||||
if (action == Page.ACTION_NEXT) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.BUTTON_CLICK,
|
||||
- SetupStats.Action.NEXT_BUTTON, getKey(),
|
||||
- String.valueOf(System.currentTimeMillis()));
|
||||
Transition t = new Slide(Gravity.RIGHT);
|
||||
fragment.setEnterTransition(t);
|
||||
fragmentManager.beginTransaction()
|
||||
.replace(R.id.content,fragment, getKey())
|
||||
.commit();
|
||||
} else {
|
||||
- SetupStats.addEvent(SetupStats.Categories.BUTTON_CLICK,
|
||||
- SetupStats.Action.PREVIOUS_BUTTON, getKey(),
|
||||
- String.valueOf(System.currentTimeMillis()));
|
||||
Transition t = new Slide(Gravity.LEFT);
|
||||
fragment.setEnterTransition(t);
|
||||
fragmentManager.beginTransaction()
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/WelcomePage.java b/src/com/cyanogenmod/setupwizard/setup/WelcomePage.java
|
||||
index e09c2a1..eedb24d 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/WelcomePage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/WelcomePage.java
|
||||
@@ -42,7 +42,6 @@ import android.widget.Toast;
|
||||
import com.android.internal.telephony.MccTable;
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.LocalePicker;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
@@ -87,7 +86,6 @@ public class WelcomePage extends SetupPage {
|
||||
return true;
|
||||
} else {
|
||||
if (mWelcomeFragment != null) {
|
||||
- mWelcomeFragment.sendLocaleStats();
|
||||
}
|
||||
return super.doNextAction();
|
||||
}
|
||||
@@ -102,10 +100,6 @@ public class WelcomePage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(mContext,
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats.addEvent(SetupStats.Categories.BUTTON_CLICK, SetupStats.Label.EMERGENCY_CALL);
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE, SetupStats.Label.EMERGENCY_CALL);
|
||||
mContext.startActivity(intent, options.toBundle());
|
||||
return true;
|
||||
}
|
||||
@@ -269,14 +263,6 @@ public class WelcomePage extends SetupPage {
|
||||
return R.layout.setup_welcome_page;
|
||||
}
|
||||
|
||||
- public void sendLocaleStats() {
|
||||
- if (!mCurrentLocale.equals(mInitialLocale)) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.CHANGE_LOCALE, SetupStats.Label.LOCALE,
|
||||
- mCurrentLocale.getDisplayName());
|
||||
- }
|
||||
- }
|
||||
-
|
||||
public void fetchAndUpdateSimLocale() {
|
||||
if (mIgnoreSimLocale || isDetached()) {
|
||||
return;
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/WifiSetupPage.java b/src/com/cyanogenmod/setupwizard/setup/WifiSetupPage.java
|
||||
index 2d8084a..3a131f7 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/WifiSetupPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/WifiSetupPage.java
|
||||
@@ -31,7 +31,6 @@ import android.util.Log;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.LoadingFragment;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
@@ -86,9 +85,6 @@ public class WifiSetupPage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(mContext,
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE, SetupStats.Label.CAPTIVE_PORTAL_LOGIN);
|
||||
mLoadingFragment.startActivityForResult(intent,
|
||||
SetupWizardApp.REQUEST_CODE_SETUP_CAPTIVE_PORTAL,
|
||||
options.toBundle());
|
||||
@@ -157,19 +153,10 @@ public class WifiSetupPage extends SetupPage {
|
||||
public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
if (requestCode == SetupWizardApp.REQUEST_CODE_SETUP_WIFI) {
|
||||
if (resultCode == Activity.RESULT_CANCELED) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.WIFI_SETUP, "canceled");
|
||||
getCallbacks().onPreviousPage();
|
||||
} else if (resultCode == Activity.RESULT_OK) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.WIFI_SETUP, "success");
|
||||
checkForCaptivePortal();
|
||||
} else {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.WIFI_SETUP, "skipped");
|
||||
getCallbacks().onNextPage();
|
||||
}
|
||||
} else if (requestCode == SetupWizardApp.REQUEST_CODE_SETUP_CAPTIVE_PORTAL) {
|
||||
@@ -179,20 +166,11 @@ public class WifiSetupPage extends SetupPage {
|
||||
}
|
||||
String token = data.getStringExtra("response_token");
|
||||
if (token != null && !token.equals(mResponseToken)) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.CAPTIVE_PORTAL_LOGIN, "token_mismatch");
|
||||
launchWifiSetup();
|
||||
} else {
|
||||
if (resultCode == Activity.RESULT_CANCELED) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.CAPTIVE_PORTAL_LOGIN, "canceled");
|
||||
launchWifiSetup();
|
||||
} else {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.CAPTIVE_PORTAL_LOGIN, "success");
|
||||
getCallbacks().onNextPage();
|
||||
}
|
||||
}
|
||||
@@ -256,9 +234,6 @@ public class WifiSetupPage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(mContext,
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE, SetupStats.Label.WIFI_SETUP);
|
||||
mLoadingFragment.startActivityForResult(intent,
|
||||
SetupWizardApp.REQUEST_CODE_SETUP_WIFI, options.toBundle());
|
||||
}
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/ui/SetupPageFragment.java b/src/com/cyanogenmod/setupwizard/ui/SetupPageFragment.java
|
||||
index b0df440..33c61c7 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/ui/SetupPageFragment.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/ui/SetupPageFragment.java
|
||||
@@ -26,7 +26,6 @@ import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.setup.Page;
|
||||
import com.cyanogenmod.setupwizard.setup.SetupDataCallbacks;
|
||||
|
||||
@@ -43,8 +42,6 @@ public abstract class SetupPageFragment extends Fragment {
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setRetainInstance(true);
|
||||
- SetupStats.addEvent(SetupStats.Categories.PAGE_LOAD, SetupStats.Action.PAGE_LOADED,
|
||||
- mKey, String.valueOf(System.currentTimeMillis()));
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java b/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java
|
||||
index 7ba58e0..68255c4 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java
|
||||
@@ -44,7 +44,6 @@ import android.widget.ProgressBar;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.setup.CMSetupWizardData;
|
||||
import com.cyanogenmod.setupwizard.setup.GmsAccountPage;
|
||||
import com.cyanogenmod.setupwizard.setup.Page;
|
||||
@@ -108,7 +107,6 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks,
|
||||
}
|
||||
});
|
||||
if (sLaunchTime == 0) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.APP_LAUNCH, TAG);
|
||||
sLaunchTime = System.nanoTime();
|
||||
}
|
||||
setContentView(R.layout.setup_main);
|
||||
@@ -387,9 +385,6 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks,
|
||||
@Override
|
||||
public void finishSetup() {
|
||||
if (!mIsFinishing) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.APP_FINISHED, TAG,
|
||||
- SetupStats.Label.TOTAL_TIME, String.valueOf(
|
||||
- System.nanoTime() - sLaunchTime));
|
||||
final SetupWizardApp setupWizardApp = (SetupWizardApp)getApplication();
|
||||
setupWizardApp.sendStickyBroadcastAsUser(
|
||||
new Intent(SetupWizardApp.ACTION_FINISHED),
|
||||
@@ -479,7 +474,6 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks,
|
||||
}
|
||||
final ThemeManager tm = ThemeManager.getInstance(SetupWizardActivity.this);
|
||||
tm.unregisterThemeChangeListener(SetupWizardActivity.this);
|
||||
- SetupStats.sendEvents(SetupWizardActivity.this);
|
||||
SetupWizardUtils.disableGMSSetupWizard(SetupWizardActivity.this);
|
||||
final WallpaperManager wallpaperManager =
|
||||
WallpaperManager.getInstance(SetupWizardActivity.this);
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/util/EnableAccessibilityController.java b/src/com/cyanogenmod/setupwizard/util/EnableAccessibilityController.java
|
||||
index 440129b..47d6de5 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/util/EnableAccessibilityController.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/util/EnableAccessibilityController.java
|
||||
@@ -39,7 +39,6 @@ import android.view.accessibility.AccessibilityManager;
|
||||
import android.view.accessibility.IAccessibilityManager;
|
||||
|
||||
import com.android.internal.R;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
@@ -284,8 +283,6 @@ public class EnableAccessibilityController {
|
||||
// Turn on accessibility mode last.
|
||||
Settings.Secure.putIntForUser(resolver, Settings.Secure.ACCESSIBILITY_ENABLED,
|
||||
1, userId);
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- "accessibility_enabled");
|
||||
} else if (keyguardLocked) {
|
||||
try {
|
||||
mAccessibilityManager.temporaryEnableAccessibilityStateUntilKeyguardRemoved(
|
||||
--
|
||||
2.8.0
|
||||
|
@ -1,944 +0,0 @@
|
||||
From 149226a0a45a4a65447c4059b6e199dbc345bfde Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Thu, 28 Apr 2016 00:22:37 -0400
|
||||
Subject: [PATCH] Remove analytics
|
||||
|
||||
Change-Id: I1c9a4267c948013a9cd900cf046ed450d945ab4c
|
||||
---
|
||||
AndroidManifest.xml | 1 -
|
||||
.../setupwizard/cmstats/SetupStats.java | 162 ---------------------
|
||||
.../setupwizard/cmstats/StatsUtils.java | 44 ------
|
||||
.../setupwizard/setup/BluetoothSetupPage.java | 7 -
|
||||
.../setupwizard/setup/ChooseDataSimPage.java | 4 -
|
||||
.../setupwizard/setup/CyanogenServicesPage.java | 13 --
|
||||
.../setupwizard/setup/CyanogenSettingsPage.java | 56 -------
|
||||
.../setupwizard/setup/DateTimePage.java | 19 ---
|
||||
.../setupwizard/setup/FingerprintSetupPage.java | 4 -
|
||||
.../setupwizard/setup/GmsAccountPage.java | 23 ---
|
||||
.../setupwizard/setup/MobileDataPage.java | 4 -
|
||||
.../setupwizard/setup/OtherSettingsPage.java | 14 +-
|
||||
.../cyanogenmod/setupwizard/setup/SetupPage.java | 7 -
|
||||
.../cyanogenmod/setupwizard/setup/WelcomePage.java | 14 --
|
||||
.../setupwizard/setup/WifiSetupPage.java | 25 ----
|
||||
.../setupwizard/ui/SetupPageFragment.java | 3 -
|
||||
.../setupwizard/ui/SetupWizardActivity.java | 6 -
|
||||
.../util/EnableAccessibilityController.java | 3 -
|
||||
18 files changed, 1 insertion(+), 408 deletions(-)
|
||||
delete mode 100644 src/com/cyanogenmod/setupwizard/cmstats/SetupStats.java
|
||||
delete mode 100644 src/com/cyanogenmod/setupwizard/cmstats/StatsUtils.java
|
||||
|
||||
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
|
||||
index d8c7617..8e2ec08 100644
|
||||
--- a/AndroidManifest.xml
|
||||
+++ b/AndroidManifest.xml
|
||||
@@ -43,7 +43,6 @@
|
||||
<uses-permission android:name="android.permission.BACKUP" />
|
||||
<uses-permission android:name="cyanogenmod.permission.FINISH_SETUP" />
|
||||
<uses-permission android:name="cyanogenmod.permission.LEGALESE" />
|
||||
- <uses-permission android:name="com.cyngn.stats.SEND_ANALYTICS" />
|
||||
<uses-permission android:name="com.cyanogen.permission.REQUEST_KILL_SWITCH_OP" />
|
||||
<uses-permission android:name="cyanogenmod.permission.WRITE_SETTINGS"/>
|
||||
<uses-permission android:name="cyanogenmod.permission.WRITE_SECURE_SETTINGS"/>
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/cmstats/SetupStats.java b/src/com/cyanogenmod/setupwizard/cmstats/SetupStats.java
|
||||
deleted file mode 100644
|
||||
index 6eb527f..0000000
|
||||
--- a/src/com/cyanogenmod/setupwizard/cmstats/SetupStats.java
|
||||
+++ /dev/null
|
||||
@@ -1,162 +0,0 @@
|
||||
-/*
|
||||
- * Copyright (C) 2014 The CyanogenMod Project
|
||||
- *
|
||||
- * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
- * you may not use this file except in compliance with the License.
|
||||
- * You may obtain a copy of the License at
|
||||
- *
|
||||
- * http://www.apache.org/licenses/LICENSE-2.0
|
||||
- *
|
||||
- * Unless required by applicable law or agreed to in writing, software
|
||||
- * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
- * See the License for the specific language governing permissions and
|
||||
- * limitations under the License.
|
||||
- */
|
||||
-
|
||||
-package com.cyanogenmod.setupwizard.cmstats;
|
||||
-
|
||||
-import android.content.Context;
|
||||
-import android.content.Intent;
|
||||
-import android.os.UserHandle;
|
||||
-import android.util.Log;
|
||||
-
|
||||
-import java.util.LinkedList;
|
||||
-
|
||||
-
|
||||
-public class SetupStats {
|
||||
-
|
||||
- private static final String TAG = SetupStats.class.getSimpleName();
|
||||
-
|
||||
- private static final String ANALYTIC_INTENT = "com.cyngn.stats.action.SEND_ANALYTIC_EVENT";
|
||||
- private static final String ANALYTIC_PERMISSION = "com.cyngn.stats.SEND_ANALYTICS";
|
||||
-
|
||||
- public static final String TRACKING_ID = "tracking_id";
|
||||
-
|
||||
- private final LinkedList<Event> mEvents = new LinkedList<Event>();
|
||||
-
|
||||
- private static final SetupStats sInstance = new SetupStats();
|
||||
-
|
||||
- private static final boolean DEBUG = false;
|
||||
-
|
||||
- private SetupStats() {}
|
||||
-
|
||||
- public static void addEvent(String category, String action,
|
||||
- String label, String value) {
|
||||
- sInstance.mEvents.add(new Event(category, action, label, value));
|
||||
- }
|
||||
-
|
||||
- public static void addEvent(String category, String action) {
|
||||
- sInstance.mEvents.add(new Event(category, action, null, null));
|
||||
- }
|
||||
-
|
||||
- public static void sendEvents(Context context) {
|
||||
- while (!sInstance.mEvents.isEmpty()) {
|
||||
- sInstance.sendEvent(context, sInstance.mEvents.remove());
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- private void sendEvent(Context context, Event event) {
|
||||
-
|
||||
- if (!StatsUtils.isStatsPackageInstalled(context)
|
||||
- || !StatsUtils.isStatsCollectionEnabled(context)) {
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- // Create new intent
|
||||
- Intent intent = new Intent();
|
||||
- intent.setAction(ANALYTIC_INTENT);
|
||||
-
|
||||
- // add tracking id
|
||||
- intent.putExtra(TRACKING_ID, context.getPackageName());
|
||||
- // append
|
||||
- intent.putExtra(Fields.EVENT_CATEGORY, event.category);
|
||||
- if (DEBUG) Log.d(TAG, Fields.EVENT_CATEGORY + "=" + event.category);
|
||||
- intent.putExtra(Fields.EVENT_ACTION, event.action);
|
||||
- if (DEBUG) Log.d(TAG, Fields.EVENT_ACTION + "=" + event.action);
|
||||
- // check if exist
|
||||
- if (event.label != null) {
|
||||
- intent.putExtra(Fields.EVENT_LABEL, event.label);
|
||||
- if (DEBUG) Log.d(TAG, Fields.EVENT_LABEL + "=" + event.label);
|
||||
- }
|
||||
-
|
||||
- if (event.value != null) {
|
||||
- intent.putExtra(Fields.EVENT_VALUE, event.value);
|
||||
- if (DEBUG) Log.d(TAG, Fields.EVENT_VALUE + "=" + event.value);
|
||||
- }
|
||||
-
|
||||
- // broadcast for internal package
|
||||
- context.sendBroadcastAsUser(intent,
|
||||
- new UserHandle(UserHandle.USER_CURRENT), ANALYTIC_PERMISSION);
|
||||
- }
|
||||
-
|
||||
- private static final class Event {
|
||||
- private final String category;
|
||||
- private final String action;
|
||||
- private final String label;
|
||||
- private final String value;
|
||||
-
|
||||
- public Event(String category, String action, String label, String value) {
|
||||
- this.action = action;
|
||||
- this.category = category;
|
||||
- this.label = label;
|
||||
- this.value = value;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- public static final class Fields {
|
||||
- public static final String EVENT_CATEGORY = "category";
|
||||
- public static final String EVENT_ACTION = "action";
|
||||
- public static final String EVENT_LABEL = "label";
|
||||
- public static final String EVENT_VALUE = "value";
|
||||
- }
|
||||
-
|
||||
- public static final class Categories {
|
||||
- public static final String APP_LAUNCH = "app_launch";
|
||||
- public static final String APP_FINISHED = "app_finish";
|
||||
- public static final String PAGE_LOAD = "page_load";
|
||||
- public static final String EXTERNAL_PAGE_LOAD = "external_page_load";
|
||||
- public static final String BUTTON_CLICK = "button_click";
|
||||
- public static final String SETTING_CHANGED = "setting_changed";
|
||||
- }
|
||||
-
|
||||
- public static final class Action {
|
||||
- public static final String PAGE_LOADED = "page_loaded";
|
||||
- public static final String PREVIOUS_BUTTON = "previous_button";
|
||||
- public static final String NEXT_BUTTON = "next_button";
|
||||
- public static final String CHANGE_LOCALE = "change_local";
|
||||
- public static final String EXTERNAL_PAGE_LAUNCH = "external_page_launch";
|
||||
- public static final String EXTERNAL_PAGE_RESULT = "external_page_result";
|
||||
- public static final String ENABLE_MOBILE_DATA = "enable_mobile_data";
|
||||
- public static final String PREFERRED_DATA_SIM = "preferred_data_sim";
|
||||
- public static final String APPLY_CUSTOM_THEME = "apply_custom_theme";
|
||||
- public static final String USE_SECURE_SMS = "use_secure_sms";
|
||||
- public static final String ENABLE_BACKUP = "enable_backup";
|
||||
- public static final String ENABLE_NAV_KEYS = "enable_nav_keys";
|
||||
- public static final String ENABLE_LOCATION = "enable_location";
|
||||
- public static final String ENABLE_NETWORK_LOCATION = "enable_network_location";
|
||||
- public static final String ENABLE_GPS_LOCATION = "enable_gps_location";
|
||||
- public static final String DATE_CHANGED = "date_changed";
|
||||
- public static final String TIME_CHANGED = "time_changed";
|
||||
- public static final String TIMEZONE_CHANGED = "timezone_changed";
|
||||
- }
|
||||
-
|
||||
- public static final class Label {
|
||||
- public static final String PAGE = "page";
|
||||
- public static final String LOCALE = "local";
|
||||
- public static final String RESULT = "result";
|
||||
- public static final String WIFI_SETUP = "wifi_setup";
|
||||
- public static final String BLUETOOTH_SETUP = "bluetooth_setup";
|
||||
- public static final String CYANOGEN_ACCOUNT = "cyanogen_account_setup";
|
||||
- public static final String CAPTIVE_PORTAL_LOGIN = "captive_portal_login";
|
||||
- public static final String EMERGENCY_CALL = "emergency_call";
|
||||
- public static final String GMS_ACCOUNT = "gms_account";
|
||||
- public static final String RESTORE = "restore";
|
||||
- public static final String CHECKED = "checked";
|
||||
- public static final String VALUE = "value";
|
||||
- public static final String SLOT = "slot";
|
||||
- public static final String TOTAL_TIME = "total_time";
|
||||
- public static final String FINGERPRINT_SETUP = "fingerprint_setup";
|
||||
- }
|
||||
-
|
||||
-}
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/cmstats/StatsUtils.java b/src/com/cyanogenmod/setupwizard/cmstats/StatsUtils.java
|
||||
deleted file mode 100644
|
||||
index 8be8fad..0000000
|
||||
--- a/src/com/cyanogenmod/setupwizard/cmstats/StatsUtils.java
|
||||
+++ /dev/null
|
||||
@@ -1,44 +0,0 @@
|
||||
-
|
||||
-/*
|
||||
- * Copyright (C) 2014 The CyanogenMod Project
|
||||
- *
|
||||
- * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
- * you may not use this file except in compliance with the License.
|
||||
- * You may obtain a copy of the License at
|
||||
- *
|
||||
- * http://www.apache.org/licenses/LICENSE-2.0
|
||||
- *
|
||||
- * Unless required by applicable law or agreed to in writing, software
|
||||
- * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
- * See the License for the specific language governing permissions and
|
||||
- * limitations under the License.
|
||||
- */
|
||||
-
|
||||
-package com.cyanogenmod.setupwizard.cmstats;
|
||||
-
|
||||
-import android.content.Context;
|
||||
-import android.content.pm.ApplicationInfo;
|
||||
-import android.content.pm.PackageInfo;
|
||||
-import android.content.pm.PackageManager;
|
||||
-
|
||||
-import cyanogenmod.providers.CMSettings;
|
||||
-
|
||||
-public class StatsUtils {
|
||||
- private static final String STATS_PACKAGE = "com.cyngn.stats";
|
||||
-
|
||||
- public static boolean isStatsCollectionEnabled(Context context) {
|
||||
- return CMSettings.Secure.getInt(context.getContentResolver(),
|
||||
- CMSettings.Secure.STATS_COLLECTION, 1) != 0;
|
||||
- }
|
||||
-
|
||||
- public static boolean isStatsPackageInstalled(Context context) {
|
||||
- try {
|
||||
- PackageInfo pi = context.getPackageManager().getPackageInfo(STATS_PACKAGE, 0);
|
||||
- return pi.applicationInfo.enabled
|
||||
- && ((pi.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0);
|
||||
- } catch (PackageManager.NameNotFoundException e) {
|
||||
- return false;
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/BluetoothSetupPage.java b/src/com/cyanogenmod/setupwizard/setup/BluetoothSetupPage.java
|
||||
index 915abec..8609dbb 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/BluetoothSetupPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/BluetoothSetupPage.java
|
||||
@@ -28,7 +28,6 @@ import android.util.Log;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.LoadingFragment;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
@@ -91,9 +90,6 @@ public class BluetoothSetupPage extends SetupPage {
|
||||
@Override
|
||||
public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
if (requestCode == SetupWizardApp.REQUEST_CODE_SETUP_BLUETOOTH) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.BLUETOOTH_SETUP, "success");
|
||||
getCallbacks().onNextPage();
|
||||
} else {
|
||||
return false;
|
||||
@@ -111,9 +107,6 @@ public class BluetoothSetupPage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(mContext,
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE, SetupStats.Label.BLUETOOTH_SETUP);
|
||||
mLoadingFragment.startActivityForResult(intent,
|
||||
SetupWizardApp.REQUEST_CODE_SETUP_BLUETOOTH, options.toBundle());
|
||||
}
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java b/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java
|
||||
index a0a4312..42e7ea2 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java
|
||||
@@ -47,7 +47,6 @@ import com.android.internal.telephony.TelephonyIntents;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
|
||||
@@ -356,9 +355,6 @@ public class ChooseDataSimPage extends SetupPage {
|
||||
for (int i = 0; i < mCheckBoxes.size(); i++) {
|
||||
if (subInfoRecord.getSimSlotIndex() == i) {
|
||||
mCheckBoxes.get(i).setChecked(true);
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.PREFERRED_DATA_SIM,
|
||||
- SetupStats.Label.SLOT, String.valueOf(i + 1));
|
||||
} else {
|
||||
mCheckBoxes.get(i).setChecked(false);
|
||||
}
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/CyanogenServicesPage.java b/src/com/cyanogenmod/setupwizard/setup/CyanogenServicesPage.java
|
||||
index e71dd79..5bfe3b0 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/CyanogenServicesPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/CyanogenServicesPage.java
|
||||
@@ -32,7 +32,6 @@ import android.util.Log;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.LoadingFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
|
||||
@@ -95,10 +94,6 @@ public class CyanogenServicesPage extends SetupPage {
|
||||
public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
if (requestCode == SetupWizardApp.REQUEST_CODE_SETUP_CYANOGEN) {
|
||||
if (resultCode == Activity.RESULT_OK || resultCode == Activity.RESULT_FIRST_USER) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.CYANOGEN_ACCOUNT,
|
||||
- resultCode == Activity.RESULT_OK ? "success" : "skipped");
|
||||
if (SetupWizardUtils.accountExists(mContext,
|
||||
mContext.getString(R.string.cm_account_type))) {
|
||||
if (SetupWizardUtils.isDeviceLocked()) {
|
||||
@@ -108,9 +103,6 @@ public class CyanogenServicesPage extends SetupPage {
|
||||
}
|
||||
getCallbacks().onNextPage();
|
||||
} else if (resultCode == Activity.RESULT_CANCELED) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.CYANOGEN_ACCOUNT, "canceled");
|
||||
getCallbacks().onPreviousPage();
|
||||
}
|
||||
}
|
||||
@@ -136,11 +128,6 @@ public class CyanogenServicesPage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(mContext,
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats
|
||||
- .addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE,
|
||||
- SetupStats.Label.CYANOGEN_ACCOUNT);
|
||||
mFragment.startActivityForResult(intent,
|
||||
SetupWizardApp.REQUEST_CODE_SETUP_CYANOGEN,
|
||||
options.toBundle());
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/CyanogenSettingsPage.java b/src/com/cyanogenmod/setupwizard/setup/CyanogenSettingsPage.java
|
||||
index d17d64b..2c95253 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/CyanogenSettingsPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/CyanogenSettingsPage.java
|
||||
@@ -42,7 +42,6 @@ import android.widget.TextView;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
|
||||
@@ -54,7 +53,6 @@ public class CyanogenSettingsPage extends SetupPage {
|
||||
|
||||
public static final String TAG = "CyanogenSettingsPage";
|
||||
|
||||
- public static final String KEY_SEND_METRICS = "send_metrics";
|
||||
public static final String DISABLE_NAV_KEYS = "disable_nav_keys";
|
||||
public static final String KEY_APPLY_DEFAULT_THEME = "apply_default_theme";
|
||||
public static final String KEY_BUTTON_BACKLIGHT = "pre_navbar_button_backlight";
|
||||
@@ -116,37 +114,18 @@ public class CyanogenSettingsPage extends SetupPage {
|
||||
@Override
|
||||
public void run() {
|
||||
if (getData().containsKey(DISABLE_NAV_KEYS)) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.ENABLE_NAV_KEYS,
|
||||
- SetupStats.Label.CHECKED,
|
||||
- String.valueOf(getData().getBoolean(DISABLE_NAV_KEYS)));
|
||||
writeDisableNavkeysOption(mContext, getData().getBoolean(DISABLE_NAV_KEYS));
|
||||
}
|
||||
}
|
||||
});
|
||||
- handleEnableMetrics();
|
||||
handleDefaultThemeSetup();
|
||||
}
|
||||
|
||||
- private void handleEnableMetrics() {
|
||||
- Bundle privacyData = getData();
|
||||
- if (privacyData != null
|
||||
- && privacyData.containsKey(KEY_SEND_METRICS)) {
|
||||
- CMSettings.Secure.putInt(mContext.getContentResolver(),
|
||||
- CMSettings.Secure.STATS_COLLECTION, privacyData.getBoolean(KEY_SEND_METRICS)
|
||||
- ? 1 : 0);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
private void handleDefaultThemeSetup() {
|
||||
Bundle privacyData = getData();
|
||||
if (!SetupWizardUtils.getDefaultThemePackageName(mContext).equals(
|
||||
ThemeConfig.SYSTEM_DEFAULT) && privacyData != null &&
|
||||
privacyData.getBoolean(KEY_APPLY_DEFAULT_THEME)) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.APPLY_CUSTOM_THEME,
|
||||
- SetupStats.Label.CHECKED,
|
||||
- String.valueOf(privacyData.getBoolean(KEY_APPLY_DEFAULT_THEME)));
|
||||
Log.i(TAG, "Applying default theme");
|
||||
final ThemeManager tm = ThemeManager.getInstance(mContext);
|
||||
tm.applyDefaultTheme();
|
||||
@@ -176,26 +155,14 @@ public class CyanogenSettingsPage extends SetupPage {
|
||||
private View mKillSwitchView;
|
||||
private TextView mKillSwitchTitle;
|
||||
private ImageView mKillSwitchStatus;
|
||||
- private View mMetricsRow;
|
||||
private View mDefaultThemeRow;
|
||||
private View mNavKeysRow;
|
||||
- private CheckBox mMetrics;
|
||||
private CheckBox mDefaultTheme;
|
||||
private CheckBox mNavKeys;
|
||||
|
||||
private boolean mHideNavKeysRow = false;
|
||||
private boolean mHideThemeRow = false;
|
||||
|
||||
-
|
||||
- private View.OnClickListener mMetricsClickListener = new View.OnClickListener() {
|
||||
- @Override
|
||||
- public void onClick(View view) {
|
||||
- boolean checked = !mMetrics.isChecked();
|
||||
- mMetrics.setChecked(checked);
|
||||
- mPage.getData().putBoolean(KEY_SEND_METRICS, checked);
|
||||
- }
|
||||
- };
|
||||
-
|
||||
private View.OnClickListener mDefaultThemeClickListener = new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
@@ -253,19 +220,6 @@ public class CyanogenSettingsPage extends SetupPage {
|
||||
}
|
||||
}
|
||||
|
||||
- mMetricsRow = mRootView.findViewById(R.id.metrics);
|
||||
- mMetricsRow.setOnClickListener(mMetricsClickListener);
|
||||
- String metricsHelpImproveCM =
|
||||
- getString(R.string.services_help_improve_cm, getString(R.string.os_name));
|
||||
- String metricsSummary = getString(R.string.services_metrics_label,
|
||||
- metricsHelpImproveCM, getString(R.string.os_name));
|
||||
- final SpannableStringBuilder metricsSpan = new SpannableStringBuilder(metricsSummary);
|
||||
- metricsSpan.setSpan(new android.text.style.StyleSpan(android.graphics.Typeface.BOLD),
|
||||
- 0, metricsHelpImproveCM.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
- TextView metrics = (TextView) mRootView.findViewById(R.id.enable_metrics_summary);
|
||||
- metrics.setText(metricsSpan);
|
||||
- mMetrics = (CheckBox) mRootView.findViewById(R.id.enable_metrics_checkbox);
|
||||
-
|
||||
mDefaultThemeRow = mRootView.findViewById(R.id.theme);
|
||||
mHideThemeRow = hideThemeSwitch(getActivity());
|
||||
if (mHideThemeRow) {
|
||||
@@ -314,19 +268,9 @@ public class CyanogenSettingsPage extends SetupPage {
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
updateDisableNavkeysOption();
|
||||
- updateMetricsOption();
|
||||
updateThemeOption();
|
||||
}
|
||||
|
||||
- private void updateMetricsOption() {
|
||||
- final Bundle myPageBundle = mPage.getData();
|
||||
- boolean metricsChecked =
|
||||
- !myPageBundle.containsKey(KEY_SEND_METRICS) || myPageBundle
|
||||
- .getBoolean(KEY_SEND_METRICS);
|
||||
- mMetrics.setChecked(metricsChecked);
|
||||
- myPageBundle.putBoolean(KEY_SEND_METRICS, metricsChecked);
|
||||
- }
|
||||
-
|
||||
private void updateThemeOption() {
|
||||
if (!mHideThemeRow) {
|
||||
final Bundle myPageBundle = mPage.getData();
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/DateTimePage.java b/src/com/cyanogenmod/setupwizard/setup/DateTimePage.java
|
||||
index 7a5922b..a669163 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/DateTimePage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/DateTimePage.java
|
||||
@@ -42,7 +42,6 @@ import android.widget.TextView;
|
||||
import android.widget.TimePicker;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
@@ -136,8 +135,6 @@ public class DateTimePage extends SetupPage {
|
||||
mDateView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.BUTTON_CLICK,
|
||||
- "date_picker");
|
||||
showDatePicker();
|
||||
}
|
||||
});
|
||||
@@ -145,8 +142,6 @@ public class DateTimePage extends SetupPage {
|
||||
mTimeView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.BUTTON_CLICK,
|
||||
- "time_picker");
|
||||
showTimePicker();
|
||||
}
|
||||
});
|
||||
@@ -167,17 +162,11 @@ public class DateTimePage extends SetupPage {
|
||||
final Map<?, ?> map = (Map<?, ?>) adapterView.getItemAtPosition(position);
|
||||
final String tzId = (String) map.get(KEY_ID);
|
||||
if (mCurrentTimeZone != null && !mCurrentTimeZone.getID().equals(tzId)) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.BUTTON_CLICK,
|
||||
- "timezone_picker");
|
||||
// Update the system timezone value
|
||||
final Activity activity = getActivity();
|
||||
final AlarmManager alarm = (AlarmManager) activity.getSystemService(Context.ALARM_SERVICE);
|
||||
alarm.setTimeZone(tzId);
|
||||
mCurrentTimeZone = TimeZone.getTimeZone(tzId);
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.TIMEZONE_CHANGED,
|
||||
- SetupStats.Label.VALUE,
|
||||
- mCurrentTimeZone.getDisplayName());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -232,10 +221,6 @@ public class DateTimePage extends SetupPage {
|
||||
if (activity != null) {
|
||||
setDate(activity, year, month, day);
|
||||
updateTimeAndDateDisplay(activity);
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.DATE_CHANGED,
|
||||
- SetupStats.Label.VALUE,
|
||||
- month+"/"+day+"/"+year);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -245,10 +230,6 @@ public class DateTimePage extends SetupPage {
|
||||
if (activity != null) {
|
||||
setTime(activity, hourOfDay, minute);
|
||||
updateTimeAndDateDisplay(activity);
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.TIME_CHANGED,
|
||||
- SetupStats.Label.VALUE,
|
||||
- hourOfDay+":"+minute);
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/FingerprintSetupPage.java b/src/com/cyanogenmod/setupwizard/setup/FingerprintSetupPage.java
|
||||
index 890a4f6..c9174c6 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/FingerprintSetupPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/FingerprintSetupPage.java
|
||||
@@ -28,7 +28,6 @@ import android.widget.TextView;
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
|
||||
public class FingerprintSetupPage extends SetupPage {
|
||||
@@ -113,9 +112,6 @@ public class FingerprintSetupPage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(getActivity(),
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE, SetupStats.Label.FINGERPRINT_SETUP);
|
||||
startActivityForResult(intent, SetupWizardApp.REQUEST_CODE_SETUP_FINGERPRINT,
|
||||
options.toBundle());
|
||||
}
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/GmsAccountPage.java b/src/com/cyanogenmod/setupwizard/setup/GmsAccountPage.java
|
||||
index 2b4741a..e8b4ef4 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/GmsAccountPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/GmsAccountPage.java
|
||||
@@ -35,7 +35,6 @@ import android.util.Log;
|
||||
import com.android.setupwizardlib.util.ResultCodes;
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.LoadingFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
|
||||
@@ -143,10 +142,6 @@ public class GmsAccountPage extends SetupPage {
|
||||
boolean restorePicker = !data.hasExtra(EXTRA_RESTORE_TOKEN)
|
||||
&& !data.hasExtra(EXTRA_RESTORE_ACCOUNT) &&
|
||||
data.hasExtra(EXTRA_AUTH_ACCOUNT);
|
||||
-
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.GMS_ACCOUNT, "success");
|
||||
launchGmsRestorePage(restorePicker);
|
||||
} else {
|
||||
handleResult(requestCode, resultCode);
|
||||
@@ -174,24 +169,12 @@ public class GmsAccountPage extends SetupPage {
|
||||
|
||||
private void handleResult(int requestCode, int resultCode) {
|
||||
if (resultCode == Activity.RESULT_CANCELED) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- requestCode == SetupWizardApp.REQUEST_CODE_SETUP_GMS ?
|
||||
- SetupStats.Label.GMS_ACCOUNT : SetupStats.Label.RESTORE, "canceled");
|
||||
getCallbacks().onPreviousPage();
|
||||
} else {
|
||||
if (resultCode == Activity.RESULT_OK) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- requestCode == SetupWizardApp.REQUEST_CODE_SETUP_GMS ?
|
||||
- SetupStats.Label.GMS_ACCOUNT : SetupStats.Label.RESTORE, "success");
|
||||
getCallbacks().onNextPage();
|
||||
} else {
|
||||
if (canSkip()) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- requestCode == SetupWizardApp.REQUEST_CODE_SETUP_GMS ?
|
||||
- SetupStats.Label.GMS_ACCOUNT : SetupStats.Label.RESTORE, "skipped");
|
||||
getCallbacks().onNextPage();
|
||||
} else {
|
||||
getCallbacks().onPreviousPage();
|
||||
@@ -231,9 +214,6 @@ public class GmsAccountPage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(mContext,
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE, SetupStats.Label.RESTORE);
|
||||
mFragment.startActivityForResult(
|
||||
intent,
|
||||
SetupWizardApp.REQUEST_CODE_RESTORE_GMS, options.toBundle());
|
||||
@@ -305,9 +285,6 @@ public class GmsAccountPage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(mContext,
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE, SetupStats.Label.GMS_ACCOUNT);
|
||||
mFragment.startActivityForResult(intent,
|
||||
SetupWizardApp.REQUEST_CODE_SETUP_GMS, options.toBundle());
|
||||
} catch (OperationCanceledException e) {
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java b/src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java
|
||||
index da3872e..36d9ad5 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java
|
||||
@@ -38,7 +38,6 @@ import android.widget.TextView;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
|
||||
@@ -147,9 +146,6 @@ public class MobileDataPage extends SetupPage {
|
||||
} else {
|
||||
onDataStateReady();
|
||||
}
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.ENABLE_MOBILE_DATA,
|
||||
- SetupStats.Label.CHECKED, String.valueOf(checked));
|
||||
}
|
||||
};
|
||||
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/OtherSettingsPage.java b/src/com/cyanogenmod/setupwizard/setup/OtherSettingsPage.java
|
||||
index 7ed23dc..69b0100 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/OtherSettingsPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/OtherSettingsPage.java
|
||||
@@ -17,7 +17,6 @@
|
||||
package com.cyanogenmod.setupwizard.setup;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
|
||||
@@ -229,9 +228,6 @@ public class OtherSettingsPage extends SetupPage {
|
||||
}
|
||||
|
||||
private void onToggleLocationAccess(boolean checked) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.ENABLE_LOCATION,
|
||||
- SetupStats.Label.CHECKED, String.valueOf(checked));
|
||||
|
||||
if (checked) {
|
||||
setLocationMode(Settings.Secure.LOCATION_MODE_SENSORS_ONLY);
|
||||
@@ -241,10 +237,6 @@ public class OtherSettingsPage extends SetupPage {
|
||||
}
|
||||
|
||||
private void onToggleBatterySaving(boolean checked) {
|
||||
- /* SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.ENABLE_BATTERY_SAVING_LOCATION,
|
||||
- SetupStats.Label.CHECKED, String.valueOf(checked)); */
|
||||
-
|
||||
if (checked) {
|
||||
setLocationMode(Settings.Secure.LOCATION_MODE_BATTERY_SAVING);
|
||||
} else {
|
||||
@@ -253,11 +245,7 @@ public class OtherSettingsPage extends SetupPage {
|
||||
}
|
||||
|
||||
private void onToggleNetwork(boolean checked) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.ENABLE_NETWORK_LOCATION,
|
||||
- SetupStats.Label.CHECKED, String.valueOf(checked));
|
||||
-
|
||||
- if (checked) {
|
||||
+ if (checked) {
|
||||
setLocationMode(Settings.Secure.LOCATION_MODE_HIGH_ACCURACY);
|
||||
} else {
|
||||
setLocationMode(Settings.Secure.LOCATION_MODE_SENSORS_ONLY);
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/SetupPage.java b/src/com/cyanogenmod/setupwizard/setup/SetupPage.java
|
||||
index 1a19fb0..9804049 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/SetupPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/SetupPage.java
|
||||
@@ -26,7 +26,6 @@ import android.transition.Transition;
|
||||
import android.view.Gravity;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
|
||||
|
||||
public abstract class SetupPage implements Page {
|
||||
@@ -76,18 +75,12 @@ public abstract class SetupPage implements Page {
|
||||
public void doLoadAction(FragmentManager fragmentManager, int action) {
|
||||
Fragment fragment = getFragment(fragmentManager, action);
|
||||
if (action == Page.ACTION_NEXT) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.BUTTON_CLICK,
|
||||
- SetupStats.Action.NEXT_BUTTON, getKey(),
|
||||
- String.valueOf(System.currentTimeMillis()));
|
||||
Transition t = new Slide(Gravity.RIGHT);
|
||||
fragment.setEnterTransition(t);
|
||||
fragmentManager.beginTransaction()
|
||||
.replace(R.id.content,fragment, getKey())
|
||||
.commit();
|
||||
} else {
|
||||
- SetupStats.addEvent(SetupStats.Categories.BUTTON_CLICK,
|
||||
- SetupStats.Action.PREVIOUS_BUTTON, getKey(),
|
||||
- String.valueOf(System.currentTimeMillis()));
|
||||
Transition t = new Slide(Gravity.LEFT);
|
||||
fragment.setEnterTransition(t);
|
||||
fragmentManager.beginTransaction()
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/WelcomePage.java b/src/com/cyanogenmod/setupwizard/setup/WelcomePage.java
|
||||
index e09c2a1..eedb24d 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/WelcomePage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/WelcomePage.java
|
||||
@@ -42,7 +42,6 @@ import android.widget.Toast;
|
||||
import com.android.internal.telephony.MccTable;
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.LocalePicker;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
@@ -87,7 +86,6 @@ public class WelcomePage extends SetupPage {
|
||||
return true;
|
||||
} else {
|
||||
if (mWelcomeFragment != null) {
|
||||
- mWelcomeFragment.sendLocaleStats();
|
||||
}
|
||||
return super.doNextAction();
|
||||
}
|
||||
@@ -102,10 +100,6 @@ public class WelcomePage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(mContext,
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats.addEvent(SetupStats.Categories.BUTTON_CLICK, SetupStats.Label.EMERGENCY_CALL);
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE, SetupStats.Label.EMERGENCY_CALL);
|
||||
mContext.startActivity(intent, options.toBundle());
|
||||
return true;
|
||||
}
|
||||
@@ -269,14 +263,6 @@ public class WelcomePage extends SetupPage {
|
||||
return R.layout.setup_welcome_page;
|
||||
}
|
||||
|
||||
- public void sendLocaleStats() {
|
||||
- if (!mCurrentLocale.equals(mInitialLocale)) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- SetupStats.Action.CHANGE_LOCALE, SetupStats.Label.LOCALE,
|
||||
- mCurrentLocale.getDisplayName());
|
||||
- }
|
||||
- }
|
||||
-
|
||||
public void fetchAndUpdateSimLocale() {
|
||||
if (mIgnoreSimLocale || isDetached()) {
|
||||
return;
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/setup/WifiSetupPage.java b/src/com/cyanogenmod/setupwizard/setup/WifiSetupPage.java
|
||||
index 2d8084a..3a131f7 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/setup/WifiSetupPage.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/setup/WifiSetupPage.java
|
||||
@@ -31,7 +31,6 @@ import android.util.Log;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.ui.LoadingFragment;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
@@ -86,9 +85,6 @@ public class WifiSetupPage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(mContext,
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE, SetupStats.Label.CAPTIVE_PORTAL_LOGIN);
|
||||
mLoadingFragment.startActivityForResult(intent,
|
||||
SetupWizardApp.REQUEST_CODE_SETUP_CAPTIVE_PORTAL,
|
||||
options.toBundle());
|
||||
@@ -157,19 +153,10 @@ public class WifiSetupPage extends SetupPage {
|
||||
public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
if (requestCode == SetupWizardApp.REQUEST_CODE_SETUP_WIFI) {
|
||||
if (resultCode == Activity.RESULT_CANCELED) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.WIFI_SETUP, "canceled");
|
||||
getCallbacks().onPreviousPage();
|
||||
} else if (resultCode == Activity.RESULT_OK) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.WIFI_SETUP, "success");
|
||||
checkForCaptivePortal();
|
||||
} else {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.WIFI_SETUP, "skipped");
|
||||
getCallbacks().onNextPage();
|
||||
}
|
||||
} else if (requestCode == SetupWizardApp.REQUEST_CODE_SETUP_CAPTIVE_PORTAL) {
|
||||
@@ -179,20 +166,11 @@ public class WifiSetupPage extends SetupPage {
|
||||
}
|
||||
String token = data.getStringExtra("response_token");
|
||||
if (token != null && !token.equals(mResponseToken)) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.CAPTIVE_PORTAL_LOGIN, "token_mismatch");
|
||||
launchWifiSetup();
|
||||
} else {
|
||||
if (resultCode == Activity.RESULT_CANCELED) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.CAPTIVE_PORTAL_LOGIN, "canceled");
|
||||
launchWifiSetup();
|
||||
} else {
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_RESULT,
|
||||
- SetupStats.Label.CAPTIVE_PORTAL_LOGIN, "success");
|
||||
getCallbacks().onNextPage();
|
||||
}
|
||||
}
|
||||
@@ -256,9 +234,6 @@ public class WifiSetupPage extends SetupPage {
|
||||
ActivityOptions.makeCustomAnimation(mContext,
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
|
||||
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
|
||||
- SetupStats.Label.PAGE, SetupStats.Label.WIFI_SETUP);
|
||||
mLoadingFragment.startActivityForResult(intent,
|
||||
SetupWizardApp.REQUEST_CODE_SETUP_WIFI, options.toBundle());
|
||||
}
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/ui/SetupPageFragment.java b/src/com/cyanogenmod/setupwizard/ui/SetupPageFragment.java
|
||||
index b0df440..33c61c7 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/ui/SetupPageFragment.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/ui/SetupPageFragment.java
|
||||
@@ -26,7 +26,6 @@ import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.setup.Page;
|
||||
import com.cyanogenmod.setupwizard.setup.SetupDataCallbacks;
|
||||
|
||||
@@ -43,8 +42,6 @@ public abstract class SetupPageFragment extends Fragment {
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setRetainInstance(true);
|
||||
- SetupStats.addEvent(SetupStats.Categories.PAGE_LOAD, SetupStats.Action.PAGE_LOADED,
|
||||
- mKey, String.valueOf(System.currentTimeMillis()));
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java b/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java
|
||||
index 0d82a74..3e3657d 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java
|
||||
@@ -45,7 +45,6 @@ import android.widget.ProgressBar;
|
||||
import com.android.setupwizardlib.util.SystemBarHelper;
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.SetupWizardApp;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
import com.cyanogenmod.setupwizard.setup.CMSetupWizardData;
|
||||
import com.cyanogenmod.setupwizard.setup.GmsAccountPage;
|
||||
import com.cyanogenmod.setupwizard.setup.Page;
|
||||
@@ -93,7 +92,6 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks,
|
||||
}
|
||||
SystemBarHelper.hideSystemBars(getWindow());
|
||||
if (sLaunchTime == 0) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.APP_LAUNCH, TAG);
|
||||
sLaunchTime = System.nanoTime();
|
||||
}
|
||||
setContentView(R.layout.setup_main);
|
||||
@@ -369,9 +367,6 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks,
|
||||
@Override
|
||||
public void finishSetup() {
|
||||
if (!mIsFinishing) {
|
||||
- SetupStats.addEvent(SetupStats.Categories.APP_FINISHED, TAG,
|
||||
- SetupStats.Label.TOTAL_TIME, String.valueOf(
|
||||
- System.nanoTime() - sLaunchTime));
|
||||
final SetupWizardApp setupWizardApp = (SetupWizardApp)getApplication();
|
||||
setupWizardApp.sendStickyBroadcastAsUser(
|
||||
new Intent(SetupWizardApp.ACTION_FINISHED),
|
||||
@@ -461,7 +456,6 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks,
|
||||
}
|
||||
final ThemeManager tm = ThemeManager.getInstance(SetupWizardActivity.this);
|
||||
tm.unregisterThemeChangeListener(SetupWizardActivity.this);
|
||||
- SetupStats.sendEvents(SetupWizardActivity.this);
|
||||
SetupWizardUtils.disableGMSSetupWizard(SetupWizardActivity.this);
|
||||
final WallpaperManager wallpaperManager =
|
||||
WallpaperManager.getInstance(SetupWizardActivity.this);
|
||||
diff --git a/src/com/cyanogenmod/setupwizard/util/EnableAccessibilityController.java b/src/com/cyanogenmod/setupwizard/util/EnableAccessibilityController.java
|
||||
index 440129b..47d6de5 100644
|
||||
--- a/src/com/cyanogenmod/setupwizard/util/EnableAccessibilityController.java
|
||||
+++ b/src/com/cyanogenmod/setupwizard/util/EnableAccessibilityController.java
|
||||
@@ -39,7 +39,6 @@ import android.view.accessibility.AccessibilityManager;
|
||||
import android.view.accessibility.IAccessibilityManager;
|
||||
|
||||
import com.android.internal.R;
|
||||
-import com.cyanogenmod.setupwizard.cmstats.SetupStats;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
@@ -284,8 +283,6 @@ public class EnableAccessibilityController {
|
||||
// Turn on accessibility mode last.
|
||||
Settings.Secure.putIntForUser(resolver, Settings.Secure.ACCESSIBILITY_ENABLED,
|
||||
1, userId);
|
||||
- SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED,
|
||||
- "accessibility_enabled");
|
||||
} else if (keyguardLocked) {
|
||||
try {
|
||||
mAccessibilityManager.temporaryEnableAccessibilityStateUntilKeyguardRemoved(
|
||||
--
|
||||
2.8.0
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,89 +0,0 @@
|
||||
From b003454ab2ece62db5ae6c621aa6ec5c93c5c0b5 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sun, 20 Mar 2016 14:40:17 -0400
|
||||
Subject: [PATCH] Actually fix profiles failing to set users preferred network
|
||||
type
|
||||
|
||||
Change-Id: I325430f971b35b07d6852f3647fa60ec935a5b52
|
||||
---
|
||||
src/com/android/phone/PhoneToggler.java | 38 +++++++++++++++++++++++++++++----
|
||||
1 file changed, 34 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/com/android/phone/PhoneToggler.java b/src/com/android/phone/PhoneToggler.java
|
||||
index 90234f9..a38dd68 100644
|
||||
--- a/src/com/android/phone/PhoneToggler.java
|
||||
+++ b/src/com/android/phone/PhoneToggler.java
|
||||
@@ -21,6 +21,8 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.telephony.SubscriptionManager;
|
||||
import android.util.Log;
|
||||
+import android.os.Handler;
|
||||
+import android.os.Message;
|
||||
|
||||
import com.android.internal.telephony.Phone;
|
||||
import com.android.internal.telephony.PhoneFactory;
|
||||
@@ -42,6 +44,15 @@ public class PhoneToggler extends BroadcastReceiver {
|
||||
private static final String LOG_TAG = "PhoneToggler";
|
||||
private static final boolean DBG = false;
|
||||
|
||||
+ private MyHandler mHandler;
|
||||
+
|
||||
+ private MyHandler getHandler() {
|
||||
+ if (mHandler == null) {
|
||||
+ mHandler = new MyHandler();
|
||||
+ }
|
||||
+ return mHandler;
|
||||
+ }
|
||||
+
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
String action = intent.getAction();
|
||||
@@ -51,8 +62,7 @@ public class PhoneToggler extends BroadcastReceiver {
|
||||
SubscriptionController subCtrl = SubscriptionController.getInstance();
|
||||
|
||||
int networkMode = intent.getExtras().getInt(EXTRA_NETWORK_MODE, -1);
|
||||
- int subId = intent.getExtras().getInt(EXTRA_SUB_ID,
|
||||
- SubscriptionManager.getDefaultDataSubId());
|
||||
+ int subId = SubscriptionManager.getDefaultDataSubId();
|
||||
|
||||
// since the caller must be a system app, it's assumed that they have already
|
||||
// chosen a valid network mode for this subId, so only basic validation is done
|
||||
@@ -60,8 +70,9 @@ public class PhoneToggler extends BroadcastReceiver {
|
||||
if (DBG) Log.d(LOG_TAG, "Changing network mode to " + networkMode);
|
||||
subCtrl.setUserNwMode(subId, networkMode);
|
||||
try {
|
||||
- PhoneFactory.getPhone(SubscriptionManager.getPhoneId(subId))
|
||||
- .setPreferredNetworkType(networkMode, null);
|
||||
+ Phone phone = PhoneFactory.getPhone(SubscriptionManager.getPhoneId(subId));
|
||||
+ Message response = getHandler().obtainMessage(MyHandler.MESSAGE_SET_PREFERRED_NETWORK_TYPE);
|
||||
+ phone.setPreferredNetworkType(networkMode, response);
|
||||
} catch (Throwable t) {
|
||||
Log.d(LOG_TAG, "error setting preferred network", t);
|
||||
}
|
||||
@@ -117,4 +128,23 @@ public class PhoneToggler extends BroadcastReceiver {
|
||||
}
|
||||
}
|
||||
|
||||
+ private class MyHandler extends Handler {
|
||||
+ private static final int MESSAGE_SET_PREFERRED_NETWORK_TYPE = 0;
|
||||
+
|
||||
+ @Override
|
||||
+ public void handleMessage(Message msg) {
|
||||
+ switch (msg.what) {
|
||||
+ case MESSAGE_SET_PREFERRED_NETWORK_TYPE:
|
||||
+ handleSetPreferredNetworkTypeResponse(msg);
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private void handleSetPreferredNetworkTypeResponse(Message msg) {
|
||||
+ if (DBG) {
|
||||
+ Log.e(LOG_TAG, "handleSetPreferredNetworkTypeResponse() called");
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
}
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 978d511140a6391ef82243fe6500e207697b9b41 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Mon, 18 Apr 2016 08:54:51 -0400
|
||||
Subject: [PATCH] Implement MAC Randomization
|
||||
|
||||
Change-Id: I3276bfb674801572ab9ff286fb1b036253eaf409
|
||||
---
|
||||
rootdir/init.rc | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/rootdir/init.rc b/rootdir/init.rc
|
||||
index 78adacc..8cff499 100644
|
||||
--- a/rootdir/init.rc
|
||||
+++ b/rootdir/init.rc
|
||||
@@ -559,6 +559,8 @@ on property:sys.sysctl.extra_free_kbytes=*
|
||||
on property:sys.sysctl.tcp_def_init_rwnd=*
|
||||
write /proc/sys/net/ipv4/tcp_default_init_rwnd ${sys.sysctl.tcp_def_init_rwnd}
|
||||
|
||||
+on property:persist.privacy.randomize_mac=*
|
||||
+ write /proc/sys/net/core/randomize_mac ${persist.privacy.randomize_mac}
|
||||
|
||||
## Daemon processes to be run by init.
|
||||
##
|
||||
--
|
||||
2.8.0
|
||||
|
@ -1,47 +0,0 @@
|
||||
From 28fec2a2867a8a0fea386038bc366e630ac1ed4e Mon Sep 17 00:00:00 2001
|
||||
From: Martin Brabham <optedoblivion@cyngn.com>
|
||||
Date: Thu, 7 May 2015 11:22:13 -0700
|
||||
Subject: [PATCH] DNSCrypt - Add sepolicy for dnscrypt proxy to run - Add
|
||||
service entry to init.local.rc
|
||||
|
||||
Change-Id: Id2ee42738c10a7a024fcf25edc3a6cbe2fe0bbc8
|
||||
---
|
||||
prebuilt/common/etc/init.local.rc | 6 ++++++
|
||||
sepolicy/dnscryptproxy.te | 8 ++++++++
|
||||
2 files changed, 14 insertions(+)
|
||||
create mode 100644 sepolicy/dnscryptproxy.te
|
||||
|
||||
diff --git a/prebuilt/common/etc/init.local.rc b/prebuilt/common/etc/init.local.rc
|
||||
index 1f66b77..8042c29 100644
|
||||
--- a/prebuilt/common/etc/init.local.rc
|
||||
+++ b/prebuilt/common/etc/init.local.rc
|
||||
@@ -128,6 +128,12 @@ on boot
|
||||
# Persistent properties (only created if persist exists)
|
||||
mkdir /persist/properties 0770 system system
|
||||
|
||||
+# For now default this to opendns until we modify the code to read a system propery
|
||||
+# dnscrypt proxy
|
||||
+service dnscrypt-proxy /system/xbin/dnscrypt-proxy
|
||||
+ class main
|
||||
+ disabled
|
||||
+
|
||||
# sysinit (/system/etc/init.d)
|
||||
service sysinit /system/bin/sysinit
|
||||
user root
|
||||
diff --git a/sepolicy/dnscryptproxy.te b/sepolicy/dnscryptproxy.te
|
||||
new file mode 100644
|
||||
index 0000000..3f143c9
|
||||
--- /dev/null
|
||||
+++ b/sepolicy/dnscryptproxy.te
|
||||
@@ -0,0 +1,8 @@
|
||||
+allow init self:udp_socket { bind setopt write read };
|
||||
+allow init port:udp_socket name_bind;
|
||||
+allow init node:udp_socket node_bind;
|
||||
+
|
||||
+allow init self:tcp_socket { create ioctl setopt bind listen };
|
||||
+allow init port:tcp_socket name_bind;
|
||||
+allow init node:tcp_socket node_bind;
|
||||
+
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,25 +0,0 @@
|
||||
From a32d4f29bb1ed433326eebe496df7c3b5483e192 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Wed, 24 Feb 2016 09:05:13 -0500
|
||||
Subject: [PATCH] Remove analytics
|
||||
|
||||
Change-Id: I44ad1e35e086eb6287ea1065a1d77474ca6c295a
|
||||
---
|
||||
.../vendor/cmsdk/packages/CMSettingsProvider/res/values/defaults.xml | 3 ---
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff --git a/overlay/common/vendor/cmsdk/packages/CMSettingsProvider/res/values/defaults.xml b/overlay/common/vendor/cmsdk/packages/CMSettingsProvider/res/values/defaults.xml
|
||||
index eec242d..58fb154 100644
|
||||
--- a/overlay/common/vendor/cmsdk/packages/CMSettingsProvider/res/values/defaults.xml
|
||||
+++ b/overlay/common/vendor/cmsdk/packages/CMSettingsProvider/res/values/defaults.xml
|
||||
@@ -24,7 +24,4 @@
|
||||
<integer name="def_qs_quick_pulldown">1</integer>
|
||||
|
||||
<!-- Defaults for Secure -->
|
||||
-
|
||||
- <!-- Default for CMSettings.Secure.STATS_COLLECTION -->
|
||||
- <bool name="def_stats_collection">true</bool>
|
||||
</resources>
|
||||
--
|
||||
2.7.1
|
||||
|
@ -1,27 +0,0 @@
|
||||
From 3698eabdc4057a2e977ffb4db60bffb1cea062fa Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sun, 19 Jun 2016 15:13:50 -0400
|
||||
Subject: [PATCH] Bring back the custom wallpaper picker [5/5]
|
||||
|
||||
Change-Id: Icb52423c63206927b45b72f1d1785c3574f2c0d6
|
||||
---
|
||||
config/common.mk | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/config/common.mk b/config/common.mk
|
||||
index 75191ba..c2a15ae 100644
|
||||
--- a/config/common.mk
|
||||
+++ b/config/common.mk
|
||||
@@ -154,7 +154,8 @@ PRODUCT_PACKAGES += \
|
||||
CMSettingsProvider \
|
||||
ExactCalculator \
|
||||
LiveLockScreenService \
|
||||
- WeatherProvider
|
||||
+ WeatherProvider \
|
||||
+ WallpaperPicker
|
||||
|
||||
# Exchange support
|
||||
PRODUCT_PACKAGES += \
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,33 +0,0 @@
|
||||
From aceee7358fa39da71425c6db7fe6c984c846128a Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Mon, 8 Aug 2016 16:04:56 -0400
|
||||
Subject: [PATCH] Add radio tile (2/2)
|
||||
|
||||
Change-Id: Iacc6ed7ce384d955ff2494e55c318e054b7ff206
|
||||
---
|
||||
sdk/src/java/org/cyanogenmod/internal/util/QSConstants.java | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/sdk/src/java/org/cyanogenmod/internal/util/QSConstants.java b/sdk/src/java/org/cyanogenmod/internal/util/QSConstants.java
|
||||
index c5e62eb..a2b5269 100644
|
||||
--- a/sdk/src/java/org/cyanogenmod/internal/util/QSConstants.java
|
||||
+++ b/sdk/src/java/org/cyanogenmod/internal/util/QSConstants.java
|
||||
@@ -48,6 +48,7 @@ public class QSConstants {
|
||||
public static final String TILE_SCREEN_TIMEOUT = "screen_timeout";
|
||||
public static final String TILE_USB_TETHER = "usb_tether";
|
||||
public static final String TILE_HEADS_UP = "heads_up";
|
||||
+ public static final String TILE_RADIO_POWER = "radio_power";
|
||||
public static final String TILE_AMBIENT_DISPLAY = "ambient_display";
|
||||
public static final String TILE_SYNC = "sync";
|
||||
public static final String TILE_BATTERY_SAVER = "battery_saver";
|
||||
@@ -96,6 +97,7 @@ public class QSConstants {
|
||||
STATIC_TILES_AVAILABLE.add(TILE_SCREEN_TIMEOUT);
|
||||
STATIC_TILES_AVAILABLE.add(TILE_USB_TETHER);
|
||||
STATIC_TILES_AVAILABLE.add(TILE_HEADS_UP);
|
||||
+ STATIC_TILES_AVAILABLE.add(TILE_RADIO_POWER);
|
||||
STATIC_TILES_AVAILABLE.add(TILE_AMBIENT_DISPLAY);
|
||||
STATIC_TILES_AVAILABLE.add(TILE_SYNC);
|
||||
STATIC_TILES_AVAILABLE.add(TILE_BATTERY_SAVER);
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,135 +0,0 @@
|
||||
From b90e97cdb84542a787f1361633a662f57852d9d3 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 2 Apr 2016 11:31:27 -0400
|
||||
Subject: [PATCH] Remove analytics
|
||||
|
||||
Change-Id: I4aa2a69fd7eb68d9ab8a4ba426532944901f2322
|
||||
---
|
||||
host/migration/example-cm12.1-settings.txt | 3 +--
|
||||
host/migration/src/CMSettings.java | 7 -------
|
||||
packages/CMSettingsProvider/res/values/defaults.xml | 3 ---
|
||||
.../src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java | 3 ---
|
||||
.../cmsettings/tests/CMSettingsProviderDefaultsTest.java | 3 ---
|
||||
sdk/src/java/cyanogenmod/providers/CMSettings.java | 13 -------------
|
||||
6 files changed, 1 insertion(+), 31 deletions(-)
|
||||
|
||||
diff --git a/host/migration/example-cm12.1-settings.txt b/host/migration/example-cm12.1-settings.txt
|
||||
index 7534be3..9f454aa 100644
|
||||
--- a/host/migration/example-cm12.1-settings.txt
|
||||
+++ b/host/migration/example-cm12.1-settings.txt
|
||||
@@ -64,7 +64,6 @@ Row: 60 name=swap_volume_keys_on_rotation, type=s, value=0, type=s
|
||||
Row: 61 name=status_bar_brightness_control, type=s, value=0, type=s
|
||||
Row: 62 name=status_bar_notif_count, type=s, value=1, type=s
|
||||
Row: 63 name=dev_force_show_navbar, type=s, value=0, type=s
|
||||
-Row: 64 name=stats_collection, type=s, value=1, type=s
|
||||
Row: 65 name=advanced_mode, type=s, value=1, type=s
|
||||
Row: 66 name=default_theme_package, type=s, value=com.cyngn.hexo, type=s
|
||||
Row: 67 name=default_theme_components, type=s, value=mods_overlays|mods_status_bar|mods_navigation_bar|mods_icons|mods_homescreen|mods_fonts, type=s
|
||||
@@ -118,4 +117,4 @@ Row: 114 name=ring_home_button_behavior, type=s, value=1, type=s
|
||||
Row: 115 name=show_alarm_icon, type=s, value=1, type=s
|
||||
Row: 116 name=status_bar_am_pm, type=s, value=1, type=s
|
||||
Row: 117 name=status_bar_quick_qs_pulldown, type=s, value=1, type=s
|
||||
-Row: 118 name=t9_search_input_locale, type=s, value=enUS, type=s
|
||||
\ No newline at end of file
|
||||
+Row: 118 name=t9_search_input_locale, type=s, value=enUS, type=s
|
||||
diff --git a/host/migration/src/CMSettings.java b/host/migration/src/CMSettings.java
|
||||
index 0d57b0d..b4f5be9 100644
|
||||
--- a/host/migration/src/CMSettings.java
|
||||
+++ b/host/migration/src/CMSettings.java
|
||||
@@ -833,12 +833,6 @@ public final class CMSettings {
|
||||
public static final String QS_USE_MAIN_TILES = "sysui_qs_main_tiles";
|
||||
|
||||
/**
|
||||
- * Global stats collection
|
||||
- * @hide
|
||||
- */
|
||||
- public static final String STATS_COLLECTION = "stats_collection";
|
||||
-
|
||||
- /**
|
||||
* Boolean value whether to link ringtone and notification volume
|
||||
*
|
||||
* @hide
|
||||
@@ -1021,7 +1015,6 @@ public final class CMSettings {
|
||||
CMSettings.Secure.DEV_FORCE_SHOW_NAVBAR,
|
||||
CMSettings.Secure.KEYBOARD_BRIGHTNESS,
|
||||
CMSettings.Secure.POWER_MENU_ACTIONS,
|
||||
- CMSettings.Secure.STATS_COLLECTION,
|
||||
CMSettings.Secure.QS_SHOW_BRIGHTNESS_SLIDER,
|
||||
CMSettings.Secure.QS_TILES,
|
||||
CMSettings.Secure.QS_USE_MAIN_TILES,
|
||||
diff --git a/packages/CMSettingsProvider/res/values/defaults.xml b/packages/CMSettingsProvider/res/values/defaults.xml
|
||||
index 5d590ad..916bb10 100644
|
||||
--- a/packages/CMSettingsProvider/res/values/defaults.xml
|
||||
+++ b/packages/CMSettingsProvider/res/values/defaults.xml
|
||||
@@ -48,9 +48,6 @@
|
||||
Comma-delimited, quick settings tiles. See QSConstants.java for a list of all available tiles
|
||||
<string name="def_qs_tiles">wifi,bt,cell,airplane,rotation,flashlight,location,cast,hotspot,live_display</string> -->
|
||||
|
||||
- <!-- Default for CMSettings.Secure.STATS_COLLECTION -->
|
||||
- <bool name="def_stats_collection">false</bool>
|
||||
-
|
||||
<!-- Default for CMSettings.System.STATUS_BAR_BATTERY_STYLE
|
||||
* 0: Display the battery as icon in portrait mode
|
||||
* 2: Display the battery as a circle
|
||||
diff --git a/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java b/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java
|
||||
index 98064af..fff68da 100644
|
||||
--- a/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java
|
||||
+++ b/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java
|
||||
@@ -255,9 +255,6 @@ public class CMDatabaseHelper extends SQLiteOpenHelper{
|
||||
loadBooleanSetting(stmt, CMSettings.Secure.QS_USE_MAIN_TILES,
|
||||
R.bool.def_sysui_qs_main_tiles);
|
||||
|
||||
- loadBooleanSetting(stmt, CMSettings.Secure.STATS_COLLECTION,
|
||||
- R.bool.def_stats_collection);
|
||||
-
|
||||
loadBooleanSetting(stmt, CMSettings.Secure.LOCKSCREEN_VISUALIZER_ENABLED,
|
||||
R.bool.def_lockscreen_visualizer);
|
||||
|
||||
diff --git a/packages/CMSettingsProvider/tests/src/org/cyanogenmod/cmsettings/tests/CMSettingsProviderDefaultsTest.java b/packages/CMSettingsProvider/tests/src/org/cyanogenmod/cmsettings/tests/CMSettingsProviderDefaultsTest.java
|
||||
index a2c4269..ff5583d 100644
|
||||
--- a/packages/CMSettingsProvider/tests/src/org/cyanogenmod/cmsettings/tests/CMSettingsProviderDefaultsTest.java
|
||||
+++ b/packages/CMSettingsProvider/tests/src/org/cyanogenmod/cmsettings/tests/CMSettingsProviderDefaultsTest.java
|
||||
@@ -90,9 +90,6 @@ public class CMSettingsProviderDefaultsTest extends AndroidTestCase {
|
||||
CMSettings.Secure.QS_USE_MAIN_TILES,
|
||||
"R.bool.def_sysui_qs_main_tiles"));
|
||||
SECURE_SETTINGS_DEFAULTS.add(new Setting(
|
||||
- CMSettings.Secure.STATS_COLLECTION,
|
||||
- "R.bool.def_stats_collection"));
|
||||
- SECURE_SETTINGS_DEFAULTS.add(new Setting(
|
||||
CMSettings.Secure.LOCKSCREEN_VISUALIZER_ENABLED,
|
||||
"R.bool.def_lockscreen_visualizer"));
|
||||
SECURE_SETTINGS_DEFAULTS.add(new Setting(
|
||||
diff --git a/sdk/src/java/cyanogenmod/providers/CMSettings.java b/sdk/src/java/cyanogenmod/providers/CMSettings.java
|
||||
index 47cc524..6675da8 100644
|
||||
--- a/sdk/src/java/cyanogenmod/providers/CMSettings.java
|
||||
+++ b/sdk/src/java/cyanogenmod/providers/CMSettings.java
|
||||
@@ -2484,18 +2484,6 @@ public final class CMSettings {
|
||||
public static final String QS_USE_MAIN_TILES = "sysui_qs_main_tiles";
|
||||
|
||||
/**
|
||||
- * Global stats collection
|
||||
- * @hide
|
||||
- */
|
||||
- public static final String STATS_COLLECTION = "stats_collection";
|
||||
-
|
||||
- /**
|
||||
- * Whether the global stats collection setting has been successfully reported to server
|
||||
- * @hide
|
||||
- */
|
||||
- public static final String STATS_COLLECTION_REPORTED = "stats_collection_reported";
|
||||
-
|
||||
- /**
|
||||
* Whether newly installed apps should run with privacy guard by default
|
||||
* @hide
|
||||
*/
|
||||
@@ -2724,7 +2712,6 @@ public final class CMSettings {
|
||||
CMSettings.Secure.DEV_FORCE_SHOW_NAVBAR,
|
||||
CMSettings.Secure.KEYBOARD_BRIGHTNESS,
|
||||
CMSettings.Secure.POWER_MENU_ACTIONS,
|
||||
- CMSettings.Secure.STATS_COLLECTION,
|
||||
CMSettings.Secure.QS_SHOW_BRIGHTNESS_SLIDER,
|
||||
CMSettings.Secure.QS_TILES,
|
||||
CMSettings.Secure.QS_USE_MAIN_TILES,
|
||||
--
|
||||
2.8.0
|
||||
|
@ -1,72 +0,0 @@
|
||||
From 1287da9da56cc8e074d7d2afed677e65cf77c720 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Mon, 17 Nov 2014 05:28:09 -0500
|
||||
Subject: [PATCH] add MAC randomization
|
||||
|
||||
based on https://grsecurity.net/~spender/random_mac.diff
|
||||
---
|
||||
net/core/dev.c | 19 +++++++++++++++++++
|
||||
net/core/sysctl_net_core.c | 10 ++++++++++
|
||||
2 files changed, 29 insertions(+)
|
||||
|
||||
diff --git a/net/core/dev.c b/net/core/dev.c
|
||||
index 70145dc..d662c0f 100644
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -178,6 +178,7 @@
|
||||
static DEFINE_SPINLOCK(ptype_lock);
|
||||
static struct list_head ptype_base[PTYPE_HASH_SIZE] __read_mostly;
|
||||
static struct list_head ptype_all __read_mostly; /* Taps */
|
||||
+int randomize_mac = 1;
|
||||
|
||||
/*
|
||||
* The @dev_base_head list is protected by @dev_base_lock and the rtnl
|
||||
@@ -4717,6 +4718,24 @@ int dev_change_flags(struct net_device *dev, unsigned int flags)
|
||||
rtmsg_ifinfo(RTM_NEWLINK, dev, changes);
|
||||
|
||||
__dev_notify_flags(dev, old_flags);
|
||||
+
|
||||
+ if (randomize_mac && (changes & IFF_UP) && !(old_flags & IFF_UP)) {
|
||||
+ /* randomize MAC whenever interface is brought up */
|
||||
+ struct sockaddr sa;
|
||||
+ unsigned int mac4;
|
||||
+ unsigned short mac2;
|
||||
+
|
||||
+ mac4 = random32();
|
||||
+ mac2 = random32();
|
||||
+ memcpy(sa.sa_data, &mac4, sizeof(mac4));
|
||||
+ memcpy((char *)sa.sa_data + sizeof(mac4), &mac2, sizeof(mac2));
|
||||
+ if (!is_valid_ether_addr(sa.sa_data))
|
||||
+ sa.sa_data[5] = 1;
|
||||
+ sa.sa_data[0] &= 0xFC;
|
||||
+ sa.sa_family = dev->type;
|
||||
+ dev_set_mac_address(dev, &sa);
|
||||
+ }
|
||||
+
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL(dev_change_flags);
|
||||
diff --git a/net/core/sysctl_net_core.c b/net/core/sysctl_net_core.c
|
||||
index 0c28508..42b3ad3 100644
|
||||
--- a/net/core/sysctl_net_core.c
|
||||
+++ b/net/core/sysctl_net_core.c
|
||||
@@ -84,9 +84,19 @@ static int rps_sock_flow_sysctl(ctl_table *table, int write,
|
||||
}
|
||||
#endif /* CONFIG_RPS */
|
||||
|
||||
+extern int randomize_mac;
|
||||
+
|
||||
static struct ctl_table net_core_table[] = {
|
||||
#ifdef CONFIG_NET
|
||||
{
|
||||
+ .procname = "randomize_mac",
|
||||
+ .data = &randomize_mac,
|
||||
+ .maxlen = sizeof(int),
|
||||
+ .mode = 0644,
|
||||
+ .proc_handler = proc_dointvec
|
||||
+ },
|
||||
+
|
||||
+ {
|
||||
.procname = "wmem_max",
|
||||
.data = &sysctl_wmem_max,
|
||||
.maxlen = sizeof(int),
|
@ -1,103 +0,0 @@
|
||||
From de2ba147b18528eda7ee943865f8569823fbf3f9 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Wed, 23 Nov 2016 16:04:50 -0500
|
||||
Subject: [PATCH] Add optional automated signing
|
||||
|
||||
Change-Id: If5a888f12764c4928f5efbb2fda78f76fb445a2a
|
||||
---
|
||||
core/Makefile | 43 +++++++++++++++++++++++++++++++++++++------
|
||||
1 file changed, 37 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/core/Makefile b/core/Makefile
|
||||
index 1d6bff0..d65fd27 100644
|
||||
--- a/core/Makefile
|
||||
+++ b/core/Makefile
|
||||
@@ -418,6 +418,11 @@ ifneq ($(OTA_PACKAGE_SIGNING_KEY),)
|
||||
DEFAULT_KEY_CERT_PAIR := $(OTA_PACKAGE_SIGNING_KEY)
|
||||
endif
|
||||
|
||||
+ifneq ($(SIGNING_KEY_DIR),)
|
||||
+ KEY_CERT_DIR := $(SIGNING_KEY_DIR)
|
||||
+ DEFAULT_KEY_CERT_PAIR := $(SIGNING_KEY_DIR)/releasekey
|
||||
+endif
|
||||
+
|
||||
# Rules that need to be present for the all targets, even
|
||||
# if they don't do anything.
|
||||
.PHONY: systemimage
|
||||
@@ -1030,11 +1035,15 @@ endif
|
||||
# substitute other keys for this one.
|
||||
OTA_PUBLIC_KEYS := $(DEFAULT_SYSTEM_DEV_CERTIFICATE).x509.pem
|
||||
|
||||
-ifneq ($(OTA_PACKAGE_SIGNING_KEY),)
|
||||
- OTA_PUBLIC_KEYS := $(OTA_PACKAGE_SIGNING_KEY).x509.pem
|
||||
- PRODUCT_EXTRA_RECOVERY_KEYS := $(DEFAULT_SYSTEM_DEV_CERTIFICATE)
|
||||
+ifneq ($(SIGNING_KEY_DIR),)
|
||||
+ OTA_PUBLIC_KEYS := $(SIGNING_KEY_DIR)/releasekey.x509.pem
|
||||
+ PRODUCT_EXTRA_RECOVERY_KEYS += $(SIGNING_KEY_DIR)/extra
|
||||
+else
|
||||
+ ifneq ($(OTA_PACKAGE_SIGNING_KEY),)
|
||||
+ OTA_PUBLIC_KEYS := $(OTA_PACKAGE_SIGNING_KEY).x509.pem
|
||||
+ PRODUCT_EXTRA_RECOVERY_KEYS := $(DEFAULT_SYSTEM_DEV_CERTIFICATE)
|
||||
+ endif
|
||||
endif
|
||||
-
|
||||
# Generate a file containing the keys that will be read by the
|
||||
# recovery binary.
|
||||
RECOVERY_INSTALL_OTA_KEYS := \
|
||||
@@ -1818,6 +1827,13 @@ $(BUILT_TARGET_FILES_PACKAGE): intermediates := $(intermediates)
|
||||
$(BUILT_TARGET_FILES_PACKAGE): \
|
||||
zip_root := $(intermediates)/$(name)
|
||||
|
||||
+SIGNED_TARGET_FILES_PACKAGE := $(intermediates)/signed-$(name).zip
|
||||
+MAYBE_SIGNED_TARGET_FILES_PACKAGE := $(BUILT_TARGET_FILES_PACKAGE)
|
||||
+
|
||||
+ifneq ($(SIGNING_KEY_DIR),)
|
||||
+ MAYBE_SIGNED_TARGET_FILES_PACKAGE := $(SIGNED_TARGET_FILES_PACKAGE)
|
||||
+endif
|
||||
+
|
||||
# $(1): Directory to copy
|
||||
# $(2): Location to copy it to
|
||||
# The "ls -A" is to prevent "acp s/* d" from failing if s is empty.
|
||||
@@ -2182,6 +2198,12 @@ else
|
||||
OTA_FROM_TARGET_SCRIPT := $(TARGET_RELEASETOOL_OTA_FROM_TARGET_SCRIPT)
|
||||
endif
|
||||
|
||||
+ifeq ($(TARGET_RELEASETOOL_SIGN_TARGET_SCRIPT),)
|
||||
+ SIGN_TARGET_SCRIPT := ./build/tools/releasetools/sign_target_files_apks
|
||||
+else
|
||||
+ SIGN_TARGET_SCRIPT := $(TARGET_RELEASETOOL_SIGN_TARGET_SCRIPT)
|
||||
+endif
|
||||
+
|
||||
ifeq ($(WITH_GMS),true)
|
||||
$(INTERNAL_OTA_PACKAGE_TARGET): backuptool := false
|
||||
else
|
||||
@@ -2209,7 +2231,16 @@ ifneq ($(BLOCK_BASED_OTA),false)
|
||||
$(INTERNAL_OTA_PACKAGE_TARGET): block_based := --block
|
||||
endif
|
||||
|
||||
-$(INTERNAL_OTA_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE)
|
||||
+$(SIGNED_TARGET_FILES_PACKAGE): $(BUILT_TARGET_FILES_PACKAGE) $(DISTTOOLS)
|
||||
+ @echo "$(SIGN_TARGET_SCRIPT)" > $(PRODUCT_OUT)/sign_script_path
|
||||
+ @echo -e ${CL_YLW}"Sign target files:"${CL_RST}" $@"
|
||||
+ $(hide) $(SIGN_TARGET_SCRIPT) \
|
||||
+ -d $(KEY_CERT_DIR) \
|
||||
+ -o \
|
||||
+ $(BUILT_TARGET_FILES_PACKAGE) \
|
||||
+ $(SIGNED_TARGET_FILES_PACKAGE)
|
||||
+
|
||||
+$(INTERNAL_OTA_PACKAGE_TARGET): $(MAYBE_SIGNED_TARGET_FILES_PACKAGE) $(DISTTOOLS)
|
||||
@echo "$(OTA_FROM_TARGET_SCRIPT)" > $(PRODUCT_OUT)/ota_script_path
|
||||
@echo "$(override_device)" > $(PRODUCT_OUT)/ota_override_device
|
||||
@echo "Package OTA: $@"
|
||||
@@ -2221,7 +2252,7 @@ $(INTERNAL_OTA_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE)
|
||||
--backup=$(backuptool) \
|
||||
--override_device=$(override_device) $(override_prop) \
|
||||
$(if $(OEM_OTA_CONFIG), -o $(OEM_OTA_CONFIG)) \
|
||||
- $(BUILT_TARGET_FILES_PACKAGE) $@
|
||||
+ $(MAYBE_SIGNED_TARGET_FILES_PACKAGE) $@
|
||||
|
||||
CM_TARGET_PACKAGE := $(PRODUCT_OUT)/cm-$(CM_VERSION).zip
|
||||
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,53 +0,0 @@
|
||||
From 4edf341b3b70c3bfe391dff53a7e63691c9e7bcb Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Mon, 21 Nov 2016 21:30:33 -0500
|
||||
Subject: [PATCH] Enable LTE
|
||||
|
||||
Change-Id: I69afb82cc409bd2590b320f5b85636ee2f1de327
|
||||
---
|
||||
device.mk | 2 +-
|
||||
overlay/frameworks/base/core/res/res/values/config.xml | 2 +-
|
||||
overlay/packages/services/Telephony/res/values/config.xml | 3 +++
|
||||
3 files changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/device.mk b/device.mk
|
||||
index 1960be2..69fe0b8 100644
|
||||
--- a/device.mk
|
||||
+++ b/device.mk
|
||||
@@ -234,7 +234,7 @@ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
|
||||
rild.libpath=/system/lib/libril-qc-qmi-1.so
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
- telephony.lteOnCdmaDevice=0
|
||||
+ telephony.lteOnCdmaDevice=1
|
||||
|
||||
ifeq ($(findstring tiny, $(TARGET_PRODUCT)),)
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
|
||||
index 6c68c1d..6febaf2 100644
|
||||
--- a/overlay/frameworks/base/core/res/res/values/config.xml
|
||||
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
|
||||
@@ -231,7 +231,7 @@
|
||||
Empty is viewed as "all". Only used on devices which
|
||||
don't support RIL_REQUEST_GET_RADIO_CAPABILITY
|
||||
format is UMTS|LTE|... -->
|
||||
- <string translatable="false" name="config_radio_access_family">GSM|WCDMA</string>
|
||||
+ <string translatable="false" name="config_radio_access_family">GPRS|EDGE|UMTS|HSDPA|HSUPA|HSPA|LTE|HSPAP|GSM|WCDMA</string>
|
||||
|
||||
<!-- Set to true to add links to Cell Broadcast app from Settings and MMS app. -->
|
||||
<bool name="config_cellBroadcastAppLinks">true</bool>
|
||||
diff --git a/overlay/packages/services/Telephony/res/values/config.xml b/overlay/packages/services/Telephony/res/values/config.xml
|
||||
index af352a4..22c65ea 100644
|
||||
--- a/overlay/packages/services/Telephony/res/values/config.xml
|
||||
+++ b/overlay/packages/services/Telephony/res/values/config.xml
|
||||
@@ -21,4 +21,7 @@
|
||||
are routed through the android.media.AudioManager class (true) or through
|
||||
the com.android.internal.telephony.Phone interface (false). -->
|
||||
<bool name="send_mic_mute_to_AudioManager">true</bool>
|
||||
+
|
||||
+ <!-- Show enabled lte option for lte device -->
|
||||
+ <bool name="config_enabled_lte" translatable="false">true</bool>
|
||||
</resources>
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,37 +0,0 @@
|
||||
From 65d11ac33d0a3da260668c6dd18e5d28fefb272e Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Wed, 23 Nov 2016 18:38:32 -0500
|
||||
Subject: [PATCH] TWRP Support
|
||||
|
||||
Change-Id: Ib0a86923a40e21cddc1199141c70a7c776de3d1e
|
||||
---
|
||||
BoardConfig.mk | 16 ++++++++++++++++
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
diff --git a/BoardConfig.mk b/BoardConfig.mk
|
||||
index ec97bae..ecf5253 100644
|
||||
--- a/BoardConfig.mk
|
||||
+++ b/BoardConfig.mk
|
||||
@@ -132,3 +132,19 @@ MALLOC_IMPL := dlmalloc
|
||||
BOARD_HAS_NO_SELECT_BUTTON := true
|
||||
|
||||
BOARD_HARDWARE_CLASS := device/lge/mako/cmhw/
|
||||
+
|
||||
+#TWRP
|
||||
+TW_THEME := portrait_hdpi
|
||||
+RECOVERY_SDCARD_ON_DATA := true
|
||||
+RECOVERY_GRAPHICS_USE_LINELENGTH := true
|
||||
+BOARD_HAS_NO_REAL_SDCARD := true
|
||||
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_UTC_DATE=0
|
||||
+TW_INCLUDE_JB_CRYPTO := true
|
||||
+TW_FLASH_FROM_STORAGE := true
|
||||
+TW_NO_USB_STORAGE := true
|
||||
+TW_MAX_BRIGHTNESS := 255
|
||||
+TW_BRIGHTNESS_PATH := /sys/class/leds/lcd-backlight/brightness
|
||||
+TW_INTERNAL_STORAGE_PATH := "/data/media"
|
||||
+TW_INTERNAL_STORAGE_MOUNT_POINT := "data"
|
||||
+TW_EXTERNAL_STORAGE_PATH := "/usb-otg"
|
||||
+TW_EXTERNAL_STORAGE_MOUNT_POINT := "usb-otg"
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,37 +0,0 @@
|
||||
From 6fdf689f450e577750212ac5f0d3ffce50965651 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Thu, 17 Nov 2016 15:39:23 -0500
|
||||
Subject: [PATCH] Fix build failure
|
||||
|
||||
Change-Id: I94282a3df32daa97992c17476b0eb3e8f21e2499
|
||||
---
|
||||
overlay/frameworks/base/core/res/res/values/config.xml | 6 ------
|
||||
1 file changed, 6 deletions(-)
|
||||
|
||||
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
|
||||
index e0358e2..0b0549b 100644
|
||||
--- a/overlay/frameworks/base/core/res/res/values/config.xml
|
||||
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
|
||||
@@ -421,9 +421,6 @@
|
||||
format is UMTS|LTE|... -->
|
||||
<string translatable="false" name="config_radio_access_family">GSM | WCDMA | LTE | CDMA | EVDO</string>
|
||||
|
||||
- <!-- Component name of the service providing geofence API support. -->
|
||||
- <string name="config_geofenceProvider" translatable="false">com.qualcomm.location</string>
|
||||
-
|
||||
<string-array name="config_mobile_tcp_buffers">
|
||||
<item>"lte:2097152,4194304,8388608,262144,524288,1048576"</item>
|
||||
<item>"lte_ca:2097152,4194304,8388608,262144,524288,1048576"</item>
|
||||
@@ -442,9 +439,6 @@
|
||||
rmem_min,rmem_def,rmem_max,wmem_min,wmem_def,wmem_max -->
|
||||
<string name="config_wifi_tcp_buffers" translatable="false">524288,2097152,4194304,262144,524288,1048576</string>
|
||||
|
||||
- <!-- Enable blur support -->
|
||||
- <bool name="config_ui_blur_enabled">true</bool>
|
||||
-
|
||||
<!-- Boolean indicating if current platform supports BLE peripheral mode -->
|
||||
<bool name="config_bluetooth_le_peripheral_mode_supported">true</bool>
|
||||
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,39 +0,0 @@
|
||||
From 9e22fca4c687d84ba84428788d55b356069e29c7 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Thu, 17 Nov 2016 15:40:05 -0500
|
||||
Subject: [PATCH] Remove Sprint DM
|
||||
|
||||
Change-Id: I94d44bb4753cac72106f7c49997d69a0ec5556bd
|
||||
---
|
||||
proprietary-files.txt | 15 ---------------
|
||||
1 file changed, 15 deletions(-)
|
||||
|
||||
diff --git a/proprietary-files.txt b/proprietary-files.txt
|
||||
index f97d3e6..3675ce9 100644
|
||||
--- a/proprietary-files.txt
|
||||
+++ b/proprietary-files.txt
|
||||
@@ -290,21 +290,6 @@ lib64/libqti-iop.so
|
||||
vendor/lib/libqti-iop-client.so
|
||||
vendor/lib64/libqti-iop-client.so
|
||||
|
||||
-# DM/Sprint
|
||||
--app/DMConfigUpdateLight/DMConfigUpdateLight.apk
|
||||
--app/HiddenMenuLight/HiddenMenuLight.apk
|
||||
-lib/libdmengine.so
|
||||
-lib/libdmjavaplugin.so
|
||||
--priv-app/CQATest/CQATest.apk
|
||||
--priv-app/ConnMO/ConnMO.apk
|
||||
--priv-app/DCMO/DCMO.apk
|
||||
--priv-app/DMService/DMService.apk
|
||||
-lib/libdmengine.so:priv-app/DMService/lib/arm/libdmengine.so
|
||||
-lib/libdmjavaplugin.so:priv-app/DMService/lib/arm/libdmjavaplugin.so
|
||||
--priv-app/DiagMon/DiagMon.apk
|
||||
--priv-app/LifetimeData/LifetimeData.apk
|
||||
--priv-app/SprintDM/SprintDM.apk
|
||||
-
|
||||
# DRM
|
||||
# TZBSP
|
||||
bin/qseecomd
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,24 +0,0 @@
|
||||
From 44299d2cda16b60235cc682988d59dd3dcd823a5 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Fri, 18 Nov 2016 02:21:47 -0500
|
||||
Subject: [PATCH] Enable Dex-preopt
|
||||
|
||||
Change-Id: I7634ebac4af7a977cff21a6be83bbda11dc943f4
|
||||
---
|
||||
BoardConfig.mk | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/BoardConfig.mk b/BoardConfig.mk
|
||||
index 40022b4..250bbb5 100644
|
||||
--- a/BoardConfig.mk
|
||||
+++ b/BoardConfig.mk
|
||||
@@ -182,3 +182,6 @@ TARGET_USES_WCNSS_MAC_ADDR_REV := true
|
||||
WIFI_DRIVER_FW_PATH_STA := "sta"
|
||||
WIFI_DRIVER_FW_PATH_AP := "ap"
|
||||
WPA_SUPPLICANT_VERSION := VER_0_8_X
|
||||
+
|
||||
+#Dex pre-optimization
|
||||
+WITH_DEXPREOPT := true
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,68 +0,0 @@
|
||||
From 755b36c6f5e6feaac20112e0819299f63be3553d Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Fri, 18 Nov 2016 18:22:00 -0500
|
||||
Subject: [PATCH] Remove Widevine and disable DRM server
|
||||
|
||||
Change-Id: I24d3ba704d00d85747d851a9a497dd577ad03b5f
|
||||
---
|
||||
Android.mk | 10 +---------
|
||||
proprietary-files.txt | 2 --
|
||||
system.prop | 2 +-
|
||||
3 files changed, 2 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/Android.mk b/Android.mk
|
||||
index a69917c..693cba1 100644
|
||||
--- a/Android.mk
|
||||
+++ b/Android.mk
|
||||
@@ -52,14 +52,6 @@ $(IMS_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
@rm -rf $@
|
||||
$(hide) ln -sf /system/vendor/lib64/$(notdir $@) $@
|
||||
|
||||
-WV_IMAGES := widevine.b00 widevine.b01 widevine.b02 widevine.b03 widevine.mdt
|
||||
-WV_SYMLINKS := $(addprefix $(TARGET_OUT_ETC)/firmware/,$(notdir $(WV_IMAGES)))
|
||||
-$(WV_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
- @echo "Widevine firmware link: $@"
|
||||
- @mkdir -p $(dir $@)
|
||||
- @rm -rf $@
|
||||
- $(hide) ln -sf /firmware/image/$(notdir $@) $@
|
||||
-
|
||||
FIRMWARE_FILES := firmware fsg
|
||||
FIRMWARE_SYMLINKS := $(addprefix $(TARGET_OUT)/rfs/msm/mpss/readonly/,$(notdir $(FIRMWARE_FILES)))
|
||||
$(FIRMWARE_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
@@ -68,6 +60,6 @@ $(FIRMWARE_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
@rm -rf $@
|
||||
$(hide) ln -sf /$(notdir $@) $@
|
||||
|
||||
-ALL_DEFAULT_INSTALLED_MODULES += $(PERSIST_WCNSS) $(WCNSS_CFG_INI) $(IMS_SYMLINKS) $(WV_SYMLINKS) $(FIRMWARE_SYMLINKS)
|
||||
+ALL_DEFAULT_INSTALLED_MODULES += $(PERSIST_WCNSS) $(WCNSS_CFG_INI) $(IMS_SYMLINKS) $(FIRMWARE_SYMLINKS)
|
||||
|
||||
endif
|
||||
diff --git a/proprietary-files.txt b/proprietary-files.txt
|
||||
index 3675ce9..45dd63b 100644
|
||||
--- a/proprietary-files.txt
|
||||
+++ b/proprietary-files.txt
|
||||
@@ -293,8 +293,6 @@ vendor/lib64/libqti-iop-client.so
|
||||
# DRM
|
||||
# TZBSP
|
||||
bin/qseecomd
|
||||
-etc/permissions/com.google.widevine.software.drm.xml
|
||||
-framework/com.google.widevine.software.drm.jar
|
||||
lib/hw/keystore.qcom.so
|
||||
lib64/hw/keystore.qcom.so
|
||||
vendor/lib/libdrmfs.so
|
||||
diff --git a/system.prop b/system.prop
|
||||
index 6b1967c..4124bd4 100644
|
||||
--- a/system.prop
|
||||
+++ b/system.prop
|
||||
@@ -56,7 +56,7 @@ dalvik.vm.dex2oat-threads=2
|
||||
dalvik.vm.image-dex2oat-threads=4
|
||||
|
||||
# DRM
|
||||
-drm.service.enabled=true
|
||||
+drm.service.enabled=false
|
||||
|
||||
# FM
|
||||
ro.fm.transmitter=false
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,32 +0,0 @@
|
||||
From aa91f3c0beab9dbb78041540b59558631f63e30e Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Mon, 28 Nov 2016 07:04:58 -0500
|
||||
Subject: [PATCH] TWRP Support
|
||||
|
||||
Change-Id: I9c9caf279898f7f6cab5f2da81715e0a5440ca17
|
||||
---
|
||||
BoardConfig.mk | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/BoardConfig.mk b/BoardConfig.mk
|
||||
index 250bbb5..9be8f1c 100644
|
||||
--- a/BoardConfig.mk
|
||||
+++ b/BoardConfig.mk
|
||||
@@ -185,3 +185,14 @@ WPA_SUPPLICANT_VERSION := VER_0_8_X
|
||||
|
||||
#Dex pre-optimization
|
||||
WITH_DEXPREOPT := true
|
||||
+
|
||||
+# TWRP
|
||||
+TW_THEME := portrait_hdpi
|
||||
+DEVICE_RESOLUTION := 1440x2560
|
||||
+TW_INCLUDE_L_CRYPTO := true
|
||||
+TW_TARGET_USES_QCOM_BSP := true
|
||||
+TW_NEW_ION_HEAP := true
|
||||
+TW_INCLUDE_CRYPTO := true
|
||||
+TW_SCREEN_BLANK_ON_BOOT := true
|
||||
+TARGET_RECOVERY_QCOM_RTC_FIX := true
|
||||
+TARGET_RECOVERY_FSTAB = $(DEVICE_PATH)/rootdir/fstab.qcom
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,48 +0,0 @@
|
||||
From 5debdc1dd573384f7a1556a6db2d6960bd7259c5 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Thu, 17 Nov 2016 16:35:14 -0500
|
||||
Subject: [PATCH] Remove Widevine
|
||||
|
||||
Change-Id: I531feb804092b596af47e75530fa88b5c85f628a
|
||||
---
|
||||
Android.mk | 24 ------------------------
|
||||
1 file changed, 24 deletions(-)
|
||||
|
||||
diff --git a/Android.mk b/Android.mk
|
||||
index dde02c7..08fc62e 100644
|
||||
--- a/Android.mk
|
||||
+++ b/Android.mk
|
||||
@@ -124,30 +124,6 @@ $(MC_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
|
||||
ALL_DEFAULT_INSTALLED_MODULES += $(MC_SYMLINKS)
|
||||
|
||||
-PLAYREADY_IMAGES := \
|
||||
- playread.b00 playread.b01 playread.b02 playread.b03 playread.mdt
|
||||
-
|
||||
-PLAYREADY_SYMLINKS := $(addprefix $(TARGET_OUT_ETC)/firmware/,$(notdir $(PLAYREADY_IMAGES)))
|
||||
-$(PLAYREADY_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
- @echo "Playready firmware link: $@"
|
||||
- @mkdir -p $(dir $@)
|
||||
- @rm -rf $@
|
||||
- $(hide) ln -sf /firmware/image/$(notdir $@) $@
|
||||
-
|
||||
-ALL_DEFAULT_INSTALLED_MODULES += $(PLAYREADY_SYMLINKS)
|
||||
-
|
||||
-WV_IMAGES := \
|
||||
- widevine.b00 widevine.b01 widevine.b02 widevine.b03 widevine.mdt
|
||||
-
|
||||
-WV_SYMLINKS := $(addprefix $(TARGET_OUT_ETC)/firmware/,$(notdir $(WV_IMAGES)))
|
||||
-$(WV_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
- @echo "Widevine firmware link: $@"
|
||||
- @mkdir -p $(dir $@)
|
||||
- @rm -rf $@
|
||||
- $(hide) ln -sf /firmware/image/$(notdir $@) $@
|
||||
-
|
||||
-ALL_DEFAULT_INSTALLED_MODULES += $(WV_SYMLINKS)
|
||||
-
|
||||
# Create links for audcal data files
|
||||
$(shell mkdir -p $(TARGET_OUT)/etc/firmware/wcd9320; \
|
||||
ln -sf /data/misc/audio/wcd9320_anc.bin \
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,25 +0,0 @@
|
||||
From e12aa9baa815d0279aab7756edc4e9c130f0bbff Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Fri, 18 Nov 2016 02:23:46 -0500
|
||||
Subject: [PATCH] Enable Dex-preopt
|
||||
|
||||
Change-Id: Id0ee761ca93a2a4cab0d40959610520b193d0528
|
||||
---
|
||||
BoardConfig.mk | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/BoardConfig.mk b/BoardConfig.mk
|
||||
index 35bde5d..ff476f7 100644
|
||||
--- a/BoardConfig.mk
|
||||
+++ b/BoardConfig.mk
|
||||
@@ -197,4 +197,7 @@ TARGET_LDPRELOAD := libNimsWrap.so
|
||||
endif
|
||||
endif
|
||||
|
||||
+#Dex pre-optimization
|
||||
+WITH_DEXPREOPT := true
|
||||
+
|
||||
-include vendor/oneplus/bacon/BoardConfigVendor.mk
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,27 +0,0 @@
|
||||
From d06526ec844bf89e77c518dbcd0deb331babf8dd Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sun, 18 Dec 2016 09:30:44 -0500
|
||||
Subject: [PATCH] Enable secure_delete by default
|
||||
|
||||
Change-Id: Ic2604b78f57998c001df9737ab0fdec2298122c4
|
||||
---
|
||||
dist/Android.mk | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dist/Android.mk b/dist/Android.mk
|
||||
index bf277d2..8113e32 100644
|
||||
--- a/dist/Android.mk
|
||||
+++ b/dist/Android.mk
|
||||
@@ -27,7 +27,8 @@ minimal_sqlite_flags := \
|
||||
-DSQLITE_OMIT_BUILTIN_TEST \
|
||||
-DSQLITE_OMIT_COMPILEOPTION_DIAGS \
|
||||
-DSQLITE_OMIT_LOAD_EXTENSION \
|
||||
- -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600
|
||||
+ -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600 \
|
||||
+ -DSQLITE_SECURE_DELETE
|
||||
|
||||
device_sqlite_flags := $(minimal_sqlite_flags) \
|
||||
-DSQLITE_ENABLE_ICU \
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,27 +0,0 @@
|
||||
From 4211c35467725729615cce8fe3cd25f0de58da2a Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Fri, 18 Nov 2016 12:30:43 -0500
|
||||
Subject: [PATCH] Allow location providers outside of /system
|
||||
|
||||
Change-Id: I405981605aeb00a4482d7191905963fc97a5d424
|
||||
---
|
||||
services/core/java/com/android/server/ServiceWatcher.java | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/ServiceWatcher.java b/services/core/java/com/android/server/ServiceWatcher.java
|
||||
index 383e25a..31ae918 100644
|
||||
--- a/services/core/java/com/android/server/ServiceWatcher.java
|
||||
+++ b/services/core/java/com/android/server/ServiceWatcher.java
|
||||
@@ -92,8 +92,7 @@ public class ServiceWatcher implements ServiceConnection {
|
||||
String pkg = initialPackageNames.get(i);
|
||||
try {
|
||||
HashSet<Signature> set = new HashSet<Signature>();
|
||||
- Signature[] sigs = pm.getPackageInfo(pkg, PackageManager.MATCH_SYSTEM_ONLY
|
||||
- | PackageManager.GET_SIGNATURES).signatures;
|
||||
+ Signature[] sigs = pm.getPackageInfo(pkg, PackageManager.GET_SIGNATURES).signatures;
|
||||
set.addAll(Arrays.asList(sigs));
|
||||
sigSets.add(set);
|
||||
} catch (NameNotFoundException e) {
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,49 +0,0 @@
|
||||
From 4921beaf996a89c9a56b98f213401ceeb2a23082 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Fri, 18 Nov 2016 14:52:59 -0500
|
||||
Subject: [PATCH] Shutdown after 5 failed unlock attempts
|
||||
|
||||
Change-Id: Icc23122e5a25b756872fe132cd0e93684e8bafca
|
||||
---
|
||||
.../Keyguard/src/com/android/keyguard/KeyguardSecurityContainer.java | 5 +++++
|
||||
packages/SystemUI/AndroidManifest.xml | 1 +
|
||||
2 files changed, 6 insertions(+)
|
||||
|
||||
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityContainer.java b/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityContainer.java
|
||||
index aaff265..865956f 100644
|
||||
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityContainer.java
|
||||
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityContainer.java
|
||||
@@ -22,6 +22,7 @@ import android.app.admin.DevicePolicyManager;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
+import android.os.PowerManager;
|
||||
import android.os.UserHandle;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
@@ -366,6 +367,10 @@ public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSe
|
||||
if (!enableTimesCounter && (timeoutMs > 0)) {
|
||||
showTimeoutDialog(timeoutMs);
|
||||
}
|
||||
+ if (failedAttempts >=5) {
|
||||
+ final PowerManager powerManager = mContext.getSystemService(PowerManager.class);
|
||||
+ powerManager.shutdown(false, false);
|
||||
+ }
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml
|
||||
index 2248baf..b13b0fd 100644
|
||||
--- a/packages/SystemUI/AndroidManifest.xml
|
||||
+++ b/packages/SystemUI/AndroidManifest.xml
|
||||
@@ -112,6 +112,7 @@
|
||||
<uses-permission android:name="android.permission.TRUST_LISTENER" />
|
||||
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
|
||||
<uses-permission android:name="android.permission.RESET_FINGERPRINT_LOCKOUT" />
|
||||
+ <uses-permission android:name="android.permission.REBOOT" />
|
||||
|
||||
<!-- Needed for WallpaperManager.clear in ImageWallpaper.updateWallpaperLocked -->
|
||||
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,97 +0,0 @@
|
||||
From 44cda6f5e47c33e91980ae35c8bc6d88e4d3763c Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Thu, 24 Nov 2016 13:01:30 -0500
|
||||
Subject: [PATCH] Allow packages to spoof their signature
|
||||
|
||||
Change-Id: I9acf48c7607804890d0d0fa7fe30bb36779cb40d
|
||||
---
|
||||
core/res/AndroidManifest.xml | 7 +++++++
|
||||
core/res/res/values/config.xml | 2 ++
|
||||
core/res/res/values/strings.xml | 5 +++++
|
||||
.../android/server/pm/PackageManagerService.java | 23 ++++++++++++++++++++--
|
||||
4 files changed, 35 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
|
||||
index b624305..43eec1f 100644
|
||||
--- a/core/res/AndroidManifest.xml
|
||||
+++ b/core/res/AndroidManifest.xml
|
||||
@@ -1926,6 +1926,13 @@
|
||||
android:description="@string/permdesc_getPackageSize"
|
||||
android:protectionLevel="normal" />
|
||||
|
||||
+ <!-- @hide Allows an application to change the package signature as
|
||||
+ seen by applications -->
|
||||
+ <permission android:name="android.permission.FAKE_PACKAGE_SIGNATURE"
|
||||
+ android:protectionLevel="dangerous"
|
||||
+ android:label="@string/permlab_fakePackageSignature"
|
||||
+ android:description="@string/permdesc_fakePackageSignature" />
|
||||
+
|
||||
<!-- @deprecated No longer useful, see
|
||||
{@link android.content.pm.PackageManager#addPackageToPreferred}
|
||||
for details. -->
|
||||
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
|
||||
index 4a95f6e..702e02a 100644
|
||||
--- a/core/res/res/values/config.xml
|
||||
+++ b/core/res/res/values/config.xml
|
||||
@@ -1383,6 +1383,8 @@
|
||||
<string-array name="config_locationProviderPackageNames" translatable="false">
|
||||
<!-- The standard AOSP fused location provider -->
|
||||
<item>com.android.location.fused</item>
|
||||
+ <!-- The (faked) microg fused location provider -->
|
||||
+ <item>com.google.android.gms</item>
|
||||
</string-array>
|
||||
|
||||
<!-- This string array can be overriden to enable test location providers initially. -->
|
||||
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
|
||||
index 345d377..26814f1 100644
|
||||
--- a/core/res/res/values/strings.xml
|
||||
+++ b/core/res/res/values/strings.xml
|
||||
@@ -660,6 +660,11 @@
|
||||
|
||||
<!-- Permissions -->
|
||||
|
||||
+ <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
|
||||
+ <string name="permlab_fakePackageSignature">Spoof package signature</string>
|
||||
+ <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
|
||||
+ <string name="permdesc_fakePackageSignature">Allows the app to pretend to be a different app. Malicious applications might be able to use this to access private application data. Grant this permission with caution only!</string>
|
||||
+
|
||||
<!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
|
||||
<string name="permlab_statusBar">disable or modify status bar</string>
|
||||
<!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
|
||||
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
|
||||
index d450288..9194e69 100644
|
||||
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
|
||||
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
|
||||
@@ -3141,8 +3141,27 @@ public class PackageManagerService extends IPackageManager.Stub {
|
||||
? Collections.<String>emptySet() : permissionsState.getPermissions(userId);
|
||||
final PackageUserState state = ps.readUserState(userId);
|
||||
|
||||
- return PackageParser.generatePackageInfo(p, gids, flags,
|
||||
- ps.firstInstallTime, ps.lastUpdateTime, permissions, state, userId);
|
||||
+ return mayFakeSignature(p, PackageParser.generatePackageInfo(p, gids, flags,
|
||||
+ ps.firstInstallTime, ps.lastUpdateTime, permissions, state, userId),
|
||||
+ permissions);
|
||||
+ }
|
||||
+
|
||||
+ private PackageInfo mayFakeSignature(PackageParser.Package p, PackageInfo pi,
|
||||
+ Set<String> permissions) {
|
||||
+ try {
|
||||
+ if (permissions.contains("android.permission.FAKE_PACKAGE_SIGNATURE")
|
||||
+ && p.applicationInfo.targetSdkVersion > Build.VERSION_CODES.LOLLIPOP_MR1
|
||||
+ && p.mAppMetaData != null) {
|
||||
+ String sig = p.mAppMetaData.getString("fake-signature");
|
||||
+ if (sig != null) {
|
||||
+ pi.signatures = new Signature[] {new Signature(sig)};
|
||||
+ }
|
||||
+ }
|
||||
+ } catch (Throwable t) {
|
||||
+ // We should never die because of any failures, this is system code!
|
||||
+ Log.w("PackageManagerService.FAKE_PACKAGE_SIGNATURE", t);
|
||||
+ }
|
||||
+ return pi;
|
||||
}
|
||||
|
||||
@Override
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,54 +0,0 @@
|
||||
From c46d22ad7a92e72f4ba9ba3a36e8dbdb566f4a07 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sun, 18 Dec 2016 09:36:07 -0500
|
||||
Subject: [PATCH] Hide passwords by default
|
||||
|
||||
Change-Id: I95e26ff6219f6209d5b9fc7ae92a453b53b0aa76
|
||||
---
|
||||
core/java/android/text/method/TextKeyListener.java | 2 +-
|
||||
core/java/com/android/internal/widget/PasswordEntryKeyboardHelper.java | 2 +-
|
||||
packages/Keyguard/src/com/android/keyguard/PasswordTextView.java | 2 +-
|
||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/core/java/android/text/method/TextKeyListener.java b/core/java/android/text/method/TextKeyListener.java
|
||||
index 994f3d7..b2ac244 100644
|
||||
--- a/core/java/android/text/method/TextKeyListener.java
|
||||
+++ b/core/java/android/text/method/TextKeyListener.java
|
||||
@@ -291,7 +291,7 @@ public class TextKeyListener extends BaseKeyListener implements SpanWatcher {
|
||||
boolean cap = System.getInt(resolver, System.TEXT_AUTO_CAPS, 1) > 0;
|
||||
boolean text = System.getInt(resolver, System.TEXT_AUTO_REPLACE, 1) > 0;
|
||||
boolean period = System.getInt(resolver, System.TEXT_AUTO_PUNCTUATE, 1) > 0;
|
||||
- boolean pw = System.getInt(resolver, System.TEXT_SHOW_PASSWORD, 1) > 0;
|
||||
+ boolean pw = System.getInt(resolver, System.TEXT_SHOW_PASSWORD, 0) > 0;
|
||||
|
||||
mPrefs = (cap ? AUTO_CAP : 0) |
|
||||
(text ? AUTO_TEXT : 0) |
|
||||
diff --git a/core/java/com/android/internal/widget/PasswordEntryKeyboardHelper.java b/core/java/com/android/internal/widget/PasswordEntryKeyboardHelper.java
|
||||
index b2c9dc5..dc5b7f9 100644
|
||||
--- a/core/java/com/android/internal/widget/PasswordEntryKeyboardHelper.java
|
||||
+++ b/core/java/com/android/internal/widget/PasswordEntryKeyboardHelper.java
|
||||
@@ -159,7 +159,7 @@ public class PasswordEntryKeyboardHelper implements OnKeyboardActionListener {
|
||||
mKeyboardState = KEYBOARD_STATE_NORMAL;
|
||||
final boolean visiblePassword = Settings.System.getInt(
|
||||
mContext.getContentResolver(),
|
||||
- Settings.System.TEXT_SHOW_PASSWORD, 1) != 0;
|
||||
+ Settings.System.TEXT_SHOW_PASSWORD, 0) != 0;
|
||||
final boolean enablePreview = false; // TODO: grab from configuration
|
||||
mKeyboardView.setPreviewEnabled(visiblePassword && enablePreview);
|
||||
break;
|
||||
diff --git a/packages/Keyguard/src/com/android/keyguard/PasswordTextView.java b/packages/Keyguard/src/com/android/keyguard/PasswordTextView.java
|
||||
index 48737f9..3f4c381 100644
|
||||
--- a/packages/Keyguard/src/com/android/keyguard/PasswordTextView.java
|
||||
+++ b/packages/Keyguard/src/com/android/keyguard/PasswordTextView.java
|
||||
@@ -134,7 +134,7 @@ public class PasswordTextView extends View {
|
||||
mDrawPaint.setColor(0xffffffff);
|
||||
mDrawPaint.setTypeface(Typeface.create("sans-serif-light", 0));
|
||||
mShowPassword = Settings.System.getInt(mContext.getContentResolver(),
|
||||
- Settings.System.TEXT_SHOW_PASSWORD, 1) == 1;
|
||||
+ Settings.System.TEXT_SHOW_PASSWORD, 0) == 1;
|
||||
mAppearInterpolator = AnimationUtils.loadInterpolator(mContext,
|
||||
android.R.interpolator.linear_out_slow_in);
|
||||
mDisappearInterpolator = AnimationUtils.loadInterpolator(mContext,
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 6c9c966622adbfe0ad92ed90d90f93a782c99f02 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sun, 18 Dec 2016 19:10:20 -0500
|
||||
Subject: [PATCH] Harden signature spoofing
|
||||
|
||||
Change-Id: I31e2a20923fff883c87fa6425408971657d3d7b3
|
||||
---
|
||||
core/res/AndroidManifest.xml | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
|
||||
index 486999b..182acbf 100644
|
||||
--- a/core/res/AndroidManifest.xml
|
||||
+++ b/core/res/AndroidManifest.xml
|
||||
@@ -1937,7 +1937,7 @@
|
||||
<!-- @hide Allows an application to change the package signature as
|
||||
seen by applications -->
|
||||
<permission android:name="android.permission.FAKE_PACKAGE_SIGNATURE"
|
||||
- android:protectionLevel="dangerous"
|
||||
+ android:protectionLevel="signature"
|
||||
android:label="@string/permlab_fakePackageSignature"
|
||||
android:description="@string/permdesc_fakePackageSignature" />
|
||||
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,484 +0,0 @@
|
||||
From 28793d3021e480bba68fe8b76d9848a6b8aee5d5 Mon Sep 17 00:00:00 2001
|
||||
From: flar2 <asegaert@gmail.com>
|
||||
Date: Tue, 3 Nov 2015 21:21:34 -0500
|
||||
Subject: [PATCH 1/3] msm8992 initial overclocking
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/qcom/msm8992-regulator.dtsi | 30 ++++++++++++--------
|
||||
arch/arm/boot/dts/qcom/msm8992.dtsi | 40 +++++++++++++++++++-------
|
||||
drivers/clk/qcom/clock-cpu-8994.c | 8 +++---
|
||||
drivers/cpufreq/qcom-cpufreq.c | 41 +++++++++++++++++++++++++++
|
||||
4 files changed, 93 insertions(+), 26 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi b/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi
|
||||
index d5f6860..23b23ba 100644
|
||||
--- a/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi
|
||||
@@ -605,7 +605,7 @@
|
||||
regulator-name = "apc0_corner";
|
||||
qcom,cpr-fuse-corners = <4>;
|
||||
regulator-min-microvolt = <1>;
|
||||
- regulator-max-microvolt = <10>;
|
||||
+ regulator-max-microvolt = <12>;
|
||||
|
||||
qcom,cpr-voltage-ceiling = <900000 900000 1000000 1180000>;
|
||||
qcom,cpr-voltage-floor = <640000 700000 800000 850000>;
|
||||
@@ -669,15 +669,15 @@
|
||||
qcom,cpr-init-voltage-ref = <900000 900000 1000000 1230000>;
|
||||
qcom,cpr-init-voltage-step = <10000>;
|
||||
|
||||
- qcom,cpr-corner-map = <1 1 2 2 3 3 4 4 4 4>;
|
||||
+ qcom,cpr-corner-map = <1 1 2 2 3 3 4 4 4 4 4 4>;
|
||||
qcom,cpr-voltage-ceiling-override =
|
||||
<0xFFFFFFFF 0 800000 800000 900000 900000
|
||||
1000000 1000000 1115000 1115000
|
||||
- 1180000 1180000>;
|
||||
+ 1180000 1180000 1180000 1180000>;
|
||||
qcom,cpr-voltage-floor-override =
|
||||
<0xFFFFFFFF 0 640000 655000 700000 735000
|
||||
800000 835000 850000 875000
|
||||
- 950000 1000000>;
|
||||
+ 950000 1000000 1000000 1000000>;
|
||||
qcom,cpr-fuse-version-map =
|
||||
<0 0xffffffff 0 0 0 0 0>,
|
||||
<0 0xffffffff 1 0 0 0 0>,
|
||||
@@ -759,10 +759,12 @@
|
||||
<7 864000000>,
|
||||
<8 960000000>,
|
||||
<9 1248000000>,
|
||||
- <10 1440000000>;
|
||||
+ <10 1440000000>,
|
||||
+ <11 1536000000>,
|
||||
+ <12 1632000000>;
|
||||
qcom,cpr-speed-bin-max-corners =
|
||||
<0 0 2 4 6 9>,
|
||||
- <1 0 2 4 6 10>;
|
||||
+ <1 0 2 4 6 12>;
|
||||
qcom,cpr-enable;
|
||||
};
|
||||
|
||||
@@ -774,7 +776,7 @@
|
||||
regulator-name = "apc1_corner";
|
||||
qcom,cpr-fuse-corners = <4>;
|
||||
regulator-min-microvolt = <1>;
|
||||
- regulator-max-microvolt = <15>;
|
||||
+ regulator-max-microvolt = <17>;
|
||||
|
||||
qcom,cpr-voltage-ceiling = <900000 900000 1000000 1180000>;
|
||||
qcom,cpr-voltage-floor = <640000 640000 745000 850000>;
|
||||
@@ -841,17 +843,19 @@
|
||||
qcom,cpr-init-voltage-ref = <900000 900000 1000000 1230000>;
|
||||
qcom,cpr-init-voltage-step = <10000>;
|
||||
|
||||
- qcom,cpr-corner-map = <1 2 2 2 2 3 3 3 4 4 4 4 4 4 4>;
|
||||
+ qcom,cpr-corner-map = <1 2 2 2 2 3 3 3 4 4 4 4 4 4 4 4 4>;
|
||||
qcom,cpr-voltage-ceiling-override =
|
||||
<0xFFFFFFFF 0 900000 900000 900000 900000
|
||||
900000 1000000 1000000 1000000
|
||||
1115000 1115000 1115000 1115000
|
||||
- 1115000 1115000 1180000>;
|
||||
+ 1115000 1115000 1180000 1180000
|
||||
+ 1180000>;
|
||||
qcom,cpr-voltage-floor-override =
|
||||
<0xFFFFFFFF 0 640000 640000 665000 690000
|
||||
735000 745000 770000 785000
|
||||
850000 860000 880000 900000
|
||||
- 920000 935000 1000000>;
|
||||
+ 920000 935000 1000000 1000000
|
||||
+ 1000000>;
|
||||
qcom,cpr-fuse-version-map =
|
||||
<0xffffffff 0xffffffff 0 4 4 4 4>,
|
||||
<0xffffffff 0xffffffff 1 4 4 4 4>,
|
||||
@@ -908,9 +912,11 @@
|
||||
<12 1536000000>,
|
||||
<13 1632000000>,
|
||||
<14 1689600000>,
|
||||
- <15 1824000000>;
|
||||
+ <15 1824000000>,
|
||||
+ <16 1958400000>,
|
||||
+ <17 2016000000>;
|
||||
qcom,cpr-speed-bin-max-corners =
|
||||
- <0xFFFFFFFF 0 1 5 8 15>;
|
||||
+ <0xFFFFFFFF 0 1 5 8 17>;
|
||||
qcom,cpr-enable;
|
||||
};
|
||||
|
||||
diff --git a/arch/arm/boot/dts/qcom/msm8992.dtsi b/arch/arm/boot/dts/qcom/msm8992.dtsi
|
||||
index 5ba420c..8892b56 100644
|
||||
--- a/arch/arm/boot/dts/qcom/msm8992.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom/msm8992.dtsi
|
||||
@@ -852,7 +852,9 @@
|
||||
< 787200 3509 >,
|
||||
< 864000 4173 >,
|
||||
< 960000 5271 >,
|
||||
- < 1440000 7102 >;
|
||||
+ < 1440000 7102 >,
|
||||
+ < 1536000 7102 >,
|
||||
+ < 1632000 7102 >;
|
||||
cpu-to-dev-map-4 =
|
||||
< 384000 1525 >,
|
||||
< 633600 2288 >,
|
||||
@@ -860,16 +862,22 @@
|
||||
< 864000 4173 >,
|
||||
< 960000 5271 >,
|
||||
< 1344000 5928 >,
|
||||
- < 1824000 7102 >;
|
||||
+ < 1824000 7102 >,
|
||||
+ < 1958400 7102 >,
|
||||
+ < 2016000 7102 >;
|
||||
};
|
||||
|
||||
mincpubw-cpufreq {
|
||||
target-dev = <&mincpubw>;
|
||||
cpu-to-dev-map-0 =
|
||||
- < 1440000 1525 >;
|
||||
+ < 1440000 1525 >,
|
||||
+ < 1536000 1525 >,
|
||||
+ < 1632000 1525 >;
|
||||
cpu-to-dev-map-4 =
|
||||
< 1689600 1525 >,
|
||||
- < 1824000 5928 >;
|
||||
+ < 1824000 1525 >,
|
||||
+ < 1958400 1525 >,
|
||||
+ < 2016000 5928 >;
|
||||
};
|
||||
|
||||
cci-cpufreq {
|
||||
@@ -880,7 +888,9 @@
|
||||
< 787200 384000 >,
|
||||
< 864000 556800 >,
|
||||
< 960000 729600 >,
|
||||
- < 1440000 787200 >;
|
||||
+ < 1440000 787200 >,
|
||||
+ < 1536000 787200 >,
|
||||
+ < 1632000 787200 >;
|
||||
cpu-to-dev-map-4 =
|
||||
< 384000 134400 >,
|
||||
< 480000 300000 >,
|
||||
@@ -888,7 +898,9 @@
|
||||
< 768000 556800 >,
|
||||
< 960000 600000 >,
|
||||
< 1440000 729600 >,
|
||||
- < 1824000 787200 >;
|
||||
+ < 1824000 787200 >,
|
||||
+ < 1958400 787200 >,
|
||||
+ < 2016000 787200 >;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -915,7 +927,9 @@
|
||||
< 864000 >,
|
||||
< 960000 >,
|
||||
< 1248000 >,
|
||||
- < 1440000 >;
|
||||
+ < 1440000 >,
|
||||
+ < 1536000 >,
|
||||
+ < 1632000 >;
|
||||
|
||||
qcom,cpufreq-table-4 =
|
||||
< 384000 >,
|
||||
@@ -930,7 +944,9 @@
|
||||
< 1536000 >,
|
||||
< 1632000 >,
|
||||
< 1689600 >,
|
||||
- < 1824000 >;
|
||||
+ < 1824000 >,
|
||||
+ < 1958400 >,
|
||||
+ < 2016000 >;
|
||||
|
||||
};
|
||||
|
||||
@@ -968,7 +984,9 @@
|
||||
< 864000000 7>,
|
||||
< 960000000 8>,
|
||||
< 1248000000 9>,
|
||||
- < 1440000000 10>;
|
||||
+ < 1440000000 10>,
|
||||
+ < 1536000000 11>,
|
||||
+ < 1632000000 12>;
|
||||
qcom,a57-speedbin0-v0 =
|
||||
< 0 0>,
|
||||
< 384000000 5>,
|
||||
@@ -983,7 +1001,9 @@
|
||||
< 1536000000 12>,
|
||||
< 1632000000 13>,
|
||||
< 1689600000 14>,
|
||||
- < 1824000000 15>;
|
||||
+ < 1824000000 15>,
|
||||
+ < 1958400000 16>,
|
||||
+ < 2016000000 17>;
|
||||
qcom,cci-speedbin0-v0 =
|
||||
< 0 0>,
|
||||
< 134400000 2>,
|
||||
diff --git a/drivers/clk/qcom/clock-cpu-8994.c b/drivers/clk/qcom/clock-cpu-8994.c
|
||||
index 6eb346b..de3d72f 100644
|
||||
--- a/drivers/clk/qcom/clock-cpu-8994.c
|
||||
+++ b/drivers/clk/qcom/clock-cpu-8994.c
|
||||
@@ -191,13 +191,13 @@ static struct pll_clk a57_pll0 = {
|
||||
.test_ctl_lo_val = 0x00010000,
|
||||
},
|
||||
.min_rate = 1209600000,
|
||||
- .max_rate = 1996800000,
|
||||
+ .max_rate = 2073600000,
|
||||
.base = &vbases[C1_PLL_BASE],
|
||||
.c = {
|
||||
.parent = &xo_ao.c,
|
||||
.dbg_name = "a57_pll0",
|
||||
.ops = &clk_ops_variable_rate_pll,
|
||||
- VDD_DIG_FMAX_MAP2(LOW, 1593600000, NOMINAL, 1996800000),
|
||||
+ VDD_DIG_FMAX_MAP2(LOW, 1593600000, NOMINAL, 2073600000),
|
||||
CLK_INIT(a57_pll0.c),
|
||||
},
|
||||
};
|
||||
@@ -229,13 +229,13 @@ static struct pll_clk a57_pll1 = {
|
||||
/* Necessary since we'll be setting a rate before handoff on V1 */
|
||||
.src_rate = 19200000,
|
||||
.min_rate = 1209600000,
|
||||
- .max_rate = 1996800000,
|
||||
+ .max_rate = 2073600000,
|
||||
.base = &vbases[C1_PLL_BASE],
|
||||
.c = {
|
||||
.parent = &xo_ao.c,
|
||||
.dbg_name = "a57_pll1",
|
||||
.ops = &clk_ops_variable_rate_pll,
|
||||
- VDD_DIG_FMAX_MAP2(LOW, 1593600000, NOMINAL, 1996800000),
|
||||
+ VDD_DIG_FMAX_MAP2(LOW, 1593600000, NOMINAL, 2073600000),
|
||||
CLK_INIT(a57_pll1.c),
|
||||
},
|
||||
};
|
||||
diff --git a/drivers/cpufreq/qcom-cpufreq.c b/drivers/cpufreq/qcom-cpufreq.c
|
||||
index e30b0cb..dd3a589 100644
|
||||
--- a/drivers/cpufreq/qcom-cpufreq.c
|
||||
+++ b/drivers/cpufreq/qcom-cpufreq.c
|
||||
@@ -31,6 +31,40 @@
|
||||
|
||||
static DEFINE_MUTEX(l2bw_lock);
|
||||
|
||||
+static unsigned long arg_cpu_max_a53 = 1440000;
|
||||
+
|
||||
+static int __init cpufreq_read_cpu_max_a53(char *cpu_max_a53)
|
||||
+{
|
||||
+ unsigned long ui_khz;
|
||||
+ int ret;
|
||||
+
|
||||
+ ret = kstrtoul(cpu_max_a53, 0, &ui_khz);
|
||||
+ if (ret)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ arg_cpu_max_a53 = ui_khz;
|
||||
+ printk("cpu_max_a53=%lu\n", arg_cpu_max_a53);
|
||||
+ return ret;
|
||||
+}
|
||||
+__setup("cpu_max_a53=", cpufreq_read_cpu_max_a53);
|
||||
+
|
||||
+static unsigned long arg_cpu_max_a57 = 1824000;
|
||||
+
|
||||
+static int __init cpufreq_read_cpu_max_a57(char *cpu_max_a57)
|
||||
+{
|
||||
+ unsigned long ui_khz;
|
||||
+ int ret;
|
||||
+
|
||||
+ ret = kstrtoul(cpu_max_a57, 0, &ui_khz);
|
||||
+ if (ret)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ arg_cpu_max_a57 = ui_khz;
|
||||
+ printk("cpu_max_a57=%lu\n", arg_cpu_max_a57);
|
||||
+ return ret;
|
||||
+}
|
||||
+__setup("cpu_max_a57=", cpufreq_read_cpu_max_a57);
|
||||
+
|
||||
static struct clk *cpu_clk[NR_CPUS];
|
||||
static struct clk *l2_clk;
|
||||
static DEFINE_PER_CPU(struct cpufreq_frequency_table *, freq_table);
|
||||
@@ -364,6 +398,13 @@ static struct cpufreq_frequency_table *cpufreq_parse_dt(struct device *dev,
|
||||
if (i > 0 && f <= ftbl[i-1].frequency)
|
||||
break;
|
||||
|
||||
+ //Custom max freq
|
||||
+ if ((cpu < 4 && f > arg_cpu_max_a53) ||
|
||||
+ (cpu >= 4 && f > arg_cpu_max_a57)) {
|
||||
+ nf = i;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
ftbl[i].driver_data = i;
|
||||
ftbl[i].frequency = f;
|
||||
}
|
||||
--
|
||||
2.9.3
|
||||
|
||||
|
||||
From 9dfe99b9f8eead920f7cdefdb2ae7b1cea776d9b Mon Sep 17 00:00:00 2001
|
||||
From: dirtyhank <dirtyhank@gmail.com>
|
||||
Date: Thu, 14 Jan 2016 12:56:07 +0100
|
||||
Subject: [PATCH 2/3] CPU underclocking
|
||||
|
||||
Based on underclocking to Nexus 6P by anarkia1976
|
||||
---
|
||||
arch/arm/boot/dts/qcom/msm8992-regulator.dtsi | 6 +++---
|
||||
arch/arm/boot/dts/qcom/msm8992.dtsi | 14 +++++++++++---
|
||||
2 files changed, 14 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi b/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi
|
||||
index 23b23ba..1ef9eb3 100644
|
||||
--- a/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi
|
||||
@@ -750,7 +750,7 @@
|
||||
qcom,cpr-voltage-scaling-factor-max = <0 0 2000 2000>;
|
||||
qcom,cpr-quot-adjust-scaling-factor-max = <0 2000 2000 2000>;
|
||||
qcom,cpr-corner-frequency-map =
|
||||
- <1 300000000>,
|
||||
+ <1 302400000>,
|
||||
<2 384000000>,
|
||||
<3 460800000>,
|
||||
<4 600000000>,
|
||||
@@ -898,8 +898,8 @@
|
||||
qcom,cpr-voltage-scaling-factor-max = <0 0 2000 2000>;
|
||||
qcom,cpr-quot-adjust-scaling-factor-max = <0 0 2000 2000>;
|
||||
qcom,cpr-corner-frequency-map =
|
||||
- <1 300000000>, /* SVS Fmin for "SVS2" */
|
||||
- <2 300000000>,
|
||||
+ <1 302400000>, /* SVS Fmin for "SVS2" */
|
||||
+ <2 302400000>,
|
||||
<3 384000000>,
|
||||
<4 480000000>,
|
||||
<5 633600000>,
|
||||
diff --git a/arch/arm/boot/dts/qcom/msm8992.dtsi b/arch/arm/boot/dts/qcom/msm8992.dtsi
|
||||
index 8892b56..f6a39cd 100644
|
||||
--- a/arch/arm/boot/dts/qcom/msm8992.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom/msm8992.dtsi
|
||||
@@ -796,7 +796,7 @@
|
||||
governor = "cpufreq";
|
||||
freq-tbl-khz =
|
||||
< 134400 >,
|
||||
- < 300000 >,
|
||||
+ < 302400 >,
|
||||
< 384000 >,
|
||||
< 556800 >,
|
||||
< 600000 >,
|
||||
@@ -856,7 +856,8 @@
|
||||
< 1536000 7102 >,
|
||||
< 1632000 7102 >;
|
||||
cpu-to-dev-map-4 =
|
||||
- < 384000 1525 >,
|
||||
+ < 302400 1525 >,
|
||||
+ < 384000 1525 >,
|
||||
< 633600 2288 >,
|
||||
< 768000 3509 >,
|
||||
< 864000 4173 >,
|
||||
@@ -883,6 +884,7 @@
|
||||
cci-cpufreq {
|
||||
target-dev = <&cci_cache>;
|
||||
cpu-to-dev-map-0 =
|
||||
+ < 302400 134400 >,
|
||||
< 384000 134400 >,
|
||||
< 600000 300000 >,
|
||||
< 787200 384000 >,
|
||||
@@ -892,6 +894,7 @@
|
||||
< 1536000 787200 >,
|
||||
< 1632000 787200 >;
|
||||
cpu-to-dev-map-4 =
|
||||
+ < 302400 134400 >,
|
||||
< 384000 134400 >,
|
||||
< 480000 300000 >,
|
||||
< 633600 384000 >,
|
||||
@@ -919,6 +922,7 @@
|
||||
qcom,governor-per-policy;
|
||||
|
||||
qcom,cpufreq-table-0 =
|
||||
+ < 302400 >,
|
||||
< 384000 >,
|
||||
< 460800 >,
|
||||
< 600000 >,
|
||||
@@ -932,6 +936,7 @@
|
||||
< 1632000 >;
|
||||
|
||||
qcom,cpufreq-table-4 =
|
||||
+ < 302400 >,
|
||||
< 384000 >,
|
||||
< 480000 >,
|
||||
< 633600 >,
|
||||
@@ -966,6 +971,7 @@
|
||||
vdd-dig-supply = <&pm8994_s2_corner_ao>;
|
||||
qcom,a53-speedbin0-v0 =
|
||||
< 0 0>,
|
||||
+ < 302400000 1>,
|
||||
< 384000000 2>,
|
||||
< 460800000 3>,
|
||||
< 600000000 4>,
|
||||
@@ -976,6 +982,7 @@
|
||||
< 1248000000 9>;
|
||||
qcom,a53-speedbin1-v0 =
|
||||
< 0 0>,
|
||||
+ < 302400000 1>,
|
||||
< 384000000 2>,
|
||||
< 460800000 3>,
|
||||
< 600000000 4>,
|
||||
@@ -989,6 +996,7 @@
|
||||
< 1632000000 12>;
|
||||
qcom,a57-speedbin0-v0 =
|
||||
< 0 0>,
|
||||
+ < 302400000 5>,
|
||||
< 384000000 5>,
|
||||
< 480000000 5>,
|
||||
< 633600000 5>,
|
||||
@@ -1007,7 +1015,7 @@
|
||||
qcom,cci-speedbin0-v0 =
|
||||
< 0 0>,
|
||||
< 134400000 2>,
|
||||
- < 300000000 4>,
|
||||
+ < 302400000 4>,
|
||||
< 384000000 6>,
|
||||
< 556800000 6>,
|
||||
< 600000000 8>,
|
||||
--
|
||||
2.9.3
|
||||
|
||||
|
||||
From b7e24657fb125b77bb5d9a39493040e1234c7c83 Mon Sep 17 00:00:00 2001
|
||||
From: flar2 <asegaert@gmail.com>
|
||||
Date: Mon, 21 Nov 2016 21:40:09 -0500
|
||||
Subject: [PATCH 3/3] msm8992: bump oc voltages
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/qcom/msm8992-regulator.dtsi | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi b/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi
|
||||
index 1ef9eb3..d2a875b 100644
|
||||
--- a/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi
|
||||
@@ -673,11 +673,11 @@
|
||||
qcom,cpr-voltage-ceiling-override =
|
||||
<0xFFFFFFFF 0 800000 800000 900000 900000
|
||||
1000000 1000000 1115000 1115000
|
||||
- 1180000 1180000 1180000 1180000>;
|
||||
+ 1180000 1180000 1180000 1200000>;
|
||||
qcom,cpr-voltage-floor-override =
|
||||
<0xFFFFFFFF 0 640000 655000 700000 735000
|
||||
800000 835000 850000 875000
|
||||
- 950000 1000000 1000000 1000000>;
|
||||
+ 950000 1000000 1000000 1100000>;
|
||||
qcom,cpr-fuse-version-map =
|
||||
<0 0xffffffff 0 0 0 0 0>,
|
||||
<0 0xffffffff 1 0 0 0 0>,
|
||||
@@ -849,13 +849,13 @@
|
||||
900000 1000000 1000000 1000000
|
||||
1115000 1115000 1115000 1115000
|
||||
1115000 1115000 1180000 1180000
|
||||
- 1180000>;
|
||||
+ 1200000>;
|
||||
qcom,cpr-voltage-floor-override =
|
||||
<0xFFFFFFFF 0 640000 640000 665000 690000
|
||||
735000 745000 770000 785000
|
||||
850000 860000 880000 900000
|
||||
920000 935000 1000000 1000000
|
||||
- 1000000>;
|
||||
+ 1100000>;
|
||||
qcom,cpr-fuse-version-map =
|
||||
<0xffffffff 0xffffffff 0 4 4 4 4>,
|
||||
<0xffffffff 0xffffffff 1 4 4 4 4>,
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,42 +0,0 @@
|
||||
From f24f2dec25043cf7e6ef0f80a65dde45f2f131dd Mon Sep 17 00:00:00 2001
|
||||
From: franciscofranco <franciscofranco.1990@gmail.com>
|
||||
Date: Wed, 20 Jan 2016 01:45:39 +0000
|
||||
Subject: [PATCH] IKSWM-6057: dts: mmc: remove wakeup on idle flag
|
||||
|
||||
Remove the wakeup-on-idle flag can improve the mmc
|
||||
performance(verified with iozone). No current drain
|
||||
and other system performance impact.
|
||||
|
||||
Change-Id: Ia90cdfb66569b5ee3713d2c9785a2b7a9d24760e
|
||||
Signed-off-by: Lianwei Wang <a22439@motorola.com>
|
||||
Reviewed-on: http://gerrit.mot.com/785887
|
||||
SLTApproved: Slta Waiver <sltawvr@motorola.com>
|
||||
SME-Granted: SME Approvals Granted
|
||||
Tested-by: Jira Key <jirakey@motorola.com>
|
||||
Reviewed-by: Zhi-Ming Yuan <a14194@motorola.com>
|
||||
Submit-Approved: Jira Key <jirakey@motorola.com>
|
||||
Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
|
||||
---
|
||||
arch/arm/boot/dts/qcom/msm8992.dtsi | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/qcom/msm8992.dtsi b/arch/arm/boot/dts/qcom/msm8992.dtsi
|
||||
index 5dedecb..dc70365 100644
|
||||
--- a/arch/arm/boot/dts/qcom/msm8992.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom/msm8992.dtsi
|
||||
@@ -1706,7 +1706,6 @@
|
||||
qcom,cpu-dma-latency-us = <301 70>;
|
||||
qcom,cpu-affinity = "affine_cores";
|
||||
qcom,cpu-affinity-mask = <0x0f 0xf0>;
|
||||
- qcom,wakeup-on-idle;
|
||||
|
||||
qcom,msm-bus,name = "sdhc1";
|
||||
qcom,msm-bus,num-cases = <9>;
|
||||
@@ -1746,7 +1745,6 @@
|
||||
qcom,cpu-dma-latency-us = <301 70>;
|
||||
qcom,cpu-affinity = "affine_cores";
|
||||
qcom,cpu-affinity-mask = <0x0f 0xf0>;
|
||||
- qcom,wakeup-on-idle;
|
||||
|
||||
qcom,msm-bus,name = "sdhc2";
|
||||
qcom,msm-bus,num-cases = <8>;
|
@ -1,757 +0,0 @@
|
||||
From ec5d8918e9d3149ce489900f48d6e6ebd2fd5031 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Reioux <reioux@gmail.com>
|
||||
Date: Sun, 20 Oct 2013 22:30:36 -0500
|
||||
Subject: [PATCH 1/5] Voltage Control: initial voltage control for MSM
|
||||
Snapdragon 800 SOC
|
||||
|
||||
Signed-off-by: Paul Reioux <reioux@gmail.com>
|
||||
Signed-off-by: flar2 <asegaert@gmail.com>
|
||||
---
|
||||
arch/arm/mach-msm/Kconfig | 6 +++++
|
||||
arch/arm/mach-msm/acpuclock-krait.c | 48 +++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 54 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig
|
||||
index ba5a33c..44db2ca 100644
|
||||
--- a/arch/arm/mach-msm/Kconfig
|
||||
+++ b/arch/arm/mach-msm/Kconfig
|
||||
@@ -1918,6 +1918,12 @@ config MSM_CPU_FREQ_MIN
|
||||
|
||||
endif # CPU_FREQ_MSM
|
||||
|
||||
+config CPU_VOLTAGE_TABLE
|
||||
+ bool "Enable CPU Voltage Table via sysfs for adjustements"
|
||||
+ default n
|
||||
+ help
|
||||
+ Krait User Votlage Control
|
||||
+
|
||||
config MSM_AVS_HW
|
||||
bool "Enable Adaptive Voltage Scaling (AVS)"
|
||||
default n
|
||||
diff --git a/arch/arm/mach-msm/acpuclock-krait.c b/arch/arm/mach-msm/acpuclock-krait.c
|
||||
index 84e2fc1..c7eceb1 100644
|
||||
--- a/arch/arm/mach-msm/acpuclock-krait.c
|
||||
+++ b/arch/arm/mach-msm/acpuclock-krait.c
|
||||
@@ -937,6 +937,54 @@ static void __init bus_init(const struct l2_level *l2_level)
|
||||
dev_err(drv.dev, "initial bandwidth req failed (%d)\n", ret);
|
||||
}
|
||||
|
||||
+#ifdef CONFIG_CPU_VOLTAGE_TABLE
|
||||
+
|
||||
+#define HFPLL_MIN_VDD 800000
|
||||
+#define HFPLL_MAX_VDD 1350000
|
||||
+
|
||||
+ssize_t acpuclk_get_vdd_levels_str(char *buf) {
|
||||
+
|
||||
+ int i, len = 0;
|
||||
+
|
||||
+ if (buf) {
|
||||
+ mutex_lock(&driver_lock);
|
||||
+
|
||||
+ for (i = 0; drv.acpu_freq_tbl[i].speed.khz; i++) {
|
||||
+ /* updated to use uv required by 8x60 architecture - faux123 */
|
||||
+ len += sprintf(buf + len, "%8lu: %8d\n", drv.acpu_freq_tbl[i].speed.khz,
|
||||
+ drv.acpu_freq_tbl[i].vdd_core );
|
||||
+ }
|
||||
+
|
||||
+ mutex_unlock(&driver_lock);
|
||||
+ }
|
||||
+ return len;
|
||||
+}
|
||||
+
|
||||
+/* updated to use uv required by 8x60 architecture - faux123 */
|
||||
+void acpuclk_set_vdd(unsigned int khz, int vdd_uv) {
|
||||
+
|
||||
+ int i;
|
||||
+ unsigned int new_vdd_uv;
|
||||
+
|
||||
+ mutex_lock(&driver_lock);
|
||||
+
|
||||
+ for (i = 0; drv.acpu_freq_tbl[i].speed.khz; i++) {
|
||||
+ if (khz == 0)
|
||||
+ new_vdd_uv = min(max((unsigned int)(drv.acpu_freq_tbl[i].vdd_core + vdd_uv),
|
||||
+ (unsigned int)HFPLL_MIN_VDD), (unsigned int)HFPLL_MAX_VDD);
|
||||
+ else if ( drv.acpu_freq_tbl[i].speed.khz == khz)
|
||||
+ new_vdd_uv = min(max((unsigned int)vdd_uv,
|
||||
+ (unsigned int)HFPLL_MIN_VDD), (unsigned int)HFPLL_MAX_VDD);
|
||||
+ else
|
||||
+ continue;
|
||||
+
|
||||
+ drv.acpu_freq_tbl[i].vdd_core = new_vdd_uv;
|
||||
+ }
|
||||
+ pr_warn("faux123: user voltage table modified!\n");
|
||||
+ mutex_unlock(&driver_lock);
|
||||
+}
|
||||
+#endif /* CONFIG_CPU_VOTALGE_TABLE */
|
||||
+
|
||||
#ifdef CONFIG_CPU_FREQ_MSM
|
||||
static struct cpufreq_frequency_table freq_table[NR_CPUS][35];
|
||||
|
||||
--
|
||||
2.9.3
|
||||
|
||||
|
||||
From 1e4ac53ff15efeaf4cb3998b9ba009095d582413 Mon Sep 17 00:00:00 2001
|
||||
From: flar2 <asegaert@gmail.com>
|
||||
Date: Sat, 9 Nov 2013 00:17:33 -0500
|
||||
Subject: [PATCH 2/5] Increase voltage limits
|
||||
|
||||
Signed-off-by: flar2 <asegaert@gmail.com>
|
||||
---
|
||||
arch/arm/boot/dts/msm8974-regulator.dtsi | 8 ++++----
|
||||
arch/arm/mach-msm/acpuclock-8974.c | 8 ++++----
|
||||
arch/arm/mach-msm/acpuclock-krait.c | 4 ++--
|
||||
3 files changed, 10 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/msm8974-regulator.dtsi b/arch/arm/boot/dts/msm8974-regulator.dtsi
|
||||
index 9de41f4..6a38980 100644
|
||||
--- a/arch/arm/boot/dts/msm8974-regulator.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974-regulator.dtsi
|
||||
@@ -477,7 +477,7 @@
|
||||
<0xf908a800 0x1000>; /* APCS_ALIAS0_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1200000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
qcom,retention-voltage = <675000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
@@ -493,7 +493,7 @@
|
||||
<0xf909a800 0x1000>; /* APCS_ALIAS1_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1200000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
qcom,retention-voltage = <675000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
@@ -509,7 +509,7 @@
|
||||
<0xf90aa800 0x1000>; /* APCS_ALIAS2_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1200000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
qcom,retention-voltage = <675000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
@@ -525,7 +525,7 @@
|
||||
<0xf90ba800 0x1000>; /* APCS_ALIAS3_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1200000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
qcom,retention-voltage = <675000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
diff --git a/arch/arm/mach-msm/acpuclock-8974.c b/arch/arm/mach-msm/acpuclock-8974.c
|
||||
index 694d783..8b7d74e 100644
|
||||
--- a/arch/arm/mach-msm/acpuclock-8974.c
|
||||
+++ b/arch/arm/mach-msm/acpuclock-8974.c
|
||||
@@ -55,7 +55,7 @@ static struct scalable scalable[] __initdata = {
|
||||
.hfpll_phys_base = 0xF908A000,
|
||||
.l2cpmr_iaddr = 0x4501,
|
||||
.sec_clk_sel = 2,
|
||||
- .vreg[VREG_CORE] = { "krait0", 1100000 },
|
||||
+ .vreg[VREG_CORE] = { "krait0", 1200000 },
|
||||
.vreg[VREG_MEM] = { "krait0_mem", 1050000 },
|
||||
.vreg[VREG_DIG] = { "krait0_dig", LVL_HIGH },
|
||||
.vreg[VREG_HFPLL_A] = { "krait0_hfpll", 1800000 },
|
||||
@@ -64,7 +64,7 @@ static struct scalable scalable[] __initdata = {
|
||||
.hfpll_phys_base = 0xF909A000,
|
||||
.l2cpmr_iaddr = 0x5501,
|
||||
.sec_clk_sel = 2,
|
||||
- .vreg[VREG_CORE] = { "krait1", 1100000 },
|
||||
+ .vreg[VREG_CORE] = { "krait1", 1200000 },
|
||||
.vreg[VREG_MEM] = { "krait1_mem", 1050000 },
|
||||
.vreg[VREG_DIG] = { "krait1_dig", LVL_HIGH },
|
||||
.vreg[VREG_HFPLL_A] = { "krait1_hfpll", 1800000 },
|
||||
@@ -73,7 +73,7 @@ static struct scalable scalable[] __initdata = {
|
||||
.hfpll_phys_base = 0xF90AA000,
|
||||
.l2cpmr_iaddr = 0x6501,
|
||||
.sec_clk_sel = 2,
|
||||
- .vreg[VREG_CORE] = { "krait2", 1100000 },
|
||||
+ .vreg[VREG_CORE] = { "krait2", 1200000 },
|
||||
.vreg[VREG_MEM] = { "krait2_mem", 1050000 },
|
||||
.vreg[VREG_DIG] = { "krait2_dig", LVL_HIGH },
|
||||
.vreg[VREG_HFPLL_A] = { "krait2_hfpll", 1800000 },
|
||||
@@ -82,7 +82,7 @@ static struct scalable scalable[] __initdata = {
|
||||
.hfpll_phys_base = 0xF90BA000,
|
||||
.l2cpmr_iaddr = 0x7501,
|
||||
.sec_clk_sel = 2,
|
||||
- .vreg[VREG_CORE] = { "krait3", 1100000 },
|
||||
+ .vreg[VREG_CORE] = { "krait3", 1200000 },
|
||||
.vreg[VREG_MEM] = { "krait3_mem", 1050000 },
|
||||
.vreg[VREG_DIG] = { "krait3_dig", LVL_HIGH },
|
||||
.vreg[VREG_HFPLL_A] = { "krait3_hfpll", 1800000 },
|
||||
diff --git a/arch/arm/mach-msm/acpuclock-krait.c b/arch/arm/mach-msm/acpuclock-krait.c
|
||||
index c7eceb1..2211ad3 100644
|
||||
--- a/arch/arm/mach-msm/acpuclock-krait.c
|
||||
+++ b/arch/arm/mach-msm/acpuclock-krait.c
|
||||
@@ -939,8 +939,8 @@ static void __init bus_init(const struct l2_level *l2_level)
|
||||
|
||||
#ifdef CONFIG_CPU_VOLTAGE_TABLE
|
||||
|
||||
-#define HFPLL_MIN_VDD 800000
|
||||
-#define HFPLL_MAX_VDD 1350000
|
||||
+#define HFPLL_MIN_VDD 500000
|
||||
+#define HFPLL_MAX_VDD 1200000
|
||||
|
||||
ssize_t acpuclk_get_vdd_levels_str(char *buf) {
|
||||
|
||||
--
|
||||
2.9.3
|
||||
|
||||
|
||||
From 28d7063d0b5a45d328633e4a59d20ac148f1fadd Mon Sep 17 00:00:00 2001
|
||||
From: flar2 <asegaert@gmail.com>
|
||||
Date: Sat, 9 Nov 2013 01:27:36 -0500
|
||||
Subject: [PATCH 3/5] CPU overclocking
|
||||
|
||||
Signed-off-by: flar2 <asegaert@gmail.com>
|
||||
---
|
||||
arch/arm/mach-msm/acpuclock-8974.c | 42 ++++++++++
|
||||
arch/arm/mach-msm/acpuclock-krait.c | 148 +++++++++++++++++++++++++++++++++++-
|
||||
2 files changed, 189 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/mach-msm/acpuclock-8974.c b/arch/arm/mach-msm/acpuclock-8974.c
|
||||
index 8b7d74e..cb878d9 100644
|
||||
--- a/arch/arm/mach-msm/acpuclock-8974.c
|
||||
+++ b/arch/arm/mach-msm/acpuclock-8974.c
|
||||
@@ -710,6 +710,12 @@ static struct acpu_level acpu_freq_tbl_2p3g_pvs0[] __initdata = {
|
||||
{ 0, { 2112000, HFPLL, 1, 110 }, L2(19), 1070000, 627 },
|
||||
{ 0, { 2188800, HFPLL, 1, 114 }, L2(19), 1085000, 659 },
|
||||
{ 1, { 2265600, HFPLL, 1, 118 }, L2(19), 1100000, 691 },
|
||||
+ { 1, { 2342400, HFPLL, 1, 122 }, L2(19), 1115000, 714 },
|
||||
+ { 1, { 2419200, HFPLL, 1, 126 }, L2(19), 1130000, 738 },
|
||||
+ { 1, { 2496000, HFPLL, 1, 130 }, L2(19), 1145000, 761 },
|
||||
+ { 1, { 2572800, HFPLL, 1, 134 }, L2(19), 1160000, 784 },
|
||||
+ { 1, { 2649600, HFPLL, 1, 138 }, L2(19), 1175000, 808 },
|
||||
+ { 1, { 2726400, HFPLL, 1, 142 }, L2(19), 1195000, 831 },
|
||||
{ 0, { 0 } }
|
||||
};
|
||||
|
||||
@@ -741,6 +747,12 @@ static struct acpu_level acpu_freq_tbl_2p3g_pvs1[] __initdata = {
|
||||
{ 0, { 2112000, HFPLL, 1, 110 }, L2(19), 1045000, 627 },
|
||||
{ 0, { 2188800, HFPLL, 1, 114 }, L2(19), 1060000, 659 },
|
||||
{ 1, { 2265600, HFPLL, 1, 118 }, L2(19), 1075000, 691 },
|
||||
+ { 1, { 2342400, HFPLL, 1, 122 }, L2(19), 1090000, 714 },
|
||||
+ { 1, { 2419200, HFPLL, 1, 126 }, L2(19), 1105000, 738 },
|
||||
+ { 1, { 2496000, HFPLL, 1, 130 }, L2(19), 1120000, 761 },
|
||||
+ { 1, { 2572800, HFPLL, 1, 134 }, L2(19), 1135000, 784 },
|
||||
+ { 1, { 2649600, HFPLL, 1, 138 }, L2(19), 1150000, 808 },
|
||||
+ { 1, { 2726400, HFPLL, 1, 142 }, L2(19), 1165000, 831 },
|
||||
{ 0, { 0 } }
|
||||
};
|
||||
|
||||
@@ -772,6 +784,12 @@ static struct acpu_level acpu_freq_tbl_2p3g_pvs2[] __initdata = {
|
||||
{ 0, { 2112000, HFPLL, 1, 110 }, L2(19), 1020000, 627 },
|
||||
{ 0, { 2188800, HFPLL, 1, 114 }, L2(19), 1035000, 659 },
|
||||
{ 1, { 2265600, HFPLL, 1, 118 }, L2(19), 1050000, 691 },
|
||||
+ { 1, { 2342400, HFPLL, 1, 122 }, L2(19), 1065000, 714 },
|
||||
+ { 1, { 2419200, HFPLL, 1, 126 }, L2(19), 1080000, 738 },
|
||||
+ { 1, { 2496000, HFPLL, 1, 130 }, L2(19), 1095000, 761 },
|
||||
+ { 1, { 2572800, HFPLL, 1, 134 }, L2(19), 1110000, 784 },
|
||||
+ { 1, { 2649600, HFPLL, 1, 138 }, L2(19), 1125000, 808 },
|
||||
+ { 1, { 2726400, HFPLL, 1, 142 }, L2(19), 1140000, 831 },
|
||||
{ 0, { 0 } }
|
||||
};
|
||||
|
||||
@@ -803,6 +821,12 @@ static struct acpu_level acpu_freq_tbl_2p3g_pvs3[] __initdata = {
|
||||
{ 0, { 2112000, HFPLL, 1, 110 }, L2(19), 995000, 627 },
|
||||
{ 0, { 2188800, HFPLL, 1, 114 }, L2(19), 1010000, 659 },
|
||||
{ 1, { 2265600, HFPLL, 1, 118 }, L2(19), 1025000, 691 },
|
||||
+ { 1, { 2342400, HFPLL, 1, 122 }, L2(19), 1040000, 714 },
|
||||
+ { 1, { 2419200, HFPLL, 1, 126 }, L2(19), 1055000, 738 },
|
||||
+ { 1, { 2496000, HFPLL, 1, 130 }, L2(19), 1070000, 761 },
|
||||
+ { 1, { 2572800, HFPLL, 1, 134 }, L2(19), 1085000, 784 },
|
||||
+ { 1, { 2649600, HFPLL, 1, 138 }, L2(19), 1100000, 808 },
|
||||
+ { 1, { 2726400, HFPLL, 1, 142 }, L2(19), 1115000, 831 },
|
||||
{ 0, { 0 } }
|
||||
};
|
||||
|
||||
@@ -834,6 +858,12 @@ static struct acpu_level acpu_freq_tbl_2p3g_pvs4[] __initdata = {
|
||||
{ 0, { 2112000, HFPLL, 1, 110 }, L2(19), 975000, 627 },
|
||||
{ 0, { 2188800, HFPLL, 1, 114 }, L2(19), 985000, 659 },
|
||||
{ 1, { 2265600, HFPLL, 1, 118 }, L2(19), 1000000, 691 },
|
||||
+ { 1, { 2342400, HFPLL, 1, 122 }, L2(19), 1015000, 714 },
|
||||
+ { 1, { 2419200, HFPLL, 1, 126 }, L2(19), 1030000, 738 },
|
||||
+ { 1, { 2496000, HFPLL, 1, 130 }, L2(19), 1045000, 761 },
|
||||
+ { 1, { 2572800, HFPLL, 1, 134 }, L2(19), 1060000, 784 },
|
||||
+ { 1, { 2649600, HFPLL, 1, 138 }, L2(19), 1075000, 808 },
|
||||
+ { 1, { 2726400, HFPLL, 1, 142 }, L2(19), 1090000, 831 },
|
||||
{ 0, { 0 } }
|
||||
};
|
||||
|
||||
@@ -865,6 +895,12 @@ static struct acpu_level acpu_freq_tbl_2p3g_pvs5[] __initdata = {
|
||||
{ 0, { 2112000, HFPLL, 1, 110 }, L2(19), 955000, 627 },
|
||||
{ 0, { 2188800, HFPLL, 1, 114 }, L2(19), 965000, 659 },
|
||||
{ 1, { 2265600, HFPLL, 1, 118 }, L2(19), 975000, 691 },
|
||||
+ { 1, { 2342400, HFPLL, 1, 122 }, L2(19), 990000, 714 },
|
||||
+ { 1, { 2419200, HFPLL, 1, 126 }, L2(19), 1005000, 738 },
|
||||
+ { 1, { 2496000, HFPLL, 1, 130 }, L2(19), 1020000, 761 },
|
||||
+ { 1, { 2572800, HFPLL, 1, 134 }, L2(19), 1035000, 784 },
|
||||
+ { 1, { 2649600, HFPLL, 1, 138 }, L2(19), 1050000, 808 },
|
||||
+ { 1, { 2726400, HFPLL, 1, 142 }, L2(19), 1065000, 831 },
|
||||
{ 0, { 0 } }
|
||||
};
|
||||
|
||||
@@ -896,6 +932,12 @@ static struct acpu_level acpu_freq_tbl_2p3g_pvs6[] __initdata = {
|
||||
{ 0, { 2112000, HFPLL, 1, 110 }, L2(19), 930000, 627 },
|
||||
{ 0, { 2188800, HFPLL, 1, 114 }, L2(19), 940000, 659 },
|
||||
{ 1, { 2265600, HFPLL, 1, 118 }, L2(19), 950000, 691 },
|
||||
+ { 1, { 2342400, HFPLL, 1, 122 }, L2(19), 960000, 714 },
|
||||
+ { 1, { 2419200, HFPLL, 1, 126 }, L2(19), 975000, 738 },
|
||||
+ { 1, { 2496000, HFPLL, 1, 130 }, L2(19), 990000, 761 },
|
||||
+ { 1, { 2572800, HFPLL, 1, 134 }, L2(19), 1005000, 784 },
|
||||
+ { 1, { 2649600, HFPLL, 1, 138 }, L2(19), 1020000, 808 },
|
||||
+ { 1, { 2726400, HFPLL, 1, 142 }, L2(19), 1035000, 831 },
|
||||
{ 0, { 0 } }
|
||||
};
|
||||
|
||||
diff --git a/arch/arm/mach-msm/acpuclock-krait.c b/arch/arm/mach-msm/acpuclock-krait.c
|
||||
index 2211ad3..bcd3e44 100644
|
||||
--- a/arch/arm/mach-msm/acpuclock-krait.c
|
||||
+++ b/arch/arm/mach-msm/acpuclock-krait.c
|
||||
@@ -45,6 +45,113 @@
|
||||
#define PRI_SRC_SEL_HFPLL 1
|
||||
#define PRI_SRC_SEL_HFPLL_DIV2 2
|
||||
|
||||
+
|
||||
+/** elementalx defs **/
|
||||
+static int uv_bin = 2;
|
||||
+static uint32_t arg_max_oc0 = 2265600;
|
||||
+static uint32_t arg_max_oc1 = 2265600;
|
||||
+static uint32_t arg_max_oc2 = 2265600;
|
||||
+static uint32_t arg_max_oc3 = 2265600;
|
||||
+
|
||||
+int pvs_number = 0;
|
||||
+module_param(pvs_number, int, 0755);
|
||||
+
|
||||
+/* boot arg max_oc */
|
||||
+static int __init cpufreq_read_arg_max_oc0(char *max_oc0)
|
||||
+{
|
||||
+ unsigned long ui_khz;
|
||||
+ int err;
|
||||
+ err = strict_strtoul(max_oc0, 0, &ui_khz);
|
||||
+ if (err) {
|
||||
+ arg_max_oc0 = 2265600;
|
||||
+ printk(KERN_INFO "[elementalx]: max_oc0='%i'\n", arg_max_oc0);
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ arg_max_oc0 = ui_khz;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+__setup("max_oc0=", cpufreq_read_arg_max_oc0);
|
||||
+
|
||||
+static int __init cpufreq_read_arg_max_oc1(char *max_oc1)
|
||||
+{
|
||||
+ unsigned long ui_khz;
|
||||
+ int err;
|
||||
+ err = strict_strtoul(max_oc1, 0, &ui_khz);
|
||||
+ if (err) {
|
||||
+ arg_max_oc1 = 2265600;
|
||||
+ printk(KERN_INFO "[elementalx]: max_oc1='%i'\n", arg_max_oc1);
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ arg_max_oc1 = ui_khz;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+__setup("max_oc1=", cpufreq_read_arg_max_oc1);
|
||||
+
|
||||
+static int __init cpufreq_read_arg_max_oc2(char *max_oc2)
|
||||
+{
|
||||
+ unsigned long ui_khz;
|
||||
+ int err;
|
||||
+ err = strict_strtoul(max_oc2, 0, &ui_khz);
|
||||
+ if (err) {
|
||||
+ arg_max_oc2 = 2265600;
|
||||
+ printk(KERN_INFO "[elementalx]: max_oc2='%i'\n", arg_max_oc2);
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ arg_max_oc2 = ui_khz;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+__setup("max_oc2=", cpufreq_read_arg_max_oc2);
|
||||
+
|
||||
+static int __init cpufreq_read_arg_max_oc3(char *max_oc3)
|
||||
+{
|
||||
+ unsigned long ui_khz;
|
||||
+ int err;
|
||||
+ err = strict_strtoul(max_oc3, 0, &ui_khz);
|
||||
+ if (err) {
|
||||
+ arg_max_oc3 = 2265600;
|
||||
+ printk(KERN_INFO "[elementalx]: max_oc3='%i'\n", arg_max_oc3);
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ arg_max_oc3 = ui_khz;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+__setup("max_oc3=", cpufreq_read_arg_max_oc3);
|
||||
+
|
||||
+static int __init get_uv_level(char *vdd_uv)
|
||||
+{
|
||||
+ if (strcmp(vdd_uv, "0") == 0) {
|
||||
+ uv_bin = 0;
|
||||
+ } else if (strcmp(vdd_uv, "1") == 0) {
|
||||
+ uv_bin = 1;
|
||||
+ } else if (strcmp(vdd_uv, "2") == 0) {
|
||||
+ uv_bin = 2;
|
||||
+ } else if (strcmp(vdd_uv, "3") == 0) {
|
||||
+ uv_bin = 3;
|
||||
+ } else if (strcmp(vdd_uv, "4") == 0) {
|
||||
+ uv_bin = 4;
|
||||
+ } else if (strcmp(vdd_uv, "5") == 0) {
|
||||
+ uv_bin = 5;
|
||||
+ } else if (strcmp(vdd_uv, "6") == 0) {
|
||||
+ uv_bin = 6;
|
||||
+ } else {
|
||||
+ uv_bin = 0;
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+__setup("vdd_uv=", get_uv_level);
|
||||
+
|
||||
+/** end elementalx defs **/
|
||||
+
|
||||
+
|
||||
static DEFINE_MUTEX(driver_lock);
|
||||
static DEFINE_SPINLOCK(l2_lock);
|
||||
|
||||
@@ -992,13 +1099,14 @@ static void __init cpufreq_table_init(void)
|
||||
{
|
||||
int cpu;
|
||||
int freq_cnt = 0;
|
||||
+ uint32_t limit_max_oc[4] = {arg_max_oc0, arg_max_oc1, arg_max_oc2, arg_max_oc3};
|
||||
|
||||
for_each_possible_cpu(cpu) {
|
||||
int i;
|
||||
/* Construct the freq_table tables from acpu_freq_tbl. */
|
||||
for (i = 0, freq_cnt = 0; drv.acpu_freq_tbl[i].speed.khz != 0
|
||||
&& freq_cnt < ARRAY_SIZE(*freq_table); i++) {
|
||||
- if (drv.acpu_freq_tbl[i].use_for_scaling) {
|
||||
+ if (drv.acpu_freq_tbl[i].speed.khz <= limit_max_oc[cpu]) {
|
||||
freq_table[cpu][freq_cnt].index = freq_cnt;
|
||||
freq_table[cpu][freq_cnt].frequency
|
||||
= drv.acpu_freq_tbl[i].speed.khz;
|
||||
@@ -1109,6 +1217,39 @@ static void __init krait_apply_vmin(struct acpu_level *tbl)
|
||||
}
|
||||
}
|
||||
|
||||
+static void apply_undervolting(void)
|
||||
+{
|
||||
+ if (uv_bin == 6) {
|
||||
+ drv.acpu_freq_tbl[0].vdd_core = 625000;
|
||||
+ printk(KERN_INFO "[elementalx]: min_voltage='%i'\n", drv.acpu_freq_tbl[0].vdd_core );
|
||||
+ }
|
||||
+
|
||||
+ if (uv_bin == 5) {
|
||||
+ drv.acpu_freq_tbl[0].vdd_core = 650000;
|
||||
+ printk(KERN_INFO "[elementalx]: min_voltage='%i'\n", drv.acpu_freq_tbl[0].vdd_core );
|
||||
+ }
|
||||
+
|
||||
+ if (uv_bin == 4) {
|
||||
+ drv.acpu_freq_tbl[0].vdd_core = 675000;
|
||||
+ printk(KERN_INFO "[elementalx]: min_voltage='%i'\n", drv.acpu_freq_tbl[0].vdd_core );
|
||||
+ }
|
||||
+
|
||||
+ if (uv_bin == 3) {
|
||||
+ drv.acpu_freq_tbl[0].vdd_core = 700000;
|
||||
+ printk(KERN_INFO "[elementalx]: min_voltage='%i'\n", drv.acpu_freq_tbl[0].vdd_core );
|
||||
+ }
|
||||
+
|
||||
+ if (uv_bin == 2) {
|
||||
+ drv.acpu_freq_tbl[0].vdd_core = 725000;
|
||||
+ printk(KERN_INFO "[elementalx]: min_voltage='%i'\n", drv.acpu_freq_tbl[0].vdd_core );
|
||||
+ }
|
||||
+
|
||||
+ if (uv_bin == 1) {
|
||||
+ drv.acpu_freq_tbl[0].vdd_core = 750000;
|
||||
+ printk(KERN_INFO "[elementalx]: min_voltage='%i'\n", drv.acpu_freq_tbl[0].vdd_core );
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
void __init get_krait_bin_format_a(void __iomem *base, struct bin_info *bin)
|
||||
{
|
||||
u32 pte_efuse = readl_relaxed(base);
|
||||
@@ -1143,6 +1284,8 @@ void __init get_krait_bin_format_b(void __iomem *base, struct bin_info *bin)
|
||||
}
|
||||
bin->speed_valid = true;
|
||||
|
||||
+ pvs_number = bin->pvs;
|
||||
+
|
||||
/* Check PVS_BLOW_STATUS */
|
||||
pte_efuse = readl_relaxed(base + 0x4);
|
||||
bin->pvs_valid = !!(pte_efuse & BIT(21));
|
||||
@@ -1229,6 +1372,9 @@ static void __init hw_init(void)
|
||||
if (krait_needs_vmin())
|
||||
krait_apply_vmin(drv.acpu_freq_tbl);
|
||||
|
||||
+ if (uv_bin)
|
||||
+ apply_undervolting();
|
||||
+
|
||||
l2->hfpll_base = ioremap(l2->hfpll_phys_base, SZ_32);
|
||||
BUG_ON(!l2->hfpll_base);
|
||||
|
||||
--
|
||||
2.9.3
|
||||
|
||||
|
||||
From cbc2f6c8893c773d4dbdf9d5f538f6b44a02baa4 Mon Sep 17 00:00:00 2001
|
||||
From: flar2 <asegaert@gmail.com>
|
||||
Date: Sat, 9 Nov 2013 08:43:31 -0500
|
||||
Subject: [PATCH 4/5] L2 cache and bus bandwidth overclocking
|
||||
|
||||
Signed-off-by: flar2 <asegaert@gmail.com>
|
||||
---
|
||||
arch/arm/mach-msm/acpuclock-8974.c | 46 +++++++++++++++++++++++++++++++++++++
|
||||
arch/arm/mach-msm/acpuclock-krait.c | 2 +-
|
||||
2 files changed, 47 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/mach-msm/acpuclock-8974.c b/arch/arm/mach-msm/acpuclock-8974.c
|
||||
index cb878d9..933bd0e 100644
|
||||
--- a/arch/arm/mach-msm/acpuclock-8974.c
|
||||
+++ b/arch/arm/mach-msm/acpuclock-8974.c
|
||||
@@ -28,6 +28,8 @@
|
||||
#define LVL_NOM RPM_REGULATOR_CORNER_NORMAL
|
||||
#define LVL_HIGH RPM_REGULATOR_CORNER_SUPER_TURBO
|
||||
|
||||
+static int opt_bin = 0;
|
||||
+
|
||||
static struct hfpll_data hfpll_data __initdata = {
|
||||
.mode_offset = 0x00,
|
||||
.l_offset = 0x04,
|
||||
@@ -257,6 +259,7 @@ static struct msm_bus_paths bw_level_tbl_v2[] __initdata = {
|
||||
[6] = BW_MBPS(4912), /* At least 614 MHz on bus. */
|
||||
[7] = BW_MBPS(6400), /* At least 800 MHz on bus. */
|
||||
[8] = BW_MBPS(7448), /* At least 931 MHz on bus. */
|
||||
+ [9] = BW_MBPS(8000), /* At least 1000 MHz on bus. */
|
||||
};
|
||||
|
||||
static struct l2_level l2_freq_tbl_v2[] __initdata = {
|
||||
@@ -283,6 +286,30 @@ static struct l2_level l2_freq_tbl_v2[] __initdata = {
|
||||
{ }
|
||||
};
|
||||
|
||||
+static struct l2_level l2_freq_tbl_v2_elementalx[] __initdata = {
|
||||
+ [0] = { { 300000, PLL_0, 0, 0 }, LVL_LOW, 950000, 0 },
|
||||
+ [1] = { { 345600, HFPLL, 2, 36 }, LVL_LOW, 950000, 1 },
|
||||
+ [2] = { { 422400, HFPLL, 2, 44 }, LVL_LOW, 950000, 2 },
|
||||
+ [3] = { { 499200, HFPLL, 2, 52 }, LVL_LOW, 950000, 3 },
|
||||
+ [4] = { { 576000, HFPLL, 1, 30 }, LVL_LOW, 950000, 4 },
|
||||
+ [5] = { { 652800, HFPLL, 1, 34 }, LVL_NOM, 950000, 4 },
|
||||
+ [6] = { { 729600, HFPLL, 1, 38 }, LVL_NOM, 950000, 4 },
|
||||
+ [7] = { { 806400, HFPLL, 1, 42 }, LVL_NOM, 950000, 4 },
|
||||
+ [8] = { { 883200, HFPLL, 1, 46 }, LVL_NOM, 950000, 5 },
|
||||
+ [9] = { { 960000, HFPLL, 1, 50 }, LVL_NOM, 950000, 5 },
|
||||
+ [10] = { { 1036800, HFPLL, 1, 54 }, LVL_NOM, 950000, 5 },
|
||||
+ [11] = { { 1113600, HFPLL, 1, 58 }, LVL_HIGH, 1050000, 6 },
|
||||
+ [12] = { { 1190400, HFPLL, 1, 62 }, LVL_HIGH, 1050000, 6 },
|
||||
+ [13] = { { 1267200, HFPLL, 1, 66 }, LVL_HIGH, 1050000, 6 },
|
||||
+ [14] = { { 1344000, HFPLL, 1, 70 }, LVL_HIGH, 1050000, 6 },
|
||||
+ [15] = { { 1420800, HFPLL, 1, 74 }, LVL_HIGH, 1050000, 6 },
|
||||
+ [16] = { { 1497600, HFPLL, 1, 78 }, LVL_HIGH, 1050000, 6 },
|
||||
+ [17] = { { 1574400, HFPLL, 1, 82 }, LVL_HIGH, 1050000, 7 },
|
||||
+ [18] = { { 1651200, HFPLL, 1, 86 }, LVL_HIGH, 1050000, 7 },
|
||||
+ [19] = { { 1804800, HFPLL, 1, 94 }, LVL_HIGH, 1050000, 9 },
|
||||
+ { }
|
||||
+};
|
||||
+
|
||||
static struct acpu_level acpu_freq_tbl_2g_pvs0[] __initdata = {
|
||||
{ 1, { 300000, PLL_0, 0, 0 }, L2(0), 815000, 73 },
|
||||
{ 0, { 345600, HFPLL, 2, 36 }, L2(1), 825000, 85 },
|
||||
@@ -1003,6 +1030,20 @@ static struct acpuclk_krait_params acpuclk_8974_params __initdata = {
|
||||
.stby_khz = 300000,
|
||||
};
|
||||
|
||||
+static int __init get_opt_level(char *l2_opt)
|
||||
+{
|
||||
+ if (strcmp(l2_opt, "0") == 0) {
|
||||
+ opt_bin = 0;
|
||||
+ } else if (strcmp(l2_opt, "1") == 0) {
|
||||
+ opt_bin = 1;
|
||||
+ } else {
|
||||
+ opt_bin = 0;
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+__setup("l2_opt=", get_opt_level);
|
||||
+
|
||||
static void __init apply_v1_l2_workaround(void)
|
||||
{
|
||||
static struct l2_level resticted_l2_tbl[] __initdata = {
|
||||
@@ -1042,6 +1083,11 @@ static int __init acpuclk_8974_probe(struct platform_device *pdev)
|
||||
apply_v1_l2_workaround();
|
||||
}
|
||||
|
||||
+ if (opt_bin == 1) {
|
||||
+ acpuclk_8974_params.l2_freq_tbl = l2_freq_tbl_v2_elementalx;
|
||||
+ acpuclk_8974_params.l2_freq_tbl_size = sizeof(l2_freq_tbl_v2_elementalx);
|
||||
+ }
|
||||
+
|
||||
return acpuclk_krait_init(&pdev->dev, &acpuclk_8974_params);
|
||||
}
|
||||
|
||||
diff --git a/arch/arm/mach-msm/acpuclock-krait.c b/arch/arm/mach-msm/acpuclock-krait.c
|
||||
index bcd3e44..a1c8fbb 100644
|
||||
--- a/arch/arm/mach-msm/acpuclock-krait.c
|
||||
+++ b/arch/arm/mach-msm/acpuclock-krait.c
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
|
||||
/** elementalx defs **/
|
||||
-static int uv_bin = 2;
|
||||
+static int uv_bin = 0;
|
||||
static uint32_t arg_max_oc0 = 2265600;
|
||||
static uint32_t arg_max_oc1 = 2265600;
|
||||
static uint32_t arg_max_oc2 = 2265600;
|
||||
--
|
||||
2.9.3
|
||||
|
||||
|
||||
From bfd08d2e2a997ac4f5b6e8353be663472643b746 Mon Sep 17 00:00:00 2001
|
||||
From: flar2 <asegaert@gmail.com>
|
||||
Date: Mon, 11 Nov 2013 00:42:12 -0500
|
||||
Subject: [PATCH 5/5] More overclocking options
|
||||
|
||||
Signed-off-by: flar2 <asegaert@gmail.com>
|
||||
---
|
||||
arch/arm/mach-msm/acpuclock-8974.c | 50 ++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 50 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/mach-msm/acpuclock-8974.c b/arch/arm/mach-msm/acpuclock-8974.c
|
||||
index 933bd0e..b436816 100644
|
||||
--- a/arch/arm/mach-msm/acpuclock-8974.c
|
||||
+++ b/arch/arm/mach-msm/acpuclock-8974.c
|
||||
@@ -310,6 +310,29 @@ static struct l2_level l2_freq_tbl_v2_elementalx[] __initdata = {
|
||||
{ }
|
||||
};
|
||||
|
||||
+static struct l2_level l2_freq_tbl_v2_ultra[] __initdata = {
|
||||
+ [0] = { { 300000, PLL_0, 0, 0 }, LVL_LOW, 950000, 0 },
|
||||
+ [1] = { { 345600, HFPLL, 2, 36 }, LVL_LOW, 950000, 1 },
|
||||
+ [2] = { { 422400, HFPLL, 2, 44 }, LVL_LOW, 950000, 2 },
|
||||
+ [3] = { { 499200, HFPLL, 2, 52 }, LVL_LOW, 950000, 3 },
|
||||
+ [4] = { { 576000, HFPLL, 1, 30 }, LVL_LOW, 950000, 4 },
|
||||
+ [5] = { { 652800, HFPLL, 1, 34 }, LVL_NOM, 950000, 4 },
|
||||
+ [6] = { { 729600, HFPLL, 1, 38 }, LVL_NOM, 950000, 4 },
|
||||
+ [7] = { { 806400, HFPLL, 1, 42 }, LVL_NOM, 950000, 4 },
|
||||
+ [8] = { { 883200, HFPLL, 1, 46 }, LVL_NOM, 950000, 5 },
|
||||
+ [9] = { { 960000, HFPLL, 1, 50 }, LVL_NOM, 950000, 5 },
|
||||
+ [10] = { { 1036800, HFPLL, 1, 54 }, LVL_NOM, 950000, 5 },
|
||||
+ [11] = { { 1113600, HFPLL, 1, 58 }, LVL_HIGH, 1050000, 6 },
|
||||
+ [12] = { { 1190400, HFPLL, 1, 62 }, LVL_HIGH, 1050000, 6 },
|
||||
+ [13] = { { 1267200, HFPLL, 1, 66 }, LVL_HIGH, 1050000, 6 },
|
||||
+ [14] = { { 1344000, HFPLL, 1, 70 }, LVL_HIGH, 1050000, 6 },
|
||||
+ [15] = { { 1420800, HFPLL, 1, 74 }, LVL_HIGH, 1050000, 6 },
|
||||
+ [16] = { { 1497600, HFPLL, 1, 78 }, LVL_HIGH, 1050000, 6 },
|
||||
+ [17] = { { 1574400, HFPLL, 1, 82 }, LVL_HIGH, 1050000, 7 },
|
||||
+ [18] = { { 1651200, HFPLL, 1, 86 }, LVL_HIGH, 1050000, 7 },
|
||||
+ [19] = { { 1920000, HFPLL, 1, 100 }, LVL_HIGH, 1050000, 9 },
|
||||
+ { }
|
||||
+};
|
||||
static struct acpu_level acpu_freq_tbl_2g_pvs0[] __initdata = {
|
||||
{ 1, { 300000, PLL_0, 0, 0 }, L2(0), 815000, 73 },
|
||||
{ 0, { 345600, HFPLL, 2, 36 }, L2(1), 825000, 85 },
|
||||
@@ -743,6 +766,9 @@ static struct acpu_level acpu_freq_tbl_2p3g_pvs0[] __initdata = {
|
||||
{ 1, { 2572800, HFPLL, 1, 134 }, L2(19), 1160000, 784 },
|
||||
{ 1, { 2649600, HFPLL, 1, 138 }, L2(19), 1175000, 808 },
|
||||
{ 1, { 2726400, HFPLL, 1, 142 }, L2(19), 1195000, 831 },
|
||||
+ { 1, { 2803200, HFPLL, 1, 146 }, L2(19), 1195000, 854 },
|
||||
+ { 1, { 2880000, HFPLL, 1, 150 }, L2(19), 1195000, 876 },
|
||||
+ { 1, { 2956800, HFPLL, 1, 154 }, L2(19), 1195000, 897 },
|
||||
{ 0, { 0 } }
|
||||
};
|
||||
|
||||
@@ -780,6 +806,9 @@ static struct acpu_level acpu_freq_tbl_2p3g_pvs1[] __initdata = {
|
||||
{ 1, { 2572800, HFPLL, 1, 134 }, L2(19), 1135000, 784 },
|
||||
{ 1, { 2649600, HFPLL, 1, 138 }, L2(19), 1150000, 808 },
|
||||
{ 1, { 2726400, HFPLL, 1, 142 }, L2(19), 1165000, 831 },
|
||||
+ { 1, { 2803200, HFPLL, 1, 146 }, L2(19), 1180000, 854 },
|
||||
+ { 1, { 2880000, HFPLL, 1, 150 }, L2(19), 1195000, 876 },
|
||||
+ { 1, { 2956800, HFPLL, 1, 154 }, L2(19), 1195000, 897 },
|
||||
{ 0, { 0 } }
|
||||
};
|
||||
|
||||
@@ -817,6 +846,9 @@ static struct acpu_level acpu_freq_tbl_2p3g_pvs2[] __initdata = {
|
||||
{ 1, { 2572800, HFPLL, 1, 134 }, L2(19), 1110000, 784 },
|
||||
{ 1, { 2649600, HFPLL, 1, 138 }, L2(19), 1125000, 808 },
|
||||
{ 1, { 2726400, HFPLL, 1, 142 }, L2(19), 1140000, 831 },
|
||||
+ { 1, { 2803200, HFPLL, 1, 146 }, L2(19), 1165000, 854 },
|
||||
+ { 1, { 2880000, HFPLL, 1, 150 }, L2(19), 1180000, 876 },
|
||||
+ { 1, { 2956800, HFPLL, 1, 154 }, L2(19), 1195000, 897 },
|
||||
{ 0, { 0 } }
|
||||
};
|
||||
|
||||
@@ -854,6 +886,9 @@ static struct acpu_level acpu_freq_tbl_2p3g_pvs3[] __initdata = {
|
||||
{ 1, { 2572800, HFPLL, 1, 134 }, L2(19), 1085000, 784 },
|
||||
{ 1, { 2649600, HFPLL, 1, 138 }, L2(19), 1100000, 808 },
|
||||
{ 1, { 2726400, HFPLL, 1, 142 }, L2(19), 1115000, 831 },
|
||||
+ { 1, { 2803200, HFPLL, 1, 146 }, L2(19), 1130000, 854 },
|
||||
+ { 1, { 2880000, HFPLL, 1, 150 }, L2(19), 1145000, 876 },
|
||||
+ { 1, { 2956800, HFPLL, 1, 154 }, L2(19), 1160000, 897 },
|
||||
{ 0, { 0 } }
|
||||
};
|
||||
|
||||
@@ -891,6 +926,9 @@ static struct acpu_level acpu_freq_tbl_2p3g_pvs4[] __initdata = {
|
||||
{ 1, { 2572800, HFPLL, 1, 134 }, L2(19), 1060000, 784 },
|
||||
{ 1, { 2649600, HFPLL, 1, 138 }, L2(19), 1075000, 808 },
|
||||
{ 1, { 2726400, HFPLL, 1, 142 }, L2(19), 1090000, 831 },
|
||||
+ { 1, { 2803200, HFPLL, 1, 146 }, L2(19), 1105000, 854 },
|
||||
+ { 1, { 2880000, HFPLL, 1, 150 }, L2(19), 1120000, 876 },
|
||||
+ { 1, { 2956800, HFPLL, 1, 154 }, L2(19), 1135000, 897 },
|
||||
{ 0, { 0 } }
|
||||
};
|
||||
|
||||
@@ -928,6 +966,9 @@ static struct acpu_level acpu_freq_tbl_2p3g_pvs5[] __initdata = {
|
||||
{ 1, { 2572800, HFPLL, 1, 134 }, L2(19), 1035000, 784 },
|
||||
{ 1, { 2649600, HFPLL, 1, 138 }, L2(19), 1050000, 808 },
|
||||
{ 1, { 2726400, HFPLL, 1, 142 }, L2(19), 1065000, 831 },
|
||||
+ { 1, { 2803200, HFPLL, 1, 146 }, L2(19), 1080000, 854 },
|
||||
+ { 1, { 2880000, HFPLL, 1, 150 }, L2(19), 1095000, 876 },
|
||||
+ { 1, { 2956800, HFPLL, 1, 154 }, L2(19), 1110000, 897 },
|
||||
{ 0, { 0 } }
|
||||
};
|
||||
|
||||
@@ -965,6 +1006,9 @@ static struct acpu_level acpu_freq_tbl_2p3g_pvs6[] __initdata = {
|
||||
{ 1, { 2572800, HFPLL, 1, 134 }, L2(19), 1005000, 784 },
|
||||
{ 1, { 2649600, HFPLL, 1, 138 }, L2(19), 1020000, 808 },
|
||||
{ 1, { 2726400, HFPLL, 1, 142 }, L2(19), 1035000, 831 },
|
||||
+ { 1, { 2803200, HFPLL, 1, 146 }, L2(19), 1050000, 854 },
|
||||
+ { 1, { 2880000, HFPLL, 1, 150 }, L2(19), 1065000, 876 },
|
||||
+ { 1, { 2956800, HFPLL, 1, 154 }, L2(19), 1080000, 897 },
|
||||
{ 0, { 0 } }
|
||||
};
|
||||
|
||||
@@ -1036,6 +1080,8 @@ static int __init get_opt_level(char *l2_opt)
|
||||
opt_bin = 0;
|
||||
} else if (strcmp(l2_opt, "1") == 0) {
|
||||
opt_bin = 1;
|
||||
+ } else if (strcmp(l2_opt, "2") == 0) {
|
||||
+ opt_bin = 2;
|
||||
} else {
|
||||
opt_bin = 0;
|
||||
}
|
||||
@@ -1087,6 +1133,10 @@ static int __init acpuclk_8974_probe(struct platform_device *pdev)
|
||||
acpuclk_8974_params.l2_freq_tbl = l2_freq_tbl_v2_elementalx;
|
||||
acpuclk_8974_params.l2_freq_tbl_size = sizeof(l2_freq_tbl_v2_elementalx);
|
||||
}
|
||||
+ if (opt_bin == 2) {
|
||||
+ acpuclk_8974_params.l2_freq_tbl = l2_freq_tbl_v2_ultra;
|
||||
+ acpuclk_8974_params.l2_freq_tbl_size = sizeof(l2_freq_tbl_v2_ultra);
|
||||
+ }
|
||||
|
||||
return acpuclk_krait_init(&pdev->dev, &acpuclk_8974_params);
|
||||
}
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,609 +0,0 @@
|
||||
From 92d396b53cbdf91a7b61a857ca335f39cdb0f8bb Mon Sep 17 00:00:00 2001
|
||||
From: anarkia1976 <stefano.villa1976@gmail.com>
|
||||
Date: Sun, 12 Jan 2014 20:26:27 +0100
|
||||
Subject: [PATCH 1/4] msm: cpu: overclock: added low (162Mhz) and high
|
||||
(1944Mhz) cpu
|
||||
|
||||
---
|
||||
arch/arm/mach-msm/Kconfig | 12 +++++
|
||||
arch/arm/mach-msm/acpuclock-8064.c | 91 +++++++++++++++++++++++++++++++++++++
|
||||
arch/arm/mach-msm/acpuclock-krait.c | 8 +++-
|
||||
arch/arm/mach-msm/msm_dcvs.c | 5 ++
|
||||
4 files changed, 115 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig
|
||||
index 5f37d1d..b5ab505 100644
|
||||
--- a/arch/arm/mach-msm/Kconfig
|
||||
+++ b/arch/arm/mach-msm/Kconfig
|
||||
@@ -1634,6 +1634,18 @@ config MSM_CPU_FREQ_MIN
|
||||
|
||||
endif # CPU_FREQ_MSM
|
||||
|
||||
+config LOW_CPUCLOCKS
|
||||
+ bool "Enable ultra low CPU clocks"
|
||||
+ default n
|
||||
+ help
|
||||
+ Ultra low cpu frequencies enabled for CPU and L2 Cache
|
||||
+
|
||||
+config CPU_OVERCLOCK
|
||||
+ bool "Enable CPU Overclocking option"
|
||||
+ default n
|
||||
+ help
|
||||
+ Krait overclocking up to 1.9 GHz
|
||||
+
|
||||
config MSM_AVS_HW
|
||||
bool "Enable Adaptive Voltage Scaling (AVS)"
|
||||
default n
|
||||
diff --git a/arch/arm/mach-msm/acpuclock-8064.c b/arch/arm/mach-msm/acpuclock-8064.c
|
||||
index 8262946..f40edd3 100644
|
||||
--- a/arch/arm/mach-msm/acpuclock-8064.c
|
||||
+++ b/arch/arm/mach-msm/acpuclock-8064.c
|
||||
@@ -47,7 +47,11 @@ static struct scalable scalable[] __initdata = {
|
||||
.aux_clk_sel = 3,
|
||||
.sec_clk_sel = 2,
|
||||
.l2cpmr_iaddr = 0x4501,
|
||||
+#ifdef CONFIG_CPU_OVERCLOCK
|
||||
+ .vreg[VREG_CORE] = { "krait0", 1450000 },
|
||||
+#else
|
||||
.vreg[VREG_CORE] = { "krait0", 1300000 },
|
||||
+#endif
|
||||
.vreg[VREG_MEM] = { "krait0_mem", 1150000 },
|
||||
.vreg[VREG_DIG] = { "krait0_dig", 1150000 },
|
||||
.vreg[VREG_HFPLL_A] = { "krait0_hfpll", 1800000 },
|
||||
@@ -58,7 +62,11 @@ static struct scalable scalable[] __initdata = {
|
||||
.aux_clk_sel = 3,
|
||||
.sec_clk_sel = 2,
|
||||
.l2cpmr_iaddr = 0x5501,
|
||||
+#ifdef CONFIG_CPU_OVERCLOCK
|
||||
+ .vreg[VREG_CORE] = { "krait1", 1450000 },
|
||||
+#else
|
||||
.vreg[VREG_CORE] = { "krait1", 1300000 },
|
||||
+#endif
|
||||
.vreg[VREG_MEM] = { "krait1_mem", 1150000 },
|
||||
.vreg[VREG_DIG] = { "krait1_dig", 1150000 },
|
||||
.vreg[VREG_HFPLL_A] = { "krait1_hfpll", 1800000 },
|
||||
@@ -69,7 +77,11 @@ static struct scalable scalable[] __initdata = {
|
||||
.aux_clk_sel = 3,
|
||||
.sec_clk_sel = 2,
|
||||
.l2cpmr_iaddr = 0x6501,
|
||||
+#ifdef CONFIG_CPU_OVERCLOCK
|
||||
+ .vreg[VREG_CORE] = { "krait2", 1450000 },
|
||||
+#else
|
||||
.vreg[VREG_CORE] = { "krait2", 1300000 },
|
||||
+#endif
|
||||
.vreg[VREG_MEM] = { "krait2_mem", 1150000 },
|
||||
.vreg[VREG_DIG] = { "krait2_dig", 1150000 },
|
||||
.vreg[VREG_HFPLL_A] = { "krait2_hfpll", 1800000 },
|
||||
@@ -80,7 +92,11 @@ static struct scalable scalable[] __initdata = {
|
||||
.aux_clk_sel = 3,
|
||||
.sec_clk_sel = 2,
|
||||
.l2cpmr_iaddr = 0x7501,
|
||||
+#ifdef CONFIG_CPU_OVERCLOCK
|
||||
+ .vreg[VREG_CORE] = { "krait3", 1450000 },
|
||||
+#else
|
||||
.vreg[VREG_CORE] = { "krait3", 1300000 },
|
||||
+#endif
|
||||
.vreg[VREG_MEM] = { "krait3_mem", 1150000 },
|
||||
.vreg[VREG_DIG] = { "krait3_dig", 1150000 },
|
||||
.vreg[VREG_HFPLL_A] = { "krait3_hfpll", 1800000 },
|
||||
@@ -116,6 +132,24 @@ static struct msm_bus_scale_pdata bus_scale_data __initdata = {
|
||||
};
|
||||
|
||||
static struct l2_level l2_freq_tbl[] __initdata = {
|
||||
+#ifdef CONFIG_LOW_CPUCLOCKS
|
||||
+ [0] = { { 378000, HFPLL, 2, 0x1C }, 950000, 1050000, 1 },
|
||||
+ [1] = { { 384000, PLL_8, 0, 0x00 }, 950000, 1050000, 1 },
|
||||
+ [2] = { { 432000, HFPLL, 2, 0x20 }, 1050000, 1050000, 2 },
|
||||
+ [3] = { { 486000, HFPLL, 2, 0x24 }, 1050000, 1050000, 2 },
|
||||
+ [4] = { { 540000, HFPLL, 2, 0x28 }, 1050000, 1050000, 2 },
|
||||
+ [5] = { { 594000, HFPLL, 1, 0x16 }, 1050000, 1050000, 2 },
|
||||
+ [6] = { { 648000, HFPLL, 1, 0x18 }, 1050000, 1050000, 4 },
|
||||
+ [7] = { { 702000, HFPLL, 1, 0x1A }, 1150000, 1150000, 4 },
|
||||
+ [8] = { { 756000, HFPLL, 1, 0x1C }, 1150000, 1150000, 4 },
|
||||
+ [9] = { { 810000, HFPLL, 1, 0x1E }, 1150000, 1150000, 4 },
|
||||
+ [10] = { { 864000, HFPLL, 1, 0x20 }, 1150000, 1150000, 4 },
|
||||
+ [11] = { { 918000, HFPLL, 1, 0x22 }, 1150000, 1150000, 5 },
|
||||
+ [12] = { { 972000, HFPLL, 1, 0x24 }, 1150000, 1150000, 5 },
|
||||
+ [13] = { { 1026000, HFPLL, 1, 0x26 }, 1150000, 1150000, 5 },
|
||||
+ [14] = { { 1080000, HFPLL, 1, 0x28 }, 1150000, 1150000, 5 },
|
||||
+ [15] = { { 1134000, HFPLL, 1, 0x2A }, 1150000, 1150000, 5 },
|
||||
+#else
|
||||
[0] = { { 384000, PLL_8, 0, 0x00 }, 950000, 1050000, 1 },
|
||||
[1] = { { 432000, HFPLL, 2, 0x20 }, 1050000, 1050000, 2 },
|
||||
[2] = { { 486000, HFPLL, 2, 0x24 }, 1050000, 1050000, 2 },
|
||||
@@ -131,11 +165,19 @@ static struct l2_level l2_freq_tbl[] __initdata = {
|
||||
[12] = { { 1026000, HFPLL, 1, 0x26 }, 1150000, 1150000, 5 },
|
||||
[13] = { { 1080000, HFPLL, 1, 0x28 }, 1150000, 1150000, 5 },
|
||||
[14] = { { 1134000, HFPLL, 1, 0x2A }, 1150000, 1150000, 5 },
|
||||
+#endif
|
||||
{ }
|
||||
};
|
||||
|
||||
static struct acpu_level tbl_slow[] __initdata = {
|
||||
+#ifdef CONFIG_LOW_CPUCLOCKS
|
||||
+ { 1, { 162000, HFPLL, 2, 0x0C }, L2(0), 875000 },
|
||||
+ { 1, { 270000, HFPLL, 2, 0x14 }, L2(0), 900000 },
|
||||
+ //{ 1, { 378000, HFPLL, 2, 0x1C }, L2(0), 950000 },
|
||||
+ { 1, { 384000, PLL_8, 0, 0x00 }, L2(1), 925000 },
|
||||
+#else
|
||||
{ 1, { 384000, PLL_8, 0, 0x00 }, L2(0), 950000 },
|
||||
+#endif
|
||||
{ 0, { 432000, HFPLL, 2, 0x20 }, L2(5), 975000 },
|
||||
{ 1, { 486000, HFPLL, 2, 0x24 }, L2(5), 975000 },
|
||||
{ 0, { 540000, HFPLL, 2, 0x28 }, L2(5), 1000000 },
|
||||
@@ -157,11 +199,25 @@ static struct acpu_level tbl_slow[] __initdata = {
|
||||
{ 0, { 1404000, HFPLL, 1, 0x34 }, L2(14), 1237500 },
|
||||
{ 1, { 1458000, HFPLL, 1, 0x36 }, L2(14), 1237500 },
|
||||
{ 1, { 1512000, HFPLL, 1, 0x38 }, L2(14), 1250000 },
|
||||
+#ifdef CONFIG_CPU_OVERCLOCK
|
||||
+ { 1, { 1620000, HFPLL, 1, 0x3C }, L2(15), 1300000 },
|
||||
+ { 1, { 1728000, HFPLL, 1, 0x40 }, L2(15), 1350000 },
|
||||
+ { 1, { 1836000, HFPLL, 1, 0x44 }, L2(15), 1400000 },
|
||||
+ { 1, { 1890000, HFPLL, 1, 0x45 }, L2(15), 1425000 },
|
||||
+ { 1, { 1944000, HFPLL, 1, 0x46 }, L2(15), 1450000 },
|
||||
+#endif
|
||||
{ 0, { 0 } }
|
||||
};
|
||||
|
||||
static struct acpu_level tbl_nom[] __initdata = {
|
||||
+#ifdef CONFIG_LOW_CPUCLOCKS
|
||||
+ { 1, { 162000, HFPLL, 2, 0x0C }, L2(0), 825000 },
|
||||
+ { 1, { 270000, HFPLL, 2, 0x14 }, L2(0), 850000 },
|
||||
+ //{ 1, { 378000, HFPLL, 2, 0x1C }, L2(0), 900000 },
|
||||
+ { 1, { 384000, PLL_8, 0, 0x00 }, L2(1), 875000 },
|
||||
+#else
|
||||
{ 1, { 384000, PLL_8, 0, 0x00 }, L2(0), 900000 },
|
||||
+#endif
|
||||
{ 0, { 432000, HFPLL, 2, 0x20 }, L2(5), 925000 },
|
||||
{ 1, { 486000, HFPLL, 2, 0x24 }, L2(5), 925000 },
|
||||
{ 0, { 540000, HFPLL, 2, 0x28 }, L2(5), 950000 },
|
||||
@@ -183,11 +239,25 @@ static struct acpu_level tbl_nom[] __initdata = {
|
||||
{ 0, { 1404000, HFPLL, 1, 0x34 }, L2(14), 1187500 },
|
||||
{ 1, { 1458000, HFPLL, 1, 0x36 }, L2(14), 1187500 },
|
||||
{ 1, { 1512000, HFPLL, 1, 0x38 }, L2(14), 1200000 },
|
||||
+#ifdef CONFIG_CPU_OVERCLOCK
|
||||
+ { 1, { 1620000, HFPLL, 1, 0x3C }, L2(15), 1250000 },
|
||||
+ { 1, { 1728000, HFPLL, 1, 0x40 }, L2(15), 1300000 },
|
||||
+ { 1, { 1836000, HFPLL, 1, 0x44 }, L2(15), 1350000 },
|
||||
+ { 1, { 1890000, HFPLL, 1, 0x45 }, L2(15), 1375000 },
|
||||
+ { 1, { 1944000, HFPLL, 1, 0x46 }, L2(15), 1400000 },
|
||||
+#endif
|
||||
{ 0, { 0 } }
|
||||
};
|
||||
|
||||
static struct acpu_level tbl_fast[] __initdata = {
|
||||
+#ifdef CONFIG_LOW_CPUCLOCKS
|
||||
+ { 1, { 162000, HFPLL, 2, 0x0C }, L2(0), 775000 },
|
||||
+ { 1, { 270000, HFPLL, 2, 0x14 }, L2(0), 800000 },
|
||||
+ //{ 1, { 378000, HFPLL, 2, 0x1C }, L2(0), 850000 },
|
||||
+ { 1, { 384000, PLL_8, 0, 0x00 }, L2(1), 825000 },
|
||||
+#else
|
||||
{ 1, { 384000, PLL_8, 0, 0x00 }, L2(0), 850000 },
|
||||
+#endif
|
||||
{ 0, { 432000, HFPLL, 2, 0x20 }, L2(5), 875000 },
|
||||
{ 1, { 486000, HFPLL, 2, 0x24 }, L2(5), 875000 },
|
||||
{ 0, { 540000, HFPLL, 2, 0x28 }, L2(5), 900000 },
|
||||
@@ -209,11 +279,25 @@ static struct acpu_level tbl_fast[] __initdata = {
|
||||
{ 0, { 1404000, HFPLL, 1, 0x34 }, L2(14), 1137500 },
|
||||
{ 1, { 1458000, HFPLL, 1, 0x36 }, L2(14), 1137500 },
|
||||
{ 1, { 1512000, HFPLL, 1, 0x38 }, L2(14), 1150000 },
|
||||
+#ifdef CONFIG_CPU_OVERCLOCK
|
||||
+ { 1, { 1620000, HFPLL, 1, 0x3C }, L2(15), 1200000 },
|
||||
+ { 1, { 1728000, HFPLL, 1, 0x40 }, L2(15), 1250000 },
|
||||
+ { 1, { 1836000, HFPLL, 1, 0x44 }, L2(15), 1300000 },
|
||||
+ { 1, { 1890000, HFPLL, 1, 0x45 }, L2(15), 1325000 },
|
||||
+ { 1, { 1944000, HFPLL, 1, 0x46 }, L2(15), 1350000 },
|
||||
+#endif
|
||||
{ 0, { 0 } }
|
||||
};
|
||||
|
||||
static struct acpu_level tbl_faster[] __initdata = {
|
||||
+#ifdef CONFIG_LOW_CPUCLOCKS
|
||||
+ { 1, { 162000, HFPLL, 2, 0x0C }, L2(0), 775000 },
|
||||
+ { 1, { 270000, HFPLL, 2, 0x14 }, L2(0), 800000 },
|
||||
+ //{ 1, { 378000, HFPLL, 2, 0x1C }, L2(0), 850000 },
|
||||
+ { 1, { 384000, PLL_8, 0, 0x00 }, L2(1), 825000 },
|
||||
+#else
|
||||
{ 1, { 384000, PLL_8, 0, 0x00 }, L2(0), 850000 },
|
||||
+#endif
|
||||
{ 0, { 432000, HFPLL, 2, 0x20 }, L2(5), 875000 },
|
||||
{ 1, { 486000, HFPLL, 2, 0x24 }, L2(5), 875000 },
|
||||
{ 0, { 540000, HFPLL, 2, 0x28 }, L2(5), 900000 },
|
||||
@@ -235,6 +319,13 @@ static struct acpu_level tbl_faster[] __initdata = {
|
||||
{ 0, { 1404000, HFPLL, 1, 0x34 }, L2(14), 1112500 },
|
||||
{ 1, { 1458000, HFPLL, 1, 0x36 }, L2(14), 1112500 },
|
||||
{ 1, { 1512000, HFPLL, 1, 0x38 }, L2(14), 1125000 },
|
||||
+#ifdef CONFIG_CPU_OVERCLOCK
|
||||
+ { 1, { 1620000, HFPLL, 1, 0x3C }, L2(15), 1150000 },
|
||||
+ { 1, { 1728000, HFPLL, 1, 0x40 }, L2(15), 1200000 },
|
||||
+ { 1, { 1836000, HFPLL, 1, 0x44 }, L2(15), 1250000 },
|
||||
+ { 1, { 1890000, HFPLL, 1, 0x45 }, L2(15), 1275000 },
|
||||
+ { 1, { 1944000, HFPLL, 1, 0x46 }, L2(15), 1300000 },
|
||||
+#endif
|
||||
{ 0, { 0 } }
|
||||
};
|
||||
|
||||
diff --git a/arch/arm/mach-msm/acpuclock-krait.c b/arch/arm/mach-msm/acpuclock-krait.c
|
||||
index e3a3f54..97f6f39 100644
|
||||
--- a/arch/arm/mach-msm/acpuclock-krait.c
|
||||
+++ b/arch/arm/mach-msm/acpuclock-krait.c
|
||||
@@ -45,6 +45,12 @@
|
||||
#define PRI_SRC_SEL_HFPLL 1
|
||||
#define PRI_SRC_SEL_HFPLL_DIV2 2
|
||||
|
||||
+#ifdef CONFIG_LOW_CPUCLOCKS
|
||||
+#define FREQ_TABLE_SIZE 39
|
||||
+#else
|
||||
+#define FREQ_TABLE_SIZE 35
|
||||
+#endif
|
||||
+
|
||||
static DEFINE_MUTEX(driver_lock);
|
||||
static DEFINE_SPINLOCK(l2_lock);
|
||||
|
||||
@@ -913,7 +919,7 @@ static void __init bus_init(const struct l2_level *l2_level)
|
||||
}
|
||||
|
||||
#ifdef CONFIG_CPU_FREQ_MSM
|
||||
-static struct cpufreq_frequency_table freq_table[NR_CPUS][35];
|
||||
+static struct cpufreq_frequency_table freq_table[NR_CPUS][FREQ_TABLE_SIZE];
|
||||
|
||||
static void __init cpufreq_table_init(void)
|
||||
{
|
||||
diff --git a/arch/arm/mach-msm/msm_dcvs.c b/arch/arm/mach-msm/msm_dcvs.c
|
||||
index 1a919fc..1d5e289 100644
|
||||
--- a/arch/arm/mach-msm/msm_dcvs.c
|
||||
+++ b/arch/arm/mach-msm/msm_dcvs.c
|
||||
@@ -146,7 +146,12 @@ static struct dcvs_core core_list[CORES_MAX];
|
||||
|
||||
static struct kobject *cores_kobj;
|
||||
|
||||
+#ifdef CONFIG_CPU_OVERCLOCK
|
||||
+#define DCVS_MAX_NUM_FREQS 20
|
||||
+#else
|
||||
#define DCVS_MAX_NUM_FREQS 15
|
||||
+#endif
|
||||
+
|
||||
static struct msm_dcvs_freq_entry cpu_freq_tbl[DCVS_MAX_NUM_FREQS];
|
||||
static unsigned num_cpu_freqs;
|
||||
static struct msm_dcvs_platform_data *dcvs_pdata;
|
||||
--
|
||||
2.10.2
|
||||
|
||||
|
||||
From f498c327190b1a30c25010e0ba3600470fc9251b Mon Sep 17 00:00:00 2001
|
||||
From: anarkia1976 <stefano.villa1976@gmail.com>
|
||||
Date: Wed, 5 Feb 2014 07:15:12 +0100
|
||||
Subject: [PATCH 2/4] msm: cpu: overclock: added ultra low (81Mhz) cpu clock
|
||||
frequencies
|
||||
|
||||
---
|
||||
arch/arm/mach-msm/acpuclock-8064.c | 4 ++++
|
||||
arch/arm/mach-msm/acpuclock-krait.c | 2 +-
|
||||
2 files changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/mach-msm/acpuclock-8064.c b/arch/arm/mach-msm/acpuclock-8064.c
|
||||
index f40edd3..ba8fe72 100644
|
||||
--- a/arch/arm/mach-msm/acpuclock-8064.c
|
||||
+++ b/arch/arm/mach-msm/acpuclock-8064.c
|
||||
@@ -171,6 +171,7 @@ static struct l2_level l2_freq_tbl[] __initdata = {
|
||||
|
||||
static struct acpu_level tbl_slow[] __initdata = {
|
||||
#ifdef CONFIG_LOW_CPUCLOCKS
|
||||
+ { 1, { 81000, HFPLL, 2, 0x06 }, L2(0), 750000 },
|
||||
{ 1, { 162000, HFPLL, 2, 0x0C }, L2(0), 875000 },
|
||||
{ 1, { 270000, HFPLL, 2, 0x14 }, L2(0), 900000 },
|
||||
//{ 1, { 378000, HFPLL, 2, 0x1C }, L2(0), 950000 },
|
||||
@@ -211,6 +212,7 @@ static struct acpu_level tbl_slow[] __initdata = {
|
||||
|
||||
static struct acpu_level tbl_nom[] __initdata = {
|
||||
#ifdef CONFIG_LOW_CPUCLOCKS
|
||||
+ { 1, { 81000, HFPLL, 2, 0x06 }, L2(0), 750000 },
|
||||
{ 1, { 162000, HFPLL, 2, 0x0C }, L2(0), 825000 },
|
||||
{ 1, { 270000, HFPLL, 2, 0x14 }, L2(0), 850000 },
|
||||
//{ 1, { 378000, HFPLL, 2, 0x1C }, L2(0), 900000 },
|
||||
@@ -251,6 +253,7 @@ static struct acpu_level tbl_nom[] __initdata = {
|
||||
|
||||
static struct acpu_level tbl_fast[] __initdata = {
|
||||
#ifdef CONFIG_LOW_CPUCLOCKS
|
||||
+ { 1, { 81000, HFPLL, 2, 0x06 }, L2(0), 750000 },
|
||||
{ 1, { 162000, HFPLL, 2, 0x0C }, L2(0), 775000 },
|
||||
{ 1, { 270000, HFPLL, 2, 0x14 }, L2(0), 800000 },
|
||||
//{ 1, { 378000, HFPLL, 2, 0x1C }, L2(0), 850000 },
|
||||
@@ -291,6 +294,7 @@ static struct acpu_level tbl_fast[] __initdata = {
|
||||
|
||||
static struct acpu_level tbl_faster[] __initdata = {
|
||||
#ifdef CONFIG_LOW_CPUCLOCKS
|
||||
+ { 1, { 81000, HFPLL, 2, 0x06 }, L2(0), 750000 },
|
||||
{ 1, { 162000, HFPLL, 2, 0x0C }, L2(0), 775000 },
|
||||
{ 1, { 270000, HFPLL, 2, 0x14 }, L2(0), 800000 },
|
||||
//{ 1, { 378000, HFPLL, 2, 0x1C }, L2(0), 850000 },
|
||||
diff --git a/arch/arm/mach-msm/acpuclock-krait.c b/arch/arm/mach-msm/acpuclock-krait.c
|
||||
index 97f6f39..695b709 100644
|
||||
--- a/arch/arm/mach-msm/acpuclock-krait.c
|
||||
+++ b/arch/arm/mach-msm/acpuclock-krait.c
|
||||
@@ -46,7 +46,7 @@
|
||||
#define PRI_SRC_SEL_HFPLL_DIV2 2
|
||||
|
||||
#ifdef CONFIG_LOW_CPUCLOCKS
|
||||
-#define FREQ_TABLE_SIZE 39
|
||||
+#define FREQ_TABLE_SIZE 40
|
||||
#else
|
||||
#define FREQ_TABLE_SIZE 35
|
||||
#endif
|
||||
--
|
||||
2.10.2
|
||||
|
||||
|
||||
From 0eb77b9339850d3a7a9854197f2d02756270e5af Mon Sep 17 00:00:00 2001
|
||||
From: anarkia1976 <stefano.villa1976@gmail.com>
|
||||
Date: Sun, 12 Jan 2014 21:12:55 +0100
|
||||
Subject: [PATCH 3/4] ak_mako_defconfig: enable LOW_CPU and CPU_OVERCLOCK
|
||||
|
||||
---
|
||||
arch/arm/configs/cyanogen_mako_defconfig | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/configs/cyanogen_mako_defconfig b/arch/arm/configs/cyanogen_mako_defconfig
|
||||
index 316b320..1059cb6 100644
|
||||
--- a/arch/arm/configs/cyanogen_mako_defconfig
|
||||
+++ b/arch/arm/configs/cyanogen_mako_defconfig
|
||||
@@ -451,6 +451,8 @@ CONFIG_MSM_IPC_ROUTER_SMD_XPRT=y
|
||||
# CONFIG_MSM_IPC_ROUTER_SECURITY is not set
|
||||
# CONFIG_MSM_DALRPC is not set
|
||||
# CONFIG_MSM_CPU_FREQ_SET_MIN_MAX is not set
|
||||
+CONFIG_LOW_CPUCLOCKS=y
|
||||
+CONFIG_CPU_OVERCLOCK=y
|
||||
CONFIG_MSM_AVS_HW=y
|
||||
# CONFIG_MSM_HW3D is not set
|
||||
CONFIG_AMSS_7X25_VERSION_2009=y
|
||||
--
|
||||
2.10.2
|
||||
|
||||
|
||||
From cc891d49f60d6d0ad4d570c14711db9a568b49e5 Mon Sep 17 00:00:00 2001
|
||||
From: anarkia1976 <stefano.villa1976@gmail.com>
|
||||
Date: Wed, 5 Feb 2014 07:12:48 +0100
|
||||
Subject: [PATCH 4/4] msm: cpu: overclock: use higher bus speed at lower CPU
|
||||
freqs
|
||||
|
||||
Thanks to @bedalus and @mrg666
|
||||
|
||||
Bedalus suggested that if lower CPU frequencies can offer higher bus
|
||||
speed,
|
||||
GPU use during games wouldn't require higher CPU frequency.
|
||||
My testing demonstrated 4C drop in CPU temp during 3DMark benchmark.
|
||||
Still needs to be tested for everyday use.
|
||||
---
|
||||
arch/arm/mach-msm/acpuclock-8064.c | 172 +++++++++++++++++++------------------
|
||||
1 file changed, 88 insertions(+), 84 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-msm/acpuclock-8064.c b/arch/arm/mach-msm/acpuclock-8064.c
|
||||
index ba8fe72..611776e 100644
|
||||
--- a/arch/arm/mach-msm/acpuclock-8064.c
|
||||
+++ b/arch/arm/mach-msm/acpuclock-8064.c
|
||||
@@ -131,6 +131,14 @@ static struct msm_bus_scale_pdata bus_scale_data __initdata = {
|
||||
.name = "acpuclk-8064",
|
||||
};
|
||||
|
||||
+#ifdef CONFIG_LOW_CPUCLOCKS
|
||||
+#define L2_BW_MID 6
|
||||
+#define L2_BW_HIGH 15
|
||||
+#else
|
||||
+#define L2_BW_MID 5
|
||||
+#define L2_BW_HIGH 14
|
||||
+#endif
|
||||
+
|
||||
static struct l2_level l2_freq_tbl[] __initdata = {
|
||||
#ifdef CONFIG_LOW_CPUCLOCKS
|
||||
[0] = { { 378000, HFPLL, 2, 0x1C }, 950000, 1050000, 1 },
|
||||
@@ -174,32 +182,31 @@ static struct acpu_level tbl_slow[] __initdata = {
|
||||
{ 1, { 81000, HFPLL, 2, 0x06 }, L2(0), 750000 },
|
||||
{ 1, { 162000, HFPLL, 2, 0x0C }, L2(0), 875000 },
|
||||
{ 1, { 270000, HFPLL, 2, 0x14 }, L2(0), 900000 },
|
||||
- //{ 1, { 378000, HFPLL, 2, 0x1C }, L2(0), 950000 },
|
||||
{ 1, { 384000, PLL_8, 0, 0x00 }, L2(1), 925000 },
|
||||
#else
|
||||
{ 1, { 384000, PLL_8, 0, 0x00 }, L2(0), 950000 },
|
||||
#endif
|
||||
- { 0, { 432000, HFPLL, 2, 0x20 }, L2(5), 975000 },
|
||||
- { 1, { 486000, HFPLL, 2, 0x24 }, L2(5), 975000 },
|
||||
- { 0, { 540000, HFPLL, 2, 0x28 }, L2(5), 1000000 },
|
||||
- { 1, { 594000, HFPLL, 1, 0x16 }, L2(5), 1000000 },
|
||||
- { 0, { 648000, HFPLL, 1, 0x18 }, L2(5), 1025000 },
|
||||
- { 1, { 702000, HFPLL, 1, 0x1A }, L2(5), 1025000 },
|
||||
- { 0, { 756000, HFPLL, 1, 0x1C }, L2(5), 1075000 },
|
||||
- { 1, { 810000, HFPLL, 1, 0x1E }, L2(5), 1075000 },
|
||||
- { 0, { 864000, HFPLL, 1, 0x20 }, L2(5), 1100000 },
|
||||
- { 1, { 918000, HFPLL, 1, 0x22 }, L2(5), 1100000 },
|
||||
- { 0, { 972000, HFPLL, 1, 0x24 }, L2(5), 1125000 },
|
||||
- { 1, { 1026000, HFPLL, 1, 0x26 }, L2(5), 1125000 },
|
||||
- { 0, { 1080000, HFPLL, 1, 0x28 }, L2(14), 1175000 },
|
||||
- { 1, { 1134000, HFPLL, 1, 0x2A }, L2(14), 1175000 },
|
||||
- { 0, { 1188000, HFPLL, 1, 0x2C }, L2(14), 1200000 },
|
||||
- { 1, { 1242000, HFPLL, 1, 0x2E }, L2(14), 1200000 },
|
||||
- { 0, { 1296000, HFPLL, 1, 0x30 }, L2(14), 1225000 },
|
||||
- { 1, { 1350000, HFPLL, 1, 0x32 }, L2(14), 1225000 },
|
||||
- { 0, { 1404000, HFPLL, 1, 0x34 }, L2(14), 1237500 },
|
||||
- { 1, { 1458000, HFPLL, 1, 0x36 }, L2(14), 1237500 },
|
||||
- { 1, { 1512000, HFPLL, 1, 0x38 }, L2(14), 1250000 },
|
||||
+ { 0, { 432000, HFPLL, 2, 0x20 }, L2(L2_BW_MID), 975000 },
|
||||
+ { 1, { 486000, HFPLL, 2, 0x24 }, L2(L2_BW_MID), 975000 },
|
||||
+ { 0, { 540000, HFPLL, 2, 0x28 }, L2(L2_BW_MID), 1000000 },
|
||||
+ { 1, { 594000, HFPLL, 1, 0x16 }, L2(L2_BW_MID), 1000000 },
|
||||
+ { 0, { 648000, HFPLL, 1, 0x18 }, L2(L2_BW_MID), 1025000 },
|
||||
+ { 1, { 702000, HFPLL, 1, 0x1A }, L2(L2_BW_HIGH), 1025000 },
|
||||
+ { 0, { 756000, HFPLL, 1, 0x1C }, L2(L2_BW_HIGH), 1075000 },
|
||||
+ { 1, { 810000, HFPLL, 1, 0x1E }, L2(L2_BW_HIGH), 1075000 },
|
||||
+ { 0, { 864000, HFPLL, 1, 0x20 }, L2(L2_BW_HIGH), 1100000 },
|
||||
+ { 1, { 918000, HFPLL, 1, 0x22 }, L2(L2_BW_HIGH), 1100000 },
|
||||
+ { 0, { 972000, HFPLL, 1, 0x24 }, L2(L2_BW_HIGH), 1125000 },
|
||||
+ { 1, { 1026000, HFPLL, 1, 0x26 }, L2(L2_BW_HIGH), 1125000 },
|
||||
+ { 0, { 1080000, HFPLL, 1, 0x28 }, L2(L2_BW_HIGH), 1175000 },
|
||||
+ { 1, { 1134000, HFPLL, 1, 0x2A }, L2(L2_BW_HIGH), 1175000 },
|
||||
+ { 0, { 1188000, HFPLL, 1, 0x2C }, L2(L2_BW_HIGH), 1200000 },
|
||||
+ { 1, { 1242000, HFPLL, 1, 0x2E }, L2(L2_BW_HIGH), 1200000 },
|
||||
+ { 0, { 1296000, HFPLL, 1, 0x30 }, L2(L2_BW_HIGH), 1225000 },
|
||||
+ { 1, { 1350000, HFPLL, 1, 0x32 }, L2(L2_BW_HIGH), 1225000 },
|
||||
+ { 0, { 1404000, HFPLL, 1, 0x34 }, L2(L2_BW_HIGH), 1237500 },
|
||||
+ { 1, { 1458000, HFPLL, 1, 0x36 }, L2(L2_BW_HIGH), 1237500 },
|
||||
+ { 1, { 1512000, HFPLL, 1, 0x38 }, L2(L2_BW_HIGH), 1250000 },
|
||||
#ifdef CONFIG_CPU_OVERCLOCK
|
||||
{ 1, { 1620000, HFPLL, 1, 0x3C }, L2(15), 1300000 },
|
||||
{ 1, { 1728000, HFPLL, 1, 0x40 }, L2(15), 1350000 },
|
||||
@@ -215,32 +222,31 @@ static struct acpu_level tbl_nom[] __initdata = {
|
||||
{ 1, { 81000, HFPLL, 2, 0x06 }, L2(0), 750000 },
|
||||
{ 1, { 162000, HFPLL, 2, 0x0C }, L2(0), 825000 },
|
||||
{ 1, { 270000, HFPLL, 2, 0x14 }, L2(0), 850000 },
|
||||
- //{ 1, { 378000, HFPLL, 2, 0x1C }, L2(0), 900000 },
|
||||
{ 1, { 384000, PLL_8, 0, 0x00 }, L2(1), 875000 },
|
||||
#else
|
||||
{ 1, { 384000, PLL_8, 0, 0x00 }, L2(0), 900000 },
|
||||
#endif
|
||||
- { 0, { 432000, HFPLL, 2, 0x20 }, L2(5), 925000 },
|
||||
- { 1, { 486000, HFPLL, 2, 0x24 }, L2(5), 925000 },
|
||||
- { 0, { 540000, HFPLL, 2, 0x28 }, L2(5), 950000 },
|
||||
- { 1, { 594000, HFPLL, 1, 0x16 }, L2(5), 950000 },
|
||||
- { 0, { 648000, HFPLL, 1, 0x18 }, L2(5), 975000 },
|
||||
- { 1, { 702000, HFPLL, 1, 0x1A }, L2(5), 975000 },
|
||||
- { 0, { 756000, HFPLL, 1, 0x1C }, L2(5), 1025000 },
|
||||
- { 1, { 810000, HFPLL, 1, 0x1E }, L2(5), 1025000 },
|
||||
- { 0, { 864000, HFPLL, 1, 0x20 }, L2(5), 1050000 },
|
||||
- { 1, { 918000, HFPLL, 1, 0x22 }, L2(5), 1050000 },
|
||||
- { 0, { 972000, HFPLL, 1, 0x24 }, L2(5), 1075000 },
|
||||
- { 1, { 1026000, HFPLL, 1, 0x26 }, L2(5), 1075000 },
|
||||
- { 0, { 1080000, HFPLL, 1, 0x28 }, L2(14), 1125000 },
|
||||
- { 1, { 1134000, HFPLL, 1, 0x2A }, L2(14), 1125000 },
|
||||
- { 0, { 1188000, HFPLL, 1, 0x2C }, L2(14), 1150000 },
|
||||
- { 1, { 1242000, HFPLL, 1, 0x2E }, L2(14), 1150000 },
|
||||
- { 0, { 1296000, HFPLL, 1, 0x30 }, L2(14), 1175000 },
|
||||
- { 1, { 1350000, HFPLL, 1, 0x32 }, L2(14), 1175000 },
|
||||
- { 0, { 1404000, HFPLL, 1, 0x34 }, L2(14), 1187500 },
|
||||
- { 1, { 1458000, HFPLL, 1, 0x36 }, L2(14), 1187500 },
|
||||
- { 1, { 1512000, HFPLL, 1, 0x38 }, L2(14), 1200000 },
|
||||
+ { 0, { 432000, HFPLL, 2, 0x20 }, L2(L2_BW_MID), 925000 },
|
||||
+ { 1, { 486000, HFPLL, 2, 0x24 }, L2(L2_BW_MID), 925000 },
|
||||
+ { 0, { 540000, HFPLL, 2, 0x28 }, L2(L2_BW_MID), 950000 },
|
||||
+ { 1, { 594000, HFPLL, 1, 0x16 }, L2(L2_BW_MID), 950000 },
|
||||
+ { 0, { 648000, HFPLL, 1, 0x18 }, L2(L2_BW_MID), 975000 },
|
||||
+ { 1, { 702000, HFPLL, 1, 0x1A }, L2(L2_BW_HIGH), 975000 },
|
||||
+ { 0, { 756000, HFPLL, 1, 0x1C }, L2(L2_BW_HIGH), 1025000 },
|
||||
+ { 1, { 810000, HFPLL, 1, 0x1E }, L2(L2_BW_HIGH), 1025000 },
|
||||
+ { 0, { 864000, HFPLL, 1, 0x20 }, L2(L2_BW_HIGH), 1050000 },
|
||||
+ { 1, { 918000, HFPLL, 1, 0x22 }, L2(L2_BW_HIGH), 1050000 },
|
||||
+ { 0, { 972000, HFPLL, 1, 0x24 }, L2(L2_BW_HIGH), 1075000 },
|
||||
+ { 1, { 1026000, HFPLL, 1, 0x26 }, L2(L2_BW_HIGH), 1075000 },
|
||||
+ { 0, { 1080000, HFPLL, 1, 0x28 }, L2(L2_BW_HIGH), 1125000 },
|
||||
+ { 1, { 1134000, HFPLL, 1, 0x2A }, L2(L2_BW_HIGH), 1125000 },
|
||||
+ { 0, { 1188000, HFPLL, 1, 0x2C }, L2(L2_BW_HIGH), 1150000 },
|
||||
+ { 1, { 1242000, HFPLL, 1, 0x2E }, L2(L2_BW_HIGH), 1150000 },
|
||||
+ { 0, { 1296000, HFPLL, 1, 0x30 }, L2(L2_BW_HIGH), 1175000 },
|
||||
+ { 1, { 1350000, HFPLL, 1, 0x32 }, L2(L2_BW_HIGH), 1175000 },
|
||||
+ { 0, { 1404000, HFPLL, 1, 0x34 }, L2(L2_BW_HIGH), 1187500 },
|
||||
+ { 1, { 1458000, HFPLL, 1, 0x36 }, L2(L2_BW_HIGH), 1187500 },
|
||||
+ { 1, { 1512000, HFPLL, 1, 0x38 }, L2(L2_BW_HIGH), 1200000 },
|
||||
#ifdef CONFIG_CPU_OVERCLOCK
|
||||
{ 1, { 1620000, HFPLL, 1, 0x3C }, L2(15), 1250000 },
|
||||
{ 1, { 1728000, HFPLL, 1, 0x40 }, L2(15), 1300000 },
|
||||
@@ -256,32 +262,31 @@ static struct acpu_level tbl_fast[] __initdata = {
|
||||
{ 1, { 81000, HFPLL, 2, 0x06 }, L2(0), 750000 },
|
||||
{ 1, { 162000, HFPLL, 2, 0x0C }, L2(0), 775000 },
|
||||
{ 1, { 270000, HFPLL, 2, 0x14 }, L2(0), 800000 },
|
||||
- //{ 1, { 378000, HFPLL, 2, 0x1C }, L2(0), 850000 },
|
||||
{ 1, { 384000, PLL_8, 0, 0x00 }, L2(1), 825000 },
|
||||
#else
|
||||
{ 1, { 384000, PLL_8, 0, 0x00 }, L2(0), 850000 },
|
||||
#endif
|
||||
- { 0, { 432000, HFPLL, 2, 0x20 }, L2(5), 875000 },
|
||||
- { 1, { 486000, HFPLL, 2, 0x24 }, L2(5), 875000 },
|
||||
- { 0, { 540000, HFPLL, 2, 0x28 }, L2(5), 900000 },
|
||||
- { 1, { 594000, HFPLL, 1, 0x16 }, L2(5), 900000 },
|
||||
- { 0, { 648000, HFPLL, 1, 0x18 }, L2(5), 925000 },
|
||||
- { 1, { 702000, HFPLL, 1, 0x1A }, L2(5), 925000 },
|
||||
- { 0, { 756000, HFPLL, 1, 0x1C }, L2(5), 975000 },
|
||||
- { 1, { 810000, HFPLL, 1, 0x1E }, L2(5), 975000 },
|
||||
- { 0, { 864000, HFPLL, 1, 0x20 }, L2(5), 1000000 },
|
||||
- { 1, { 918000, HFPLL, 1, 0x22 }, L2(5), 1000000 },
|
||||
- { 0, { 972000, HFPLL, 1, 0x24 }, L2(5), 1025000 },
|
||||
- { 1, { 1026000, HFPLL, 1, 0x26 }, L2(5), 1025000 },
|
||||
- { 0, { 1080000, HFPLL, 1, 0x28 }, L2(14), 1075000 },
|
||||
- { 1, { 1134000, HFPLL, 1, 0x2A }, L2(14), 1075000 },
|
||||
- { 0, { 1188000, HFPLL, 1, 0x2C }, L2(14), 1100000 },
|
||||
- { 1, { 1242000, HFPLL, 1, 0x2E }, L2(14), 1100000 },
|
||||
- { 0, { 1296000, HFPLL, 1, 0x30 }, L2(14), 1125000 },
|
||||
- { 1, { 1350000, HFPLL, 1, 0x32 }, L2(14), 1125000 },
|
||||
- { 0, { 1404000, HFPLL, 1, 0x34 }, L2(14), 1137500 },
|
||||
- { 1, { 1458000, HFPLL, 1, 0x36 }, L2(14), 1137500 },
|
||||
- { 1, { 1512000, HFPLL, 1, 0x38 }, L2(14), 1150000 },
|
||||
+ { 0, { 432000, HFPLL, 2, 0x20 }, L2(L2_BW_MID), 875000 },
|
||||
+ { 1, { 486000, HFPLL, 2, 0x24 }, L2(L2_BW_MID), 875000 },
|
||||
+ { 0, { 540000, HFPLL, 2, 0x28 }, L2(L2_BW_MID), 900000 },
|
||||
+ { 1, { 594000, HFPLL, 1, 0x16 }, L2(L2_BW_MID), 900000 },
|
||||
+ { 0, { 648000, HFPLL, 1, 0x18 }, L2(L2_BW_MID), 925000 },
|
||||
+ { 1, { 702000, HFPLL, 1, 0x1A }, L2(L2_BW_HIGH), 925000 },
|
||||
+ { 0, { 756000, HFPLL, 1, 0x1C }, L2(L2_BW_HIGH), 975000 },
|
||||
+ { 1, { 810000, HFPLL, 1, 0x1E }, L2(L2_BW_HIGH), 975000 },
|
||||
+ { 0, { 864000, HFPLL, 1, 0x20 }, L2(L2_BW_HIGH), 1000000 },
|
||||
+ { 1, { 918000, HFPLL, 1, 0x22 }, L2(L2_BW_HIGH), 1000000 },
|
||||
+ { 0, { 972000, HFPLL, 1, 0x24 }, L2(L2_BW_HIGH), 1025000 },
|
||||
+ { 1, { 1026000, HFPLL, 1, 0x26 }, L2(L2_BW_HIGH), 1025000 },
|
||||
+ { 0, { 1080000, HFPLL, 1, 0x28 }, L2(L2_BW_HIGH), 1075000 },
|
||||
+ { 1, { 1134000, HFPLL, 1, 0x2A }, L2(L2_BW_HIGH), 1075000 },
|
||||
+ { 0, { 1188000, HFPLL, 1, 0x2C }, L2(L2_BW_HIGH), 1100000 },
|
||||
+ { 1, { 1242000, HFPLL, 1, 0x2E }, L2(L2_BW_HIGH), 1100000 },
|
||||
+ { 0, { 1296000, HFPLL, 1, 0x30 }, L2(L2_BW_HIGH), 1125000 },
|
||||
+ { 1, { 1350000, HFPLL, 1, 0x32 }, L2(L2_BW_HIGH), 1125000 },
|
||||
+ { 0, { 1404000, HFPLL, 1, 0x34 }, L2(L2_BW_HIGH), 1137500 },
|
||||
+ { 1, { 1458000, HFPLL, 1, 0x36 }, L2(L2_BW_HIGH), 1137500 },
|
||||
+ { 1, { 1512000, HFPLL, 1, 0x38 }, L2(L2_BW_HIGH), 1150000 },
|
||||
#ifdef CONFIG_CPU_OVERCLOCK
|
||||
{ 1, { 1620000, HFPLL, 1, 0x3C }, L2(15), 1200000 },
|
||||
{ 1, { 1728000, HFPLL, 1, 0x40 }, L2(15), 1250000 },
|
||||
@@ -297,28 +302,27 @@ static struct acpu_level tbl_faster[] __initdata = {
|
||||
{ 1, { 81000, HFPLL, 2, 0x06 }, L2(0), 750000 },
|
||||
{ 1, { 162000, HFPLL, 2, 0x0C }, L2(0), 775000 },
|
||||
{ 1, { 270000, HFPLL, 2, 0x14 }, L2(0), 800000 },
|
||||
- //{ 1, { 378000, HFPLL, 2, 0x1C }, L2(0), 850000 },
|
||||
{ 1, { 384000, PLL_8, 0, 0x00 }, L2(1), 825000 },
|
||||
#else
|
||||
{ 1, { 384000, PLL_8, 0, 0x00 }, L2(0), 850000 },
|
||||
#endif
|
||||
- { 0, { 432000, HFPLL, 2, 0x20 }, L2(5), 875000 },
|
||||
- { 1, { 486000, HFPLL, 2, 0x24 }, L2(5), 875000 },
|
||||
- { 0, { 540000, HFPLL, 2, 0x28 }, L2(5), 900000 },
|
||||
- { 1, { 594000, HFPLL, 1, 0x16 }, L2(5), 900000 },
|
||||
- { 0, { 648000, HFPLL, 1, 0x18 }, L2(5), 925000 },
|
||||
- { 1, { 702000, HFPLL, 1, 0x1A }, L2(5), 925000 },
|
||||
- { 0, { 756000, HFPLL, 1, 0x1C }, L2(5), 962500 },
|
||||
- { 1, { 810000, HFPLL, 1, 0x1E }, L2(5), 962500 },
|
||||
- { 0, { 864000, HFPLL, 1, 0x20 }, L2(5), 975000 },
|
||||
- { 1, { 918000, HFPLL, 1, 0x22 }, L2(5), 975000 },
|
||||
- { 0, { 972000, HFPLL, 1, 0x24 }, L2(5), 1000000 },
|
||||
- { 1, { 1026000, HFPLL, 1, 0x26 }, L2(5), 1000000 },
|
||||
- { 0, { 1080000, HFPLL, 1, 0x28 }, L2(14), 1050000 },
|
||||
- { 1, { 1134000, HFPLL, 1, 0x2A }, L2(14), 1050000 },
|
||||
- { 0, { 1188000, HFPLL, 1, 0x2C }, L2(14), 1075000 },
|
||||
- { 1, { 1242000, HFPLL, 1, 0x2E }, L2(14), 1075000 },
|
||||
- { 0, { 1296000, HFPLL, 1, 0x30 }, L2(14), 1100000 },
|
||||
+ { 0, { 432000, HFPLL, 2, 0x20 }, L2(L2_BW_MID), 875000 },
|
||||
+ { 1, { 486000, HFPLL, 2, 0x24 }, L2(L2_BW_MID), 875000 },
|
||||
+ { 0, { 540000, HFPLL, 2, 0x28 }, L2(L2_BW_MID), 900000 },
|
||||
+ { 1, { 594000, HFPLL, 1, 0x16 }, L2(L2_BW_MID), 900000 },
|
||||
+ { 0, { 648000, HFPLL, 1, 0x18 }, L2(L2_BW_MID), 925000 },
|
||||
+ { 1, { 702000, HFPLL, 1, 0x1A }, L2(L2_BW_HIGH), 925000 },
|
||||
+ { 0, { 756000, HFPLL, 1, 0x1C }, L2(L2_BW_HIGH), 962500 },
|
||||
+ { 1, { 810000, HFPLL, 1, 0x1E }, L2(L2_BW_HIGH), 962500 },
|
||||
+ { 0, { 864000, HFPLL, 1, 0x20 }, L2(L2_BW_HIGH), 975000 },
|
||||
+ { 1, { 918000, HFPLL, 1, 0x22 }, L2(L2_BW_HIGH), 975000 },
|
||||
+ { 0, { 972000, HFPLL, 1, 0x24 }, L2(L2_BW_HIGH), 1000000 },
|
||||
+ { 1, { 1026000, HFPLL, 1, 0x26 }, L2(L2_BW_HIGH), 1000000 },
|
||||
+ { 0, { 1080000, HFPLL, 1, 0x28 }, L2(L2_BW_HIGH), 1050000 },
|
||||
+ { 1, { 1134000, HFPLL, 1, 0x2A }, L2(L2_BW_HIGH), 1050000 },
|
||||
+ { 0, { 1188000, HFPLL, 1, 0x2C }, L2(L2_BW_HIGH), 1075000 },
|
||||
+ { 1, { 1242000, HFPLL, 1, 0x2E }, L2(L2_BW_HIGH), 1075000 },
|
||||
+ { 0, { 1296000, HFPLL, 1, 0x30 }, L2(L2_BW_HIGH), 1100000 },
|
||||
{ 1, { 1350000, HFPLL, 1, 0x32 }, L2(14), 1100000 },
|
||||
{ 0, { 1404000, HFPLL, 1, 0x34 }, L2(14), 1112500 },
|
||||
{ 1, { 1458000, HFPLL, 1, 0x36 }, L2(14), 1112500 },
|
||||
--
|
||||
2.10.2
|
||||
|
@ -1,834 +0,0 @@
|
||||
From ebb9cfb12fea35189ba206f56925e499a4963896 Mon Sep 17 00:00:00 2001
|
||||
From: hellsgod <hellsgod@gmx.ch>
|
||||
Date: Wed, 22 Apr 2015 22:50:47 +0200
|
||||
Subject: [PATCH 1/6] dts: Add some lower frequencies down to 35mhz
|
||||
|
||||
credits: XileForce, Imoseyon
|
||||
---
|
||||
arch/arm/boot/dts/qcom/apq8084.dtsi | 51 +++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 51 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/qcom/apq8084.dtsi b/arch/arm/boot/dts/qcom/apq8084.dtsi
|
||||
index 51de8be..1e782d6 100644
|
||||
--- a/arch/arm/boot/dts/qcom/apq8084.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom/apq8084.dtsi
|
||||
@@ -1127,6 +1127,9 @@
|
||||
/* 2.7GHz RC1 */
|
||||
qcom,speed2-pvs0-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 35800000 500000 17 >,
|
||||
+ < 98300000 720000 37 >,
|
||||
+ < 223200000 790000 56 >,
|
||||
< 300000000 810000 76 >,
|
||||
< 345600000 820000 88 >,
|
||||
< 422400000 830000 109 >,
|
||||
@@ -1162,6 +1165,9 @@
|
||||
|
||||
qcom,speed2-pvs1-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 35800000 500000 17 >,
|
||||
+ < 98300000 710000 37 >,
|
||||
+ < 223200000 780000 56 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 810000 88 >,
|
||||
< 422400000 820000 109 >,
|
||||
@@ -1197,6 +1203,9 @@
|
||||
|
||||
qcom,speed2-pvs2-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 35800000 500000 17 >,
|
||||
+ < 98300000 700000 37 >,
|
||||
+ < 223200000 770000 56 >,
|
||||
< 300000000 790000 76 >,
|
||||
< 345600000 800000 88 >,
|
||||
< 422400000 810000 109 >,
|
||||
@@ -1232,6 +1241,9 @@
|
||||
|
||||
qcom,speed2-pvs3-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 35800000 500000 17 >,
|
||||
+ < 98300000 690000 37 >,
|
||||
+ < 223200000 760000 56 >,
|
||||
< 300000000 780000 76 >,
|
||||
< 345600000 790000 88 >,
|
||||
< 422400000 800000 109 >,
|
||||
@@ -1267,6 +1279,9 @@
|
||||
|
||||
qcom,speed2-pvs4-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 35800000 500000 17 >,
|
||||
+ < 98300000 680000 37 >,
|
||||
+ < 223200000 750000 56 >,
|
||||
< 300000000 770000 76 >,
|
||||
< 345600000 780000 88 >,
|
||||
< 422400000 790000 109 >,
|
||||
@@ -1302,6 +1317,9 @@
|
||||
|
||||
qcom,speed2-pvs5-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 35800000 500000 17 >,
|
||||
+ < 98300000 670000 37 >,
|
||||
+ < 223200000 740000 56 >,
|
||||
< 300000000 760000 76 >,
|
||||
< 345600000 770000 88 >,
|
||||
< 422400000 780000 109 >,
|
||||
@@ -1337,6 +1355,9 @@
|
||||
|
||||
qcom,speed2-pvs6-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 35800000 500000 17 >,
|
||||
+ < 98300000 660000 37 >,
|
||||
+ < 223200000 730000 56 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 760000 88 >,
|
||||
< 422400000 770000 109 >,
|
||||
@@ -1372,6 +1393,9 @@
|
||||
|
||||
qcom,speed2-pvs7-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 35800000 500000 17 >,
|
||||
+ < 98300000 650000 37 >,
|
||||
+ < 223200000 720000 56 >,
|
||||
< 300000000 740000 76 >,
|
||||
< 345600000 750000 88 >,
|
||||
< 422400000 760000 109 >,
|
||||
@@ -1407,6 +1431,9 @@
|
||||
|
||||
qcom,speed2-pvs8-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 35800000 500000 17 >,
|
||||
+ < 98300000 640000 37 >,
|
||||
+ < 223200000 710000 56 >,
|
||||
< 300000000 730000 76 >,
|
||||
< 345600000 740000 88 >,
|
||||
< 422400000 750000 109 >,
|
||||
@@ -1442,6 +1469,9 @@
|
||||
|
||||
qcom,speed2-pvs9-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 35800000 500000 17 >,
|
||||
+ < 98300000 630000 37 >,
|
||||
+ < 223200000 700000 56 >,
|
||||
< 300000000 720000 76 >,
|
||||
< 345600000 730000 88 >,
|
||||
< 422400000 740000 109 >,
|
||||
@@ -1477,6 +1507,9 @@
|
||||
|
||||
qcom,speed2-pvs10-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 35800000 500000 17 >,
|
||||
+ < 98300000 620000 37 >,
|
||||
+ < 223200000 690000 56 >,
|
||||
< 300000000 710000 76 >,
|
||||
< 345600000 720000 88 >,
|
||||
< 422400000 730000 109 >,
|
||||
@@ -1512,6 +1545,9 @@
|
||||
|
||||
qcom,speed2-pvs11-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 35800000 500000 17 >,
|
||||
+ < 98300000 610000 37 >,
|
||||
+ < 223200000 680000 56 >,
|
||||
< 300000000 700000 76 >,
|
||||
< 345600000 710000 88 >,
|
||||
< 422400000 720000 109 >,
|
||||
@@ -1547,6 +1583,9 @@
|
||||
|
||||
qcom,speed2-pvs12-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 35800000 500000 17 >,
|
||||
+ < 98300000 600000 37 >,
|
||||
+ < 223200000 670000 56 >,
|
||||
< 300000000 690000 76 >,
|
||||
< 345600000 700000 88 >,
|
||||
< 422400000 710000 109 >,
|
||||
@@ -1582,6 +1621,9 @@
|
||||
|
||||
qcom,speed2-pvs13-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 35800000 500000 17 >,
|
||||
+ < 98300000 590000 37 >,
|
||||
+ < 223200000 660000 56 >,
|
||||
< 300000000 680000 76 >,
|
||||
< 345600000 690000 88 >,
|
||||
< 422400000 700000 109 >,
|
||||
@@ -1617,6 +1659,9 @@
|
||||
|
||||
qcom,speed2-pvs14-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 35800000 500000 17 >,
|
||||
+ < 98300000 580000 37 >,
|
||||
+ < 223200000 650000 56 >,
|
||||
< 300000000 670000 76 >,
|
||||
< 345600000 680000 88 >,
|
||||
< 422400000 690000 109 >,
|
||||
@@ -1652,6 +1697,9 @@
|
||||
|
||||
qcom,speed2-pvs15-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 35800000 500000 17 >,
|
||||
+ < 98300000 570000 37 >,
|
||||
+ < 223200000 640000 56 >,
|
||||
< 300000000 660000 76 >,
|
||||
< 345600000 670000 88 >,
|
||||
< 422400000 680000 109 >,
|
||||
@@ -4297,6 +4345,9 @@
|
||||
reg = <0 4>;
|
||||
compatible = "qcom,msm-cpufreq";
|
||||
qcom,cpufreq-table =
|
||||
+ < 35800 35800 762 >,
|
||||
+ < 98300 98300 762 >,
|
||||
+ < 223200 223200 762 >,
|
||||
< 300000 300000 1144 >,
|
||||
< 422400 422400 2288 >,
|
||||
< 652800 499200 3051 >,
|
||||
--
|
||||
2.9.3
|
||||
|
||||
|
||||
From 143adae138c68fbcd53fa8dbc644ef4a0850879c Mon Sep 17 00:00:00 2001
|
||||
From: bhb27 <fglfgl27@gmail.com>
|
||||
Date: Thu, 25 Feb 2016 14:46:26 -0800
|
||||
Subject: [PATCH 2/6] qcom:apq8084: OC to 2880 MHz
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/qcom/apq8084.dtsi | 198 ++++++++++++++++++++++++++++++------
|
||||
1 file changed, 165 insertions(+), 33 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/qcom/apq8084.dtsi b/arch/arm/boot/dts/qcom/apq8084.dtsi
|
||||
index 1e782d6..c419bc3 100644
|
||||
--- a/arch/arm/boot/dts/qcom/apq8084.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom/apq8084.dtsi
|
||||
@@ -1161,7 +1161,11 @@
|
||||
< 2419200000 1105000 777 >,
|
||||
< 2496000000 1120000 813 >,
|
||||
< 2572800000 1135000 849 >,
|
||||
- < 2649600000 1150000 886 >;
|
||||
+ < 2649600000 1150000 886 >,
|
||||
+ < 2688000000 1160000 917 >,
|
||||
+ < 2764800000 1170000 952 >,
|
||||
+ < 2841600000 1185000 980 >,
|
||||
+ < 2880000000 1195000 1003 >;
|
||||
|
||||
qcom,speed2-pvs1-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
@@ -1199,7 +1203,11 @@
|
||||
< 2419200000 1095000 777 >,
|
||||
< 2496000000 1110000 813 >,
|
||||
< 2572800000 1125000 849 >,
|
||||
- < 2649600000 1140000 886 >;
|
||||
+ < 2649600000 1140000 886 >,
|
||||
+ < 2688000000 1150000 917 >,
|
||||
+ < 2764800000 1160000 952 >,
|
||||
+ < 2841600000 1175000 980 >,
|
||||
+ < 2880000000 1185000 1003 >;
|
||||
|
||||
qcom,speed2-pvs2-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
@@ -1237,7 +1245,11 @@
|
||||
< 2419200000 1085000 777 >,
|
||||
< 2496000000 1100000 813 >,
|
||||
< 2572800000 1115000 849 >,
|
||||
- < 2649600000 1130000 886 >;
|
||||
+ < 2649600000 1130000 886 >,
|
||||
+ < 2688000000 1140000 917 >,
|
||||
+ < 2764800000 1150000 952 >,
|
||||
+ < 2841600000 1165000 980 >,
|
||||
+ < 2880000000 1175000 1003 >;
|
||||
|
||||
qcom,speed2-pvs3-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
@@ -1275,7 +1287,11 @@
|
||||
< 2419200000 1075000 777 >,
|
||||
< 2496000000 1090000 813 >,
|
||||
< 2572800000 1105000 849 >,
|
||||
- < 2649600000 1120000 886 >;
|
||||
+ < 2649600000 1120000 886 >,
|
||||
+ < 2688000000 1130000 917 >,
|
||||
+ < 2764800000 1140000 952 >,
|
||||
+ < 2841600000 1155000 980 >,
|
||||
+ < 2880000000 1165000 1003 >;
|
||||
|
||||
qcom,speed2-pvs4-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
@@ -1313,7 +1329,11 @@
|
||||
< 2419200000 1065000 777 >,
|
||||
< 2496000000 1080000 813 >,
|
||||
< 2572800000 1095000 849 >,
|
||||
- < 2649600000 1110000 886 >;
|
||||
+ < 2649600000 1110000 886 >,
|
||||
+ < 2688000000 1120000 917 >,
|
||||
+ < 2764800000 1130000 952 >,
|
||||
+ < 2841600000 1145000 980 >,
|
||||
+ < 2880000000 1155000 1003 >;
|
||||
|
||||
qcom,speed2-pvs5-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
@@ -1351,7 +1371,11 @@
|
||||
< 2419200000 1055000 777 >,
|
||||
< 2496000000 1070000 813 >,
|
||||
< 2572800000 1085000 849 >,
|
||||
- < 2649600000 1100000 886 >;
|
||||
+ < 2649600000 1100000 886 >,
|
||||
+ < 2688000000 1110000 917 >,
|
||||
+ < 2764800000 1120000 952 >,
|
||||
+ < 2841600000 1135000 980 >,
|
||||
+ < 2880000000 1145000 1003 >;
|
||||
|
||||
qcom,speed2-pvs6-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
@@ -1389,7 +1413,11 @@
|
||||
< 2419200000 1045000 777 >,
|
||||
< 2496000000 1060000 813 >,
|
||||
< 2572800000 1075000 849 >,
|
||||
- < 2649600000 1090000 886 >;
|
||||
+ < 2649600000 1090000 886 >,
|
||||
+ < 2688000000 1100000 917 >,
|
||||
+ < 2764800000 1110000 952 >,
|
||||
+ < 2841600000 1125000 980 >,
|
||||
+ < 2880000000 1135000 1003 >;
|
||||
|
||||
qcom,speed2-pvs7-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
@@ -1427,7 +1455,11 @@
|
||||
< 2419200000 1035000 777 >,
|
||||
< 2496000000 1050000 813 >,
|
||||
< 2572800000 1065000 849 >,
|
||||
- < 2649600000 1080000 886 >;
|
||||
+ < 2649600000 1080000 886 >,
|
||||
+ < 2688000000 1090000 917 >,
|
||||
+ < 2764800000 1100000 952 >,
|
||||
+ < 2841600000 1115000 980 >,
|
||||
+ < 2880000000 1125000 1003 >;
|
||||
|
||||
qcom,speed2-pvs8-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
@@ -1465,7 +1497,11 @@
|
||||
< 2419200000 1025000 777 >,
|
||||
< 2496000000 1040000 813 >,
|
||||
< 2572800000 1055000 849 >,
|
||||
- < 2649600000 1070000 886 >;
|
||||
+ < 2649600000 1070000 886 >,
|
||||
+ < 2688000000 1080000 917 >,
|
||||
+ < 2764800000 1090000 952 >,
|
||||
+ < 2841600000 1105000 980 >,
|
||||
+ < 2880000000 1115000 1003 >;
|
||||
|
||||
qcom,speed2-pvs9-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
@@ -1503,7 +1539,11 @@
|
||||
< 2419200000 1015000 777 >,
|
||||
< 2496000000 1030000 813 >,
|
||||
< 2572800000 1045000 849 >,
|
||||
- < 2649600000 1060000 886 >;
|
||||
+ < 2649600000 1060000 886 >,
|
||||
+ < 2688000000 1070000 917 >,
|
||||
+ < 2764800000 1090000 952 >,
|
||||
+ < 2841600000 1105000 980 >,
|
||||
+ < 2880000000 1115000 1003 >;
|
||||
|
||||
qcom,speed2-pvs10-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
@@ -1541,7 +1581,11 @@
|
||||
< 2419200000 1005000 777 >,
|
||||
< 2496000000 1020000 813 >,
|
||||
< 2572800000 1035000 849 >,
|
||||
- < 2649600000 1050000 886 >;
|
||||
+ < 2649600000 1050000 886 >,
|
||||
+ < 2688000000 1060000 917 >,
|
||||
+ < 2764800000 1080000 952 >,
|
||||
+ < 2841600000 1095000 980 >,
|
||||
+ < 2880000000 1105000 1003 >;
|
||||
|
||||
qcom,speed2-pvs11-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
@@ -1579,7 +1623,11 @@
|
||||
< 2419200000 995000 777 >,
|
||||
< 2496000000 1010000 813 >,
|
||||
< 2572800000 1025000 849 >,
|
||||
- < 2649600000 1040000 886 >;
|
||||
+ < 2649600000 1040000 886 >,
|
||||
+ < 2688000000 1050000 917 >,
|
||||
+ < 2764800000 1060000 952 >,
|
||||
+ < 2841600000 1075000 980 >,
|
||||
+ < 2880000000 1085000 1003 >;
|
||||
|
||||
qcom,speed2-pvs12-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
@@ -1617,7 +1665,11 @@
|
||||
< 2419200000 985000 777 >,
|
||||
< 2496000000 1000000 813 >,
|
||||
< 2572800000 1015000 849 >,
|
||||
- < 2649600000 1030000 886 >;
|
||||
+ < 2649600000 1030000 886 >,
|
||||
+ < 2688000000 1040000 917 >,
|
||||
+ < 2764800000 1050000 952 >,
|
||||
+ < 2841600000 1065000 980 >,
|
||||
+ < 2880000000 1075000 1003 >;
|
||||
|
||||
qcom,speed2-pvs13-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
@@ -1655,7 +1707,11 @@
|
||||
< 2419200000 975000 777 >,
|
||||
< 2496000000 990000 813 >,
|
||||
< 2572800000 1005000 849 >,
|
||||
- < 2649600000 1020000 886 >;
|
||||
+ < 2649600000 1020000 886 >,
|
||||
+ < 2688000000 1030000 917 >,
|
||||
+ < 2764800000 1040000 952 >,
|
||||
+ < 2841600000 1055000 980 >,
|
||||
+ < 2880000000 1065000 1003 >;
|
||||
|
||||
qcom,speed2-pvs14-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
@@ -1693,7 +1749,11 @@
|
||||
< 2419200000 965000 777 >,
|
||||
< 2496000000 980000 813 >,
|
||||
< 2572800000 995000 849 >,
|
||||
- < 2649600000 1010000 886 >;
|
||||
+ < 2649600000 1010000 886 >,
|
||||
+ < 2688000000 1020000 917 >,
|
||||
+ < 2764800000 1030000 952 >,
|
||||
+ < 2841600000 1045000 980 >,
|
||||
+ < 2880000000 1055000 1003 >;
|
||||
|
||||
qcom,speed2-pvs15-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
@@ -1731,7 +1791,11 @@
|
||||
< 2419200000 955000 777 >,
|
||||
< 2496000000 970000 813 >,
|
||||
< 2572800000 985000 849 >,
|
||||
- < 2649600000 1000000 886 >;
|
||||
+ < 2649600000 1000000 886 >,
|
||||
+ < 2688000000 1010000 917 >,
|
||||
+ < 2764800000 1020000 952 >,
|
||||
+ < 2841600000 1035000 980 >,
|
||||
+ < 2880000000 1045000 1003 >;
|
||||
|
||||
/* 2.7GHz RC0 */
|
||||
qcom,speed2-pvs0-bin-v0 =
|
||||
@@ -1767,7 +1831,11 @@
|
||||
< 2419200000 1105000 777 >,
|
||||
< 2496000000 1120000 813 >,
|
||||
< 2572800000 1135000 849 >,
|
||||
- < 2649600000 1150000 886 >;
|
||||
+ < 2649600000 1150000 886 >,
|
||||
+ < 2688000000 1160000 917 >,
|
||||
+ < 2764800000 1170000 952 >,
|
||||
+ < 2841600000 1185000 980 >,
|
||||
+ < 2880000000 1195000 1003 >;
|
||||
|
||||
qcom,speed2-pvs1-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
@@ -1802,7 +1870,11 @@
|
||||
< 2419200000 1095000 777 >,
|
||||
< 2496000000 1110000 813 >,
|
||||
< 2572800000 1125000 849 >,
|
||||
- < 2649600000 1140000 886 >;
|
||||
+ < 2649600000 1140000 886 >,
|
||||
+ < 2688000000 1150000 917 >,
|
||||
+ < 2764800000 1160000 952 >,
|
||||
+ < 2841600000 1185000 980 >,
|
||||
+ < 2880000000 1195000 1003 >;
|
||||
|
||||
qcom,speed2-pvs2-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
@@ -1837,7 +1909,11 @@
|
||||
< 2419200000 1085000 777 >,
|
||||
< 2496000000 1100000 813 >,
|
||||
< 2572800000 1115000 849 >,
|
||||
- < 2649600000 1130000 886 >;
|
||||
+ < 2649600000 1130000 886 >,
|
||||
+ < 2688000000 1140000 917 >,
|
||||
+ < 2764800000 1150000 952 >,
|
||||
+ < 2841600000 1165000 980 >,
|
||||
+ < 2880000000 1175000 1003 >;
|
||||
|
||||
qcom,speed2-pvs3-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
@@ -1872,7 +1948,11 @@
|
||||
< 2419200000 1075000 777 >,
|
||||
< 2496000000 1090000 813 >,
|
||||
< 2572800000 1105000 849 >,
|
||||
- < 2649600000 1120000 886 >;
|
||||
+ < 2649600000 1120000 886 >,
|
||||
+ < 2688000000 1130000 917 >,
|
||||
+ < 2764800000 1140000 952 >,
|
||||
+ < 2841600000 1165000 980 >,
|
||||
+ < 2880000000 1175000 1003 >;
|
||||
|
||||
qcom,speed2-pvs4-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
@@ -1907,7 +1987,11 @@
|
||||
< 2419200000 1065000 777 >,
|
||||
< 2496000000 1080000 813 >,
|
||||
< 2572800000 1095000 849 >,
|
||||
- < 2649600000 1110000 886 >;
|
||||
+ < 2649600000 1110000 886 >,
|
||||
+ < 2688000000 1120000 917 >,
|
||||
+ < 2764800000 1130000 952 >,
|
||||
+ < 2841600000 1145000 980 >,
|
||||
+ < 2880000000 1155000 1003 >;
|
||||
|
||||
qcom,speed2-pvs5-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
@@ -1942,7 +2026,11 @@
|
||||
< 2419200000 1055000 777 >,
|
||||
< 2496000000 1070000 813 >,
|
||||
< 2572800000 1085000 849 >,
|
||||
- < 2649600000 1100000 886 >;
|
||||
+ < 2649600000 1100000 886 >,
|
||||
+ < 2688000000 1110000 917 >,
|
||||
+ < 2764800000 1120000 952 >,
|
||||
+ < 2841600000 1135000 980 >,
|
||||
+ < 2880000000 1145000 1003 >;
|
||||
|
||||
qcom,speed2-pvs6-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
@@ -1977,7 +2065,11 @@
|
||||
< 2419200000 1045000 777 >,
|
||||
< 2496000000 1060000 813 >,
|
||||
< 2572800000 1075000 849 >,
|
||||
- < 2649600000 1090000 886 >;
|
||||
+ < 2649600000 1090000 886 >,
|
||||
+ < 2688000000 1100000 917 >,
|
||||
+ < 2764800000 1110000 952 >,
|
||||
+ < 2841600000 1125000 980 >,
|
||||
+ < 2880000000 1135000 1003 >;
|
||||
|
||||
qcom,speed2-pvs7-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
@@ -2012,7 +2104,11 @@
|
||||
< 2419200000 1035000 777 >,
|
||||
< 2496000000 1050000 813 >,
|
||||
< 2572800000 1065000 849 >,
|
||||
- < 2649600000 1080000 886 >;
|
||||
+ < 2649600000 1080000 886 >,
|
||||
+ < 2688000000 1090000 917 >,
|
||||
+ < 2764800000 1100000 952 >,
|
||||
+ < 2841600000 1115000 980 >,
|
||||
+ < 2880000000 1125000 1003 >;
|
||||
|
||||
qcom,speed2-pvs8-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
@@ -2047,7 +2143,11 @@
|
||||
< 2419200000 1025000 777 >,
|
||||
< 2496000000 1040000 813 >,
|
||||
< 2572800000 1055000 849 >,
|
||||
- < 2649600000 1070000 886 >;
|
||||
+ < 2649600000 1070000 886 >,
|
||||
+ < 2688000000 1080000 917 >,
|
||||
+ < 2764800000 1090000 952 >,
|
||||
+ < 2841600000 1105000 980 >,
|
||||
+ < 2880000000 1115000 1003 >;
|
||||
|
||||
qcom,speed2-pvs9-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
@@ -2082,7 +2182,11 @@
|
||||
< 2419200000 1015000 777 >,
|
||||
< 2496000000 1030000 813 >,
|
||||
< 2572800000 1045000 849 >,
|
||||
- < 2649600000 1060000 886 >;
|
||||
+ < 2649600000 1060000 886 >,
|
||||
+ < 2688000000 1070000 917 >,
|
||||
+ < 2764800000 1080000 952 >,
|
||||
+ < 2841600000 1095000 980 >,
|
||||
+ < 2880000000 1105000 1003 >;
|
||||
|
||||
qcom,speed2-pvs10-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
@@ -2117,7 +2221,11 @@
|
||||
< 2419200000 1005000 777 >,
|
||||
< 2496000000 1020000 813 >,
|
||||
< 2572800000 1035000 849 >,
|
||||
- < 2649600000 1050000 886 >;
|
||||
+ < 2649600000 1050000 886 >,
|
||||
+ < 2688000000 1060000 917 >,
|
||||
+ < 2764800000 1070000 952 >,
|
||||
+ < 2841600000 1085000 980 >,
|
||||
+ < 2880000000 1095000 1003 >;
|
||||
|
||||
qcom,speed2-pvs11-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
@@ -2152,7 +2260,11 @@
|
||||
< 2419200000 995000 777 >,
|
||||
< 2496000000 1010000 813 >,
|
||||
< 2572800000 1025000 849 >,
|
||||
- < 2649600000 1040000 886 >;
|
||||
+ < 2649600000 1040000 886 >,
|
||||
+ < 2688000000 1050000 917 >,
|
||||
+ < 2764800000 1060000 952 >,
|
||||
+ < 2841600000 1075000 980 >,
|
||||
+ < 2880000000 1085000 1003 >;
|
||||
|
||||
qcom,speed2-pvs12-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
@@ -2187,7 +2299,11 @@
|
||||
< 2419200000 985000 777 >,
|
||||
< 2496000000 1000000 813 >,
|
||||
< 2572800000 1015000 849 >,
|
||||
- < 2649600000 1030000 886 >;
|
||||
+ < 2649600000 1030000 886 >,
|
||||
+ < 2688000000 1040000 917 >,
|
||||
+ < 2764800000 1050000 952 >,
|
||||
+ < 2841600000 1065000 980 >,
|
||||
+ < 2880000000 1075000 1003 >;
|
||||
|
||||
qcom,speed2-pvs13-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
@@ -2222,7 +2338,11 @@
|
||||
< 2419200000 975000 777 >,
|
||||
< 2496000000 990000 813 >,
|
||||
< 2572800000 1005000 849 >,
|
||||
- < 2649600000 1020000 886 >;
|
||||
+ < 2649600000 1020000 886 >,
|
||||
+ < 2688000000 1030000 917 >,
|
||||
+ < 2764800000 1040000 952 >,
|
||||
+ < 2841600000 1055000 980 >,
|
||||
+ < 2880000000 1065000 1003 >;
|
||||
|
||||
qcom,speed2-pvs14-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
@@ -2257,7 +2377,11 @@
|
||||
< 2419200000 965000 777 >,
|
||||
< 2496000000 980000 813 >,
|
||||
< 2572800000 995000 849 >,
|
||||
- < 2649600000 1010000 886 >;
|
||||
+ < 2649600000 1010000 886 >,
|
||||
+ < 2688000000 1020000 917 >,
|
||||
+ < 2764800000 1030000 952 >,
|
||||
+ < 2841600000 1045000 980 >,
|
||||
+ < 2880000000 1055000 1003 >;
|
||||
|
||||
qcom,speed2-pvs15-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
@@ -2292,7 +2416,11 @@
|
||||
< 2419200000 955000 777 >,
|
||||
< 2496000000 970000 813 >,
|
||||
< 2572800000 985000 849 >,
|
||||
- < 2649600000 1000000 886 >;
|
||||
+ < 2649600000 1000000 886 >,
|
||||
+ < 2688000000 1010000 917 >,
|
||||
+ < 2764800000 1020000 952 >,
|
||||
+ < 2841600000 1035000 980 >,
|
||||
+ < 2880000000 1045000 1003 >;
|
||||
|
||||
/* 2.5GHz RC1 */
|
||||
qcom,speed1-pvs0-bin-v1 =
|
||||
@@ -4365,7 +4493,11 @@
|
||||
< 2457600 1728000 16250 >,
|
||||
< 2496000 1728000 16250 >,
|
||||
< 2572800 1728000 16250 >,
|
||||
- < 2649600 1728000 16250 >;
|
||||
+ < 2649600 1728000 16250 >,
|
||||
+ < 2688000 1728000 16250 >, /* overclock */
|
||||
+ < 2764800 1728000 16250 >,
|
||||
+ < 2841600 1728000 16250 >,
|
||||
+ < 2880000 1728000 16250 >;
|
||||
};
|
||||
|
||||
usb_otg: usb@f9a55000 {
|
||||
--
|
||||
2.9.3
|
||||
|
||||
|
||||
From aeca3d3b8d3177ddf8aab303b54f5ef3a1d0ce05 Mon Sep 17 00:00:00 2001
|
||||
From: XileForce <rdaguiar360@gmail.com>
|
||||
Date: Mon, 11 May 2015 21:43:20 -0700
|
||||
Subject: [PATCH 3/6] APQ8084: 2457600 Is Not A Real Frequency. Replace It With
|
||||
2419200 2457600 does not exist in our voltage/current tables. Thus its
|
||||
voltage cant be adjusted, nor am I sure what voltage it actually uses since
|
||||
it isnt defined anywhere. Let's replace that with the existing, but currently
|
||||
unused, 2419200 step.
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/qcom/apq8084.dtsi | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/qcom/apq8084.dtsi b/arch/arm/boot/dts/qcom/apq8084.dtsi
|
||||
index c419bc3..1fe7174 100644
|
||||
--- a/arch/arm/boot/dts/qcom/apq8084.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom/apq8084.dtsi
|
||||
@@ -4490,7 +4490,7 @@
|
||||
< 1728000 1651200 12145 >,
|
||||
< 1958400 1728000 16250 >,
|
||||
< 2265600 1728000 16250 >,
|
||||
- < 2457600 1728000 16250 >,
|
||||
+ < 2419200 1728000 16250 >,
|
||||
< 2496000 1728000 16250 >,
|
||||
< 2572800 1728000 16250 >,
|
||||
< 2649600 1728000 16250 >,
|
||||
--
|
||||
2.9.3
|
||||
|
||||
|
||||
From 591d576aba39ec8ecb3c4c564577490e451d8839 Mon Sep 17 00:00:00 2001
|
||||
From: Felipe Leon <fglfgl27@gmail.com>
|
||||
Date: Sat, 17 Dec 2016 03:30:45 -0800
|
||||
Subject: [PATCH 4/6] apq8084: DTB Fix qcom,bcl table
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/qcom/apq8084.dtsi | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/qcom/apq8084.dtsi b/arch/arm/boot/dts/qcom/apq8084.dtsi
|
||||
index 1fe7174..a5f2a26 100644
|
||||
--- a/arch/arm/boot/dts/qcom/apq8084.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom/apq8084.dtsi
|
||||
@@ -5030,9 +5030,9 @@
|
||||
qcom,ibat-monitor {
|
||||
high-threshold-uamp = <3000000>;
|
||||
low-threshold-uamp = <1000000>;
|
||||
- mitigation-freq-khz = <1958400>;
|
||||
- mitigation-gpu-freq-khz = <389000>;
|
||||
- max-gpu-freq-khz = <600000>;
|
||||
+ mitigation-freq-khz = <2880000>;
|
||||
+ mitigation-gpu-freq-khz = <350000>;
|
||||
+ max-gpu-freq-khz = <800000>;
|
||||
ibat-channel = <0x15>;
|
||||
adc-interval-usec = <3900>;
|
||||
uv-to-ua-numerator = <2>;
|
||||
--
|
||||
2.9.3
|
||||
|
||||
|
||||
From 170faa65e72f696aaa6a60cc9653c530c2225d32 Mon Sep 17 00:00:00 2001
|
||||
From: Felipe de Leon <fglfgl27@gmail.com>
|
||||
Date: Sat, 17 Dec 2016 04:04:13 -0800
|
||||
Subject: [PATCH 5/6] boot: dtsi: Adds the current values for the cores in uA
|
||||
for under and overclock
|
||||
|
||||
Current value based on calculos made using the stock values
|
||||
orginal commit
|
||||
bhb27/android_kernel_motorola_apq8084@0e332d0
|
||||
bhb27/android_kernel_motorola_apq8084@9d21c12
|
||||
---
|
||||
arch/arm/boot/dts/qcom/apq8084.dtsi | 36 ++++++++++++++++++++++++++++--------
|
||||
1 file changed, 28 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/qcom/apq8084.dtsi b/arch/arm/boot/dts/qcom/apq8084.dtsi
|
||||
index a5f2a26..8b264bd 100644
|
||||
--- a/arch/arm/boot/dts/qcom/apq8084.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom/apq8084.dtsi
|
||||
@@ -38,7 +38,8 @@
|
||||
reg = <0x0>;
|
||||
// The currents(uA) correspond to the frequencies in the
|
||||
// frequency table.
|
||||
- current = < 71000 //300000 kHz
|
||||
+ current = < 64000 //268800 kHz underclock
|
||||
+ 71000 //300000 kHz
|
||||
83000 //422400 kHz
|
||||
97000 //652800 kHz
|
||||
106000 //729600 kHz
|
||||
@@ -55,7 +56,11 @@
|
||||
405000 //2457600 kHz
|
||||
405000 //2496000 kHz
|
||||
413000 //2572800 kHz
|
||||
- 414000>; //2649600 kHz
|
||||
+ 414000 //2649600 kHz
|
||||
+ 420000 //2688000 kHz overclock
|
||||
+ 432000 //2764800 kHz
|
||||
+ 444000 //2841600 kHz
|
||||
+ 450000>; //2880000 kHz
|
||||
};
|
||||
|
||||
CPU1: cpu@1 {
|
||||
@@ -64,7 +69,8 @@
|
||||
reg = <0x1>;
|
||||
// The currents(uA) correspond to the frequencies in the
|
||||
// frequency table.
|
||||
- current = < 40470 //300000 kHz
|
||||
+ current = < 36260 //268800 kHz underclock
|
||||
+ 40470 //300000 kHz
|
||||
47309 //422400 kHz
|
||||
55289 //652800 kHz
|
||||
60419 //729600 kHz
|
||||
@@ -81,7 +87,11 @@
|
||||
230849 //2457600 kHz
|
||||
230849 //2496000 kHz
|
||||
235409 //2572800 kHz
|
||||
- 235979>; //2649600 kHz
|
||||
+ 414000 //2649600 kHz
|
||||
+ 420000 //2688000 kHz overclock
|
||||
+ 432000 //2764800 kHz
|
||||
+ 444000 //2841600 kHz
|
||||
+ 450000>; //2880000 kHz
|
||||
};
|
||||
|
||||
CPU2: cpu@2 {
|
||||
@@ -90,7 +100,8 @@
|
||||
reg = <0x2>;
|
||||
// The currents(uA) correspond to the frequencies in the
|
||||
// frequency table.
|
||||
- current = < 46860 //300000 kHz
|
||||
+ current = < 41980 //268800 kHz underclock
|
||||
+ 46860 //300000 kHz
|
||||
54780 //422400 kHz
|
||||
64020 //652800 kHz
|
||||
69960 //729600 kHz
|
||||
@@ -107,7 +118,11 @@
|
||||
267300 //2457600 kHz
|
||||
267300 //2496000 kHz
|
||||
272580 //2572800 kHz
|
||||
- 273240>; //2649600 kHz
|
||||
+ 414000 //2649600 kHz
|
||||
+ 420000 //2688000 kHz overclock
|
||||
+ 432000 //2764800 kHz
|
||||
+ 444000 //2841600 kHz
|
||||
+ 450000>; //2880000 kHz
|
||||
};
|
||||
|
||||
CPU3: cpu@3 {
|
||||
@@ -116,7 +131,8 @@
|
||||
reg = <0x3>;
|
||||
// The currents(uA) correspond to the frequencies in the
|
||||
// frequency table.
|
||||
- current = < 53960 //300000 kHz
|
||||
+ current = < 48340 //268800 kHz underclock
|
||||
+ 53960 //300000 kHz
|
||||
63080 //422400 kHz
|
||||
73720 //652800 kHz
|
||||
80560 //729600 kHz
|
||||
@@ -133,7 +149,11 @@
|
||||
307800 //2457600 kHz
|
||||
307800 //2496000 kHz
|
||||
313880 //2572800 kHz
|
||||
- 314640>; //2649600 kHz
|
||||
+ 414000 //2649600 kHz
|
||||
+ 420000 //2688000 kHz overclock
|
||||
+ 432000 //2764800 kHz
|
||||
+ 444000 //2841600 kHz
|
||||
+ 450000>; //2880000 kHz
|
||||
};
|
||||
};
|
||||
memory {
|
||||
--
|
||||
2.9.3
|
||||
|
||||
|
||||
From c170f85350b5bf5148283a85f27504496d063852 Mon Sep 17 00:00:00 2001
|
||||
From: hellsgod <hellsgod@gmx.ch>
|
||||
Date: Tue, 23 Jun 2015 08:42:24 +0200
|
||||
Subject: [PATCH 6/6] arm/dt: shamu: Prevent BCL driver messing around with
|
||||
cores
|
||||
|
||||
credits to neobuddy for the heads up!
|
||||
---
|
||||
arch/arm/boot/dts/qcom/apq8084.dtsi | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/qcom/apq8084.dtsi b/arch/arm/boot/dts/qcom/apq8084.dtsi
|
||||
index 8b264bd..26f95e4 100644
|
||||
--- a/arch/arm/boot/dts/qcom/apq8084.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom/apq8084.dtsi
|
||||
@@ -5046,7 +5046,6 @@
|
||||
qcom,bcl-enable;
|
||||
qcom,ibat-vadc = <&pma8084_vadc>;
|
||||
qcom,ibat-threshold-adc_tm = <&pma8084_adc_tm>;
|
||||
- qcom,bcl-hotplug-list = <&CPU2 &CPU3>;
|
||||
qcom,ibat-monitor {
|
||||
high-threshold-uamp = <3000000>;
|
||||
low-threshold-uamp = <1000000>;
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,484 +0,0 @@
|
||||
From 28793d3021e480bba68fe8b76d9848a6b8aee5d5 Mon Sep 17 00:00:00 2001
|
||||
From: flar2 <asegaert@gmail.com>
|
||||
Date: Tue, 3 Nov 2015 21:21:34 -0500
|
||||
Subject: [PATCH 1/3] msm8992 initial overclocking
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/qcom/msm8992-regulator.dtsi | 30 ++++++++++++--------
|
||||
arch/arm/boot/dts/qcom/msm8992.dtsi | 40 +++++++++++++++++++-------
|
||||
drivers/clk/qcom/clock-cpu-8994.c | 8 +++---
|
||||
drivers/cpufreq/qcom-cpufreq.c | 41 +++++++++++++++++++++++++++
|
||||
4 files changed, 93 insertions(+), 26 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi b/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi
|
||||
index d5f6860..23b23ba 100644
|
||||
--- a/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi
|
||||
@@ -605,7 +605,7 @@
|
||||
regulator-name = "apc0_corner";
|
||||
qcom,cpr-fuse-corners = <4>;
|
||||
regulator-min-microvolt = <1>;
|
||||
- regulator-max-microvolt = <10>;
|
||||
+ regulator-max-microvolt = <12>;
|
||||
|
||||
qcom,cpr-voltage-ceiling = <900000 900000 1000000 1180000>;
|
||||
qcom,cpr-voltage-floor = <640000 700000 800000 850000>;
|
||||
@@ -669,15 +669,15 @@
|
||||
qcom,cpr-init-voltage-ref = <900000 900000 1000000 1230000>;
|
||||
qcom,cpr-init-voltage-step = <10000>;
|
||||
|
||||
- qcom,cpr-corner-map = <1 1 2 2 3 3 4 4 4 4>;
|
||||
+ qcom,cpr-corner-map = <1 1 2 2 3 3 4 4 4 4 4 4>;
|
||||
qcom,cpr-voltage-ceiling-override =
|
||||
<0xFFFFFFFF 0 800000 800000 900000 900000
|
||||
1000000 1000000 1115000 1115000
|
||||
- 1180000 1180000>;
|
||||
+ 1180000 1180000 1180000 1180000>;
|
||||
qcom,cpr-voltage-floor-override =
|
||||
<0xFFFFFFFF 0 640000 655000 700000 735000
|
||||
800000 835000 850000 875000
|
||||
- 950000 1000000>;
|
||||
+ 950000 1000000 1000000 1000000>;
|
||||
qcom,cpr-fuse-version-map =
|
||||
<0 0xffffffff 0 0 0 0 0>,
|
||||
<0 0xffffffff 1 0 0 0 0>,
|
||||
@@ -759,10 +759,12 @@
|
||||
<7 864000000>,
|
||||
<8 960000000>,
|
||||
<9 1248000000>,
|
||||
- <10 1440000000>;
|
||||
+ <10 1440000000>,
|
||||
+ <11 1536000000>,
|
||||
+ <12 1632000000>;
|
||||
qcom,cpr-speed-bin-max-corners =
|
||||
<0 0 2 4 6 9>,
|
||||
- <1 0 2 4 6 10>;
|
||||
+ <1 0 2 4 6 12>;
|
||||
qcom,cpr-enable;
|
||||
};
|
||||
|
||||
@@ -774,7 +776,7 @@
|
||||
regulator-name = "apc1_corner";
|
||||
qcom,cpr-fuse-corners = <4>;
|
||||
regulator-min-microvolt = <1>;
|
||||
- regulator-max-microvolt = <15>;
|
||||
+ regulator-max-microvolt = <17>;
|
||||
|
||||
qcom,cpr-voltage-ceiling = <900000 900000 1000000 1180000>;
|
||||
qcom,cpr-voltage-floor = <640000 640000 745000 850000>;
|
||||
@@ -841,17 +843,19 @@
|
||||
qcom,cpr-init-voltage-ref = <900000 900000 1000000 1230000>;
|
||||
qcom,cpr-init-voltage-step = <10000>;
|
||||
|
||||
- qcom,cpr-corner-map = <1 2 2 2 2 3 3 3 4 4 4 4 4 4 4>;
|
||||
+ qcom,cpr-corner-map = <1 2 2 2 2 3 3 3 4 4 4 4 4 4 4 4 4>;
|
||||
qcom,cpr-voltage-ceiling-override =
|
||||
<0xFFFFFFFF 0 900000 900000 900000 900000
|
||||
900000 1000000 1000000 1000000
|
||||
1115000 1115000 1115000 1115000
|
||||
- 1115000 1115000 1180000>;
|
||||
+ 1115000 1115000 1180000 1180000
|
||||
+ 1180000>;
|
||||
qcom,cpr-voltage-floor-override =
|
||||
<0xFFFFFFFF 0 640000 640000 665000 690000
|
||||
735000 745000 770000 785000
|
||||
850000 860000 880000 900000
|
||||
- 920000 935000 1000000>;
|
||||
+ 920000 935000 1000000 1000000
|
||||
+ 1000000>;
|
||||
qcom,cpr-fuse-version-map =
|
||||
<0xffffffff 0xffffffff 0 4 4 4 4>,
|
||||
<0xffffffff 0xffffffff 1 4 4 4 4>,
|
||||
@@ -908,9 +912,11 @@
|
||||
<12 1536000000>,
|
||||
<13 1632000000>,
|
||||
<14 1689600000>,
|
||||
- <15 1824000000>;
|
||||
+ <15 1824000000>,
|
||||
+ <16 1958400000>,
|
||||
+ <17 2016000000>;
|
||||
qcom,cpr-speed-bin-max-corners =
|
||||
- <0xFFFFFFFF 0 1 5 8 15>;
|
||||
+ <0xFFFFFFFF 0 1 5 8 17>;
|
||||
qcom,cpr-enable;
|
||||
};
|
||||
|
||||
diff --git a/arch/arm/boot/dts/qcom/msm8992.dtsi b/arch/arm/boot/dts/qcom/msm8992.dtsi
|
||||
index 5ba420c..8892b56 100644
|
||||
--- a/arch/arm/boot/dts/qcom/msm8992.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom/msm8992.dtsi
|
||||
@@ -852,7 +852,9 @@
|
||||
< 787200 3509 >,
|
||||
< 864000 4173 >,
|
||||
< 960000 5271 >,
|
||||
- < 1440000 7102 >;
|
||||
+ < 1440000 7102 >,
|
||||
+ < 1536000 7102 >,
|
||||
+ < 1632000 7102 >;
|
||||
cpu-to-dev-map-4 =
|
||||
< 384000 1525 >,
|
||||
< 633600 2288 >,
|
||||
@@ -860,16 +862,22 @@
|
||||
< 864000 4173 >,
|
||||
< 960000 5271 >,
|
||||
< 1344000 5928 >,
|
||||
- < 1824000 7102 >;
|
||||
+ < 1824000 7102 >,
|
||||
+ < 1958400 7102 >,
|
||||
+ < 2016000 7102 >;
|
||||
};
|
||||
|
||||
mincpubw-cpufreq {
|
||||
target-dev = <&mincpubw>;
|
||||
cpu-to-dev-map-0 =
|
||||
- < 1440000 1525 >;
|
||||
+ < 1440000 1525 >,
|
||||
+ < 1536000 1525 >,
|
||||
+ < 1632000 1525 >;
|
||||
cpu-to-dev-map-4 =
|
||||
< 1689600 1525 >,
|
||||
- < 1824000 5928 >;
|
||||
+ < 1824000 1525 >,
|
||||
+ < 1958400 1525 >,
|
||||
+ < 2016000 5928 >;
|
||||
};
|
||||
|
||||
cci-cpufreq {
|
||||
@@ -880,7 +888,9 @@
|
||||
< 787200 384000 >,
|
||||
< 864000 556800 >,
|
||||
< 960000 729600 >,
|
||||
- < 1440000 787200 >;
|
||||
+ < 1440000 787200 >,
|
||||
+ < 1536000 787200 >,
|
||||
+ < 1632000 787200 >;
|
||||
cpu-to-dev-map-4 =
|
||||
< 384000 134400 >,
|
||||
< 480000 300000 >,
|
||||
@@ -888,7 +898,9 @@
|
||||
< 768000 556800 >,
|
||||
< 960000 600000 >,
|
||||
< 1440000 729600 >,
|
||||
- < 1824000 787200 >;
|
||||
+ < 1824000 787200 >,
|
||||
+ < 1958400 787200 >,
|
||||
+ < 2016000 787200 >;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -915,7 +927,9 @@
|
||||
< 864000 >,
|
||||
< 960000 >,
|
||||
< 1248000 >,
|
||||
- < 1440000 >;
|
||||
+ < 1440000 >,
|
||||
+ < 1536000 >,
|
||||
+ < 1632000 >;
|
||||
|
||||
qcom,cpufreq-table-4 =
|
||||
< 384000 >,
|
||||
@@ -930,7 +944,9 @@
|
||||
< 1536000 >,
|
||||
< 1632000 >,
|
||||
< 1689600 >,
|
||||
- < 1824000 >;
|
||||
+ < 1824000 >,
|
||||
+ < 1958400 >,
|
||||
+ < 2016000 >;
|
||||
|
||||
};
|
||||
|
||||
@@ -968,7 +984,9 @@
|
||||
< 864000000 7>,
|
||||
< 960000000 8>,
|
||||
< 1248000000 9>,
|
||||
- < 1440000000 10>;
|
||||
+ < 1440000000 10>,
|
||||
+ < 1536000000 11>,
|
||||
+ < 1632000000 12>;
|
||||
qcom,a57-speedbin0-v0 =
|
||||
< 0 0>,
|
||||
< 384000000 5>,
|
||||
@@ -983,7 +1001,9 @@
|
||||
< 1536000000 12>,
|
||||
< 1632000000 13>,
|
||||
< 1689600000 14>,
|
||||
- < 1824000000 15>;
|
||||
+ < 1824000000 15>,
|
||||
+ < 1958400000 16>,
|
||||
+ < 2016000000 17>;
|
||||
qcom,cci-speedbin0-v0 =
|
||||
< 0 0>,
|
||||
< 134400000 2>,
|
||||
diff --git a/drivers/clk/qcom/clock-cpu-8994.c b/drivers/clk/qcom/clock-cpu-8994.c
|
||||
index 6eb346b..de3d72f 100644
|
||||
--- a/drivers/clk/qcom/clock-cpu-8994.c
|
||||
+++ b/drivers/clk/qcom/clock-cpu-8994.c
|
||||
@@ -191,13 +191,13 @@ static struct pll_clk a57_pll0 = {
|
||||
.test_ctl_lo_val = 0x00010000,
|
||||
},
|
||||
.min_rate = 1209600000,
|
||||
- .max_rate = 1996800000,
|
||||
+ .max_rate = 2073600000,
|
||||
.base = &vbases[C1_PLL_BASE],
|
||||
.c = {
|
||||
.parent = &xo_ao.c,
|
||||
.dbg_name = "a57_pll0",
|
||||
.ops = &clk_ops_variable_rate_pll,
|
||||
- VDD_DIG_FMAX_MAP2(LOW, 1593600000, NOMINAL, 1996800000),
|
||||
+ VDD_DIG_FMAX_MAP2(LOW, 1593600000, NOMINAL, 2073600000),
|
||||
CLK_INIT(a57_pll0.c),
|
||||
},
|
||||
};
|
||||
@@ -229,13 +229,13 @@ static struct pll_clk a57_pll1 = {
|
||||
/* Necessary since we'll be setting a rate before handoff on V1 */
|
||||
.src_rate = 19200000,
|
||||
.min_rate = 1209600000,
|
||||
- .max_rate = 1996800000,
|
||||
+ .max_rate = 2073600000,
|
||||
.base = &vbases[C1_PLL_BASE],
|
||||
.c = {
|
||||
.parent = &xo_ao.c,
|
||||
.dbg_name = "a57_pll1",
|
||||
.ops = &clk_ops_variable_rate_pll,
|
||||
- VDD_DIG_FMAX_MAP2(LOW, 1593600000, NOMINAL, 1996800000),
|
||||
+ VDD_DIG_FMAX_MAP2(LOW, 1593600000, NOMINAL, 2073600000),
|
||||
CLK_INIT(a57_pll1.c),
|
||||
},
|
||||
};
|
||||
diff --git a/drivers/cpufreq/qcom-cpufreq.c b/drivers/cpufreq/qcom-cpufreq.c
|
||||
index e30b0cb..dd3a589 100644
|
||||
--- a/drivers/cpufreq/qcom-cpufreq.c
|
||||
+++ b/drivers/cpufreq/qcom-cpufreq.c
|
||||
@@ -31,6 +31,40 @@
|
||||
|
||||
static DEFINE_MUTEX(l2bw_lock);
|
||||
|
||||
+static unsigned long arg_cpu_max_a53 = 1440000;
|
||||
+
|
||||
+static int __init cpufreq_read_cpu_max_a53(char *cpu_max_a53)
|
||||
+{
|
||||
+ unsigned long ui_khz;
|
||||
+ int ret;
|
||||
+
|
||||
+ ret = kstrtoul(cpu_max_a53, 0, &ui_khz);
|
||||
+ if (ret)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ arg_cpu_max_a53 = ui_khz;
|
||||
+ printk("cpu_max_a53=%lu\n", arg_cpu_max_a53);
|
||||
+ return ret;
|
||||
+}
|
||||
+__setup("cpu_max_a53=", cpufreq_read_cpu_max_a53);
|
||||
+
|
||||
+static unsigned long arg_cpu_max_a57 = 1824000;
|
||||
+
|
||||
+static int __init cpufreq_read_cpu_max_a57(char *cpu_max_a57)
|
||||
+{
|
||||
+ unsigned long ui_khz;
|
||||
+ int ret;
|
||||
+
|
||||
+ ret = kstrtoul(cpu_max_a57, 0, &ui_khz);
|
||||
+ if (ret)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ arg_cpu_max_a57 = ui_khz;
|
||||
+ printk("cpu_max_a57=%lu\n", arg_cpu_max_a57);
|
||||
+ return ret;
|
||||
+}
|
||||
+__setup("cpu_max_a57=", cpufreq_read_cpu_max_a57);
|
||||
+
|
||||
static struct clk *cpu_clk[NR_CPUS];
|
||||
static struct clk *l2_clk;
|
||||
static DEFINE_PER_CPU(struct cpufreq_frequency_table *, freq_table);
|
||||
@@ -364,6 +398,13 @@ static struct cpufreq_frequency_table *cpufreq_parse_dt(struct device *dev,
|
||||
if (i > 0 && f <= ftbl[i-1].frequency)
|
||||
break;
|
||||
|
||||
+ //Custom max freq
|
||||
+ if ((cpu < 4 && f > arg_cpu_max_a53) ||
|
||||
+ (cpu >= 4 && f > arg_cpu_max_a57)) {
|
||||
+ nf = i;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
ftbl[i].driver_data = i;
|
||||
ftbl[i].frequency = f;
|
||||
}
|
||||
--
|
||||
2.9.3
|
||||
|
||||
|
||||
From 9dfe99b9f8eead920f7cdefdb2ae7b1cea776d9b Mon Sep 17 00:00:00 2001
|
||||
From: dirtyhank <dirtyhank@gmail.com>
|
||||
Date: Thu, 14 Jan 2016 12:56:07 +0100
|
||||
Subject: [PATCH 2/3] CPU underclocking
|
||||
|
||||
Based on underclocking to Nexus 6P by anarkia1976
|
||||
---
|
||||
arch/arm/boot/dts/qcom/msm8992-regulator.dtsi | 6 +++---
|
||||
arch/arm/boot/dts/qcom/msm8992.dtsi | 14 +++++++++++---
|
||||
2 files changed, 14 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi b/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi
|
||||
index 23b23ba..1ef9eb3 100644
|
||||
--- a/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi
|
||||
@@ -750,7 +750,7 @@
|
||||
qcom,cpr-voltage-scaling-factor-max = <0 0 2000 2000>;
|
||||
qcom,cpr-quot-adjust-scaling-factor-max = <0 2000 2000 2000>;
|
||||
qcom,cpr-corner-frequency-map =
|
||||
- <1 300000000>,
|
||||
+ <1 302400000>,
|
||||
<2 384000000>,
|
||||
<3 460800000>,
|
||||
<4 600000000>,
|
||||
@@ -898,8 +898,8 @@
|
||||
qcom,cpr-voltage-scaling-factor-max = <0 0 2000 2000>;
|
||||
qcom,cpr-quot-adjust-scaling-factor-max = <0 0 2000 2000>;
|
||||
qcom,cpr-corner-frequency-map =
|
||||
- <1 300000000>, /* SVS Fmin for "SVS2" */
|
||||
- <2 300000000>,
|
||||
+ <1 302400000>, /* SVS Fmin for "SVS2" */
|
||||
+ <2 302400000>,
|
||||
<3 384000000>,
|
||||
<4 480000000>,
|
||||
<5 633600000>,
|
||||
diff --git a/arch/arm/boot/dts/qcom/msm8992.dtsi b/arch/arm/boot/dts/qcom/msm8992.dtsi
|
||||
index 8892b56..f6a39cd 100644
|
||||
--- a/arch/arm/boot/dts/qcom/msm8992.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom/msm8992.dtsi
|
||||
@@ -796,7 +796,7 @@
|
||||
governor = "cpufreq";
|
||||
freq-tbl-khz =
|
||||
< 134400 >,
|
||||
- < 300000 >,
|
||||
+ < 302400 >,
|
||||
< 384000 >,
|
||||
< 556800 >,
|
||||
< 600000 >,
|
||||
@@ -856,7 +856,8 @@
|
||||
< 1536000 7102 >,
|
||||
< 1632000 7102 >;
|
||||
cpu-to-dev-map-4 =
|
||||
- < 384000 1525 >,
|
||||
+ < 302400 1525 >,
|
||||
+ < 384000 1525 >,
|
||||
< 633600 2288 >,
|
||||
< 768000 3509 >,
|
||||
< 864000 4173 >,
|
||||
@@ -883,6 +884,7 @@
|
||||
cci-cpufreq {
|
||||
target-dev = <&cci_cache>;
|
||||
cpu-to-dev-map-0 =
|
||||
+ < 302400 134400 >,
|
||||
< 384000 134400 >,
|
||||
< 600000 300000 >,
|
||||
< 787200 384000 >,
|
||||
@@ -892,6 +894,7 @@
|
||||
< 1536000 787200 >,
|
||||
< 1632000 787200 >;
|
||||
cpu-to-dev-map-4 =
|
||||
+ < 302400 134400 >,
|
||||
< 384000 134400 >,
|
||||
< 480000 300000 >,
|
||||
< 633600 384000 >,
|
||||
@@ -919,6 +922,7 @@
|
||||
qcom,governor-per-policy;
|
||||
|
||||
qcom,cpufreq-table-0 =
|
||||
+ < 302400 >,
|
||||
< 384000 >,
|
||||
< 460800 >,
|
||||
< 600000 >,
|
||||
@@ -932,6 +936,7 @@
|
||||
< 1632000 >;
|
||||
|
||||
qcom,cpufreq-table-4 =
|
||||
+ < 302400 >,
|
||||
< 384000 >,
|
||||
< 480000 >,
|
||||
< 633600 >,
|
||||
@@ -966,6 +971,7 @@
|
||||
vdd-dig-supply = <&pm8994_s2_corner_ao>;
|
||||
qcom,a53-speedbin0-v0 =
|
||||
< 0 0>,
|
||||
+ < 302400000 1>,
|
||||
< 384000000 2>,
|
||||
< 460800000 3>,
|
||||
< 600000000 4>,
|
||||
@@ -976,6 +982,7 @@
|
||||
< 1248000000 9>;
|
||||
qcom,a53-speedbin1-v0 =
|
||||
< 0 0>,
|
||||
+ < 302400000 1>,
|
||||
< 384000000 2>,
|
||||
< 460800000 3>,
|
||||
< 600000000 4>,
|
||||
@@ -989,6 +996,7 @@
|
||||
< 1632000000 12>;
|
||||
qcom,a57-speedbin0-v0 =
|
||||
< 0 0>,
|
||||
+ < 302400000 5>,
|
||||
< 384000000 5>,
|
||||
< 480000000 5>,
|
||||
< 633600000 5>,
|
||||
@@ -1007,7 +1015,7 @@
|
||||
qcom,cci-speedbin0-v0 =
|
||||
< 0 0>,
|
||||
< 134400000 2>,
|
||||
- < 300000000 4>,
|
||||
+ < 302400000 4>,
|
||||
< 384000000 6>,
|
||||
< 556800000 6>,
|
||||
< 600000000 8>,
|
||||
--
|
||||
2.9.3
|
||||
|
||||
|
||||
From b7e24657fb125b77bb5d9a39493040e1234c7c83 Mon Sep 17 00:00:00 2001
|
||||
From: flar2 <asegaert@gmail.com>
|
||||
Date: Mon, 21 Nov 2016 21:40:09 -0500
|
||||
Subject: [PATCH 3/3] msm8992: bump oc voltages
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/qcom/msm8992-regulator.dtsi | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi b/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi
|
||||
index 1ef9eb3..d2a875b 100644
|
||||
--- a/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom/msm8992-regulator.dtsi
|
||||
@@ -673,11 +673,11 @@
|
||||
qcom,cpr-voltage-ceiling-override =
|
||||
<0xFFFFFFFF 0 800000 800000 900000 900000
|
||||
1000000 1000000 1115000 1115000
|
||||
- 1180000 1180000 1180000 1180000>;
|
||||
+ 1180000 1180000 1180000 1200000>;
|
||||
qcom,cpr-voltage-floor-override =
|
||||
<0xFFFFFFFF 0 640000 655000 700000 735000
|
||||
800000 835000 850000 875000
|
||||
- 950000 1000000 1000000 1000000>;
|
||||
+ 950000 1000000 1000000 1100000>;
|
||||
qcom,cpr-fuse-version-map =
|
||||
<0 0xffffffff 0 0 0 0 0>,
|
||||
<0 0xffffffff 1 0 0 0 0>,
|
||||
@@ -849,13 +849,13 @@
|
||||
900000 1000000 1000000 1000000
|
||||
1115000 1115000 1115000 1115000
|
||||
1115000 1115000 1180000 1180000
|
||||
- 1180000>;
|
||||
+ 1200000>;
|
||||
qcom,cpr-voltage-floor-override =
|
||||
<0xFFFFFFFF 0 640000 640000 665000 690000
|
||||
735000 745000 770000 785000
|
||||
850000 860000 880000 900000
|
||||
920000 935000 1000000 1000000
|
||||
- 1000000>;
|
||||
+ 1100000>;
|
||||
qcom,cpr-fuse-version-map =
|
||||
<0xffffffff 0xffffffff 0 4 4 4 4>,
|
||||
<0xffffffff 0xffffffff 1 4 4 4 4>,
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,42 +0,0 @@
|
||||
From f24f2dec25043cf7e6ef0f80a65dde45f2f131dd Mon Sep 17 00:00:00 2001
|
||||
From: franciscofranco <franciscofranco.1990@gmail.com>
|
||||
Date: Wed, 20 Jan 2016 01:45:39 +0000
|
||||
Subject: [PATCH] IKSWM-6057: dts: mmc: remove wakeup on idle flag
|
||||
|
||||
Remove the wakeup-on-idle flag can improve the mmc
|
||||
performance(verified with iozone). No current drain
|
||||
and other system performance impact.
|
||||
|
||||
Change-Id: Ia90cdfb66569b5ee3713d2c9785a2b7a9d24760e
|
||||
Signed-off-by: Lianwei Wang <a22439@motorola.com>
|
||||
Reviewed-on: http://gerrit.mot.com/785887
|
||||
SLTApproved: Slta Waiver <sltawvr@motorola.com>
|
||||
SME-Granted: SME Approvals Granted
|
||||
Tested-by: Jira Key <jirakey@motorola.com>
|
||||
Reviewed-by: Zhi-Ming Yuan <a14194@motorola.com>
|
||||
Submit-Approved: Jira Key <jirakey@motorola.com>
|
||||
Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
|
||||
---
|
||||
arch/arm/boot/dts/qcom/msm8992.dtsi | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/qcom/msm8992.dtsi b/arch/arm/boot/dts/qcom/msm8992.dtsi
|
||||
index 5dedecb..dc70365 100644
|
||||
--- a/arch/arm/boot/dts/qcom/msm8992.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom/msm8992.dtsi
|
||||
@@ -1706,7 +1706,6 @@
|
||||
qcom,cpu-dma-latency-us = <301 70>;
|
||||
qcom,cpu-affinity = "affine_cores";
|
||||
qcom,cpu-affinity-mask = <0x0f 0xf0>;
|
||||
- qcom,wakeup-on-idle;
|
||||
|
||||
qcom,msm-bus,name = "sdhc1";
|
||||
qcom,msm-bus,num-cases = <9>;
|
||||
@@ -1746,7 +1745,6 @@
|
||||
qcom,cpu-dma-latency-us = <301 70>;
|
||||
qcom,cpu-affinity = "affine_cores";
|
||||
qcom,cpu-affinity-mask = <0x0f 0xf0>;
|
||||
- qcom,wakeup-on-idle;
|
||||
|
||||
qcom,msm-bus,name = "sdhc2";
|
||||
qcom,msm-bus,num-cases = <8>;
|
@ -1,35 +0,0 @@
|
||||
From 87a5b2ff5c53d13f937bdcb20ab462e4aaa61e3b Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Fri, 18 Nov 2016 12:38:14 -0500
|
||||
Subject: [PATCH] Enable overclock by default
|
||||
|
||||
Change-Id: Idc640d7f58271892ae91678de847d9d1fcc4b281
|
||||
---
|
||||
drivers/cpufreq/qcom-cpufreq.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/cpufreq/qcom-cpufreq.c b/drivers/cpufreq/qcom-cpufreq.c
|
||||
index dd3a589..4cc8680 100644
|
||||
--- a/drivers/cpufreq/qcom-cpufreq.c
|
||||
+++ b/drivers/cpufreq/qcom-cpufreq.c
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
static DEFINE_MUTEX(l2bw_lock);
|
||||
|
||||
-static unsigned long arg_cpu_max_a53 = 1440000;
|
||||
+static unsigned long arg_cpu_max_a53 = 1632000;
|
||||
|
||||
static int __init cpufreq_read_cpu_max_a53(char *cpu_max_a53)
|
||||
{
|
||||
@@ -48,7 +48,7 @@ static int __init cpufreq_read_cpu_max_a53(char *cpu_max_a53)
|
||||
}
|
||||
__setup("cpu_max_a53=", cpufreq_read_cpu_max_a53);
|
||||
|
||||
-static unsigned long arg_cpu_max_a57 = 1824000;
|
||||
+static unsigned long arg_cpu_max_a57 = 2016000;
|
||||
|
||||
static int __init cpufreq_read_cpu_max_a57(char *cpu_max_a57)
|
||||
{
|
||||
--
|
||||
2.9.3
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,709 +0,0 @@
|
||||
From 0b95ae785c6f1df0e7466a1922f5f3ff858897ae Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:49:57 -0400
|
||||
Subject: [PATCH] Overclocked to 2.8Ghz, underclocked to 268Mhz
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/msm8974-v2.dtsi | 2 +-
|
||||
arch/arm/boot/dts/msm8974pro-pm8941.dtsi | 8 +-
|
||||
.../arm/boot/dts/msm8974pro-pma8084-regulator.dtsi | 16 +-
|
||||
arch/arm/boot/dts/msm8974pro.dtsi | 190 ++++++++++++++++++---
|
||||
4 files changed, 179 insertions(+), 37 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/msm8974-v2.dtsi b/arch/arm/boot/dts/msm8974-v2.dtsi
|
||||
index dbb3bd6..40a730e 100644
|
||||
--- a/arch/arm/boot/dts/msm8974-v2.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974-v2.dtsi
|
||||
@@ -123,7 +123,7 @@
|
||||
<1880000 2068000>,
|
||||
<3008000 3309000>,
|
||||
<3760000 4136000>,
|
||||
- <4468000 2457000>;
|
||||
+ <4468000 2457600>;
|
||||
qcom,dec-ocmem-ab-ib = <0 0>,
|
||||
<176000 519000>,
|
||||
<456000 519000>,
|
||||
diff --git a/arch/arm/boot/dts/msm8974pro-pm8941.dtsi b/arch/arm/boot/dts/msm8974pro-pm8941.dtsi
|
||||
index b502078..79729ea 100644
|
||||
--- a/arch/arm/boot/dts/msm8974pro-pm8941.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974pro-pm8941.dtsi
|
||||
@@ -39,22 +39,22 @@
|
||||
};
|
||||
|
||||
&krait0_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
&krait1_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
&krait2_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
&krait3_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
diff --git a/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi b/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi
|
||||
index 433d466..428a520 100644
|
||||
--- a/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi
|
||||
@@ -492,9 +492,9 @@
|
||||
<0xf908a800 0x1000>; /* APCS_ALIAS0_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
@@ -508,9 +508,9 @@
|
||||
<0xf909a800 0x1000>; /* APCS_ALIAS1_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
@@ -524,9 +524,9 @@
|
||||
<0xf90aa800 0x1000>; /* APCS_ALIAS2_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
@@ -540,9 +540,9 @@
|
||||
<0xf90ba800 0x1000>; /* APCS_ALIAS3_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
diff --git a/arch/arm/boot/dts/msm8974pro.dtsi b/arch/arm/boot/dts/msm8974pro.dtsi
|
||||
index e332793..8524180 100644
|
||||
--- a/arch/arm/boot/dts/msm8974pro.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974pro.dtsi
|
||||
@@ -91,6 +91,7 @@
|
||||
qcom,clock-krait@f9016000 {
|
||||
qcom,speed1-pvs0-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 74 >,
|
||||
< 345600000 775000 85 >,
|
||||
< 422400000 775000 104 >,
|
||||
@@ -122,6 +123,7 @@
|
||||
|
||||
qcom,speed1-pvs1-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 74 >,
|
||||
< 345600000 775000 85 >,
|
||||
< 422400000 775000 104 >,
|
||||
@@ -153,6 +155,7 @@
|
||||
|
||||
qcom,speed1-pvs2-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 74 >,
|
||||
< 345600000 750000 85 >,
|
||||
< 422400000 750000 104 >,
|
||||
@@ -184,6 +187,7 @@
|
||||
|
||||
qcom,speed1-pvs3-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 74 >,
|
||||
< 345600000 750000 85 >,
|
||||
< 422400000 750000 104 >,
|
||||
@@ -215,6 +219,7 @@
|
||||
|
||||
qcom,speed1-pvs4-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 74 >,
|
||||
< 345600000 750000 85 >,
|
||||
< 422400000 750000 104 >,
|
||||
@@ -246,6 +251,7 @@
|
||||
|
||||
qcom,speed1-pvs5-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 720000 68 >,
|
||||
< 300000000 725000 74 >,
|
||||
< 345600000 725000 85 >,
|
||||
< 422400000 725000 104 >,
|
||||
@@ -277,6 +283,7 @@
|
||||
|
||||
qcom,speed1-pvs6-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 720000 68 >,
|
||||
< 300000000 725000 74 >,
|
||||
< 345600000 725000 85 >,
|
||||
< 422400000 725000 104 >,
|
||||
@@ -308,6 +315,7 @@
|
||||
|
||||
qcom,speed3-pvs0-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -338,10 +346,14 @@
|
||||
< 2265600000 1065000 700 >,
|
||||
< 2342400000 1080000 734 >,
|
||||
< 2419200000 1095000 769 >,
|
||||
- < 2457600000 1100000 785 >;
|
||||
+ < 2457600000 1100000 785 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1205000 900 >,
|
||||
+ < 2880000000 1235000 937 >;
|
||||
|
||||
qcom,speed3-pvs1-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -372,10 +384,14 @@
|
||||
< 2265600000 1040000 700 >,
|
||||
< 2342400000 1055000 734 >,
|
||||
< 2419200000 1070000 769 >,
|
||||
- < 2457600000 1075000 785 >;
|
||||
+ < 2457600000 1075000 785 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1205000 900 >,
|
||||
+ < 2880000000 1235000 937 >;
|
||||
|
||||
qcom,speed3-pvs2-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -406,10 +422,14 @@
|
||||
< 2265600000 1015000 700 >,
|
||||
< 2342400000 1030000 734 >,
|
||||
< 2419200000 1045000 769 >,
|
||||
- < 2457600000 1050000 785 >;
|
||||
+ < 2457600000 1050000 785 >,
|
||||
+ < 2572800000 1125000 827 >,
|
||||
+ < 2726400000 1195000 900 >,
|
||||
+ < 2880000000 1225000 937 >;
|
||||
|
||||
qcom,speed3-pvs3-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -440,10 +460,14 @@
|
||||
< 2265600000 990000 700 >,
|
||||
< 2342400000 1005000 734 >,
|
||||
< 2419200000 1020000 769 >,
|
||||
- < 2457600000 1025000 785 >;
|
||||
+ < 2457600000 1025000 785 >,
|
||||
+ < 2572800000 1115000 827 >,
|
||||
+ < 2726400000 1185000 900 >,
|
||||
+ < 2880000000 1215000 937 >;
|
||||
|
||||
qcom,speed3-pvs4-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -474,10 +498,14 @@
|
||||
< 2265600000 965000 700 >,
|
||||
< 2342400000 980000 734 >,
|
||||
< 2419200000 995000 769 >,
|
||||
- < 2457600000 1000000 785 >;
|
||||
+ < 2457600000 1000000 785 >,
|
||||
+ < 2572800000 1075000 827 >,
|
||||
+ < 2726400000 1175000 900 >,
|
||||
+ < 2880000000 1205000 937 >;
|
||||
|
||||
qcom,speed3-pvs5-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -508,10 +536,14 @@
|
||||
< 2265600000 940000 700 >,
|
||||
< 2342400000 955000 734 >,
|
||||
< 2419200000 970000 769 >,
|
||||
- < 2457600000 975000 785 >;
|
||||
+ < 2457600000 975000 785 >,
|
||||
+ < 2572800000 1025000 827 >,
|
||||
+ < 2726400000 1175000 900 >,
|
||||
+ < 2880000000 1195000 937 >;
|
||||
|
||||
qcom,speed3-pvs6-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -542,10 +574,14 @@
|
||||
< 2265600000 915000 700 >,
|
||||
< 2342400000 930000 734 >,
|
||||
< 2419200000 945000 769 >,
|
||||
- < 2457600000 950000 785 >;
|
||||
+ < 2457600000 950000 785 >,
|
||||
+ < 2572800000 1010000 827 >,
|
||||
+ < 2726400000 1155000 900 >,
|
||||
+ < 2880000000 1175000 937 >;
|
||||
|
||||
qcom,speed1-pvs0-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 810000 87 >,
|
||||
< 422400000 820000 108 >,
|
||||
@@ -577,6 +613,7 @@
|
||||
|
||||
qcom,speed1-pvs1-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 810000 108 >,
|
||||
@@ -608,6 +645,7 @@
|
||||
|
||||
qcom,speed1-pvs2-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -639,6 +677,7 @@
|
||||
|
||||
qcom,speed1-pvs3-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -670,6 +709,7 @@
|
||||
|
||||
qcom,speed1-pvs4-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -701,6 +741,7 @@
|
||||
|
||||
qcom,speed1-pvs5-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -732,6 +773,7 @@
|
||||
|
||||
qcom,speed1-pvs6-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -763,6 +805,7 @@
|
||||
|
||||
qcom,speed1-pvs7-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -794,6 +837,7 @@
|
||||
|
||||
qcom,speed1-pvs8-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -825,6 +869,7 @@
|
||||
|
||||
qcom,speed1-pvs9-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -856,6 +901,7 @@
|
||||
|
||||
qcom,speed1-pvs10-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -887,6 +933,7 @@
|
||||
|
||||
qcom,speed1-pvs11-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -918,6 +965,7 @@
|
||||
|
||||
qcom,speed1-pvs12-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -949,6 +997,7 @@
|
||||
|
||||
qcom,speed1-pvs13-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -980,6 +1029,7 @@
|
||||
|
||||
qcom,speed1-pvs14-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 108 >,
|
||||
@@ -1011,6 +1061,7 @@
|
||||
|
||||
qcom,speed1-pvs15-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 108 >,
|
||||
@@ -1042,6 +1093,7 @@
|
||||
|
||||
qcom,speed3-pvs0-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1072,10 +1124,14 @@
|
||||
< 2265600000 1085000 716 >,
|
||||
< 2342400000 1100000 751 >,
|
||||
< 2419200000 1115000 786 >,
|
||||
- < 2457600000 1120000 802 >;
|
||||
+ < 2457600000 1120000 802 >,
|
||||
+ < 2572800000 1175000 827 >,
|
||||
+ < 2726400000 1225000 900 >,
|
||||
+ < 2880000000 1265000 937 >;
|
||||
|
||||
qcom,speed3-pvs1-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1106,10 +1162,14 @@
|
||||
< 2265600000 1075000 716 >,
|
||||
< 2342400000 1090000 751 >,
|
||||
< 2419200000 1105000 786 >,
|
||||
- < 2457600000 1110000 802 >;
|
||||
+ < 2457600000 1110000 802 >,
|
||||
+ < 2572800000 1165000 827 >,
|
||||
+ < 2726400000 1215000 900 >,
|
||||
+ < 2880000000 1245000 937 >;
|
||||
|
||||
qcom,speed3-pvs2-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1140,10 +1200,14 @@
|
||||
< 2265600000 1065000 716 >,
|
||||
< 2342400000 1080000 751 >,
|
||||
< 2419200000 1095000 786 >,
|
||||
- < 2457600000 1100000 802 >;
|
||||
+ < 2457600000 1100000 802 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1185000 900 >,
|
||||
+ < 2880000000 1215000 937 >;
|
||||
|
||||
qcom,speed3-pvs3-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1174,10 +1238,14 @@
|
||||
< 2265600000 1055000 716 >,
|
||||
< 2342400000 1070000 751 >,
|
||||
< 2419200000 1085000 786 >,
|
||||
- < 2457600000 1090000 802 >;
|
||||
+ < 2457600000 1090000 802 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1175000 900 >,
|
||||
+ < 2880000000 1205000 937 >;
|
||||
|
||||
qcom,speed3-pvs4-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1208,10 +1276,14 @@
|
||||
< 2265600000 1045000 716 >,
|
||||
< 2342400000 1060000 751 >,
|
||||
< 2419200000 1075000 786 >,
|
||||
- < 2457600000 1080000 802 >;
|
||||
+ < 2457600000 1080000 802 >,
|
||||
+ < 2572800000 1135000 827 >,
|
||||
+ < 2726400000 1165000 900 >,
|
||||
+ < 2880000000 1195000 937 >;
|
||||
|
||||
qcom,speed3-pvs5-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1242,10 +1314,14 @@
|
||||
< 2265600000 1035000 716 >,
|
||||
< 2342400000 1050000 751 >,
|
||||
< 2419200000 1065000 786 >,
|
||||
- < 2457600000 1070000 802 >;
|
||||
+ < 2457600000 1070000 802 >,
|
||||
+ < 2572800000 1125000 827 >,
|
||||
+ < 2726400000 1155000 900 >,
|
||||
+ < 2880000000 1185000 937 >;
|
||||
|
||||
qcom,speed3-pvs6-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1276,10 +1352,14 @@
|
||||
< 2265600000 1025000 716 >,
|
||||
< 2342400000 1040000 751 >,
|
||||
< 2419200000 1055000 786 >,
|
||||
- < 2457600000 1060000 802 >;
|
||||
+ < 2457600000 1060000 802 >,
|
||||
+ < 2572800000 1115000 827 >,
|
||||
+ < 2726400000 1145000 900 >,
|
||||
+ < 2880000000 1175000 937 >;
|
||||
|
||||
qcom,speed3-pvs7-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1310,10 +1390,14 @@
|
||||
< 2265600000 1015000 716 >,
|
||||
< 2342400000 1030000 751 >,
|
||||
< 2419200000 1045000 786 >,
|
||||
- < 2457600000 1050000 802 >;
|
||||
+ < 2457600000 1050000 802 >,
|
||||
+ < 2572800000 1105000 827 >,
|
||||
+ < 2726400000 1135000 900 >,
|
||||
+ < 2880000000 1165000 937 >;
|
||||
|
||||
qcom,speed3-pvs8-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1344,10 +1428,14 @@
|
||||
< 2265600000 1005000 716 >,
|
||||
< 2342400000 1020000 751 >,
|
||||
< 2419200000 1035000 786 >,
|
||||
- < 2457600000 1040000 802 >;
|
||||
+ < 2457600000 1040000 802 >,
|
||||
+ < 2572800000 1095000 827 >,
|
||||
+ < 2726400000 1125000 900 >,
|
||||
+ < 2880000000 1155000 937 >;
|
||||
|
||||
qcom,speed3-pvs9-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1378,10 +1466,14 @@
|
||||
< 2265600000 995000 716 >,
|
||||
< 2342400000 1010000 751 >,
|
||||
< 2419200000 1025000 786 >,
|
||||
- < 2457600000 1030000 802 >;
|
||||
+ < 2457600000 1030000 802 >,
|
||||
+ < 2572800000 1085000 827 >,
|
||||
+ < 2726400000 1115000 900 >,
|
||||
+ < 2880000000 1145000 937 >;
|
||||
|
||||
qcom,speed3-pvs10-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1412,10 +1504,14 @@
|
||||
< 2265600000 985000 716 >,
|
||||
< 2342400000 1000000 751 >,
|
||||
< 2419200000 1015000 786 >,
|
||||
- < 2457600000 1020000 802 >;
|
||||
+ < 2457600000 1020000 802 >,
|
||||
+ < 2572800000 1075000 827 >,
|
||||
+ < 2726400000 1105000 900 >,
|
||||
+ < 2880000000 1135000 937 >;
|
||||
|
||||
qcom,speed3-pvs11-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1446,10 +1542,14 @@
|
||||
< 2265600000 975000 716 >,
|
||||
< 2342400000 990000 751 >,
|
||||
< 2419200000 1005000 786 >,
|
||||
- < 2457600000 1010000 802 >;
|
||||
+ < 2457600000 1010000 802 >,
|
||||
+ < 2572800000 1065000 827 >,
|
||||
+ < 2726400000 1095000 900 >,
|
||||
+ < 2880000000 1125000 937 >;
|
||||
|
||||
qcom,speed3-pvs12-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1480,10 +1580,14 @@
|
||||
< 2265600000 965000 716 >,
|
||||
< 2342400000 980000 751 >,
|
||||
< 2419200000 995000 786 >,
|
||||
- < 2457600000 1000000 802 >;
|
||||
+ < 2457600000 1000000 802 >,
|
||||
+ < 2572800000 1065000 827 >,
|
||||
+ < 2726400000 1085000 900 >,
|
||||
+ < 2880000000 1115000 937 >;
|
||||
|
||||
qcom,speed3-pvs13-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1514,10 +1618,14 @@
|
||||
< 2265600000 955000 716 >,
|
||||
< 2342400000 970000 751 >,
|
||||
< 2419200000 985000 786 >,
|
||||
- < 2457600000 990000 802 >;
|
||||
+ < 2457600000 990000 802 >,
|
||||
+ < 2572800000 1045000 827 >,
|
||||
+ < 2726400000 1065000 900 >,
|
||||
+ < 2880000000 1095000 937 >;
|
||||
|
||||
qcom,speed3-pvs14-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -1548,10 +1656,14 @@
|
||||
< 2265600000 945000 716 >,
|
||||
< 2342400000 960000 751 >,
|
||||
< 2419200000 975000 786 >,
|
||||
- < 2457600000 980000 802 >;
|
||||
+ < 2457600000 980000 802 >,
|
||||
+ < 2572800000 1035000 827 >,
|
||||
+ < 2726400000 1055000 900 >,
|
||||
+ < 2880000000 1085000 937 >;
|
||||
|
||||
qcom,speed3-pvs15-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -1582,9 +1694,39 @@
|
||||
< 2265600000 935000 716 >,
|
||||
< 2342400000 950000 751 >,
|
||||
< 2419200000 965000 786 >,
|
||||
- < 2457600000 970000 802 >;
|
||||
+ < 2457600000 970000 802 >,
|
||||
+ < 2572800000 1025000 827 >,
|
||||
+ < 2726400000 1045000 900 >,
|
||||
+ < 2880000000 1075000 937 >;
|
||||
};
|
||||
|
||||
+ qcom,msm-cpufreq@0 {
|
||||
+ reg = <0 4>;
|
||||
+ compatible = "qcom,msm-cpufreq";
|
||||
+ qcom,cpufreq-table =
|
||||
+ < 268800 /* 75 MHz */ >,
|
||||
+ < 300000 /* 75 MHz */ >,
|
||||
+ < 422400 /* 150 MHz */ >,
|
||||
+ < 652800 /* 200 MHz */ >,
|
||||
+ < 729600 /* 307 MHz */ >,
|
||||
+ < 883200 /* 307 MHz */ >,
|
||||
+ < 960000 /* 460 MHz */ >,
|
||||
+ < 1036800 /* 460 MHz */ >,
|
||||
+ < 1190400 /* 460 MHz */ >,
|
||||
+ < 1267200 /* 614 MHz */ >,
|
||||
+ < 1497600 /* 614 MHz */ >,
|
||||
+ < 1574400 /* 800 MHz */ >,
|
||||
+ < 1728000 /* 800 MHz */ >,
|
||||
+ < 1958400 /* 931 MHz */ >,
|
||||
+ < 2265600 /* 931 MHz */ >,
|
||||
+ < 2342400 /* 931 MHz */ >,
|
||||
+ < 2419200 /* 931 MHz */ >,
|
||||
+ < 2457600 /* 931 MHz */ >,
|
||||
+ < 2572800 /* 931 MHz */ >,
|
||||
+ < 2726400 /* 931 MHz */ >,
|
||||
+ < 2880000 /* 931 MHz */ >;
|
||||
+ };
|
||||
+
|
||||
i2c@f9928000 { /* BLSP-1 QUP-6 */
|
||||
cell-index = <3>;
|
||||
compatible = "qcom,i2c-qup";
|
||||
@@ -1745,7 +1887,7 @@
|
||||
<1880000 2068000>,
|
||||
<3008000 3309000>,
|
||||
<3760000 4136000>,
|
||||
- <4468000 2457000>;
|
||||
+ <4468000 2457600>;
|
||||
qcom,dec-ocmem-ab-ib = <0 0>,
|
||||
<176000 519000>,
|
||||
<456000 519000>,
|
||||
--
|
||||
2.10.2
|
||||
|
@ -1,23 +0,0 @@
|
||||
From 94d13624a7710818698d5787a7bcd7f8a272762b Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:50:31 -0400
|
||||
Subject: [PATCH] Update defconfig
|
||||
|
||||
---
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index 33ceebd..8cb1936 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -591,3 +591,6 @@ CONFIG_CRYPTO_TWOFISH=y
|
||||
CONFIG_CRYPTO_DEV_QCRYPTO=y
|
||||
CONFIG_CRYPTO_DEV_QCE=y
|
||||
CONFIG_CRYPTO_DEV_QCEDEV=y
|
||||
+
|
||||
+CONFIG_DIAG_CHAR=y
|
||||
+CONFIG_DIAG_OVER_USB=y
|
||||
--
|
||||
2.10.2
|
||||
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user