I decided to give a quick update to an old app that I use quite often, but thought was in need of a UI makeover. So heres CPU Spy with Material Design!
Features:
* CPU, Device & Kernel information
* CPU core & temperature monitoring
* Shake to Refresh & Automatic Refresh
* Widget to reset timers from home screen
* Option to hide states below a certain percentage
* Automatically resets states once battery is charged
* Light & Dark themes + Auto theme based on time of day
* Background monitoring service that notifys if device doesn't enter deep sleep
Now available on Amazon App Store
Source: https://github.com/existz/cpuspy
Credits to the original dev @storm717.
Link to original thread: http://goo.gl/N3drrP
Features:
* CPU, Device & Kernel information
* CPU core & temperature monitoring
* Shake to Refresh & Automatic Refresh
* Widget to reset timers from home screen
* Option to hide states below a certain percentage
* Automatically resets states once battery is charged
* Light & Dark themes + Auto theme based on time of day
* Background monitoring service that notifys if device doesn't enter deep sleep
Code:
[B]v3.2.1[/B]
- Updated translations
- Optimize new profile pngs
- Update some deprecated APIs
- Fix a couple NullPointerExceptions
- Fix ListView padding and text sizes
- Fix crash when showing error text
- More layout fixes for tablet devices
- Only show last 500 lines of logcat log
- Do not center full kernel version text
- Update developer circleimageview border
- Use new BottomSheet from support library
- Simplify setting logcat progress bar color
- Bind more colors/string using ButterKnife
- Simplify tinting of text selector handles
- Use wrap_content for AppCompatButton width
- Always use accentColor for text input field
- Disable user from changing color input alpha
- Update 3rd party libraries to latest versions
- Fix Running Processes title on KitKat devices
- Update charged drawable to be more material-ish
- Use new Support Vector Drawables instead of pngs
- Update colors and elevations to match guidelines
- Only set background color when cardview is shown
- Fix NullPointerException when closing InfoFragment
- Add null pointer check when setting mLogcatSummary
- Use Fragment and DialogFragment from support library
- Replace Listview with RecyclerView from support library
- Show error text when temp monitor throws an exception
[B]v3.2.0[/B]
- Rewrite CPU usage code
- Fix padding on tablet devices
- Show list of running services
- Use Butterknife resource binding
- Define size of sliding tab ArrayLists
- Only call Utils.isXposedInstalled once
- Check if a light accent color is used
- Add new developer section to Settings
- Fix colored nav bar enabling by default
- Use Chrome custom tab when opening links
- Only recreate if theme preference changes
- Rename kernel/device menus to match action
- Fix padding for credits and license layouts
- Allow multiple retries when updating states
- Catch exception when checking for an update
- Allow checking for multiple update versions
- Use primary color for deep sleep notify icon
- Allow better support for Right to Left layouts
- Fix cpu usage crashing when exiting InfoFragment
- Update libraries and build tools to latest versions
- Define ArrayList sizes for Credits and Licenses
- Use AccelerateDecelerateInterpolator for animations
- Allow catching exception when setting core visibility
- Hack to fix DiscreteSeekBar text color with light accent
[B]v3.1.9[/B]
- Fix ProgressBar height on Lollipop devices
- Remove DynamicCheckBox background color
[B]v3.1.8[/B]
- Update to latest build tools
- Move openURL method to Utils
- Use vector drawables for API 21+
- Use ArrayList instead of LinkedList
- Add Translators to Credits section
- Add CPU usage monitoring to Info tab
- Reduce number of calls to getActivity
- Only call CPUUtils.getCoreCount() once
- Add missing onCreate() to CpuSpyApp
- Remove useless code from CpuSpyPreference
- Use vector drawables for Preference icons
- Fix ProgressBar height on KitKat devices
- Use String.format() to fix lint warnings
- Automate checking if new version is available
- Add setting to change primary and accent colors
- Tint AppCompatButton to match new accent color
- Tint charged image to match new accent color
- Use new Design Support Library for sliding tabs
- Allow using String Array for changelog content
- Recreate activity when dismissing Xposed warning
[B]v3.1.7[/B]
- Updated translations
- Add support for Marshmallow
- Fix charged view card alignment
- Revert back to using text for tabs
- Use AppCompatButton for all buttons
- Adjust full kernel version text size
- Remove redundant calls to getResources()
- Show the total number of unused states
- Add bootloader information to Info tab
- Use SwitchPreference for API 21+ devices
- Update primary colors to match guidelines
- Summarize which theme is selected in Settings
- Specify initial size of getStates ArrayList<>
- Disable layout transitions during charged view
- Allow animating progress bars with Auto Refresh
- Simplify checking views when Auto Reset is enabled
- Fix background color not showing correctly on KitKat
- Move hiding states below percentage to new toolbar
- Add toolbar for hiding/resetting/restoring states
- Use ContextCompat.getColor() from support library
- Allow Settings to keep scroll position during recreate
- Override KeyEvent instead of using BackHandledFragment
[B]v3.1.6[/B]
- Fix crash on KitKat devices
[B]v3.1.5[/B]
- Check if new update is available
- Reduce total state time text size
- Update libraries to latest versions
- Animate progress bars on app launch
- Use icons instead for sliding tabs
- Updates and fixes to theme changing
- Use Roboto-Medium for snackbar actions
- Fix crash if checkCoreMonitor returns zero
- Use Butter Knife to bind button listeners
- Show warning dialog if Xposed is installed
- Use sliding cardview for full kernel version
- Return null if unable to retrieve cpu info
[B]v3.1.4[/B]
- Remove unnecessary return functions
- Remove useless call to ButterKnife.bind
- Add Exception catch for CPU core monitoring
- Add null pointer check to fix issues #69 and #70
- Dont refresh onShake if mSwipeLayout.isRefreshing
- Add local SeekBarPreference to fix KitKat margin issues
[B]v3.1.3[/B]
- More variables can be final
- Add checking runtime to Device Info
- Update Butter Knife library to v7.0.1
- Update Android Support Library to v22.2.1
- Make hasTemp() return false if file length is 0
- Update to latest gradle and android build tools
- Add service to check if device is entering deep sleep
- Catch ActivityNotFoundException if unable to open intent
[B]v3.1.2[/B]
- assert mActionBar != null
- Move app version to build.gradle
- Update Snackbar library to v2.10.10
- Add function to show/hide unused states
- Clean up SharedPreferences in CpuSpyApp
- MainActivity: Add missing @Override to onResume()
- Add option to hide states below certain percentage
- CpuSpyApp: Use SparseArray instead of HashMap
- CpuStateMonitor: Fix logging and handle exception
- Stop monitoring temperature if getTemp() returns null
- Remove usesless call to CPUUtils.getKernelVersion()
[B]v3.1.1[/B]
- Handle NFE instead of ignoring it
- Fix lint warning by using apply()
- Add support for monitoring 6-8 CPU cores
- Fix some padding issues on KitKat devices
- PrefsActivity: Add missing switch break
- Random code clean up and improvements
[B]v3.1.0[/B]
- More variables can be final
- Switch to new sliding tab layout
- Fix Auto Refresh causing crash
- Add reusable method for reading files
- Move core monitoring to CPU Info card
- Show unused states when resetting timers
- Use simple listview for open source licenses
- Enable monitoring only if fragment is visible
- Update material-dialogs library to v0.7.6.0
- New Auto theme based on the time of day
- Disable swipe to refresh if auto is enabled
- Add null pointer check when removing all views
[B]v3.0-BETA8[/B]
- Remove circle reveal animation
- Add widget info to welcome card
- Support more devices CPU temp
- Add action button back to snackbars
- Merged French translations (Micks29)
- Add colored btn_selector to buttons
- Update to latest build tools and gradle
- Fix Info text overlapping if multiple lines
- Fix setting Preference icons based on theme
- Add style for setting ActionBar elevation
- Apply dialog content color based on theme
[B]v3.0-BETA6[/B]
- Added Shake to Refresh timers
- Added CPU Temp monitoring
- Refreshed charged view layout
- Added new widget to reset timers
- Added indicator to kernel version
- Added darker primary text color
- Adjusted layout for tablets/TVs
- Updated to latest support libraries
- Use native font on API 21 and above
- Tons of code cleanup and fixes
- Fixed main card animation from being cut off
- Improve checking if states file exists
- More improvements to theme changing
- Simplified getting/setting of cpu frequencies
[B]v3.0-BETA5[/B]
- Fix memory leak when setting typeface
- Updated internal 3rd party libraries
- Removed deprecated getDrawable
- Revert using webview for dialogs
- Simplify getting/setting cpu freqs
- Decrease card animation duration
- Random code cleanup and fixes
- Improve reading of states file
- Improve reading cpu information
- Improve theme changing and dark theme
- Simplify checking which views to show
[B]v3.0-BETA4[/B]
- Add Material Ripple library (KitKat)
- Updated internal 3rd party libraries
- Animate About cardview sliding up
- Adjust padding for welcome cardview
- Add donate to settings overflow menu
- Kernel version should use singleLine
- Add custom Typeface for ActionBar title
- Revert back to using CheckBoxPreference
- Add colored navigation bar and dark theme
- Disable cpu monitoring when app is paused
[B]v3.0-BETA3[/B]
- Refreshed UI to be more Material
- Fix settings menu for KitKat devices
- Some random code clean up and fixes
- Add decimal to states view percentage
- Add new Info page with CPU/Kernel info
- Casting '_app' to 'Context' is redundant
- Sync material-dialogs library with v0.6.x
- Update snackbar and WhatsNew strings
- Add WhatsNew option in overflow menu
- Add option to reset timers when charged
- Add new WelcomeCard on first launch
- Use SnackbarManager to handle queues
- Clean up WhatsNew dialog webview usage
- Click states cardview to view unused states
- Add anonymous crash and usage reporting
- Switch to new blue primary/accent colors
- Switch to Handler instead for Auto Refresh
- Fix mBatInfoReceiver causing an exception
- Add per CPU core and frequency monitoring
[B]v2.0[/B]
- Added Pull to Refresh library
- Fixed a few more lint warnings
- New About and License menus
- Added support for KitKat and TVs
- New Material style launcher icon
- Use colored nav bar on Lollipop
- Optimized/removed unused PNGs
- Add Gmail-like Snackbar library
- Timers now reset when battery full
- Add Auto Refresh option to settings
- New WhatsNew dialog for new releases
[B]v1.2[/B]
- Fix issue when no states file found
- Adjust padding to match Material guidelines
- Rearrange home_layout and fix xml formatting
- Move 'Total State Time' above 'Unused CPU States'
[B]v1.1[/B]
- Adjusted padding a little
- Reduced some text sizes
- Removed some unused PNGs
- Removed 'Time in State' header
- Added shadow to action bar
- Fixed progress bar background color
- Added temporary icon until one can be made
[B]v1.0[/B]
- Initial release
Now available on Amazon App Store
Source: https://github.com/existz/cpuspy
Credits to the original dev @storm717.
Link to original thread: http://goo.gl/N3drrP
Attachments
-
198.2 KB Views: 6,556
-
40.9 KB Views: 6,224
-
1.4 MB Views: 1,570
-
1.6 MB Views: 1,611
-
2 MB Views: 2,714
Last edited: