This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class GraphDetails { | |
LinkedHashSet<Project> projects | |
LinkedHashMap<Tuple2<Project, Project>, List<String>> dependencies | |
ArrayList<Project> multiplatformProjects | |
ArrayList<Project> androidProjects | |
ArrayList<Project> javaProjects | |
ArrayList<Project> rootProjects | |
// Used for excluding module from graph | |
public static final SystemTestName = "system-test" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private fun <T> withPrefs(context: Context, callback: SharedPreferences.() -> T): T { | |
val oldPolicy = StrictMode.allowThreadDiskWrites() | |
val output = context.applicationContext | |
.getSharedPreferences(BILLING_STORAGE_NAME, Context.MODE_PRIVATE) | |
.callback() | |
StrictMode.setThreadPolicy(oldPolicy) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private fun pinWidget(context: Context) { | |
val appWidgetManager = context.getSystemService(AppWidgetManager::class.java) ?: return | |
val myProvider = ComponentName(context.applicationContext, TaskListWidget::class.java) | |
if (!appWidgetManager.isRequestPinAppWidgetSupported) { | |
Timber.d("Widgets not supported") | |
return | |
} | |
// Create the PendingIntent object only if your app needs to be notified |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Whether the device has an active connection to the internet | |
*/ | |
val Context.isConnected: Boolean | |
get() { | |
val cm = getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager | |
val activeNetwork = cm.activeNetwork ?: return false | |
return cm.getNetworkCapabilities(activeNetwork) | |
?.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) == true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Copyright 2020 Google LLC | |
Licensed under the Apache License, Version 2.0 (the "License"); | |
you may not use this file except in compliance with the License. | |
You may obtain a copy of the License at | |
https://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Add macOS window screenshot style dropshadow | |
convert inputfile.png \( +clone -background Black -shadow 50x25+0+20 \) +swap -background none -layers merge +repage outputFile.png |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
body { | |
/* content width is 2x 350px */ | |
margin: auto calc(50% - 350px); | |
color: rgba(0, 0, 0, .8); | |
font-size: 16px; | |
font-family: system-ui, 'Roboto', sans-serif; | |
line-height: 1.6; | |
} | |
@media (max-width: 767px) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import android.net.ConnectivityManager | |
import android.net.NetworkCapabilities | |
import android.content.Context | |
object Utils { | |
internal fun isOnline(context: Context): Boolean { | |
val cm = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager | |
val activeNetwork = cm.activeNetwork ?: return false | |
val capabilities = cm.getNetworkCapabilities(activeNetwork) ?: return false | |
return capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@file:Suppress("NOTHING_TO_INLINE") | |
import kotlin.experimental.and // Used for Byte | |
import kotlin.experimental.inv // Used for Byte | |
import kotlin.experimental.or // Used for Byte | |
inline fun Int.hasFlag(flag: Int) = flag and this == flag | |
inline fun Int.withFlag(flag: Int) = this or flag | |
inline fun Int.minusFlag(flag: Int) = this and flag.inv() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
protected String[] doInBackground(String... credentials) { | |
String consumer_secret = mActivity.getString(R.string.oauth_consumer_secret); | |
HttpClient client = new DefaultHttpClient(); | |
HttpPost request = new HttpPost("https://www.instapaper.com/api/1/oauth/access_token"); | |
CommonsHttpOAuthConsumer consumer = new CommonsHttpOAuthConsumer(mActivity.getString(R.string.oauth_consumer_key), | |
consumer_secret); | |
List<BasicNameValuePair> params = Arrays.asList( | |
new BasicNameValuePair("x_auth_username", credentials[0]), | |
new BasicNameValuePair("x_auth_password", credentials[1]), | |
new BasicNameValuePair("x_auth_mode", "client_auth")); |
NewerOlder