mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-11-24 19:06:53 +01:00
Pebble: change the overflow menu of the weather system app.
If the weather notification app is not installed, link to fdroid (app if installed, web page of the app if not). If the weather notification app is installed, show the options to activate and deactivate it.
This commit is contained in:
parent
0152e7ce02
commit
4dfef382a9
@ -4,6 +4,7 @@ import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
@ -298,6 +299,7 @@ public abstract class AbstractAppManagerFragment extends Fragment {
|
||||
if (!PebbleProtocol.UUID_WEATHER.equals(selectedApp.getUUID())) {
|
||||
menu.removeItem(R.id.appmanager_weather_activate);
|
||||
menu.removeItem(R.id.appmanager_weather_deactivate);
|
||||
menu.removeItem(R.id.appmanager_weather_install_provider);
|
||||
}
|
||||
if (selectedApp.getType() == GBDeviceApp.Type.APP_SYSTEM || selectedApp.getType() == GBDeviceApp.Type.WATCHFACE_SYSTEM) {
|
||||
menu.removeItem(R.id.appmanager_app_delete);
|
||||
@ -305,6 +307,18 @@ public abstract class AbstractAppManagerFragment extends Fragment {
|
||||
if (!selectedApp.isConfigurable()) {
|
||||
menu.removeItem(R.id.appmanager_app_configure);
|
||||
}
|
||||
|
||||
if (PebbleProtocol.UUID_WEATHER.equals(selectedApp.getUUID())) {
|
||||
PackageManager pm = getActivity().getPackageManager();
|
||||
try {
|
||||
pm.getPackageInfo("ru.gelin.android.weather.notification", PackageManager.GET_ACTIVITIES);
|
||||
menu.removeItem(R.id.appmanager_weather_install_provider);
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
menu.removeItem(R.id.appmanager_weather_activate);
|
||||
menu.removeItem(R.id.appmanager_weather_deactivate);
|
||||
}
|
||||
}
|
||||
|
||||
switch (selectedApp.getType()) {
|
||||
case WATCHFACE:
|
||||
case APP_GENERIC:
|
||||
@ -382,6 +396,9 @@ public abstract class AbstractAppManagerFragment extends Fragment {
|
||||
case R.id.appmanager_weather_deactivate:
|
||||
GBApplication.deviceService().onAppDelete(selectedApp.getUUID());
|
||||
return true;
|
||||
case R.id.appmanager_weather_install_provider:
|
||||
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://f-droid.org/app/ru.gelin.android.weather.notification")));
|
||||
return true;
|
||||
case R.id.appmanager_app_configure:
|
||||
GBApplication.deviceService().onAppStart(selectedApp.getUUID(), true);
|
||||
|
||||
|
@ -27,6 +27,9 @@
|
||||
<item
|
||||
android:id="@+id/appmanager_weather_deactivate"
|
||||
android:title="@string/appmanager_weather_deactivate" />
|
||||
<item
|
||||
android:id="@+id/appmanager_weather_install_provider"
|
||||
android:title="@string/appmanager_weather_install_provider" />
|
||||
<item
|
||||
android:id="@+id/appmanager_app_configure"
|
||||
android:title="@string/app_configure"/>
|
||||
|
@ -32,6 +32,7 @@
|
||||
<string name="appmanager_hrm_deactivate">Deactivate HRM</string>
|
||||
<string name="appmanager_weather_activate">Activate system weather app</string>
|
||||
<string name="appmanager_weather_deactivate">Deactivate system weather app</string>
|
||||
<string name="appmanager_weather_install_provider">Install the weather notification app</string>
|
||||
<string name="app_configure">Configure</string>
|
||||
<string name="app_move_to_top">Move to top</string>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user