├── .gitignore ├── .idea ├── .name ├── compiler.xml ├── copyright │ └── profiles_settings.xml ├── encodings.xml ├── gradle.xml ├── misc.xml ├── modules.xml ├── scopes │ └── scope_settings.xml └── vcs.xml ├── CountdownTimer.iml ├── LICENSE ├── ProgressWheel ├── .gitignore ├── AndroidManifest.xml ├── MIT-LICENSE.txt ├── README.md ├── build.gradle ├── build.xml ├── proguard-project.txt ├── proguard.cfg ├── project.properties ├── res │ ├── drawable-hdpi │ │ ├── header.png │ │ ├── ic_launcher.png │ │ ├── icon.png │ │ ├── login_gradient.png │ │ ├── login_gradient_flip.png │ │ └── logo.png │ ├── drawable-ldpi │ │ └── ic_launcher.png │ ├── drawable-mdpi │ │ └── ic_launcher.png │ ├── layout │ │ ├── main.xml │ │ ├── progress_spinner.xml │ │ └── progress_wheel_activity.xml │ └── values │ │ ├── attrs.xml │ │ └── strings.xml ├── sample_image.png ├── sample_image_2.png ├── sample_image_3.png ├── sample_image_4.png └── src │ └── com │ └── todddavies │ └── components │ └── progressbar │ ├── ProgressWheel.java │ └── main.java ├── README.md ├── app ├── .gitignore ├── app.iml ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── cardinalsolutions │ │ └── countdowntimer │ │ └── ApplicationTest.java │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── cardinalsolutions │ │ └── countdowntimer │ │ ├── CountdownTimerActivity.java │ │ └── Logger.java │ └── res │ ├── drawable-hdpi │ ├── cardinal_bird.png │ ├── ic_launcher.png │ └── img_cardinal_logo.png │ ├── drawable-mdpi │ ├── cardinal_bird.png │ ├── ic_launcher.png │ └── img_cardinal_logo.png │ ├── drawable-xhdpi │ ├── cardinal_bird.png │ ├── dolf_bird.cardinal_bird.png │ ├── ic_dialog_time_org.png │ ├── ic_launcher.png │ └── img_cardinal_logo.png │ ├── layout │ └── activity_countdown_timer.xml │ ├── values-sw600dp │ └── dimens.xml │ └── values │ ├── colors.xml │ ├── dimens.xml │ ├── strings.xml │ └── styles.xml ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── img └── countdown.png └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | /local.properties 3 | /.idea/workspace.xml 4 | /.idea/libraries 5 | .DS_Store 6 | /build 7 | -------------------------------------------------------------------------------- /.idea/.name: -------------------------------------------------------------------------------- 1 | Countdown Timer -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | Android API 19 Platform 14 | 15 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/scopes/scope_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /CountdownTimer.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License (MIT) 2 | 3 | Copyright (c) 2013 Cardinal Solutions 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /ProgressWheel/.gitignore: -------------------------------------------------------------------------------- 1 | # built application files 2 | *.apk 3 | *.ap_ 4 | 5 | # files for the dex VM 6 | *.dex 7 | 8 | # Java class files 9 | *.class 10 | 11 | # generated files 12 | bin/ 13 | gen/ 14 | 15 | # Local configuration file (sdk path, etc) 16 | local.properties 17 | 18 | # Eclipse project files 19 | .classpath 20 | .project 21 | 22 | # Proguard folder generated by Eclipse 23 | proguard/ 24 | 25 | # Intellij project files 26 | *.iml 27 | *.ipr 28 | *.iws 29 | .idea/ 30 | 31 | # Mac system files 32 | .DS_Store 33 | 34 | #Gradle 35 | .gradle 36 | gradle 37 | build 38 | -------------------------------------------------------------------------------- /ProgressWheel/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 13 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /ProgressWheel/MIT-LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) [year] [fullname] 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /ProgressWheel/README.md: -------------------------------------------------------------------------------- 1 | Progress Wheel 2 | ============= 3 | 4 | This is a custom component for Android intended for use instead of a progress bar. 5 | 6 | ![Sample Image](https://github.com/Todd-Davies/ProgressWheel/raw/master/sample_image.png "An example implementation") 7 | ![Sample Image 2](https://github.com/Todd-Davies/ProgressWheel/raw/master/sample_image_2.png "Another example implementation") 8 | ![Sample Image 3](https://github.com/Todd-Davies/ProgressWheel/raw/master/sample_image_3.png "Another example implementation") 9 | ![Sample Image 4](https://github.com/Todd-Davies/ProgressWheel/raw/master/sample_image_4.png "Another example implementation") 10 | 11 | A complete walkthrough of how to use this component in your app 12 | ------------- 13 | 14 | **XML:** 15 | To implement the view in your xml layout do the following: 16 | 17 | 1. Add the following to your attrs.xml file (in res/values): 18 | ``` xml 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | ``` 36 | 37 | 2. Add the following code to the root view of your layout: 38 | `xmlns:ProgressWheel="http://schemas.android.com/apk/res/com.visualdenim.schooltraq"` 39 | 40 | 3. Add the widget code in the appropriate place in your xml file. Here's a sample implementation: 41 | ``` xml 42 | 55 | ``` 56 | 57 | **Java:** 58 | First you need to either get a ProgressWheel from a layout file, or initalise one. Do this by: 59 | 60 | - `ProgressWheel pw = new ProgressWheel(myContext, myAttributes);` 61 | - `ProgressWheel pw = (ProgressWheel) findViewById(R.id.pw_spinner);` 62 | 63 | To spin the progress wheel, you just call .`spin()` and to stop it spinning, you call `.stopSpinning()` 64 | 65 | Incrementing the progress wheel is slightly more tricky, you call `.incrementProgress()`. However, this is out of 360, 66 | (because a circle has 360 degrees), and will automatically reset once you get past 360. A percentage display is 67 | automatically displayed. 68 | 69 | Using as a library project 70 | -------------------------- 71 | 72 | To use it as a library in Android Studio, please edit build.gradle. 73 | 74 | Modify: 75 | 76 | apply plugin: 'android' 77 | 78 | Into: 79 | 80 | apply plugin: 'android-library' 81 | 82 | Since Android SDK Tools revision 17 (released March 2012), this component can 83 | be used as a library project. In this case, you do *not* need to copy anything 84 | into your project's attrs.xml, and you must use the following namespace URI, 85 | instead of the above: 86 | 87 | `xmlns:ProgressWheel="http://schemas.android.com/apk/res-auto"` 88 | 89 | Otherwise, usage should be the same. 90 | 91 | 92 | Todd Davies - 2012 93 | -------------------------------------------------------------------------------- /ProgressWheel/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | repositories { 3 | mavenCentral() 4 | } 5 | 6 | dependencies { 7 | classpath 'com.android.tools.build:gradle:0.12.+' 8 | } 9 | } 10 | 11 | apply plugin: 'com.android.library' 12 | 13 | android { 14 | 15 | compileSdkVersion 20 16 | buildToolsVersion "20" 17 | 18 | defaultConfig { 19 | minSdkVersion 8 20 | targetSdkVersion 20 21 | } 22 | 23 | sourceSets { 24 | main { 25 | manifest.srcFile 'AndroidManifest.xml' 26 | java.srcDirs = ['src'] 27 | resources.srcDirs = ['src'] 28 | renderscript.srcDirs = ['src'] 29 | res.srcDirs = ['res'] 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /ProgressWheel/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | 29 | 30 | 31 | 35 | 36 | 37 | 38 | 39 | 40 | 49 | 50 | 51 | 52 | 56 | 57 | 69 | 70 | 71 | 89 | 90 | 91 | 92 | 93 | -------------------------------------------------------------------------------- /ProgressWheel/proguard-project.txt: -------------------------------------------------------------------------------- 1 | # To enable ProGuard in your project, edit project.properties 2 | # to define the proguard.config property as described in that file. 3 | # 4 | # Add project specific ProGuard rules here. 5 | # By default, the flags in this file are appended to flags specified 6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt 7 | # You can edit the include path and order by changing the ProGuard 8 | # include property in project.properties. 9 | # 10 | # For more details, see 11 | # http://developer.android.com/guide/developing/tools/proguard.html 12 | 13 | # Add any project specific keep options here: 14 | 15 | # If your project uses WebView with JS, uncomment the following 16 | # and specify the fully qualified class name to the JavaScript interface 17 | # class: 18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 19 | # public *; 20 | #} 21 | -------------------------------------------------------------------------------- /ProgressWheel/proguard.cfg: -------------------------------------------------------------------------------- 1 | -optimizationpasses 5 2 | -dontusemixedcaseclassnames 3 | -dontskipnonpubliclibraryclasses 4 | -dontpreverify 5 | -verbose 6 | -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* 7 | 8 | -keep public class * extends android.app.Activity 9 | -keep public class * extends android.app.Application 10 | -keep public class * extends android.app.Service 11 | -keep public class * extends android.content.BroadcastReceiver 12 | -keep public class * extends android.content.ContentProvider 13 | -keep public class * extends android.app.backup.BackupAgentHelper 14 | -keep public class * extends android.preference.Preference 15 | -keep public class com.android.vending.licensing.ILicensingService 16 | 17 | -keepclasseswithmembernames class * { 18 | native ; 19 | } 20 | 21 | -keepclasseswithmembers class * { 22 | public (android.content.Context, android.util.AttributeSet); 23 | } 24 | 25 | -keepclasseswithmembers class * { 26 | public (android.content.Context, android.util.AttributeSet, int); 27 | } 28 | 29 | -keepclassmembers class * extends android.app.Activity { 30 | public void *(android.view.View); 31 | } 32 | 33 | -keepclassmembers enum * { 34 | public static **[] values(); 35 | public static ** valueOf(java.lang.String); 36 | } 37 | 38 | -keep class * implements android.os.Parcelable { 39 | public static final android.os.Parcelable$Creator *; 40 | } 41 | -------------------------------------------------------------------------------- /ProgressWheel/project.properties: -------------------------------------------------------------------------------- 1 | # This file is automatically generated by Android Tools. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must be checked in Version Control Systems. 5 | # 6 | # To customize properties used by the Ant build system use, 7 | # "ant.properties", and override values to adapt the script to your 8 | # project structure. 9 | 10 | android.library=true 11 | # Project target. 12 | target=android-19 13 | -------------------------------------------------------------------------------- /ProgressWheel/res/drawable-hdpi/header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardinalNow/Android-CountdownTimer/32fd6a437b80c8b97468b5c0ee423f2d9525f4cf/ProgressWheel/res/drawable-hdpi/header.png -------------------------------------------------------------------------------- /ProgressWheel/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardinalNow/Android-CountdownTimer/32fd6a437b80c8b97468b5c0ee423f2d9525f4cf/ProgressWheel/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /ProgressWheel/res/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardinalNow/Android-CountdownTimer/32fd6a437b80c8b97468b5c0ee423f2d9525f4cf/ProgressWheel/res/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /ProgressWheel/res/drawable-hdpi/login_gradient.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardinalNow/Android-CountdownTimer/32fd6a437b80c8b97468b5c0ee423f2d9525f4cf/ProgressWheel/res/drawable-hdpi/login_gradient.png -------------------------------------------------------------------------------- /ProgressWheel/res/drawable-hdpi/login_gradient_flip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardinalNow/Android-CountdownTimer/32fd6a437b80c8b97468b5c0ee423f2d9525f4cf/ProgressWheel/res/drawable-hdpi/login_gradient_flip.png -------------------------------------------------------------------------------- /ProgressWheel/res/drawable-hdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardinalNow/Android-CountdownTimer/32fd6a437b80c8b97468b5c0ee423f2d9525f4cf/ProgressWheel/res/drawable-hdpi/logo.png -------------------------------------------------------------------------------- /ProgressWheel/res/drawable-ldpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardinalNow/Android-CountdownTimer/32fd6a437b80c8b97468b5c0ee423f2d9525f4cf/ProgressWheel/res/drawable-ldpi/ic_launcher.png -------------------------------------------------------------------------------- /ProgressWheel/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CardinalNow/Android-CountdownTimer/32fd6a437b80c8b97468b5c0ee423f2d9525f4cf/ProgressWheel/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /ProgressWheel/res/layout/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 14 | 15 | 23 | 24 | 25 | 26 | 31 | 32 | 38 | 39 | 42 | 43 | 47 | 48 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /ProgressWheel/res/layout/progress_spinner.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | 15 | 16 | -------------------------------------------------------------------------------- /ProgressWheel/res/layout/progress_wheel_activity.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 |