Skip to content

Commit edf18ac

Browse files
author
tiann
committed
Feat: options to open the app when install completed
1 parent 31b491d commit edf18ac

10 files changed

Lines changed: 54 additions & 14 deletions

File tree

VirtualApp/app/src/main/java/io/virtualapp/home/ListAppFragment.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,14 @@ public boolean isSelectable(int position) {
196196

197197
if (dataList.size() > 0) {
198198
String path = dataList.get(0).path;
199-
chooseInstallWay(() -> Installd.startInstallerActivity(getActivity(), dataList), path);
199+
chooseInstallWay(() -> {
200+
Activity activity = getActivity();
201+
if (activity == null) {
202+
return;
203+
}
204+
Installd.startInstallerActivity(activity, dataList);
205+
activity.setResult(Activity.RESULT_OK);
206+
}, path);
200207
}
201208
});
202209
mSelectFromExternal.setOnClickListener(v -> {
@@ -249,7 +256,10 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
249256
return;
250257
}
251258

252-
chooseInstallWay(() -> Installd.handleRequestFromFile(getActivity(), path), path);
259+
chooseInstallWay(() -> {
260+
Installd.handleRequestFromFile(getActivity(), path);
261+
getActivity().setResult(Activity.RESULT_OK);
262+
}, path);
253263
}
254264

255265
public static String getPath(Context context, Uri uri) {

VirtualApp/app/src/main/java/io/virtualapp/settings/SettingsActivity.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.io.IOException;
2323

2424
import io.virtualapp.R;
25+
import io.virtualapp.VCommends;
2526
import io.virtualapp.gms.FakeGms;
2627
import io.virtualapp.home.ListAppActivity;
2728
import io.virtualapp.utils.Misc;
@@ -327,4 +328,13 @@ public void startActivity(Intent intent) {
327328
}
328329
}
329330
}
331+
332+
@Override
333+
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
334+
if (requestCode == VCommends.REQUEST_SELECT_APP) {
335+
if (resultCode == RESULT_OK) {
336+
finish();
337+
}
338+
}
339+
}
330340
}

VirtualApp/app/src/main/java/io/virtualapp/sys/InstallerActivity.java

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import io.virtualapp.R;
2929
import io.virtualapp.VCommends;
3030
import io.virtualapp.abs.ui.VUiKit;
31+
import io.virtualapp.home.LoadingActivity;
3132
import io.virtualapp.home.models.AppData;
3233
import io.virtualapp.home.models.AppInfoLite;
3334

@@ -134,9 +135,16 @@ public void update(AppData model) {
134135
mProgressText.postDelayed(() -> {
135136
mProgressBar.setVisibility(View.GONE);
136137

138+
mLeft.setVisibility(View.VISIBLE);
139+
mLeft.setText(R.string.install_complete);
140+
mLeft.setOnClickListener((vv) -> finish());
141+
137142
mRight.setVisibility(View.VISIBLE);
138-
mRight.setText(R.string.install_complete);
139-
mRight.setOnClickListener((vv) -> finish());
143+
mRight.setText(R.string.install_complete_and_open);
144+
mRight.setOnClickListener((vv) -> {
145+
LoadingActivity.launch(getApplicationContext(), appInfoLite.packageName, 0);
146+
finish();
147+
});
140148
}, 500);
141149
}
142150
}
@@ -260,14 +268,11 @@ private void handleSystemIntent(Intent intent) {
260268
finish();
261269
return;
262270
}
263-
PackageInfo packageArchiveInfo = packageManager.getPackageArchiveInfo(path, 0);
264-
if (packageArchiveInfo == null) {
265-
finish();
266-
return;
267-
}
268-
String toInstalledVersion = packageArchiveInfo.versionName;
269-
int toInstalledVersionCode = packageArchiveInfo.versionCode;
270-
CharSequence label = packageArchiveInfo.packageName;
271+
272+
final String packageName = pkgInfo.packageName;
273+
String toInstalledVersion = pkgInfo.versionName;
274+
int toInstalledVersionCode = pkgInfo.versionCode;
275+
CharSequence label = packageName;
271276

272277
if (installedAppInfo != null) {
273278
String currentVersion;
@@ -316,10 +321,18 @@ private void handleSystemIntent(Intent intent) {
316321
mProgressText.setVisibility(View.VISIBLE);
317322
mProgressText.setText(getResources().getString(R.string.add_app_loading_complete, apkName));
318323
mProgressBar.setVisibility(View.GONE);
324+
mRight.setVisibility(View.VISIBLE);
319325
mRight.setEnabled(true);
320-
mRight.setText(res.isSuccess ? getResources().getString(R.string.install_complete) :
326+
mRight.setText(R.string.install_complete_and_open);
327+
mRight.setOnClickListener(vv -> {
328+
LoadingActivity.launch(this, packageName, 0);
329+
finish();
330+
});
331+
mLeft.setVisibility(View.VISIBLE);
332+
mLeft.setEnabled(true);
333+
mLeft.setText(res.isSuccess ? getResources().getString(R.string.install_complete) :
321334
getResources().getString(R.string.install_fail, res.error));
322-
mRight.setOnClickListener((vv) -> finish());
335+
mLeft.setOnClickListener((vv) -> finish());
323336
}).fail((res) -> {
324337
String msg = res.getMessage();
325338
if (msg == null) {

VirtualApp/app/src/main/res/values-es/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,4 +166,5 @@
166166
<string name="install_permission_manager_tips">Permission Manage es implementado por XPrivacyLua, descarga (aproximadamente 1.7M) e instálalo ahora?</string>
167167
<string name="advance_settings_enable_launcher_summary">Enable Launcher</string>
168168
<string name="advance_settings_enable_launcher">Enable Launcher</string>
169+
<string name="install_complete_and_open">Abierto</string>
169170
</resources>

VirtualApp/app/src/main/res/values-fr/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,4 +163,5 @@
163163
<string name="install_permission_manager_tips">Permission Manage est mis en œuvre par XPrivacyLua, télécharger (environ 1,7M) et l\'installer maintenant?</string>
164164
<string name="advance_settings_enable_launcher_summary">Enable Launcher</string>
165165
<string name="advance_settings_enable_launcher">Enable Launcher</string>
166+
<string name="install_complete_and_open">Ouvert</string>
166167
</resources>

VirtualApp/app/src/main/res/values-pt-rBR/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,4 +167,5 @@
167167
<string name="install_permission_manager_tips">Gerenciador de permissões é implementado pelo XPrivacyLua, baixar (cerca de 1.7M) e instalá-lo agora?</string>
168168
<string name="advance_settings_enable_launcher_summary">Enable Launcher</string>
169169
<string name="advance_settings_enable_launcher">Enable Launcher</string>
170+
<string name="install_complete_and_open">Aberto</string>
170171
</resources>

VirtualApp/app/src/main/res/values-ru/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,4 +148,5 @@
148148
<string name="advance_settings_enable_launcher">Включить лаунчер</string>
149149
<string name="advance_settings_disable_xposed_summary">Когда отключен, все Xposed модули не будут работать.</string>
150150
<string name="advance_settings_disable_xposed">Отключить Xposed</string>
151+
<string name="install_complete_and_open">открытый</string>
151152
</resources>

VirtualApp/app/src/main/res/values-zh-rCN/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,4 +177,5 @@
177177
跟我之前创造的 VirtualXposed 一样,EXposed 也是一个免Root使用Xposed 模块的App;他俩各有千秋,EXposed 由于直接运行在原生系统,不论是性能还是稳定性都会好很多;而VirtualXposed 基于VA,天生支持多开。EXposed 才诞生一个月,其稳定性已经超越发展将近一年的 VirtualXposed。\n\n
178178

179179
目前 EXposed 已经上架应用商店,并且改名为 太极,大家可以在安装尝试一下。</string>
180+
<string name="install_complete_and_open">打开</string>
180181
</resources>

VirtualApp/app/src/main/res/values-zh-rTW/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,4 +161,5 @@
161161
<string name="install_permission_manager_tips">權限管理由XPrivacyLua實現,下載(約1.7M)並立即安裝?</string>
162162
<string name="advance_settings_enable_launcher_summary">Enable Launcher</string>
163163
<string name="advance_settings_enable_launcher">Enable Launcher</string>
164+
<string name="install_complete_and_open">打開</string>
164165
</resources>

VirtualApp/app/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,4 +183,5 @@ Currently, EXposed has been put on the app store and renamed to Tai Chi. You can
183183
<string name="install_go_to_install_exp">Go to install TaiChi</string>
184184
<string name="install_taichi_while_old_version">The version of TaiChi installed is too old, Please install the latest Taichi!</string>
185185
<string name="install_go_latest_exp">Install the latest TaiChi</string>
186+
<string name="install_complete_and_open">Open</string>
186187
</resources>

0 commit comments

Comments
 (0)