Use AppDetails title as indicator where we come from

This commit is contained in:
Daniel Martí 2014-01-01 21:34:41 +01:00
parent 771947536e
commit 753bc43452
9 changed files with 31 additions and 4 deletions

View File

@ -64,7 +64,6 @@
<string name="repo_delete_title">Choose repository to remove</string>
<string name="repo_update_title">Update repositories</string>
<string name="tab_installed">Installed</string>
<string name="tab_noninstalled">Available</string>
<string name="tab_updates">Updates</string>
<string name="one_update_available">1 update is available.</string>

View File

@ -257,6 +257,10 @@ public class AppDetails extends ListActivity {
appid = i.getStringExtra("appid");
}
if (i.hasExtra("from")) {
setTitle(i.getStringExtra("from"));
}
mPm = getPackageManager();
// Get the preferences we're going to use in this Activity...
AppDetails old = (AppDetails) getLastNonConfigurationInstance();

View File

@ -228,6 +228,10 @@ public class AppListManager {
}
}
public String getCurrentCategory() {
return this.currentCategory;
}
static class WhatsNewComparator implements Comparator<DB.App> {
@Override
public int compare(DB.App lhs, DB.App rhs) {

View File

@ -98,7 +98,7 @@ class OldTabManagerImpl extends TabManager {
TabHost.TabSpec installedTabSpec = tabHost.newTabSpec("installed")
.setIndicator(
parent.getString(R.string.tab_installed),
parent.getString(R.string.inst),
parent.getResources().getDrawable(android.R.drawable.star_off))
.setContent(factory);

View File

@ -44,7 +44,7 @@ public class AppListFragmentPageAdapter extends FragmentPagerAdapter {
case 0:
return parent.getString(R.string.tab_noninstalled);
case 1:
return parent.getString(R.string.tab_installed);
return parent.getString(R.string.inst);
case 2:
return parent.getString(R.string.tab_updates) + " ("
+ parent.getManager().getCanUpdateAdapter().getCount() + ")";

View File

@ -16,10 +16,12 @@ import org.fdroid.fdroid.views.AppListView;
abstract class AppListFragment extends Fragment implements AdapterView.OnItemClickListener, Preferences.ChangeListener {
private FDroid parent;
protected FDroid parent;
protected abstract AppListAdapter getAppListAdapter();
protected abstract String getFromTitle();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@ -76,6 +78,7 @@ abstract class AppListFragment extends Fragment implements AdapterView.OnItemCli
final DB.App app = (DB.App)getAppListAdapter().getItem(position);
Intent intent = new Intent(getActivity(), AppDetails.class);
intent.putExtra("appid", app.id);
intent.putExtra("from", getFromTitle());
startActivityForResult(intent, FDroid.REQUEST_APPDETAILS);
}

View File

@ -57,4 +57,9 @@ public class AvailableAppsFragment extends AppListFragment implements AdapterVie
protected AppListAdapter getAppListAdapter() {
return getAppListManager().getAvailableAdapter();
}
@Override
protected String getFromTitle() {
return getAppListManager().getCurrentCategory();
}
}

View File

@ -5,6 +5,7 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.views.AppListAdapter;
public class CanUpdateAppsFragment extends AppListFragment {
@ -18,4 +19,9 @@ public class CanUpdateAppsFragment extends AppListFragment {
protected AppListAdapter getAppListAdapter() {
return getAppListManager().getCanUpdateAdapter();
}
@Override
protected String getFromTitle() {
return parent.getString(R.string.tab_updates);
}
}

View File

@ -5,6 +5,7 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.views.AppListAdapter;
public class InstalledAppsFragment extends AppListFragment {
@ -18,4 +19,9 @@ public class InstalledAppsFragment extends AppListFragment {
protected AppListAdapter getAppListAdapter() {
return getAppListManager().getInstalledAdapter();
}
@Override
protected String getFromTitle() {
return parent.getString(R.string.inst);
}
}