mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-12-19 07:07:46 +01:00
pass GBDevice down to ExternalPebbleJSActivity to determine the platform version (aplite,basalt,chalk)
This commit is contained in:
parent
089a59168e
commit
63d938559e
@ -30,6 +30,7 @@ import java.util.UUID;
|
|||||||
import nodomain.freeyourgadget.gadgetbridge.GBApplication;
|
import nodomain.freeyourgadget.gadgetbridge.GBApplication;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.R;
|
import nodomain.freeyourgadget.gadgetbridge.R;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.adapter.GBDeviceAppAdapter;
|
import nodomain.freeyourgadget.gadgetbridge.adapter.GBDeviceAppAdapter;
|
||||||
|
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceApp;
|
import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceApp;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.service.devices.pebble.PebbleProtocol;
|
import nodomain.freeyourgadget.gadgetbridge.service.devices.pebble.PebbleProtocol;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.util.FileUtils;
|
import nodomain.freeyourgadget.gadgetbridge.util.FileUtils;
|
||||||
@ -72,6 +73,7 @@ public class AppManagerActivity extends Activity {
|
|||||||
private final List<GBDeviceApp> appList = new ArrayList<>();
|
private final List<GBDeviceApp> appList = new ArrayList<>();
|
||||||
private GBDeviceAppAdapter mGBDeviceAppAdapter;
|
private GBDeviceAppAdapter mGBDeviceAppAdapter;
|
||||||
private GBDeviceApp selectedApp = null;
|
private GBDeviceApp selectedApp = null;
|
||||||
|
private GBDevice mGBDevice = null;
|
||||||
|
|
||||||
private List<GBDeviceApp> getSystemApps() {
|
private List<GBDeviceApp> getSystemApps() {
|
||||||
List<GBDeviceApp> systemApps = new ArrayList<>();
|
List<GBDeviceApp> systemApps = new ArrayList<>();
|
||||||
@ -116,6 +118,13 @@ public class AppManagerActivity extends Activity {
|
|||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
Bundle extras = getIntent().getExtras();
|
||||||
|
if (extras != null) {
|
||||||
|
mGBDevice = extras.getParcelable(GBDevice.EXTRA_DEVICE);
|
||||||
|
} else {
|
||||||
|
throw new IllegalArgumentException("Must provide a device when invoking this activity");
|
||||||
|
}
|
||||||
|
|
||||||
sharedPrefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
|
sharedPrefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
|
||||||
|
|
||||||
setContentView(R.layout.activity_appmanager);
|
setContentView(R.layout.activity_appmanager);
|
||||||
@ -192,6 +201,7 @@ public class AppManagerActivity extends Activity {
|
|||||||
case R.id.appmanager_app_configure:
|
case R.id.appmanager_app_configure:
|
||||||
Intent startIntent = new Intent(getApplicationContext(), ExternalPebbleJSActivity.class);
|
Intent startIntent = new Intent(getApplicationContext(), ExternalPebbleJSActivity.class);
|
||||||
startIntent.putExtra("app_uuid", selectedApp.getUUID());
|
startIntent.putExtra("app_uuid", selectedApp.getUUID());
|
||||||
|
startIntent.putExtra(GBDevice.EXTRA_DEVICE, mGBDevice);
|
||||||
startActivity(startIntent);
|
startActivity(startIntent);
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
|
@ -26,19 +26,27 @@ import nodomain.freeyourgadget.gadgetbridge.R;
|
|||||||
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
|
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.util.FileUtils;
|
import nodomain.freeyourgadget.gadgetbridge.util.FileUtils;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.util.GB;
|
import nodomain.freeyourgadget.gadgetbridge.util.GB;
|
||||||
|
import nodomain.freeyourgadget.gadgetbridge.util.PebbleUtils;
|
||||||
|
|
||||||
public class ExternalPebbleJSActivity extends Activity {
|
public class ExternalPebbleJSActivity extends Activity {
|
||||||
|
|
||||||
private static final Logger LOG = LoggerFactory.getLogger(ExternalPebbleJSActivity.class);
|
private static final Logger LOG = LoggerFactory.getLogger(ExternalPebbleJSActivity.class);
|
||||||
|
|
||||||
//TODO: get device
|
|
||||||
private Uri uri;
|
private Uri uri;
|
||||||
private UUID appUuid;
|
private UUID appUuid;
|
||||||
|
private GBDevice mGBDevice = null;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
Bundle extras = getIntent().getExtras();
|
||||||
|
if (extras != null) {
|
||||||
|
mGBDevice = extras.getParcelable(GBDevice.EXTRA_DEVICE);
|
||||||
|
} else {
|
||||||
|
throw new IllegalArgumentException("Must provide a device when invoking this activity");
|
||||||
|
}
|
||||||
|
|
||||||
String queryString = "";
|
String queryString = "";
|
||||||
uri = getIntent().getData();
|
uri = getIntent().getData();
|
||||||
if (uri != null) {
|
if (uri != null) {
|
||||||
@ -119,10 +127,9 @@ public class ExternalPebbleJSActivity extends Activity {
|
|||||||
|
|
||||||
@JavascriptInterface
|
@JavascriptInterface
|
||||||
public String getActiveWatchInfo() {
|
public String getActiveWatchInfo() {
|
||||||
//TODO: interact with GBDevice, see also todo at the beginning
|
|
||||||
JSONObject wi = new JSONObject();
|
JSONObject wi = new JSONObject();
|
||||||
try {
|
try {
|
||||||
wi.put("platform", "basalt");
|
wi.put("platform", PebbleUtils.getPlatformName(mGBDevice.getHardwareVersion()));
|
||||||
}catch (JSONException e) {
|
}catch (JSONException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceApp;
|
|||||||
import nodomain.freeyourgadget.gadgetbridge.model.DeviceType;
|
import nodomain.freeyourgadget.gadgetbridge.model.DeviceType;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.model.GenericItem;
|
import nodomain.freeyourgadget.gadgetbridge.model.GenericItem;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.util.FileUtils;
|
import nodomain.freeyourgadget.gadgetbridge.util.FileUtils;
|
||||||
|
import nodomain.freeyourgadget.gadgetbridge.util.PebbleUtils;
|
||||||
|
|
||||||
public class PBWInstallHandler implements InstallHandler {
|
public class PBWInstallHandler implements InstallHandler {
|
||||||
private static final Logger LOG = LoggerFactory.getLogger(PBWInstallHandler.class);
|
private static final Logger LOG = LoggerFactory.getLogger(PBWInstallHandler.class);
|
||||||
@ -49,15 +50,7 @@ public class PBWInstallHandler implements InstallHandler {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
String hwRev = device.getHardwareVersion();
|
String platformName = PebbleUtils.getPlatformName(device.getHardwareVersion());
|
||||||
String platformName;
|
|
||||||
if (hwRev.startsWith("snowy")) {
|
|
||||||
platformName = "basalt";
|
|
||||||
} else if (hwRev.startsWith("spalding")) {
|
|
||||||
platformName = "chalk";
|
|
||||||
} else {
|
|
||||||
platformName = "aplite";
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
mPBWReader = new PBWReader(mUri, mContext, platformName);
|
mPBWReader = new PBWReader(mUri, mContext, platformName);
|
||||||
|
@ -43,6 +43,7 @@ import nodomain.freeyourgadget.gadgetbridge.service.serial.GBDeviceIoThread;
|
|||||||
import nodomain.freeyourgadget.gadgetbridge.service.serial.GBDeviceProtocol;
|
import nodomain.freeyourgadget.gadgetbridge.service.serial.GBDeviceProtocol;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.util.FileUtils;
|
import nodomain.freeyourgadget.gadgetbridge.util.FileUtils;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.util.GB;
|
import nodomain.freeyourgadget.gadgetbridge.util.GB;
|
||||||
|
import nodomain.freeyourgadget.gadgetbridge.util.PebbleUtils;
|
||||||
|
|
||||||
public class PebbleIoThread extends GBDeviceIoThread {
|
public class PebbleIoThread extends GBDeviceIoThread {
|
||||||
private static final Logger LOG = LoggerFactory.getLogger(PebbleIoThread.class);
|
private static final Logger LOG = LoggerFactory.getLogger(PebbleIoThread.class);
|
||||||
@ -577,15 +578,7 @@ public class PebbleIoThread extends GBDeviceIoThread {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
String hwRev = gbDevice.getHardwareVersion();
|
String platformName = PebbleUtils.getPlatformName(gbDevice.getHardwareVersion());
|
||||||
String platformName;
|
|
||||||
if (hwRev.startsWith("snowy")) {
|
|
||||||
platformName = "basalt";
|
|
||||||
} else if (hwRev.startsWith("spalding")) {
|
|
||||||
platformName = "chalk";
|
|
||||||
} else {
|
|
||||||
platformName = "aplite";
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
mPBWReader = new PBWReader(uri, getContext(), platformName);
|
mPBWReader = new PBWReader(uri, getContext(), platformName);
|
||||||
|
@ -0,0 +1,15 @@
|
|||||||
|
package nodomain.freeyourgadget.gadgetbridge.util;
|
||||||
|
|
||||||
|
public class PebbleUtils {
|
||||||
|
public static String getPlatformName(String hwRev) {
|
||||||
|
String platformName;
|
||||||
|
if (hwRev.startsWith("snowy")) {
|
||||||
|
platformName = "basalt";
|
||||||
|
} else if (hwRev.startsWith("spalding")) {
|
||||||
|
platformName = "chalk";
|
||||||
|
} else {
|
||||||
|
platformName = "aplite";
|
||||||
|
}
|
||||||
|
return platformName;
|
||||||
|
}
|
||||||
|
}
|
@ -5,7 +5,7 @@ buildscript {
|
|||||||
jcenter()
|
jcenter()
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:1.5.0'
|
classpath 'com.android.tools.build:gradle:2.0.0-beta6'
|
||||||
|
|
||||||
// NOTE: Do not place your application dependencies here; they belong
|
// NOTE: Do not place your application dependencies here; they belong
|
||||||
// in the individual module build.gradle files
|
// in the individual module build.gradle files
|
||||||
|
Loading…
Reference in New Issue
Block a user