Browse Source

Adds Generic loader showing class.

pull/4/head
Mushegh Sahakyan 4 years ago
parent
commit
adecef06d9
3 changed files with 65 additions and 47 deletions
  1. +1
    -1
      ui/src/main/AndroidManifest.xml
  2. +61
    -0
      ui/src/main/java/com/wireguard/android/activity/BaseActivityBubble.java
  3. +3
    -46
      ui/src/main/java/com/wireguard/android/activity/LoginActivity.java

+ 1
- 1
ui/src/main/AndroidManifest.xml View File

@@ -72,7 +72,7 @@
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
<activity android:name=".activity.BaseActivityBubble" />
<provider
android:name=".activity.LogViewerActivity$ExportedLogContentProvider"
android:authorities="${applicationId}.exported-log"


+ 61
- 0
ui/src/main/java/com/wireguard/android/activity/BaseActivityBubble.java View File

@@ -0,0 +1,61 @@
package com.wireguard.android.activity;

import android.os.Bundle;
import android.os.Handler;
import com.wireguard.android.fragment.LoadingDialogFragment;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Lifecycle;

public class BaseActivityBubble extends AppCompatActivity {

public static final String LOADING_TAG = "loading_tag";
public static final String NO_CONNECTION_TAG = "no_connection_tag";
public static final String RATE_TAG = "rate tag";
private final long LOADER_DELAY = 1000;

private LoadingDialogFragment loadingDialog;
private boolean showDialog = true;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}


public void showLoadingDialog() {
showDialog = true;

final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
if (showDialog) {
if (loadingDialog == null
|| loadingDialog.getDialog() == null
|| !loadingDialog.getDialog().isShowing()
|| loadingDialog.isRemoving()) {
if (loadingDialog != null) {
loadingDialog.dismissAllowingStateLoss();
}
if (getLifecycle().getCurrentState() == Lifecycle.State.RESUMED) {
loadingDialog = LoadingDialogFragment.newInstance();
getSupportFragmentManager().beginTransaction().
add(loadingDialog, LOADING_TAG).commitAllowingStateLoss();
}
}
}
}

}, LOADER_DELAY);
}

public void closeLoadingDialog() {
showDialog = false;
if (loadingDialog != null && loadingDialog.getDialog() != null
&& loadingDialog.getDialog().isShowing()
&& !loadingDialog.isRemoving()) {
loadingDialog.dismissAllowingStateLoss();
}
}
}

+ 3
- 46
ui/src/main/java/com/wireguard/android/activity/LoginActivity.java View File

@@ -1,12 +1,8 @@
package com.wireguard.android.activity;


import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
@@ -14,13 +10,12 @@ import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.wireguard.android.R;
import com.wireguard.android.fragment.LoadingDialogFragment;
import com.wireguard.android.model.Device;
import com.wireguard.android.model.User;
import com.wireguard.android.resource.StatusResource;
import com.wireguard.android.viewmodel.LoginViewModel;

public class LoginActivity extends AppCompatActivity {
public class LoginActivity extends BaseActivityBubble {

private LoginViewModel loginViewModel;
private EditText bubbleName;
@@ -28,11 +23,6 @@ public class LoginActivity extends AppCompatActivity {
private EditText password;
private Button sign;

public static final String LOADING_TAG = "loading_tag";
private final long LOADER_DELAY = 1000;
private LoadingDialogFragment loadingDialog;
private boolean showDialog = true;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -86,6 +76,7 @@ public class LoginActivity extends AppCompatActivity {
Log.d("TAG", "Loading");
break;
case ERROR:
closeLoadingDialog();
Toast.makeText(LoginActivity.this, "Login Failed", Toast.LENGTH_SHORT).show();
Log.d("TAG", "Error");
break;
@@ -99,6 +90,7 @@ public class LoginActivity extends AppCompatActivity {
Log.d("TAG", "Loading");
break;
case ERROR:
closeLoadingDialog();
Toast.makeText(LoginActivity.this, "Login Failed", Toast.LENGTH_SHORT).show();
Log.d("TAG", "Error");
break;
@@ -106,39 +98,4 @@ public class LoginActivity extends AppCompatActivity {
}
});
}
public void showLoadingDialog() {
showDialog = true;

final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
if (showDialog) {
if (loadingDialog == null
|| loadingDialog.getDialog() == null
|| !loadingDialog.getDialog().isShowing()
|| loadingDialog.isRemoving()) {
if (loadingDialog != null) {
loadingDialog.dismissAllowingStateLoss();
}
if (getLifecycle().getCurrentState() == Lifecycle.State.RESUMED) {
loadingDialog = LoadingDialogFragment.newInstance();
getSupportFragmentManager().beginTransaction().
add(loadingDialog, LOADING_TAG).commitAllowingStateLoss();
}
}
}
}

}, LOADER_DELAY);
}

public void closeLoadingDialog() {
showDialog = false;
if (loadingDialog != null && loadingDialog.getDialog() != null
&& loadingDialog.getDialog().isShowing()
&& !loadingDialog.isRemoving()) {
loadingDialog.dismissAllowingStateLoss();
}
}
}

Loading…
Cancel
Save