diff options
-rw-r--r-- | android/src/org/rockbox/RockboxActivity.java | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/android/src/org/rockbox/RockboxActivity.java b/android/src/org/rockbox/RockboxActivity.java index f5c658871f..b9a8c54204 100644 --- a/android/src/org/rockbox/RockboxActivity.java +++ b/android/src/org/rockbox/RockboxActivity.java | |||
@@ -37,7 +37,6 @@ import android.widget.Toast; | |||
37 | 37 | ||
38 | public class RockboxActivity extends Activity | 38 | public class RockboxActivity extends Activity |
39 | { | 39 | { |
40 | private ProgressDialog loadingdialog; | ||
41 | private RockboxService rbservice; | 40 | private RockboxService rbservice; |
42 | 41 | ||
43 | /** Called when the activity is first created. */ | 42 | /** Called when the activity is first created. */ |
@@ -49,38 +48,41 @@ public class RockboxActivity extends Activity | |||
49 | getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, | 48 | getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, |
50 | WindowManager.LayoutParams.FLAG_FULLSCREEN); | 49 | WindowManager.LayoutParams.FLAG_FULLSCREEN); |
51 | 50 | ||
52 | /* Do not try starting the service if it's already running */ | ||
53 | if (isRockboxRunning()) | ||
54 | return; | ||
55 | |||
56 | /* prepare a please wait dialog in case we need | ||
57 | * to wait for unzipping libmisc.so | ||
58 | */ | ||
59 | loadingdialog = new ProgressDialog(this); | ||
60 | loadingdialog.setMessage("Rockbox is loading. Please wait..."); | ||
61 | loadingdialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); | ||
62 | loadingdialog.setIndeterminate(true); | ||
63 | loadingdialog.setCancelable(false); | ||
64 | loadingdialog.show(); | ||
65 | |||
66 | Intent intent = new Intent(this, RockboxService.class); | 51 | Intent intent = new Intent(this, RockboxService.class); |
67 | intent.putExtra("callback", new ResultReceiver(new Handler(getMainLooper())) { | 52 | intent.putExtra("callback", new ResultReceiver(new Handler(getMainLooper())) { |
53 | private ProgressDialog loadingdialog; | ||
54 | |||
55 | private void createProgressDialog() | ||
56 | { | ||
57 | loadingdialog = new ProgressDialog(RockboxActivity.this); | ||
58 | loadingdialog.setMessage("Rockbox is loading. Please wait..."); | ||
59 | loadingdialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); | ||
60 | loadingdialog.setIndeterminate(true); | ||
61 | loadingdialog.setCancelable(false); | ||
62 | loadingdialog.show(); | ||
63 | } | ||
64 | |||
68 | @Override | 65 | @Override |
69 | protected void onReceiveResult(final int resultCode, final Bundle resultData) | 66 | protected void onReceiveResult(final int resultCode, final Bundle resultData) |
70 | { | 67 | { |
71 | switch (resultCode) { | 68 | switch (resultCode) { |
72 | case RockboxService.RESULT_LIB_LOADED: | 69 | case RockboxService.RESULT_LIB_LOADED: |
73 | rbservice = RockboxService.get_instance(); | 70 | rbservice = RockboxService.get_instance(); |
74 | loadingdialog.setIndeterminate(true); | 71 | if (loadingdialog != null) |
72 | loadingdialog.setIndeterminate(true); | ||
75 | break; | 73 | break; |
76 | case RockboxService.RESULT_LIB_LOAD_PROGRESS: | 74 | case RockboxService.RESULT_LIB_LOAD_PROGRESS: |
75 | if (loadingdialog == null) | ||
76 | createProgressDialog(); | ||
77 | |||
77 | loadingdialog.setIndeterminate(false); | 78 | loadingdialog.setIndeterminate(false); |
78 | loadingdialog.setMax(resultData.getInt("max", 100)); | 79 | loadingdialog.setMax(resultData.getInt("max", 100)); |
79 | loadingdialog.setProgress(resultData.getInt("value", 0)); | 80 | loadingdialog.setProgress(resultData.getInt("value", 0)); |
80 | break; | 81 | break; |
81 | case RockboxService.RESULT_FB_INITIALIZED: | 82 | case RockboxService.RESULT_FB_INITIALIZED: |
82 | attachFramebuffer(); | 83 | attachFramebuffer(); |
83 | loadingdialog.dismiss(); | 84 | if (loadingdialog != null) |
85 | loadingdialog.dismiss(); | ||
84 | break; | 86 | break; |
85 | case RockboxService.RESULT_ERROR_OCCURED: | 87 | case RockboxService.RESULT_ERROR_OCCURED: |
86 | Toast.makeText(RockboxActivity.this, resultData.getString("error"), Toast.LENGTH_LONG); | 88 | Toast.makeText(RockboxActivity.this, resultData.getString("error"), Toast.LENGTH_LONG); |