修复问题
This commit is contained in:
parent
c2f2e44c42
commit
449f796f05
|
@ -59,7 +59,6 @@ public class LoginActivity extends AppCompatActivity {
|
|||
private final String AUTH_TOKEN_KEY = "auth_token";
|
||||
private static final String Name = "name";
|
||||
private static final String Userid = "userid";
|
||||
private static final String BASE_URL = "http://pms.dtyx.net:9158/";
|
||||
private String authToken = "";
|
||||
private static final String PREFS_NAME = "LoginPrefs";
|
||||
private static final String PREF_USERNAME = "username";
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.example.myapplication;
|
||||
|
||||
import android.Manifest;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.DatePickerDialog;
|
||||
import android.app.NotificationChannel;
|
||||
|
@ -34,16 +35,12 @@ import android.net.Uri;
|
|||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.util.Pair;
|
||||
|
||||
import android.os.Looper;
|
||||
import android.provider.MediaStore;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Base64;
|
||||
import android.util.Log;
|
||||
|
||||
import android.util.SparseBooleanArray;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
|
@ -70,24 +67,22 @@ import android.widget.Spinner;
|
|||
import android.widget.TextView;
|
||||
import android.widget.TimePicker;
|
||||
import android.widget.Toast;
|
||||
import android.Manifest;
|
||||
|
||||
import androidx.activity.result.ActivityResultLauncher;
|
||||
import androidx.activity.result.contract.ActivityResultContracts;
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.RequiresApi;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.core.content.FileProvider;
|
||||
import androidx.core.util.Pair;
|
||||
import androidx.lifecycle.ViewModelStore;
|
||||
import androidx.lifecycle.ViewModelStoreOwner;
|
||||
import androidx.room.Room;
|
||||
|
||||
|
||||
import com.chaquo.python.PyException;
|
||||
import com.chaquo.python.PyObject;
|
||||
import com.chaquo.python.Python;
|
||||
|
@ -96,10 +91,8 @@ import com.example.myapplication.DataBase.DatabaseHelper;
|
|||
import com.example.myapplication.Service.FloatingWindowService;
|
||||
import com.example.myapplication.Service.PhotoMonitoringService;
|
||||
import com.example.myapplication.Service.RecordingService;
|
||||
import com.example.myapplication.Tool.AuthInterceptor;
|
||||
import com.example.myapplication.Tool.BackgroundToast;
|
||||
import com.example.myapplication.Tool.DynamicDataFetcher;
|
||||
import com.example.myapplication.Tool.PartListFetcher;
|
||||
import com.example.myapplication.Tool.PermissionUtils;
|
||||
import com.example.myapplication.Tool.ReportGenerator;
|
||||
import com.example.myapplication.Tool.ReportGeneratorHelper;
|
||||
|
@ -123,16 +116,11 @@ import com.google.android.material.textfield.TextInputEditText;
|
|||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import okhttp3.*;
|
||||
import retrofit2.Retrofit;
|
||||
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.FileReader;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.SocketTimeoutException;
|
||||
|
@ -140,7 +128,6 @@ import java.net.UnknownHostException;
|
|||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Calendar;
|
||||
|
@ -154,11 +141,21 @@ import java.util.Map;
|
|||
import java.util.Set;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import javax.crypto.Cipher;
|
||||
import javax.crypto.spec.SecretKeySpec;
|
||||
|
||||
import okhttp3.Call;
|
||||
import okhttp3.Callback;
|
||||
import okhttp3.HttpUrl;
|
||||
import okhttp3.MediaType;
|
||||
import okhttp3.MultipartBody;
|
||||
import okhttp3.OkHttpClient;
|
||||
import okhttp3.Request;
|
||||
import okhttp3.RequestBody;
|
||||
import okhttp3.Response;
|
||||
import retrofit2.Retrofit;
|
||||
// 在MainActivity类中添加以下变量
|
||||
|
||||
|
||||
|
@ -315,8 +312,7 @@ public class MainActivity extends AppCompatActivity implements ViewModelStoreOwn
|
|||
private static final String PREF_REMEMBER = "remember";
|
||||
private final String AUTH_TOKEN_KEY = "auth_token";
|
||||
private String authToken = "";
|
||||
// private final String BASE_URL = "http://10.2.1.20:8888";
|
||||
private final String BASE_URL = "http://pms.dtyx.net:9158";
|
||||
private boolean init = false;
|
||||
|
||||
@SuppressLint("UnspecifiedRegisterReceiverFlag")
|
||||
@Override
|
||||
|
@ -331,7 +327,6 @@ public class MainActivity extends AppCompatActivity implements ViewModelStoreOwn
|
|||
dbHelper = new DatabaseHelper(MainActivity.this);
|
||||
|
||||
setupProjectListeners();
|
||||
loadProjectPreferences();
|
||||
// 初始化项目下拉框
|
||||
initProjectDropdown();
|
||||
initTurbineDropdown();
|
||||
|
@ -503,14 +498,16 @@ public class MainActivity extends AppCompatActivity implements ViewModelStoreOwn
|
|||
partAdapter.getFilter().filter("");
|
||||
}
|
||||
|
||||
private void loadProjectPreferences() {
|
||||
private void loadProjectPreferences(List<Project> projects) {
|
||||
if (init) {
|
||||
return;
|
||||
}
|
||||
init = true;
|
||||
boolean remember = sharedPreferences.getBoolean(PREF_REMEMBER, false);
|
||||
if (remember) {
|
||||
// 项目
|
||||
String savedProject = sharedPreferences.getString(PREF_PROJECT, "");
|
||||
|
||||
actvProject.setText(savedProject);
|
||||
|
||||
if (!savedProject.isEmpty()) {
|
||||
try {
|
||||
int lastBracketIndex = savedProject.lastIndexOf("(");
|
||||
|
@ -519,7 +516,8 @@ public class MainActivity extends AppCompatActivity implements ViewModelStoreOwn
|
|||
if (lastBracketIndex != -1 && closingBracketIndex != -1 && closingBracketIndex > lastBracketIndex) {
|
||||
projectName = savedProject.substring(0, lastBracketIndex).trim();
|
||||
projectId = savedProject.substring(lastBracketIndex + 1, closingBracketIndex).trim();
|
||||
|
||||
dataManager.setProjectId(projectId);
|
||||
actvProject.setText(projectName);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
|
@ -528,8 +526,6 @@ public class MainActivity extends AppCompatActivity implements ViewModelStoreOwn
|
|||
// 机组
|
||||
String savedTurbine = sharedPreferences.getString(PREF_TURBINE, "");
|
||||
|
||||
actvTurbine.setText(savedTurbine);
|
||||
|
||||
if (!savedTurbine.isEmpty()) {
|
||||
try {
|
||||
int lastBracketIndex = savedTurbine.lastIndexOf("(");
|
||||
|
@ -538,7 +534,9 @@ public class MainActivity extends AppCompatActivity implements ViewModelStoreOwn
|
|||
if (lastBracketIndex != -1 && closingBracketIndex != -1 && closingBracketIndex > lastBracketIndex) {
|
||||
turbineName = savedTurbine.substring(0, lastBracketIndex).trim();
|
||||
turbineId = savedTurbine.substring(lastBracketIndex + 1, closingBracketIndex).trim();
|
||||
|
||||
dataManager.setTurbineId(turbineId);
|
||||
dataManager.setTurbineName(turbineName);
|
||||
actvTurbine.setText(turbineName);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
|
@ -547,8 +545,6 @@ public class MainActivity extends AppCompatActivity implements ViewModelStoreOwn
|
|||
// 部件
|
||||
String savedPart = sharedPreferences.getString(PREF_PART, "");
|
||||
|
||||
actvPart.setText(savedPart);
|
||||
|
||||
if (!savedPart.isEmpty()) {
|
||||
try {
|
||||
int lastBracketIndex = savedPart.lastIndexOf("(");
|
||||
|
@ -557,7 +553,9 @@ public class MainActivity extends AppCompatActivity implements ViewModelStoreOwn
|
|||
if (lastBracketIndex != -1 && closingBracketIndex != -1 && closingBracketIndex > lastBracketIndex) {
|
||||
partName = savedPart.substring(0, lastBracketIndex).trim();
|
||||
partId = savedPart.substring(lastBracketIndex + 1, closingBracketIndex).trim();
|
||||
|
||||
dataManager.setPartId(partId);
|
||||
dataManager.setPartName(partName);
|
||||
actvPart.setText(partName);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
|
@ -684,7 +682,7 @@ public class MainActivity extends AppCompatActivity implements ViewModelStoreOwn
|
|||
projectName = selectedProject.getProjectName();
|
||||
projectId = selectedProject.getProjectId();
|
||||
actvProject.setText(projectName);
|
||||
sharedPreferences.edit().putString(PREF_PROJECT, projectName).apply();
|
||||
sharedPreferences.edit().putString(PREF_PROJECT, projectName + "(" + projectId + ")").apply();
|
||||
dataManager.setProjectId(projectId);
|
||||
loadTurbines();
|
||||
} else {
|
||||
|
@ -761,7 +759,7 @@ public class MainActivity extends AppCompatActivity implements ViewModelStoreOwn
|
|||
turbineName = selectedTurbine.getTurbineName();
|
||||
turbineId = selectedTurbine.getTurbineId();
|
||||
actvTurbine.setText(turbineName);
|
||||
sharedPreferences.edit().putString(PREF_TURBINE, turbineName).apply();
|
||||
sharedPreferences.edit().putString(PREF_TURBINE, turbineName + "(" + turbineId + ")").apply();
|
||||
dataManager.setTurbineId(turbineId);
|
||||
dataManager.setTurbineName(turbineName);
|
||||
loadParts();
|
||||
|
@ -840,7 +838,7 @@ public class MainActivity extends AppCompatActivity implements ViewModelStoreOwn
|
|||
partName = selectedPart.getPartName();
|
||||
partId = selectedPart.getPartId();
|
||||
actvPart.setText(partName);
|
||||
sharedPreferences.edit().putString(PREF_PART, partName).apply();
|
||||
sharedPreferences.edit().putString(PREF_PART, partName + "(" + partId + ")").apply();
|
||||
dataManager.setPartId(partId);
|
||||
dataManager.setPartName(partName);
|
||||
} else {
|
||||
|
@ -858,6 +856,7 @@ public class MainActivity extends AppCompatActivity implements ViewModelStoreOwn
|
|||
public void onResponse(retrofit2.Call<ApiResponse<List<Project>>> call, retrofit2.Response<ApiResponse<List<Project>>> response) {
|
||||
if (response.isSuccessful() && response.body() != null) {
|
||||
handleSuccessProjectResponse(response.body().getData());
|
||||
loadProjectPreferences(response.body().getData());
|
||||
} else {
|
||||
handleApiError(response);
|
||||
loadCachedProjects();
|
||||
|
@ -929,6 +928,7 @@ public class MainActivity extends AppCompatActivity implements ViewModelStoreOwn
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void handleSuccessTurbineResponse(List<Turbine> turbines) {
|
||||
runOnUiThread(() -> {
|
||||
try {
|
||||
|
@ -941,6 +941,7 @@ public class MainActivity extends AppCompatActivity implements ViewModelStoreOwn
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void handleSuccessPartResponse(List<PartResponse> parts) {
|
||||
runOnUiThread(() -> {
|
||||
try {
|
||||
|
@ -2963,7 +2964,7 @@ public class MainActivity extends AppCompatActivity implements ViewModelStoreOwn
|
|||
.build();
|
||||
|
||||
Request request = new Request.Builder()
|
||||
.url(BASE_URL + "/video-file-info/batch-upload")
|
||||
.url(RetrofitClient.BASE_URL + "/video-file-info/batch-upload")
|
||||
.addHeader("Authorization", authToken)// 修改为您的视频上传URL
|
||||
.post(requestBody)
|
||||
.build();
|
||||
|
@ -3570,9 +3571,9 @@ public class MainActivity extends AppCompatActivity implements ViewModelStoreOwn
|
|||
// 未设置部件id时调用批量上传项目文件的接口
|
||||
HttpUrl httpUrl = null;
|
||||
if (partId.isEmpty()) {
|
||||
httpUrl = HttpUrl.parse(BASE_URL + "/image/" + project + "/" + imageSource + "/upload-batch");
|
||||
httpUrl = HttpUrl.parse(RetrofitClient.BASE_URL + "/image/" + project + "/" + imageSource + "/upload-batch");
|
||||
} else {
|
||||
httpUrl = HttpUrl.parse(BASE_URL + "/image/" + imageSource + "/upload-batch/" + partId);
|
||||
httpUrl = HttpUrl.parse(RetrofitClient.BASE_URL + "/image/" + imageSource + "/upload-batch/" + partId);
|
||||
}
|
||||
// 构建请求URL
|
||||
HttpUrl.Builder urlBuilder = httpUrl
|
||||
|
@ -3621,7 +3622,7 @@ public class MainActivity extends AppCompatActivity implements ViewModelStoreOwn
|
|||
db.imageDao().insert(new ImageEntity(filePath, time,
|
||||
latitude, longitude, altitude, user, audioPath,
|
||||
project, partId, partName, turbineId, turbineName,
|
||||
true,Temperator, Humidity, Weather, imageSource));
|
||||
true, Temperator, Humidity, Weather, imageSource));
|
||||
});
|
||||
} else {
|
||||
BackgroundToast.show(MainActivity.this,
|
||||
|
@ -4521,7 +4522,7 @@ public class MainActivity extends AppCompatActivity implements ViewModelStoreOwn
|
|||
|
||||
// 4. 构建请求
|
||||
Request.Builder requestBuilder = new Request.Builder()
|
||||
.url(BASE_URL + "/audio/upload/" + imageId)
|
||||
.url(RetrofitClient.BASE_URL + "/audio/upload/" + imageId)
|
||||
.post(requestBody);
|
||||
|
||||
if (token != null && !token.isEmpty()) {
|
||||
|
|
|
@ -30,6 +30,7 @@ import com.example.myapplication.DataBase.AppDatabase;
|
|||
import com.example.myapplication.R;
|
||||
import com.example.myapplication.Tool.BackgroundToast;
|
||||
import com.example.myapplication.Tool.NotificationReceiver;
|
||||
import com.example.myapplication.Tool.RetrofitClient;
|
||||
import com.example.myapplication.model.ImageEntity;
|
||||
import com.example.myapplication.model.SharedDataManager;
|
||||
|
||||
|
@ -271,7 +272,7 @@ public class PhotoMonitoringService extends Service implements SharedDataManager
|
|||
synchronized (uploadLock) {
|
||||
for (ImageEntity image : history) {
|
||||
uploadPhoto(image.path, image.time, lastKnownLocation, image.user,
|
||||
image.audioPath, image.project, image.partId, image.turbineId,
|
||||
image.audioPath, image.project, image.turbineId, image.partId,
|
||||
image.imageSource);
|
||||
}
|
||||
}
|
||||
|
@ -378,7 +379,7 @@ public class PhotoMonitoringService extends Service implements SharedDataManager
|
|||
db2.imageDao().deleteAll();
|
||||
|
||||
uploadPhoto(path, time, lastKnownLocation, user,
|
||||
audioPath, projectId, partId, turbineId, partId);
|
||||
audioPath, projectId, turbineId, partId, ChooseImageSource);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -415,8 +416,15 @@ public class PhotoMonitoringService extends Service implements SharedDataManager
|
|||
double longitude = location != null ? location.getLongitude() : 0;
|
||||
double altitude = location != null ? location.getAltitude() : 0;
|
||||
|
||||
// 未设置部件id时调用批量上传项目文件的接口
|
||||
HttpUrl httpUrl = null;
|
||||
if (partId.isEmpty()) {
|
||||
httpUrl = HttpUrl.parse(RetrofitClient.BASE_URL + "image/" + project + "/" + imageSource + "/upload");
|
||||
} else {
|
||||
httpUrl = HttpUrl.parse(RetrofitClient.BASE_URL + "image/" + imageSource + "/upload/" + partId);
|
||||
}
|
||||
// 构建请求URL
|
||||
HttpUrl.Builder urlBuilder = HttpUrl.parse("http://pms.dtyx.net:9158/image/" + imageSource + "/upload/" + partId)
|
||||
HttpUrl.Builder urlBuilder = httpUrl
|
||||
.newBuilder()
|
||||
.addQueryParameter("collectorId",UserId)
|
||||
.addQueryParameter("collectorName", user)
|
||||
|
|
|
@ -30,6 +30,7 @@ import com.example.myapplication.DataBase.AppDatabase;
|
|||
|
||||
import com.example.myapplication.R;
|
||||
import com.example.myapplication.Tool.BackgroundToast;
|
||||
import com.example.myapplication.Tool.RetrofitClient;
|
||||
import com.example.myapplication.model.AudioEntity;
|
||||
import com.example.myapplication.model.SharedDataManager;
|
||||
|
||||
|
@ -282,7 +283,7 @@ public class RecordingService extends Service implements SharedDataManager.DataC
|
|||
|
||||
// 4. 构建请求
|
||||
Request.Builder requestBuilder = new Request.Builder()
|
||||
.url("http://pms.dtyx.net:9158/audio/upload/" + imageId)
|
||||
.url(RetrofitClient.BASE_URL + "audio/upload/" + imageId)
|
||||
.post(requestBody);
|
||||
|
||||
if (token != null && !token.isEmpty()) {
|
||||
|
|
|
@ -7,7 +7,9 @@ import retrofit2.converter.gson.GsonConverterFactory;
|
|||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
public class RetrofitClient {
|
||||
private static final String BASE_URL = "http://pms.dtyx.net:9158/";
|
||||
// public static final String BASE_URL = "http://10.2.1.20:8888/";
|
||||
public static final String BASE_URL = "http://pms.dtyx.net:9158/";
|
||||
|
||||
private static Retrofit retrofit;
|
||||
|
||||
public static Retrofit getClient(String authToken) {
|
||||
|
|
Loading…
Reference in New Issue