mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-11-27 12:26:48 +01:00
Make R class fields non-final
This commit is contained in:
parent
39708e5fb6
commit
d7242c1f12
@ -217,11 +217,11 @@ public abstract class AbstractSettingsActivity extends AppCompatPreferenceActivi
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
return true;
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
@ -72,12 +72,12 @@ public abstract class AbstractSettingsActivityV2 extends AbstractGBActivity impl
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(@NonNull final MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
// Simulate a back press, so that we don't actually exit the activity when
|
||||
// in a nested PreferenceScreen
|
||||
this.onBackPressed();
|
||||
return true;
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
// Simulate a back press, so that we don't actually exit the activity when
|
||||
// in a nested PreferenceScreen
|
||||
this.onBackPressed();
|
||||
return true;
|
||||
}
|
||||
|
||||
return super.onOptionsItemSelected(item);
|
||||
|
@ -125,22 +125,21 @@ public class ActivitySummariesActivity extends AbstractListActivity<BaseActivity
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
boolean processed = false;
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
// back button, close drawer if open, otherwise exit
|
||||
finish();
|
||||
return true;
|
||||
case R.id.activity_action_manage_timestamp:
|
||||
resetFetchTimestampToChosenDate();
|
||||
processed = true;
|
||||
break;
|
||||
case R.id.activity_action_filter:
|
||||
runFilterActivity();
|
||||
return true;
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
// back button, close drawer if open, otherwise exit
|
||||
finish();
|
||||
return true;
|
||||
} else if (itemId == R.id.activity_action_manage_timestamp) {
|
||||
resetFetchTimestampToChosenDate();
|
||||
return true;
|
||||
} else if (itemId == R.id.activity_action_filter) {
|
||||
runFilterActivity();
|
||||
return true;
|
||||
}
|
||||
return processed;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -229,77 +228,72 @@ public class ActivitySummariesActivity extends AbstractListActivity<BaseActivity
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onActionItemClicked(ActionMode actionMode, MenuItem menuItem) {
|
||||
public boolean onActionItemClicked(final ActionMode actionMode, final MenuItem menuItem) {
|
||||
boolean processed = false;
|
||||
SparseBooleanArray checked = getItemListView().getCheckedItemPositions();
|
||||
switch (menuItem.getItemId()) {
|
||||
case R.id.activity_action_delete:
|
||||
final List<BaseActivitySummary> toDelete = new ArrayList<>();
|
||||
for (int i = 0; i < checked.size(); i++) {
|
||||
if (checked.valueAt(i)) {
|
||||
toDelete.add(getItemAdapter().getItem(checked.keyAt(i)));
|
||||
}
|
||||
final SparseBooleanArray checked = getItemListView().getCheckedItemPositions();
|
||||
final int itemId = menuItem.getItemId();
|
||||
if (itemId == R.id.activity_action_delete) {
|
||||
final List<BaseActivitySummary> toDelete = new ArrayList<>();
|
||||
for (int i = 0; i < checked.size(); i++) {
|
||||
if (checked.valueAt(i)) {
|
||||
toDelete.add(getItemAdapter().getItem(checked.keyAt(i)));
|
||||
}
|
||||
}
|
||||
|
||||
new MaterialAlertDialogBuilder(ActivitySummariesActivity.this)
|
||||
.setTitle(ActivitySummariesActivity.this.getString(R.string.sports_activity_confirm_delete_title, toDelete.size()))
|
||||
.setMessage(ActivitySummariesActivity.this.getString(R.string.sports_activity_confirm_delete_description, toDelete.size()))
|
||||
.setIcon(R.drawable.ic_delete_forever)
|
||||
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
|
||||
public void onClick(final DialogInterface dialog, final int whichButton) {
|
||||
deleteItems(toDelete);
|
||||
}
|
||||
})
|
||||
.setNegativeButton(android.R.string.no, null)
|
||||
.show();
|
||||
new MaterialAlertDialogBuilder(ActivitySummariesActivity.this)
|
||||
.setTitle(ActivitySummariesActivity.this.getString(R.string.sports_activity_confirm_delete_title, toDelete.size()))
|
||||
.setMessage(ActivitySummariesActivity.this.getString(R.string.sports_activity_confirm_delete_description, toDelete.size()))
|
||||
.setIcon(R.drawable.ic_delete_forever)
|
||||
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
|
||||
public void onClick(final DialogInterface dialog, final int whichButton) {
|
||||
deleteItems(toDelete);
|
||||
}
|
||||
})
|
||||
.setNegativeButton(android.R.string.no, null)
|
||||
.show();
|
||||
|
||||
processed = true;
|
||||
break;
|
||||
case R.id.activity_action_export:
|
||||
List<String> paths = new ArrayList<>();
|
||||
processed = true;
|
||||
} else if (itemId == R.id.activity_action_export) {
|
||||
final List<String> paths = new ArrayList<>();
|
||||
|
||||
for (int i = 0; i < checked.size(); i++) {
|
||||
if (checked.valueAt(i)) {
|
||||
for (int i = 0; i < checked.size(); i++) {
|
||||
if (checked.valueAt(i)) {
|
||||
|
||||
BaseActivitySummary item = getItemAdapter().getItem(checked.keyAt(i));
|
||||
if (item != null) {
|
||||
ActivitySummary summary = item;
|
||||
BaseActivitySummary item = getItemAdapter().getItem(checked.keyAt(i));
|
||||
if (item != null) {
|
||||
ActivitySummary summary = item;
|
||||
|
||||
String gpxTrack = summary.getGpxTrack();
|
||||
if (gpxTrack != null) {
|
||||
paths.add(gpxTrack);
|
||||
}
|
||||
String gpxTrack = summary.getGpxTrack();
|
||||
if (gpxTrack != null) {
|
||||
paths.add(gpxTrack);
|
||||
}
|
||||
}
|
||||
}
|
||||
shareMultiple(paths);
|
||||
processed = true;
|
||||
break;
|
||||
case R.id.activity_action_select_all:
|
||||
for (int i = 0; i < getItemListView().getCount(); i++) {
|
||||
getItemListView().setItemChecked(i, true);
|
||||
}
|
||||
return true; //don't finish actionmode in this case!
|
||||
case R.id.activity_action_addto_filter:
|
||||
List<Long> toFilter = new ArrayList<>();
|
||||
for (int i = 0; i < checked.size(); i++) {
|
||||
if (checked.valueAt(i)) {
|
||||
BaseActivitySummary item = getItemAdapter().getItem(checked.keyAt(i));
|
||||
if (item != null && item.getId() != null) {
|
||||
ActivitySummary summary = item;
|
||||
Long id = summary.getId();
|
||||
toFilter.add(id);
|
||||
}
|
||||
}
|
||||
shareMultiple(paths);
|
||||
processed = true;
|
||||
} else if (itemId == R.id.activity_action_select_all) {
|
||||
for (int i = 0; i < getItemListView().getCount(); i++) {
|
||||
getItemListView().setItemChecked(i, true);
|
||||
}
|
||||
return true; //don't finish actionmode in this case!
|
||||
} else if (itemId == R.id.activity_action_addto_filter) {
|
||||
final List<Long> toFilter = new ArrayList<>();
|
||||
for (int i = 0; i < checked.size(); i++) {
|
||||
if (checked.valueAt(i)) {
|
||||
BaseActivitySummary item = getItemAdapter().getItem(checked.keyAt(i));
|
||||
if (item != null && item.getId() != null) {
|
||||
ActivitySummary summary = item;
|
||||
Long id = summary.getId();
|
||||
toFilter.add(id);
|
||||
}
|
||||
}
|
||||
itemsFilter = toFilter;
|
||||
setItemsFilter(itemsFilter);
|
||||
refresh();
|
||||
}
|
||||
itemsFilter = toFilter;
|
||||
setItemsFilter(itemsFilter);
|
||||
refresh();
|
||||
|
||||
processed = true;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
processed = true;
|
||||
}
|
||||
actionMode.finish();
|
||||
return processed;
|
||||
|
@ -236,12 +236,12 @@ public class ActivitySummariesFilter extends AbstractGBActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
// back button
|
||||
finish();
|
||||
return true;
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
// back button
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
@ -563,27 +563,27 @@ public class ActivitySummaryDetail extends AbstractGBActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
// back button
|
||||
finish();
|
||||
return true;
|
||||
case R.id.activity_action_take_screenshot:
|
||||
take_share_screenshot(ActivitySummaryDetail.this);
|
||||
return true;
|
||||
case R.id.activity_action_show_gpx:
|
||||
viewGpxTrack(ActivitySummaryDetail.this);
|
||||
return true;
|
||||
case R.id.activity_action_share_gpx:
|
||||
shareGpxTrack(ActivitySummaryDetail.this, currentItem);
|
||||
return true;
|
||||
case R.id.activity_action_dev_share_raw_summary:
|
||||
shareRawSummary(ActivitySummaryDetail.this, currentItem);
|
||||
return true;
|
||||
case R.id.activity_action_dev_share_raw_details:
|
||||
shareRawDetails(ActivitySummaryDetail.this, currentItem);
|
||||
return true;
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
// back button
|
||||
finish();
|
||||
return true;
|
||||
} else if (itemId == R.id.activity_action_take_screenshot) {
|
||||
take_share_screenshot(ActivitySummaryDetail.this);
|
||||
return true;
|
||||
} else if (itemId == R.id.activity_action_show_gpx) {
|
||||
viewGpxTrack(ActivitySummaryDetail.this);
|
||||
return true;
|
||||
} else if (itemId == R.id.activity_action_share_gpx) {
|
||||
shareGpxTrack(ActivitySummaryDetail.this, currentItem);
|
||||
return true;
|
||||
} else if (itemId == R.id.activity_action_dev_share_raw_summary) {
|
||||
shareRawSummary(ActivitySummaryDetail.this, currentItem);
|
||||
return true;
|
||||
} else if (itemId == R.id.activity_action_dev_share_raw_details) {
|
||||
shareRawDetails(ActivitySummaryDetail.this, currentItem);
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
@ -260,12 +260,12 @@ public class AlarmDetails extends AbstractGBActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
// back button
|
||||
finish();
|
||||
return true;
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
// back button
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
@ -22,9 +22,6 @@ import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import androidx.appcompat.widget.SearchView;
|
||||
import androidx.core.app.NavUtils;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
@ -34,32 +31,30 @@ import nodomain.freeyourgadget.gadgetbridge.adapter.AppBlacklistAdapter;
|
||||
|
||||
|
||||
public class AppBlacklistActivity extends AbstractGBActivity {
|
||||
private static final Logger LOG = LoggerFactory.getLogger(AppBlacklistActivity.class);
|
||||
|
||||
private AppBlacklistAdapter appBlacklistAdapter;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
protected void onCreate(final Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_appblacklist);
|
||||
RecyclerView appListView = (RecyclerView) findViewById(R.id.appListView);
|
||||
final RecyclerView appListView = (RecyclerView) findViewById(R.id.appListView);
|
||||
appListView.setLayoutManager(new LinearLayoutManager(this));
|
||||
|
||||
appBlacklistAdapter = new AppBlacklistAdapter(R.layout.item_app_blacklist, this);
|
||||
|
||||
appListView.setAdapter(appBlacklistAdapter);
|
||||
|
||||
SearchView searchView = (SearchView) findViewById(R.id.appListViewSearch);
|
||||
final SearchView searchView = findViewById(R.id.appListViewSearch);
|
||||
searchView.setIconifiedByDefault(false);
|
||||
searchView.setIconified(false);
|
||||
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
|
||||
@Override
|
||||
public boolean onQueryTextSubmit(String query) {
|
||||
public boolean onQueryTextSubmit(final String query) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onQueryTextChange(String newText) {
|
||||
public boolean onQueryTextChange(final String newText) {
|
||||
appBlacklistAdapter.getFilter().filter(newText);
|
||||
return true;
|
||||
}
|
||||
@ -67,24 +62,24 @@ public class AppBlacklistActivity extends AbstractGBActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
MenuInflater inflater = getMenuInflater();
|
||||
public boolean onCreateOptionsMenu(final Menu menu) {
|
||||
final MenuInflater inflater = getMenuInflater();
|
||||
inflater.inflate(R.menu.app_blacklist_menu, menu);
|
||||
return super.onCreateOptionsMenu(menu);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
return true;
|
||||
case R.id.check_all_applications:
|
||||
appBlacklistAdapter.checkAllApplications();
|
||||
return true;
|
||||
case R.id.uncheck_all_applications:
|
||||
appBlacklistAdapter.uncheckAllApplications();
|
||||
return true;
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
return true;
|
||||
} else if (itemId == R.id.check_all_applications) {
|
||||
appBlacklistAdapter.checkAllApplications();
|
||||
return true;
|
||||
} else if (itemId == R.id.uncheck_all_applications) {
|
||||
appBlacklistAdapter.uncheckAllApplications();
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
@ -103,11 +103,11 @@ public class CalBlacklistActivity extends AbstractGBActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
return true;
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
@ -151,12 +151,12 @@ public class ConfigureAlarms extends AbstractGBActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
// back button
|
||||
finish();
|
||||
return true;
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
// back button
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
@ -142,12 +142,12 @@ public class ConfigureContacts extends AbstractGBActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
// back button
|
||||
finish();
|
||||
return true;
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
// back button
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
@ -174,12 +174,12 @@ public class ConfigureReminders extends AbstractGBActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
// back button
|
||||
finish();
|
||||
return true;
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
// back button
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
@ -189,12 +189,12 @@ public class ConfigureWorldClocks extends AbstractGBActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
// back button
|
||||
finish();
|
||||
return true;
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
// back button
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
@ -120,12 +120,12 @@ public class ContactDetails extends AbstractGBActivity {
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
// back button
|
||||
// TODO confirm when exiting without saving
|
||||
finish();
|
||||
return true;
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
// back button
|
||||
// TODO confirm when exiting without saving
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
@ -200,13 +200,11 @@ public class ControlCenterv2 extends AppCompatActivity
|
||||
navigationView.setVisibility(View.GONE);
|
||||
}
|
||||
navigationView.setOnItemSelectedListener(menuItem -> {
|
||||
switch (menuItem.getItemId()) {
|
||||
case R.id.bottom_nav_dashboard:
|
||||
viewPager.setCurrentItem(0, true);
|
||||
break;
|
||||
case R.id.bottom_nav_devices:
|
||||
viewPager.setCurrentItem(1, true);
|
||||
break;
|
||||
final int itemId = menuItem.getItemId();
|
||||
if (itemId == R.id.bottom_nav_dashboard) {
|
||||
viewPager.setCurrentItem(0, true);
|
||||
} else if (itemId == R.id.bottom_nav_devices) {
|
||||
viewPager.setCurrentItem(1, true);
|
||||
}
|
||||
return true;
|
||||
});
|
||||
@ -386,58 +384,57 @@ public class ControlCenterv2 extends AppCompatActivity
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
|
||||
|
||||
DrawerLayout drawer = findViewById(R.id.drawer_layout);
|
||||
public boolean onNavigationItemSelected(@NonNull final MenuItem item) {
|
||||
final DrawerLayout drawer = findViewById(R.id.drawer_layout);
|
||||
drawer.closeDrawer(GravityCompat.START);
|
||||
|
||||
switch (item.getItemId()) {
|
||||
case R.id.action_settings:
|
||||
Intent settingsIntent = new Intent(this, SettingsActivity.class);
|
||||
startActivityForResult(settingsIntent, MENU_REFRESH_CODE);
|
||||
return false; //we do not want the drawer menu item to get selected
|
||||
case R.id.action_debug:
|
||||
Intent debugIntent = new Intent(this, DebugActivity.class);
|
||||
startActivity(debugIntent);
|
||||
return false;
|
||||
case R.id.action_data_management:
|
||||
Intent dbIntent = new Intent(this, DataManagementActivity.class);
|
||||
startActivity(dbIntent);
|
||||
return false;
|
||||
case R.id.action_notification_management:
|
||||
Intent blIntent = new Intent(this, NotificationManagementActivity.class);
|
||||
startActivity(blIntent);
|
||||
return false;
|
||||
case R.id.device_action_discover:
|
||||
launchDiscoveryActivity();
|
||||
return false;
|
||||
case R.id.action_quit:
|
||||
GBApplication.quit();
|
||||
return false;
|
||||
case R.id.donation_link:
|
||||
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("https://liberapay.com/Gadgetbridge")); //TODO: centralize if ever used somewhere else
|
||||
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
startActivity(i);
|
||||
return false;
|
||||
case R.id.external_changelog:
|
||||
GBChangeLog cl = createChangeLog();
|
||||
try {
|
||||
if (cl.hasChanges(false)) {
|
||||
cl.getMaterialLogDialog().show();
|
||||
} else {
|
||||
cl.getMaterialFullLogDialog().show();
|
||||
}
|
||||
} catch (Exception ignored) {
|
||||
GB.toast(getBaseContext(), getString(R.string.error_showing_changelog), Toast.LENGTH_LONG, GB.ERROR);
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == R.id.action_settings) {
|
||||
final Intent settingsIntent = new Intent(this, SettingsActivity.class);
|
||||
startActivityForResult(settingsIntent, MENU_REFRESH_CODE);
|
||||
return false;
|
||||
} else if (itemId == R.id.action_debug) {
|
||||
final Intent debugIntent = new Intent(this, DebugActivity.class);
|
||||
startActivity(debugIntent);
|
||||
return false;
|
||||
} else if (itemId == R.id.action_data_management) {
|
||||
final Intent dbIntent = new Intent(this, DataManagementActivity.class);
|
||||
startActivity(dbIntent);
|
||||
return false;
|
||||
} else if (itemId == R.id.action_notification_management) {
|
||||
final Intent blIntent = new Intent(this, NotificationManagementActivity.class);
|
||||
startActivity(blIntent);
|
||||
return false;
|
||||
} else if (itemId == R.id.device_action_discover) {
|
||||
launchDiscoveryActivity();
|
||||
return false;
|
||||
} else if (itemId == R.id.action_quit) {
|
||||
GBApplication.quit();
|
||||
return false;
|
||||
} else if (itemId == R.id.donation_link) {
|
||||
final Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("https://liberapay.com/Gadgetbridge")); //TODO: centralize if ever used somewhere else
|
||||
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
startActivity(i);
|
||||
return false;
|
||||
} else if (itemId == R.id.external_changelog) {
|
||||
final GBChangeLog cl = createChangeLog();
|
||||
try {
|
||||
if (cl.hasChanges(false)) {
|
||||
cl.getMaterialLogDialog().show();
|
||||
} else {
|
||||
cl.getMaterialFullLogDialog().show();
|
||||
}
|
||||
return false;
|
||||
case R.id.about:
|
||||
Intent aboutIntent = new Intent(this, AboutActivity.class);
|
||||
startActivity(aboutIntent);
|
||||
return false;
|
||||
} catch (Exception ignored) {
|
||||
GB.toast(getBaseContext(), getString(R.string.error_showing_changelog), Toast.LENGTH_LONG, GB.ERROR);
|
||||
}
|
||||
return false;
|
||||
} else if (itemId == R.id.about) {
|
||||
final Intent aboutIntent = new Intent(this, AboutActivity.class);
|
||||
startActivity(aboutIntent);
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
return false; // we do not want the drawer menu item to get selected
|
||||
}
|
||||
|
||||
private GBChangeLog createChangeLog() {
|
||||
|
@ -175,13 +175,13 @@ public class DashboardFragment extends Fragment {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case R.id.dashboard_show_calendar:
|
||||
Intent intent = new Intent(requireActivity(), DashboardCalendarActivity.class);
|
||||
intent.putExtra(DashboardCalendarActivity.EXTRA_TIMESTAMP, day.getTimeInMillis());
|
||||
startActivityForResult(intent, 0);
|
||||
return false;
|
||||
public boolean onOptionsItemSelected(@NonNull final MenuItem item) {
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == R.id.dashboard_show_calendar) {
|
||||
final Intent intent = new Intent(requireActivity(), DashboardCalendarActivity.class);
|
||||
intent.putExtra(DashboardCalendarActivity.EXTRA_TIMESTAMP, day.getTimeInMillis());
|
||||
startActivityForResult(intent, 0);
|
||||
return false;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
@ -1014,11 +1014,11 @@ public class DebugActivity extends AbstractGBActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
return true;
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
@ -227,11 +227,11 @@ public class ExternalPebbleJSActivity extends AbstractGBActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
return true;
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
@ -289,11 +289,11 @@ public class FwAppInstallerActivity extends AbstractGBActivity implements Instal
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
return true;
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
@ -33,12 +33,11 @@ import android.widget.TextView;
|
||||
import android.widget.TimePicker;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
@ -51,12 +50,9 @@ import nodomain.freeyourgadget.gadgetbridge.database.DBHelper;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
|
||||
import nodomain.freeyourgadget.gadgetbridge.entities.Reminder;
|
||||
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.DeviceHelper;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.GB;
|
||||
|
||||
public class ReminderDetails extends AbstractGBActivity implements TimePickerDialog.OnTimeSetListener, DatePickerDialog.OnDateSetListener {
|
||||
private static final Logger LOG = LoggerFactory.getLogger(ReminderDetails.class);
|
||||
|
||||
private Reminder reminder;
|
||||
private GBDevice device;
|
||||
|
||||
@ -168,13 +164,13 @@ public class ReminderDetails extends AbstractGBActivity implements TimePickerDia
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
// back button
|
||||
// TODO confirm when exiting without saving
|
||||
finish();
|
||||
return true;
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
// back button
|
||||
// TODO confirm when exiting without saving
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
@ -184,13 +180,13 @@ public class ReminderDetails extends AbstractGBActivity implements TimePickerDia
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onSaveInstanceState(Bundle state) {
|
||||
protected void onSaveInstanceState(@NonNull final Bundle state) {
|
||||
super.onSaveInstanceState(state);
|
||||
state.putSerializable("reminder", reminder);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onRestoreInstanceState(Bundle savedInstanceState) {
|
||||
protected void onRestoreInstanceState(@NonNull final Bundle savedInstanceState) {
|
||||
super.onRestoreInstanceState(savedInstanceState);
|
||||
reminder = (Reminder) savedInstanceState.getSerializable("reminder");
|
||||
updateUiFromReminder();
|
||||
|
@ -81,27 +81,20 @@ public class WidgetAlarmsActivity extends Activity implements View.OnClickListen
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
||||
switch (v.getId()) {
|
||||
case R.id.alarm1:
|
||||
setAlarm(5);
|
||||
break;
|
||||
case R.id.alarm2:
|
||||
setAlarm(10);
|
||||
break;
|
||||
case R.id.alarm3:
|
||||
setAlarm(20);
|
||||
break;
|
||||
case R.id.alarm4:
|
||||
setAlarm(60);
|
||||
break;
|
||||
case R.id.alarm5:
|
||||
setAlarm(0);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
public void onClick(final View v) {
|
||||
final int viewId = v.getId();
|
||||
if (viewId == R.id.alarm1) {
|
||||
setAlarm(5);
|
||||
} else if (viewId == R.id.alarm2) {
|
||||
setAlarm(10);
|
||||
} else if (viewId == R.id.alarm3) {
|
||||
setAlarm(20);
|
||||
} else if (viewId == R.id.alarm4) {
|
||||
setAlarm(60);
|
||||
} else if (viewId == R.id.alarm5) {
|
||||
setAlarm(0);
|
||||
}
|
||||
|
||||
//this is to prevent screen flashing during closing
|
||||
new Handler().postDelayed(new Runnable() {
|
||||
@Override
|
||||
|
@ -29,12 +29,11 @@ import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.TimeZone;
|
||||
|
||||
import nodomain.freeyourgadget.gadgetbridge.R;
|
||||
@ -42,13 +41,10 @@ import nodomain.freeyourgadget.gadgetbridge.database.DBHelper;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
|
||||
import nodomain.freeyourgadget.gadgetbridge.entities.WorldClock;
|
||||
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.DeviceHelper;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.GB;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.StringUtils;
|
||||
|
||||
public class WorldClockDetails extends AbstractGBActivity {
|
||||
private static final Logger LOG = LoggerFactory.getLogger(WorldClockDetails.class);
|
||||
|
||||
private WorldClock worldClock;
|
||||
private GBDevice device;
|
||||
|
||||
@ -80,6 +76,12 @@ public class WorldClockDetails extends AbstractGBActivity {
|
||||
worldClockCode = findViewById(R.id.world_clock_code);
|
||||
|
||||
device = getIntent().getParcelableExtra(GBDevice.EXTRA_DEVICE);
|
||||
if (device == null) {
|
||||
GB.toast("No device provided to WorldClockDetails Activity", Toast.LENGTH_LONG, GB.ERROR);
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
|
||||
final DeviceCoordinator coordinator = device.getDeviceCoordinator();
|
||||
|
||||
final String[] timezoneIDs = TimeZone.getAvailableIDs();
|
||||
@ -153,13 +155,13 @@ public class WorldClockDetails extends AbstractGBActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
// back button
|
||||
// TODO confirm when exiting without saving
|
||||
finish();
|
||||
return true;
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
// back button
|
||||
// TODO confirm when exiting without saving
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
@ -169,13 +171,13 @@ public class WorldClockDetails extends AbstractGBActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onSaveInstanceState(Bundle state) {
|
||||
protected void onSaveInstanceState(@NonNull final Bundle state) {
|
||||
super.onSaveInstanceState(state);
|
||||
state.putSerializable("worldClock", worldClock);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onRestoreInstanceState(Bundle savedInstanceState) {
|
||||
protected void onRestoreInstanceState(@NonNull final Bundle savedInstanceState) {
|
||||
super.onRestoreInstanceState(savedInstanceState);
|
||||
worldClock = (WorldClock) savedInstanceState.getSerializable("worldClock");
|
||||
updateUiFromWorldClock();
|
||||
|
@ -577,94 +577,91 @@ public abstract class AbstractAppManagerFragment extends Fragment {
|
||||
return true;
|
||||
}
|
||||
|
||||
private boolean onContextItemSelected(MenuItem item, GBDeviceApp selectedApp) {
|
||||
File appCacheDir;
|
||||
private boolean onContextItemSelected(final MenuItem item, final GBDeviceApp selectedApp) {
|
||||
final File appCacheDir;
|
||||
try {
|
||||
appCacheDir = mCoordinator.getAppCacheDir();
|
||||
} catch (IOException e) {
|
||||
} catch (final IOException e) {
|
||||
LOG.warn("could not get external dir while trying to access app cache.");
|
||||
return true;
|
||||
}
|
||||
switch (item.getItemId()) {
|
||||
case R.id.appmanager_app_delete_cache:
|
||||
deleteAppConfirm(selectedApp, true);
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == R.id.appmanager_app_delete_cache) {
|
||||
deleteAppConfirm(selectedApp, true);
|
||||
return true;
|
||||
} else if (itemId == R.id.appmanager_app_delete) {
|
||||
deleteAppConfirm(selectedApp, false);
|
||||
return true;
|
||||
} else if (itemId == R.id.appmanager_app_start || itemId == R.id.appmanager_watchface_activate) {
|
||||
GBApplication.deviceService(mGBDevice).onAppStart(selectedApp.getUUID(), true);
|
||||
return true;
|
||||
} else if (itemId == R.id.appmanager_app_download) {
|
||||
GBApplication.deviceService(mGBDevice).onAppDownload(selectedApp.getUUID());
|
||||
GB.toast(requireContext().getString(R.string.appmanager_download_started), Toast.LENGTH_LONG, GB.INFO);
|
||||
return true;
|
||||
} else if (itemId == R.id.appmanager_app_reinstall) {
|
||||
final File cachePath = new File(appCacheDir, selectedApp.getUUID() + mCoordinator.getAppFileExtension());
|
||||
GBApplication.deviceService(mGBDevice).onInstallApp(Uri.fromFile(cachePath));
|
||||
return true;
|
||||
} else if (itemId == R.id.appmanager_app_share) {
|
||||
final File origFilePath = new File(appCacheDir, selectedApp.getUUID() + mCoordinator.getAppFileExtension());
|
||||
final File appTempDir = new File(appCacheDir, "temp_sharing");
|
||||
final File sharedAppFile = new File(appTempDir, selectedApp.getName() + mCoordinator.getAppFileExtension());
|
||||
try {
|
||||
appTempDir.mkdirs();
|
||||
FileUtils.copyFile(origFilePath, sharedAppFile);
|
||||
} catch (final IOException e) {
|
||||
return true;
|
||||
case R.id.appmanager_app_delete:
|
||||
deleteAppConfirm(selectedApp, false);
|
||||
return true;
|
||||
case R.id.appmanager_app_start:
|
||||
case R.id.appmanager_watchface_activate:
|
||||
GBApplication.deviceService(mGBDevice).onAppStart(selectedApp.getUUID(), true);
|
||||
return true;
|
||||
case R.id.appmanager_app_download:
|
||||
GBApplication.deviceService(mGBDevice).onAppDownload(selectedApp.getUUID());
|
||||
GB.toast(getContext().getString(R.string.appmanager_download_started), Toast.LENGTH_LONG, GB.INFO);
|
||||
return true;
|
||||
case R.id.appmanager_app_reinstall:
|
||||
File cachePath = new File(appCacheDir, selectedApp.getUUID() + mCoordinator.getAppFileExtension());
|
||||
GBApplication.deviceService(mGBDevice).onInstallApp(Uri.fromFile(cachePath));
|
||||
return true;
|
||||
case R.id.appmanager_app_share:
|
||||
File origFilePath = new File(appCacheDir, selectedApp.getUUID() + mCoordinator.getAppFileExtension());
|
||||
File appTempDir = new File(appCacheDir, "temp_sharing");
|
||||
File sharedAppFile = new File(appTempDir, selectedApp.getName() + mCoordinator.getAppFileExtension());
|
||||
try {
|
||||
appTempDir.mkdirs();
|
||||
FileUtils.copyFile(origFilePath, sharedAppFile);
|
||||
} catch (IOException e) {
|
||||
return true;
|
||||
}
|
||||
Uri contentUri = FileProvider.getUriForFile(getContext(),getContext().getApplicationContext().getPackageName() + ".screenshot_provider", sharedAppFile);
|
||||
Intent shareIntent = new Intent(Intent.ACTION_SEND);
|
||||
shareIntent.putExtra(Intent.EXTRA_STREAM, contentUri);
|
||||
shareIntent.setType("*/*");
|
||||
try {
|
||||
startActivity(Intent.createChooser(shareIntent, null));
|
||||
} catch (ActivityNotFoundException e) {
|
||||
LOG.warn("Sharing watchface failed", e);
|
||||
}
|
||||
return true;
|
||||
case R.id.appmanager_health_activate:
|
||||
GBApplication.deviceService(mGBDevice).onInstallApp(Uri.parse("fake://health"));
|
||||
return true;
|
||||
case R.id.appmanager_hrm_activate:
|
||||
GBApplication.deviceService(mGBDevice).onInstallApp(Uri.parse("fake://hrm"));
|
||||
return true;
|
||||
case R.id.appmanager_weather_activate:
|
||||
GBApplication.deviceService(mGBDevice).onInstallApp(Uri.parse("fake://weather"));
|
||||
return true;
|
||||
case R.id.appmanager_health_deactivate:
|
||||
case R.id.appmanager_hrm_deactivate:
|
||||
case R.id.appmanager_weather_deactivate:
|
||||
GBApplication.deviceService(mGBDevice).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(mGBDevice).onAppStart(selectedApp.getUUID(), true);
|
||||
}
|
||||
final Uri contentUri = FileProvider.getUriForFile(requireContext(), requireContext().getApplicationContext().getPackageName() + ".screenshot_provider", sharedAppFile);
|
||||
final Intent shareIntent = new Intent(Intent.ACTION_SEND);
|
||||
shareIntent.putExtra(Intent.EXTRA_STREAM, contentUri);
|
||||
shareIntent.setType("*/*");
|
||||
try {
|
||||
startActivity(Intent.createChooser(shareIntent, null));
|
||||
} catch (ActivityNotFoundException e) {
|
||||
LOG.warn("Sharing watchface failed", e);
|
||||
}
|
||||
return true;
|
||||
} else if (itemId == R.id.appmanager_health_activate) {
|
||||
GBApplication.deviceService(mGBDevice).onInstallApp(Uri.parse("fake://health"));
|
||||
return true;
|
||||
} else if (itemId == R.id.appmanager_hrm_activate) {
|
||||
GBApplication.deviceService(mGBDevice).onInstallApp(Uri.parse("fake://hrm"));
|
||||
return true;
|
||||
} else if (itemId == R.id.appmanager_weather_activate) {
|
||||
GBApplication.deviceService(mGBDevice).onInstallApp(Uri.parse("fake://weather"));
|
||||
return true;
|
||||
} else if (itemId == R.id.appmanager_health_deactivate || itemId == R.id.appmanager_hrm_deactivate || itemId == R.id.appmanager_weather_deactivate) {
|
||||
GBApplication.deviceService(mGBDevice).onAppDelete(selectedApp.getUUID());
|
||||
return true;
|
||||
} else if (itemId == 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;
|
||||
} else if (itemId == R.id.appmanager_app_configure) {
|
||||
GBApplication.deviceService(mGBDevice).onAppStart(selectedApp.getUUID(), true);
|
||||
|
||||
Intent startIntent = new Intent(getContext().getApplicationContext(), ExternalPebbleJSActivity.class);
|
||||
startIntent.putExtra(DeviceService.EXTRA_APP_UUID, selectedApp.getUUID());
|
||||
startIntent.putExtra(GBDevice.EXTRA_DEVICE, mGBDevice);
|
||||
startIntent.putExtra(ExternalPebbleJSActivity.SHOW_CONFIG, true);
|
||||
startActivity(startIntent);
|
||||
return true;
|
||||
case R.id.appmanager_app_openinstore:
|
||||
String url = "https://apps.rebble.io/en_US/search/" + ((selectedApp.getType() == GBDeviceApp.Type.WATCHFACE) ? "watchfaces" : "watchapps") + "/1/?native=true&?query=" + Uri.encode(selectedApp.getName());
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW);
|
||||
intent.setData(Uri.parse(url));
|
||||
startActivity(intent);
|
||||
return true;
|
||||
case R.id.appmanager_app_edit:
|
||||
Intent editWatchfaceIntent = new Intent(getContext(), watchfaceDesignerActivity);
|
||||
editWatchfaceIntent.putExtra(GBDevice.EXTRA_DEVICE, mGBDevice);
|
||||
editWatchfaceIntent.putExtra(GBDevice.EXTRA_UUID, selectedApp.getUUID().toString());
|
||||
startActivityForResult(editWatchfaceIntent, CHILD_ACTIVITY_WATCHFACE_EDITOR);
|
||||
return true;
|
||||
default:
|
||||
return super.onContextItemSelected(item);
|
||||
final Intent startIntent = new Intent(getContext().getApplicationContext(), ExternalPebbleJSActivity.class);
|
||||
startIntent.putExtra(DeviceService.EXTRA_APP_UUID, selectedApp.getUUID());
|
||||
startIntent.putExtra(GBDevice.EXTRA_DEVICE, mGBDevice);
|
||||
startIntent.putExtra(ExternalPebbleJSActivity.SHOW_CONFIG, true);
|
||||
startActivity(startIntent);
|
||||
return true;
|
||||
} else if (itemId == R.id.appmanager_app_openinstore) {
|
||||
final String url = "https://apps.rebble.io/en_US/search/" + ((selectedApp.getType() == GBDeviceApp.Type.WATCHFACE) ? "watchfaces" : "watchapps") + "/1/?native=true&?query=" + Uri.encode(selectedApp.getName());
|
||||
final Intent intent = new Intent(Intent.ACTION_VIEW);
|
||||
intent.setData(Uri.parse(url));
|
||||
startActivity(intent);
|
||||
return true;
|
||||
} else if (itemId == R.id.appmanager_app_edit) {
|
||||
final Intent editWatchfaceIntent = new Intent(getContext(), watchfaceDesignerActivity);
|
||||
editWatchfaceIntent.putExtra(GBDevice.EXTRA_DEVICE, mGBDevice);
|
||||
editWatchfaceIntent.putExtra(GBDevice.EXTRA_UUID, selectedApp.getUUID().toString());
|
||||
startActivityForResult(editWatchfaceIntent, CHILD_ACTIVITY_WATCHFACE_EDITOR);
|
||||
return true;
|
||||
}
|
||||
|
||||
return super.onContextItemSelected(item);
|
||||
}
|
||||
|
||||
private void deleteAppConfirm(final GBDeviceApp selectedApp, final boolean deleteFromCache) {
|
||||
|
@ -162,11 +162,11 @@ public class AppManagerActivity extends AbstractGBFragmentActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
return true;
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
@ -142,12 +142,12 @@ public class WidgetScreenDetailsActivity extends AbstractGBActivity {
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
// back button
|
||||
// TODO confirm when exiting without saving
|
||||
finish();
|
||||
return true;
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
// back button
|
||||
// TODO confirm when exiting without saving
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
@ -139,12 +139,12 @@ public class WidgetScreensListActivity extends AbstractGBActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
// back button
|
||||
finish();
|
||||
return true;
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
// back button
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
@ -857,54 +857,55 @@ public class GBDeviceAdapterv2 extends ListAdapter<GBDevice, GBDeviceAdapterv2.V
|
||||
|
||||
menu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem item) {
|
||||
switch (item.getItemId()){
|
||||
case R.id.controlcenter_device_submenu_connect:
|
||||
if (device.getState() != GBDevice.State.CONNECTED) {
|
||||
showTransientSnackbar(R.string.controlcenter_snackbar_connecting);
|
||||
handleDeviceConnect(device);
|
||||
}
|
||||
return true;
|
||||
case R.id.controlcenter_device_submenu_disconnect:
|
||||
if (device.getState() != GBDevice.State.NOT_CONNECTED) {
|
||||
showTransientSnackbar(R.string.controlcenter_snackbar_disconnecting);
|
||||
GBApplication.deviceService(device).disconnect();
|
||||
}
|
||||
removeFromLastDeviceAddressesPref(device);
|
||||
return true;
|
||||
case R.id.controlcenter_device_submenu_set_alias:
|
||||
showSetAliasDialog(device);
|
||||
return true;
|
||||
case R.id.controlcenter_device_submenu_remove:
|
||||
showRemoveDeviceDialog(device);
|
||||
return true;
|
||||
case R.id.controlcenter_device_submenu_show_details:
|
||||
final String previouslyExpandedDeviceAddress = expandedDeviceAddress;
|
||||
expandedDeviceAddress = detailsShown ? "" : device.getAddress();
|
||||
public boolean onMenuItemClick(final MenuItem item) {
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == R.id.controlcenter_device_submenu_connect) {
|
||||
if (device.getState() != GBDevice.State.CONNECTED) {
|
||||
showTransientSnackbar(R.string.controlcenter_snackbar_connecting);
|
||||
handleDeviceConnect(device);
|
||||
}
|
||||
return true;
|
||||
} else if (itemId == R.id.controlcenter_device_submenu_disconnect) {
|
||||
if (device.getState() != GBDevice.State.NOT_CONNECTED) {
|
||||
showTransientSnackbar(R.string.controlcenter_snackbar_disconnecting);
|
||||
GBApplication.deviceService(device).disconnect();
|
||||
}
|
||||
removeFromLastDeviceAddressesPref(device);
|
||||
return true;
|
||||
} else if (itemId == R.id.controlcenter_device_submenu_set_alias) {
|
||||
showSetAliasDialog(device);
|
||||
return true;
|
||||
} else if (itemId == R.id.controlcenter_device_submenu_remove) {
|
||||
showRemoveDeviceDialog(device);
|
||||
return true;
|
||||
} else if (itemId == R.id.controlcenter_device_submenu_show_details) {
|
||||
final String previouslyExpandedDeviceAddress = expandedDeviceAddress;
|
||||
expandedDeviceAddress = detailsShown ? "" : device.getAddress();
|
||||
|
||||
if (!previouslyExpandedDeviceAddress.isEmpty()) {
|
||||
// Notify the previously expanded device for a change (collapsing it)
|
||||
for (int i = 0; i < devicesListWithFolders.size(); i++) {
|
||||
final GBDevice gbDevice = devicesListWithFolders.get(i);
|
||||
if (gbDevice.getAddress().equals(previouslyExpandedDeviceAddress)) {
|
||||
notifyItemChanged(devicesListWithFolders.indexOf(gbDevice));
|
||||
break;
|
||||
}
|
||||
if (!previouslyExpandedDeviceAddress.isEmpty()) {
|
||||
// Notify the previously expanded device for a change (collapsing it)
|
||||
for (int i = 0; i < devicesListWithFolders.size(); i++) {
|
||||
final GBDevice gbDevice = devicesListWithFolders.get(i);
|
||||
if (gbDevice.getAddress().equals(previouslyExpandedDeviceAddress)) {
|
||||
notifyItemChanged(devicesListWithFolders.indexOf(gbDevice));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Update the current one
|
||||
notifyItemChanged(devicesListWithFolders.indexOf(device));
|
||||
return true;
|
||||
case R.id.controlcenter_device_submenu_set_parent_folder:
|
||||
showSetParentFolderDialog(device);
|
||||
return true;
|
||||
case R.id.controlcenter_device_submenu_installer:
|
||||
Intent openFwIntent = new Intent(context, OpenFwAppInstallerActivity.class);
|
||||
openFwIntent.putExtra(GBDevice.EXTRA_DEVICE, device);
|
||||
context.startActivity(openFwIntent);
|
||||
return false;
|
||||
// Update the current one
|
||||
notifyItemChanged(devicesListWithFolders.indexOf(device));
|
||||
return true;
|
||||
} else if (itemId == R.id.controlcenter_device_submenu_set_parent_folder) {
|
||||
showSetParentFolderDialog(device);
|
||||
return true;
|
||||
} else if (itemId == R.id.controlcenter_device_submenu_installer) {
|
||||
Intent openFwIntent = new Intent(context, OpenFwAppInstallerActivity.class);
|
||||
openFwIntent.putExtra(GBDevice.EXTRA_DEVICE, device);
|
||||
context.startActivity(openFwIntent);
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
@ -21,6 +21,7 @@ import android.os.Bundle;
|
||||
import android.text.InputType;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.preference.EditTextPreference;
|
||||
import androidx.preference.ListPreference;
|
||||
import androidx.preference.Preference;
|
||||
@ -68,7 +69,7 @@ public class HybridHRWatchfaceSettingsActivity extends AbstractSettingsActivityV
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
public boolean onOptionsItemSelected(@NonNull final MenuItem item) {
|
||||
if (item.getItemId() == android.R.id.home) {
|
||||
// Action bar back button
|
||||
Intent output = new Intent();
|
||||
|
@ -21,6 +21,7 @@ import android.os.Bundle;
|
||||
import android.text.InputType;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.preference.EditTextPreference;
|
||||
import androidx.preference.ListPreference;
|
||||
import androidx.preference.Preference;
|
||||
@ -84,7 +85,7 @@ public class HybridHRWatchfaceWidgetActivity extends AbstractSettingsActivityV2
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
public boolean onOptionsItemSelected(@NonNull final MenuItem item) {
|
||||
if (item.getItemId() == android.R.id.home) {
|
||||
// Action bar back button
|
||||
Intent output = new Intent();
|
||||
|
@ -550,10 +550,10 @@ public class QHybridConfigActivity extends AbstractGBActivity {
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(@NonNull final MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
this.onBackPressed();
|
||||
return true;
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
this.onBackPressed();
|
||||
return true;
|
||||
}
|
||||
|
||||
return super.onOptionsItemSelected(item);
|
||||
|
@ -42,8 +42,8 @@ public class WithingsCalibrationActivity extends AbstractGBActivity {
|
||||
MINUTES((short)0),
|
||||
ACTIVITY_TARGET((short)2);
|
||||
|
||||
private short code;
|
||||
private Hands(short code) {
|
||||
private final short code;
|
||||
Hands(short code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
@ -51,8 +51,8 @@ public class WithingsCalibrationActivity extends AbstractGBActivity {
|
||||
|
||||
private GBDevice device;
|
||||
private LocalBroadcastManager localBroadcastManager;
|
||||
private String[] calibrationAdvices = new String[3];
|
||||
private Hands[] hands = new Hands[]{Hands.HOURS, Hands.MINUTES, Hands.ACTIVITY_TARGET};
|
||||
private final String[] calibrationAdvices = new String[3];
|
||||
private final Hands[] hands = new Hands[]{Hands.HOURS, Hands.MINUTES, Hands.ACTIVITY_TARGET};
|
||||
private short handIndex = 0;
|
||||
private Button previousButton;
|
||||
private Button nextButton;
|
||||
@ -141,11 +141,11 @@ public class WithingsCalibrationActivity extends AbstractGBActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
finish();
|
||||
return true;
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == android.R.id.home) {
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
|
||||
return super.onOptionsItemSelected(item);
|
||||
|
@ -20,8 +20,5 @@ org.gradle.jvmargs=-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF
|
||||
android.useAndroidX=true
|
||||
android.enableJetifier=true
|
||||
|
||||
# FIXME: Migrate all switches to if statements
|
||||
android.nonFinalResIds=false
|
||||
|
||||
# FIXME: This optimizes away some classes it should not - see #3853
|
||||
android.enableR8.fullMode=false
|
||||
|
Loading…
Reference in New Issue
Block a user