Merge branch 'fix/manage-repos-crash-on-up'

This commit is contained in:
Peter Serwylo 2014-02-27 23:44:35 +11:00
commit 7d985f137f

View File

@ -62,19 +62,30 @@ public class ManageRepo extends FragmentActivity {
@Override @Override
public void finish() { public void finish() {
Intent ret = new Intent(); Intent ret = new Intent();
if (listFragment != null && listFragment.hasChanged()) { markChangedIfRequired(ret);
Log.i("FDroid", "Repo details have changed, prompting for update.");
ret.putExtra(REQUEST_UPDATE, true);
}
setResult(Activity.RESULT_OK, ret); setResult(Activity.RESULT_OK, ret);
super.finish(); super.finish();
} }
private boolean hasChanged() {
return listFragment != null && listFragment.hasChanged();
}
private void markChangedIfRequired(Intent intent) {
if (hasChanged()) {
Log.i("FDroid", "Repo details have changed, prompting for update.");
intent.putExtra(REQUEST_UPDATE, true);
}
}
@Override @Override
public boolean onOptionsItemSelected(MenuItem item) { public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) { switch (item.getItemId()) {
case android.R.id.home: case android.R.id.home:
NavUtils.navigateUpFromSameTask(this); Intent destIntent = new Intent(this, FDroid.class);
markChangedIfRequired(destIntent);
setResult(RESULT_OK, destIntent);
NavUtils.navigateUpTo(this, destIntent);
return true; return true;
} }
return super.onOptionsItemSelected(item); return super.onOptionsItemSelected(item);