Skip to content

Commit 0f868ef

Browse files
committed
Fixed sharing apk bug
1 parent 2b0a003 commit 0f868ef

File tree

1 file changed

+60
-21
lines changed

1 file changed

+60
-21
lines changed

source-code/app/src/main/java/org/buildmlearn/toolkit/activity/TemplateEditor.java

+60-21
Original file line numberDiff line numberDiff line change
@@ -302,27 +302,7 @@ public void onClick(DialogInterface dialog, int id) {
302302
saveProject();
303303
break;
304304
case R.id.share_apk:
305-
Uri fileUri = Uri.fromFile(new File(toolkit.getApkDir() + "FlashCardTemplateApp_v2.0.apk"));
306-
try {
307-
ArrayList<Uri> uris = new ArrayList<Uri>();
308-
Intent sendIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
309-
sendIntent.setType("application/vnd.android.package-archive");
310-
uris.add(fileUri);
311-
sendIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
312-
startActivity(Intent.createChooser(sendIntent, null));
313-
314-
315-
} catch (Exception e) {
316-
317-
ArrayList<Uri> uris = new ArrayList<Uri>();
318-
Intent sendIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
319-
sendIntent.setType("application/zip");
320-
uris.add(fileUri);
321-
sendIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
322-
startActivity(Intent.createChooser(sendIntent, null));
323-
}
324-
break;
325-
case R.id.save_apk:
305+
326306
String savedFilePath = saveProject();
327307
if (savedFilePath == null || savedFilePath.length() == 0) {
328308
return;
@@ -333,6 +313,65 @@ public void onClick(DialogInterface dialog, int id) {
333313
KeyStoreDetails keyStoreDetails = new KeyStoreDetails("TestKeyStore.jks", keyPassword, aliasName, aliaspassword);
334314
SignerThread signer = new SignerThread(getApplicationContext(), selectedTemplate.getApkFilePath(), saveProject(), keyStoreDetails, selectedTemplate.getAssetsFilePath(), selectedTemplate.getAssetsFileName());
335315

316+
mApkGenerationDialog = new MaterialDialog.Builder(TemplateEditor.this)
317+
.title(R.string.apk_progress_dialog)
318+
.content(R.string.apk_msg)
319+
.cancelable(false)
320+
.progress(true, 0)
321+
.show();
322+
323+
signer.setSignerThreadListener(new SignerThread.OnSignComplete() {
324+
@Override
325+
public void onSuccess(final String path) {
326+
Log.d(TAG, "APK generated");
327+
mApkGenerationDialog.dismiss();
328+
329+
Uri fileUri = Uri.fromFile(new File(path));
330+
try {
331+
ArrayList<Uri> uris = new ArrayList<Uri>();
332+
Intent sendIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
333+
sendIntent.setType("application/vnd.android.package-archive");
334+
uris.add(fileUri);
335+
sendIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
336+
startActivity(Intent.createChooser(sendIntent, null));
337+
338+
339+
} catch (Exception e) {
340+
341+
ArrayList<Uri> uris = new ArrayList<Uri>();
342+
Intent sendIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
343+
sendIntent.setType("application/zip");
344+
uris.add(fileUri);
345+
sendIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
346+
startActivity(Intent.createChooser(sendIntent, null));
347+
}
348+
349+
}
350+
351+
@Override
352+
public void onFail(Exception e) {
353+
if (e != null) {
354+
e.printStackTrace();
355+
mApkGenerationDialog.dismiss();
356+
Toast.makeText(TemplateEditor.this, "Build unsuccessful", Toast.LENGTH_SHORT).show();
357+
}
358+
}
359+
});
360+
361+
signer.start();
362+
363+
break;
364+
case R.id.save_apk:
365+
savedFilePath = saveProject();
366+
if (savedFilePath == null || savedFilePath.length() == 0) {
367+
return;
368+
}
369+
keyPassword = getString(R.string.key_password);
370+
aliasName = getString(R.string.alias_name);
371+
aliaspassword = getString(R.string.alias_password);
372+
keyStoreDetails = new KeyStoreDetails("TestKeyStore.jks", keyPassword, aliasName, aliaspassword);
373+
signer = new SignerThread(getApplicationContext(), selectedTemplate.getApkFilePath(), saveProject(), keyStoreDetails, selectedTemplate.getAssetsFilePath(), selectedTemplate.getAssetsFileName());
374+
336375
mApkGenerationDialog = new MaterialDialog.Builder(TemplateEditor.this)
337376
.title(R.string.apk_progress_dialog)
338377
.content(R.string.apk_msg)

0 commit comments

Comments
 (0)