-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/MyTracks/src/com/google/android/apps/mytracks/HelpActivity.java b/MyTracks/src/com/google/android/apps/mytracks/HelpActivity.java
new file mode 100644
index 000000000..4e692c270
--- /dev/null
+++ b/MyTracks/src/com/google/android/apps/mytracks/HelpActivity.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2008 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.google.android.apps.mytracks;
+
+import com.google.android.apps.mytracks.fragments.AboutDialogFragment;
+import com.google.android.apps.mytracks.util.ApiAdapterFactory;
+import com.google.android.maps.mytracks.R;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.speech.tts.TextToSpeech;
+import android.support.v4.app.FragmentActivity;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.View.OnClickListener;
+
+/**
+ * An activity that displays the help page.
+ *
+ * @author Sandor Dornbush
+ */
+public class HelpActivity extends FragmentActivity {
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setVolumeControlStream(TextToSpeech.Engine.DEFAULT_STREAM);
+ ApiAdapterFactory.getApiAdapter().configureActionBarHomeAsUp(this);
+ setContentView(R.layout.help);
+
+ findViewById(R.id.help_ok).setOnClickListener(new OnClickListener() {
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ findViewById(R.id.help_about).setOnClickListener(new OnClickListener() {
+ public void onClick(View v) {
+ new AboutDialogFragment().show(
+ getSupportFragmentManager(), AboutDialogFragment.ABOUT_DIALOG_TAG);
+ }
+ });
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ if (item.getItemId() != android.R.id.home) {
+ return false;
+ }
+ startActivity(new Intent(this, TrackListActivity.class)
+ .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK));
+ return true;
+ }
+}
diff --git a/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java b/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java
index 50f230c3c..734ca7b75 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java
@@ -137,6 +137,7 @@ public class TrackDetailActivity extends FragmentActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setVolumeControlStream(TextToSpeech.Engine.DEFAULT_STREAM);
+ ApiAdapterFactory.getApiAdapter().hideTitle(this);
ApiAdapterFactory.getApiAdapter().configureActionBarHomeAsUp(this);
setContentView(R.layout.track_detail);
@@ -429,7 +430,7 @@ public class TrackDetailActivity extends FragmentActivity {
startActivity(new Intent(this, SettingsActivity.class));
return true;
case R.id.track_detail_help:
- startActivity(new Intent(this, WelcomeActivity.class));
+ startActivity(new Intent(this, HelpActivity.class));
return true;
default:
return false;
diff --git a/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java b/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java
index 22a373a29..a6c55f133 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java
@@ -17,7 +17,6 @@
package com.google.android.apps.mytracks;
import com.google.android.apps.mytracks.content.TracksColumns;
-import com.google.android.apps.mytracks.fragments.CheckUnitsDialogFragment;
import com.google.android.apps.mytracks.fragments.DeleteAllDialogFragment;
import com.google.android.apps.mytracks.fragments.EulaDialogFragment;
import com.google.android.apps.mytracks.io.file.TrackWriterFactory.TrackFileFormat;
@@ -25,7 +24,6 @@ import com.google.android.apps.mytracks.services.ITrackRecordingService;
import com.google.android.apps.mytracks.services.ServiceUtils;
import com.google.android.apps.mytracks.services.TrackRecordingServiceConnection;
import com.google.android.apps.mytracks.util.ApiAdapterFactory;
-import com.google.android.apps.mytracks.util.CheckUnitsUtils;
import com.google.android.apps.mytracks.util.EulaUtils;
import com.google.android.apps.mytracks.util.StringUtils;
import com.google.android.maps.mytracks.R;
@@ -39,9 +37,7 @@ import android.os.Bundle;
import android.os.Parcelable;
import android.speech.tts.TextToSpeech;
import android.support.v4.app.Fragment;
-import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
-import android.support.v4.app.FragmentTransaction;
import android.support.v4.app.LoaderManager.LoaderCallbacks;
import android.support.v4.content.CursorLoader;
import android.support.v4.content.Loader;
@@ -65,11 +61,6 @@ import android.widget.Toast;
public class TrackListActivity extends FragmentActivity {
private static final String TAG = TrackListActivity.class.getSimpleName();
- private static final String CHECK_UNITS_DIALOG_TAG = "checkUnitsDialog";
- private static final String DELETE_ALL_DIALOG_TAG = "deleteAllDialog";
- private static final String EULA_DIALOG_TAG = "eulaDialog";
-
- public static final int WELCOME_ACTIVITY_REQUEST_CODE = 0;
private static final String[] PROJECTION = new String[] {
TracksColumns._ID,
@@ -237,9 +228,11 @@ public class TrackListActivity extends FragmentActivity {
});
if (!EulaUtils.getEulaValue(this)) {
- Fragment fragment = getSupportFragmentManager().findFragmentByTag(EULA_DIALOG_TAG);
+ Fragment fragment = getSupportFragmentManager()
+ .findFragmentByTag(EulaDialogFragment.EULA_DIALOG_TAG);
if (fragment == null) {
- new EulaDialogFragment().show(getSupportFragmentManager(), EULA_DIALOG_TAG);
+ EulaDialogFragment.newInstance(false).show(
+ getSupportFragmentManager(), EulaDialogFragment.EULA_DIALOG_TAG);
}
}
}
@@ -256,24 +249,6 @@ public class TrackListActivity extends FragmentActivity {
trackRecordingServiceConnection.unbind();
}
- @Override
- public void onActivityResult(int requestCode, int resultCode, final Intent results) {
- if (requestCode == WELCOME_ACTIVITY_REQUEST_CODE) {
- if (!CheckUnitsUtils.getCheckUnitsValue(this)) {
- /*
- * See bug http://code.google.com/p/android/issues/detail?id=23761.
- * Cannot use
- * CheckUnitsDialogFragment().show(getSupportFragmentManager(),
- * CHECK_UNITS_DIALOG_TAG). Need to use commitAllowingStateLoss with the
- * support package.
- */
- FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
- fragmentTransaction.add(new CheckUnitsDialogFragment(), CHECK_UNITS_DIALOG_TAG);
- fragmentTransaction.commitAllowingStateLoss();
- }
- }
- }
-
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.track_list, menu);
@@ -364,7 +339,8 @@ public class TrackListActivity extends FragmentActivity {
ExportActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) TrackFileFormat.TCX));
return true;
case R.id.track_list_delete_all:
- new DeleteAllDialogFragment().show(getSupportFragmentManager(), DELETE_ALL_DIALOG_TAG);
+ new DeleteAllDialogFragment().show(
+ getSupportFragmentManager(), DeleteAllDialogFragment.DELETE_ALL_DIALOG_TAG);
return true;
case R.id.track_list_aggregated_statistics:
startActivity(new Intent(this, AggregatedStatsActivity.class));
@@ -373,7 +349,7 @@ public class TrackListActivity extends FragmentActivity {
startActivity(new Intent(this, SettingsActivity.class));
return true;
case R.id.track_list_help:
- startActivity(new Intent(this, WelcomeActivity.class));
+ startActivity(new Intent(this, HelpActivity.class));
return true;
default:
return super.onOptionsItemSelected(item);
diff --git a/MyTracks/src/com/google/android/apps/mytracks/WelcomeActivity.java b/MyTracks/src/com/google/android/apps/mytracks/WelcomeActivity.java
deleted file mode 100644
index 2a1f5f42d..000000000
--- a/MyTracks/src/com/google/android/apps/mytracks/WelcomeActivity.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.android.apps.mytracks;
-
-import com.google.android.apps.mytracks.util.EulaUtils;
-import com.google.android.apps.mytracks.util.SystemUtils;
-import com.google.android.maps.mytracks.R;
-
-import android.app.Activity;
-import android.app.AlertDialog;
-import android.app.Dialog;
-import android.content.DialogInterface;
-import android.os.Bundle;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.widget.TextView;
-
-/**
- * An activity that displays a welcome screen.
- *
- * @author Sandor Dornbush
- */
-public class WelcomeActivity extends Activity {
-
- private static final int DIALOG_ABOUT_ID = 0;
- private static final int DIALOG_EULA_ID = 1;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.welcome);
- findViewById(R.id.welcome_ok).setOnClickListener(new OnClickListener() {
- public void onClick(View v) {
- finish();
- }
- });
- findViewById(R.id.welcome_about).setOnClickListener(new OnClickListener() {
- public void onClick(View v) {
- showDialog(DIALOG_ABOUT_ID);
- }
- });
- }
-
- @Override
- protected Dialog onCreateDialog(int id) {
- switch (id) {
- case DIALOG_ABOUT_ID:
- View view = getLayoutInflater().inflate(R.layout.about, null);
- TextView aboutVersion = (TextView) view.findViewById(R.id.about_version);
- aboutVersion.setText(SystemUtils.getMyTracksVersion(this));
- return new AlertDialog.Builder(this)
- .setCancelable(true)
- .setNegativeButton(R.string.about_license, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- showDialog(DIALOG_EULA_ID);
- }
- })
- .setPositiveButton(R.string.generic_ok, null)
- .setTitle(R.string.my_tracks_app_name)
- .setView(view)
- .create();
- case DIALOG_EULA_ID:
- return new AlertDialog.Builder(this)
- .setCancelable(true)
- .setMessage(EulaUtils.getEulaMessage(this))
- .setPositiveButton(R.string.generic_ok, null)
- .setTitle(R.string.eula_title)
- .create();
- default:
- return null;
- }
- }
-}
diff --git a/MyTracks/src/com/google/android/apps/mytracks/fragments/AboutDialogFragment.java b/MyTracks/src/com/google/android/apps/mytracks/fragments/AboutDialogFragment.java
new file mode 100644
index 000000000..dced8b993
--- /dev/null
+++ b/MyTracks/src/com/google/android/apps/mytracks/fragments/AboutDialogFragment.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2012 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.google.android.apps.mytracks.fragments;
+
+import com.google.android.apps.mytracks.util.SystemUtils;
+import com.google.android.maps.mytracks.R;
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.support.v4.app.DialogFragment;
+import android.view.View;
+import android.widget.TextView;
+
+/**
+ * A DialogFragment to show information about My Tracks.
+ *
+ * @author Jimmy Shih
+ */
+public class AboutDialogFragment extends DialogFragment {
+
+ public static final String ABOUT_DIALOG_TAG = "aboutDialog";
+
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ View view = getActivity().getLayoutInflater().inflate(R.layout.about, null);
+ TextView aboutVersion = (TextView) view.findViewById(R.id.about_version);
+ aboutVersion.setText(SystemUtils.getMyTracksVersion(getActivity()));
+ return new AlertDialog.Builder(getActivity())
+ .setCancelable(true)
+ .setNegativeButton(R.string.about_license, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ EulaDialogFragment.newInstance(true).show(
+ getActivity().getSupportFragmentManager(), EulaDialogFragment.EULA_DIALOG_TAG);
+ }
+ })
+ .setPositiveButton(R.string.generic_ok, null)
+ .setTitle(R.string.help_about)
+ .setView(view)
+ .create();
+ }
+}
\ No newline at end of file
diff --git a/MyTracks/src/com/google/android/apps/mytracks/fragments/CheckUnitsDialogFragment.java b/MyTracks/src/com/google/android/apps/mytracks/fragments/CheckUnitsDialogFragment.java
index ea0c4efb7..2370392d2 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/fragments/CheckUnitsDialogFragment.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/fragments/CheckUnitsDialogFragment.java
@@ -30,20 +30,27 @@ import android.os.Bundle;
import android.support.v4.app.DialogFragment;
/**
- * Check Units DialogFragment.
+ * A DialogFragment to check preferred units.
+ *
+ * @author Jimmy Shih
*/
public class CheckUnitsDialogFragment extends DialogFragment {
+ public static final String CHECK_UNITS_DIALOG_TAG = "checkUnitsDialog";
+
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
- return new AlertDialog.Builder(getActivity()).setCancelable(true)
+ return new AlertDialog.Builder(getActivity())
+ .setCancelable(true)
.setOnCancelListener(new DialogInterface.OnCancelListener() {
+ @Override
public void onCancel(DialogInterface dialog) {
CheckUnitsUtils.setCheckUnitsValue(getActivity());
}
})
.setPositiveButton(R.string.generic_ok, new DialogInterface.OnClickListener() {
+ @Override
public void onClick(DialogInterface dialog, int which) {
CheckUnitsUtils.setCheckUnitsValue(getActivity());
diff --git a/MyTracks/src/com/google/android/apps/mytracks/fragments/DeleteAllDialogFragment.java b/MyTracks/src/com/google/android/apps/mytracks/fragments/DeleteAllDialogFragment.java
index 28aecc201..1c845378c 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/fragments/DeleteAllDialogFragment.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/fragments/DeleteAllDialogFragment.java
@@ -26,10 +26,14 @@ import android.os.Bundle;
import android.support.v4.app.DialogFragment;
/**
- * Delete All DialogFragment.
+ * A DialogFragment to delete all tracks.
+ *
+ * @author Jimmy Shih
*/
public class DeleteAllDialogFragment extends DialogFragment {
+ public static final String DELETE_ALL_DIALOG_TAG = "deleteAllDialog";
+
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return DialogUtils.createConfirmationDialog(getActivity(),
diff --git a/MyTracks/src/com/google/android/apps/mytracks/fragments/EulaDialogFragment.java b/MyTracks/src/com/google/android/apps/mytracks/fragments/EulaDialogFragment.java
index 63d42c146..2f2a83300 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/fragments/EulaDialogFragment.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/fragments/EulaDialogFragment.java
@@ -16,49 +16,71 @@
package com.google.android.apps.mytracks.fragments;
-import com.google.android.apps.mytracks.TrackListActivity;
-import com.google.android.apps.mytracks.WelcomeActivity;
import com.google.android.apps.mytracks.util.EulaUtils;
import com.google.android.maps.mytracks.R;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
-import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
/**
- * Eula DialogFragment.
+ * A DialogFragment to show EULA.
+ *
+ * @author Jimmy Shih
*/
public class EulaDialogFragment extends DialogFragment {
+ public static final String EULA_DIALOG_TAG = "eulaDialog";
+ private static final String KEY_HAS_ACCEPTED = "hasAccepted";
+
+ /**
+ * Creates a new instance of {@link EulaDialogFragment}.
+ *
+ * @param hasAccepted true if the user has accepted the eula.
+ */
+ public static EulaDialogFragment newInstance(boolean hasAccepted) {
+ Bundle bundle = new Bundle();
+ bundle.putBoolean(KEY_HAS_ACCEPTED, hasAccepted);
+
+ EulaDialogFragment eulaDialogFragment = new EulaDialogFragment();
+ eulaDialogFragment.setArguments(bundle);
+ return eulaDialogFragment;
+ }
+
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
- return new AlertDialog.Builder(getActivity())
+ boolean hasAccepted = getArguments().getBoolean(KEY_HAS_ACCEPTED);
+ AlertDialog.Builder builder = new AlertDialog.Builder(getActivity())
.setCancelable(true)
.setMessage(EulaUtils.getEulaMessage(getActivity()))
- .setNegativeButton(R.string.eula_decline, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- getActivity().finish();
- }
- })
- .setOnCancelListener(new DialogInterface.OnCancelListener() {
- @Override
- public void onCancel(DialogInterface dialog) {
- getActivity().finish();
- }
- })
- .setPositiveButton(R.string.eula_accept, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- EulaUtils.setEulaValue(getActivity());
- getActivity().startActivityForResult(
- new Intent(getActivity(), WelcomeActivity.class), TrackListActivity.WELCOME_ACTIVITY_REQUEST_CODE);
- }
- })
- .setTitle(R.string.eula_title)
- .create();
+ .setTitle(R.string.eula_title);
+
+ if (hasAccepted) {
+ builder.setPositiveButton(R.string.generic_ok, null);
+ } else {
+ builder.setNegativeButton(R.string.eula_decline, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ getActivity().finish();
+ }
+ })
+ .setOnCancelListener(new DialogInterface.OnCancelListener() {
+ @Override
+ public void onCancel(DialogInterface dialog) {
+ getActivity().finish();
+ }
+ })
+ .setPositiveButton(R.string.eula_accept, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ EulaUtils.setEulaValue(getActivity());
+ new WelcomeDialogFragment().show(
+ getActivity().getSupportFragmentManager(), WelcomeDialogFragment.WELCOME_DIALOG_TAG);
+ }
+ });
+ }
+ return builder.create();
}
}
\ No newline at end of file
diff --git a/MyTracks/src/com/google/android/apps/mytracks/fragments/WelcomeDialogFragment.java b/MyTracks/src/com/google/android/apps/mytracks/fragments/WelcomeDialogFragment.java
new file mode 100644
index 000000000..f437eccc6
--- /dev/null
+++ b/MyTracks/src/com/google/android/apps/mytracks/fragments/WelcomeDialogFragment.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2012 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.google.android.apps.mytracks.fragments;
+
+import com.google.android.maps.mytracks.R;
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.support.v4.app.DialogFragment;
+import android.view.View;
+
+/**
+ * A DialogFrament to show the welcome info.
+ *
+ * @author Jimmy Shih
+ */
+public class WelcomeDialogFragment extends DialogFragment {
+
+ public static final String WELCOME_DIALOG_TAG = "welcomeDialog";
+
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ View view = getActivity().getLayoutInflater().inflate(R.layout.welcome, null);
+ return new AlertDialog.Builder(getActivity())
+ .setCancelable(true)
+ .setOnCancelListener(new DialogInterface.OnCancelListener() {
+ @Override
+ public void onCancel(DialogInterface dialog) {
+ checkUnits();
+ }
+ })
+ .setPositiveButton(R.string.generic_ok, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ checkUnits();
+ }
+ })
+ .setTitle(R.string.welcome_title)
+ .setView(view)
+ .create();
+ }
+
+ private void checkUnits() {
+ new CheckUnitsDialogFragment().show(
+ getActivity().getSupportFragmentManager(), CheckUnitsDialogFragment.CHECK_UNITS_DIALOG_TAG);
+ }
+}
diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/Api11Adapter.java b/MyTracks/src/com/google/android/apps/mytracks/util/Api11Adapter.java
index 638a32f84..e609b91c6 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/util/Api11Adapter.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/util/Api11Adapter.java
@@ -32,13 +32,18 @@ import android.widget.SearchView;
@TargetApi(11)
public class Api11Adapter extends Api10Adapter {
+ @Override
+ public void hideTitle(Activity activity) {
+ // Do nothing
+ }
+
@Override
public void configureActionBarHomeAsUp(Activity activity) {
ActionBar actionBar = activity.getActionBar();
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);
}
-
+
@Override
public void configureSearchWidget(Activity activity, MenuItem menuItem) {
SearchManager searchManager = (SearchManager) activity.getSystemService(Context.SEARCH_SERVICE);
diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/Api7Adapter.java b/MyTracks/src/com/google/android/apps/mytracks/util/Api7Adapter.java
index 81dea19a6..fb6d5cffb 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/util/Api7Adapter.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/util/Api7Adapter.java
@@ -104,17 +104,20 @@ public class Api7Adapter implements ApiAdapter {
}
@Override
- public void configureActionBarHomeAsUp(Activity activity) {
- // Action bar not available, just hide the title and let actions be shown
- // via the regular menu.
+ public void hideTitle(Activity activity) {
activity.requestWindowFeature(Window.FEATURE_NO_TITLE);
}
-
+
+ @Override
+ public void configureActionBarHomeAsUp(Activity activity) {
+ // Do nothing
+ }
+
@Override
public void configureSearchWidget(Activity activity, MenuItem menuItem) {
- // Do nothing
+ // Do nothing
}
-
+
@Override
public boolean handleSearchMenuSelection(Activity activity) {
activity.onSearchRequested();
diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/ApiAdapter.java b/MyTracks/src/com/google/android/apps/mytracks/util/ApiAdapter.java
index e108620f3..62b469633 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/util/ApiAdapter.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/util/ApiAdapter.java
@@ -100,14 +100,26 @@ public interface ApiAdapter {
* @param bluetoothDevice
*/
public BluetoothSocket getBluetoothSocket(BluetoothDevice bluetoothDevice) throws IOException;
-
+
+ /**
+ * Hides the title. If the platform supports the action bar, do nothing.
+ * Ideally, with the action bar, we would like to collapse the navigation tabs
+ * into the action bar. However, collapsing is not supported by the
+ * compatibility library.
+ *
+ * Due to changes in API level 11.
+ *
+ * @param activity the activity
+ */
+ public void hideTitle(Activity activity);
+
/**
* Configures the action bar with the Home button as an Up button. If the
- * system doesn't support action bar, hide the title bar.
+ * platform doesn't support the action bar, do nothing.
*
* Due to changes in API level 11.
*
- * @param activity the current activity
+ * @param activity the activity
*/
public void configureActionBarHomeAsUp(Activity activity);