Fix issue with Android 3.0 by obtaining the action bar after

setting the content view.
See issue 1107.
This commit is contained in:
Jimmy Shih
2012-09-14 10:27:32 -07:00
parent 260410b554
commit 3e03f24ec3
10 changed files with 52 additions and 10 deletions
@@ -28,14 +28,20 @@ import android.view.MenuItem;
*
* @author Jimmy Shih
*/
public class AbstractMyTracksActivity extends FragmentActivity {
public abstract class AbstractMyTracksActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setVolumeControlStream(TextToSpeech.Engine.DEFAULT_STREAM);
setContentView(getLayoutResId());
ApiAdapterFactory.getApiAdapter().configureActionBarHomeAsUp(this);
}
/**
* Gets the layout resource id.
*/
protected abstract int getLayoutResId();
@Override
public boolean onOptionsItemSelected(MenuItem item) {
@@ -36,11 +36,15 @@ public class AggregatedStatsActivity extends AbstractMyTracksActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.aggregated_stats);
StatsUtils.setTripStatisticsValues(this, getTripStatistics());
StatsUtils.setLocationValues(this, null, false);
}
@Override
protected int getLayoutResId() {
return R.layout.aggregated_stats;
}
/**
* Gets the aggregated trip statistics for all the recorded tracks or null if
* there is no track.
@@ -35,7 +35,6 @@ public class HelpActivity extends AbstractMyTracksActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.help);
TextView mapsPublicUnlisted = (TextView) findViewById(R.id.help_maps_public_unlisted_answer);
mapsPublicUnlisted.setText(StringUtils.getHtml(
@@ -58,4 +57,9 @@ public class HelpActivity extends AbstractMyTracksActivity {
}
});
}
@Override
protected int getLayoutResId() {
return R.layout.help;
}
}
@@ -51,7 +51,6 @@ public class MarkerDetailActivity extends AbstractMyTracksActivity {
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.marker_detail);
markerId = getIntent().getLongExtra(EXTRA_MARKER_ID, -1L);
if (markerId == -1L) {
@@ -64,6 +63,11 @@ public class MarkerDetailActivity extends AbstractMyTracksActivity {
statisticsSection = findViewById(R.id.marker_detail_statistics_section);
}
@Override
protected int getLayoutResId() {
return R.layout.marker_detail;
}
@Override
protected void onResume() {
super.onResume();
@@ -62,7 +62,6 @@ public class MarkerEditActivity extends AbstractMyTracksActivity {
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.marker_edit);
trackId = getIntent().getLongExtra(EXTRA_TRACK_ID, -1L);
markerId = getIntent().getLongExtra(EXTRA_MARKER_ID, -1L);
@@ -91,6 +90,11 @@ public class MarkerEditActivity extends AbstractMyTracksActivity {
updateUiByMarkerId();
}
@Override
protected int getLayoutResId() {
return R.layout.marker_edit;
}
/**
* Updates the UI based on the marker id.
*/
@@ -113,7 +113,6 @@ public class MarkerListActivity extends AbstractMyTracksActivity {
}
setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL);
setContentView(R.layout.marker_list);
getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE)
.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
@@ -179,6 +178,11 @@ public class MarkerListActivity extends AbstractMyTracksActivity {
});
}
@Override
protected int getLayoutResId() {
return R.layout.marker_list;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.marker_list, menu);
@@ -137,7 +137,6 @@ public class SearchListActivity extends AbstractMyTracksActivity implements Dele
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL);
setContentView(R.layout.search_list);
trackRecordingServiceConnection = new TrackRecordingServiceConnection(this, null);
myTracksProviderUtils = MyTracksProviderUtils.Factory.get(this);
@@ -202,6 +201,11 @@ public class SearchListActivity extends AbstractMyTracksActivity implements Dele
handleIntent(getIntent());
}
@Override
protected int getLayoutResId() {
return R.layout.search_list;
}
@Override
protected void onResume() {
super.onResume();
@@ -92,10 +92,14 @@ public class SensorStateActivity extends AbstractMyTracksActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sensor_state);
trackRecordingServiceConnection = new TrackRecordingServiceConnection(this, null);
}
@Override
protected int getLayoutResId() {
return R.layout.sensor_state;
}
@Override
protected void onResume() {
super.onResume();
@@ -192,7 +192,6 @@ public class TrackDetailActivity extends AbstractMyTracksActivity implements Del
super.onCreate(savedInstanceState);
handleIntent(getIntent());
ApiAdapterFactory.getApiAdapter().hideTitle(this);
setContentView(R.layout.track_detail);
SharedPreferences sharedPreferences = getSharedPreferences(
Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
@@ -226,6 +225,11 @@ public class TrackDetailActivity extends AbstractMyTracksActivity implements Del
showMarker();
}
@Override
protected int getLayoutResId() {
return R.layout.track_detail;
}
@Override
protected void onStart() {
super.onStart();
@@ -57,7 +57,6 @@ public class TrackEditActivity extends AbstractMyTracksActivity {
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.track_edit);
trackId = getIntent().getLongExtra(EXTRA_TRACK_ID, -1L);
if (trackId == -1L) {
@@ -143,6 +142,11 @@ public class TrackEditActivity extends AbstractMyTracksActivity {
}
}
@Override
protected int getLayoutResId() {
return R.layout.track_edit;
}
/**
* Sets the activity type icon.
*