moved logout into settings front page

This commit is contained in:
Peter Siegmund
2016-07-28 17:33:30 +02:00
parent ae0136016e
commit 78d40debbd
12 changed files with 30 additions and 42 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 273 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 448 B

@@ -515,7 +515,4 @@
<string name="sync_to_minute">Sync zur Minute</string>
<string name="non_public_changed_title">Nicht öffentliche Events</string>
<string name="preference_logout_title">@string/logout</string>
<string name="preference_logout_summary">Löscht die Logindaten, danach müssen diese manuell eingeben oder der QR-Code gescannt werden</string>
</resources>
@@ -128,6 +128,4 @@
<string name="preference_config_needs_refresh_key" translatable="false">config_refresh</string>
<bool name="preference_config_needs_refresh_default" translatable="false">true</bool>
<string name="preference_logout_key">logout_key</string>
</resources>
</resources>
@@ -543,7 +543,4 @@
<string name="sync_to_minute">Sync to minute</string>
<string name="non_public_changed_title">Non-Public Events</string>
<string name="preference_logout_title">@string/logout</string>
<string name="preference_logout_summary">Delete login credential, so you have to enter it manually or scan the QR code</string>
</resources>
</resources>
@@ -21,11 +21,6 @@
android:key="@string/preference_update_key"
android:summary="@string/update_app_description"
android:title="@string/update_app_header"/>
<Preference
android:key="@string/preference_logout_key"
android:summary="@string/preference_logout_summary"
android:title="@string/preference_logout_title" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/settings_category_polling">
@@ -7,11 +7,14 @@ import java.util.List;
import android.app.Fragment;
import android.app.LoaderManager;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.DrawableRes;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
@@ -33,6 +36,7 @@ import com.sap.sailing.racecommittee.app.R;
import com.sap.sailing.racecommittee.app.data.DataManager;
import com.sap.sailing.racecommittee.app.data.clients.LoadClient;
import com.sap.sailing.racecommittee.app.domain.configuration.impl.PreferencesDeviceConfigurationLoader;
import com.sap.sailing.racecommittee.app.ui.activities.PasswordActivity;
import com.sap.sailing.racecommittee.app.ui.fragments.preference.CourseDesignerPreferenceFragment;
import com.sap.sailing.racecommittee.app.ui.fragments.preference.GeneralPreferenceFragment;
import com.sap.sailing.racecommittee.app.ui.fragments.preference.RegattaPreferenceFragment;
@@ -93,6 +97,24 @@ public class MainPreferenceFragment extends LoggableFragment {
getLoaderManager().initLoader(0, null, configurationLoader).forceLoad();
}
}));
items.add(new PreferenceItem(getString(R.string.logout), R.drawable.ic_logout_yellow_24dp, new Runnable() {
@Override
public void run() {
new AlertDialog.Builder(getActivity(), R.style.AppTheme_AlertDialog)
.setTitle(R.string.logout_dialog_title)
.setMessage(getString(R.string.logout_dialog_message))
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
AppPreferences.on(getActivity()).setAccessToken(null);
startActivity(new Intent(getActivity(), PasswordActivity.class));
getActivity().finish();
}
})
.setNegativeButton(android.R.string.cancel, null)
.show();
}
}));
recyclerView.addItemDecoration(new PreferenceMarginItemDecoration(getActivity(), getResources().getDimensionPixelSize(R.dimen.preference_margin)));
recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), getResources().getInteger(R.integer.preference_columns)));
recyclerView.setAdapter(new PreferenceAdapter(getActivity(), items));
@@ -122,7 +144,10 @@ public class MainPreferenceFragment extends LoggableFragment {
holder.item = mItems.get(position);
holder.textView.setText(holder.item.title);
holder.textView.setCompoundDrawablesWithIntrinsicBounds(holder.item.drawable, null, null, null);
holder.line.setVisibility(TextUtils.isEmpty(holder.item.clazz) ? View.GONE : View.VISIBLE);
int count = mItems.size() - 1;
int columns = getResources().getInteger(R.integer.preference_columns);
holder.line.setVisibility((position > count - columns) ? View.GONE : View.VISIBLE);
}
@Override
@@ -1,7 +1,6 @@
package com.sap.sailing.racecommittee.app.ui.fragments.preference;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
@@ -21,7 +20,6 @@ import com.sap.sailing.racecommittee.app.AppPreferences;
import com.sap.sailing.racecommittee.app.BuildConfig;
import com.sap.sailing.racecommittee.app.R;
import com.sap.sailing.racecommittee.app.data.DataManager;
import com.sap.sailing.racecommittee.app.ui.activities.PasswordActivity;
import com.sap.sailing.racecommittee.app.utils.QRHelper;
import com.sap.sailing.racecommittee.app.utils.autoupdate.AutoUpdater;
@@ -97,7 +95,6 @@ public class GeneralPreferenceFragment extends BasePreferenceFragment {
setupServerUrlBox();
setupSyncQRCodeButton();
setupForceUpdateButton();
setupLogoutButton();
}
private void setupIdentifierBox() {
@@ -158,29 +155,6 @@ public class GeneralPreferenceFragment extends BasePreferenceFragment {
});
}
private void setupLogoutButton() {
Preference preference = findPreference(R.string.preference_logout_key);
preference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
new AlertDialog.Builder(getActivity(), R.style.AppTheme_AlertDialog)
.setTitle(R.string.logout_dialog_title)
.setMessage(getString(R.string.logout_dialog_message))
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
AppPreferences.on(getActivity()).setAccessToken(null);
startActivity(new Intent(getActivity(), PasswordActivity.class));
getActivity().finish();
}
})
.setNegativeButton(android.R.string.cancel, null)
.show();
return true;
}
});
}
private void setupCourseAreasList() {
EditSetPreference preference = findPreference(R.string.preference_course_areas_key);
// TODO: example values from DataStore
@@ -32,6 +32,8 @@ public class PreferenceMarginItemDecoration extends RecyclerView.ItemDecoration
if (spanCount % 2 == 0) {
if (rowCount % 2 != 0) {
rowCount = (rowCount + 1) / 2;
} else {
rowCount /= 2;
}
}
mBackground.setBounds(0, 0, parent.getWidth(), mItemHeight * rowCount);