diff --git a/qpython/release/cn/release/output.json b/qpython/release/cn/release/output.json
deleted file mode 100644
index 47944358061f494f2154253eea61233ba2ef43c0..0000000000000000000000000000000000000000
--- a/qpython/release/cn/release/output.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":241},"path":"Qpython_2018-02-28_cn.apk","properties":{"packageId":"com.hipipal.qpyplus","split":"","minSdkVersion":"14"}}]
\ No newline at end of file
diff --git a/qpython/release/output.json b/qpython/release/output.json
deleted file mode 100644
index bd56657f8119029f2839a2461e58912e9789c6ef..0000000000000000000000000000000000000000
--- a/qpython/release/output.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":229},"path":"qpython-release.apk","properties":{"packageId":"org.qpython.qpy","split":"","minSdkVersion":"14"}}]
\ No newline at end of file
diff --git a/qpython/src/main/AndroidManifest.xml b/qpython/src/main/AndroidManifest.xml
index ba73e87a66b9b9d3d20c8a8afdc694d4900377ae..94f59fec09cf6460fe8af76326959b845434be87 100644
--- a/qpython/src/main/AndroidManifest.xml
+++ b/qpython/src/main/AndroidManifest.xml
@@ -386,6 +386,7 @@
+
{
- openQpySDK(view -> {
+ //openQpySDK(view -> {
TermActivity.startActivity(HomeMainActivity.this);
sendEvent(getString(R.string.event_term));
- });
+ //});
});
binding.llTerminal.setOnLongClickListener(v -> {
@@ -253,11 +251,11 @@ public class HomeMainActivity extends BaseActivity {
sendEvent(getString(R.string.event_file));
});
binding.llQpyApp.setOnClickListener(v -> {
- openQpySDK(view -> {
+ //openQpySDK(view -> {
AppListActivity.start(HomeMainActivity.this, AppListActivity.TYPE_SCRIPT);
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
sendEvent(getString(R.string.event_top));
- });
+ //});
});
// binding.llCourse.setOnClickListener(v -> {
@@ -389,7 +387,7 @@ public class HomeMainActivity extends BaseActivity {
// startService(intent);
// }
- private void openQpySDK(View.OnClickListener clickListener) {
+ private void openQpySDK() {
Log.d("HomeMainActivity", "openQpySDK");
String[] permssions = {Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE};
checkPermissionDo(permssions, new BaseActivity.PermissionAction() {
@@ -410,9 +408,9 @@ public class HomeMainActivity extends BaseActivity {
})
.create()
.show();*/
- initQpySDK3(clickListener);
+ initQpySDK3();
} else {
- clickListener.onClick(null);
+ //clickListener.onClick(null);
}
}
@@ -426,20 +424,20 @@ public class HomeMainActivity extends BaseActivity {
/**
* 在工作线程中作初始化
*/
- private void initQpySDK3(View.OnClickListener clickListener) {
+ private void initQpySDK3() {
Log.d(TAG, "initQpySDK3");
NAction.setQPyInterpreter(HomeMainActivity.this, "3.x");
- initQPy(true, clickListener);
+ initQPy(true);
initIcon();
}
- private void initQpySDK(View.OnClickListener clickListener) {
+ private void initQpySDK() {
Log.d(TAG, "initQpySDK");
- initQPy(false, clickListener);
+ initQPy(false);
NAction.setQPyInterpreter(HomeMainActivity.this, "2.x");
initIcon();
}
- private void initQPy(boolean py3, View.OnClickListener clickListener) {
+ private void initQPy(boolean py3) {
new Thread(() -> {
QPySDK qpysdk = new QPySDK(HomeMainActivity.this, HomeMainActivity.this);
//这里会在切换qpy3的时候再次释放相关资源
@@ -461,7 +459,7 @@ public class HomeMainActivity extends BaseActivity {
//qpysdk.extractRes("ipynb", new File(externalStorage + "/notebooks"));
extractRes();
- clickListener.onClick(null);
+ //clickListener.onClick(null);
}).start();
}
@@ -533,8 +531,8 @@ public class HomeMainActivity extends BaseActivity {
}
private void init() {
- //点击时再申请权限,加载资源方法
-// openQpySDK(null);
+ //启动时就申请权限,加载资源方法
+ openQpySDK();
}
@Override
diff --git a/qpython/src/main/java/org/qpython/qpy/main/activity/QrCodeActivity.java b/qpython/src/main/java/org/qpython/qpy/main/activity/QrCodeActivity.java
index 7a3760f0a4421fd3f7b6e8af088146b2fa4a6700..6106e4e88559a0a4662e4170a1718ddcae93bede 100644
--- a/qpython/src/main/java/org/qpython/qpy/main/activity/QrCodeActivity.java
+++ b/qpython/src/main/java/org/qpython/qpy/main/activity/QrCodeActivity.java
@@ -43,6 +43,9 @@ public class QrCodeActivity extends AppCompatActivity implements ZXingScannerVie
toolbar.setNavigationIcon(R.drawable.ic_back);
toolbar.setNavigationOnClickListener(v -> finish());
mScannerView = (ZXingScannerView) findViewById(R.id.scanner);
+ //闪光灯
+ mScannerView.setOnClickListener(view -> mScannerView.setFlash(!mScannerView.getFlash()));
+ Toast.makeText(this,R.string.click_light,Toast.LENGTH_LONG).show();
}
@Override
diff --git a/qpython/src/main/java/org/qpython/qpy/main/activity/QrCodeActivityRstOnly.java b/qpython/src/main/java/org/qpython/qpy/main/activity/QrCodeActivityRstOnly.java
new file mode 100644
index 0000000000000000000000000000000000000000..fb0e64492261dc1e0faef419654cae91be526578
--- /dev/null
+++ b/qpython/src/main/java/org/qpython/qpy/main/activity/QrCodeActivityRstOnly.java
@@ -0,0 +1,80 @@
+package org.qpython.qpy.main.activity;
+
+
+import android.Manifest;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Build;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.annotation.RequiresApi;
+import android.support.v7.app.AppCompatActivity;
+import android.support.v7.widget.Toolbar;
+import android.widget.Toast;
+
+import com.google.zxing.Result;
+
+import org.qpython.qpy.R;
+
+import me.dm7.barcodescanner.zxing.ZXingScannerView;
+
+public class QrCodeActivityRstOnly extends AppCompatActivity implements ZXingScannerView.ResultHandler {
+ private ZXingScannerView mScannerView;
+
+ public static void start(Context context) {
+ Intent starter = new Intent(context, QrCodeActivity.class);
+ context.startActivity(starter);
+ }
+
+ @RequiresApi(api = Build.VERSION_CODES.M)
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ //动态申请相机权限
+ //if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+ requestPermissions(new String[]{Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
+ //}
+ Intent intent = getIntent();
+ String title = intent.getStringExtra("title");
+ setContentView(R.layout.activity_qrcode);
+ if (title == null) {
+ setTitle(R.string.read_script_from_qrcode);
+ } else {
+ setTitle(title);
+ }
+ Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
+ setSupportActionBar(toolbar);
+ toolbar.setNavigationIcon(R.drawable.ic_back);
+ toolbar.setNavigationOnClickListener(v -> finish());
+ mScannerView = (ZXingScannerView) findViewById(R.id.scanner);
+ //闪光灯
+ mScannerView.setOnClickListener(view -> mScannerView.setFlash(!mScannerView.getFlash()));
+ Toast.makeText(this, R.string.click_light,Toast.LENGTH_LONG).show();
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ mScannerView.setResultHandler(this);
+ mScannerView.startCamera();
+ }
+
+ @Override
+ protected void onPause() {
+ super.onPause();
+ mScannerView.stopCamera();
+ }
+
+ private void close() {
+ this.finish();
+ }
+
+ @Override
+ public void handleResult(Result result) {
+ String scanResult = result.getText();
+ Intent intentR=new Intent();
+ intentR.putExtra("result",scanResult);
+ this.setResult(RESULT_OK,intentR);
+ finish();
+ }
+}
diff --git a/qpython/src/main/res/values-zh-rCN/strings.xml b/qpython/src/main/res/values-zh-rCN/strings.xml
index f1b752af262202623ea02a4dc1c1f0cc6738d3ab..db953bc140540edfd641e835bfe98ed0ac00a7dd 100644
--- a/qpython/src/main/res/values-zh-rCN/strings.xml
+++ b/qpython/src/main/res/values-zh-rCN/strings.xml
@@ -500,5 +500,5 @@
悬浮窗仅支持 Android >= 8.0 .
需要悬浮窗权限。
悬浮窗
-
+ 轻触屏幕中心打开/关闭闪光灯。
diff --git a/qpython/src/main/res/values/strings.xml b/qpython/src/main/res/values/strings.xml
index 20631d759714ceae7fd61acc53a264b4e5555018..62ed1dcf200caaa72cab876dc7e1bc04ed33c061 100644
--- a/qpython/src/main/res/values/strings.xml
+++ b/qpython/src/main/res/values/strings.xml
@@ -770,5 +770,5 @@
= 8.0 .]]>
Need Float View Permission .
Float View
-
+ Tap the center of the screen to turn on/off the flash light .