diff options
Diffstat (limited to 'app/src/main/java/github/daneren2005/dsub/activity')
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); } |