diff --git a/app/src/main/java/com/xypower/mpapp/FloatingWindow.java b/app/src/main/java/com/xypower/mpapp/FloatingWindow.java index 7b3c8407..3ce4025c 100644 --- a/app/src/main/java/com/xypower/mpapp/FloatingWindow.java +++ b/app/src/main/java/com/xypower/mpapp/FloatingWindow.java @@ -170,7 +170,7 @@ public class FloatingWindow extends Service { @Override public void onClick(View v) { mWindowsParams.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH; - mWindowsParams.softInputMode = WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE; + // mWindowsParams.softInputMode = WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE; mWindowManager.updateViewLayout(mView, mWindowsParams); wasInFocus = true; showSoftKeyboard(v); diff --git a/app/src/main/java/com/xypower/mpapp/MainActivity.java b/app/src/main/java/com/xypower/mpapp/MainActivity.java index ce4b49bc..ab84247d 100644 --- a/app/src/main/java/com/xypower/mpapp/MainActivity.java +++ b/app/src/main/java/com/xypower/mpapp/MainActivity.java @@ -1,15 +1,11 @@ package com.xypower.mpapp; import android.Manifest; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.pm.PackageManager; -import android.database.DataSetObserver; -import android.graphics.SurfaceTexture; -import android.hardware.Camera; -import android.hardware.camera2.CameraCharacteristics; -import android.hardware.camera2.CameraManager; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; @@ -21,7 +17,6 @@ import android.os.Looper; import android.os.Message; import android.os.Messenger; import android.os.StrictMode; -import android.os.SystemClock; import androidx.annotation.NonNull; import androidx.appcompat.app.ActionBar; @@ -33,26 +28,25 @@ import android.os.Bundle; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.text.TextUtils; -import android.text.method.ArrowKeyMovementMethod; import android.text.method.ScrollingMovementMethod; import android.util.Log; -import android.view.Display; +import android.view.KeyEvent; import android.view.View; -import android.view.ViewGroup; import android.view.WindowManager; -import android.widget.SpinnerAdapter; +import android.view.inputmethod.EditorInfo; +import android.view.inputmethod.InputMethodManager; import android.widget.TextView; import android.widget.Toast; import com.dev.devapi.api.SysApi; import com.dowse.camera.client.DSCameraManager; import com.xypower.common.MicroPhotoContext; +import com.xypower.common.ViewUtils; import com.xypower.mpapp.databinding.ActivityMainBinding; import com.xypower.mpapp.utils.RandomReader; import java.io.File; -import java.io.FileOutputStream; import java.lang.reflect.Method; import java.text.SimpleDateFormat; import java.util.Date; @@ -111,7 +105,6 @@ public class MainActivity extends AppCompatActivity { } } - @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -120,6 +113,12 @@ public class MainActivity extends AppCompatActivity { setContentView(binding.getRoot()); // getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); + // InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + // imm.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), 0); + + // ViewUtils.hideSoftKeyboard(this); + + ActionBar actionBar = getSupportActionBar(); // String buildTime = BuildConfig.BUILD_ @@ -128,6 +127,15 @@ public class MainActivity extends AppCompatActivity { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); actionBar.setTitle(actionBar.getTitle().toString() + " v" + MicroPhotoContext.getVersionName(getApplicationContext()) + " " + sdf.format(date)); + // CompactSpinnerAdapter adapter = new CompactSpinnerAdapter(this, R.array.networkProtocols, R.layout.spinner_dropdown_item); + // adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + // binding.networkProtocol.setAdapter(adapter); + + + // ArrayAdapter adapter1 = ArrayAdapter.createFromResource(this, R.array.networkProtocols, android.R.layout.simple_spinner_item); + // adapter1.setDropDownViewResource(R.layout.spinner_dropdown_item); + // binding.protocol.setAdapter(adapter1); + binding.logs.setText(""); binding.logs.setMovementMethod(ScrollingMovementMethod.getInstance()); binding.logs.setScrollbarFadingEnabled(false); @@ -462,6 +470,7 @@ public class MainActivity extends AppCompatActivity { } + public static void startMicroPhotoService(Context context, MicroPhotoContext.AppConfig curAppConfig, Messenger messenger) { if (TextUtils.isEmpty(curAppConfig.cmdid) || TextUtils.isEmpty(curAppConfig.server) || curAppConfig.port == 0) { @@ -511,13 +520,13 @@ public class MainActivity extends AppCompatActivity { } } - @Override protected void onDestroy() { super.onDestroy(); } + private void setDefaultDataSubId(int subId) { SubscriptionManager subscriptionManager = (SubscriptionManager) getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE); try { diff --git a/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java b/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java index dbbc41ac..e210e9c3 100644 --- a/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java +++ b/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java @@ -115,7 +115,7 @@ public class MicroPhotoService extends Service { private String mCmdid = ""; private NotificationManager mNotificationManager; private final Map mWakeLocks = new HashMap<>(); - private int mHeartbeatDuration = 0; // 5m: 5 * 60 * 1000 + private int mHeartbeatDuration = 60000; // Default 10m: 10 * 60 * 1000 private long mNextHeartbeatTime = 0; private PositionManager mPositionManager = null; diff --git a/app/src/main/res/layout-land/activity_main.xml b/app/src/main/res/layout-land/activity_main.xml index 4b9e34ec..65a7685a 100644 --- a/app/src/main/res/layout-land/activity_main.xml +++ b/app/src/main/res/layout-land/activity_main.xml @@ -4,7 +4,6 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:clickable="false" android:orientation="horizontal" tools:context=".MainActivity"> @@ -25,9 +24,10 @@ android:layout_marginLeft="4dp" android:layout_marginTop="8dp" android:ems="10" - android:maxLines="1" - android:inputType="text" android:imeOptions="actionDone" + android:inputType="text" + android:maxLines="1" + android:lines="1" android:singleLine="true" android:text="XY-ANDROIDSIM-001" app:layout_constraintLeft_toRightOf="@+id/textViewCmdId" @@ -38,8 +38,8 @@ style="@style/Widget.AppCompat.Spinner.Underlined" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:entries="@array/protocols" android:spinnerMode="dropdown" + android:entries="@array/protocols" app:layout_constraintLeft_toRightOf="@+id/cmdid" app:layout_constraintTop_toTopOf="@+id/cmdid" /> @@ -58,8 +58,9 @@ android:layout_width="128dp" android:layout_height="wrap_content" android:layout_marginTop="4dp" - android:ems="10" android:maxLines="1" + android:lines="1" + android:singleLine="true" android:inputType="text" android:imeOptions="actionDone" android:hint="@string/main_server" @@ -70,11 +71,10 @@ android:id="@+id/port" android:layout_width="48dp" android:layout_height="wrap_content" - android:ems="10" android:inputType="none|number" android:imeOptions="actionDone" android:maxLines="1" - android:text="6891" + android:text="" app:layout_constraintBottom_toBottomOf="@+id/server" app:layout_constraintLeft_toRightOf="@+id/server" app:layout_constraintTop_toTopOf="@+id/server" /> @@ -84,8 +84,8 @@ style="@style/Widget.AppCompat.Spinner.Underlined" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:entries="@array/networkProtocols" android:spinnerMode="dropdown" + android:entries="@array/networkProtocols" app:layout_constraintLeft_toRightOf="@+id/port" app:layout_constraintTop_toTopOf="@+id/port" /> @@ -104,7 +104,7 @@ android:layout_width="48dp" android:layout_height="wrap_content" android:layout_marginStart="8dp" - android:layout_marginTop="8dp" + android:layout_marginTop="4dp" android:ems="10" android:inputType="none|number" android:imeOptions="actionDone" @@ -119,7 +119,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="8dp" - android:layout_marginTop="8dp" + android:layout_marginTop="4dp" android:text="@string/main_packet_size" app:layout_constraintBottom_toBottomOf="@+id/packetSize" app:layout_constraintStart_toEndOf="@+id/heartbeat" @@ -130,7 +130,7 @@ android:layout_width="64dp" android:layout_height="wrap_content" android:layout_marginLeft="8dp" - android:layout_marginTop="8dp" + android:layout_marginTop="4dp" android:ems="10" android:inputType="none|number" android:imeOptions="actionDone" @@ -158,6 +158,7 @@ android:layout_marginLeft="8dp" android:layout_marginTop="8dp" android:text="Start" + android:minWidth="@dimen/activity_min_width" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toBottomOf="@+id/heartbeat" @@ -169,6 +170,7 @@ android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layout_marginTop="8dp" + android:minWidth="@dimen/activity_min_width" android:enabled="false" android:text="Stop" app:layout_constraintStart_toEndOf="@+id/startServBtn" @@ -179,42 +181,21 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="8dp" - android:layout_marginTop="0dp" + android:minWidth="@dimen/activity_min_width" android:text="Save" app:layout_constraintStart_toEndOf="@+id/stopServBtn" app:layout_constraintTop_toTopOf="@+id/startServBtn" /> -