Addressing review suggestions

This commit is contained in:
Rodrigo Damazio
2011-05-26 09:58:29 -03:00
parent 412eed51cd
commit 9f3099ef2b
5 changed files with 20 additions and 13 deletions
+1 -1
View File
@@ -134,7 +134,7 @@ limitations under the License.
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:noHistory="true">
<intent-filter>
<action android:name="android.intent.action.SAVE" />
<action android:name="@string/save_intent_action" />
<data android:mimeType="vnd.android.cursor.item/vnd.google.track" />
</intent-filter>
</activity>
+3
View File
@@ -39,4 +39,7 @@ limitations under the License.
<string name="sendtogoogle_google_fusiontables_url">google.com/fusiontables</string>
<string name="sendtogoogle_google_mymaps_url">maps.google.com</string>
<string name="sendtogoogle_google_docs_url">docs.google.com</string>
<!-- Intent actions -->
<string name="save_intent_action">android.intent.action.SAVE</string>
</resources>
@@ -33,9 +33,6 @@ public abstract class Constants {
*/
public static final String SDCARD_TOP_DIR = "MyTracks";
// Intent actions
public static final String ACTION_SAVE = "android.intent.action.SAVE";
/*
* onActivityResult request codes:
*/
@@ -15,7 +15,6 @@
*/
package com.google.android.apps.mytracks.io.file;
import static com.google.android.apps.mytracks.Constants.ACTION_SAVE;
import static com.google.android.apps.mytracks.Constants.TAG;
import com.google.android.apps.mytracks.Constants;
@@ -23,8 +22,8 @@ import com.google.android.apps.mytracks.DialogManager;
import com.google.android.apps.mytracks.content.MyTracksProviderUtils;
import com.google.android.apps.mytracks.content.TracksColumns;
import com.google.android.apps.mytracks.io.file.TrackWriterFactory.TrackFileFormat;
import com.google.android.apps.mytracks.util.UriUtils;
import com.google.android.apps.mytracks.util.FileUtils;
import com.google.android.apps.mytracks.util.UriUtils;
import com.google.android.maps.mytracks.R;
import android.app.Activity;
@@ -69,7 +68,7 @@ public class SaveActivity extends Activity {
String action = intent.getAction();
String type = intent.getType();
Uri data = intent.getData();
if (!ACTION_SAVE.equals(action) ||
if (!getString(R.string.save_intent_action).equals(action) ||
!TracksColumns.CONTENT_ITEMTYPE.equals(type) ||
!UriUtils.matchesContentUri(data, TracksColumns.CONTENT_URI)) {
Log.e(TAG, "Got bad save intent: " + intent);
@@ -183,7 +182,7 @@ public class SaveActivity extends Activity {
Uri uri = ContentUris.withAppendedId(TracksColumns.CONTENT_URI, trackId);
Intent intent = new Intent(ctx, SaveActivity.class);
intent.setAction(ACTION_SAVE);
intent.setAction(ctx.getString(R.string.save_intent_action));
intent.setDataAndType(uri, TracksColumns.CONTENT_ITEMTYPE);
intent.putExtra(EXTRA_FILE_FORMAT, exportFormat.ordinal());
intent.putExtra(EXTRA_SHARE_FILE, shareFile);
@@ -27,18 +27,26 @@ import java.util.List;
public class UriUtils {
public static boolean matchesContentUri(Uri uri, Uri baseContentUri) {
if (uri == null) return false;
if (uri == null) {
return false;
}
// Check that scheme and authority are the same.
if (!uri.getScheme().equals(baseContentUri.getScheme())) return false;
if (!uri.getAuthority().equals(baseContentUri.getAuthority())) return false;
if (!uri.getScheme().equals(baseContentUri.getScheme()) ||
!uri.getAuthority().equals(baseContentUri.getAuthority())) {
return false;
}
// Checks that all the base path components are in the URI.
List<String> uriPathSegments = uri.getPathSegments();
List<String> basePathSegments = baseContentUri.getPathSegments();
if (basePathSegments.size() > uriPathSegments.size()) return false;
if (basePathSegments.size() > uriPathSegments.size()) {
return false;
}
for (int i = 0; i < basePathSegments.size(); i++) {
if (!uriPathSegments.get(i).equals(basePathSegments.get(i))) return false;
if (!uriPathSegments.get(i).equals(basePathSegments.get(i))) {
return false;
}
}
return true;