diff --git a/app/src/main/java/com/xypower/mpapp/MainActivity.java b/app/src/main/java/com/xypower/mpapp/MainActivity.java
index f94e7bb6..5a926f9d 100644
--- a/app/src/main/java/com/xypower/mpapp/MainActivity.java
+++ b/app/src/main/java/com/xypower/mpapp/MainActivity.java
@@ -34,6 +34,7 @@ import android.widget.Toast;
import com.dev.devapi.api.SysApi;
import com.dowse.camera.client.DSCameraManager;
+import com.xypower.common.CameraUtils;
import com.xypower.common.MicroPhotoContext;
import com.xypower.mpapp.databinding.ActivityMainBinding;
import com.xypower.mpapp.utils.RandomReader;
@@ -55,6 +56,9 @@ public class MainActivity extends AppCompatActivity {
System.loadLibrary("microphoto");
}
+ public static final int MAX_LOG_LINES = 64; // 320;
+
+ private int mLines = 0;
private ActivityMainBinding binding;
private Handler mHandler = null;
@@ -168,11 +172,27 @@ public class MainActivity extends AppCompatActivity {
} catch (Exception e) {
}
if (log != null) {
+
+ long lines = log.chars().filter(ch -> ch == '\n').count();
+ if (mLines + lines > MAX_LOG_LINES) {
+ int excessLineNumber = mLines + (int)lines - MAX_LOG_LINES;
+
+ int eolIndex = -1;
+ CharSequence charSequence = binding.logs.getText();
+ for(int i = 0; i < excessLineNumber; i++) {
+ do {
+ eolIndex++;
+ } while(eolIndex < charSequence.length() && charSequence.charAt(eolIndex) != '\n');
+ }
+ if (eolIndex < charSequence.length()) {
+ binding.logs.getEditableText().delete(0, eolIndex+1);
+ }
+ }
+
binding.logs.append(log);
- int line = binding.logs.getLineCount();
// if (line > 9) {//超出屏幕自动滚动显示(9是当前页面显示的最大行数)
- int offset = line * binding.logs.getLineHeight();
+ int offset = binding.logs.getLineCount() * binding.logs.getLineHeight();
if (offset > binding.logs.getHeight()) {
binding.logs.scrollTo(0, offset - binding.logs.getHeight() + binding.logs.getLineHeight());
}
@@ -445,9 +465,6 @@ public class MainActivity extends AppCompatActivity {
}
});
-
-
-
binding.btnSendHb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -488,6 +505,21 @@ public class MainActivity extends AppCompatActivity {
}
});
+ binding.btnCameraInfo.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ SysApi.setOtgState(true);
+ SysApi.setCam3V3Enable(true);
+
+ String cameraInfo = CameraUtils.getAllCameraInfo(view.getContext());
+
+ SysApi.setCam3V3Enable(false);
+ SysApi.setOtgState(false);
+
+ Toast.makeText(view.getContext(), cameraInfo, Toast.LENGTH_LONG).show();
+ }
+ });
+
}
public static void startMicroPhotoService(Context context, MicroPhotoContext.AppConfig curAppConfig, Messenger messenger) {
@@ -549,7 +581,6 @@ public class MainActivity extends AppCompatActivity {
super.onDestroy();
}
-
private void setDefaultDataSubId(int subId) {
SubscriptionManager subscriptionManager = (SubscriptionManager) getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
try {
diff --git a/app/src/main/res/layout-land/activity_main.xml b/app/src/main/res/layout-land/activity_main.xml
index 512b531e..af25e1c1 100644
--- a/app/src/main/res/layout-land/activity_main.xml
+++ b/app/src/main/res/layout-land/activity_main.xml
@@ -304,6 +304,16 @@
app:layout_constraintStart_toEndOf="@+id/btnRestartApp"
app:layout_constraintTop_toTopOf="@+id/btnSendHb" />
+
+
+
+