|
28 | 28 | import io.virtualapp.R; |
29 | 29 | import io.virtualapp.VCommends; |
30 | 30 | import io.virtualapp.abs.ui.VUiKit; |
| 31 | +import io.virtualapp.home.models.AppData; |
31 | 32 | import io.virtualapp.home.models.AppInfoLite; |
32 | 33 |
|
33 | 34 | /** |
@@ -112,31 +113,52 @@ private void handleSelfIntent(ArrayList<AppInfoLite> appList) { |
112 | 113 | } |
113 | 114 |
|
114 | 115 | private void addApp(AppInfoLite appInfoLite) { |
115 | | - Installd.addApp(appInfoLite, model -> runOnUiThread(() -> { |
116 | | - if (model.isInstalling()) { |
117 | | - mProgressText.setVisibility(View.VISIBLE); |
118 | | - mProgressBar.setVisibility(View.VISIBLE); |
119 | | - mProgressText.setText(getResources().getString(R.string.add_app_installing_tips, model.getName())); |
120 | | - } else if (model.isLoading()) { |
121 | | - mProgressText.setVisibility(View.VISIBLE); |
122 | | - mProgressBar.setVisibility(View.VISIBLE); |
123 | | - mProgressText.setText(getResources().getString(R.string.add_app_loading_tips, model.getName())); |
124 | | - } else { |
125 | | - mInstallCount--; |
126 | | - if (mInstallCount <= 0) { |
127 | | - mInstallCount = 0; |
128 | | - // only dismiss when the app is the last to install. |
129 | | - mProgressText.setText(getResources().getString(R.string.add_app_laoding_complete, model.getName())); |
130 | | - mProgressText.postDelayed(() -> { |
131 | | - mProgressBar.setVisibility(View.GONE); |
132 | | - |
133 | | - mRight.setVisibility(View.VISIBLE); |
134 | | - mRight.setText(R.string.install_complete); |
135 | | - mRight.setOnClickListener((vv)-> finish()); |
136 | | - }, 500); |
| 116 | + Installd.addApp(appInfoLite, new Installd.UpdateListener() { |
| 117 | + @Override |
| 118 | + public void update(AppData model) { |
| 119 | + runOnUiThread(() -> { |
| 120 | + if (model.isInstalling()) { |
| 121 | + mProgressText.setVisibility(View.VISIBLE); |
| 122 | + mProgressBar.setVisibility(View.VISIBLE); |
| 123 | + mProgressText.setText(getResources().getString(R.string.add_app_installing_tips, model.getName())); |
| 124 | + } else if (model.isLoading()) { |
| 125 | + mProgressText.setVisibility(View.VISIBLE); |
| 126 | + mProgressBar.setVisibility(View.VISIBLE); |
| 127 | + mProgressText.setText(getResources().getString(R.string.add_app_loading_tips, model.getName())); |
| 128 | + } else { |
| 129 | + mInstallCount--; |
| 130 | + if (mInstallCount <= 0) { |
| 131 | + mInstallCount = 0; |
| 132 | + // only dismiss when the app is the last to install. |
| 133 | + mProgressText.setText(getResources().getString(R.string.add_app_laoding_complete, model.getName())); |
| 134 | + mProgressText.postDelayed(() -> { |
| 135 | + mProgressBar.setVisibility(View.GONE); |
| 136 | + |
| 137 | + mRight.setVisibility(View.VISIBLE); |
| 138 | + mRight.setText(R.string.install_complete); |
| 139 | + mRight.setOnClickListener((vv) -> finish()); |
| 140 | + }, 500); |
| 141 | + } |
| 142 | + } |
| 143 | + } |
| 144 | + ); |
| 145 | + } |
| 146 | + |
| 147 | + @Override |
| 148 | + public void fail(String msg) { |
| 149 | + if (msg == null) { |
| 150 | + msg = "Unknown"; |
137 | 151 | } |
| 152 | + |
| 153 | + mProgressText.setText(getResources().getString(R.string.install_fail, msg)); |
| 154 | + mProgressText.postDelayed(() -> { |
| 155 | + mProgressBar.setVisibility(View.GONE); |
| 156 | + mRight.setVisibility(View.VISIBLE); |
| 157 | + mRight.setText(R.string.install_complete); |
| 158 | + mRight.setOnClickListener((vv) -> finish()); |
| 159 | + }, 500); |
138 | 160 | } |
139 | | - })); |
| 161 | + }); |
140 | 162 | } |
141 | 163 |
|
142 | 164 | private boolean dealUpdate(List<AppInfoLite> appList) { |
@@ -289,11 +311,16 @@ private void handleSystemIntent(Intent intent) { |
289 | 311 | mProgressText.setText(getResources().getString(R.string.add_app_laoding_complete, apkName)); |
290 | 312 | mProgressBar.setVisibility(View.GONE); |
291 | 313 | mRight.setEnabled(true); |
292 | | - mRight.setText(res.isSuccess ? R.string.install_complete : R.string.install_fail); |
| 314 | + mRight.setText(res.isSuccess ? getResources().getString(R.string.install_complete) : |
| 315 | + getResources().getString(R.string.install_fail, res.error)); |
293 | 316 | mRight.setOnClickListener((vv) -> finish()); |
294 | 317 | }).fail((res) -> { |
| 318 | + String msg = res.getMessage(); |
| 319 | + if (msg == null) { |
| 320 | + msg = "Unknown"; |
| 321 | + } |
295 | 322 | mProgressText.setVisibility(View.VISIBLE); |
296 | | - mProgressText.setText(R.string.install_fail); |
| 323 | + mProgressText.setText(getResources().getString(R.string.install_fail, msg)); |
297 | 324 | mRight.setEnabled(true); |
298 | 325 | mProgressBar.setVisibility(View.GONE); |
299 | 326 | mRight.setText(android.R.string.ok); |
|
0 commit comments