Skip to content

Instantly share code, notes, and snippets.

private void requestHint() {
HintRequest hintRequest = new HintRequest.Builder()
.setPhoneNumberIdentifierSupported(true)
.build();
PendingIntent intent = Auth.CredentialsApi.getHintPickerIntent(
googleApiClient, hintRequest);
try {
getActivity().startIntentSenderForResult(intent.getIntentSender(),
RESOLVE_HINT, null, 0, 0, 0);
public void startSmsRetriever() {
SmsRetrieverClient client = SmsRetriever.getClient(getActivity());
Task<Void> task = client.startSmsRetriever();
task.addOnSuccessListener(aVoid -> {
Timber.d("1 Started listening for SMS");
});
task.addOnFailureListener(e -> {
void addBroadcastRecieverForSMS() {
Timber.d("addBroadcastReceiverForSMS");
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(SmsRetriever.SMS_RETRIEVED_ACTION);
broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Timber.d("SMS Broadcast receiver onReceive()");
dependencies {
compile "com.google.android.gms:play-services-auth-api-phone:11.0.8"
}
AwarenessFence locationFence = LocationFence.entering(lat, long, radius);
AwarenessFence walkingFence = DetectedActivityFence.during(DetectedActivityFence.WALKING);
AwarenessFence walkingIntoFence = AwarenessFence.and(locationFence, walkingFence);
GoogleApiClient googleApiClient = new GoogleApiClient.Builder(context)
.addApi(Awareness.API)
.build();
Awareness.FenceApi.updateFences(googleApiClient,
new FenceUpdateRequest.Builder()
.addFence(id, awarenessFence, pendingIntent)
.build())
.setResultCallback(resultCallback);
Intent intent = new Intent(FENCE_RECEIVER_ACTION);
intent.setClass(context, GeoFenceAwarenessReceiver.class);
// Creates pending intent to handle geo fence event
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, FENCE_REQUEST_CODE, intent, 0);
ResultCallback<Status> resultCallback = status -> {
if (status.isSuccess()) {
Timber.d("Fence %s was successfully registered", geoFence.getId());
databaseManager.save(geoFence);
} else {
Timber.e("Fence %s could not be registered: %s", geoFence.getId(), status);
}
};
@Override
public void onReceive(Context context, Intent intent) {
FenceState fenceState = FenceState.extract(intent);
String geoFenceKey = fenceState.getFenceKey();
switch (fenceState.getCurrentState()) {
case FenceState.TRUE:
Timber.d("fence %s detected", geoFenceKey);
break;
case FenceState.FALSE:
Timber.d("fence %s false", geoFenceKey);
Awareness.FenceApi.updateFences(googleApiClient,
new FenceUpdateRequest.Builder()
.removeFence(id)
.build())
.setResultCallback(resultCallback);