修复配置相关bug

serial
BlueMatthew 2 years ago
parent db1f5f6fc4
commit 40fee8f988

@ -61,6 +61,7 @@
tools:ignore="ProtectedPermissions" />
<uses-feature android:name="android.hardware.camera" />
<uses-permission android:name="android.hardware.usb.accessory"/>
<application
android:allowBackup="true"

@ -31,7 +31,7 @@ public class BootBroadcastReceiver extends BroadcastReceiver {
MainActivity.AppConfig appConfig = MainActivity.getAppConfig(context);
MainActivity.startMicroPhotoService(context, appConfig);
MainActivity.startMicroPhotoService(context, appConfig, null);
/*
Intent mainIntent = new Intent(context, MainActivity.class);
mainIntent.putExtra("reboot", 1);

@ -1,6 +1,7 @@
package com.xypower.mpapp;
import android.Manifest;
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
@ -35,6 +36,7 @@ import android.view.View;
import android.view.WindowManager;
import android.widget.Toast;
import com.dev.devapi.api.SysApi;
import com.dowse.camera.client.DSCameraManager;
import com.xypower.common.MicroPhotoContext;
import com.xypower.mpapp.databinding.ActivityMainBinding;
@ -53,6 +55,7 @@ import java.io.UnsupportedEncodingException;
import java.lang.reflect.Method;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import org.json.JSONException;
import org.json.JSONObject;
@ -201,7 +204,7 @@ public class MainActivity extends AppCompatActivity {
}
};
mMessenger = new Messenger(new Handler());
// mMessenger = new Messenger(new Handler());
WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
Display defaultDisplay = windowManager.getDefaultDisplay();
@ -241,6 +244,9 @@ public class MainActivity extends AppCompatActivity {
if (appConfig.networkProtocol < binding.networkProtocol.getCount()) {
binding.networkProtocol.setSelection(appConfig.networkProtocol);
}
binding.heartbeat.setText((appConfig.heartbeat > 0) ? Integer.toString(appConfig.heartbeat) : "");
binding.packetSize.setText((appConfig.packetSize > 0) ? Integer.toString(appConfig.packetSize) : "");
this.binding.startServBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@ -263,7 +269,7 @@ public class MainActivity extends AppCompatActivity {
AppConfig curAppConfig = retrieveAndSaveAppConfig();
startMicroPhotoService(MainActivity.this, appConfig);
startMicroPhotoService(MainActivity.this, appConfig, mMessenger);
binding.startServBtn.setEnabled(false);
binding.stopServBtn.setEnabled(true);
@ -465,9 +471,39 @@ public class MainActivity extends AppCompatActivity {
}
});
binding.btnSendHb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mMessenger != null) {
Message msg = Message.obtain();
msg.what = MicroPhotoService.MSG_WHAT_SENDING_HB;
try {
mMessenger.send(msg);
} catch(Exception e) {
}
}
}
});
binding.btnRestartApp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Context context = v.getContext();
MicroPhotoService.restartApp(context, context.getPackageName());
}
});
binding.btnReboot.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SysApi.reboot(v.getContext());
}
});
}
public static void startMicroPhotoService(Context context, AppConfig curAppConfig) {
public static void startMicroPhotoService(Context context, AppConfig curAppConfig, Messenger messenger) {
if (TextUtils.isEmpty(curAppConfig.cmdid) || TextUtils.isEmpty(curAppConfig.server) || curAppConfig.port == 0) {
return;
@ -479,7 +515,9 @@ public class MainActivity extends AppCompatActivity {
intent.putExtra("port", curAppConfig.port);
intent.putExtra("protocol", curAppConfig.protocol);
intent.putExtra("networkProtocol", curAppConfig.networkProtocol);
// intent.putExtra("messenger", mMessenger);
if (messenger != null) {
intent.putExtra("messenger", messenger);
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
context.startForegroundService(intent);
@ -581,6 +619,8 @@ public class MainActivity extends AppCompatActivity {
appConfig.port = jsonObject.getInt("Port");
appConfig.protocol = jsonObject.getInt("Protocol");
appConfig.networkProtocol = jsonObject.getInt("NetworkProtocol");
appConfig.heartbeat = jsonObject.optInt("heartbeat", 0);
appConfig.packetSize = jsonObject.optInt("packetSize", 0);
if (appConfig.protocol == 0) {
appConfig.protocol = DEFAULT_PROTOCOL;

@ -72,6 +72,8 @@ public class MicroPhotoService extends Service {
public final static int MSG_WHAT_SERVICE_STATUS_CHANGE = 30;
public final static int MSG_WHAT_SENDING_HB = 40;
public final static int MSG_WHAT_MAX = 1000;
private static final String ALARM_EVENT = "com.xinyingpower.mp.MicroPhotoService.AlarmReceiver";
@ -837,31 +839,37 @@ public class MicroPhotoService extends Service {
@Override
public void run() {
if (rebootType == 0) {
/*
Context context = MicroPhotoService.this.getApplicationContext();
Intent intent = getPackageManager().getLaunchIntentForPackage(context.getPackageName());
int noDelay = 1;
intent.putExtra("noDelay", noDelay);
PendingIntent restartIntent = PendingIntent.getActivity(context, 0, intent, 0);
AlarmManager mgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 1000, restartIntent); // 1秒钟后重启应用
System.exit(0);
*/
Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage(getApplication().getPackageName());
LaunchIntent.putExtra("noDelay", 1);
LaunchIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(LaunchIntent);
restartApp(context, context.getPackageName());
} else {
Log.w(TAG, "Recv REBOOT command");
SysApi.reboot(getApplicationContext());
SysApi.reboot(MicroPhotoService.this.getApplicationContext());
}
}
};
mHander.postDelayed(runnable, 1000);
}
public static void restartApp(Context context, String packageName) {
/*
Context context = MicroPhotoService.this.getApplicationContext();
Intent intent = getPackageManager().getLaunchIntentForPackage(context.getPackageName());
int noDelay = 1;
intent.putExtra("noDelay", noDelay);
PendingIntent restartIntent = PendingIntent.getActivity(context, 0, intent, 0);
AlarmManager mgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 1000, restartIntent); // 1秒钟后重启应用
System.exit(0);
*/
Intent LaunchIntent = context.getPackageManager().getLaunchIntentForPackage(packageName);
LaunchIntent.putExtra("noDelay", 1);
LaunchIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(LaunchIntent);
}
public void enableGps(boolean enabled) {
SysApi.enableGps(getApplicationContext(), enabled);
}

@ -101,7 +101,7 @@
<EditText
android:id="@+id/heartbeat"
android:layout_width="32dp"
android:layout_width="48dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
@ -109,8 +109,8 @@
android:inputType="none|number"
android:imeOptions="actionDone"
android:maxLines="1"
android:text="10"
android:hint="main_heartbeat"
android:text=""
android:hint="@string/main_heartbeat_default"
app:layout_constraintStart_toEndOf="@+id/textViewHeartbeat"
app:layout_constraintTop_toBottomOf="@+id/server" />
@ -136,6 +136,7 @@
android:imeOptions="actionDone"
android:maxLines="1"
android:text="2048"
android:hint="@string/main_packet_size_default"
app:layout_constraintLeft_toRightOf="@+id/textViewPacketSize"
app:layout_constraintTop_toBottomOf="@+id/server" />
@ -245,6 +246,33 @@
app:layout_constraintStart_toEndOf="@+id/takePhotoBtn3"
app:layout_constraintTop_toBottomOf="@+id/simchange" />
<Button
android:id="@+id/btnSendHb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/main_send_hb"
android:layout_marginStart="8dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/takePhotoBtn" />
<Button
android:id="@+id/btnRestartApp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/main_restart_app"
android:layout_marginStart="8dp"
app:layout_constraintStart_toEndOf="@+id/btnSendHb"
app:layout_constraintTop_toBottomOf="@+id/takePhotoBtn" />
<Button
android:id="@+id/btnReboot"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/main_reboot"
android:layout_marginStart="4dp"
app:layout_constraintStart_toEndOf="@+id/btnRestartApp"
app:layout_constraintTop_toBottomOf="@+id/takePhotoBtn" />
<Button
android:id="@+id/gps"
android:layout_width="wrap_content"

@ -93,7 +93,7 @@
<EditText
android:id="@+id/heartbeat"
android:layout_width="32dp"
android:layout_width="48dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
@ -102,7 +102,7 @@
android:imeOptions="actionDone"
android:maxLines="1"
android:text="10"
android:hint="main_heartbeat"
android:hint="@string/main_heartbeat_default"
app:layout_constraintStart_toEndOf="@+id/textViewHeartbeat"
app:layout_constraintTop_toBottomOf="@+id/server" />
@ -128,6 +128,7 @@
android:imeOptions="actionDone"
android:maxLines="1"
android:text="2048"
android:hint="@string/main_packet_size_default"
app:layout_constraintLeft_toRightOf="@+id/textViewPacketSize"
app:layout_constraintTop_toBottomOf="@+id/server" />
@ -237,6 +238,33 @@
app:layout_constraintStart_toEndOf="@+id/takePhotoBtn3"
app:layout_constraintTop_toBottomOf="@+id/simchange" />
<Button
android:id="@+id/btnSendHb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/main_send_hb"
android:layout_marginStart="8dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/takePhotoBtn" />
<Button
android:id="@+id/btnRestartApp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/main_restart_app"
android:layout_marginStart="8dp"
app:layout_constraintStart_toEndOf="@+id/btnSendHb"
app:layout_constraintTop_toBottomOf="@+id/takePhotoBtn" />
<Button
android:id="@+id/btnReboot"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/main_reboot"
android:layout_marginStart="4dp"
app:layout_constraintStart_toEndOf="@+id/btnRestartApp"
app:layout_constraintTop_toBottomOf="@+id/takePhotoBtn" />
<Button
android:id="@+id/gps"
android:layout_width="wrap_content"

@ -2,8 +2,13 @@
<string name="app_name">MicroPhoto</string>
<string name="text_name_notification">Notification Name</string>
<string name="main_heartbeat">心跳(分钟)</string>
<string name="main_heartbeat_default">默认10</string>
<string name="main_packet_size">包大小</string>
<string name="main_packet_size_default">默认2K</string>
<string name="main_server">支持域名自动转IP</string>
<string name="main_send_hb">心跳</string>
<string name="main_restart_app">重启APP</string>
<string name="main_reboot">重启设备</string>
<string name="activity_channel_title">通道设置</string>
<string name="osd_left_top">左上 OSD</string>

Loading…
Cancel
Save