Browse Source

Create functionality checking internet connection after clicking sign in and add permission ACCESS_NETWORK_STATE.

pull/3/head
Mushegh Sahakyan 4 years ago
parent
commit
e5ff129033
3 changed files with 36 additions and 1 deletions
  1. +1
    -0
      ui/src/main/AndroidManifest.xml
  2. +34
    -1
      ui/src/main/java/com/wireguard/android/activity/LoginActivity.java
  3. +1
    -0
      ui/src/main/res/values/strings.xml

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

@@ -4,6 +4,7 @@
package="com.wireguard.android"
android:installLocation="internalOnly">

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />


+ 34
- 1
ui/src/main/java/com/wireguard/android/activity/LoginActivity.java View File

@@ -1,10 +1,15 @@
package com.wireguard.android.activity;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;

import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.Network;
import android.net.NetworkRequest;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
@@ -31,6 +36,9 @@ public class LoginActivity extends AppCompatActivity {
private EditText userName;
private EditText password;
private Button sign;
private ConnectivityManager connectivityManager;
private ConnectivityManager.NetworkCallback mCallback;
private boolean isConnected;

@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -38,13 +46,38 @@ public class LoginActivity extends AppCompatActivity {
setContentView(R.layout.activity_login);
initUI();
loginViewModel = new ViewModelProvider(this).get(LoginViewModel.class);
connectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
mCallback = new ConnectivityManager.NetworkCallback(){
@Override public void onAvailable(@NonNull final Network network) {
isConnected = true;
}

@Override public void onLost(@NonNull final Network network) {
isConnected = false;
}
};
sign.setOnClickListener(new OnClickListener() {
@Override public void onClick(final View v) {
login();
if (isConnected) {
login();
} else {
Toast.makeText(LoginActivity.this, getString(R.string.turnInternet), Toast.LENGTH_LONG).show();
}
}
});
}

@Override protected void onStart() {
super.onStart();
final NetworkRequest request = new NetworkRequest.Builder().build();
connectivityManager.registerNetworkCallback(request,mCallback);
}

@Override protected void onPause() {
super.onPause();
connectivityManager.unregisterNetworkCallback(mCallback);
}

private void initUI() {
initViews();
}


+ 1
- 0
ui/src/main/res/values/strings.xml View File

@@ -240,4 +240,5 @@
<string name="not_connected">Not Connected</string>
<string name="connect">Connect</string>
<string name="disable_apps">Disable Apps</string>
<string name="turnInternet">Please turn on internet connection</string>
</resources>

Loading…
Cancel
Save