SD-211 - show all recordings and play them

This commit is contained in:
2022-03-30 10:34:57 +03:00
parent 8bb6f36e60
commit 3f96055a6e
12 changed files with 283 additions and 250 deletions

View File

@ -80,12 +80,12 @@ public class RecordingsActivity extends Activity {
activity = this;
// change tab header fontFace
TextView textView1 = (TextView) findViewById(R.id.textViewTitle);
TextView textView1 = findViewById(R.id.textViewTitle);
textView1.setTypeface(Typeface.createFromAsset(getAssets(), "Sketch_Block.ttf"));
textView1.setTextSize(24);
gridView = (GridView) findViewById(R.id.gridViewRecordings);
adapter = new RecordingsGridViewAdapter(activity, context, getAllRecordings(), playingPositions);
gridView = findViewById(R.id.gridViewRecordings);
adapter = new RecordingsGridViewAdapter(activity, getAllRecordings(), playingPositions);
gridView.setAdapter(adapter);
gridView.setOnItemClickListener(onItemClickListener);
@ -93,10 +93,10 @@ public class RecordingsActivity extends Activity {
if (recHandle == null && !AppParams.DEMO)
recHandle = new RecordingHandle(AppParams.IP);
textViewCount = (TextView) findViewById(R.id.textViewCount);
textViewCount = findViewById(R.id.textViewCount);
updateNumberOfRecordings();
textViewGateway = (TextView) findViewById(R.id.textViewGateway);
textViewGateway = findViewById(R.id.textViewGateway);
textViewGateway.setTypeface(Typeface.createFromAsset(getAssets(), "Sketch_Block.ttf"));
textViewGateway.setTextSize(24);
textViewGateway.setOnClickListener(v -> {
@ -185,7 +185,7 @@ public class RecordingsActivity extends Activity {
// if no recording is playing and not DEMO
if (getPlayingPosition() < 0 && !AppParams.DEMO) {
// send recording request to App Server
sendPlayRequest(getAllRecordings().get(position).ID);
sendPlayRequest(getAllRecordings().get(position).id);
// flag that sound is needed
recHandle.startSound();
recHandle.setSoundNeeded(true);
@ -272,10 +272,7 @@ public class RecordingsActivity extends Activity {
public void updateRecordings(ArrayList<Recording> list) {
setAllRecordings(new ArrayList<>());
for (Recording rec : list) {
if (rec.typeID == 1 && rec.subID == AppParams.USERID)
getAllRecordings().add(rec);
else if (rec.typeID != 1)
getAllRecordings().add(rec);
getAllRecordings().add(rec);
}
myHandler.post(updateResultsRUN);
}
@ -294,7 +291,7 @@ public class RecordingsActivity extends Activity {
for (int i = 0; i < getAllRecordings().size(); i++)
playingPositions.add(true);
// set adapter - where playingPositions stores exists values
adapter = new RecordingsGridViewAdapter(activity, context, getAllRecordings(), playingPositions);
adapter = new RecordingsGridViewAdapter(activity, getAllRecordings(), playingPositions);
// playing positions need to be false because no recording is played
playingPositions.clear();

View File

@ -47,6 +47,7 @@ import com.safemobile.lib.SMSmsg;
import com.safemobile.lib.SerializedObject;
import com.safemobile.lib.SuperVehicle;
import com.safemobile.lib.TCPmsg;
import com.safemobile.lib.User;
import com.safemobile.lib.VehMSG;
import com.safemobile.lib.Vehicle;
import com.safemobile.lib.radio.RadioGW;
@ -402,7 +403,7 @@ public class TabLayoutActivity extends AbstractSDParentActivity {
}
}
SM.Debug("Logged user:" + AppParams.USERNAME + " | ID: " + AppParams.USERID);
SM.Debug("Logged user:" + AppParams.USERNAME + " | id: " + AppParams.USERID);
// do not dim the display
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
@ -633,7 +634,7 @@ public class TabLayoutActivity extends AbstractSDParentActivity {
if (AppParams.DEMO && getRecordingsActivity() != null && getRecordingsActivity().getAllRecordings() != null && getRecordingsActivity().getAllRecordings().isEmpty()) {
ArrayList<Recording> listRecordings = new ArrayList<>();
Recording rec = new Recording();
rec.NameForDisplay = "Rob";
rec.userWhoWasCalled = "Rob";
rec.subID = 101;
rec.endGMT = (int) Calendar.getInstance().getTime().getTime();
rec.startGMT = rec.endGMT - 2;
@ -641,7 +642,7 @@ public class TabLayoutActivity extends AbstractSDParentActivity {
listRecordings.add(rec);
rec = new Recording();
rec.NameForDisplay = "Call1 [Rob]";
rec.userWhoWasCalled = "Call1 [Rob]";
rec.subID = 102;
rec.endGMT = (int) Calendar.getInstance().getTime().getTime();
rec.startGMT = rec.endGMT - 2;
@ -649,7 +650,7 @@ public class TabLayoutActivity extends AbstractSDParentActivity {
listRecordings.add(rec);
rec = new Recording();
rec.NameForDisplay = "Call2 [Rob]";
rec.userWhoWasCalled = "Call2 [Rob]";
rec.subID = 101;
rec.endGMT = (int) Calendar.getInstance().getTime().getTime();
rec.startGMT = rec.endGMT - 3;
@ -1004,8 +1005,6 @@ public class TabLayoutActivity extends AbstractSDParentActivity {
moribund.interrupt();
}
this.unregisterReceiver(mReceiver);
// unbound from tcp service
if (isBound) {
getApplicationContext().unbindService(serviceConnection);
@ -1359,7 +1358,7 @@ public class TabLayoutActivity extends AbstractSDParentActivity {
SM.Debug("Got PlayRec :" + msg.allData);
if (NO_SOUND) {
SM.Debug("Recording Play file ID:" + msg.data);
SM.Debug("Recording Play file id:" + msg.data);
//list for SMS
if (AppParams.crtTab == AppParams.Tabs.recordings) {
@ -1610,13 +1609,13 @@ public class TabLayoutActivity extends AbstractSDParentActivity {
setAllRadios(radioMSG.RadioGWList);
if (getCrtRadio() == null) {
setCrtRadio(getAllRadios().get(0));
SM.Debug("radioMSG set 0 crtRadio GW_ID:" + getCrtRadio().GW_ID + " ID:" + getCrtRadio().ID + ")");
SM.Debug("radioMSG set 0 crtRadio GW_ID:" + getCrtRadio().GW_ID + " id:" + getCrtRadio().ID + ")");
notifyBroadcast(OperationCodes.RADIOID_CHANGED + "");
}
}
// save crt Radio ID and GW
// save crt Radio id and GW
if (radioMSG.zac != null) {
for (RadioGW radio : getAllRadios()) {
if (radio.GW_ID == radioMSG.zac.gwID && radio.ID == radioMSG.zac.rgwID)
@ -1717,19 +1716,76 @@ public class TabLayoutActivity extends AbstractSDParentActivity {
//list for SMS
if (AppParams.crtTab == AppParams.Tabs.recordings) {
for (Recording rec : recordMSG.recordList) {
// set the name to be displayed
if (rec.typeID == 1)
rec.NameForDisplay = AppParams.USERNAME;
else {
SuperVehicle superVehicle = getSuperVehHash().get((long) rec.subID);
if (superVehicle != null)
rec.NameForDisplay = superVehicle.name;
for (Recording rec : recordMSG.getRecordList()) {
SuperVehicle superVehicle = getSuperVehHash().get((long) rec.subID);
// set the name to be displayed
switch (rec.callType) {
case 0:
for (User u : AppParams.allUsers) {
if (u.id == rec.dispatcherId)
rec.userWhoCalled = u.login;
}
if (rec.userWhoCalled == null || rec.userWhoCalled.isEmpty())
rec.userWhoCalled = String.valueOf(rec.dispatcherId);
if (superVehicle != null)
rec.userWhoWasCalled = superVehicle.name;
else
rec.userWhoWasCalled = String.valueOf(rec.subID);
break;
case 4:
rec.userWhoWasCalled = AppParams.USERNAME;
if (superVehicle != null)
rec.userWhoCalled = superVehicle.name;
else
rec.userWhoCalled = String.valueOf(rec.subID);
break;
case 1:
for (User u : AppParams.allUsers) {
if (u.id == rec.dispatcherId)
rec.userWhoCalled = u.login;
}
if (rec.userWhoCalled == null || rec.userWhoCalled.isEmpty())
rec.userWhoCalled = String.valueOf(rec.dispatcherId);
if (rec.groupName == null || rec.groupName.isEmpty())
rec.userWhoWasCalled = String.valueOf(rec.groupCpsId);
else
rec.userWhoWasCalled = rec.groupName;
break;
case 5:
if (superVehicle != null)
rec.userWhoCalled = superVehicle.name;
else
rec.userWhoCalled = String.valueOf(rec.subID);
if (rec.groupName == null || rec.groupName.isEmpty())
rec.userWhoWasCalled = String.valueOf(rec.groupCpsId);
else
rec.userWhoWasCalled = rec.groupName;
break;
case 2:
for (User u : AppParams.allUsers) {
if (u.id == rec.dispatcherId)
rec.userWhoCalled = u.login;
}
if (rec.userWhoCalled == null || rec.userWhoCalled.isEmpty())
rec.userWhoCalled = String.valueOf(rec.dispatcherId);
rec.userWhoWasCalled = "All Call";
break;
case 6:
rec.userWhoWasCalled = "All Call";
if (superVehicle != null)
rec.userWhoCalled = superVehicle.name;
else
rec.userWhoCalled = String.valueOf(rec.subID);
break;
}
}
// save recordings to AppParams
AppParams.recordings = recordMSG.recordList;
AppParams.recordings = recordMSG.getRecordList();
// notify recordings were received
notifyBroadcast(OperationCodes.RECORDINGS_LIST_REP + "");
@ -2322,4 +2378,10 @@ public class TabLayoutActivity extends AbstractSDParentActivity {
this.startActivity(intent);
}
}
@Override
protected void onDestroy() {
super.onDestroy();
this.unregisterReceiver(mReceiver);
}
}