|
|
@ -4,11 +4,13 @@ import java.util.Date;
|
|
|
|
|
|
|
|
|
|
|
|
import android.content.DialogInterface;
|
|
|
|
import android.content.DialogInterface;
|
|
|
|
import android.content.DialogInterface.OnClickListener;
|
|
|
|
import android.content.DialogInterface.OnClickListener;
|
|
|
|
|
|
|
|
import android.content.Intent;
|
|
|
|
import android.content.res.Resources;
|
|
|
|
import android.content.res.Resources;
|
|
|
|
import android.graphics.Color;
|
|
|
|
import android.graphics.Color;
|
|
|
|
import android.os.Bundle;
|
|
|
|
import android.os.Bundle;
|
|
|
|
import android.preference.Preference;
|
|
|
|
import android.preference.Preference;
|
|
|
|
import android.preference.Preference.OnPreferenceClickListener;
|
|
|
|
import android.preference.Preference.OnPreferenceClickListener;
|
|
|
|
|
|
|
|
import android.preference.PreferenceCategory;
|
|
|
|
import android.view.View;
|
|
|
|
import android.view.View;
|
|
|
|
import android.view.ViewGroup.OnHierarchyChangeListener;
|
|
|
|
import android.view.ViewGroup.OnHierarchyChangeListener;
|
|
|
|
|
|
|
|
|
|
|
@ -30,6 +32,8 @@ abstract public class SyncProviderPreferences extends TodorooPreferenceActivity
|
|
|
|
|
|
|
|
|
|
|
|
// --- interface
|
|
|
|
// --- interface
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static final int RESULT_CODE_SYNCHRONIZE = 2;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @return your preference resource
|
|
|
|
* @return your preference resource
|
|
|
|
*/
|
|
|
|
*/
|
|
|
@ -52,6 +56,8 @@ abstract public class SyncProviderPreferences extends TodorooPreferenceActivity
|
|
|
|
abstract public SyncProviderUtilities getUtilities();
|
|
|
|
abstract public SyncProviderUtilities getUtilities();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected static final int REQUEST_LOGIN = 0;
|
|
|
|
|
|
|
|
|
|
|
|
// --- implementation
|
|
|
|
// --- implementation
|
|
|
|
|
|
|
|
|
|
|
|
private int statusColor = Color.BLACK;
|
|
|
|
private int statusColor = Color.BLACK;
|
|
|
@ -106,18 +112,12 @@ abstract public class SyncProviderPreferences extends TodorooPreferenceActivity
|
|
|
|
else if (r.getString(R.string.sync_SPr_status_key).equals(preference.getKey())) {
|
|
|
|
else if (r.getString(R.string.sync_SPr_status_key).equals(preference.getKey())) {
|
|
|
|
boolean loggedIn = getUtilities().isLoggedIn();
|
|
|
|
boolean loggedIn = getUtilities().isLoggedIn();
|
|
|
|
String status;
|
|
|
|
String status;
|
|
|
|
String subtitle = ""; //$NON-NLS-1$
|
|
|
|
//String subtitle = ""; //$NON-NLS-1$
|
|
|
|
|
|
|
|
|
|
|
|
// ! logged in - display message, click -> sync
|
|
|
|
// ! logged in - display message, click -> sync
|
|
|
|
if(!loggedIn) {
|
|
|
|
if(!loggedIn) {
|
|
|
|
status = r.getString(R.string.sync_status_loggedout);
|
|
|
|
status = r.getString(R.string.sync_status_loggedout);
|
|
|
|
statusColor = Color.RED;
|
|
|
|
statusColor = Color.rgb(19, 132, 165);
|
|
|
|
preference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
|
|
|
|
|
|
|
public boolean onPreferenceClick(Preference p) {
|
|
|
|
|
|
|
|
startSync();
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// sync is occurring
|
|
|
|
// sync is occurring
|
|
|
|
else if(getUtilities().isOngoing()) {
|
|
|
|
else if(getUtilities().isOngoing()) {
|
|
|
@ -134,9 +134,9 @@ abstract public class SyncProviderPreferences extends TodorooPreferenceActivity
|
|
|
|
statusColor = Color.rgb(100, 0, 0);
|
|
|
|
statusColor = Color.rgb(100, 0, 0);
|
|
|
|
|
|
|
|
|
|
|
|
if(getUtilities().getLastSyncDate() > 0) {
|
|
|
|
if(getUtilities().getLastSyncDate() > 0) {
|
|
|
|
subtitle = r.getString(R.string.sync_status_failed_subtitle,
|
|
|
|
// subtitle = r.getString(R.string.sync_status_failed_subtitle,
|
|
|
|
DateUtilities.getDateStringWithTime(SyncProviderPreferences.this,
|
|
|
|
// DateUtilities.getDateStringWithTime(SyncProviderPreferences.this,
|
|
|
|
new Date(getUtilities().getLastSyncDate())));
|
|
|
|
// new Date(getUtilities().getLastSyncDate())));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
long lastSyncDate = getUtilities().getLastSyncDate();
|
|
|
|
long lastSyncDate = getUtilities().getLastSyncDate();
|
|
|
@ -146,14 +146,6 @@ abstract public class SyncProviderPreferences extends TodorooPreferenceActivity
|
|
|
|
status = r.getString(R.string.sync_status_errors, dateString);
|
|
|
|
status = r.getString(R.string.sync_status_errors, dateString);
|
|
|
|
statusColor = Color.rgb(100, 100, 0);
|
|
|
|
statusColor = Color.rgb(100, 100, 0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
preference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
|
|
|
|
|
|
|
public boolean onPreferenceClick(Preference p) {
|
|
|
|
|
|
|
|
String error = getUtilities().getLastError();
|
|
|
|
|
|
|
|
if(error != null)
|
|
|
|
|
|
|
|
DialogUtilities.okDialog(SyncProviderPreferences.this, error, null);
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if(getUtilities().getLastSyncDate() > 0) {
|
|
|
|
else if(getUtilities().getLastSyncDate() > 0) {
|
|
|
|
status = r.getString(R.string.sync_status_success,
|
|
|
|
status = r.getString(R.string.sync_status_success,
|
|
|
@ -163,38 +155,21 @@ abstract public class SyncProviderPreferences extends TodorooPreferenceActivity
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
status = r.getString(R.string.sync_status_never);
|
|
|
|
status = r.getString(R.string.sync_status_never);
|
|
|
|
statusColor = Color.rgb(0, 0, 100);
|
|
|
|
statusColor = Color.rgb(0, 0, 100);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
preference.setTitle(R.string.sync_SPr_sync);
|
|
|
|
|
|
|
|
preference.setSummary(r.getString(R.string.sync_SPr_status_subtitle, status));
|
|
|
|
|
|
|
|
|
|
|
|
preference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
|
|
|
preference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
|
|
|
public boolean onPreferenceClick(Preference p) {
|
|
|
|
public boolean onPreferenceClick(Preference p) {
|
|
|
|
startSync();
|
|
|
|
startSync();
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
preference.setTitle(status);
|
|
|
|
|
|
|
|
preference.setSummary(subtitle);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
View view = findViewById(R.id.status);
|
|
|
|
View view = findViewById(R.id.status);
|
|
|
|
if(view != null)
|
|
|
|
if(view != null)
|
|
|
|
view.setBackgroundColor(statusColor);
|
|
|
|
view.setBackgroundColor(statusColor);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// sync button
|
|
|
|
|
|
|
|
else if (r.getString(R.string.sync_SPr_sync_key).equals(preference.getKey())) {
|
|
|
|
|
|
|
|
boolean loggedIn = getUtilities().isLoggedIn();
|
|
|
|
|
|
|
|
preference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
|
|
|
|
|
|
|
public boolean onPreferenceClick(Preference p) {
|
|
|
|
|
|
|
|
startSync();
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
if(!loggedIn) {
|
|
|
|
|
|
|
|
preference.setTitle(R.string.sync_SPr_sync_log_in);
|
|
|
|
|
|
|
|
preference.setSummary("");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
preference.setSummary(r.getString(R.string.sync_SPr_logged_in_prefix) + " " + getUtilities().getLoggedInUserName());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// log out button
|
|
|
|
// log out button
|
|
|
|
else if (r.getString(R.string.sync_SPr_forget_key).equals(preference.getKey())) {
|
|
|
|
else if (r.getString(R.string.sync_SPr_forget_key).equals(preference.getKey())) {
|
|
|
|
boolean loggedIn = getUtilities().isLoggedIn();
|
|
|
|
boolean loggedIn = getUtilities().isLoggedIn();
|
|
|
@ -212,8 +187,21 @@ abstract public class SyncProviderPreferences extends TodorooPreferenceActivity
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
if(!loggedIn)
|
|
|
|
if(!loggedIn) {
|
|
|
|
preference.setEnabled(false);
|
|
|
|
PreferenceCategory category = (PreferenceCategory) findPreference(r.getString(R.string.sync_SPr_key_options));
|
|
|
|
|
|
|
|
category.removePreference(preference);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
|
|
|
|
|
|
|
if (requestCode == REQUEST_LOGIN && resultCode == RESULT_OK) {
|
|
|
|
|
|
|
|
setResult(RESULT_CODE_SYNCHRONIZE);
|
|
|
|
|
|
|
|
finish();
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
super.onActivityResult(requestCode, resultCode, data);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|