Added Android code
[wl-app.git] / Android / app / src / main / java / com / moiseum / wolnelektury / view / settings / SettingsFragment.java
diff --git a/Android/app/src/main/java/com/moiseum/wolnelektury/view/settings/SettingsFragment.java b/Android/app/src/main/java/com/moiseum/wolnelektury/view/settings/SettingsFragment.java
new file mode 100644 (file)
index 0000000..753addb
--- /dev/null
@@ -0,0 +1,91 @@
+package com.moiseum.wolnelektury.view.settings;
+
+import android.app.ProgressDialog;
+import android.os.Bundle;
+import android.support.v7.widget.SwitchCompat;
+import android.view.View;
+import android.widget.Button;
+import android.widget.CompoundButton;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.moiseum.wolnelektury.R;
+import com.moiseum.wolnelektury.base.mvp.PresenterFragment;
+import com.moiseum.wolnelektury.view.supportus.SupportUsActivity;
+
+import butterknife.BindView;
+import butterknife.OnCheckedChanged;
+import butterknife.OnClick;
+
+public class SettingsFragment extends PresenterFragment<SettingsPresenter> implements SettingsView {
+
+       public static SettingsFragment newInstance() {
+               return new SettingsFragment();
+       }
+
+       @BindView(R.id.swNotifications)
+       SwitchCompat swNotifications;
+       @BindView(R.id.tvState)
+       TextView tvState;
+       @BindView(R.id.btnBecomeAFriend)
+       Button btnBecomeAFriend;
+
+       private ProgressDialog progressDialog;
+
+       @Override
+       protected SettingsPresenter createPresenter() {
+               return new SettingsPresenter(this);
+       }
+
+       @Override
+       public int getLayoutResourceId() {
+               return R.layout.fragment_settings;
+       }
+
+       @Override
+       public void prepareView(View view, Bundle savedInstanceState) {
+       }
+
+       @OnClick(R.id.btnBecomeAFriend)
+       public void onBecomeAFriendClicked() {
+               showPayPalForm();
+       }
+
+       @OnClick(R.id.btnDelete)
+       public void onDeleteAllClicked() {
+               getPresenter().onDeleteAllClicked();
+       }
+
+       @OnCheckedChanged(R.id.swNotifications)
+       public void onNotificationsCheckedChanged(CompoundButton button, boolean checked) {
+               getPresenter().onNotificationsChanged(checked);
+       }
+
+       @Override
+       public void initializeSettings(boolean notifications, boolean userPremium) {
+               swNotifications.setChecked(notifications);
+               tvState.setText(userPremium ? R.string.active : R.string.inactive);
+               btnBecomeAFriend.setVisibility(userPremium ? View.GONE : View.VISIBLE);
+       }
+
+       @Override
+       public void showProgressDialog(boolean visible) {
+               if (visible && progressDialog == null) {
+                       String dialogMessage = getString(R.string.removing_all_files);
+                       progressDialog = ProgressDialog.show(getContext(), null, dialogMessage, true, false);
+               } else if (!visible && progressDialog != null) {
+                       progressDialog.hide();
+                       progressDialog = null;
+               }
+       }
+
+       @Override
+       public void showDeletionCompleted() {
+               Toast.makeText(getContext(), R.string.all_files_removed, Toast.LENGTH_SHORT).show();
+       }
+
+       @Override
+       public void showDeletionFailed(Throwable error) {
+               Toast.makeText(getContext(), getString(R.string.all_files_failed_to_remove, error.getMessage()), Toast.LENGTH_SHORT).show();
+       }
+}