GOOGLE PLUS GOOGLE ALPHABET
private boolean googleSubsidiaryConnectionSuccess = false; private boolean googleSubsidiaryConnectionInProgress = false; private GoogleSubsidiary googleSubsidiary = null; private GoogleVideoHostingManager googleVideoHostingService = null; @Override protected void onCreate(Bundle savedInstanceState) { GoogleApiClient.Builder builder = new GoogleApiClient.Builder(this) .addSubsidiary(AlphabetSubsidiaries.GOOGLE_SUBSIDIARY); GoogleApiClient client = builder.build(); client.connect(); googleSubsidiaryConnectionInProgress = true; } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data /* ignored */) { if (requestCode == GoogleSubsidiary.EXISTS_AND_IS_PROFITABLE) { // actual value is -11 if (responseCode != Activity.RESULT_OK) { Log.w(TAG, "could not get subsidiary"); googleSubsidiaryConnectionSuccess = false; if (!client.isConnecting()) { Log.v(TAG, "calling googleApiClient.connect again"); client.connect(); } } } else { Log.w(TAG, "Google subsidiary may be out of business. Not sure."); if (!googleSubsidiaryConnectionInProgress && !client.isConnecting()) { client.connect(); } } } @Override public void onConnected(Bundle connectionHint) { googleSubsidiaryConnectionSuccess = true; googleSubsidiaryConnectionInProgress = false; GoogleSubsidiaryToken googleSubsidiaryToken = GoogleSubsidiaryUtil.getToken(activity, GOOGLE_SUBSIDIARY_TOKEN_REQUEST_SCOPE); try { googleSubsidiary = (GoogleSubsidiary)GoogleSubsidiaryUtil.getSubsidiaryObjectFromToken(googleSubsidiaryToken); googleVideoHostingService = (GoogleVideoHostingManager)googleSubsidiary.getService(GoogleSubsidiary.YOU_TUBE_SERVICE); if (googleVideoHostingService == null && !client.isConnecting()) { client.connect(); } } catch (SubsidiaryTokenOutOfDateException ex) { googleSubsidiaryConnectionSuccess = false; if (!client.isConnecting()) { client.connect(); } } }