add: ui for apk building

This commit is contained in:
hyb1996
2017-10-22 20:04:08 +08:00
parent e301e5952c
commit 448d39b7e8
14 changed files with 297 additions and 21 deletions

View File

@@ -0,0 +1,57 @@
package com.stardust.scriptdroid.ui.build;
import android.annotation.SuppressLint;
import android.widget.EditText;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.model.script.ScriptFile;
import com.stardust.scriptdroid.ui.BaseActivity;
import org.androidannotations.annotations.AfterViews;
import org.androidannotations.annotations.EActivity;
import org.androidannotations.annotations.ViewById;
/**
* Created by Stardust on 2017/10/22.
*/
@EActivity(R.layout.activity_build)
public class BuildActivity extends BaseActivity {
public static final String EXTRA_SOURCE_FILE = BuildActivity.class.getName() + ".extra_source_file";
@ViewById(R.id.source_path)
EditText mSourcePath;
@ViewById(R.id.output_path)
EditText mOutputPath;
@ViewById(R.id.app_name)
EditText mAppName;
@ViewById(R.id.package_name)
EditText mPackageName;
@ViewById(R.id.version_name)
EditText mVersionName;
@ViewById(R.id.version_code)
EditText mVersionCode;
@AfterViews
void setupViews() {
setToolbarAsBack(getString(R.string.text_build_apk));
String sourcePath = getIntent().getStringExtra(EXTRA_SOURCE_FILE);
if (sourcePath != null) {
setupWithSourceFile(new ScriptFile(sourcePath));
}
}
@SuppressLint("SetTextI18n")
private void setupWithSourceFile(ScriptFile file) {
mSourcePath.setText(file.getPath());
mOutputPath.setText(file.getParent());
mAppName.setText(file.getSimplifiedName());
mPackageName.setText("org.autojs.example_" + file.getSimplifiedName());
}
}

View File

@@ -86,19 +86,11 @@ public class EditActivity extends BaseActivity {
.positiveText(R.string.text_cancel)
.negativeText(R.string.text_save_and_exit)
.neutralText(R.string.text_exit_directly)
.onNegative(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
mEditor.saveFile();
EditActivity.super.finish();
}
})
.onNeutral(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
EditActivity.super.finish();
}
.onNegative((dialog, which) -> {
mEditor.saveFile();
EditActivity.super.finish();
})
.onNeutral((dialog, which) -> EditActivity.super.finish())
.show();
}
@@ -107,13 +99,4 @@ public class EditActivity extends BaseActivity {
super.onDestroy();
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
try {
super.onRestoreInstanceState(savedInstanceState);
} catch (RuntimeException e) {
// FIXME: 2017/3/20
e.printStackTrace();
}
}
}

View File

@@ -9,6 +9,8 @@ import com.afollestad.materialdialogs.MaterialDialog;
import com.stardust.pio.PFiles;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.autojs.AutoJs;
import com.stardust.scriptdroid.ui.build.BuildActivity;
import com.stardust.scriptdroid.ui.build.BuildActivity_;
import com.stardust.theme.dialog.ThemeColorMaterialDialogBuilder;
import com.stardust.util.ClipboardUtil;
@@ -118,11 +120,20 @@ public class EditorMenu {
case R.id.action_info:
showInfo();
return true;
case R.id.action_build_apk:
startBuildApkActivity();
return true;
}
return false;
}
private void startBuildApkActivity() {
BuildActivity_.intent(mContext)
.extra(BuildActivity.EXTRA_SOURCE_FILE, mEditorView.getFile().getPath())
.start();
}
private boolean onEditOptionsSelected(MenuItem item) {
switch (item.getItemId()) {

View File

@@ -125,6 +125,10 @@ public class EditorView extends FrameLayout {
getContext().unregisterReceiver(mOnRunFinishedReceiver);
}
public File getFile() {
return mFile;
}
public void handleIntent(Intent intent) {
mName = intent.getStringExtra(EXTRA_NAME);
handleText(intent);