// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.physicalweb;
import android.Manifest;
import android.bluetooth.BluetoothAdapter;
import android.content.Context;
import android.content.pm.PackageManager;
import android.net.ConnectivityManager;
import android.support.v4.content.PermissionChecker;
import org.chromium.base.ContextUtils;
/**
* This class provides basic static utilities for the Physical Web.
*/
class Utils {
public static final int RESULT_FAILURE = 0;
public static final int RESULT_SUCCESS = 1;
public static final int RESULT_INDETERMINATE = 2;
public static boolean isDataConnectionActive() {
ConnectivityManager cm = (ConnectivityManager) ContextUtils.getApplicationContext()
.getSystemService(Context.CONNECTIVITY_SERVICE);
return (cm.getActiveNetworkInfo() != null
&& cm.getActiveNetworkInfo().isConnectedOrConnecting());
}
public static boolean isBluetoothPermissionGranted() {
return PermissionChecker.checkSelfPermission(
ContextUtils.getApplicationContext(), Manifest.permission.BLUETOOTH)
== PackageManager.PERMISSION_GRANTED;
}
public static int getBluetoothEnabledStatus() {
int statusResult = RESULT_INDETERMINATE;
if (isBluetoothPermissionGranted()) {
BluetoothAdapter bt = BluetoothAdapter.getDefaultAdapter();
statusResult = (bt != null && bt.isEnabled()) ? RESULT_SUCCESS : RESULT_FAILURE;
}
return statusResult;
}
}