LINUX.ORG.RU

Сообщения bryak

 

Загрузить fragment по click

Форум — Development

cat FillFormFragment.kt

package com.example.some

import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup

class FillFormFragment : Fragment() {

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? =
            inflater.inflate(R.layout.fragment_fillform, container, false)

    companion object {
        fun newInstance(): FillFormFragment = FillFormFragment()
    }
}

Мне надо его загрузить из ProfileFragment. В ProfileFragment есть textview, я делаю обработку на клик

val fill_form: TextView = self?.findViewById(R.id.fill_form) as TextView

fill_form.setOnClickListener {
...
}

Как это сделать?

 ,

bryak
()

imagebutton приклеенный к circleimageview

Форум — Development

Пример: https://www.androidhive.info/wp-content/uploads/2019/02/android-social-profile-like-instagram-min.jpg

кнопка с плюсиком

Это не правильно

<de.hdodenhof.circleimageview.CircleImageView
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/profile_image"
        android:layout_width="192dp"
        android:layout_height="192dp"
        android:layout_centerInParent="true"
        android:src="@drawable/ic_profile"
        app:civ_border_width="1dp"
        app:civ_border_color="#FF000000"/>
    
    <ImageButton
        android:id="@+id/edit"
        android:layout_width="24dp"
        android:layout_height="24dp"
        android:layout_marginLeft="20dp"
        android:background="@drawable/ic_add_photo_black_24dp"
        android:layout_alignParentRight="true" />

 , ,

bryak
()

diff на две директории

Форум — Development

В dwm некоторые патчи не совсем корректные(нужно после patch -p1 < фиксить некоторые моменты). Хочу для себя сделать патчи, после которых не нужно будет ничего фиксить. Итак, делаю две директории

mkdir {old,new}

далее в директорию old закидываю чистый dwm + все патчи в директорию patch

Далее делаю

cp -prf old new
cd old/dwm
patch -p1 < ../patch/1.dwm-autostart-20161205-bb3bd6f.diff
cd ../../

далее выполняю diff на две директории и формирую патч

diff -ur new old > 1.dwm-autostart-20161205-bb3bd6f_my.diff
``

далее удаляю old и беру оригинальное состояние до patch
```bash
cp -prf new old

пробуй накладывать СВОЙ патч

cd old/dwm
patch -p1 < ../../patches/1.dwm-autostart-20161205-bb3bd6f_my.diff
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -ur new/dwm/dwm.c old/dwm/dwm.c
|--- new/dwm/dwm.c       2020-05-20 20:29:21.000000000 +0300
|+++ old/dwm/dwm.c       2020-05-20 20:51:40.458254267 +0300
--------------------------
File to patch:

Как от этого избавиться, чтобы вручную не указывать файл dwm.c?

 , ,

bryak
()

mpv tips & trics

Форум — Desktop

Кто какие фильтры\конфиги\плагины использует? Может кто-то юзает какие-то плагины, которые 60fps делают или что-то оригинальное

 

bryak
()

mpv не пойму, что не так с воспроизведением видео

Форум — Desktop

Скачал конфиг https://github.com/Argon-/mpv-config Или это эффект плацебо или как-то видео по-интересному воспроизводится. Помогите понять, что не так

 ,

bryak
()

bottom nav как дальше с ним работать?

Форум — Development

https://material.io/develop/android/components/bottom-navigation/

А как правильно на вьюхи добавлять свои элементы?

 ,

bryak
()

dwm + emulator + windows title

Форум — Desktop

Я запускаю emulator android

emulator -avd Pixel_2_API_R -netdelay none -netspeed full

Запущенный эмулятор хочет быть float(blink’ает) Запускаю xprop:

$xprop.sh
title: "Android Emulator - Pixel_2_API_R:5554"
$xprop.sh
title:

https://ibb.co/VWsWmgm сам эмулятор имеет титл Android Emulator - Pixel_2_API_R:5554

https://ibb.co/9TCTw7d панелька имеет титл title:(пусто)

в dwm добавить бы что-то типа

{ NULL, NULL, "Android Emulator-*", 0, 1, -1 },

возможно ли это?

И второе, как быть с панелькой, которая имеет title пусто?

И третье: может как-то можно выставить титл\виндовс класс\инстанс всему этому делу?

 , , ,

bryak
()

material badge

Форум — Development
package com.thesimplycoder.bottomnavbar

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
import android.graphics.Color
import androidx.core.app.NotificationCompat

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        bottomNav.setOnNavigationItemSelectedListener {
            when (it.itemId) {
                R.id.menu_home -> {
                    setContent("Home")
                    true
                }
                R.id.menu_notification -> {
                    setContent("Notification")
                    true
                }
                R.id.menu_search -> {
                    setContent("Search")
                    true
                }
                R.id.menu_profile -> {
                    setContent("Profile")
                    true
                }
                else -> false
            }
        }
        // var badge = bottomNav.getOrCreateBadge(R.id.menu_home)
        // badge.isVisible = true
        // badge.number = 99
        // bottomNav.getOrCreateBadge(R.id.menu_home).apply {
        //     backgroundColor = Color.RED
        //     badgeTextColor = Color.WHITE
        //     maxCharacterCount = 3
        //     number = 0
        //     isVisible = true
        // }
        // val name = getString(R.id.menu_home)
        // val descriptionText = getString(R.string.channel_description)
        // val importance = NotificationManager.IMPORTANCE_LOW
        // val mChannel = NotificationChannel(id, name, importance).apply {
        //     description = descriptionText
        //     setShowBadge(false)
        // }
        // val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
        // notificationManager.createNotificationChannel(mChannel)

        val messageCount = 12
        var notification = NotificationCompat.Builder(this@MainActivity, R.id.menu_home.toString())
        .setContentTitle("New Messages")
        .setContentText("You've received 3 new messages.")
        // .setSmallIcon(R.drawable.ic_notify_status)
        .setSmallIcon(R.mipmap.ic_launcher)
        .setNumber(messageCount)
        .build()
    


    }

    private fun setContent(content: String) {
        setTitle(content)
        tvLabel.text = content
    }
}

Ничего не отображается

при(с офиц доки)

var badge = bottomNav.getOrCreateBadge(R.id.menu_home)
badge.isVisible = true
badge.number = 99

аплека падает. Что я делаю не так?

 ,

bryak
()

вопросы по firebase и google play console

Форум — Development
  1. Как бы зарезервировать имя приложения до его выпуска?
  2. Как в firebase происходит тестирование? Нужен fingerprint сертификата приложения?
  3. Можно выгрузить какое-то пустое приложение, чтобы его можно было тестировать, но оно как бы было приватным, а не паблик?

В общем мне нужно что?

  1. желательно до релиза зарезервировать имя приложения
  2. загенерить все серты, чтобы можно было работать с firebase

 ,

bryak
()

Как опмитизировать такой кусок кода?

Форум — Development
var temp_str = ""
if(opsos.size == 4) {
    temp_str = opsos[2]
} else {
    val phone_size = 10
    for(i in 0..phone_size-opsos[0].toInt()) {
        temp_str += "#"
    }
}

 

bryak
()

firefox как запретить suspend tab?

Форум — Desktop

Очень неудобно, когда открываешь броузер и все табы, кроме текущего, являются suspend, перехожу на любой из них и они начинают рефрешиться. Как запретить firefox’у это делать?

 , ,

bryak
()

Вопросы про авторизацию и push messages

Форум — Development

Хочу спросить общие вопросы, чтобы понимать общие моменты. Я делаю приложение, у которого будет авторизация по номеру телефона и верификация. Бекенд будет на djangorest. Я думал сделать так:

  1. человек отправляет запрос на верификацию
  2. ему приходит смс с кодом
  3. человек вбивает код и бекенд чекает валидный ли код
  4. если валидный - формирует токен и передает этот токен клиенту
  5. клиент сохраняет этот токен и каждый раз, когда выполняет какие-то запросы к бекенду, сервер аутентификации чекает этот токен

Так же в приложении будут push messages. Они реально нужны. Отсюда возникают вполне закономерные вопросы:

Верификация:

  1. поиск платформы, которая сможет верифицировать юзеров с помощью смс
  2. выбор платформы из всех существующих

Прайс firebase: 10к юзеров бесплатно в месяц, за авторизацию +10к юзеров придется заплатить $600 т.е $0.06 верификация

Прайс twilio: $0.0075 за каждую смс

По идее twilio дешевле, чем firebase. Но тут есть несколько вопросов по всем этим платформам

  1. возможно ли в firebase сделать так, чтобы я только делал верификацию юзеров при реге, а потом я им выдавал токен и авторизовывал их у себя на бекенде?

  2. если я использую twilio для верификации, смогу ли я использовать push message в firebase? Или юзеры должны обязательно авторизоваться в firebase, чтобы принимать push message?

  3. Можно ли как-то организовать push message без участия firebase? Т.е, допустим, аплекейшен подписывается на на какую-то ветку rabbitmq, слушает ее и как только туда прилетает message «адресованный» ей - она этот message показывает как push message

 , ,

bryak
()

есть что-то типа хуков?

Форум — Admin

У меня есть измененный конфиг docker’a. При обновлении пакетов, конфиг докера меняется на дефолтный. Думаю, может есть какая-то система хуков в дебиане, чтобы если обновляется какой-то пакет, внутри хука выполнить команду(sed), чтобы зареплейсить строку конфига

 

bryak
()

верификация с помощью смс

Форум — Development
  1. какие сервисы кто использует?
  2. есть ли у данных сервисов семплы под kotlin?
  3. С firebase не понятно. Там до 10к верификаций в месяц бесплатно или всего 10к бесплатно?

 , ,

bryak
()

как взять код страны?

Форум — Development

т.е если Украина - +3, если Россия - +7 и тд

 ,

bryak
()

class this. не работает пример из книги

Форум — Development

в книге написано:

 Если вы привыкли использовать одно имя, то добавьте this

class WildCat(name: String, weight: Int, breed: String){
    val this.name = name
    var this.weight = weight
    val this.breed = breed
}

Делаю:

package com.example.socialkotlin
import android.graphics.Color.*
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import java.util.concurrent.Executors
import kotlin.system.*
import kotlinx.android.synthetic.main.content_main.*
// import kotlinx.coroutines.*
import kotlinx.coroutines.delay
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
// import kotlinx.coroutines.CommonPool
import kotlinx.coroutines.async
import kotlinx.coroutines.AbstractCoroutine
import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.CoroutineScope

import java.util.concurrent.*
import kotlinx.coroutines.channels.*
import kotlinx.coroutines.channels.actor


class WildCat(name: String, weight: Int, breed: String){
    val this.name = name
    var this.weight = weight
    val this.breed = breed
}

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        Log.d("TAG", "----------------------------")

        
        val test = WildCat("zzzz", 12, "zzzz1")
        Log.d("TAG", test.name.toString())
        
        super.onCreate(savedInstanceState)
        setContentView(R.layout.content_main)
        text_id.setText("zzz2")
        // text_id.setText(getWarmth(c).toString())
    }

}

out:

> Task :app:compileDebugKotlin FAILED
e: /home/user/media/source_project/socialkotlin/app/src/main/java/com/example/socialkotlin/MainActivity.kt: (26, 9): Type expected
e: /home/user/media/source_project/socialkotlin/app/src/main/java/com/example/socialkotlin/MainActivity.kt: (27, 9): Type expected
e: /home/user/media/source_project/socialkotlin/app/src/main/java/com/example/socialkotlin/MainActivity.kt: (28, 9): Type expected
e: /home/user/media/source_project/socialkotlin/app/src/main/java/com/example/socialkotlin/MainActivity.kt: (26, 21): Extension property cannot be initialized because it has no backing field
e: /home/user/media/source_project/socialkotlin/app/src/main/java/com/example/socialkotlin/MainActivity.kt: (27, 23): Extension property cannot be initialized because it has no backing field
e: /home/user/media/source_project/socialkotlin/app/src/main/java/com/example/socialkotlin/MainActivity.kt: (28, 22): Extension property cannot be initialized because it has no backing field
e: /home/user/media/source_project/socialkotlin/app/src/main/java/com/example/socialkotlin/MainActivity.kt: (37, 27): Unresolved reference: name

 ,

bryak
()

Не получается set в классе

Форум — Development
class Cat(val name: String, weight_param: Int, breed_param: String) {

    var activities = arrayOf("Play")
    val breed = breed_param.toUpperCase()
    
    var weight = weight_param
        set(value) {
            Log.d("TAG", "in set()")
            if (value > 0) {
                Log.d("TAG", "yes")
                field = value
            }
            else {
                Log.d("TAG", "no")
                field = 0
            }
        }
    
    val weightInGramms: Int
        get() = weight * 1000

    fun sleep() {
        println(if (weight < 3) "сопит!" else "храпит!")
    }
}

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        Log.d("TAG", "----------------------------")

        val cat = Cat("Васька", -3, "Дворовая")
        Log.d("TAG", cat.weightInGramms.toString()) // возвращает 3000
        
        super.onCreate(savedInstanceState)
        setContentView(R.layout.content_main)
        text_id.setText("zzz2")
        // text_id.setText(getWarmth(c).toString())
    }

}

 ,

bryak
()

таймер на андроид(специфический)

Форум — Desktop

Никому не попадался таймер такой специфики: я нажимаю старт - тикает время. Я нажимаю стоп. Далее я нажимаю на кнопку еще раз - тикает в обратном порядке:

старт --> 1, 2, 3, 4, 5
стоп --> 5
старт --> 5, 4, 3, 2, 1

 ,

bryak
()

debian есть ли кастомные ядра?

Форум — Admin

Есть ли для дебиана какие-то скрипты\репы, которые позволяют накладывать какие-то патчи, по типу geek-sources(не знаю живо ли это сейчас)?

 , ,

bryak
()

Как сделать правильно патч?

Форум — Development

Есть сорсы ядра /usr/src/linux-source-4.19, я накладываю патч и он накладывается с ошибками. Я их исправляю. После того, как я пофиксил ошибки, я хочу сделать патч, который я смогу без проблем наложить в следующий раз. Как это правильно сделать. Итак, есть набор действий:

cd /usr/src

1. rm -rf linux-source-4.19
2. tar xJpf linux-source-4.19.tar.xz
3. cp -prf cp -prf /boot/config-"$(uname -r)" .config

cd linux-source-4.19

4. patch -p1 < kernel_gcc_patch/usr/src/kernel_gcc_patch/enable_additional_cpu_optimizations_for_gcc_v9.1+_kernel_v4.13+.patch
5. фиксим ошибки после наложения ядра
6. набор действий, чтобы сделать патч(вопрос топика)

 , ,

bryak
()

RSS подписка на новые темы