200 lines
6.4 KiB
Java
200 lines
6.4 KiB
Java
package com.example.myapplication.model;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
// SharedDataManager.java
|
|
public class SharedDataManager {
|
|
private static SharedDataManager instance;
|
|
private String imagePath ="-1";
|
|
private String token="-1";
|
|
private String user="-1";
|
|
private String audioPath="-1";
|
|
private String projectId="-1";
|
|
private String unit="-1";
|
|
private int blade=-1;
|
|
private String partid="-1";
|
|
private String chooseImageSource="-1";
|
|
private String unitName="-1";
|
|
private boolean isRecording=false;
|
|
private boolean isUploading=false; // 新增上传状态字段
|
|
|
|
private final List<DataChangeListener> listeners = new ArrayList<>();
|
|
|
|
public interface DataChangeListener {
|
|
void onImagePathChanged(String newPath);
|
|
void onTokenChanged(String newToken);
|
|
void onUserChanged(String newUser);
|
|
void onAudioPathChanged(String newAudioPath);
|
|
void onProjectIdChanged(String newProjectId);
|
|
void onUnitChanged(String newUnit);
|
|
void onBladeChanged(int newBlade);
|
|
void onPartidChanged(String newPartid);
|
|
void onChooseImageSourceChanged(String newChooseImageSource);
|
|
void onUnitNameChanged(String newUnitName);
|
|
void onIsRecordingChanged(boolean newisRecording);
|
|
void onUploadingStatusChanged(boolean isUploading); // 新增上传状态变化回调
|
|
|
|
|
|
}
|
|
|
|
private SharedDataManager() {}
|
|
|
|
public static synchronized SharedDataManager getInstance() {
|
|
if (instance == null) {
|
|
instance = new SharedDataManager();
|
|
}
|
|
return instance;
|
|
}
|
|
public boolean getIsRecording(){return isRecording;}
|
|
public String getImagePath() {return imagePath;}
|
|
public String getUser() { return user; }
|
|
public String getAudioPath() { return audioPath; }
|
|
public String getProjectId() { return projectId; }
|
|
public String getUnit() { return unit; }
|
|
public int getBlade() { return blade; }
|
|
public String getPartid() { return partid; }
|
|
public String getChooseImageSource() { return chooseImageSource; }
|
|
public String getUnitName() { return unitName; }
|
|
public String getToken() {return token;}
|
|
public boolean getisUploading() {
|
|
return isUploading;
|
|
}
|
|
|
|
public void setUploading(boolean uploading) {
|
|
if (this.isUploading != uploading) {
|
|
this.isUploading = uploading;
|
|
notifyUploadingStatusChanged(uploading);
|
|
}
|
|
}
|
|
public void setImagePath(String imagePath) {
|
|
this.imagePath = imagePath;
|
|
notifyImagePathChanged(imagePath);
|
|
}
|
|
|
|
public void setUser(String user) {
|
|
this.user = user;
|
|
notifyUserChanged(user);
|
|
}
|
|
|
|
public void setAudioPath(String audioPath) {
|
|
this.audioPath = audioPath;
|
|
notifyAudioPathChanged(audioPath);
|
|
}
|
|
|
|
public void setProjectId(String projectId) {
|
|
this.projectId = projectId;
|
|
notifyProjectIdChanged(projectId);
|
|
}
|
|
|
|
public void setUnit(String unit) {
|
|
this.unit = unit;
|
|
notifyUnitChanged(unit);
|
|
}
|
|
|
|
public void setBlade(int blade) {
|
|
this.blade = blade;
|
|
notifyBladeChanged(blade);
|
|
}
|
|
|
|
public void setPartid(String partid) {
|
|
this.partid = partid;
|
|
notifyPartidChanged(partid);
|
|
}
|
|
|
|
public void setChooseImageSource(String chooseImageSource) {
|
|
this.chooseImageSource = chooseImageSource;
|
|
notifyChooseImageSourceChanged(chooseImageSource);
|
|
}
|
|
|
|
public void setUnitName(String unitName) {
|
|
this.unitName = unitName;
|
|
notifyUnitNameChanged(unitName);
|
|
}
|
|
|
|
|
|
public void setToken(String token) {
|
|
this.token = token;
|
|
notifyTokenChanged(token);
|
|
}
|
|
public void setIsRecording(boolean isRecording) {
|
|
this.isRecording =isRecording ;
|
|
notifyIsRecordingChanged(isRecording);
|
|
}
|
|
public void addListener(DataChangeListener listener) {
|
|
listeners.add(listener);
|
|
}
|
|
|
|
public void removeListener(DataChangeListener listener) {
|
|
listeners.remove(listener);
|
|
}
|
|
|
|
private void notifyImagePathChanged(String newPath) {
|
|
for (DataChangeListener listener : listeners) {
|
|
listener.onImagePathChanged(newPath);
|
|
}
|
|
}
|
|
|
|
private void notifyTokenChanged(String newToken) {
|
|
for (DataChangeListener listener : listeners) {
|
|
listener.onTokenChanged(newToken);
|
|
}
|
|
}
|
|
private void notifyUserChanged(String newUser) {
|
|
for (DataChangeListener listener : listeners) {
|
|
listener.onUserChanged(newUser);
|
|
}
|
|
}
|
|
|
|
private void notifyAudioPathChanged(String newAudioPath) {
|
|
for (DataChangeListener listener : listeners) {
|
|
listener.onAudioPathChanged(newAudioPath);
|
|
}
|
|
}
|
|
|
|
private void notifyProjectIdChanged(String newProjectId) {
|
|
for (DataChangeListener listener : listeners) {
|
|
listener.onProjectIdChanged(newProjectId);
|
|
}
|
|
}
|
|
|
|
private void notifyUnitChanged(String newUnit) {
|
|
for (DataChangeListener listener : listeners) {
|
|
listener.onUnitChanged(newUnit);
|
|
}
|
|
}
|
|
|
|
private void notifyBladeChanged(int newBlade) {
|
|
for (DataChangeListener listener : listeners) {
|
|
listener.onBladeChanged(newBlade);
|
|
}
|
|
}
|
|
|
|
private void notifyPartidChanged(String newPartid) {
|
|
for (DataChangeListener listener : listeners) {
|
|
listener.onPartidChanged(newPartid);
|
|
}
|
|
}
|
|
|
|
private void notifyChooseImageSourceChanged(String newChooseImageSource) {
|
|
for (DataChangeListener listener : listeners) {
|
|
listener.onChooseImageSourceChanged(newChooseImageSource);
|
|
}
|
|
}
|
|
|
|
private void notifyUnitNameChanged(String newUnitName) {
|
|
for (DataChangeListener listener : listeners) {
|
|
listener.onUnitNameChanged(newUnitName);
|
|
}
|
|
}
|
|
private void notifyIsRecordingChanged(boolean newIsRecording) {
|
|
for (DataChangeListener listener : listeners) {
|
|
listener.onIsRecordingChanged(newIsRecording);
|
|
}
|
|
}
|
|
private void notifyUploadingStatusChanged(boolean isUploading) {
|
|
for (DataChangeListener listener : listeners) {
|
|
listener.onUploadingStatusChanged(isUploading);
|
|
}
|
|
}
|
|
} |