Skip to content

Instantly share code, notes, and snippets.

View MaxMyalkin's full-sized avatar

Maxim Myalkin MaxMyalkin

View GitHub Profile
@Composable
fun keyboardAsState(): State<KeyboardState> {
val keyboardState = remember { mutableStateOf(KeyboardState.Closed) }
val view = LocalView.current
val viewTreeObserver = view.viewTreeObserver
DisposableEffect(viewTreeObserver) {
val onGlobalListener = ViewTreeObserver.OnGlobalLayoutListener {
@MaxMyalkin
MaxMyalkin / OIDExternalUserAgentIOSSafariViewController.swift
Created February 13, 2022 22:10
OIDExternalUserAgentIOSSafariViewController to share cookies
//
// Используем кастомный OIDExternalUserAgentIOSSafariViewController вместо OIDExternalUserAgentIOS
//
// OIDExternalUserAgentIOS использует отдельную сессию ASWebAuthenticationSession,
// которая затем не шарит куки с другими SafariViewController
//
// OIDExternalUserAgentIOSSafariViewController использует общую сессию с SafariViewController,
// что позволяет затем открывать страницы в SafariViewController без авторизации
//
//
//сообщение
@SerializedName("id")
val id: Int,
@SerializedName("text")
val text: String,
@SerializedName("user")
val user: UserModel,
@MaxMyalkin
MaxMyalkin / api.kt
Last active September 1, 2017 14:20
@POST("file.upload/")
@Multipart
fun uploadMedia(@Part file: MultipartBody.Part): Observable<FileModel>
@GET("message.get/")
fun getMessages(@Query("chat_id") chatId: Int,
@Query("limit") limit: Int,
@Query("from") from: Int?,
@Query("direction") direction: Int): Observable<MessageWrapper>
public static void addTests(ClassLoader loader, TestSuite suite) {
try {
Class[] classes = getClasses("ru.mail.mailbox.cmd.server", loader);
System.out.println("class size " + classes.length);
for(Class clazz : classes) {
for(Method method : clazz.getDeclaredMethods()) {
for(Annotation annotation : method.getAnnotations()) {
if(annotation instanceof MockMethod) {
// suite.addTest(TestSuite.createTest(clazz, method.getName()));
System.out.println("add method " + method.getName() + " for class " + clazz.getName());
@MaxMyalkin
MaxMyalkin / script.js
Last active August 29, 2015 14:21
файл js
//чтобы можно было посылать POST к Django через ajax
function setupAjaxDjango(){
// using jQuery
function getCookie(name) {
var cookieValue = null;
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
// Does this cookie string begin with the name we want?