Skip to content

Instantly share code, notes, and snippets.

@vorobeij
vorobeij / filesInFolder.java
Last active June 7, 2017 09:31
get all text files in folder
private static List<File> getFilesInFolder(String path) {
List<File> files = new ArrayList<>();
File folder = new File(path);
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
files.add(listOfFiles[i]);
} else if (listOfFiles[i].isDirectory()) {
@vorobeij
vorobeij / getLinesFromFile.java
Last active June 7, 2017 09:46
get lines from file
List<String> listOfLines = Files.readAllLines(Paths.get(f.getAbsolutePath()));
@vorobeij
vorobeij / disableUsbSuspend.sh
Created June 13, 2017 20:35
disable autosuspend ubuntu
echo 2 | sudo tee /sys/bus/usb/devices/*/power/autosuspend >/dev/null
echo on | sudo tee /sys/bus/usb/devices/*/power/level >/dev/null
@vorobeij
vorobeij / PermissionsManager.java
Created October 1, 2017 10:48
a sheme of using permissions on android
package com.jack.sparrow.mylauncher.model;
import android.Manifest;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Build;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.util.Log;
@vorobeij
vorobeij / gson.kt
Last active June 6, 2019 07:49
gson usage
fun main(args: Array<String>) {
val gson = GsonBuilder().setPrettyPrinting().create()
val person = Person("Kolineer", 27, listOf("I am Kotlin Learner", "At Kotlination"))
// to json
val jsonPerson: String = gson.toJson(person)
println(jsonPerson)
// from json
@vorobeij
vorobeij / MainActivity.kt
Last active July 27, 2018 09:45
android time measure
val timings = TimingLogger("YOUR_TAG", "methodA")
// ... do some work A ...
timings.addSplit("work A")
// ... do some work B ...
timings.addSplit("work B")
// ... do some work C ...
timings.addSplit("work C")
timings.dumpToLog()
// adb shell setprop log.tag.YOUR_TAG VERBOSE
@vorobeij
vorobeij / rxListOfTasks.kt
Created January 26, 2018 11:43
perform task for each element in list in many threads with rxjava2
// perform task for each element in list in many threads with rxjava2
fun getAppsList2(): Single<MutableList<UserApp>>? {
val pm = context.packageManager
val packages = pm.getInstalledApplications(PackageManager.GET_META_DATA)
val tasks: MutableList<ApplicationInfo> = mutableListOf()
packages.mapTo(tasks) { it }
return Observable.fromIterable(tasks)
.map { appInfo ->
@vorobeij
vorobeij / SwipeToDeleteCallback.kt
Created February 15, 2018 09:33
save bitmap to gallery
private fun saveBitmap(bitmap: Bitmap,
name: String) {
val s = context.packageName
Timber.d("jsp bitmap is saved ")
MediaStore.Images.Media.insertImage(context.contentResolver, bitmap, name, s);
}
@vorobeij
vorobeij / MainActivity.kt
Last active February 15, 2018 17:02
Swipe to delete callback
private fun initRvActions() {
rvCommands.layoutManager = LinearLayoutManager(this)
rvCommands.adapter = AdapterCommands(model)
rvCommands.addItemDecoration(DividerItemDecoration(this, DividerItemDecoration.VERTICAL))
val swipeHandler = object : SwipeToDeleteCallback(this) {
override fun onSwiped(viewHolder: RecyclerView.ViewHolder, direction: Int) {
val adapter = rvCommands.adapter as AdapterCommands
adapter.removeAt(viewHolder.adapterPosition)
}
// set on long click listener
launcherGrid.setOnItemLongClickListener { parent, view, position, id ->
Timber.d("jsp grid item id=$id pos=$position long clicked")
launcherAdapter().startDrag(view, position)
false
}
data class DragData(val view: View,
val position: Int)