Android-x86
Fork
Spenden

  • R/O
  • HTTP
  • SSH
  • HTTPS

packages-apps-TSCalibration2: Commit

packages/apps/TSCalibration2


Commit MetaInfo

Revision19a2a71e348d42381d9cb781a2dd9cf406e76ce1 (tree)
Zeit2010-05-14 17:37:32
AutorKan-Ru Chen <kanru@0xla...>
CommiterKan-Ru Chen

Log Message

[TSCalibration2] Mimic the Launcher to become the first Activity after boot.

Use the trick to mimic the Launcher by listen to the HOME intent, once
the Calibration is done we unregister the startup activity from
package manager. Set the priority at very high value to ensure we are
the first activity.

Change-Id: I528629d5f91b31a31120f5d6f11df16296bcae61

Ändern Zusammenfassung

Diff

--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -19,30 +19,23 @@ limitations under the License.
1919 package="org.zeroxlab.util.tscal"
2020 android:sharedUserId="android.uid.system">
2121 <uses-permission android:name="android.permission.SET_ALWAYS_FINISH" />
22- <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
23-
2422 <application android:icon="@drawable/icon" android:label="@string/app_name">
25-
2623 <activity android:name=".TSCalibration"
2724 android:label="Calibration"
25+ android:launchMode="standard"
2826 android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
2927 android:configChanges="keyboard|keyboardHidden|navigation|orientation">
30-
3128 <intent-filter>
3229 <action android:name="android.intent.action.MAIN" />
3330 <category android:name="android.intent.category.LAUNCHER" />
3431 </intent-filter>
35-
3632 </activity>
37-
38- <receiver android:name="StartupIntentReceiver" >
39-
40- <intent-filter>
41- <action android:name="android.intent.action.BOOT_COMPLETED" />
33+ <activity android:name=".TSCalibrationStartup">
34+ <intent-filter android:priority="100">
35+ <action android:name="android.intent.action.MAIN" />
4236 <category android:name="android.intent.category.HOME" />
37+ <category android:name="android.intent.category.DEFAULT" />
4338 </intent-filter>
44-
45- </receiver>
46-
39+ </activity>
4740 </application>
4841 </manifest>
--- a/src/org/zeroxlab/util/tscal/TSCalibration.java
+++ b/src/org/zeroxlab/util/tscal/TSCalibration.java
@@ -60,7 +60,8 @@ public class TSCalibration extends Activity {
6060 {
6161 if (mTSCalibrationView.isFinished()) {
6262 mTSCalibrationView.dumpCalData(FILE);
63- this.finish();
63+ setResult(0);
64+ finish();
6465 } else {
6566 setContentView(mTSCalibrationView);
6667 }
--- a/src/org/zeroxlab/util/tscal/StartupIntentReceiver.java
+++ b/src/org/zeroxlab/util/tscal/TSCalibrationStartup.java
@@ -15,24 +15,37 @@
1515 */
1616 package org.zeroxlab.util.tscal;
1717
18-import android.content.BroadcastReceiver;
18+import android.app.Activity;
19+import android.content.ComponentName;
1920 import android.content.Context;
2021 import android.content.Intent;
21-import android.util.Log;
22+import android.content.pm.PackageManager;
23+import android.os.Bundle;
2224
2325 import java.io.File;
2426
25-// Added to allow for automatic startup
26-public class StartupIntentReceiver extends BroadcastReceiver {
27+public class TSCalibrationStartup extends Activity {
2728
2829 private static String cal_path = "/data/misc/tscal/pointercal";
2930
30- @Override public void onReceive(Context context, Intent intent) {
31+
32+ @Override
33+ public void onCreate(Bundle savedInstanceState) {
34+ super.onCreate(savedInstanceState);
3135 File calFile = new File(cal_path);
3236 if (!calFile.exists()) {
33- Intent starterIntent = new Intent(context, TSCalibration.class);
34- starterIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
35- context.startActivity(starterIntent);
37+ Intent starterIntent = new Intent(this, TSCalibration.class);
38+ startActivityForResult(starterIntent, 0);
3639 }
3740 }
41+
42+ @Override
43+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
44+ super.onActivityResult(requestCode, resultCode, data);
45+ // remove this activity from the package manager.
46+ PackageManager pm = getPackageManager();
47+ ComponentName name = new ComponentName(this, TSCalibrationStartup.class);
48+ pm.setComponentEnabledSetting(name, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);
49+ finish();
50+ }
3851 }
Show on old repository browser