Update send to google result dialog.

This commit is contained in:
Jimmy Shih
2013-07-03 15:08:45 -07:00
parent a774693135
commit 1de84fa3da
7 changed files with 43 additions and 229 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

-148
View File
@@ -1,148 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
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.
-->
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/ScrollView" >
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="vertical"
android:padding="8dp" >
<!-- Google Drive result -->
<LinearLayout
android:id="@+id/upload_result_drive_result"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="horizontal" >
<ImageView
android:contentDescription="@string/generic_success_title"
android:id="@+id/upload_result_drive_result_icon"
android:layout_gravity="center_vertical"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:padding="4dp"
android:src="@drawable/success" />
<LinearLayout
android:layout_gravity="center_vertical"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="vertical"
android:paddingLeft="8dp" >
<TextView
android:text="@string/export_google_drive"
style="@style/TextMedium" />
<TextView
android:text="@string/export_google_drive_url"
style="@style/TextSmall" />
</LinearLayout>
</LinearLayout>
<!-- Google Maps result -->
<LinearLayout
android:id="@+id/upload_result_maps_result"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="horizontal" >
<ImageView
android:contentDescription="@string/generic_success_title"
android:id="@+id/upload_result_maps_result_icon"
android:layout_gravity="center_vertical"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:padding="4dp"
android:src="@drawable/success" />
<LinearLayout
android:layout_gravity="center_vertical"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="vertical"
android:paddingLeft="8dp" >
<TextView
android:text="@string/export_google_maps"
style="@style/TextMedium" />
<TextView
android:text="@string/export_google_maps_url"
style="@style/TextSmall" />
</LinearLayout>
</LinearLayout>
<!-- Google Fusion Tables result -->
<LinearLayout
android:id="@+id/upload_result_fusion_tables_result"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="horizontal" >
<ImageView
android:contentDescription="@string/generic_success_title"
android:id="@+id/upload_result_fusion_tables_result_icon"
android:layout_gravity="center_vertical"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:padding="4dp"
android:src="@drawable/success" />
<LinearLayout
android:layout_gravity="center_vertical"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="vertical"
android:paddingLeft="8dp" >
<TextView
android:text="@string/export_google_fusion_tables"
style="@style/TextMedium" />
<TextView
android:text="@string/export_google_fusion_tables_url"
style="@style/TextSmall" />
</LinearLayout>
</LinearLayout>
<!-- Google Spreadsheets result -->
<LinearLayout
android:id="@+id/upload_result_spreadsheets_result"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="horizontal" >
<ImageView
android:contentDescription="@string/generic_success_title"
android:id="@+id/upload_result_spreadsheets_result_icon"
android:layout_gravity="center_vertical"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:padding="4dp"
android:src="@drawable/success" />
<LinearLayout
android:layout_gravity="center_vertical"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="vertical"
android:paddingLeft="8dp" >
<TextView
android:text="@string/export_google_spreadsheets"
style="@style/TextMedium" />
<TextView
android:text="@string/export_google_spreadsheets_url"
style="@style/TextSmall" />
</LinearLayout>
</LinearLayout>
<!-- Footer -->
<TextView
android:id="@+id/upload_result_success_footer"
android:padding="8dp"
android:text="@string/send_google_success_footer"
style="@style/TextSmall" />
<TextView
android:id="@+id/upload_result_error_footer"
android:padding="8dp"
android:text="@string/send_google_error"
style="@style/TextMedium" />
</LinearLayout>
</ScrollView>
+15 -10
View File
@@ -659,6 +659,13 @@ limitations under the License.
translation_description="When exporting a track, the option to export to Google Drive.">
Google Drive
</string>
<string name="export_google_error"
translation_description="When exporting a track, the error message.
%1$s: service name. E.g, Google Maps.
%2$s: service url. E.g, maps.google.com.">
An error has occurred. Unable to export to %1$s (%2$s). Please try again.
</string>
<string name="export_google_fusion_tables"
translation_description="When exporting a track, the option to export to Google Fusion Tables.">
Google Fusion Tables
@@ -691,6 +698,14 @@ limitations under the License.
translation_description="When exporting a track, the option to export to Google Spreadsheets.">
Google Spreadsheets
</string>
<string name="export_google_success"
translation_description="When sending a track to Google, the additional comment on the bottom of
the result page.
%1$s: service name. E.g, Google Maps.
%2$s: service url. E.g, maps.google.com.">
Track exported to %1$s (%2$s). It may take a few minutes for it to appear.
</string>
<string name="export_title"
translation_description="The dialog title when exporting a track.">
Export to&#8230;
@@ -1334,11 +1349,6 @@ limitations under the License.
translation_description="When sending to Google, the dialog title to choose a Google account.">
Choose account
</string>
<string name="send_google_error"
translation_description="When sending a track to Google, a message indicating that an error has
occurred and ask the user to try again.">
An error has occurred. Please try again.
</string>
<string name="send_google_no_account_message"
translation_description="When sending to Google, the dialog message when no Google account is
found.">
@@ -1360,11 +1370,6 @@ limitations under the License.
%1$s: service name. 'Google Maps', 'Google Fusion Tables', or 'Google Spreadsheets'.">
Sending to %1$s&#8230;
</string>
<string name="send_google_success_footer"
translation_description="When sending a track to Google, the additional comment on the bottom of
the result page.">
It may take a few minutes before new tracks appear.
</string>
<string name="send_google_track_part_label"
translation_description="When sending a track to Google, the label to name segments of a large
track. E.g., 'track_name (Part 1)'.
@@ -32,9 +32,6 @@ import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
/**
* A dialog to show the result of uploading to Google services.
@@ -79,89 +76,49 @@ public class UploadResultActivity extends FragmentActivity implements ChooseActi
if (id != DIALOG_RESULT_ID) {
return null;
}
view = getLayoutInflater().inflate(R.layout.upload_result, null);
LinearLayout driveResult = (LinearLayout) view.findViewById(R.id.upload_result_drive_result);
LinearLayout mapsResult = (LinearLayout) view.findViewById(R.id.upload_result_maps_result);
LinearLayout fusionTablesResult = (LinearLayout) view.findViewById(
R.id.upload_result_fusion_tables_result);
LinearLayout spreadsheetsResult = (LinearLayout) view.findViewById(
R.id.upload_result_spreadsheets_result);
ImageView driveResultIcon = (ImageView) view.findViewById(R.id.upload_result_drive_result_icon);
ImageView mapsResultIcon = (ImageView) view.findViewById(R.id.upload_result_maps_result_icon);
ImageView fusionTablesResultIcon = (ImageView) view.findViewById(
R.id.upload_result_fusion_tables_result_icon);
ImageView spreadsheetsResultIcon = (ImageView) view.findViewById(
R.id.upload_result_spreadsheets_result_icon);
TextView successFooter = (TextView) view.findViewById(R.id.upload_result_success_footer);
TextView errorFooter = (TextView) view.findViewById(R.id.upload_result_error_footer);
boolean hasError = false;
if (!sendRequest.isSendDrive()) {
driveResult.setVisibility(View.GONE);
int serviceName;
int serviceUrl;
boolean success;
if (sendRequest.isSendDrive()) {
serviceName = R.string.export_google_drive;
serviceUrl = R.string.export_google_drive_url;
success = sendRequest.isDriveSuccess();
} else if (sendRequest.isSendMaps()) {
serviceName = R.string.export_google_maps;
serviceUrl = R.string.export_google_maps_url;
success = sendRequest.isMapsSuccess();
} else if (sendRequest.isSendFusionTables()) {
serviceName = R.string.export_google_fusion_tables;
serviceUrl = R.string.export_google_fusion_tables_url;
success = sendRequest.isFusionTablesSuccess();
} else {
if (!sendRequest.isDriveSuccess()) {
driveResultIcon.setImageResource(R.drawable.failure);
driveResultIcon.setContentDescription(getString(R.string.generic_error_title));
hasError = true;
}
}
if (!sendRequest.isSendMaps()) {
mapsResult.setVisibility(View.GONE);
} else {
if (!sendRequest.isMapsSuccess()) {
mapsResultIcon.setImageResource(R.drawable.failure);
mapsResultIcon.setContentDescription(getString(R.string.generic_error_title));
hasError = true;
}
}
if (!sendRequest.isSendFusionTables()) {
fusionTablesResult.setVisibility(View.GONE);
} else {
if (!sendRequest.isFusionTablesSuccess()) {
fusionTablesResultIcon.setImageResource(R.drawable.failure);
fusionTablesResultIcon.setContentDescription(getString(R.string.generic_error_title));
hasError = true;
}
}
if (!sendRequest.isSendSpreadsheets()) {
spreadsheetsResult.setVisibility(View.GONE);
} else {
if (!sendRequest.isSpreadsheetsSuccess()) {
spreadsheetsResultIcon.setImageResource(R.drawable.failure);
spreadsheetsResultIcon.setContentDescription(getString(R.string.generic_error_title));
hasError = true;
}
}
if (hasError) {
successFooter.setVisibility(View.GONE);
} else {
errorFooter.setVisibility(View.GONE);
serviceName = R.string.export_google_spreadsheets;
serviceUrl = R.string.export_google_spreadsheets_url;
success = sendRequest.isSpreadsheetsSuccess();
}
String message = getString(
success ? R.string.export_google_success : R.string.export_google_error,
getString(serviceName), getString(serviceUrl));
AlertDialog.Builder builder = new AlertDialog.Builder(this).setCancelable(true)
.setIcon(hasError ? android.R.drawable.ic_dialog_alert : android.R.drawable.ic_dialog_info)
.setIcon(success ? android.R.drawable.ic_dialog_info : android.R.drawable.ic_dialog_alert)
.setMessage(message)
.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
finish();
}
}).setPositiveButton(R.string.generic_ok, new DialogInterface.OnClickListener() {
})
.setPositiveButton(R.string.generic_ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
}).setTitle(hasError ? R.string.generic_error_title : R.string.generic_success_title)
.setView(view);
})
.setTitle(success ? R.string.generic_success_title : R.string.generic_error_title);
// Add a Share URL button if shareUrl exists
if (!hasError && shareUrl != null) {
if (success && shareUrl != null) {
builder.setNegativeButton(
R.string.share_track_share_url, new DialogInterface.OnClickListener() {
@Override