Try to improve activity transitions and exit properly

This commit is contained in:
Joshua Bahnsen 2013-12-30 22:06:30 -07:00
parent cfe47a16ea
commit 1ee9b09a64
19 changed files with 163 additions and 110 deletions

View File

@ -185,7 +185,6 @@ public class BookmarkActivity extends SubsonicTabActivity
menuDrawer.setActiveView(browseMenuItem);
getBookmarks();
}
private void getBookmarks()
@ -236,7 +235,7 @@ public class BookmarkActivity extends SubsonicTabActivity
finish();
Intent intent = getIntent();
intent.putExtra(Constants.INTENT_EXTRA_NAME_REFRESH, true);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
}
@Override

View File

@ -876,7 +876,7 @@ public class DownloadActivity extends SubsonicTabActivity implements OnGestureLi
intent.putExtra(Constants.INTENT_EXTRA_NAME_NAME, entry.getArtist());
intent.putExtra(Constants.INTENT_EXTRA_NAME_PARENT_ID, entry.getArtistId());
intent.putExtra(Constants.INTENT_EXTRA_NAME_ARTIST, true);
Util.startActivityWithoutTransition(DownloadActivity.this, intent);
startActivityForResultWithoutTransition(DownloadActivity.this, intent);
}
return true;
@ -889,7 +889,7 @@ public class DownloadActivity extends SubsonicTabActivity implements OnGestureLi
Intent intent = new Intent(this, SelectAlbumActivity.class);
intent.putExtra(Constants.INTENT_EXTRA_NAME_ID, entry.getParent());
intent.putExtra(Constants.INTENT_EXTRA_NAME_NAME, entry.getAlbum());
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
return true;
case R.id.menu_lyrics:
if (entry == null)
@ -900,7 +900,7 @@ public class DownloadActivity extends SubsonicTabActivity implements OnGestureLi
intent = new Intent(this, LyricsActivity.class);
intent.putExtra(Constants.INTENT_EXTRA_NAME_ARTIST, entry.getArtist());
intent.putExtra(Constants.INTENT_EXTRA_NAME_TITLE, entry.getTitle());
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
return true;
case R.id.menu_remove:
getDownloadService().remove(song);
@ -1238,7 +1238,6 @@ public class DownloadActivity extends SubsonicTabActivity implements OnGestureLi
}
@Override
public void remove(int which)
{

View File

@ -18,7 +18,6 @@
*/
package com.thejoshwa.ultrasonic.androidapp.activity;
import android.app.Activity;
import android.media.audiofx.Equalizer;
import android.os.Bundle;
import android.view.ContextMenu;
@ -45,7 +44,7 @@ import java.util.Map;
* @author Sindre Mehus
* @version $Id$
*/
public class EqualizerActivity extends Activity
public class EqualizerActivity extends ResultActivity
{
private static final int MENU_GROUP_PRESET = 100;

View File

@ -20,7 +20,6 @@
package com.thejoshwa.ultrasonic.androidapp.activity;
import android.app.ActionBar;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
@ -45,7 +44,7 @@ import net.simonvt.menudrawer.Position;
*
* @author Sindre Mehus
*/
public final class HelpActivity extends Activity implements OnClickListener
public final class HelpActivity extends ResultActivity implements OnClickListener
{
private WebView webView;
private ImageView backButton;
@ -256,48 +255,48 @@ public final class HelpActivity extends Activity implements OnClickListener
intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
break;
case R.id.menu_browse:
intent = new Intent(this, SelectArtistActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
break;
case R.id.menu_search:
intent = new Intent(this, SearchActivity.class);
intent.putExtra(Constants.INTENT_EXTRA_REQUEST_SEARCH, true);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
break;
case R.id.menu_playlists:
intent = new Intent(this, SelectPlaylistActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
break;
case R.id.menu_shares:
intent = new Intent(this, ShareActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
break;
case R.id.menu_chat:
Util.startActivityWithoutTransition(this, ChatActivity.class);
startActivityForResultWithoutTransition(this, ChatActivity.class);
break;
case R.id.menu_bookmarks:
Util.startActivityWithoutTransition(this, BookmarkActivity.class);
startActivityForResultWithoutTransition(this, BookmarkActivity.class);
break;
case R.id.menu_now_playing:
Util.startActivityWithoutTransition(this, DownloadActivity.class);
startActivityForResultWithoutTransition(this, DownloadActivity.class);
break;
case R.id.menu_settings:
Util.startActivityWithoutTransition(this, SettingsActivity.class);
startActivityForResultWithoutTransition(this, SettingsActivity.class);
break;
case R.id.menu_about:
Util.startActivityWithoutTransition(this, HelpActivity.class);
startActivityForResultWithoutTransition(this, HelpActivity.class);
break;
case R.id.menu_exit:
intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra(Constants.INTENT_EXTRA_NAME_EXIT, true);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
break;
}

View File

@ -74,6 +74,8 @@ public class MainActivity extends SubsonicTabActivity
if (getIntent().hasExtra(Constants.INTENT_EXTRA_NAME_EXIT))
{
setResult(Constants.RESULT_CLOSE_ALL);
finish();
exit();
return;
}
@ -427,7 +429,7 @@ public class MainActivity extends SubsonicTabActivity
case R.id.main_shuffle:
final Intent intent1 = new Intent(this, DownloadActivity.class);
intent1.putExtra(Constants.INTENT_EXTRA_NAME_SHUFFLE, true);
Util.startActivityWithoutTransition(this, intent1);
startActivityForResultWithoutTransition(this, intent1);
return true;
}
@ -481,14 +483,14 @@ public class MainActivity extends SubsonicTabActivity
intent.putExtra(Constants.INTENT_EXTRA_NAME_ALBUM_LIST_TITLE, title);
intent.putExtra(Constants.INTENT_EXTRA_NAME_ALBUM_LIST_SIZE, Util.getMaxAlbums(this));
intent.putExtra(Constants.INTENT_EXTRA_NAME_ALBUM_LIST_OFFSET, 0);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
}
private void showStarredSongs()
{
final Intent intent = new Intent(this, SelectAlbumActivity.class);
intent.putExtra(Constants.INTENT_EXTRA_NAME_STARRED, 1);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
}
private void showRandomSongs()
@ -496,7 +498,7 @@ public class MainActivity extends SubsonicTabActivity
final Intent intent = new Intent(this, SelectAlbumActivity.class);
intent.putExtra(Constants.INTENT_EXTRA_NAME_RANDOM, 1);
intent.putExtra(Constants.INTENT_EXTRA_NAME_ALBUM_LIST_SIZE, Util.getMaxSongs(this));
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
}
private void showArtists()
@ -504,20 +506,20 @@ public class MainActivity extends SubsonicTabActivity
final Intent intent = new Intent(this, SelectArtistActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra(Constants.INTENT_EXTRA_NAME_ALBUM_LIST_TITLE, getResources().getString(R.string.main_artists_title));
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
}
private void showGenres()
{
final Intent intent = new Intent(this, SelectGenreActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
}
private void showVideos()
{
final Intent intent = new Intent(this, SelectAlbumActivity.class);
intent.putExtra(Constants.INTENT_EXTRA_NAME_VIDEOS, 1);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
}
}

View File

@ -0,0 +1,37 @@
package com.thejoshwa.ultrasonic.androidapp.activity;
import android.app.Activity;
import android.content.Intent;
import android.preference.PreferenceActivity;
import com.thejoshwa.ultrasonic.androidapp.util.Constants;
import com.thejoshwa.ultrasonic.androidapp.util.Util;
/**
* Created by Joshua Bahnsen on 12/30/13.
*/
public class PreferenceResultActivity extends PreferenceActivity
{
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
switch (resultCode)
{
case Constants.RESULT_CLOSE_ALL:
setResult(Constants.RESULT_CLOSE_ALL);
finish();
}
super.onActivityResult(requestCode, resultCode, data);
}
protected void startActivityForResultWithoutTransition(Activity currentActivity, Class<? extends Activity> newActivity)
{
startActivityForResultWithoutTransition(currentActivity, new Intent(currentActivity, newActivity));
}
protected void startActivityForResultWithoutTransition(Activity currentActivity, Intent intent)
{
startActivityForResult(intent, 0);
Util.disablePendingTransition(currentActivity);
}
}

View File

@ -19,7 +19,6 @@
package com.thejoshwa.ultrasonic.androidapp.activity;
import android.app.Activity;
import android.app.SearchManager;
import android.content.Intent;
import android.os.Bundle;
@ -34,7 +33,7 @@ import com.thejoshwa.ultrasonic.androidapp.util.Util;
*
* @author Sindre Mehus
*/
public class QueryReceiverActivity extends Activity
public class QueryReceiverActivity extends ResultActivity
{
@Override
@ -51,7 +50,7 @@ public class QueryReceiverActivity extends Activity
Intent intent = new Intent(QueryReceiverActivity.this, SearchActivity.class);
intent.putExtra(Constants.INTENT_EXTRA_NAME_QUERY, query);
Util.startActivityWithoutTransition(QueryReceiverActivity.this, intent);
startActivityForResultWithoutTransition(QueryReceiverActivity.this, intent);
}
finish();
Util.disablePendingTransition(this);

View File

@ -0,0 +1,36 @@
package com.thejoshwa.ultrasonic.androidapp.activity;
import android.app.Activity;
import android.content.Intent;
import com.thejoshwa.ultrasonic.androidapp.util.Constants;
import com.thejoshwa.ultrasonic.androidapp.util.Util;
/**
* Created by Joshua Bahnsen on 12/30/13.
*/
public class ResultActivity extends Activity
{
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
switch (resultCode)
{
case Constants.RESULT_CLOSE_ALL:
setResult(Constants.RESULT_CLOSE_ALL);
finish();
}
super.onActivityResult(requestCode, resultCode, data);
}
protected void startActivityForResultWithoutTransition(Activity currentActivity, Class<? extends Activity> newActivity)
{
startActivityForResultWithoutTransition(currentActivity, new Intent(currentActivity, newActivity));
}
protected void startActivityForResultWithoutTransition(Activity currentActivity, Intent intent)
{
startActivityForResult(intent, 0);
Util.disablePendingTransition(currentActivity);
}
}

View File

@ -172,19 +172,19 @@ public class SearchActivity extends SubsonicTabActivity
{
super.onNewIntent(intent);
String query = intent.getStringExtra(Constants.INTENT_EXTRA_NAME_QUERY);
boolean autoplay = intent.getBooleanExtra(Constants.INTENT_EXTRA_NAME_AUTOPLAY, false);
boolean requestsearch = intent.getBooleanExtra(Constants.INTENT_EXTRA_REQUEST_SEARCH, false);
boolean autoPlay = intent.getBooleanExtra(Constants.INTENT_EXTRA_NAME_AUTOPLAY, false);
boolean requestSearch = intent.getBooleanExtra(Constants.INTENT_EXTRA_REQUEST_SEARCH, false);
if (query != null)
{
mergeAdapter = new MergeAdapter();
list.setAdapter(mergeAdapter);
search(query, autoplay);
search(query, autoPlay);
}
else
{
populateList();
if (requestsearch) onSearchRequested();
if (requestSearch) onSearchRequested();
}
}
@ -493,7 +493,7 @@ public class SearchActivity extends SubsonicTabActivity
Intent intent = new Intent(this, SelectAlbumActivity.class);
intent.putExtra(Constants.INTENT_EXTRA_NAME_ID, artist.getId());
intent.putExtra(Constants.INTENT_EXTRA_NAME_NAME, artist.getName());
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
}
private void onAlbumSelected(MusicDirectory.Entry album, boolean autoplay)
@ -503,7 +503,7 @@ public class SearchActivity extends SubsonicTabActivity
intent.putExtra(Constants.INTENT_EXTRA_NAME_NAME, album.getTitle());
intent.putExtra(Constants.INTENT_EXTRA_NAME_IS_ALBUM, album.isDirectory());
intent.putExtra(Constants.INTENT_EXTRA_NAME_AUTOPLAY, autoplay);
Util.startActivityWithoutTransition(SearchActivity.this, intent);
startActivityForResultWithoutTransition(SearchActivity.this, intent);
}
private void onSongSelected(MusicDirectory.Entry song, boolean save, boolean append, boolean autoplay, boolean playNext)

View File

@ -123,7 +123,7 @@ public class SelectAlbumActivity extends SubsonicTabActivity
intent.putExtra(Constants.INTENT_EXTRA_NAME_IS_ALBUM, entry.isDirectory());
intent.putExtra(Constants.INTENT_EXTRA_NAME_NAME, entry.getTitle());
intent.putExtra(Constants.INTENT_EXTRA_NAME_PARENT_ID, entry.getParent());
Util.startActivityWithoutTransition(SelectAlbumActivity.this, intent);
startActivityForResultWithoutTransition(SelectAlbumActivity.this, intent);
}
else if (entry != null && entry.isVideo())
{
@ -394,7 +394,7 @@ public class SelectAlbumActivity extends SubsonicTabActivity
finish();
Intent intent = getIntent();
intent.putExtra(Constants.INTENT_EXTRA_NAME_REFRESH, true);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
}
@Override
@ -490,7 +490,7 @@ public class SelectAlbumActivity extends SubsonicTabActivity
case R.id.main_shuffle:
Intent intent1 = new Intent(this, DownloadActivity.class);
intent1.putExtra(Constants.INTENT_EXTRA_NAME_SHUFFLE, true);
Util.startActivityWithoutTransition(this, intent1);
startActivityForResultWithoutTransition(this, intent1);
return true;
case R.id.select_album_play_all:
playAll();
@ -733,7 +733,7 @@ public class SelectAlbumActivity extends SubsonicTabActivity
intent.putExtra(Constants.INTENT_EXTRA_NAME_GENRE_NAME, genre);
intent.putExtra(Constants.INTENT_EXTRA_NAME_ALBUM_LIST_SIZE, size);
intent.putExtra(Constants.INTENT_EXTRA_NAME_ALBUM_LIST_OFFSET, offset);
Util.startActivityWithoutTransition(SelectAlbumActivity.this, intent);
startActivityForResultWithoutTransition(SelectAlbumActivity.this, intent);
}
});
@ -880,7 +880,7 @@ public class SelectAlbumActivity extends SubsonicTabActivity
intent.putExtra(Constants.INTENT_EXTRA_NAME_ALBUM_LIST_TYPE, type);
intent.putExtra(Constants.INTENT_EXTRA_NAME_ALBUM_LIST_SIZE, size);
intent.putExtra(Constants.INTENT_EXTRA_NAME_ALBUM_LIST_OFFSET, offset);
Util.startActivityWithoutTransition(SelectAlbumActivity.this, intent);
startActivityForResultWithoutTransition(SelectAlbumActivity.this, intent);
}
});
}
@ -1091,7 +1091,7 @@ public class SelectAlbumActivity extends SubsonicTabActivity
}
}
final int listSize = getIntent().getIntExtra(Constants.INTENT_EXTRA_NAME_ALBUM_LIST_SIZE, 0);
final int listSize = getIntent().getIntExtra(Constants.INTENT_EXTRA_NAME_ALBUM_LIST_SIZE, 0);
if (songCount > 0)
{
@ -1135,7 +1135,7 @@ public class SelectAlbumActivity extends SubsonicTabActivity
intent.putExtra(Constants.INTENT_EXTRA_NAME_RANDOM, 1);
intent.putExtra(Constants.INTENT_EXTRA_NAME_ALBUM_LIST_SIZE, listSize);
intent.putExtra(Constants.INTENT_EXTRA_NAME_ALBUM_LIST_OFFSET, offset);
Util.startActivityWithoutTransition(SelectAlbumActivity.this, intent);
startActivityForResultWithoutTransition(SelectAlbumActivity.this, intent);
}
});
}

View File

@ -129,7 +129,7 @@ public class SelectArtistActivity extends SubsonicTabActivity implements Adapter
String title = getIntent().getStringExtra(Constants.INTENT_EXTRA_NAME_ALBUM_LIST_TITLE);
intent.putExtra(Constants.INTENT_EXTRA_NAME_ALBUM_LIST_TITLE, title);
intent.putExtra(Constants.INTENT_EXTRA_NAME_REFRESH, true);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
}
private void selectFolder()
@ -221,7 +221,7 @@ public class SelectArtistActivity extends SubsonicTabActivity implements Adapter
intent.putExtra(Constants.INTENT_EXTRA_NAME_NAME, artist.getName());
intent.putExtra(Constants.INTENT_EXTRA_NAME_PARENT_ID, artist.getId());
intent.putExtra(Constants.INTENT_EXTRA_NAME_ARTIST, true);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
}
}
}
@ -335,7 +335,7 @@ public class SelectArtistActivity extends SubsonicTabActivity implements Adapter
case R.id.main_shuffle:
Intent intent = new Intent(this, DownloadActivity.class);
intent.putExtra(Constants.INTENT_EXTRA_NAME_SHUFFLE, true);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
return true;
}

View File

@ -102,7 +102,7 @@ public class SelectGenreActivity extends SubsonicTabActivity implements AdapterV
finish();
Intent intent = getIntent();
intent.putExtra(Constants.INTENT_EXTRA_NAME_REFRESH, true);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
}
private void load()
@ -154,7 +154,7 @@ public class SelectGenreActivity extends SubsonicTabActivity implements AdapterV
intent.putExtra(Constants.INTENT_EXTRA_NAME_GENRE_NAME, genre.getName());
intent.putExtra(Constants.INTENT_EXTRA_NAME_ALBUM_LIST_SIZE, Util.getMaxSongs(this));
intent.putExtra(Constants.INTENT_EXTRA_NAME_ALBUM_LIST_OFFSET, 0);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
}
}
@ -169,7 +169,7 @@ public class SelectGenreActivity extends SubsonicTabActivity implements AdapterV
case R.id.main_shuffle:
Intent intent = new Intent(this, DownloadActivity.class);
intent.putExtra(Constants.INTENT_EXTRA_NAME_SHUFFLE, true);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
return true;
}

View File

@ -110,7 +110,7 @@ public class SelectPlaylistActivity extends SubsonicTabActivity implements Adapt
finish();
Intent intent = new Intent(this, SelectPlaylistActivity.class);
intent.putExtra(Constants.INTENT_EXTRA_NAME_REFRESH, true);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
}
private void load()
@ -188,7 +188,7 @@ public class SelectPlaylistActivity extends SubsonicTabActivity implements Adapt
intent.putExtra(Constants.INTENT_EXTRA_NAME_PLAYLIST_ID, playlist.getId());
intent.putExtra(Constants.INTENT_EXTRA_NAME_PLAYLIST_NAME, playlist.getName());
intent.putExtra(Constants.INTENT_EXTRA_NAME_AUTOPLAY, true);
Util.startActivityWithoutTransition(SelectPlaylistActivity.this, intent);
startActivityForResultWithoutTransition(SelectPlaylistActivity.this, intent);
break;
case R.id.playlist_menu_play_shuffled:
intent = new Intent(SelectPlaylistActivity.this, SelectAlbumActivity.class);
@ -196,7 +196,7 @@ public class SelectPlaylistActivity extends SubsonicTabActivity implements Adapt
intent.putExtra(Constants.INTENT_EXTRA_NAME_PLAYLIST_NAME, playlist.getName());
intent.putExtra(Constants.INTENT_EXTRA_NAME_AUTOPLAY, true);
intent.putExtra(Constants.INTENT_EXTRA_NAME_SHUFFLE, true);
Util.startActivityWithoutTransition(SelectPlaylistActivity.this, intent);
startActivityForResultWithoutTransition(SelectPlaylistActivity.this, intent);
break;
case R.id.playlist_menu_delete:
deletePlaylist(playlist);
@ -239,7 +239,7 @@ public class SelectPlaylistActivity extends SubsonicTabActivity implements Adapt
Intent intent = new Intent(SelectPlaylistActivity.this, SelectAlbumActivity.class);
intent.putExtra(Constants.INTENT_EXTRA_NAME_PLAYLIST_ID, playlist.getId());
intent.putExtra(Constants.INTENT_EXTRA_NAME_PLAYLIST_NAME, playlist.getName());
Util.startActivityWithoutTransition(SelectPlaylistActivity.this, intent);
startActivityForResultWithoutTransition(SelectPlaylistActivity.this, intent);
}
private void deletePlaylist(final Playlist playlist)

View File

@ -28,7 +28,6 @@ import android.preference.CheckBoxPreference;
import android.preference.EditTextPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceCategory;
import android.preference.PreferenceManager;
import android.preference.PreferenceScreen;
@ -61,9 +60,8 @@ import java.net.URL;
import java.util.LinkedHashMap;
import java.util.Map;
public class SettingsActivity extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener, OnClickListener
public class SettingsActivity extends PreferenceResultActivity implements SharedPreferences.OnSharedPreferenceChangeListener, OnClickListener
{
private static final String TAG = SettingsActivity.class.getSimpleName();
private final Map<String, ServerSettings> serverSettings = new LinkedHashMap<String, ServerSettings>();
private boolean testingConnection;
@ -815,48 +813,48 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
case R.id.menu_home:
intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
break;
case R.id.menu_browse:
intent = new Intent(this, SelectArtistActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
break;
case R.id.menu_search:
intent = new Intent(this, SearchActivity.class);
intent.putExtra(Constants.INTENT_EXTRA_REQUEST_SEARCH, true);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
break;
case R.id.menu_playlists:
intent = new Intent(this, SelectPlaylistActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
break;
case R.id.menu_shares:
intent = new Intent(this, ShareActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
break;
case R.id.menu_chat:
Util.startActivityWithoutTransition(this, ChatActivity.class);
startActivityForResultWithoutTransition(this, ChatActivity.class);
break;
case R.id.menu_bookmarks:
Util.startActivityWithoutTransition(this, BookmarkActivity.class);
startActivityForResultWithoutTransition(this, BookmarkActivity.class);
break;
case R.id.menu_now_playing:
Util.startActivityWithoutTransition(this, DownloadActivity.class);
startActivityForResultWithoutTransition(this, DownloadActivity.class);
break;
case R.id.menu_settings:
Util.startActivityWithoutTransition(this, SettingsActivity.class);
startActivityForResultWithoutTransition(this, SettingsActivity.class);
break;
case R.id.menu_about:
Util.startActivityWithoutTransition(this, HelpActivity.class);
startActivityForResultWithoutTransition(this, HelpActivity.class);
break;
case R.id.menu_exit:
intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra(Constants.INTENT_EXTRA_NAME_EXIT, true);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
break;
}

View File

@ -112,7 +112,7 @@ public class ShareActivity extends SubsonicTabActivity implements AdapterView.On
finish();
Intent intent = new Intent(this, ShareActivity.class);
intent.putExtra(Constants.INTENT_EXTRA_NAME_REFRESH, true);
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
}
private void load()
@ -219,7 +219,7 @@ public class ShareActivity extends SubsonicTabActivity implements AdapterView.On
Intent intent = new Intent(ShareActivity.this, SelectAlbumActivity.class);
intent.putExtra(Constants.INTENT_EXTRA_NAME_SHARE_ID, share.getId());
intent.putExtra(Constants.INTENT_EXTRA_NAME_SHARE_NAME, share.getName());
Util.startActivityWithoutTransition(ShareActivity.this, intent);
startActivityForResultWithoutTransition(ShareActivity.this, intent);
}
private void deleteShare(final Share share)

View File

@ -20,7 +20,6 @@ package com.thejoshwa.ultrasonic.androidapp.activity;
import android.annotation.SuppressLint;
import android.app.ActionBar;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.Notification;
@ -91,7 +90,7 @@ import java.util.regex.Pattern;
/**
* @author Sindre Mehus
*/
public class SubsonicTabActivity extends Activity implements OnClickListener
public class SubsonicTabActivity extends ResultActivity implements OnClickListener
{
private static final String TAG = SubsonicTabActivity.class.getSimpleName();
private static final Pattern COMPILE = Pattern.compile(":");
@ -254,7 +253,7 @@ public class SubsonicTabActivity extends Activity implements OnClickListener
Intent intent = new Intent(this, this.getClass());
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtras(getIntent());
Util.startActivityWithoutTransition(this, intent);
startActivityForResultWithoutTransition(this, intent);
}
@Override
@ -542,7 +541,7 @@ public class SubsonicTabActivity extends Activity implements OnClickListener
@Override
public void onClick(View view)
{
Util.startActivityWithoutTransition(SubsonicTabActivity.this, intent);
startActivityForResultWithoutTransition(SubsonicTabActivity.this, intent);
}
});
@ -551,7 +550,7 @@ public class SubsonicTabActivity extends Activity implements OnClickListener
ImageView nowPlayingControlPlay = (ImageView) nowPlayingView.findViewById(R.id.now_playing_control_play);
SwipeDetector swipeDetector = SwipeDetector.Create(SubsonicTabActivity.this, downloadService);
SwipeDetector swipeDetector = new SwipeDetector(SubsonicTabActivity.this, downloadService);
setOnTouchListenerOnUiThread(nowPlayingView, swipeDetector);
setOnClickListenerOnUiThread(nowPlayingView, new OnClickListener()
@ -997,7 +996,7 @@ public class SubsonicTabActivity extends Activity implements OnClickListener
{
if (Util.getShouldTransitionOnPlaybackPreference(SubsonicTabActivity.this))
{
Util.startActivityWithoutTransition(SubsonicTabActivity.this, DownloadActivity.class);
startActivityForResultWithoutTransition(SubsonicTabActivity.this, DownloadActivity.class);
}
}
else if (save)
@ -1164,7 +1163,7 @@ public class SubsonicTabActivity extends Activity implements OnClickListener
downloadService.download(songs, save, autoplay, playNext, shuffle, false);
if (!append && Util.getShouldTransitionOnPlaybackPreference(SubsonicTabActivity.this))
{
Util.startActivityWithoutTransition(SubsonicTabActivity.this, DownloadActivity.class);
startActivityForResultWithoutTransition(SubsonicTabActivity.this, DownloadActivity.class);
}
}
}
@ -1419,48 +1418,48 @@ public class SubsonicTabActivity extends Activity implements OnClickListener
case R.id.menu_home:
intent = new Intent(SubsonicTabActivity.this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Util.startActivityWithoutTransition(SubsonicTabActivity.this, intent);
startActivityForResultWithoutTransition(SubsonicTabActivity.this, intent);
break;
case R.id.menu_browse:
intent = new Intent(SubsonicTabActivity.this, SelectArtistActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Util.startActivityWithoutTransition(SubsonicTabActivity.this, intent);
startActivityForResultWithoutTransition(SubsonicTabActivity.this, intent);
break;
case R.id.menu_search:
intent = new Intent(SubsonicTabActivity.this, SearchActivity.class);
intent.putExtra(Constants.INTENT_EXTRA_REQUEST_SEARCH, true);
Util.startActivityWithoutTransition(SubsonicTabActivity.this, intent);
startActivityForResultWithoutTransition(SubsonicTabActivity.this, intent);
break;
case R.id.menu_playlists:
intent = new Intent(SubsonicTabActivity.this, SelectPlaylistActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Util.startActivityWithoutTransition(SubsonicTabActivity.this, intent);
startActivityForResultWithoutTransition(SubsonicTabActivity.this, intent);
break;
case R.id.menu_shares:
intent = new Intent(SubsonicTabActivity.this, ShareActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Util.startActivityWithoutTransition(SubsonicTabActivity.this, intent);
startActivityForResultWithoutTransition(SubsonicTabActivity.this, intent);
break;
case R.id.menu_chat:
Util.startActivityWithoutTransition(SubsonicTabActivity.this, ChatActivity.class);
startActivityForResultWithoutTransition(SubsonicTabActivity.this, ChatActivity.class);
break;
case R.id.menu_bookmarks:
Util.startActivityWithoutTransition(this, BookmarkActivity.class);
startActivityForResultWithoutTransition(this, BookmarkActivity.class);
break;
case R.id.menu_now_playing:
Util.startActivityWithoutTransition(SubsonicTabActivity.this, DownloadActivity.class);
startActivityForResultWithoutTransition(SubsonicTabActivity.this, DownloadActivity.class);
break;
case R.id.menu_settings:
Util.startActivityWithoutTransition(SubsonicTabActivity.this, SettingsActivity.class);
startActivityForResultWithoutTransition(SubsonicTabActivity.this, SettingsActivity.class);
break;
case R.id.menu_about:
Util.startActivityWithoutTransition(SubsonicTabActivity.this, HelpActivity.class);
startActivityForResultWithoutTransition(SubsonicTabActivity.this, HelpActivity.class);
break;
case R.id.menu_exit:
intent = new Intent(SubsonicTabActivity.this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra(Constants.INTENT_EXTRA_NAME_EXIT, true);
Util.startActivityWithoutTransition(SubsonicTabActivity.this, intent);
startActivityForResultWithoutTransition(SubsonicTabActivity.this, intent);
break;
}
@ -1497,15 +1496,12 @@ public class SubsonicTabActivity extends Activity implements OnClickListener
super.onBackPressed();
}
static class SwipeDetector implements OnTouchListener
protected class SwipeDetector implements OnTouchListener
{
public static SwipeDetector Create(SubsonicTabActivity activity, final DownloadService downloadService)
public SwipeDetector(SubsonicTabActivity activity, final DownloadService downloadService)
{
SwipeDetector swipeDetector = new SwipeDetector();
swipeDetector.downloadService = downloadService;
swipeDetector.activity = activity;
return swipeDetector;
this.downloadService = downloadService;
this.activity = activity;
}
private static final int MIN_DISTANCE = 30;
@ -1560,7 +1556,7 @@ public class SubsonicTabActivity extends Activity implements OnClickListener
}
}
Util.startActivityWithoutTransition(activity, DownloadActivity.class);
SubsonicTabActivity.this.startActivityForResultWithoutTransition(activity, DownloadActivity.class);
return false;
}
}

View File

@ -19,7 +19,6 @@
package com.thejoshwa.ultrasonic.androidapp.activity;
import android.app.Activity;
import android.app.SearchManager;
import android.content.Intent;
import android.os.Bundle;
@ -36,7 +35,7 @@ import com.thejoshwa.ultrasonic.androidapp.util.Util;
*
* @author Sindre Mehus
*/
public class VoiceQueryReceiverActivity extends Activity
public class VoiceQueryReceiverActivity extends ResultActivity
{
@Override
@ -54,7 +53,7 @@ public class VoiceQueryReceiverActivity extends Activity
Intent intent = new Intent(VoiceQueryReceiverActivity.this, SearchActivity.class);
intent.putExtra(Constants.INTENT_EXTRA_NAME_QUERY, query);
intent.putExtra(Constants.INTENT_EXTRA_NAME_AUTOPLAY, true);
Util.startActivityWithoutTransition(VoiceQueryReceiverActivity.this, intent);
startActivityForResultWithoutTransition(VoiceQueryReceiverActivity.this, intent);
}
finish();
Util.disablePendingTransition(this);

View File

@ -140,6 +140,7 @@ public final class Constants
public static final String ALBUM_ART_FILE = "folder.jpeg";
public static final String STARRED = "starred";
public static final String ALPHABETICAL_BY_NAME = "alphabeticalByName";
public static final int RESULT_CLOSE_ALL = 1337;
private Constants()
{

View File

@ -830,17 +830,6 @@ public class Util extends DownloadActivity
}
}
public static void startActivityWithoutTransition(Activity currentActivity, Class<? extends Activity> newActivity)
{
startActivityWithoutTransition(currentActivity, new Intent(currentActivity, newActivity));
}
public static void startActivityWithoutTransition(Activity currentActivity, Intent intent)
{
currentActivity.startActivity(intent);
disablePendingTransition(currentActivity);
}
public static void disablePendingTransition(Activity activity)
{
activity.overridePendingTransition(0, 0);