Permalink
Browse files

moved push demos to PushNotifications

  • Loading branch information...
1 parent e4ed072 commit 2bb1098b42cf97cea9921e549341932dae89b5d9 @friedger friedger committed Nov 26, 2012
Showing with 2,459 additions and 0 deletions.
  1. +72 −0 PushNotifications/c2dm_urban_airship/AndroidManifest.xml
  2. +66 −0 PushNotifications/c2dm_urban_airship/README
  3. 0 PushNotifications/c2dm_urban_airship/assets/airshipconfig.properties
  4. BIN PushNotifications/c2dm_urban_airship/lib/urbanairship-lib-1.0.7.jar
  5. +40 −0 PushNotifications/c2dm_urban_airship/proguard.cfg
  6. +11 −0 PushNotifications/c2dm_urban_airship/project.properties
  7. +5 −0 PushNotifications/c2dm_urban_airship/res/color/black.xml
  8. +5 −0 PushNotifications/c2dm_urban_airship/res/color/gray.xml
  9. +5 −0 PushNotifications/c2dm_urban_airship/res/color/white.xml
  10. BIN PushNotifications/c2dm_urban_airship/res/drawable-hdpi/ic_launcher.png
  11. BIN PushNotifications/c2dm_urban_airship/res/drawable-ldpi/ic_launcher.png
  12. BIN PushNotifications/c2dm_urban_airship/res/drawable-mdpi/ic_launcher.png
  13. BIN PushNotifications/c2dm_urban_airship/res/drawable/icon.png
  14. BIN PushNotifications/c2dm_urban_airship/res/drawable/icon_small.png
  15. BIN PushNotifications/c2dm_urban_airship/res/drawable/stripes.png
  16. +4 −0 PushNotifications/c2dm_urban_airship/res/drawable/tiledstripes.xml
  17. +36 −0 PushNotifications/c2dm_urban_airship/res/layout-v9/notification.xml
  18. +43 −0 PushNotifications/c2dm_urban_airship/res/layout-v9/notification_large.xml
  19. +44 −0 PushNotifications/c2dm_urban_airship/res/layout-v9/notification_multi_line.xml
  20. +38 −0 PushNotifications/c2dm_urban_airship/res/layout-v9/notification_three_lines.xml
  21. +14 −0 PushNotifications/c2dm_urban_airship/res/layout/main.xml
  22. +38 −0 PushNotifications/c2dm_urban_airship/res/layout/notification.xml
  23. +44 −0 PushNotifications/c2dm_urban_airship/res/layout/notification_large.xml
  24. +48 −0 PushNotifications/c2dm_urban_airship/res/layout/notification_multi_line.xml
  25. +38 −0 PushNotifications/c2dm_urban_airship/res/layout/notification_three_lines.xml
  26. +100 −0 PushNotifications/c2dm_urban_airship/res/layout/push_preferences_dialog.xml
  27. BIN PushNotifications/c2dm_urban_airship/res/raw/cat.wav
  28. +9 −0 PushNotifications/c2dm_urban_airship/res/values/strings.xml
  29. +20 −0 PushNotifications/c2dm_urban_airship/res/values/text_styles.xml
  30. +100 −0 PushNotifications/c2dm_urban_airship/src/com/novoda/urbanairship/demo/IntentReceiver.java
  31. +55 −0 PushNotifications/c2dm_urban_airship/src/com/novoda/urbanairship/demo/MainActivity.java
  32. +179 −0 PushNotifications/c2dm_urban_airship/src/com/novoda/urbanairship/demo/PushPreferencesActivity.java
  33. +76 −0 PushNotifications/c2dm_urban_airship/src/com/novoda/urbanairship/demo/UADemoApplication.java
  34. +13 −0 PushNotifications/gcm_appengine/README
  35. +113 −0 PushNotifications/gcm_appengine/build.xml
  36. BIN PushNotifications/gcm_appengine/lib/gcm-server.jar
  37. BIN PushNotifications/gcm_appengine/lib/servlet-api-2.5.jar
  38. +70 −0 PushNotifications/gcm_appengine/src/com/judo/android/gcm/demo/server/ApiKeyInitializer.java
  39. +91 −0 PushNotifications/gcm_appengine/src/com/judo/android/gcm/demo/server/BaseServlet.java
  40. +401 −0 PushNotifications/gcm_appengine/src/com/judo/android/gcm/demo/server/Datastore.java
  41. +87 −0 PushNotifications/gcm_appengine/src/com/judo/android/gcm/demo/server/HomeServlet.java
  42. +44 −0 PushNotifications/gcm_appengine/src/com/judo/android/gcm/demo/server/RegisterServlet.java
  43. +94 −0 PushNotifications/gcm_appengine/src/com/judo/android/gcm/demo/server/SendAllMessagesServlet.java
  44. +222 −0 PushNotifications/gcm_appengine/src/com/judo/android/gcm/demo/server/SendMessageServlet.java
  45. +43 −0 PushNotifications/gcm_appengine/src/com/judo/android/gcm/demo/server/UnregisterServlet.java
  46. +31 −0 PushNotifications/gcm_appengine/war/WEB-INF/appengine-web.xml
  47. BIN PushNotifications/gcm_appengine/war/WEB-INF/lib/appengine-api-1.0-sdk-1.7.3.jar
  48. BIN PushNotifications/gcm_appengine/war/WEB-INF/lib/appengine-api-labs.jar
  49. BIN PushNotifications/gcm_appengine/war/WEB-INF/lib/appengine-endpoints.jar
  50. BIN PushNotifications/gcm_appengine/war/WEB-INF/lib/appengine-jsr107cache-1.7.3.jar
  51. BIN PushNotifications/gcm_appengine/war/WEB-INF/lib/asm-4.0.jar
  52. BIN PushNotifications/gcm_appengine/war/WEB-INF/lib/datanucleus-api-jdo-3.1.1.jar
  53. BIN PushNotifications/gcm_appengine/war/WEB-INF/lib/datanucleus-api-jpa-3.1.1.jar
  54. BIN PushNotifications/gcm_appengine/war/WEB-INF/lib/datanucleus-appengine-2.1.1.jar
  55. BIN PushNotifications/gcm_appengine/war/WEB-INF/lib/datanucleus-core-3.1.1.jar
  56. BIN PushNotifications/gcm_appengine/war/WEB-INF/lib/gcm-server.jar
  57. BIN PushNotifications/gcm_appengine/war/WEB-INF/lib/geronimo-jpa_2.0_spec-1.0.jar
  58. BIN PushNotifications/gcm_appengine/war/WEB-INF/lib/jdo-api-3.0.1.jar
  59. BIN PushNotifications/gcm_appengine/war/WEB-INF/lib/json_simple-1.1.jar
  60. BIN PushNotifications/gcm_appengine/war/WEB-INF/lib/jsr107cache-1.1.jar
  61. BIN PushNotifications/gcm_appengine/war/WEB-INF/lib/jta-1.1.jar
  62. +29 −0 PushNotifications/gcm_appengine/war/WEB-INF/logging.properties
  63. +30 −0 PushNotifications/gcm_appengine/war/WEB-INF/queue.xml
  64. +100 −0 PushNotifications/gcm_appengine/war/WEB-INF/web.xml
  65. BIN PushNotifications/gcm_appengine/war/favicon.png
  66. +1 −0 PushNotifications/gcm_appengine/war/index.jsp
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.novoda.urbanairship.demo"
+ android:versionCode="1"
+ android:versionName="1.0" >
+
+ <uses-sdk android:minSdkVersion="14" />
+
+ <!-- REQUIRED -->
+ <uses-permission android:name="android.permission.INTERNET" />
+ <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+ <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
+ <uses-permission android:name="android.permission.READ_PHONE_STATE" />
+ <uses-permission android:name="android.permission.VIBRATE" />
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+
+ <permission
+ android:name="com.novoda.urbanairship.demo.permission.C2D_MESSAGE"
+ android:protectionLevel="signature" />
+
+ <uses-permission android:name="com.novoda.urbanairship.demo.permission.C2D_MESSAGE" />
+ <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
+
+ <application
+ android:name="com.novoda.urbanairship.demo.UADemoApplication"
+ android:allowClearUserData="true"
+ android:debuggable="true"
+ android:enabled="true"
+ android:icon="@drawable/icon"
+ android:label="@string/app_name" >
+
+ <activity android:name="com.novoda.urbanairship.demo.MainActivity"
+ android:label="@string/app_name">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+
+ <activity android:name="com.novoda.urbanairship.demo.PushPreferencesActivity" />
+
+ <receiver android:name="com.urbanairship.CoreReceiver" >
+ <intent-filter>
+ <action android:name="android.intent.action.BOOT_COMPLETED" />
+ <action android:name="android.intent.action.ACTION_SHUTDOWN" />
+ </intent-filter>
+ </receiver>
+
+ <receiver
+ android:name="com.urbanairship.push.c2dm.C2DMPushReceiver"
+ android:permission="com.google.android.c2dm.permission.SEND" >
+
+ <!-- Receive the actual message -->
+ <intent-filter>
+ <action android:name="com.google.android.c2dm.intent.RECEIVE" />
+ <category android:name="com.novoda.urbanairship.demo" />
+ </intent-filter>
+ <!-- Receive the registration id -->
+ <intent-filter>
+ <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
+ <category android:name="com.novoda.urbanairship.demo" />
+ </intent-filter>
+ </receiver>
+
+ <service
+ android:name="com.urbanairship.push.PushService"
+ android:process=":com.urbanairship.push.process" />
+
+ <receiver android:name="com.novoda.urbanairship.demo.IntentReceiver" />
+ </application>
+
+</manifest>
@@ -0,0 +1,66 @@
+Step 1:
+
+Urban Airship for Android uses C2DM for push notifications. In order to begin you first need to register an email id with Google’s C2DM framework which can be found here:
+
+http://code.google.com/android/c2dm/signup.html
+
+you will also be required to register the application’s package name.
+
+Step 2:
+
+Register with Urban Airship on : http://urbanairship.com/ and wait for the confirmation mail from Google.
+
+Step 3:
+
+Once you have the confirmation mail from Google informing you that your account can now successfully send push notifications you need to create a new application on Urban Airship. Log into Urban Airship and then create a new application. During creation make sure that you have Push Notification Support enabled and you register the same package name you registered with Google’s servers.
+
+Step 4:
+
+In order to get the C2DM authorisation token you need to execute a curl command
+
+curl https://www.google.com/accounts/ClientLogin -d Email=your_user -d "Passwd=your_password" -d accountType=GOOGLE -d source=Google-cURL-Example -d service=ac2dm
+
+Enter your password and email in the required fields. The response will resemble this
+
+SID=DQAAAPMAAACMY6LUPhXt_co8ESnZa9_bX17MJJZj2AGlDr4gcNIXxq7OJBMPFiT8ry756bE_0rmx
+RfH6wLP4fwUO53qJzN6XlXufColJYUlqsT-vTMiZEPEDE_j_dTQcWRnSk2jMyQOTHLve0sSrthqMVPwT
+kBZJn2pb8gsRsBUMHQbZRgCjEnMO8Ci_fkgKvgUYsX3xjlNO7O8znPWcxwK1KQjJZMGcYs8iM02s4u5g
+ujij2hejb2Jg-F92t9XUmp51Dea-6FPw2OiOuIOobjh7lQdoO63Rp_qc040hICXl_8mx-DgWyCeUX1bh
+s1EZb4c3qNiK-wRuSIi2ioA3VnpDBL231C35
+LSID=DQAAAPUAAADaz7cSh--p87KoL0qT3eyLvA76QdMLtNaTYNMdOBMcH09_AEV9g3a3Js_7Lwgnw-N
+sTRwVH719WITJKkzkuRwEhD6PJ92XXrpNxco4hZecnpsL07RxRHaWY3RqwJDUba-Le4UWeALr7ybdrz4
+SEJy8Jlw9yGr8hctxK6wWAWToGQF3Bw9K9DiAx-E7ZyfWaZt98Y_ygPLg86hEUbBodIQD6UBZ75vDAbJ
+YxhIP6yOBFCOCuP7NjDJ2ET1_IBDTEoCkXvVgky57w6N5Z8fO7QUoI6FUfGV9sY8y68G27PzwaeQcLv9
+UuL6UGFRYOEfOxsKhK9Z99UoySuPzGcOgo7Sr
+Auth=DGAAAPYAAAA7M1KQj2uTozkpD3p0J-X32eVRbK2a7oXPtNkZ3Uon6Kw8RySEds7ygjgB95tC0c5
+Y3CzEUpHHIytC1KuF4s7majdRZFtqCRKwuTmLDALvyGGU8dv4FUUvMC4i016Epuk8jpq0QKTccmv2yCi
+RgoIr7oMWkX5NuuYAmLO-m8i52AqDcVg3cyRatVHmNZnpfmhs8bXKjjvFAzP8r4oaH5Z33ibQRljCXeR
+e71lFjBsIQGvmwnV3bzTJTza4aKkmlfGTA9Zk5p4QlgXHlpvmgWznbmm_gp7t5Q4yXyR9AlMj1W6mvfk
+_PzzjcGh_8AW-5f9iFSFUjxwDrRJKDAXKc0ko
+Extract the “Auth” portion of it i.e.
+
+DGAAAPYAAAA7M1KQj2uTozkpD3p0J-X32eVRbK2a7oXPtNkZ3Uon6Kw8RySEds7ygjgB95tC0c5
+Y3CzEUpHHIytC1KuF4s7majdRZFtqCRKwuTmLDALvyGGU8dv4FUUvMC4i016Epuk8jpq0QKTccmv2yCi
+RgoIr7oMWkX5NuuYAmLO-m8i52AqDcVg3cyRatVHmNZnpfmhs8bXKjjvFAzP8r4oaH5Z33ibQRljCXeR
+e71lFjBsIQGvmwnV3bzTJTza4aKkmlfGTA9Zk5p4QlgXHlpvmgWznbmm_gp7t5Q4yXyR9AlMj1W6mvfk
+_PzzjcGh_8AW-5f9iFSFUjxwDrRJKDAXKc0ko
+
+And enter it into the urban airship application field which requests for the C2DM authorisation token. And finally create the Urban Airship app.
+
+Step 5:
+
+Create android project as per the example posted on github at:
+
+https://github.com/novoda/UrbanAirshipDemo
+
+Step 6:
+
+Once the code is compiled in order to test the push notifications log into your urban airship account and goto the Test Push Notifications, here you need your device token in order to test the notification.
+
+You can get the Token ID from the logs, search for a Log that resembles:
+
+01-04 15:17:58.746: D/Push Sample - UALib(9606): Updating APID: 17b3c59d-8338-4dd8-b6de-410a693e742a
+
+OR
+
+you can test by sending a broadcast
@@ -0,0 +1,40 @@
+-optimizationpasses 5
+-dontusemixedcaseclassnames
+-dontskipnonpubliclibraryclasses
+-dontpreverify
+-verbose
+-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
+
+-keep public class * extends android.app.Activity
+-keep public class * extends android.app.Application
+-keep public class * extends android.app.Service
+-keep public class * extends android.content.BroadcastReceiver
+-keep public class * extends android.content.ContentProvider
+-keep public class * extends android.app.backup.BackupAgentHelper
+-keep public class * extends android.preference.Preference
+-keep public class com.android.vending.licensing.ILicensingService
+
+-keepclasseswithmembernames class * {
+ native <methods>;
+}
+
+-keepclasseswithmembers class * {
+ public <init>(android.content.Context, android.util.AttributeSet);
+}
+
+-keepclasseswithmembers class * {
+ public <init>(android.content.Context, android.util.AttributeSet, int);
+}
+
+-keepclassmembers class * extends android.app.Activity {
+ public void *(android.view.View);
+}
+
+-keepclassmembers enum * {
+ public static **[] values();
+ public static ** valueOf(java.lang.String);
+}
+
+-keep class * implements android.os.Parcelable {
+ public static final android.os.Parcelable$Creator *;
+}
@@ -0,0 +1,11 @@
+# This file is automatically generated by Android Tools.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# This file must be checked in Version Control Systems.
+#
+# To customize properties used by the Ant build system use,
+# "ant.properties", and override values to adapt the script to your
+# project structure.
+
+# Project target.
+target=Google Inc.:Google APIs:14
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+ <item android:state_enabled="false" android:color="#50000000" />
+ <item android:color="#FF000000" />
+</selector>
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+ <item android:state_enabled="false" android:color="#80999999" />
+ <item android:color="#999999" />
+</selector>
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+ <item android:state_enabled="false" android:color="#80FFFFFF" />
+ <item android:color="#FFFFFF" />
+</selector>
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
+ android:src="@drawable/stripes"
+ android:tileMode="repeat" />
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="fill_parent"
+ android:orientation="vertical"
+ android:layout_alignParentTop="true"
+ android:layout_height="fill_parent">
+
+ <ImageView android:id="@+id/icon"
+ android:src="@drawable/icon"
+ android:layout_marginRight="10px"
+ android:layout_marginLeft="0px"
+ android:layout_width="65dip"
+ android:layout_height="65dip" />
+
+ <TextView android:id="@+id/subject"
+ android:text="Subject"
+ android:textAppearance="@android:style/TextAppearance.StatusBar.EventContent.Title"
+ android:layout_alignTop="@+id/icon"
+ android:layout_toRightOf="@+id/icon"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:maxLines="1" />
+
+ <TextView android:id="@+id/message"
+ android:textSize="14dip"
+ android:text="Message"
+ android:textAppearance="@android:style/TextAppearance.StatusBar.EventContent"
+ android:maxLines="1"
+ android:layout_marginTop="3dip"
+ android:layout_height="wrap_content"
+ android:layout_below="@+id/subject"
+ android:layout_toRightOf="@+id/icon"
+ android:layout_width="wrap_content" />
+
+</RelativeLayout>
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<RelativeLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="fill_parent"
+ android:orientation="vertical"
+ android:paddingTop="0dip"
+ android:layout_alignParentTop="true"
+ android:layout_height="fill_parent">
+
+ <ImageView android:id="@+id/icon"
+ android:src="@drawable/icon"
+ android:layout_width="65dip"
+ android:layout_height="65dip"
+ android:layout_margin="0dip"/>
+
+ <!-- The custom notification requires a subject field.
+ To maximize space in this layout this
+ field is hidden. Visibility is set to gone. -->
+ <TextView android:id="@+id/subject"
+ android:text="Subject"
+ android:textAppearance="@android:style/TextAppearance.StatusBar.EventContent.Title"
+ android:layout_alignTop="@+id/icon"
+ android:layout_toRightOf="@+id/icon"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:maxLines="1" android:visibility="gone"/>
+
+ <!-- The message block. Standard text size is 14dip
+ but is increased here to maximize impact. -->
+ <TextView android:id="@+id/message"
+ android:textSize="48dip"
+ android:textAppearance="@android:style/TextAppearance.StatusBar.EventContent.Title"
+ android:text="Message"
+ android:maxLines="4"
+ android:layout_marginTop="0dip"
+ android:layout_marginRight="2dip"
+ android:layout_marginLeft="10dip"
+ android:layout_height="wrap_content"
+ android:layout_toRightOf="@+id/icon"
+ android:layout_width="wrap_content" />
+
+</RelativeLayout>
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<RelativeLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="fill_parent"
+ android:orientation="vertical"
+ android:paddingTop="0dip"
+ android:layout_alignParentTop="true"
+ android:layout_height="fill_parent">
+
+ <ImageView android:id="@+id/icon"
+ android:src="@drawable/icon"
+ android:layout_marginRight="10dip"
+ android:layout_marginLeft="0dip"
+ android:layout_width="65dip"
+ android:layout_height="65dip" />
+
+ <!-- The custom notification requires a subject field.
+ To accommodate multiple lines in this layout this
+ field is hidden. Visibility is set to gone. -->
+ <TextView android:id="@+id/subject"
+ android:text="Subject"
+ android:textAppearance="@android:style/TextAppearance.StatusBar.EventContent.Title"
+ android:layout_alignTop="@+id/icon"
+ android:layout_toRightOf="@+id/icon"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:maxLines="1" android:visibility="gone"/>
+
+ <!-- The message block. Standard text size is 14dip
+ but is reduced here to maximize content. -->
+ <TextView android:id="@+id/message"
+ android:textSize="12dip"
+ android:textAppearance="@android:style/TextAppearance.StatusBar.EventContent"
+ android:text="Message"
+ android:maxLines="4"
+ android:layout_marginTop="0dip"
+ android:layout_marginRight="2dip"
+ android:layout_marginLeft="0dip"
+ android:layout_height="wrap_content"
+ android:layout_toRightOf="@+id/icon"
+ android:layout_width="wrap_content" />
+
+</RelativeLayout>
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="fill_parent"
+ android:orientation="vertical"
+ android:paddingTop="0px"
+ android:layout_alignParentTop="true"
+ android:layout_height="fill_parent">
+
+ <ImageView android:id="@+id/icon"
+ android:src="@drawable/icon"
+ android:layout_marginRight="10px"
+ android:layout_marginLeft="0px"
+ android:layout_width="65dip"
+ android:layout_height="65dip" />
+
+ <TextView android:id="@+id/subject"
+ android:text="Subject"
+ android:textAppearance="@android:style/TextAppearance.StatusBar.EventContent.Title"
+ android:layout_alignTop="@+id/icon"
+ android:layout_toRightOf="@+id/icon"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:maxLines="1" android:visibility="gone"/>
+
+ <TextView android:id="@+id/message"
+ android:textSize="14dip"
+ android:textAppearance="@android:style/TextAppearance.StatusBar.EventContent"
+ android:text="Message"
+ android:maxLines="3"
+ android:layout_marginTop="3dip"
+ android:layout_marginRight="6px"
+ android:layout_marginLeft="2px"
+ android:layout_height="wrap_content"
+ android:layout_toRightOf="@+id/icon"
+ android:layout_width="wrap_content" />
+
+</RelativeLayout>
Oops, something went wrong.

2 comments on commit 2bb1098

@peter-budo

Your question is confusing. Why would you want to mix up jsoup library that is used mostly for data mining of web pages (when user is not interested in whole page just subset of data) with android webview that has capability show web page? Can you elaborate more? Secondly if you wanted to ask question you should have used issue option instead of making irrelevant comment on commit

@prakash5
Please sign in to comment.