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" /> +