Move logout button to settings. Replace logout button in menu with shutdown button.

This commit is contained in:
Ivan Murashov
2018-02-05 20:02:36 +03:00
parent b19381f00c
commit 5f2d67bbc1
23 changed files with 433 additions and 136 deletions

View File

@@ -71,7 +71,6 @@ public abstract class AbstractScannerActivity extends AppCompatActivity impleme
public static final String SCAN_MODES = "SCAN_MODES";
public static final String ERROR_INFO = "ERROR_INFO";
protected LogoutDialogFragment logoutDialog;
private ApiClient mClient;
private StatedImageButton statedImageButton;
@@ -167,7 +166,7 @@ public abstract class AbstractScannerActivity extends AppCompatActivity impleme
EditText manualInput = (EditText) findViewById(R.id.manual_input);
// для удобства, чтоб не вводить постоянно руками при разработке
//manualInput.setText("4620011139016317023320337");
manualInput.setText("4620011139016337050236302");
manualInput.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
@@ -287,7 +286,7 @@ public abstract class AbstractScannerActivity extends AppCompatActivity impleme
public boolean onPrepareOptionsMenu(Menu menu) {
menu.findItem(R.id.settings).setIcon(getResources().getDrawable(R.drawable.settings));
menu.findItem(R.id.faq).setIcon(getResources().getDrawable(R.drawable.help));
menu.findItem(R.id.logout).setIcon(getResources().getDrawable(R.drawable.logout));
menu.findItem(R.id.exit).setIcon(getResources().getDrawable(R.drawable.exit));
return super.onPrepareOptionsMenu(menu);
}
@@ -299,10 +298,8 @@ public abstract class AbstractScannerActivity extends AppCompatActivity impleme
setResult(RESULT_OK, intent);
finish();
return true;
} else if (item.getItemId() == R.id.logout) {
int color = (int) getIntent().getLongExtra(MainActivity.PREF_APP_BAR_COLOR, 0xffffff);
logoutDialog = LogoutDialogFragment.newInstance(color);
logoutDialog.show(getFragmentManager(), "logout");
} else if (item.getItemId() == R.id.exit) {
exit();
return true;
} else if (item.getItemId() == R.id.faq) {
final Intent intent = new Intent();
@@ -314,57 +311,10 @@ public abstract class AbstractScannerActivity extends AppCompatActivity impleme
return super.onOptionsItemSelected(item);
}
void dismissDialog() {
if (logoutDialog != null) {
logoutDialog.dismiss();
logoutDialog = null;
}
}
void logout() {
void exit() {
final Intent intent = new Intent();
intent.putExtra("item", "logout");
intent.putExtra("item", "exit");
setResult(RESULT_OK, intent);
finish();
}
public static class LogoutDialogFragment extends DialogFragment {
static LogoutDialogFragment newInstance(int color) {
LogoutDialogFragment f = new LogoutDialogFragment();
Bundle bundle = new Bundle();
bundle.putInt(MainActivity.PREF_APP_BAR_COLOR, color);
f.setArguments(bundle);
return f;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
final LayoutInflater inflater = getActivity().getLayoutInflater();
final View content = inflater.inflate(R.layout.f_logout_dialog, null);
builder.setView(content);
final TextView positiveButton = (TextView) content.findViewById(R.id.positiveButton);
final TextView negativeButton = (TextView) content.findViewById(R.id.negativeButton);
// Можно делать через стили, но я не уверен, что необходимо в нашем случае
positiveButton.setTextColor(getArguments().getInt(MainActivity.PREF_APP_BAR_COLOR));
negativeButton.setTextColor(getArguments().getInt(MainActivity.PREF_APP_BAR_COLOR));
negativeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
((AbstractScannerActivity) getActivity()).dismissDialog();
}
});
positiveButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
((AbstractScannerActivity) getActivity()).logout();
}
});
return builder.create();
}
}
}

View File

@@ -6,6 +6,7 @@ import android.content.res.Configuration;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.Toast;
import android.util.Log;
import com.dinect.checker.zbar.CameraActivity;
import com.dinect.checker.zxing.ScannerActivity;
import io.flutter.app.FlutterActivity;
@@ -89,6 +90,10 @@ public class MainActivity extends FlutterActivity {
case "showBonus":
result.success(BuildConfig.showBonus);
break;
case "finish":
Log.d("kifio", call.method);
finish();
break;
default:
result.notImplemented();
break;
@@ -148,7 +153,11 @@ public class MainActivity extends FlutterActivity {
} else {
String menuItem = data.getExtras().getString("item", null);
if (menuItem != null) {
if (menuItem.equals("exit")) {
finish();
} else {
mChannel.invokeMethod(menuItem, null);
}
}
}
} else {

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -19,10 +19,10 @@
android:title="@string/faq"
android:icon="@drawable/help"/>
<item android:id="@+id/logout"
android:title="@string/logout"
android:icon="@drawable/logout"/>
<item android:id="@+id/exit"
android:title="@string/exit"
android:icon="@drawable/exit"/>
</menu>
</item>
</menu>
</menu>

View File

@@ -3,12 +3,8 @@
<string name="scanner_title">Сканер карты</string>
<string name="scan">Сканировать</string>
<string name="faq">Справка</string>
<string name="logout">Выход</string>
<string name="exit">Закрыть приложение</string>
<string name="settings">Настройки</string>
<string name="logout_title">Подтверждение</string>
<string name="logout_text">Вы действительно хотите выйти и ввести другой номер магазина?</string>
<string name="logout_yes">Да</string>
<string name="logout_no">Нет</string>
<string name="identifier_not_found">"Идентификатор %s не найден"</string>
<string name="enter_manual">Введите номер карты</string>
<string name="enter_phone">Телефон 79XXXXXXXXX</string>

View File

@@ -3,12 +3,8 @@
<string name="scanner_title">Сканер карти</string>
<string name="scan">Сканувати</string>
<string name="faq">Допомога</string>
<string name="logout">Вихід</string>
<string name="exit">Закрыть приложение</string>
<string name="settings">Налаштування</string>
<string name="logout_title">Підтвердження</string>
<string name="logout_text">Ви дійсно хочете вийти і ввести інший номер магазину?</string>
<string name="logout_yes">Так</string>
<string name="logout_no">Ні</string>
<string name="identifier_not_found">"Ідентифікатор %s не знайден"</string>
<string name="enter_manual">Введіть штрихкод вручну</string>
<string name="enter_phone">Телефон 79XXXXXXXXX</string>

View File

@@ -3,12 +3,8 @@
<string name="scanner_title">Card Scanner</string>
<string name="scan">Scan</string>
<string name="faq">Help</string>
<string name="logout">Logout</string>
<string name="exit">Exit</string>
<string name="settings">Settings</string>
<string name="logout_title">Сonfirmation</string>
<string name="logout_text">Do you really want to log out and enter a different store number?</string>
<string name="logout_yes">Yes</string>
<string name="logout_no">No</string>
<string name="identifier_not_found">"Identifier %s is not found"</string>
<string name="enter_manual">Enter the card number</string>
<string name="enter_phone">Phone 79XXXXXXXXX</string>