public final class Utility
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
Utility.GraphMeRequestWithCacheCallback |
static interface |
Utility.Mapper<T,K> |
static class |
Utility.PermissionsPair
Internal helper class that is used to hold two different permission lists (granted and
declined)
|
static interface |
Utility.Predicate<T> |
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_STREAM_BUFFER_SIZE |
Constructor and Description |
---|
Utility() |
Modifier and Type | Method and Description |
---|---|
static <T> boolean |
areObjectsEqual(T a,
T b) |
static <T> java.util.ArrayList<T> |
arrayList(T... ts) |
static <T> java.util.List<T> |
asListNoNulls(T... array) |
static org.json.JSONObject |
awaitGetGraphMeRequestWithCache(java.lang.String accessToken) |
static android.net.Uri |
buildUri(java.lang.String authority,
java.lang.String path,
android.os.Bundle parameters) |
static void |
clearCaches(android.content.Context context) |
static void |
clearFacebookCookies(android.content.Context context) |
static void |
closeQuietly(java.io.Closeable closeable) |
static java.lang.String |
coerceValueIfNullOrEmpty(java.lang.String s,
java.lang.String valueIfNullOrEmpty)
Use this when you want to normalize empty and null strings
This way, Utility.areObjectsEqual can used for comparison, where a null string is to be
treated the same as an empty string.
|
static int |
copyAndCloseInputStream(java.io.InputStream inputStream,
java.io.OutputStream outputStream) |
static void |
deleteDirectory(java.io.File directoryOrFile) |
static void |
disconnectQuietly(java.net.URLConnection connection) |
static <T> java.util.List<T> |
filter(java.util.List<T> target,
Utility.Predicate<T> predicate) |
static java.lang.String |
generateRandomString(int length) |
static java.lang.String |
getActivityName(android.content.Context context)
Returns the name of the current activity if the context is an activity, otherwise return
"unknown"
|
static java.util.Date |
getBundleLongAsDate(android.os.Bundle bundle,
java.lang.String key,
java.util.Date dateBase) |
static long |
getContentSize(android.net.Uri contentUri) |
static void |
getGraphMeRequestWithCacheAsync(java.lang.String accessToken,
Utility.GraphMeRequestWithCacheCallback callback) |
static java.lang.String |
getMetadataApplicationId(android.content.Context context) |
static java.lang.reflect.Method |
getMethodQuietly(java.lang.Class<?> clazz,
java.lang.String methodName,
java.lang.Class<?>... parameterTypes) |
static java.lang.reflect.Method |
getMethodQuietly(java.lang.String className,
java.lang.String methodName,
java.lang.Class<?>... parameterTypes) |
static java.lang.Object |
getStringPropertyAsJSON(org.json.JSONObject jsonObject,
java.lang.String key,
java.lang.String nonJSONPropertyKey) |
static java.lang.String |
getUriString(android.net.Uri uri) |
static Utility.PermissionsPair |
handlePermissionResponse(org.json.JSONObject result) |
static <T> java.util.HashSet<T> |
hashSet(T... ts) |
static boolean |
hasSameId(org.json.JSONObject a,
org.json.JSONObject b) |
static int[] |
intersectRanges(int[] range1,
int[] range2)
Each array represents a set of closed or open Range, like so: [0,10,50,60] - Ranges are
{0-9}, {50-59} [20] - Ranges are {20-} [30,40,100] - Ranges are {30-39}, {100-}
All Ranges in the array have a closed lower bound.
|
static java.lang.Object |
invokeMethodQuietly(java.lang.Object receiver,
java.lang.reflect.Method method,
java.lang.Object... args) |
static boolean |
isContentUri(android.net.Uri uri) |
static boolean |
isCurrentAccessToken(AccessToken token) |
static boolean |
isFileUri(android.net.Uri uri) |
static <T> boolean |
isNullOrEmpty(java.util.Collection<T> c) |
static boolean |
isNullOrEmpty(java.lang.String s) |
static <T> boolean |
isSubset(java.util.Collection<T> subset,
java.util.Collection<T> superset) |
static boolean |
isWebUri(android.net.Uri uri) |
static java.util.Set<java.lang.String> |
jsonArrayToSet(org.json.JSONArray jsonArray) |
static java.util.List<java.lang.String> |
jsonArrayToStringList(org.json.JSONArray jsonArray) |
static void |
logd(java.lang.String tag,
java.lang.Exception e) |
static void |
logd(java.lang.String tag,
java.lang.String msg) |
static void |
logd(java.lang.String tag,
java.lang.String msg,
java.lang.Throwable t) |
static <T,K> java.util.List<K> |
map(java.util.List<T> target,
Utility.Mapper<T,K> mapper) |
static java.lang.String |
md5hash(java.lang.String key) |
static android.os.Bundle |
parseUrlQueryString(java.lang.String queryString) |
static void |
putCommaSeparatedStringList(android.os.Bundle b,
java.lang.String key,
java.util.List<java.lang.String> list) |
static boolean |
putJSONValueInBundle(android.os.Bundle bundle,
java.lang.String key,
java.lang.Object value) |
static void |
putNonEmptyString(android.os.Bundle b,
java.lang.String key,
java.lang.String value) |
static void |
putUri(android.os.Bundle b,
java.lang.String key,
android.net.Uri uri) |
static java.lang.String |
readStreamToString(java.io.InputStream inputStream) |
static java.util.Map<java.lang.String,java.lang.String> |
readStringMapFromParcel(android.os.Parcel parcel) |
static java.lang.String |
safeGetStringFromResponse(org.json.JSONObject response,
java.lang.String propertyName) |
static void |
setAppEventAttributionParameters(org.json.JSONObject params,
AttributionIdentifiers attributionIdentifiers,
java.lang.String anonymousAppDeviceGUID,
boolean limitEventUsage) |
static void |
setAppEventExtendedDeviceInfoParameters(org.json.JSONObject params,
android.content.Context appContext) |
static java.lang.String |
sha1hash(byte[] bytes) |
static java.lang.String |
sha1hash(java.lang.String key) |
static boolean |
stringsEqualOrEmpty(java.lang.String a,
java.lang.String b) |
static org.json.JSONArray |
tryGetJSONArrayFromResponse(org.json.JSONObject response,
java.lang.String propertyKey) |
static org.json.JSONObject |
tryGetJSONObjectFromResponse(org.json.JSONObject response,
java.lang.String propertyKey) |
static <T> java.util.Collection<T> |
unmodifiableCollection(T... ts) |
static void |
writeStringMapToParcel(android.os.Parcel parcel,
java.util.Map<java.lang.String,java.lang.String> map) |
public static final int DEFAULT_STREAM_BUFFER_SIZE
public static int[] intersectRanges(int[] range1, int[] range2)
range1
- The first rangerange2
- The second rangepublic static <T> boolean isSubset(java.util.Collection<T> subset, java.util.Collection<T> superset)
public static <T> boolean isNullOrEmpty(java.util.Collection<T> c)
public static boolean isNullOrEmpty(java.lang.String s)
public static java.lang.String coerceValueIfNullOrEmpty(java.lang.String s, java.lang.String valueIfNullOrEmpty)
s
- The string to coercevalueIfNullOrEmpty
- The value if s is null or empty.public static <T> java.util.Collection<T> unmodifiableCollection(T... ts)
public static <T> java.util.ArrayList<T> arrayList(T... ts)
public static <T> java.util.HashSet<T> hashSet(T... ts)
public static java.lang.String md5hash(java.lang.String key)
public static java.lang.String sha1hash(java.lang.String key)
public static java.lang.String sha1hash(byte[] bytes)
public static android.net.Uri buildUri(java.lang.String authority, java.lang.String path, android.os.Bundle parameters)
public static android.os.Bundle parseUrlQueryString(java.lang.String queryString)
public static void putNonEmptyString(android.os.Bundle b, java.lang.String key, java.lang.String value)
public static void putCommaSeparatedStringList(android.os.Bundle b, java.lang.String key, java.util.List<java.lang.String> list)
public static void putUri(android.os.Bundle b, java.lang.String key, android.net.Uri uri)
public static boolean putJSONValueInBundle(android.os.Bundle bundle, java.lang.String key, java.lang.Object value)
public static void closeQuietly(java.io.Closeable closeable)
public static void disconnectQuietly(java.net.URLConnection connection)
public static java.lang.String getMetadataApplicationId(android.content.Context context)
public static java.lang.Object getStringPropertyAsJSON(org.json.JSONObject jsonObject, java.lang.String key, java.lang.String nonJSONPropertyKey) throws org.json.JSONException
org.json.JSONException
public static java.lang.String readStreamToString(java.io.InputStream inputStream) throws java.io.IOException
java.io.IOException
public static int copyAndCloseInputStream(java.io.InputStream inputStream, java.io.OutputStream outputStream) throws java.io.IOException
java.io.IOException
public static boolean stringsEqualOrEmpty(java.lang.String a, java.lang.String b)
public static void clearFacebookCookies(android.content.Context context)
public static void logd(java.lang.String tag, java.lang.Exception e)
public static void logd(java.lang.String tag, java.lang.String msg)
public static void logd(java.lang.String tag, java.lang.String msg, java.lang.Throwable t)
public static <T> boolean areObjectsEqual(T a, T b)
public static boolean hasSameId(org.json.JSONObject a, org.json.JSONObject b)
public static java.lang.String safeGetStringFromResponse(org.json.JSONObject response, java.lang.String propertyName)
public static org.json.JSONObject tryGetJSONObjectFromResponse(org.json.JSONObject response, java.lang.String propertyKey)
public static org.json.JSONArray tryGetJSONArrayFromResponse(org.json.JSONObject response, java.lang.String propertyKey)
public static void clearCaches(android.content.Context context)
public static void deleteDirectory(java.io.File directoryOrFile)
public static <T> java.util.List<T> asListNoNulls(T... array)
public static java.util.List<java.lang.String> jsonArrayToStringList(org.json.JSONArray jsonArray) throws org.json.JSONException
org.json.JSONException
public static java.util.Set<java.lang.String> jsonArrayToSet(org.json.JSONArray jsonArray) throws org.json.JSONException
org.json.JSONException
public static void setAppEventAttributionParameters(org.json.JSONObject params, AttributionIdentifiers attributionIdentifiers, java.lang.String anonymousAppDeviceGUID, boolean limitEventUsage) throws org.json.JSONException
org.json.JSONException
public static void setAppEventExtendedDeviceInfoParameters(org.json.JSONObject params, android.content.Context appContext) throws org.json.JSONException
org.json.JSONException
public static java.lang.reflect.Method getMethodQuietly(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>... parameterTypes)
public static java.lang.reflect.Method getMethodQuietly(java.lang.String className, java.lang.String methodName, java.lang.Class<?>... parameterTypes)
public static java.lang.Object invokeMethodQuietly(java.lang.Object receiver, java.lang.reflect.Method method, java.lang.Object... args)
public static java.lang.String getActivityName(android.content.Context context)
public static <T> java.util.List<T> filter(java.util.List<T> target, Utility.Predicate<T> predicate)
public static <T,K> java.util.List<K> map(java.util.List<T> target, Utility.Mapper<T,K> mapper)
public static java.lang.String getUriString(android.net.Uri uri)
public static boolean isWebUri(android.net.Uri uri)
public static boolean isContentUri(android.net.Uri uri)
public static boolean isFileUri(android.net.Uri uri)
public static long getContentSize(android.net.Uri contentUri)
public static java.util.Date getBundleLongAsDate(android.os.Bundle bundle, java.lang.String key, java.util.Date dateBase)
public static void writeStringMapToParcel(android.os.Parcel parcel, java.util.Map<java.lang.String,java.lang.String> map)
public static java.util.Map<java.lang.String,java.lang.String> readStringMapFromParcel(android.os.Parcel parcel)
public static boolean isCurrentAccessToken(AccessToken token)
public static void getGraphMeRequestWithCacheAsync(java.lang.String accessToken, Utility.GraphMeRequestWithCacheCallback callback)
public static org.json.JSONObject awaitGetGraphMeRequestWithCache(java.lang.String accessToken)
public static Utility.PermissionsPair handlePermissionResponse(org.json.JSONObject result) throws org.json.JSONException
org.json.JSONException
public static java.lang.String generateRandomString(int length)