forked from upstream-mirrors/OpenTracks
185 lines
6.7 KiB
Java
185 lines
6.7 KiB
Java
/*
|
|
* 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.maps.mytracks.R;
|
|
|
|
import android.app.Dialog;
|
|
import android.content.Context;
|
|
import android.content.SharedPreferences;
|
|
import android.content.SharedPreferences.Editor;
|
|
import android.os.Bundle;
|
|
import android.view.View;
|
|
import android.view.Window;
|
|
import android.widget.Button;
|
|
import android.widget.CheckBox;
|
|
import android.widget.CompoundButton;
|
|
import android.widget.CompoundButton.OnCheckedChangeListener;
|
|
import android.widget.RadioButton;
|
|
import android.widget.RadioGroup;
|
|
|
|
/**
|
|
* A dialog where the user can choose where to send the tracks to, i.e.
|
|
* to Google My Maps, Google Docs, etc.
|
|
*
|
|
* @author Leif Hendrik Wilden
|
|
*/
|
|
public class SendToGoogleDialog extends Dialog {
|
|
|
|
private RadioGroup groupMyMaps;
|
|
private RadioButton createNewMapRadioButton;
|
|
private RadioButton pickMapRadioButton;
|
|
private CheckBox sendToMyMapsCheckBox;
|
|
private CheckBox sendToFusionTablesCheckBox;
|
|
private CheckBox sendToDocsCheckBox;
|
|
private RadioButton sendStatsRadioButton;
|
|
private RadioButton sendStatsAndPointsRadioButton;
|
|
private Button sendButton;
|
|
|
|
public SendToGoogleDialog(Context context) {
|
|
super(context);
|
|
}
|
|
|
|
@Override
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
super.onCreate(savedInstanceState);
|
|
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
|
setContentView(R.layout.mytracks_send_to_google);
|
|
|
|
Button cancel = (Button) findViewById(R.id.sendtogoogle_cancel);
|
|
cancel.setOnClickListener(new View.OnClickListener() {
|
|
public void onClick(View v) {
|
|
MyTracks.getInstance().dismissDialog(DialogManager.DIALOG_SEND_TO_GOOGLE);
|
|
}
|
|
});
|
|
|
|
Button send = (Button) findViewById(R.id.sendtogoogle_send_now);
|
|
send.setOnClickListener(new View.OnClickListener() {
|
|
public void onClick(View v) {
|
|
dismiss();
|
|
MyTracks.getInstance().sendToGoogle();
|
|
}
|
|
});
|
|
|
|
OnCheckedChangeListener checkBoxListener = new OnCheckedChangeListener() {
|
|
public void onCheckedChanged(CompoundButton button, boolean checked) {
|
|
sendButton.setEnabled(
|
|
sendToMyMapsCheckBox.isChecked() ||
|
|
sendToFusionTablesCheckBox.isChecked() ||
|
|
sendToDocsCheckBox.isChecked());
|
|
groupMyMaps.setVisibility(sendToMyMapsCheckBox.isChecked() ? View.VISIBLE : View.INVISIBLE);
|
|
//groupDocs.setVisibility(
|
|
// sendToDocsCheckBox.isChecked() ? View.VISIBLE : View.INVISIBLE);
|
|
}
|
|
};
|
|
|
|
sendButton = (Button) findViewById(R.id.sendtogoogle_send_now);
|
|
groupMyMaps = (RadioGroup) findViewById(R.id.sendtogoogle_group_mymaps);
|
|
sendToMyMapsCheckBox =
|
|
(CheckBox) findViewById(R.id.sendtogoogle_google_mymaps);
|
|
sendToMyMapsCheckBox.setOnCheckedChangeListener(checkBoxListener);
|
|
sendToFusionTablesCheckBox =
|
|
(CheckBox) findViewById(R.id.sendtogoogle_google_fusiontables);
|
|
sendToFusionTablesCheckBox.setOnCheckedChangeListener(checkBoxListener);
|
|
sendToDocsCheckBox = (CheckBox) findViewById(R.id.sendtogoogle_google_docs);
|
|
sendToDocsCheckBox.setOnCheckedChangeListener(checkBoxListener);
|
|
createNewMapRadioButton =
|
|
(RadioButton) findViewById(R.id.sendtogoogle_create_new_map);
|
|
pickMapRadioButton =
|
|
(RadioButton) findViewById(R.id.sendtogoogle_pick_existing_map);
|
|
sendStatsRadioButton =
|
|
(RadioButton) findViewById(R.id.sendtogoogle_send_stats);
|
|
sendStatsAndPointsRadioButton = (RadioButton) findViewById(
|
|
R.id.sendtogoogle_send_stats_and_points);
|
|
|
|
SharedPreferences prefs =
|
|
getContext().getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
|
|
if (prefs != null) {
|
|
sendToMyMapsCheckBox.setChecked(
|
|
prefs.getBoolean(
|
|
getContext().getString(R.string.send_to_my_maps_key), true));
|
|
sendToFusionTablesCheckBox.setChecked(
|
|
prefs.getBoolean(
|
|
getContext().getString(R.string.send_to_fusion_tables_key), true));
|
|
sendToDocsCheckBox.setChecked(
|
|
prefs.getBoolean(
|
|
getContext().getString(R.string.send_to_docs_key), true));
|
|
pickMapRadioButton.setChecked(
|
|
prefs.getBoolean(
|
|
getContext().getString(R.string.pick_existing_map_key), false));
|
|
createNewMapRadioButton.setChecked(
|
|
!prefs.getBoolean(
|
|
getContext().getString(R.string.pick_existing_map_key), false));
|
|
sendStatsAndPointsRadioButton.setChecked(
|
|
prefs.getBoolean(
|
|
getContext().getString(R.string.send_stats_and_points_key),
|
|
false));
|
|
sendStatsRadioButton.setChecked(
|
|
!prefs.getBoolean(
|
|
getContext().getString(R.string.send_stats_and_points_key),
|
|
false));
|
|
}
|
|
}
|
|
|
|
@Override
|
|
protected void onStop() {
|
|
SharedPreferences prefs =
|
|
getContext().getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
|
|
if (prefs != null) {
|
|
Editor editor = prefs.edit();
|
|
if (editor != null) {
|
|
editor.putBoolean(
|
|
getContext().getString(R.string.send_to_my_maps_key),
|
|
sendToMyMapsCheckBox.isChecked());
|
|
editor.putBoolean(
|
|
getContext().getString(R.string.send_to_fusion_tables_key),
|
|
sendToFusionTablesCheckBox.isChecked());
|
|
editor.putBoolean(
|
|
getContext().getString(R.string.send_to_docs_key),
|
|
sendToDocsCheckBox.isChecked());
|
|
editor.putBoolean(
|
|
getContext().getString(R.string.pick_existing_map_key),
|
|
pickMapRadioButton.isChecked());
|
|
editor.putBoolean(
|
|
getContext().getString(R.string.send_stats_and_points_key),
|
|
sendStatsAndPointsRadioButton.isChecked());
|
|
editor.commit();
|
|
}
|
|
}
|
|
super.onStop();
|
|
}
|
|
|
|
public boolean getSendToMyMaps() {
|
|
return sendToMyMapsCheckBox.isChecked();
|
|
}
|
|
|
|
public boolean getSendToFusionTables() {
|
|
return sendToFusionTablesCheckBox.isChecked();
|
|
}
|
|
|
|
public boolean getSendToDocs() {
|
|
return sendToDocsCheckBox.isChecked();
|
|
}
|
|
|
|
public boolean getCreateNewMap() {
|
|
return createNewMapRadioButton.isChecked();
|
|
}
|
|
|
|
public boolean getSendStatsAndPoints() {
|
|
return sendStatsAndPointsRadioButton.isChecked();
|
|
}
|
|
}
|