forked from upstream-mirrors/OpenTracks
59a05262a1
ImportAllTracks is essentially just a modification of ExportAllTracks that uses the existing GpxImporter to import all GPX files found in /sdcard/MyTracks/gpx. So that the import functionality can always be accessed, the MyTracks Activity's MenuManager is altered so that the Tracks button shows regardless of whether there are any tracks in the database (ImportAllTracks is launched by a button in the lower right of the MyTracksList activity). A Toast message shows if no GPX files are found; this serves as a hint to users on where to put GPX files for import so that this addition should be discoverable and useable without documentation. Im
78 lines
2.9 KiB
Java
78 lines
2.9 KiB
Java
/*
|
|
* Copyright 2010 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.io;
|
|
|
|
import android.content.Intent;
|
|
|
|
/**
|
|
* This interface describes a class that will fetch and maintain a Google
|
|
* authentication token.
|
|
*
|
|
* @author Sandor Dornbush
|
|
*/
|
|
public interface AuthManager {
|
|
|
|
/**
|
|
* Initializes the login process. The user should be asked to login if they
|
|
* haven't already. The {@link Runnable} provided will be executed when the
|
|
* auth token is successfully fetched.
|
|
*
|
|
* @param whenFinished A {@link Runnable} to execute when the auth token
|
|
* has been successfully fetched and is available via
|
|
* {@link #getAuthToken()}
|
|
*/
|
|
public abstract void doLogin(Runnable whenFinished, Object o);
|
|
|
|
/**
|
|
* The {@link android.app.Activity} owner of this class should call this
|
|
* function when it gets {@link android.app.Activity#onActivityResult} with
|
|
* the request code passed into the constructor. The resultCode and results
|
|
* should come directly from the {@link android.app.Activity#onActivityResult}
|
|
* function. This function will return true if an auth token was successfully
|
|
* fetched or the process is not finished.
|
|
*
|
|
* @param resultCode The result code passed in to the
|
|
* {@link android.app.Activity}'s
|
|
* {@link android.app.Activity#onActivityResult} function
|
|
* @param results The data passed in to the {@link android.app.Activity}'s
|
|
* {@link android.app.Activity#onActivityResult} function
|
|
* @return True if the auth token was fetched or we aren't done fetching
|
|
* the auth token, or False if there was an error or the request was
|
|
* canceled
|
|
*/
|
|
public abstract boolean authResult(int resultCode, Intent results);
|
|
|
|
/**
|
|
* Returns the current auth token. Response may be null if no valid auth
|
|
* token has been fetched.
|
|
*
|
|
* @return The current auth token or null if no auth token has been
|
|
* fetched
|
|
*/
|
|
public abstract String getAuthToken();
|
|
|
|
/**
|
|
* Invalidates the existing auth token and request a new one. The
|
|
* {@link Runnable} provided will be executed when the new auth token is
|
|
* successfully fetched.
|
|
*
|
|
* @param whenFinished A {@link Runnable} to execute when a new auth token
|
|
* is successfully fetched
|
|
*/
|
|
public abstract void invalidateAndRefresh(Runnable whenFinished);
|
|
|
|
}
|