Commit aaa12853 authored by topjohnwu's avatar topjohnwu

Prevent crashing when requesting SN check while checking

Fixed #208, fixed #212
parent b0ab55b0
...@@ -20,6 +20,8 @@ import java.security.SecureRandom; ...@@ -20,6 +20,8 @@ import java.security.SecureRandom;
public abstract class SafetyNetHelper public abstract class SafetyNetHelper
implements GoogleApiClient.OnConnectionFailedListener, GoogleApiClient.ConnectionCallbacks { implements GoogleApiClient.OnConnectionFailedListener, GoogleApiClient.ConnectionCallbacks {
private static boolean isRunning = false;
private GoogleApiClient mGoogleApiClient; private GoogleApiClient mGoogleApiClient;
private Result ret; private Result ret;
protected FragmentActivity mActivity; protected FragmentActivity mActivity;
...@@ -27,17 +29,20 @@ public abstract class SafetyNetHelper ...@@ -27,17 +29,20 @@ public abstract class SafetyNetHelper
public SafetyNetHelper(FragmentActivity activity) { public SafetyNetHelper(FragmentActivity activity) {
ret = new Result(); ret = new Result();
mActivity = activity; mActivity = activity;
mGoogleApiClient = new GoogleApiClient.Builder(activity)
.enableAutoManage(activity, this)
.addApi(SafetyNet.API)
.addConnectionCallbacks(this)
.build();
} }
// Entry point to start test // Entry point to start test
public void requestTest() { public void requestTest() {
if (isRunning)
return;
// Connect Google Service // Connect Google Service
mGoogleApiClient = new GoogleApiClient.Builder(mActivity)
.enableAutoManage(mActivity, this)
.addApi(SafetyNet.API)
.addConnectionCallbacks(this)
.build();
mGoogleApiClient.connect(); mGoogleApiClient.connect();
isRunning = true;
} }
@Override @Override
...@@ -92,6 +97,7 @@ public abstract class SafetyNetHelper ...@@ -92,6 +97,7 @@ public abstract class SafetyNetHelper
// Disconnect // Disconnect
mGoogleApiClient.stopAutoManage(mActivity); mGoogleApiClient.stopAutoManage(mActivity);
mGoogleApiClient.disconnect(); mGoogleApiClient.disconnect();
isRunning = false;
handleResults(ret); handleResults(ret);
}); });
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment