Skip to content

Instantly share code, notes, and snippets.

@hoshi-takanori
hoshi-takanori / ComposeEditModal,kt
Created March 8, 2021 12:56
CustomDialog with TextField in Jetpack Compose 1.0.0-beta01
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.height
@hoshi-takanori
hoshi-takanori / ComposeEditDialog.kt
Created March 7, 2021 22:00
AlertDialog with TextField doesn't work in Jetpack Compose 1.0.0-beta01
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.height
import androidx.compose.material.AlertDialog
import androidx.compose.material.Button
import androidx.compose.material.Text
import androidx.compose.material.TextField
import androidx.compose.runtime.Composable
@hoshi-takanori
hoshi-takanori / Chat.java
Created February 21, 2018 08:14
Simple chat server in Java.
import java.io.*;
import java.net.*;
import java.util.*;
public class Chat implements Runnable {
private static ArrayList<Chat> users = new ArrayList<>();
private Socket socket;
private PrintStream writer;
private String name;
Layout Props
https://facebook.github.io/react-native/docs/layout-props.html#props
left?: number, string
right?: number, string
top?: number, string
bottom?: number, string
width?: number, string
maxWidth?: number, string
@hoshi-takanori
hoshi-takanori / MultiTouchView.java
Created December 3, 2016 03:46
Android Multi-Touch View.
package com.example.multitouch;
import android.content.Context;
import android.graphics.PointF;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import java.util.HashMap;
import java.util.Map;
@hoshi-takanori
hoshi-takanori / rename-imageset.sh
Created December 2, 2016 03:13
Rename xcode image assets.
#!/bin/sh
old="$1"
new="$2"
if [ "x" = "x$old" -o "x" = "x$new" ]
then
echo "usage $0 old new"
exit 2
fi
#import <Foundation/Foundation.h>
const char *kindForString(NSString *str)
{
if (str.length > 1) {
return "surrogate";
}
if ([@"0123456789" containsString:str]) {
return "digit";
extension Optional {
func isNilOr(block: Wrapped -> Bool) -> Bool {
switch self {
case .None:
return true
case .Some(let value):
return block(value)
}
}
}
class Person {
let name: String
init(name: String) { self.name = name }
func printName() { print("name = \(name)") }
deinit { print("\(name) is being deinited") }
}
var p: Person? = Person(name: "Hoshi")
p?.printName() // name = Hoshi
@hoshi-takanori
hoshi-takanori / MainActivity.java
Created May 12, 2016 13:03
RecyclerView with sections.
package com.example.recyclertest;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.Menu;
import android.view.MenuItem;
import java.util.ArrayList;