1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-12-26 02:25:50 +01:00

Fossil HR: improved DeviceApplicationsList handling

This commit is contained in:
Daniel Dakhno 2022-01-11 13:13:15 +01:00
parent 8d1a1c07b7
commit 73ce323288
2 changed files with 21 additions and 9 deletions

View File

@ -89,6 +89,7 @@ import nodomain.freeyourgadget.gadgetbridge.externalevents.NotificationListener;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceApp;
import nodomain.freeyourgadget.gadgetbridge.model.CallSpec;
import nodomain.freeyourgadget.gadgetbridge.model.GenericItem;
import nodomain.freeyourgadget.gadgetbridge.model.MusicSpec;
import nodomain.freeyourgadget.gadgetbridge.model.MusicStateSpec;
import nodomain.freeyourgadget.gadgetbridge.model.NotificationSpec;
@ -210,7 +211,19 @@ public class FossilHRWatchAdapter extends FossilWatchAdapter {
}
public void listApplications() {
queueWrite(new ApplicationsListRequest(this));
queueWrite(new ApplicationsListRequest(this){
@Override
public void handleApplicationsList(List<ApplicationInformation> installedApplications) {
((FossilHRWatchAdapter) getAdapter()).setInstalledApplications(installedApplications);
GBDevice device = getAdapter().getDeviceSupport().getDevice();
JSONArray array = new JSONArray();
for(ApplicationInformation info : installedApplications){
array.put(info.getAppName());
}
device.addDeviceInfo(new GenericItem("INSTALLED_APPS", array.toString()));
device.sendDeviceUpdateIntent(getAdapter().getContext());
}
});
}
private void initializeAfterAuthentication(boolean authenticated) {

View File

@ -9,6 +9,7 @@ import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.model.GenericItem;
@ -49,15 +50,13 @@ public class ApplicationsListRequest extends FileLookupAndGetRequest{
));
}
Collections.sort(applicationInfos);
((FossilHRWatchAdapter) getAdapter()).setInstalledApplications(applicationInfos);
GBDevice device = getAdapter().getDeviceSupport().getDevice();
JSONArray array = new JSONArray();
for(ApplicationInformation info : applicationInfos){
array.put(info.getAppName());
}
device.addDeviceInfo(new GenericItem("INSTALLED_APPS", array.toString()));
device.sendDeviceUpdateIntent(getAdapter().getContext());
this.handleApplicationsList(applicationInfos);
}
public void handleApplicationsList(List<ApplicationInformation> installedApplications){
}
public void handleFileLookupError(FILE_LOOKUP_ERROR error){
}