Skip to content

Instantly share code, notes, and snippets.

View alexstyl's full-sized avatar

Alex Styl alexstyl

View GitHub Profile
#include <SPI.h>
#include <WiFi.h>
char ssid[] = "---"; // your network SSID (name)
char pass[] = "---"; // your network password
char server[] = "www.google.com";
//IPAddress server(64,131,82,241);
int keyIndex = 0; // your network key Index number (needed only for WEP)
package com.alexstyl.myapplication;
import android.content.res.Resources;
import android.support.annotation.StringRes;
class AndroidStringResources implements StringResources {
private final Resources resources;
AndroidStringResources(Resources resources) {
class RadiusTransition private constructor(private val startingRadius: Float, private val endingRadius: Float) : Transition() {
override fun captureStartValues(transitionValues: TransitionValues) {
if (transitionValues.view is ImageView) {
transitionValues.values[PROPNAME_RADIUS] = startingRadius
}
}
override fun captureEndValues(transitionValues: TransitionValues) {
if (transitionValues.view is ImageView) {
private fun notifyContacts(viewModels: List<ContactEventNotificationViewModel>) {
viewModels.forEach { viewModel ->
val requestCode = NotificationConstants.CHANNEL_ID_CONTACTS.hashCode() + viewModel.hashCode()
val startIntent = PersonActivity.buildIntentFor(context, viewModel.contact)
val pendingIntent = PendingIntent.getActivity(
context,
requestCode,
startIntent,
PendingIntent.FLAG_UPDATE_CURRENT)
private fun notifyContacts(viewModels: List<ContactEventNotificationViewModel>) {
viewModels.forEach { viewModel ->
val requestCode = NotificationConstants.CHANNEL_ID_CONTACTS.hashCode() + viewModel.hashCode()
val startIntent = PersonActivity.buildIntentFor(context, viewModel.contact)
val pendingIntent = PendingIntent.getActivity(
context,
requestCode,
startIntent,
PendingIntent.FLAG_UPDATE_CURRENT)
override fun summaryViewModelOf(viewModels: List<ContactEventNotificationViewModel>): SummaryNotificationViewModel {
val title = NaturalLanguageUtils.joinContacts(strings, contacts, MAX_CONTACTS)
val label = strings.dontForgetToSendWishes()
val lines = arrayListOf<CharSequence>()
viewModels.forEach { contactViewModel ->
val boldedTitle = SpannableString("${contactViewModel.title}\t\t${contactViewModel.label}").apply {
setSpan(StyleSpan(Typeface.BOLD), 0, contactViewModel.title.length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
}
import android.util.Log
object Logs {
var isLoggingEnabled = false
private const val TAG = "Logs"
private const val PREFIX = ">>>PREFIX:"
fun verboseln(message: () -> String) {
if (isLoggingEnabled) {
@alexstyl
alexstyl / CommonIntents.kt
Created February 23, 2022 19:15
Factory functions for common Intents in Android such as starting a call or sending an e-mail
import android.content.Intent
import android.net.Uri
import android.provider.CalendarContract
import android.provider.Settings
import java.util.Calendar
fun sendTextMessage(phoneNumber: String): Intent {
return Intent(
Intent.ACTION_SENDTO,
smrUri(phoneNumber)
@alexstyl
alexstyl / ConversationItem.kt
Created March 21, 2022 13:55
Code sample for composables.co
@Composable
fun ConversationItem(
modifier: Modifier = Modifier,
onClick: () -> Unit,
title: String,
snippet: String,
unread: Boolean = false,
timestamp: String,
profilePainters: List<Painter>,
) {
// instead of a LinearLayout (horizontal) use:
Row {
Text("Main Header")
Spacer(Modifier.weight(1f))
Text("23 mins ago")
}
// instead of FrameLayout use:
Box {