aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/github/daneren2005/dsub/activity
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/github/daneren2005/dsub/activity')
-rw-r--r--app/src/main/java/github/daneren2005/dsub/activity/EditPlayActionActivity.java41
-rw-r--r--app/src/main/java/github/daneren2005/dsub/activity/QueryReceiverActivity.java6
-rw-r--r--app/src/main/java/github/daneren2005/dsub/activity/SettingsActivity.java7
-rw-r--r--app/src/main/java/github/daneren2005/dsub/activity/SubsonicActivity.java346
-rw-r--r--app/src/main/java/github/daneren2005/dsub/activity/SubsonicFragmentActivity.java260
-rw-r--r--app/src/main/java/github/daneren2005/dsub/activity/VoiceQueryReceiverActivity.java7
6 files changed, 270 insertions, 397 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/activity/EditPlayActionActivity.java b/app/src/main/java/github/daneren2005/dsub/activity/EditPlayActionActivity.java
index bc56eeb7..9423eb38 100644
--- a/app/src/main/java/github/daneren2005/dsub/activity/EditPlayActionActivity.java
+++ b/app/src/main/java/github/daneren2005/dsub/activity/EditPlayActionActivity.java
@@ -18,7 +18,6 @@ package github.daneren2005.dsub.activity;
import android.app.Activity;
import androidx.appcompat.app.AlertDialog;
-import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import androidx.drawerlayout.widget.DrawerLayout;
@@ -29,7 +28,6 @@ import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
-import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.Spinner;
@@ -66,33 +64,20 @@ public class EditPlayActionActivity extends SubsonicActivity {
doNothing = context.getResources().getString(R.string.tasker_edit_do_nothing);
shuffleCheckbox = (CheckBox) findViewById(R.id.edit_shuffle_checkbox);
- shuffleCheckbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton view, boolean isChecked) {
- startYearCheckbox.setEnabled(isChecked);
- endYearCheckbox.setEnabled(isChecked);
- genreButton.setEnabled(isChecked);
- }
+ shuffleCheckbox.setOnCheckedChangeListener((view, isChecked) -> {
+ startYearCheckbox.setEnabled(isChecked);
+ endYearCheckbox.setEnabled(isChecked);
+ genreButton.setEnabled(isChecked);
});
startYearCheckbox = (CheckBox) findViewById(R.id.edit_start_year_checkbox);
startYearBox = (EditText) findViewById(R.id.edit_start_year);
// Disable/enable number box if checked
- startYearCheckbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton view, boolean isChecked) {
- startYearBox.setEnabled(isChecked);
- }
- });
+ startYearCheckbox.setOnCheckedChangeListener((view, isChecked) -> startYearBox.setEnabled(isChecked));
endYearCheckbox = (CheckBox) findViewById(R.id.edit_end_year_checkbox);
endYearBox = (EditText) findViewById(R.id.edit_end_year);
- endYearCheckbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton view, boolean isChecked) {
- endYearBox.setEnabled(isChecked);
- }
- });
+ endYearCheckbox.setOnCheckedChangeListener((view, isChecked) -> endYearBox.setEnabled(isChecked));
genreButton = (Button) findViewById(R.id.edit_genre_spinner);
genreButton.setOnClickListener(new View.OnClickListener() {
@@ -106,7 +91,7 @@ public class EditPlayActionActivity extends SubsonicActivity {
@Override
protected void done(final List<Genre> genres) {
- List<String> names = new ArrayList<String>();
+ List<String> names = new ArrayList<>();
String blank = context.getResources().getString(R.string.select_genre_blank);
names.add(doNothing);
names.add(blank);
@@ -117,13 +102,11 @@ public class EditPlayActionActivity extends SubsonicActivity {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(R.string.shuffle_pick_genre)
- .setItems(names.toArray(new CharSequence[names.size()]), new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int which) {
- if(which == 1) {
- genreButton.setText("");
- } else {
- genreButton.setText(finalNames.get(which));
- }
+ .setItems(names.toArray(new CharSequence[0]), (dialog, which) -> {
+ if(which == 1) {
+ genreButton.setText("");
+ } else {
+ genreButton.setText(finalNames.get(which));
}
});
AlertDialog dialog = builder.create();
diff --git a/app/src/main/java/github/daneren2005/dsub/activity/QueryReceiverActivity.java b/app/src/main/java/github/daneren2005/dsub/activity/QueryReceiverActivity.java
index 68f46599..eb149b58 100644
--- a/app/src/main/java/github/daneren2005/dsub/activity/QueryReceiverActivity.java
+++ b/app/src/main/java/github/daneren2005/dsub/activity/QueryReceiverActivity.java
@@ -23,13 +23,9 @@ import android.app.Activity;
import android.app.SearchManager;
import android.content.Intent;
import android.os.Bundle;
-import android.provider.SearchRecentSuggestions;
-import android.util.Log;
-import github.daneren2005.dsub.fragments.SubsonicFragment;
import github.daneren2005.dsub.util.Constants;
import github.daneren2005.dsub.util.Util;
-import github.daneren2005.dsub.provider.DSubSearchProvider;
/**
* Receives search queries and forwards to the SearchFragment.
@@ -38,8 +34,6 @@ import github.daneren2005.dsub.provider.DSubSearchProvider;
*/
public class QueryReceiverActivity extends Activity {
- private static final String TAG = QueryReceiverActivity.class.getSimpleName();
-
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
diff --git a/app/src/main/java/github/daneren2005/dsub/activity/SettingsActivity.java b/app/src/main/java/github/daneren2005/dsub/activity/SettingsActivity.java
index fb5a0169..520ddf10 100644
--- a/app/src/main/java/github/daneren2005/dsub/activity/SettingsActivity.java
+++ b/app/src/main/java/github/daneren2005/dsub/activity/SettingsActivity.java
@@ -18,8 +18,6 @@
*/
package github.daneren2005.dsub.activity;
-import android.annotation.TargetApi;
-import android.os.Build;
import android.os.Bundle;
import androidx.appcompat.widget.Toolbar;
@@ -29,10 +27,7 @@ import github.daneren2005.dsub.fragments.SettingsFragment;
import github.daneren2005.dsub.util.Constants;
public class SettingsActivity extends SubsonicActivity {
- private static final String TAG = SettingsActivity.class.getSimpleName();
- private PreferenceCompatFragment fragment;
- @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1)
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -40,7 +35,7 @@ public class SettingsActivity extends SubsonicActivity {
setContentView(R.layout.settings_activity);
if (savedInstanceState == null) {
- fragment = new SettingsFragment();
+ PreferenceCompatFragment fragment = new SettingsFragment();
Bundle args = new Bundle();
args.putInt(Constants.INTENT_EXTRA_FRAGMENT_TYPE, R.xml.settings);
diff --git a/app/src/main/java/github/daneren2005/dsub/activity/SubsonicActivity.java b/app/src/main/java/github/daneren2005/dsub/activity/SubsonicActivity.java
index 167f3dd7..1063c72e 100644
--- a/app/src/main/java/github/daneren2005/dsub/activity/SubsonicActivity.java
+++ b/app/src/main/java/github/daneren2005/dsub/activity/SubsonicActivity.java
@@ -19,20 +19,21 @@
package github.daneren2005.dsub.activity;
import android.Manifest;
-import android.app.UiModeManager;
+import android.annotation.SuppressLint;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
-import android.content.res.Configuration;
import android.media.AudioManager;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import com.google.android.material.navigation.NavigationView;
+
+import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.appcompat.app.ActionBarDrawerToggle;
@@ -49,10 +50,8 @@ import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
-import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
-import android.view.Window;
import android.view.WindowManager;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
@@ -67,6 +66,7 @@ import java.io.File;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
+import java.util.Objects;
import github.daneren2005.dsub.R;
import github.daneren2005.dsub.domain.ServerInfo;
@@ -103,7 +103,7 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
private boolean drawerIdle = true;
private boolean destroyed = false;
private boolean finished = false;
- protected List<SubsonicFragment> backStack = new ArrayList<SubsonicFragment>();
+ protected List<SubsonicFragment> backStack = new ArrayList<>();
protected SubsonicFragment currentFragment;
protected View primaryContainer;
protected View secondaryContainer;
@@ -111,7 +111,7 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
protected boolean touchscreen = true;
protected Handler handler = new Handler();
Spinner actionBarSpinner;
- ArrayAdapter<CharSequence> spinnerAdapter;
+ ArrayAdapter<String> spinnerAdapter;
ViewGroup rootView;
DrawerLayout drawer;
ActionBarDrawerToggle drawerToggle;
@@ -127,15 +127,11 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
SharedPreferences.OnSharedPreferenceChangeListener preferencesListener;
static {
- AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_AUTO);
+ AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM);
}
@Override
protected void onCreate(Bundle bundle) {
- UiModeManager uiModeManager = (UiModeManager) getSystemService(UI_MODE_SERVICE);
- if (uiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_TELEVISION) {
- // tv = true;
- }
PackageManager pm = getPackageManager();
if(!pm.hasSystemFeature(PackageManager.FEATURE_TOUCHSCREEN)) {
touchscreen = false;
@@ -153,30 +149,27 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
}
if(preferencesListener == null) {
- preferencesListener = new SharedPreferences.OnSharedPreferenceChangeListener() {
- @Override
- public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
- // When changing drawer settings change visibility
- switch(key) {
- case Constants.PREFERENCES_KEY_PODCASTS_ENABLED:
- setDrawerItemVisible(R.id.drawer_podcasts, false);
- break;
- case Constants.PREFERENCES_KEY_BOOKMARKS_ENABLED:
- setDrawerItemVisible(R.id.drawer_bookmarks, false);
- break;
- case Constants.PREFERENCES_KEY_INTERNET_RADIO_ENABLED:
- setDrawerItemVisible(R.id.drawer_internet_radio_stations, false);
- break;
- case Constants.PREFERENCES_KEY_SHARED_ENABLED:
- setDrawerItemVisible(R.id.drawer_shares, false);
- break;
- case Constants.PREFERENCES_KEY_CHAT_ENABLED:
- setDrawerItemVisible(R.id.drawer_chat, false);
- break;
- case Constants.PREFERENCES_KEY_ADMIN_ENABLED:
- setDrawerItemVisible(R.id.drawer_admin, false);
- break;
- }
+ preferencesListener = (sharedPreferences, key) -> {
+ // When changing drawer settings change visibility
+ switch(key) {
+ case Constants.PREFERENCES_KEY_PODCASTS_ENABLED:
+ setDrawerItemVisible(R.id.drawer_podcasts, false);
+ break;
+ case Constants.PREFERENCES_KEY_BOOKMARKS_ENABLED:
+ setDrawerItemVisible(R.id.drawer_bookmarks, false);
+ break;
+ case Constants.PREFERENCES_KEY_INTERNET_RADIO_ENABLED:
+ setDrawerItemVisible(R.id.drawer_internet_radio_stations, false);
+ break;
+ case Constants.PREFERENCES_KEY_SHARED_ENABLED:
+ setDrawerItemVisible(R.id.drawer_shares, false);
+ break;
+ case Constants.PREFERENCES_KEY_CHAT_ENABLED:
+ setDrawerItemVisible(R.id.drawer_chat, false);
+ break;
+ case Constants.PREFERENCES_KEY_ADMIN_ENABLED:
+ setDrawerItemVisible(R.id.drawer_admin, false);
+ break;
}
};
Util.getPreferences(this).registerOnSharedPreferenceChangeListener(preferencesListener);
@@ -199,22 +192,19 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
}
@Override
- public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
+ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
+ super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE: {
// If request is cancelled, the result arrays are empty.
- if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
-
- } else {
+ if (grantResults.length <= 0 || grantResults[0] != PackageManager.PERMISSION_GRANTED) {
Util.toast(this, R.string.permission_external_storage_failed);
finish();
}
}
case PERMISSIONS_REQUEST_LOCATION: {
// If request is cancelled, the result arrays are empty.
- if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
-
- } else {
+ if (grantResults.length <= 0 || grantResults[0] != PackageManager.PERMISSION_GRANTED) {
Util.toast(this, R.string.permission_location_failed);
}
}
@@ -228,7 +218,7 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
if(spinnerAdapter == null) {
createCustomActionBarView();
}
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+ Objects.requireNonNull(getSupportActionBar()).setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
// Sync the toggle state after onRestoreInstanceState has occurred.
@@ -245,15 +235,17 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
protected void createCustomActionBarView() {
actionBarSpinner = (Spinner) getLayoutInflater().inflate(R.layout.actionbar_spinner, null);
- if((this instanceof SubsonicFragmentActivity || this instanceof SettingsActivity) && (Util.getPreferences(this).getBoolean(Constants.PREFERENCES_KEY_COLOR_ACTION_BAR, true) || ThemeUtil.getThemeRes(this) != R.style.Theme_DSub_Light_No_Color)) {
- actionBarSpinner.setBackgroundDrawable(DrawableTint.getTintedDrawableFromColor(this, R.drawable.abc_spinner_mtrl_am_alpha, android.R.color.white));
+ if((this instanceof SubsonicFragmentActivity || this instanceof SettingsActivity)
+ && (Util.getPreferences(this).getBoolean(Constants.PREFERENCES_KEY_COLOR_ACTION_BAR, true)
+ || ThemeUtil.getThemeRes(this) != R.style.Theme_DSub_Light_No_Color)) {
+ actionBarSpinner.setBackground(DrawableTint.getTintedDrawableFromColor(this, R.drawable.abc_spinner_mtrl_am_alpha, android.R.color.white));
}
- spinnerAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item);
+ spinnerAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item);
spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
actionBarSpinner.setOnItemSelectedListener(this);
actionBarSpinner.setAdapter(spinnerAdapter);
- getSupportActionBar().setCustomView(actionBarSpinner);
+ Objects.requireNonNull(getSupportActionBar()).setCustomView(actionBarSpinner);
}
@Override
@@ -303,6 +295,7 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
Util.disablePendingTransition(this);
}
+ @SuppressLint("ClickableViewAccessibility")
@Override
public void setContentView(int viewId) {
if(isTv()) {
@@ -320,88 +313,79 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
}
drawerList = (NavigationView) findViewById(R.id.left_drawer);
- drawerList.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
- @Override
- public boolean onNavigationItemSelected(final MenuItem menuItem) {
- if(showingTabs) {
- // Settings are on a different selectable track
- if (menuItem.getItemId() != R.id.drawer_settings && menuItem.getItemId() != R.id.drawer_admin && menuItem.getItemId() != R.id.drawer_offline) {
+ drawerList.setNavigationItemSelectedListener(menuItem -> {
+ if(showingTabs) {
+ // Settings are on a different selectable track
+ if (menuItem.getItemId() != R.id.drawer_settings && menuItem.getItemId() != R.id.drawer_admin && menuItem.getItemId() != R.id.drawer_offline) {
+ menuItem.setChecked(true);
+ lastSelectedPosition = menuItem.getItemId();
+ }
+
+ int id = menuItem.getItemId();
+ if (id == R.id.drawer_home) {
+ drawerItemSelected("Home");
+ return true;
+ } else if (id == R.id.drawer_library) {
+ drawerItemSelected("Artist");
+ return true;
+ } else if (id == R.id.drawer_playlists) {
+ drawerItemSelected("Playlist");
+ return true;
+ } else if (id == R.id.drawer_podcasts) {
+ drawerItemSelected("Podcast");
+ return true;
+ } else if (id == R.id.drawer_bookmarks) {
+ drawerItemSelected("Bookmark");
+ return true;
+ } else if (id == R.id.drawer_internet_radio_stations) {
+ drawerItemSelected("Internet Radio");
+ return true;
+ } else if (id == R.id.drawer_shares) {
+ drawerItemSelected("Share");
+ return true;
+ } else if (id == R.id.drawer_chat) {
+ drawerItemSelected("Chat");
+ return true;
+ } else if (id == R.id.drawer_admin) {
+ if (UserUtil.isCurrentAdmin()) {
+ UserUtil.confirmCredentials(SubsonicActivity.this, () -> {
+ drawerItemSelected("Admin");
+ menuItem.setChecked(true);
+ lastSelectedPosition = menuItem.getItemId();
+ });
+ } else {
+ drawerItemSelected("Admin");
menuItem.setChecked(true);
lastSelectedPosition = menuItem.getItemId();
}
-
- switch (menuItem.getItemId()) {
- case R.id.drawer_home:
- drawerItemSelected("Home");
- return true;
- case R.id.drawer_library:
- drawerItemSelected("Artist");
- return true;
- case R.id.drawer_playlists:
- drawerItemSelected("Playlist");
- return true;
- case R.id.drawer_podcasts:
- drawerItemSelected("Podcast");
- return true;
- case R.id.drawer_bookmarks:
- drawerItemSelected("Bookmark");
- return true;
- case R.id.drawer_internet_radio_stations:
- drawerItemSelected("Internet Radio");
- return true;
- case R.id.drawer_shares:
- drawerItemSelected("Share");
- return true;
- case R.id.drawer_chat:
- drawerItemSelected("Chat");
- return true;
- case R.id.drawer_admin:
- if (UserUtil.isCurrentAdmin()) {
- UserUtil.confirmCredentials(SubsonicActivity.this, new Runnable() {
- @Override
- public void run() {
- drawerItemSelected("Admin");
- menuItem.setChecked(true);
- lastSelectedPosition = menuItem.getItemId();
- }
- });
- } else {
- drawerItemSelected("Admin");
- menuItem.setChecked(true);
- lastSelectedPosition = menuItem.getItemId();
- }
- return true;
- case R.id.drawer_downloading:
- drawerItemSelected("Download");
- return true;
- case R.id.drawer_offline:
- toggleOffline();
- return true;
- case R.id.drawer_settings:
- startActivity(new Intent(SubsonicActivity.this, SettingsActivity.class));
- drawer.closeDrawers();
- return true;
- }
- } else {
- int activeServer = menuItem.getItemId() - MENU_ITEM_SERVER_BASE;
- SubsonicActivity.this.setActiveServer(activeServer);
- populateTabs();
return true;
+ } else if (id == R.id.drawer_downloading) {
+ drawerItemSelected("Download");
+ return true;
+ } else if (id == R.id.drawer_offline) {
+ toggleOffline();
+ return true;
+ } else if (id == R.id.drawer_settings) {
+ startActivity(new Intent(SubsonicActivity.this, SettingsActivity.class));
+ drawer.closeDrawers();
+ return true;
}
-
- return false;
+ } else {
+ int activeServer = menuItem.getItemId() - MENU_ITEM_SERVER_BASE;
+ SubsonicActivity.this.setActiveServer(activeServer);
+ populateTabs();
+ return true;
}
+
+ return false;
});
drawerHeader = drawerList.inflateHeaderView(R.layout.drawer_header);
- drawerHeader.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if(showingTabs) {
- populateServers();
- } else {
- populateTabs();
- }
+ drawerHeader.setOnClickListener(v -> {
+ if(showingTabs) {
+ populateServers();
+ } else {
+ populateTabs();
}
});
@@ -448,16 +432,14 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
drawerIdle = false;
}
};
- drawer.setDrawerListener(drawerToggle);
+ drawer.addDrawerListener(drawerToggle);
drawerToggle.setDrawerIndicatorEnabled(true);
- drawer.setOnTouchListener(new View.OnTouchListener() {
- public boolean onTouch(View v, MotionEvent event) {
- if (drawerIdle && currentFragment != null && currentFragment.getGestureDetector() != null) {
- return currentFragment.getGestureDetector().onTouchEvent(event);
- } else {
- return false;
- }
+ drawer.setOnTouchListener((v, event) -> {
+ if (drawerIdle && currentFragment != null && currentFragment.getGestureDetector() != null) {
+ return currentFragment.getGestureDetector().onTouchEvent(event);
+ } else {
+ return false;
}
});
}
@@ -470,7 +452,7 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
}
@Override
- public void onSaveInstanceState(Bundle savedInstanceState) {
+ public void onSaveInstanceState(@NonNull Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
String[] ids = new String[backStack.size() + 1];
ids[0] = currentFragment.getTag();
@@ -490,17 +472,23 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
String[] ids = savedInstanceState.getStringArray(Constants.MAIN_BACK_STACK);
FragmentManager fm = getSupportFragmentManager();
currentFragment = (SubsonicFragment)fm.findFragmentByTag(ids[0]);
- currentFragment.setPrimaryFragment(true);
- currentFragment.setSupportTag(ids[0]);
+ if (currentFragment != null) {
+ currentFragment.setPrimaryFragment(true);
+ currentFragment.setSupportTag(ids[0]);
+ }
supportInvalidateOptionsMenu();
FragmentTransaction trans = getSupportFragmentManager().beginTransaction();
for(int i = 1; i < size; i++) {
SubsonicFragment frag = (SubsonicFragment)fm.findFragmentByTag(ids[i]);
- frag.setSupportTag(ids[i]);
- if(secondaryContainer != null) {
+ if (frag != null) {
+ frag.setSupportTag(ids[i]);
+ }
+ if(frag != null && secondaryContainer != null) {
frag.setPrimaryFragment(false, true);
}
- trans.hide(frag);
+ if(frag != null) {
+ trans.hide(frag);
+ }
backStack.add(frag);
}
trans.commit();
@@ -599,7 +587,7 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
}
}
public void setSubtitle(CharSequence title) {
- getSupportActionBar().setSubtitle(title);
+ Objects.requireNonNull(getSupportActionBar()).setSubtitle(title);
}
@Override
@@ -771,10 +759,12 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
currentFragment.setPrimaryFragment(true);
supportInvalidateOptionsMenu();
- if(secondaryContainer == null || oldFragment.isAlwaysFullscreen() || currentFragment.isAlwaysStartFullscreen()) {
+ if(secondaryContainer == null || Objects.requireNonNull(oldFragment).isAlwaysFullscreen() || currentFragment.isAlwaysStartFullscreen()) {
FragmentTransaction trans = getSupportFragmentManager().beginTransaction();
trans.setCustomAnimations(R.anim.enter_from_right, R.anim.exit_to_left, R.anim.enter_from_left, R.anim.exit_to_right);
- trans.hide(oldFragment);
+ if (oldFragment != null) {
+ trans.hide(oldFragment);
+ }
trans.add(R.id.fragment_container, fragment, tag + "");
trans.commit();
} else {
@@ -787,9 +777,9 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
if(backStack.size() > 1) {
// Move old right to left if there is a backstack already
SubsonicFragment newLeftFragment = backStack.get(backStack.size() - 1);
- if(replaceCurrent) {
- // trans.setCustomAnimations(R.anim.enter_from_right, R.anim.exit_to_left, R.anim.enter_from_left, R.anim.exit_to_right);
- }
+// if(replaceCurrent) {
+// trans.setCustomAnimations(R.anim.enter_from_right, R.anim.exit_to_left, R.anim.enter_from_left, R.anim.exit_to_right);
+// }
trans.remove(newLeftFragment);
// Only move right to left if replaceCurrent is false
@@ -911,7 +901,7 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
if(currentFragment == null || currentFragment.getTitle() == null) {
return;
}
- if(spinnerAdapter == null || getSupportActionBar().getCustomView() == null) {
+ if(spinnerAdapter == null || Objects.requireNonNull(getSupportActionBar()).getCustomView() == null) {
createCustomActionBarView();
}
@@ -921,30 +911,30 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
for(int i = 0; i < backStack.size(); i++) {
CharSequence title = backStack.get(i).getTitle();
if(title != null) {
- spinnerAdapter.add(title);
+ spinnerAdapter.add(title.toString());
} else {
spinnerAdapter.add("null");
}
}
if(currentFragment.getTitle() != null) {
- spinnerAdapter.add(currentFragment.getTitle());
+ spinnerAdapter.add(currentFragment.getTitle().toString());
} else {
spinnerAdapter.add("null");
}
spinnerAdapter.notifyDataSetChanged();
actionBarSpinner.setSelection(spinnerAdapter.getCount() - 1);
if(!isTv()) {
- getSupportActionBar().setDisplayShowTitleEnabled(false);
+ Objects.requireNonNull(getSupportActionBar()).setDisplayShowTitleEnabled(false);
getSupportActionBar().setDisplayShowCustomEnabled(true);
}
if(drawerToggle.isDrawerIndicatorEnabled()) {
- getSupportActionBar().setDisplayHomeAsUpEnabled(false);
+ Objects.requireNonNull(getSupportActionBar()).setDisplayHomeAsUpEnabled(false);
drawerToggle.setDrawerIndicatorEnabled(false);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
} else if(!isTv()) {
- getSupportActionBar().setDisplayShowTitleEnabled(true);
+ Objects.requireNonNull(getSupportActionBar()).setDisplayShowTitleEnabled(true);
getSupportActionBar().setTitle(currentFragment.getTitle());
getSupportActionBar().setDisplayShowCustomEnabled(false);
drawerToggle.setDrawerIndicatorEnabled(true);
@@ -971,7 +961,7 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
private void applyTheme() {
theme = ThemeUtil.getTheme(this);
- if(theme != null && theme.indexOf("fullscreen") != -1) {
+ if(theme != null && theme.contains("fullscreen")) {
theme = theme.substring(0, theme.indexOf("_fullscreen"));
ThemeUtil.setTheme(this, theme);
}
@@ -983,15 +973,11 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
fullScreen = Util.getPreferences(this).getBoolean(Constants.PREFERENCES_KEY_FULL_SCREEN, false);
if(fullScreen || isTv()) {
// Hide additional elements on higher Android versions
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
- int flags = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
- View.SYSTEM_UI_FLAG_FULLSCREEN |
- View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
-
- getWindow().getDecorView().setSystemUiVisibility(flags);
- } else if(Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
- getWindow().requestFeature(Window.FEATURE_NO_TITLE);
- }
+ int flags = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
+ View.SYSTEM_UI_FLAG_FULLSCREEN |
+ View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
+
+ getWindow().getDecorView().setSystemUiVisibility(flags);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
}
@@ -1048,12 +1034,7 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
}
private void checkIfServiceAvailable() {
if(getDownloadService() == null) {
- handler.postDelayed(new Runnable() {
- @Override
- public void run() {
- checkIfServiceAvailable();
- }
- }, 50);
+ handler.postDelayed(this::checkIfServiceAvailable, 50);
} else if(afterServiceAvailable.size() > 0) {
for(Runnable runnable: afterServiceAvailable) {
handler.post(runnable);
@@ -1086,7 +1067,7 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
if (service != null) {
new SilentBackgroundTask<Void>(this) {
@Override
- protected Void doInBackground() throws Throwable {
+ protected Void doInBackground() {
service.clearIncomplete();
return null;
}
@@ -1159,28 +1140,17 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
.setTitle(R.string.offline_sync_dialog_title)
.setMessage(this.getResources().getString(R.string.offline_sync_dialog_message, scrobbleCount, starsCount))
.setView(checkBoxView)
- .setPositiveButton(R.string.common_ok, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- if(checkBox.isChecked()) {
- Util.setSyncDefault(SubsonicActivity.this, "sync");
- }
- syncOffline(scrobbleCount, starsCount);
+ .setPositiveButton(R.string.common_ok, (dialogInterface, i) -> {
+ if(checkBox.isChecked()) {
+ Util.setSyncDefault(SubsonicActivity.this, "sync");
}
- }).setNeutralButton(R.string.common_cancel, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- dialogInterface.dismiss();
- }
- }).setNegativeButton(R.string.common_delete, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- if (checkBox.isChecked()) {
- Util.setSyncDefault(SubsonicActivity.this, "delete");
- }
- deleteOffline();
- }
- });
+ syncOffline(scrobbleCount, starsCount);
+ }).setNeutralButton(R.string.common_cancel, (dialogInterface, i) -> dialogInterface.dismiss()).setNegativeButton(R.string.common_delete, (dialogInterface, i) -> {
+ if (checkBox.isChecked()) {
+ Util.setSyncDefault(SubsonicActivity.this, "delete");
+ }
+ deleteOffline();
+ });
builder.create().show();
}
@@ -1214,7 +1184,7 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
SharedPreferences.Editor offline = Util.getOfflineSync(this).edit();
offline.putInt(Constants.OFFLINE_SCROBBLE_COUNT, 0);
offline.putInt(Constants.OFFLINE_STAR_COUNT, 0);
- offline.commit();
+ offline.apply();
}
public int getDrawerItemId(String fragmentType) {
@@ -1223,8 +1193,6 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
}
switch(fragmentType) {
- case "Home":
- return R.id.drawer_home;
case "Artist":
return R.id.drawer_library;
case "Playlist":
@@ -1265,7 +1233,7 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
}
@Override
- public void uncaughtException(Thread thread, Throwable throwable) {
+ public void uncaughtException(@NonNull Thread thread, @NonNull Throwable throwable) {
File file = null;
PrintWriter printWriter = null;
try {
@@ -1273,7 +1241,7 @@ public class SubsonicActivity extends AppCompatActivity implements OnItemSelecte
PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
file = new File(Environment.getExternalStorageDirectory(), "dsub-stacktrace.txt");
printWriter = new PrintWriter(file);
- printWriter.println("Android API level: " + Build.VERSION.SDK);
+ printWriter.println("Android API level: " + Build.VERSION.SDK_INT);
printWriter.println("Subsonic version name: " + packageInfo.versionName);
printWriter.println("Subsonic version code: " + packageInfo.versionCode);
printWriter.println();
diff --git a/app/src/main/java/github/daneren2005/dsub/activity/SubsonicFragmentActivity.java b/app/src/main/java/github/daneren2005/dsub/activity/SubsonicFragmentActivity.java
index 17e564e2..b2d97247 100644
--- a/app/src/main/java/github/daneren2005/dsub/activity/SubsonicFragmentActivity.java
+++ b/app/src/main/java/github/daneren2005/dsub/activity/SubsonicFragmentActivity.java
@@ -23,14 +23,14 @@ import android.accounts.AccountManager;
import android.app.Dialog;
import android.content.ContentResolver;
import android.content.Context;
-import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.TypedArray;
-import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.provider.MediaStore;
+
+import androidx.annotation.NonNull;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import androidx.appcompat.app.AlertDialog;
@@ -47,6 +47,7 @@ import com.sothree.slidinguppanel.SlidingUpPanelLayout;
import java.io.File;
import java.util.Date;
import java.util.List;
+import java.util.Objects;
import github.daneren2005.dsub.R;
import github.daneren2005.dsub.domain.MusicDirectory;
@@ -85,10 +86,10 @@ import github.daneren2005.dsub.view.ChangeLog;
* Created by Scott on 10/14/13.
*/
public class SubsonicFragmentActivity extends SubsonicActivity implements DownloadService.OnSongChangedListener {
- private static String TAG = SubsonicFragmentActivity.class.getSimpleName();
+ private static final String TAG = SubsonicFragmentActivity.class.getSimpleName();
private static boolean infoDialogDisplayed;
private static boolean sessionInitialized = false;
- private static long ALLOWED_SKEW = 30000L;
+ private static final long ALLOWED_SKEW = 30000L;
private SlidingUpPanelLayout slideUpPanel;
private SlidingUpPanelLayout.PanelSlideListener panelSlideListener;
@@ -105,7 +106,6 @@ public class SubsonicFragmentActivity extends SubsonicActivity implements Downlo
private ImageButton startButton;
private long lastBackPressTime = 0;
private DownloadFile currentPlaying;
- private PlayerState currentState;
private ImageButton previousButton;
private ImageButton nextButton;
private ImageButton rewindButton;
@@ -219,7 +219,7 @@ public class SubsonicFragmentActivity extends SubsonicActivity implements Downlo
currentFragment.stopActionMode();
// Disable custom view before switching
- getSupportActionBar().setDisplayShowCustomEnabled(false);
+ Objects.requireNonNull(getSupportActionBar()).setDisplayShowCustomEnabled(false);
getSupportActionBar().setDisplayShowTitleEnabled(true);
bottomBar.setVisibility(View.GONE);
@@ -250,12 +250,7 @@ public class SubsonicFragmentActivity extends SubsonicActivity implements Downlo
if(getIntent().hasExtra(Constants.INTENT_EXTRA_NAME_DOWNLOAD)) {
// Post this later so it actually runs
- handler.postDelayed(new Runnable() {
- @Override
- public void run() {
- openNowPlaying();
- }
- }, 200);
+ handler.postDelayed(this::openNowPlaying, 200);
getIntent().removeExtra(Constants.INTENT_EXTRA_NAME_DOWNLOAD);
}
@@ -277,98 +272,73 @@ public class SubsonicFragmentActivity extends SubsonicActivity implements Downlo
}
rewindButton = (ImageButton) findViewById(R.id.download_rewind);
- rewindButton.setOnClickListener(new View.OnClickListener() {
+ rewindButton.setOnClickListener(v -> new SilentBackgroundTask<Void>(SubsonicFragmentActivity.this) {
@Override
- public void onClick(View v) {
- new SilentBackgroundTask<Void>(SubsonicFragmentActivity.this) {
- @Override
- protected Void doInBackground() throws Throwable {
- if (getDownloadService() == null) {
- return null;
- }
+ protected Void doInBackground() {
+ if (getDownloadService() == null) {
+ return null;
+ }
- getDownloadService().rewind();
- return null;
- }
- }.execute();
+ getDownloadService().rewind();
+ return null;
}
- });
+ }.execute());
previousButton = (ImageButton) findViewById(R.id.download_previous);
- previousButton.setOnClickListener(new View.OnClickListener() {
+ previousButton.setOnClickListener(v -> new SilentBackgroundTask<Void>(SubsonicFragmentActivity.this) {
@Override
- public void onClick(View v) {
- new SilentBackgroundTask<Void>(SubsonicFragmentActivity.this) {
- @Override
- protected Void doInBackground() throws Throwable {
- if(getDownloadService() == null) {
- return null;
- }
+ protected Void doInBackground() {
+ if(getDownloadService() == null) {
+ return null;
+ }
- getDownloadService().previous();
- return null;
- }
- }.execute();
+ getDownloadService().previous();
+ return null;
}
- });
+ }.execute());
startButton = (ImageButton) findViewById(R.id.download_start);
- startButton.setOnClickListener(new View.OnClickListener() {
+ startButton.setOnClickListener(v -> new SilentBackgroundTask<Void>(SubsonicFragmentActivity.this) {
@Override
- public void onClick(View v) {
- new SilentBackgroundTask<Void>(SubsonicFragmentActivity.this) {
- @Override
- protected Void doInBackground() throws Throwable {
- PlayerState state = getDownloadService().getPlayerState();
- if(state == PlayerState.STARTED) {
- getDownloadService().pause();
- } else if(state == PlayerState.IDLE) {
- getDownloadService().play();
- } else {
- getDownloadService().start();
- }
+ protected Void doInBackground() {
+ PlayerState state = getDownloadService().getPlayerState();
+ if(state == PlayerState.STARTED) {
+ getDownloadService().pause();
+ } else if(state == PlayerState.IDLE) {
+ getDownloadService().play();
+ } else {
+ getDownloadService().start();
+ }
- return null;
- }
- }.execute();
+ return null;
}
- });
+ }.execute());
nextButton = (ImageButton) findViewById(R.id.download_next);
- nextButton.setOnClickListener(new View.OnClickListener() {
+ nextButton.setOnClickListener(v -> new SilentBackgroundTask<Void>(SubsonicFragmentActivity.this) {
@Override
- public void onClick(View v) {
- new SilentBackgroundTask<Void>(SubsonicFragmentActivity.this) {
- @Override
- protected Void doInBackground() throws Throwable {
- if(getDownloadService() == null) {
- return null;
- }
+ protected Void doInBackground() {
+ if(getDownloadService() == null) {
+ return null;
+ }
- getDownloadService().next();
- return null;
- }
- }.execute();
+ getDownloadService().next();
+ return null;
}
- });
+ }.execute());
fastforwardButton = (ImageButton) findViewById(R.id.download_fastforward);
- fastforwardButton.setOnClickListener(new View.OnClickListener() {
+ fastforwardButton.setOnClickListener(v -> new SilentBackgroundTask<Void>(SubsonicFragmentActivity.this) {
@Override
- public void onClick(View v) {
- new SilentBackgroundTask<Void>(SubsonicFragmentActivity.this) {
- @Override
- protected Void doInBackground() throws Throwable {
- if (getDownloadService() == null) {
- return null;
- }
+ protected Void doInBackground() {
+ if (getDownloadService() == null) {
+ return null;
+ }
- getDownloadService().fastForward();
- return null;
- }
- }.execute();
+ getDownloadService().fastForward();
+ return null;
}
- });
+ }.execute());
}
@Override
@@ -456,12 +426,7 @@ public class SubsonicFragmentActivity extends SubsonicActivity implements Downlo
UserUtil.seedCurrentUser(this);
createAccount();
- runWhenServiceAvailable(new Runnable() {
- @Override
- public void run() {
- getDownloadService().addOnSongChangedListener(SubsonicFragmentActivity.this, true);
- }
- });
+ runWhenServiceAvailable(() -> getDownloadService().addOnSongChangedListener(SubsonicFragmentActivity.this, true));
}
@Override
@@ -474,7 +439,7 @@ public class SubsonicFragmentActivity extends SubsonicActivity implements Downlo
}
@Override
- public void onSaveInstanceState(Bundle savedInstanceState) {
+ public void onSaveInstanceState(@NonNull Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putString(Constants.MAIN_NOW_PLAYING, nowPlayingFragment.getTag());
if(secondaryFragment != null) {
@@ -598,7 +563,7 @@ public class SubsonicFragmentActivity extends SubsonicActivity implements Downlo
@Override
public void setTitle(CharSequence title) {
if(slideUpPanel.getPanelState() == SlidingUpPanelLayout.PanelState.EXPANDED) {
- getSupportActionBar().setTitle(title);
+ Objects.requireNonNull(getSupportActionBar()).setTitle(title);
} else {
super.setTitle(title);
}
@@ -687,19 +652,15 @@ public class SubsonicFragmentActivity extends SubsonicActivity implements Downlo
Updater updater = new Updater(ver);
updater.checkUpdates(this);
}
- catch(Exception e) {
-
- }
+ catch(Exception ignored) {}
}
private void loadSession() {
- if (Build.VERSION.SDK_INT >= 23) {
- try {
- KeyStoreUtil.loadKeyStore();
- } catch (Exception e) {
- Log.w(TAG, "Error loading keystore");
- Log.w(TAG, Log.getStackTraceString(e));
- }
+ try {
+ KeyStoreUtil.loadKeyStore();
+ } catch (Exception e) {
+ Log.w(TAG, "Error loading keystore");
+ Log.w(TAG, Log.getStackTraceString(e));
}
loadSettings();
@@ -741,41 +702,37 @@ public class SubsonicFragmentActivity extends SubsonicActivity implements Downlo
editor.putString(Constants.PREFERENCES_KEY_SERVER_NAME + 1, "Demo Server");
editor.putString(Constants.PREFERENCES_KEY_SERVER_URL + 1, "http://demo.subsonic.org");
editor.putString(Constants.PREFERENCES_KEY_USERNAME + 1, "guest");
- if (Build.VERSION.SDK_INT < 23) {
- editor.putString(Constants.PREFERENCES_KEY_PASSWORD + 1, "guest");
- } else {
- // Attempt to encrypt password
- String encryptedDefaultPassword = KeyStoreUtil.encrypt("guest");
+ // Attempt to encrypt password
+ String encryptedDefaultPassword = KeyStoreUtil.encrypt("guest");
- if (encryptedDefaultPassword != null) {
- // If encryption succeeds, store encrypted password and flag password as encrypted
- editor.putString(Constants.PREFERENCES_KEY_PASSWORD + 1, encryptedDefaultPassword);
- editor.putBoolean(Constants.PREFERENCES_KEY_ENCRYPTED_PASSWORD + 1, true);
- } else {
- // Fall back to plaintext if Keystore is having issue
- editor = editor.putString(Constants.PREFERENCES_KEY_PASSWORD + 1, "guest");
- editor.putBoolean(Constants.PREFERENCES_KEY_ENCRYPTED_PASSWORD + 1, false);
- }
+ if (encryptedDefaultPassword != null) {
+ // If encryption succeeds, store encrypted password and flag password as encrypted
+ editor.putString(Constants.PREFERENCES_KEY_PASSWORD + 1, encryptedDefaultPassword);
+ editor.putBoolean(Constants.PREFERENCES_KEY_ENCRYPTED_PASSWORD + 1, true);
+ } else {
+ // Fall back to plaintext if Keystore is having issue
+ editor = editor.putString(Constants.PREFERENCES_KEY_PASSWORD + 1, "guest");
+ editor.putBoolean(Constants.PREFERENCES_KEY_ENCRYPTED_PASSWORD + 1, false);
}
editor.putInt(Constants.PREFERENCES_KEY_SERVER_INSTANCE, 1);
- editor.commit();
+ editor.apply();
}
if(!prefs.contains(Constants.PREFERENCES_KEY_SERVER_COUNT)) {
SharedPreferences.Editor editor = prefs.edit();
editor.putInt(Constants.PREFERENCES_KEY_SERVER_COUNT, 1);
- editor.commit();
+ editor.apply();
}
}
private boolean resetCacheLocation(SharedPreferences prefs) {
String newDirectory = FileUtil.getDefaultMusicDirectory(this).getPath();
String oldDirectory = prefs.getString(Constants.PREFERENCES_KEY_CACHE_LOCATION, null);
- if(newDirectory == null || (oldDirectory != null && newDirectory.equals(oldDirectory))) {
+ if(newDirectory.equals(oldDirectory)) {
return false;
} else {
SharedPreferences.Editor editor = prefs.edit();
editor.putString(Constants.PREFERENCES_KEY_CACHE_LOCATION, newDirectory);
- editor.commit();
+ editor.apply();
return true;
}
}
@@ -807,7 +764,7 @@ public class SubsonicFragmentActivity extends SubsonicActivity implements Downlo
private PlayerQueue playerQueue;
@Override
- protected Void doInBackground() throws Throwable {
+ protected Void doInBackground() {
try {
MusicService musicService = MusicServiceFactory.getMusicService(context);
PlayerQueue remoteState = musicService.getPlayQueue(context, null);
@@ -849,50 +806,35 @@ public class SubsonicFragmentActivity extends SubsonicActivity implements Downlo
builder.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle(R.string.common_confirm)
.setMessage(message)
- .setPositiveButton(R.string.common_ok, new DialogInterface.OnClickListener() {
+ .setPositiveButton(R.string.common_ok, (dialogInterface, i) -> new SilentBackgroundTask<Void>(SubsonicFragmentActivity.this) {
@Override
- public void onClick(DialogInterface dialogInterface, int i) {
- new SilentBackgroundTask<Void>(SubsonicFragmentActivity.this) {
- @Override
- protected Void doInBackground() throws Throwable {
- DownloadService downloadService = getDownloadService();
- downloadService.clear();
- downloadService.download(remoteState.songs, false, false, false, false, remoteState.currentPlayingIndex, remoteState.currentPlayingPosition);
- return null;
- }
- }.execute();
+ protected Void doInBackground() {
+ DownloadService downloadService = getDownloadService();
+ downloadService.clear();
+ downloadService.download(remoteState.songs, false, false, false, false, remoteState.currentPlayingIndex, remoteState.currentPlayingPosition);
+ return null;
}
- })
- .setNeutralButton(R.string.common_cancel, new DialogInterface.OnClickListener() {
+ }.execute())
+ .setNeutralButton(R.string.common_cancel, (dialogInterface, i) -> new SilentBackgroundTask<Void>(SubsonicFragmentActivity.this) {
@Override
- public void onClick(DialogInterface dialogInterface, int i) {
- new SilentBackgroundTask<Void>(SubsonicFragmentActivity.this) {
- @Override
- protected Void doInBackground() throws Throwable {
- DownloadService downloadService = getDownloadService();
- downloadService.serializeQueue(false);
- return null;
- }
- }.execute();
+ protected Void doInBackground() {
+ DownloadService downloadService = getDownloadService();
+ downloadService.serializeQueue(false);
+ return null;
}
- })
- .setNegativeButton(R.string.common_never, new DialogInterface.OnClickListener() {
+ }.execute())
+ .setNegativeButton(R.string.common_never, (dialogInterface, i) -> new SilentBackgroundTask<Void>(SubsonicFragmentActivity.this) {
@Override
- public void onClick(DialogInterface dialogInterface, int i) {
- new SilentBackgroundTask<Void>(SubsonicFragmentActivity.this) {
- @Override
- protected Void doInBackground() throws Throwable {
- DownloadService downloadService = getDownloadService();
- downloadService.serializeQueue(false);
-
- SharedPreferences.Editor editor = Util.getPreferences(SubsonicFragmentActivity.this).edit();
- editor.putBoolean(Constants.PREFERENCES_KEY_RESUME_PLAY_QUEUE_NEVER, true);
- editor.commit();
- return null;
- }
- }.execute();
+ protected Void doInBackground() {
+ DownloadService downloadService = getDownloadService();
+ downloadService.serializeQueue(false);
+
+ SharedPreferences.Editor editor = Util.getPreferences(SubsonicFragmentActivity.this).edit();
+ editor.putBoolean(Constants.PREFERENCES_KEY_RESUME_PLAY_QUEUE_NEVER, true);
+ editor.apply();
+ return null;
}
- });
+ }.execute());
builder.create().show();
}
@@ -902,7 +844,7 @@ public class SubsonicFragmentActivity extends SubsonicActivity implements Downlo
new SilentBackgroundTask<Void>(this) {
@Override
- protected Void doInBackground() throws Throwable {
+ protected Void doInBackground() {
AccountManager accountManager = (AccountManager) context.getSystemService(ACCOUNT_SERVICE);
Account account = new Account(Constants.SYNC_ACCOUNT_NAME, Constants.SYNC_ACCOUNT_TYPE);
accountManager.addAccountExplicitly(account, null, null);
@@ -941,10 +883,6 @@ public class SubsonicFragmentActivity extends SubsonicActivity implements Downlo
}
}
- public Toolbar getActiveToolbar() {
- return slideUpPanel.getPanelState() == SlidingUpPanelLayout.PanelState.EXPANDED ? nowPlayingToolbar : mainToolbar;
- }
-
@Override
public void onSongChanged(DownloadFile currentPlaying, int currentPlayingIndex, boolean shouldFastForward) {
this.currentPlaying = currentPlaying;
diff --git a/app/src/main/java/github/daneren2005/dsub/activity/VoiceQueryReceiverActivity.java b/app/src/main/java/github/daneren2005/dsub/activity/VoiceQueryReceiverActivity.java
index 641b118f..78059faa 100644
--- a/app/src/main/java/github/daneren2005/dsub/activity/VoiceQueryReceiverActivity.java
+++ b/app/src/main/java/github/daneren2005/dsub/activity/VoiceQueryReceiverActivity.java
@@ -24,13 +24,9 @@ import android.app.SearchManager;
import android.content.Intent;
import android.os.Bundle;
import android.provider.MediaStore;
-import android.provider.SearchRecentSuggestions;
-import android.util.Log;
-import github.daneren2005.dsub.fragments.SubsonicFragment;
import github.daneren2005.dsub.util.Constants;
import github.daneren2005.dsub.util.Util;
-import github.daneren2005.dsub.provider.DSubSearchProvider;
/**
* Receives voice search queries and forwards to the SearchFragment.
@@ -40,7 +36,6 @@ import github.daneren2005.dsub.provider.DSubSearchProvider;
* @author Sindre Mehus
*/
public class VoiceQueryReceiverActivity extends Activity {
- private static final String TAG = VoiceQueryReceiverActivity.class.getSimpleName();
private static final String GMS_SEARCH_ACTION = "com.google.android.gms.actions.SEARCH_ACTION";
@Override
@@ -51,7 +46,7 @@ public class VoiceQueryReceiverActivity extends Activity {
if (query != null) {
Intent intent = new Intent(VoiceQueryReceiverActivity.this, SubsonicFragmentActivity.class);
- intent.putExtra(Constants.INTENT_EXTRA_NAME_QUERY, query);
+ intent.putExtra(Constants.INTENT_EXTRA_NAME_QUERY, query);
if(!GMS_SEARCH_ACTION.equals(getIntent().getAction())) {
intent.putExtra(Constants.INTENT_EXTRA_NAME_AUTOPLAY, true);
}