diff --git a/MyTracks/src/com/google/android/apps/mytracks/MyTracksApplication.java b/MyTracks/src/com/google/android/apps/mytracks/MyTracksApplication.java index 4225909cf..45b4b0884 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/MyTracksApplication.java +++ b/MyTracks/src/com/google/android/apps/mytracks/MyTracksApplication.java @@ -1,5 +1,18 @@ -// Copyright 2011 Google Inc. All Rights Reserved. - +/* + * 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.content.TrackDataHub; @@ -8,24 +21,25 @@ import android.app.Application; /** * MyTracksApplication for keeping global state. - * - * @author jshih@google.com (Jimmy Shih) * + * @author jshih@google.com (Jimmy Shih) */ public class MyTracksApplication extends Application { + private TrackDataHub trackDataHub; /** * Gets the application's TrackDataHub. * + * Note: use synchronized to make sure only one instance is created per application. */ - public TrackDataHub getTrackDataHub() { - if (trackDataHub == null) { + public synchronized TrackDataHub getTrackDataHub() { + if (trackDataHub == null) { trackDataHub = TrackDataHub.newInstance(getApplicationContext()); } return trackDataHub; } - + public void clearTrackDataHub() { trackDataHub = null; }