diff options
| author | schneefux <schneefux+commit@schneefux.xyz> | 2015-12-25 13:38:31 +0100 |
|---|---|---|
| committer | schneefux <schneefux+commit@schneefux.xyz> | 2015-12-25 13:38:31 +0100 |
| commit | 76edd6c448c55c4f9bcf37509ec372149c966993 (patch) | |
| tree | c4eed3c1ecb40987cbe2b77df47b2e6e23c71494 /AndroidClient | |
| download | weather-snowman-76edd6c448c55c4f9bcf37509ec372149c966993.tar.gz weather-snowman-76edd6c448c55c4f9bcf37509ec372149c966993.zip | |
first commit
Diffstat (limited to 'AndroidClient')
38 files changed, 415 insertions, 0 deletions
diff --git a/AndroidClient/AmbientNotifications.iml b/AndroidClient/AmbientNotifications.iml new file mode 100644 index 0000000..2a02201 --- /dev/null +++ b/AndroidClient/AmbientNotifications.iml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" type="JAVA_MODULE" version="4"> + <component name="FacetManager"> + <facet type="java-gradle" name="Java-Gradle"> + <configuration> + <option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" /> + </configuration> + </facet> + </component> + <component name="NewModuleRootManager" inherit-compiler-output="false"> + <output url="file://$MODULE_DIR$/build/classes/main" /> + <output-test url="file://$MODULE_DIR$/build/classes/test" /> + <exclude-output /> + <content url="file://$MODULE_DIR$"> + <excludeFolder url="file://$MODULE_DIR$/.gradle" /> + </content> + <orderEntry type="inheritedJdk" /> + <orderEntry type="sourceFolder" forTests="false" /> + </component> +</module> + diff --git a/AndroidClient/README.md b/AndroidClient/README.md new file mode 100644 index 0000000..9a64db7 --- /dev/null +++ b/AndroidClient/README.md @@ -0,0 +1 @@ +Based on [AmbientNotifications-Arduino](https://github.com/cle1994/AmbientNotifications) by Christian Le. diff --git a/AndroidClient/app/.gitignore b/AndroidClient/app/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/AndroidClient/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/AndroidClient/app/app.iml b/AndroidClient/app/app.iml new file mode 100644 index 0000000..4bffb70 --- /dev/null +++ b/AndroidClient/app/app.iml @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" type="JAVA_MODULE" version="4"> + <component name="FacetManager"> + <facet type="android-gradle" name="Android-Gradle"> + <configuration> + <option name="GRADLE_PROJECT_PATH" value=":app" /> + </configuration> + </facet> + <facet type="android" name="Android"> + <configuration> + <option name="SELECTED_BUILD_VARIANT" value="debug" /> + <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" /> + <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" /> + <option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugTest" /> + <option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" /> + <option name="TEST_SOURCE_GEN_TASK_NAME" value="generateDebugTestSources" /> + <option name="ALLOW_USER_CONFIGURATION" value="false" /> + <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" /> + <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" /> + <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" /> + <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" /> + </configuration> + </facet> + </component> + <component name="NewModuleRootManager" inherit-compiler-output="false"> + <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" /> + <exclude-output /> + <content url="file://$MODULE_DIR$"> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/res/generated/debug" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/test/debug" isTestSource="true" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/test/debug" isTestSource="true" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/test/debug" isTestSource="true" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/test/debug" isTestSource="true" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/test/debug" type="java-test-resource" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/res/generated/test/debug" type="java-test-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/coverage-instrumented-classes" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex-cache" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jacoco" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaResources" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/libs" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/ndk" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/proguard" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" /> + <excludeFolder url="file://$MODULE_DIR$/build/outputs" /> + <excludeFolder url="file://$MODULE_DIR$/build/tmp" /> + </content> + <orderEntry type="jdk" jdkName="Android API 21 Platform" jdkType="Android SDK" /> + <orderEntry type="sourceFolder" forTests="false" /> + <orderEntry type="library" exported="" name="support-annotations-21.0.2" level="project" /> + <orderEntry type="library" exported="" name="support-v4-21.0.2" level="project" /> + <orderEntry type="library" exported="" name="appcompat-v7-21.0.2" level="project" /> + </component> +</module> + diff --git a/AndroidClient/app/build.gradle b/AndroidClient/app/build.gradle new file mode 100644 index 0000000..c69adc5 --- /dev/null +++ b/AndroidClient/app/build.gradle @@ -0,0 +1,28 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 21 + buildToolsVersion "21" + + defaultConfig { + applicationId "winter.snowman.notifications" + minSdkVersion 19 + targetSdkVersion 21 + versionCode 1 + versionName "1.0" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } + lintOptions { + abortOnError false + } +} + +dependencies { + compile fileTree(dir: 'libs', include: ['*.jar']) + compile 'com.android.support:appcompat-v7:21.0.2' +} diff --git a/AndroidClient/app/proguard-rules.pro b/AndroidClient/app/proguard-rules.pro new file mode 100644 index 0000000..22d7812 --- /dev/null +++ b/AndroidClient/app/proguard-rules.pro @@ -0,0 +1,17 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /Users/christian/Library/Android/sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/AndroidClient/app/src/main/AndroidManifest.xml b/AndroidClient/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..a6014da --- /dev/null +++ b/AndroidClient/app/src/main/AndroidManifest.xml @@ -0,0 +1,34 @@ +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="winter.snowman.notifications"> + + <uses-permission android:name="android.permission.INTERNET"/> + + <application android:allowBackup="true" + android:label="@string/app_name" + android:icon="@drawable/ic_launcher" + android:theme="@style/AppTheme"> + + <activity android:name=".WebViewActivity" + android:label="@string/app_name" + android:screenOrientation="portrait" + android:configChanges="orientation|keyboardHidden" > + + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER"/> + </intent-filter> + + </activity> + + <service android:name=".NotifListenerService" + android:label="@string/app_name" + android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" > + <intent-filter> + <action android:name="android.service.notification.NotificationListenerService" /> + </intent-filter> + + </service> + + </application> + +</manifest> diff --git a/AndroidClient/app/src/main/ic_launcher-web.png b/AndroidClient/app/src/main/ic_launcher-web.png Binary files differnew file mode 100644 index 0000000..ff6dc63 --- /dev/null +++ b/AndroidClient/app/src/main/ic_launcher-web.png diff --git a/AndroidClient/app/src/main/java/winter/snowman/notifications/NotifListenerService.java b/AndroidClient/app/src/main/java/winter/snowman/notifications/NotifListenerService.java new file mode 100644 index 0000000..dde3d1f --- /dev/null +++ b/AndroidClient/app/src/main/java/winter/snowman/notifications/NotifListenerService.java @@ -0,0 +1,129 @@ +package winter.snowman.notifications; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.service.notification.NotificationListenerService; +import android.service.notification.StatusBarNotification; +import android.util.Log; + +import java.net.URL; +import java.io.InputStream; +import java.io.BufferedInputStream; +import java.net.URLConnection; +import java.net.HttpURLConnection; + +/** + * Created by christian on 1/1/15. + */ +public class NotifListenerService extends NotificationListenerService { + private String TAG = this.getClass().getSimpleName(); + + private NotifListenerServiceReceiver notifListenerServiceReceiver; + + @Override + public void onCreate() { + super.onCreate(); + notifListenerServiceReceiver = new NotifListenerServiceReceiver(); + + IntentFilter filter = new IntentFilter(); + filter.addAction("com.cle.ambientnotifications.NOTIFICATION_LISTENER_SERVICE"); + registerReceiver(notifListenerServiceReceiver, filter); + + Log.d(TAG, "NotifListenerService is running"); + } + + @Override + public void onDestroy() { + super.onDestroy(); + unregisterReceiver(notifListenerServiceReceiver); + } + + private void notificationOff() { + Log.i(TAG, "********** notification off"); + URL url; + HttpURLConnection urlConnection; + try { + url = new URL("http://snowman/api?led2=clear"); + urlConnection = (HttpURLConnection) url.openConnection(); + } catch (Exception e) { + e.printStackTrace(); + return; + } + try { + InputStream in = new BufferedInputStream(urlConnection.getInputStream()); + } catch (Exception e) { + e.printStackTrace(); + } finally { + urlConnection.disconnect(); + } + } + + private void notificationOn() { + Log.i(TAG, "********** notification on"); + URL url; + HttpURLConnection urlConnection; + try { + url = new URL("http://snowman/api?led2=blink"); + urlConnection = (HttpURLConnection) url.openConnection(); + } catch (Exception e) { + e.printStackTrace(); + return; + } + try { + InputStream in = new BufferedInputStream(urlConnection.getInputStream()); + } catch (Exception e) { + e.printStackTrace(); + } finally { + urlConnection.disconnect(); + } + } + + @Override + public void onNotificationPosted(StatusBarNotification notif) { + Log.i(TAG, "********** onNotificationPosted"); + Log.i(TAG,"ID :" + notif.getId() + "t" + notif.getNotification().tickerText + + "t" + notif.getPackageName()); + notificationOn(); + } + + @Override + public void onNotificationRemoved(StatusBarNotification notif) { + Log.i(TAG, "********** onNotificationRemoved"); + Log.i(TAG,"ID :" + notif.getId() + "t" + notif.getNotification().tickerText + + "t" + notif.getPackageName()); + notificationOff(); + }; + + class NotifListenerServiceReceiver extends BroadcastReceiver { + + @Override + public void onReceive(Context context, Intent intent) { + if (intent.getStringExtra("command").equals("clearall")) { + NotifListenerService.this.cancelAllNotifications(); + } else if (intent.getStringExtra("command").equals("list")) { + Log.d(TAG, "command received"); + + Intent i = new Intent("com.cle.ambientnotifications.NOTIFICATION_LISTENER"); + i.putExtra("notification_event", "========="); + sendBroadcast(i); + + int counter = 1; + for (StatusBarNotification notif : NotifListenerService.this.getActiveNotifications()) { + Intent notifIntent = + new Intent("com.cle.ambientnotifications.NOTIFICATION_LISTENER"); + notifIntent.putExtra("notification_event", counter + " " + + notif.getPackageName() + "\n"); + sendBroadcast(notifIntent); + counter += 1; + } + + Intent listIntent = + new Intent("com.cle.ambientnotifications.NOTIFICATION_LISTENER"); + listIntent.putExtra("notification_event", "==== Notification List ===="); + sendBroadcast(listIntent); + } + } + } +} diff --git a/AndroidClient/app/src/main/java/winter/snowman/notifications/WebViewActivity.java b/AndroidClient/app/src/main/java/winter/snowman/notifications/WebViewActivity.java new file mode 100644 index 0000000..0618fd2 --- /dev/null +++ b/AndroidClient/app/src/main/java/winter/snowman/notifications/WebViewActivity.java @@ -0,0 +1,17 @@ +package winter.snowman.notifications; + +import android.app.Activity; +import android.webkit.WebView; +import android.os.Bundle; + +public class WebViewActivity extends Activity { + + private WebView webView; + + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + webView = (WebView) findViewById(R.id.webView); + webView.loadUrl("http://snowman"); + } +} diff --git a/AndroidClient/app/src/main/res/drawable-hdpi/apptheme_scrubber_control_disabled_holo.png b/AndroidClient/app/src/main/res/drawable-hdpi/apptheme_scrubber_control_disabled_holo.png Binary files differnew file mode 100755 index 0000000..a1acbb5 --- /dev/null +++ b/AndroidClient/app/src/main/res/drawable-hdpi/apptheme_scrubber_control_disabled_holo.png diff --git a/AndroidClient/app/src/main/res/drawable-hdpi/apptheme_scrubber_control_focused_holo.png b/AndroidClient/app/src/main/res/drawable-hdpi/apptheme_scrubber_control_focused_holo.png Binary files differnew file mode 100755 index 0000000..1b75394 --- /dev/null +++ b/AndroidClient/app/src/main/res/drawable-hdpi/apptheme_scrubber_control_focused_holo.png diff --git a/AndroidClient/app/src/main/res/drawable-hdpi/apptheme_scrubber_control_normal_holo.png b/AndroidClient/app/src/main/res/drawable-hdpi/apptheme_scrubber_control_normal_holo.png Binary files differnew file mode 100755 index 0000000..4900d70 --- /dev/null +++ b/AndroidClient/app/src/main/res/drawable-hdpi/apptheme_scrubber_control_normal_holo.png diff --git a/AndroidClient/app/src/main/res/drawable-hdpi/apptheme_scrubber_control_pressed_holo.png b/AndroidClient/app/src/main/res/drawable-hdpi/apptheme_scrubber_control_pressed_holo.png Binary files differnew file mode 100755 index 0000000..7469c47 --- /dev/null +++ b/AndroidClient/app/src/main/res/drawable-hdpi/apptheme_scrubber_control_pressed_holo.png diff --git a/AndroidClient/app/src/main/res/drawable-hdpi/ic_launcher.png b/AndroidClient/app/src/main/res/drawable-hdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..00bc047 --- /dev/null +++ b/AndroidClient/app/src/main/res/drawable-hdpi/ic_launcher.png diff --git a/AndroidClient/app/src/main/res/drawable-mdpi/apptheme_scrubber_control_disabled_holo.png b/AndroidClient/app/src/main/res/drawable-mdpi/apptheme_scrubber_control_disabled_holo.png Binary files differnew file mode 100755 index 0000000..00bc047 --- /dev/null +++ b/AndroidClient/app/src/main/res/drawable-mdpi/apptheme_scrubber_control_disabled_holo.png diff --git a/AndroidClient/app/src/main/res/drawable-mdpi/apptheme_scrubber_control_focused_holo.png b/AndroidClient/app/src/main/res/drawable-mdpi/apptheme_scrubber_control_focused_holo.png Binary files differnew file mode 100755 index 0000000..00bc047 --- /dev/null +++ b/AndroidClient/app/src/main/res/drawable-mdpi/apptheme_scrubber_control_focused_holo.png diff --git a/AndroidClient/app/src/main/res/drawable-mdpi/apptheme_scrubber_control_normal_holo.png b/AndroidClient/app/src/main/res/drawable-mdpi/apptheme_scrubber_control_normal_holo.png Binary files differnew file mode 100755 index 0000000..31abfb5 --- /dev/null +++ b/AndroidClient/app/src/main/res/drawable-mdpi/apptheme_scrubber_control_normal_holo.png diff --git a/AndroidClient/app/src/main/res/drawable-mdpi/apptheme_scrubber_control_pressed_holo.png b/AndroidClient/app/src/main/res/drawable-mdpi/apptheme_scrubber_control_pressed_holo.png Binary files differnew file mode 100755 index 0000000..a296f4c --- /dev/null +++ b/AndroidClient/app/src/main/res/drawable-mdpi/apptheme_scrubber_control_pressed_holo.png diff --git a/AndroidClient/app/src/main/res/drawable-mdpi/ic_launcher.png b/AndroidClient/app/src/main/res/drawable-mdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..2067e78 --- /dev/null +++ b/AndroidClient/app/src/main/res/drawable-mdpi/ic_launcher.png diff --git a/AndroidClient/app/src/main/res/drawable-xhdpi/apptheme_scrubber_control_disabled_holo.png b/AndroidClient/app/src/main/res/drawable-xhdpi/apptheme_scrubber_control_disabled_holo.png Binary files differnew file mode 100755 index 0000000..00bc047 --- /dev/null +++ b/AndroidClient/app/src/main/res/drawable-xhdpi/apptheme_scrubber_control_disabled_holo.png diff --git a/AndroidClient/app/src/main/res/drawable-xhdpi/apptheme_scrubber_control_focused_holo.png b/AndroidClient/app/src/main/res/drawable-xhdpi/apptheme_scrubber_control_focused_holo.png Binary files differnew file mode 100755 index 0000000..2f38b65 --- /dev/null +++ b/AndroidClient/app/src/main/res/drawable-xhdpi/apptheme_scrubber_control_focused_holo.png diff --git a/AndroidClient/app/src/main/res/drawable-xhdpi/apptheme_scrubber_control_normal_holo.png b/AndroidClient/app/src/main/res/drawable-xhdpi/apptheme_scrubber_control_normal_holo.png Binary files differnew file mode 100755 index 0000000..af951cb --- /dev/null +++ b/AndroidClient/app/src/main/res/drawable-xhdpi/apptheme_scrubber_control_normal_holo.png diff --git a/AndroidClient/app/src/main/res/drawable-xhdpi/apptheme_scrubber_control_pressed_holo.png b/AndroidClient/app/src/main/res/drawable-xhdpi/apptheme_scrubber_control_pressed_holo.png Binary files differnew file mode 100755 index 0000000..00bc047 --- /dev/null +++ b/AndroidClient/app/src/main/res/drawable-xhdpi/apptheme_scrubber_control_pressed_holo.png diff --git a/AndroidClient/app/src/main/res/drawable-xhdpi/ic_launcher.png b/AndroidClient/app/src/main/res/drawable-xhdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..00bc047 --- /dev/null +++ b/AndroidClient/app/src/main/res/drawable-xhdpi/ic_launcher.png diff --git a/AndroidClient/app/src/main/res/drawable-xxhdpi/apptheme_scrubber_control_disabled_holo.png b/AndroidClient/app/src/main/res/drawable-xxhdpi/apptheme_scrubber_control_disabled_holo.png Binary files differnew file mode 100755 index 0000000..a64250e --- /dev/null +++ b/AndroidClient/app/src/main/res/drawable-xxhdpi/apptheme_scrubber_control_disabled_holo.png diff --git a/AndroidClient/app/src/main/res/drawable-xxhdpi/apptheme_scrubber_control_focused_holo.png b/AndroidClient/app/src/main/res/drawable-xxhdpi/apptheme_scrubber_control_focused_holo.png Binary files differnew file mode 100755 index 0000000..6a80a0e --- /dev/null +++ b/AndroidClient/app/src/main/res/drawable-xxhdpi/apptheme_scrubber_control_focused_holo.png diff --git a/AndroidClient/app/src/main/res/drawable-xxhdpi/apptheme_scrubber_control_normal_holo.png b/AndroidClient/app/src/main/res/drawable-xxhdpi/apptheme_scrubber_control_normal_holo.png Binary files differnew file mode 100755 index 0000000..715ca84 --- /dev/null +++ b/AndroidClient/app/src/main/res/drawable-xxhdpi/apptheme_scrubber_control_normal_holo.png diff --git a/AndroidClient/app/src/main/res/drawable-xxhdpi/apptheme_scrubber_control_pressed_holo.png b/AndroidClient/app/src/main/res/drawable-xxhdpi/apptheme_scrubber_control_pressed_holo.png Binary files differnew file mode 100755 index 0000000..185e67c --- /dev/null +++ b/AndroidClient/app/src/main/res/drawable-xxhdpi/apptheme_scrubber_control_pressed_holo.png diff --git a/AndroidClient/app/src/main/res/drawable-xxhdpi/ic_launcher.png b/AndroidClient/app/src/main/res/drawable-xxhdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..2332309 --- /dev/null +++ b/AndroidClient/app/src/main/res/drawable-xxhdpi/ic_launcher.png diff --git a/AndroidClient/app/src/main/res/drawable/apptheme_scrubber_control_selector_holo_light.xml b/AndroidClient/app/src/main/res/drawable/apptheme_scrubber_control_selector_holo_light.xml Binary files differnew file mode 100755 index 0000000..00bc047 --- /dev/null +++ b/AndroidClient/app/src/main/res/drawable/apptheme_scrubber_control_selector_holo_light.xml diff --git a/AndroidClient/app/src/main/res/drawable/apptheme_scrubber_progress_horizontal_holo_light.xml b/AndroidClient/app/src/main/res/drawable/apptheme_scrubber_progress_horizontal_holo_light.xml new file mode 100755 index 0000000..9535874 --- /dev/null +++ b/AndroidClient/app/src/main/res/drawable/apptheme_scrubber_progress_horizontal_holo_light.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2010 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. +--> + +<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:id="@android:id/background" + android:drawable="@drawable/apptheme_scrubber_track_holo_light" /> + <item android:id="@android:id/secondaryProgress"> + <scale android:scaleWidth="100%" + android:drawable="@drawable/apptheme_scrubber_secondary_holo" /> + </item> + <item android:id="@android:id/progress"> + <scale android:scaleWidth="100%" + android:drawable="@drawable/apptheme_scrubber_primary_holo" /> + </item> +</layer-list> diff --git a/AndroidClient/app/src/main/res/layout/main.xml b/AndroidClient/app/src/main/res/layout/main.xml Binary files differnew file mode 100644 index 0000000..00bc047 --- /dev/null +++ b/AndroidClient/app/src/main/res/layout/main.xml diff --git a/AndroidClient/app/src/main/res/values/strings.xml b/AndroidClient/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..0727d11 --- /dev/null +++ b/AndroidClient/app/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ +<resources> + <string name="app_name">Snowman</string> +</resources> diff --git a/AndroidClient/app/src/main/res/values/styles.xml b/AndroidClient/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..69a8ed9 --- /dev/null +++ b/AndroidClient/app/src/main/res/values/styles.xml @@ -0,0 +1,7 @@ +<resources> + + <!-- Base application theme. --> + <style name="AppTheme" parent="@android:style/Theme.Holo.Light"> + </style> + +</resources> diff --git a/AndroidClient/build.gradle b/AndroidClient/build.gradle new file mode 100644 index 0000000..234dff0 --- /dev/null +++ b/AndroidClient/build.gradle @@ -0,0 +1,19 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:1.0.0-rc4' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + jcenter() + } +} diff --git a/AndroidClient/gradle.properties b/AndroidClient/gradle.properties new file mode 100644 index 0000000..1d3591c --- /dev/null +++ b/AndroidClient/gradle.properties @@ -0,0 +1,18 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +# Default value: -Xmx10248m -XX:MaxPermSize=256m +# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true
\ No newline at end of file diff --git a/AndroidClient/settings.gradle b/AndroidClient/settings.gradle new file mode 100644 index 0000000..e7b4def --- /dev/null +++ b/AndroidClient/settings.gradle @@ -0,0 +1 @@ +include ':app' |
