From ff67ae90cde82bb15903f537ba531b7aa8b0fa7a Mon Sep 17 00:00:00 2001 From: Abhan Date: Wed, 5 Jun 2013 15:05:10 +0530 Subject: [PATCH 1/4] GlobalViewHead --- GlobalViewHead/.gitignore | 43 +++++++++ GlobalViewHead/AndroidManifest.xml | 39 ++++++++ GlobalViewHead/README.md | 4 + GlobalViewHead/build.gradle | 46 +++++++++ GlobalViewHead/proguard-project.txt | 20 ++++ GlobalViewHead/project.properties | 14 +++ .../res/drawable-hdpi/ic_launcher.png | Bin 0 -> 6123 bytes .../res/drawable-mdpi/ic_launcher.png | Bin 0 -> 3694 bytes .../res/drawable-xhdpi/ic_launcher.png | Bin 0 -> 8277 bytes .../res/drawable-xxhdpi/ic_launcher.png | Bin 0 -> 13401 bytes GlobalViewHead/res/layout/activity_abhan.xml | 14 +++ GlobalViewHead/res/values/strings.xml | 4 + GlobalViewHead/res/values/styles.xml | 5 + .../src/com/abhan/example/Abhan.java | 52 ++++++++++ .../receivers/StartServiceReceiver.java | 19 ++++ .../abhan/example/services/AbhanService.java | 89 ++++++++++++++++++ .../abhan/example/views/AbhanActivity.java | 23 +++++ 17 files changed, 372 insertions(+) create mode 100644 GlobalViewHead/.gitignore create mode 100644 GlobalViewHead/AndroidManifest.xml create mode 100644 GlobalViewHead/README.md create mode 100644 GlobalViewHead/build.gradle create mode 100644 GlobalViewHead/proguard-project.txt create mode 100644 GlobalViewHead/project.properties create mode 100644 GlobalViewHead/res/drawable-hdpi/ic_launcher.png create mode 100644 GlobalViewHead/res/drawable-mdpi/ic_launcher.png create mode 100644 GlobalViewHead/res/drawable-xhdpi/ic_launcher.png create mode 100644 GlobalViewHead/res/drawable-xxhdpi/ic_launcher.png create mode 100644 GlobalViewHead/res/layout/activity_abhan.xml create mode 100644 GlobalViewHead/res/values/strings.xml create mode 100644 GlobalViewHead/res/values/styles.xml create mode 100644 GlobalViewHead/src/com/abhan/example/Abhan.java create mode 100644 GlobalViewHead/src/com/abhan/example/receivers/StartServiceReceiver.java create mode 100644 GlobalViewHead/src/com/abhan/example/services/AbhanService.java create mode 100644 GlobalViewHead/src/com/abhan/example/views/AbhanActivity.java diff --git a/GlobalViewHead/.gitignore b/GlobalViewHead/.gitignore new file mode 100644 index 0000000..2002d04 --- /dev/null +++ b/GlobalViewHead/.gitignore @@ -0,0 +1,43 @@ +# built application files +*.apk +*.ap_ + +# Eclipse +.classpath +.project +.settings +.metadata +eclipsebin + +# files for the dex VM +*.dex + +# Java class files +*.class + +# generated files +bin/ +gen/ + +# Local configuration file (sdk path, etc) +local.properties + +# Ant +bin +gen +build +out +lib + +# Maven +target +pom.xml.* +release.properties + +# IntelliJ +.idea +*.iml +*.iws +*.ipr +classes +gen-external-apklibs \ No newline at end of file diff --git a/GlobalViewHead/AndroidManifest.xml b/GlobalViewHead/AndroidManifest.xml new file mode 100644 index 0000000..1fe6c14 --- /dev/null +++ b/GlobalViewHead/AndroidManifest.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GlobalViewHead/README.md b/GlobalViewHead/README.md new file mode 100644 index 0000000..c53fbf0 --- /dev/null +++ b/GlobalViewHead/README.md @@ -0,0 +1,4 @@ +GlobalViewHead +=============== + +This project is only for demo purpose. It is look like Facebook ChatHead. \ No newline at end of file diff --git a/GlobalViewHead/build.gradle b/GlobalViewHead/build.gradle new file mode 100644 index 0000000..8f86a34 --- /dev/null +++ b/GlobalViewHead/build.gradle @@ -0,0 +1,46 @@ +buildscript { + repositories { + mavenCentral() + } + dependencies { + classpath 'com.android.tools.build:gradle:0.4.2' + } +} +apply plugin: 'android' + +dependencies { +} + +android { + compileSdkVersion 17 + buildToolsVersion "17" + + defaultConfig { + packageName "com.abhan.example" + versionCode 1 + versionName "1.0" + minSdkVersion 7 + targetSdkVersion 17 + } + + buildTypes { + debug { + packageNameSuffix ".debug" + versionNameSuffix "-debug" + } + } + + sourceSets { + main { + manifest.srcFile 'AndroidManifest.xml' + java.srcDirs = ['src'] + resources.srcDirs = ['src'] + aidl.srcDirs = ['src'] + renderscript.srcDirs = ['src'] + res.srcDirs = ['res'] + assets.srcDirs = ['assets'] + } + + instrumentTest.setRoot('tests') + } +} diff --git a/GlobalViewHead/proguard-project.txt b/GlobalViewHead/proguard-project.txt new file mode 100644 index 0000000..f2fe155 --- /dev/null +++ b/GlobalViewHead/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# 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/GlobalViewHead/project.properties b/GlobalViewHead/project.properties new file mode 100644 index 0000000..a3ee5ab --- /dev/null +++ b/GlobalViewHead/project.properties @@ -0,0 +1,14 @@ +# 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 edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-17 diff --git a/GlobalViewHead/res/drawable-hdpi/ic_launcher.png b/GlobalViewHead/res/drawable-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..ecf02f078ea091c7fbafecad6d31d4b9352a498e GIT binary patch literal 6123 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 literal 0 HcmV?d00001 diff --git a/GlobalViewHead/res/drawable-mdpi/ic_launcher.png b/GlobalViewHead/res/drawable-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..04452ee970ffe58de291ba5deeb3a5fb764cb434 GIT binary patch literal 3694 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ΠZIrag{RX19*6tP4ywn$;4{IkzoFxuz}m}m zLYgR{v`aUF=;-Jm5=)xsM(nu1J*68i_HC1vHkm8+UG@Nv^gjEopO{>xU1?XKv(HB; zd)C#_cZdLV#XcUJ1BG+;UEVEm8+o78LtF>nBy6v|>zI`+_rgPZpO8ktT)X}E1I_X) zkDo&ZM?w{dTGdk4?i3=~>C9PQWaLI@>)Iw;1W5~1LGv;DXKd_qHm0DwI$hbbCgv*J z!9TarJ|3Hcec*|6i_nPR@J%xA&6(@S`W>gIEeSmOzNcAn9|Xv^@}%1Vn&FeObaqg~ z3v?lz>|LRhDG+sx8X_woVFOvwdPsBR7f);=Ord#Y_RrXOVWP9@Pf7YG=W_HhTOqwR zNjEmmhYHOr6`&DMR@$R^d5e#xNw(rT*5T=N0*~rGL3J-?>^t|-Sp1^aDYN`*e?2=` zaUtgrb(%utN=ai7;nB5^1iHU}4Gp+4NDQV;(Aa$t>NbnkW)HkqG=$~9yFByX$ zlg)){=<=p((7TNm9A!Uips#O@{dhjwlI1!)taLTOJ0!R71k~YYU{l5dph+`*D+b;P zYM`XL8zL(pC6>jJAg`ukLDzz02Gd4KsneD`*Q6hZpT`UuJvggXt)hE$#dSspPaDZw zs~#Sb+Zl(;`Z3pI0nmhL2Xn)5l6Qg`M9nTiBsSMpN*V)c^{H-X>fAfN@Q|F&3akgrvD;5zj$hNUaMrAV zntyaa)Fg$-aXK@H$Q3v8&CDkOUZH9w2hu75BqNyCaY;3TYINeq73UP8ae%W*1CC>F zE683ijLLP4;F%X8gQtaqrx9ia)x%8x>VL!>kLBO%nL6F4Bj9`)jr3cHp7g+OhwbgsrDb%lA~>$V!(z_h!F*77 zNN(nYF?gCu{+b-{1lGaKLuL4PGNz6tK$E8J&y1MiUrX%{T}Tg6t9`-xlGZsYH(GzX z1vr6gJcAg9;h`!lFh(cXAzXOx;gmy_0Y({L0!DKlqVF6n#V$k(;0a$8GS0itrHkA-SC4SM?jr?b!7{j>q)r-g#{^18TtmQKJ)x+BFdI zCCwQ~_*1c^4LhNy=R zQVMJ1TWGJqH{7VGykvS|-D5$W z2i^0QgmODL&RwU&0ZxPh4ufYlgNHWFO%8a}(ly<;`j41X%kX&2< zE@YP4RO14%#xjU-17;9818GT2CzY(U@qH3&xKROFSzMW0#+3^rsEh$~28g^YEf?lr z2L73un#S0uIcAPS_Z;163XT~(bHbd#Qx7wU0ZjL+AxHP3FEFRCqI|K(w8>lJ0;V6X ze1Q<53o(ckkecX%%^*@h>X5pTnInlH$zbwKE#P{JrMhH_P>FI5$8u9xv^|Z|*Wj9D z&=~bNM&(N9I(*5J!1GRs0?#a3wig=%yX$JWk^ea%O7O=i%z3J!zE0S*sOs}7!- z)Oi|6p6VR%klal>P=r5yF>kC-U$QbbbJFIR$mxeGUdSP8)IdZ*!e%Z^3y}zttgP`M ziOn_-5`$^osRnWsUaB^vA4(c06!xF&v`A~^j1WZ;OdGdDsD z4-bxIcznxWOxk)BZ(W`FD$AGs!&Usn9aFsXe?Hx>iY^EjCPIW8p!GLI3y}yCEo+gk zgCxR)S{B<5tsTp0^7L{fx0|?BQfU|jWu0>Zm|lTdsgO_-LC4@>5!Kzjn671MY@4au zSOrIP9TrQi>ok+N>*1M>4YR)r&*4g#=ADP`vtX<~Jau}TE8b@|c|%C>)I;U}jti1O zgc}ecnjNZz=-qJ6jUvrKvIl%{0MXDCt#S&ZHvYGTHdGs>Dhr|(bY7Q6xr&n%` z7kv%7-M+K=bSwsoLyPRfwOED59GrHpTp78J0?*7KIXu%2BRo}rIm6sx4&8nGs!Jbj z;3s5L_MLw;&9@Rnh-T2{+5yq5;3oSf*`^&JwQ(S|>p&8FBpxIgOr;H5p{r}5CXuMl zt|bs(6b{SdS~VqQOJXIocPxE2{SGH}Em#{o{e zC2)9nX3%C?0*`M6V9qdiWBt*E6&IRqo4;ZAl!GPzEJB0}w?jnU2{VJV5HXN=8@39P z2$SecIaPZ|@;>0S5GtECfJgELY1u=?6-4QP6Lq2>QujLMEI2mKp`G^wx)vEQGPkh; zj-y=3T*m>=bbl>8Q%Qa(JS11P`CB~Hqx(eLYknZXA57kMs*czqFo=+J9-BlPK(9~_|k`3db|Z{Th`j0LsV_^TKXJWDPqDo zaIW@_MfUlVOMEOtV+9-@9fc9y(uq0U9{YrbhIhNVb!7@QO5 z#x=y{2TP%mxs7#jMAvClz@a5e4$l;yGMM6(_g9#!*WLTbPGs*-`p7eM%E97)We`pE zRUn#%C5=KG!OR z!(hR=WAlROTAV>+3=UteS~zeduA{<3!67l9O8cEknhOe#Pw~In7VincT)nQ7m)Uip z8AMAbZ;fu6N*7xufrxV>Z14gbH18kC+Ziw9uSsbXkr zUr5~ph5yE{iGYZb&4*e**5VwRHUXMedkh@lG^^k=ao{u%aD@f$EmU_fvPSo5?w7ubv$!aNE zH*rl!#bmFduP1vK(+yEKI#kX}tise;3~j<@PMUIl=$ z#+a+IpY=BMJ!VIH{Jdo)DZd9NY)|~@#Qg>I9io8baHGj;S)-OrPixh7kfy4ojRlqm zNr9=+4wD_IU_DSWs2m9&t(pyBY1XX44vbT1>d1bz;7q|D$G1uaM<`d=>yVN)k-RxE zwisiKwGwk0`$@L9{K1;)HRPYZ6SkiE;l%ymWS&1fGN+VT_enzdcQ}m40Z7dI1Yh1HKbB z$9;|)#&^s_29kPGV`WVVmII_IzK+tSg{e*>4NNLfOkz?MHEE;=O$0-f2nv%3OoIxH z44PW|zNYwAJD{OG4i8S59h`|?MRwPr@Q|2dY}FXgRbxKE_6>Qkli555(Zsb8w@95CsDs@DT0K&7a0loG}XZ~++3Z5+_Z!I{K4&P3)oUJ5u9J#)Xd ztqHqDVtQDO?Yy_`#5HP&Y|9RIOx&0A)x`aIN-(^ffuz7R*$Ae?T9{-GLQ_tlDWiK; zpy3@yZIV6nh%Nxe%r<{xK8>Lg%Wph9vYrUw5n(TIVsJAu+OTJ@uCuGa5T3hTpiJ z#|lJvLYSj|Mze<~(zeonc*5TEUons{XnK%%m`dd^2|($=s@8!uYVl)HP?%)EID>|3 zj`4a9mMI>bJ?Fo&tvY;z#!89VGBt*izfJInM|`}{wS;IpQIKu!s(jnFq`#f8FNX#V zOPdlzN3+elk_;v$Jy3e69IA3rM&ndyfSGi#T(c%AG@RQg&j%FjSa>~iPaJ{ zc9U)2^2a3g2B!t;{VG00F}78Hw{0GoUt;haAaO8x$zf6w!vj?+B(R*y;RqsNGT02h z&mi$Bw~woxO95u0cZq#nT4;(?Xn42DqkFaORl&g+tOy*TF;QZ(L5J#zKk73N=R4-sX=d#=0-Uo4pqiZ6Z2E6m5Hdb+v8#>AxZG#uv6d z*=mq;XuvfvVKQVuNues{lI#FXD**~#2SgQXVKD-Ra~c~u4J%P7+#Bu@_xk?oD!O+i z2AkBFyz_1DcU*C!>FTj`h5Csy*8P*VgF!9C&L zls$T?dtS&j%HysxN;jIS9#!$a7W^$*UUraXFDkaJiTJ*4=h^>DdIpk^ERX{whsvQm zy*vfUo}(KlR}YIF7zRxi(6!>4aqYMV2RL5p9v7>7o;vP2?mMYXR~yI=)ga@$6o1Ak zj(q#9ZOP7l+otIMWZQM_52PG`6et~30$if@-1;1ZOxBtx=W}$zG$5 zhhyU$8;||cw(P)dIybICSxdCKHZOIpE7i5nR`)Uv&THzC@H3#9>PZE!&aNifrhZNo zKoq5xibNtT8yU8_%WG^Oc@5dtg??t+j9{Jm8{5w0-`IAf{vX@Uv_Ghj{gF5bQ0+?p zBmEkF51+GxJQrVsuf;Jw^14pP#Icn*64g1Q)HUo^*R)z)<2-fEQ^tFoH_w&uTFHBA zSy-v|7Q2WJsL8}XCUQ(oFn%DJM3h2wjwqcdQ&kqxc~x25*VEPKrl_wyrH*w>9Xmjs zYnM9rN_8#oscRc|o3{j}sp`8NdyDz%JAZ}Rb8Jx)jLj?F4uLmg1*#1#LVzDu9uX9& zelJ9Q?qT({p6Xaz)Uj8nbIn)ho~f>79GbWMni9VAXQ(~LTs6Uq)RWIL)hV#VtW`l+ zZ&N;Z+Mxb>o%+4i>T{Q=uU({$HCG*bhC0{ywVQ8v?=(s6L8hsvpPA}KyLVL07R0_j vOMUKi^|e#fvBrCu@yGaM{4xG`rH}s)`iij#Mm!lF00000NkvXXu0mjftI&)q literal 0 HcmV?d00001 diff --git a/GlobalViewHead/res/layout/activity_abhan.xml b/GlobalViewHead/res/layout/activity_abhan.xml new file mode 100644 index 0000000..1e8b71a --- /dev/null +++ b/GlobalViewHead/res/layout/activity_abhan.xml @@ -0,0 +1,14 @@ + + + + \ No newline at end of file diff --git a/GlobalViewHead/res/values/strings.xml b/GlobalViewHead/res/values/strings.xml new file mode 100644 index 0000000..1be99b5 --- /dev/null +++ b/GlobalViewHead/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Abhan + \ No newline at end of file diff --git a/GlobalViewHead/res/values/styles.xml b/GlobalViewHead/res/values/styles.xml new file mode 100644 index 0000000..cf110e4 --- /dev/null +++ b/GlobalViewHead/res/values/styles.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/GlobalViewHead/src/com/abhan/example/Abhan.java b/GlobalViewHead/src/com/abhan/example/Abhan.java new file mode 100644 index 0000000..d786662 --- /dev/null +++ b/GlobalViewHead/src/com/abhan/example/Abhan.java @@ -0,0 +1,52 @@ +package com.abhan.example; + +import android.app.Application; +import android.content.IntentFilter; + +import com.abhan.example.receivers.StartServiceReceiver; + +public class Abhan extends Application { + + public static final String TAG = Abhan.class.getSimpleName(); + public static final boolean DEBUG = true; + private static boolean isConnectivity = false; + private int androidVersion = 4; + private StartServiceReceiver startServiceReceiver; + + @Override + public void onCreate() { + super.onCreate(); + setAndroidVersion(android.os.Build.VERSION.SDK_INT); + } + + public int getAndroidVersion() { + return androidVersion; + } + + public void setAndroidVersion(int androidVersion) { + this.androidVersion = androidVersion; + } + + public void registerAllReceivers() { + startServiceReceiver = new StartServiceReceiver(); + registerReceiver(startServiceReceiver, new IntentFilter("android.intent.action.BOOT_COMPLETED")); + if(DEBUG) { + android.util.Log.w(TAG, "All receivers are registerd."); + } + } + + public void unRegisterAllReceivers() { + unregisterReceiver(startServiceReceiver); + if(DEBUG) { + android.util.Log.w(TAG, "All receivers are unregisterd."); + } + } + + public static void setConnectivity(final boolean isConnectivity) { + Abhan.isConnectivity = isConnectivity; + } + + public static boolean getConnectivity() { + return isConnectivity; + } +} \ No newline at end of file diff --git a/GlobalViewHead/src/com/abhan/example/receivers/StartServiceReceiver.java b/GlobalViewHead/src/com/abhan/example/receivers/StartServiceReceiver.java new file mode 100644 index 0000000..1294d77 --- /dev/null +++ b/GlobalViewHead/src/com/abhan/example/receivers/StartServiceReceiver.java @@ -0,0 +1,19 @@ +package com.abhan.example.receivers; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; + +import com.abhan.example.Abhan; +import com.abhan.example.services.AbhanService; + +public class StartServiceReceiver extends BroadcastReceiver { + @Override + public void onReceive(Context context, Intent intent) { + if(Abhan.DEBUG) { + android.util.Log.i(Abhan.TAG, "Service Started"); + } + Intent service = new Intent(context, AbhanService.class); + context.startService(service); + } +} \ No newline at end of file diff --git a/GlobalViewHead/src/com/abhan/example/services/AbhanService.java b/GlobalViewHead/src/com/abhan/example/services/AbhanService.java new file mode 100644 index 0000000..b0ef8c0 --- /dev/null +++ b/GlobalViewHead/src/com/abhan/example/services/AbhanService.java @@ -0,0 +1,89 @@ +package com.abhan.example.services; + +import android.app.Service; +import android.content.Intent; +import android.graphics.PixelFormat; +import android.os.IBinder; +import android.util.DisplayMetrics; +import android.view.Gravity; +import android.view.MotionEvent; +import android.view.View; +import android.view.WindowManager; +import android.widget.ImageView; + +import com.abhan.example.R; + +public class AbhanService extends Service { + + private WindowManager windowManager; + private ImageView globalView; + private boolean inDragMode; + private int screenWidth, screenHight; + private int initX; + private int initY; + private int initViewX, initViewY; + private int newX, newY; + + @Override + public IBinder onBind(Intent intent) { + return null; + } + + @Override + public void onCreate() { + super.onCreate(); + windowManager = (WindowManager) getSystemService(WINDOW_SERVICE); + DisplayMetrics displaymetrics = new DisplayMetrics(); + windowManager.getDefaultDisplay().getMetrics(displaymetrics); + screenWidth = displaymetrics.widthPixels; + screenHight = displaymetrics.heightPixels; + inDragMode = false; + globalView = new ImageView(this); + globalView.setImageResource(R.drawable.ic_launcher); + final WindowManager.LayoutParams params = new WindowManager.LayoutParams(WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.TYPE_PHONE, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, PixelFormat.TRANSLUCENT); + params.gravity = Gravity.TOP | Gravity.LEFT; + params.x = 0; + params.y = 0; + globalView.setOnTouchListener(new View.OnTouchListener() { + @Override + public boolean onTouch(View view, MotionEvent event) { + switch(event.getAction()) { + case MotionEvent.ACTION_DOWN: + inDragMode = true; + initX = params.x; + initY = params.y; + initViewX = Math.abs((int) event.getRawX() - ((ImageView) view).getLeft()); + initViewY = Math.abs((int) event.getRawY() - ((ImageView) view).getTop()); + case MotionEvent.ACTION_UP: + inDragMode = false; + case MotionEvent.ACTION_MOVE: + if(! inDragMode) { + newX = initX + (int) event.getRawX() - initViewX; + newY = initY + (int) event.getRawY() - initViewY; + if((newX <= 0 || newX >= screenWidth) || (newY <= 0 || newY >= screenHight)) { + inDragMode = false; + } else { + params.x = newX; + params.y = newY; + updateViews(globalView, params); + } + } + } + return true; + } + }); + windowManager.addView(globalView, params); + } + + private void updateViews(final ImageView headImage, final WindowManager.LayoutParams params) { + windowManager.updateViewLayout(headImage, params); + } + + @Override + public void onDestroy() { + super.onDestroy(); + if(globalView != null) { + windowManager.removeView(globalView); + } + } +} \ No newline at end of file diff --git a/GlobalViewHead/src/com/abhan/example/views/AbhanActivity.java b/GlobalViewHead/src/com/abhan/example/views/AbhanActivity.java new file mode 100644 index 0000000..e073516 --- /dev/null +++ b/GlobalViewHead/src/com/abhan/example/views/AbhanActivity.java @@ -0,0 +1,23 @@ +package com.abhan.example.views; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; + +import com.abhan.example.R; +import com.abhan.example.services.AbhanService; + +public class AbhanActivity extends Activity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_abhan); + } + + @Override + protected void onStart() { + super.onStart(); + startService(new Intent(AbhanActivity.this, AbhanService.class)); + } +} \ No newline at end of file From 11c83053e57f1e2c2313da350ecaad347ad6ad97 Mon Sep 17 00:00:00 2001 From: Abhan Date: Wed, 5 Jun 2013 16:02:36 +0530 Subject: [PATCH 2/4] Calendar Demo --- CalendarDemo/AndroidManifest.xml | 28 ++++++++++++------------- CalendarDemo/project.properties | 2 +- CalendarDemo/res/layout/calendarrow.xml | 26 +++++++++++------------ 3 files changed, 26 insertions(+), 30 deletions(-) diff --git a/CalendarDemo/AndroidManifest.xml b/CalendarDemo/AndroidManifest.xml index fb0c7bc..11463d1 100644 --- a/CalendarDemo/AndroidManifest.xml +++ b/CalendarDemo/AndroidManifest.xml @@ -1,21 +1,19 @@ + package="com.abhan.example" + android:versionCode="1" + android:versionName="1.0"> + - - + android:targetSdkVersion="17"/> + + diff --git a/CalendarDemo/project.properties b/CalendarDemo/project.properties index 22d0dca..a3ee5ab 100644 --- a/CalendarDemo/project.properties +++ b/CalendarDemo/project.properties @@ -11,4 +11,4 @@ #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt # Project target. -target=android-7 +target=android-17 diff --git a/CalendarDemo/res/layout/calendarrow.xml b/CalendarDemo/res/layout/calendarrow.xml index 3a08eb8..18a85e0 100644 --- a/CalendarDemo/res/layout/calendarrow.xml +++ b/CalendarDemo/res/layout/calendarrow.xml @@ -1,17 +1,15 @@ - - + android:id="@+id/calendarrow_parentbar" + android:layout_width="wrap_content" + android:layout_height="wrap_content"> + \ No newline at end of file From b5dda6f0c322541d291397400d3ed9157632d75f Mon Sep 17 00:00:00 2001 From: Abhan Date: Wed, 5 Jun 2013 16:04:41 +0530 Subject: [PATCH 3/4] Calendar Demo --- CalendarDemo/.gitignore | 43 ++++++++++++++++++++++++++++++++++++ CalendarDemo/README.md | 1 + CalendarDemo/build.gradle | 46 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 90 insertions(+) create mode 100644 CalendarDemo/.gitignore create mode 100644 CalendarDemo/README.md create mode 100644 CalendarDemo/build.gradle diff --git a/CalendarDemo/.gitignore b/CalendarDemo/.gitignore new file mode 100644 index 0000000..2002d04 --- /dev/null +++ b/CalendarDemo/.gitignore @@ -0,0 +1,43 @@ +# built application files +*.apk +*.ap_ + +# Eclipse +.classpath +.project +.settings +.metadata +eclipsebin + +# files for the dex VM +*.dex + +# Java class files +*.class + +# generated files +bin/ +gen/ + +# Local configuration file (sdk path, etc) +local.properties + +# Ant +bin +gen +build +out +lib + +# Maven +target +pom.xml.* +release.properties + +# IntelliJ +.idea +*.iml +*.iws +*.ipr +classes +gen-external-apklibs \ No newline at end of file diff --git a/CalendarDemo/README.md b/CalendarDemo/README.md new file mode 100644 index 0000000..151c930 --- /dev/null +++ b/CalendarDemo/README.md @@ -0,0 +1 @@ +This project is only for demo purpose. \ No newline at end of file diff --git a/CalendarDemo/build.gradle b/CalendarDemo/build.gradle new file mode 100644 index 0000000..dbdb46e --- /dev/null +++ b/CalendarDemo/build.gradle @@ -0,0 +1,46 @@ +buildscript { + repositories { + mavenCentral() + } + dependencies { + classpath 'com.android.tools.build:gradle:0.4.2' + } +} +apply plugin: 'android' + +dependencies { +} + +android { + compileSdkVersion 7 + buildToolsVersion "7" + + defaultConfig { + packageName "com.abhan.example" + versionCode 1 + versionName "1.0" + minSdkVersion 7 + targetSdkVersion 17 + } + + buildTypes { + debug { + packageNameSuffix ".debug" + versionNameSuffix "-debug" + } + } + + sourceSets { + main { + manifest.srcFile 'AndroidManifest.xml' + java.srcDirs = ['src'] + resources.srcDirs = ['src'] + aidl.srcDirs = ['src'] + renderscript.srcDirs = ['src'] + res.srcDirs = ['res'] + assets.srcDirs = ['assets'] + } + + instrumentTest.setRoot('tests') + } +} From 4eaece8e7e34276d56e803cfbb04356d67515e3c Mon Sep 17 00:00:00 2001 From: Abhan Date: Wed, 5 Jun 2013 16:11:16 +0530 Subject: [PATCH 4/4] Color Change Demo --- ColorChangeProgram/.gitignore | 43 ++++++++++++++++++++++++ ColorChangeProgram/AndroidManifest.xml | 40 +++++++++++----------- ColorChangeProgram/README.md | 1 + ColorChangeProgram/build.gradle | 46 ++++++++++++++++++++++++++ ColorChangeProgram/res/layout/main.xml | 18 +++++----- 5 files changed, 118 insertions(+), 30 deletions(-) create mode 100644 ColorChangeProgram/.gitignore create mode 100644 ColorChangeProgram/README.md create mode 100644 ColorChangeProgram/build.gradle diff --git a/ColorChangeProgram/.gitignore b/ColorChangeProgram/.gitignore new file mode 100644 index 0000000..2002d04 --- /dev/null +++ b/ColorChangeProgram/.gitignore @@ -0,0 +1,43 @@ +# built application files +*.apk +*.ap_ + +# Eclipse +.classpath +.project +.settings +.metadata +eclipsebin + +# files for the dex VM +*.dex + +# Java class files +*.class + +# generated files +bin/ +gen/ + +# Local configuration file (sdk path, etc) +local.properties + +# Ant +bin +gen +build +out +lib + +# Maven +target +pom.xml.* +release.properties + +# IntelliJ +.idea +*.iml +*.iws +*.ipr +classes +gen-external-apklibs \ No newline at end of file diff --git a/ColorChangeProgram/AndroidManifest.xml b/ColorChangeProgram/AndroidManifest.xml index a9e1fd9..057a92d 100644 --- a/ColorChangeProgram/AndroidManifest.xml +++ b/ColorChangeProgram/AndroidManifest.xml @@ -1,23 +1,23 @@ - - - - - - - - - + package="com.abhan.example" + android:versionCode="1" + android:versionName="1.0"> + + + + + + + + + + \ No newline at end of file diff --git a/ColorChangeProgram/README.md b/ColorChangeProgram/README.md new file mode 100644 index 0000000..151c930 --- /dev/null +++ b/ColorChangeProgram/README.md @@ -0,0 +1 @@ +This project is only for demo purpose. \ No newline at end of file diff --git a/ColorChangeProgram/build.gradle b/ColorChangeProgram/build.gradle new file mode 100644 index 0000000..dbdb46e --- /dev/null +++ b/ColorChangeProgram/build.gradle @@ -0,0 +1,46 @@ +buildscript { + repositories { + mavenCentral() + } + dependencies { + classpath 'com.android.tools.build:gradle:0.4.2' + } +} +apply plugin: 'android' + +dependencies { +} + +android { + compileSdkVersion 7 + buildToolsVersion "7" + + defaultConfig { + packageName "com.abhan.example" + versionCode 1 + versionName "1.0" + minSdkVersion 7 + targetSdkVersion 17 + } + + buildTypes { + debug { + packageNameSuffix ".debug" + versionNameSuffix "-debug" + } + } + + sourceSets { + main { + manifest.srcFile 'AndroidManifest.xml' + java.srcDirs = ['src'] + resources.srcDirs = ['src'] + aidl.srcDirs = ['src'] + renderscript.srcDirs = ['src'] + res.srcDirs = ['res'] + assets.srcDirs = ['assets'] + } + + instrumentTest.setRoot('tests') + } +} diff --git a/ColorChangeProgram/res/layout/main.xml b/ColorChangeProgram/res/layout/main.xml index 6da7d70..a4e9bc0 100644 --- a/ColorChangeProgram/res/layout/main.xml +++ b/ColorChangeProgram/res/layout/main.xml @@ -1,13 +1,11 @@ - - + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:orientation="vertical"> + \ No newline at end of file