Back to project page face_rec_android.
The source code is released under:
GNU General Public License
If you think the Android project face_rec_android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package in.amolgupta.helpingfaceless.activities; /*w ww . j a va 2 s . c o m*/ import in.amolgupta.helpingfaceless.R; import android.app.Activity; import android.app.ProgressDialog; import android.content.Intent; import android.content.IntentSender.SendIntentException; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Toast; import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.SignInButton; import com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks; import com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener; import com.google.android.gms.common.Scopes; import com.google.android.gms.plus.PlusClient; public class SigningActivity extends Activity implements ConnectionCallbacks, OnConnectionFailedListener, OnClickListener { private static final String TAG = "ExampleActivity"; private static final int REQUEST_CODE_RESOLVE_ERR = 9000; private ProgressDialog mConnectionProgressDialog; private PlusClient mPlusClient; private ConnectionResult mConnectionResult; private SignInButton GPlusSigninButton; static final String[] SCOPES = new String[] { Scopes.PLUS_LOGIN,Scopes.APP_STATE }; @Override protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.activity_setup); GPlusSigninButton = (SignInButton) findViewById(R.id.plus_sign_in_button); GPlusSigninButton.setOnClickListener(this); super.onCreate(savedInstanceState); mPlusClient = new PlusClient.Builder(this, this, this) .setActions("http://schemas.google.com/AddActivity", "http://schemas.google.com/BuyActivity") // .setScopes(SCOPES) // recommended login scope for // social features // .setScopes("profile") // alternative basic login scope .build(); // Progress bar to be displayed if the connection failure is not // resolved. mConnectionProgressDialog = new ProgressDialog(this); mConnectionProgressDialog.setMessage("Signing in..."); } @Override protected void onStart() { super.onStart(); mPlusClient.connect(); } @Override protected void onStop() { super.onStop(); mPlusClient.disconnect(); } @Override public void onConnectionFailed(ConnectionResult result) { if (mConnectionProgressDialog.isShowing()) { // The user clicked the sign-in button already. Start to resolve // connection errors. Wait until onConnected() to dismiss the // connection dialog. if (result.hasResolution()) { try { result.startResolutionForResult(this, REQUEST_CODE_RESOLVE_ERR); } catch (SendIntentException e) { e.printStackTrace(); mPlusClient.connect(); } } } // Save the result and resolve the connection failure upon a user click. mConnectionResult = result; } @Override protected void onActivityResult(int requestCode, int responseCode, Intent intent) { if (requestCode == REQUEST_CODE_RESOLVE_ERR && responseCode == RESULT_OK) { mConnectionResult = null; mPlusClient.connect(); } } @Override public void onConnected(Bundle connectionHint) { String accountName = mPlusClient.getAccountName(); Toast.makeText(this, accountName + " is connected.", Toast.LENGTH_LONG) .show(); } @Override public void onDisconnected() { Log.d(TAG, "disconnected"); } @Override public void onClick(View view) { if (view.getId() == R.id.plus_sign_in_button && !mPlusClient.isConnected()) { if (mConnectionResult == null) { mConnectionProgressDialog.show(); } else { try { mConnectionResult.startResolutionForResult(this, REQUEST_CODE_RESOLVE_ERR); } catch (SendIntentException e) { e.printStackTrace(); mConnectionResult = null; mPlusClient.connect(); } } } } }