Denis
если тебе нужно хранить настройки, то можешь использовать бинарную имплементацию SharedPreferences. https://github.com/yandextaxitech/binaryprefs Там можно также выбрать encrypt/decrypt
Denis
надеюсь, что правильно понял вопрос
Изам
Доброе утро все, при запуске следующего кода у меня перезапускается приложение, ни кто не вкурсе почему так?
Изам
Intent intent = new Intent("android.intent.action.GET_CONTENT"); intent.setType("application/*"); startActivityForResult(intent, 2924);//это число из библиотеки EasyImage .
Изам
Может валится активити вызванное и назад попадаешь?
не, точно нет, потому что иногда она не успевает очиститься из кэша и все проходит нормально
Сергей
есть куча либ, которые шифруют префы И пароль шифрования держат внутри keystore, зашифрованный мастер-ключом. В итоге что бы расшифровать префы надо делать вызов именно от имени исходного приложения, иначе кейстор пошлет. У криптолибы от гугля Tink есть эта штука без последнего этапа (где шифрование данных в префах)
Andrew
Вроде исправили
Сергій
а как они для всех апи исправят? ))
Сергій
кто заставит Самсунг или Сяоми обновить старые устройства? хех
Сергій
да, придумали Project Mainline
Сергій
для устройств с Android 10+
Сергей
Всем привет, кто-нибудь сталкивался с такой ошибкой? В алгоритме формируется URI с подписью и заппускается яндекс навигатор (отображение точки). Алгоритм взял с документации яндекса. На некоторых устройствах (из аналитики 6,5,4 версии 99%)вылетает ошибка, я в криптографии не силен, не могу понять в чем дело, гугл не знает...
Сергей
https://yandex.ru/dev/yandex-apps-launch/navigator/doc/concepts/navigator-commercial-use-signature-docpage/ вот отсюда алгоритм брал
Mike
пароль вообще не надо хранить
Mike
ну это отстой, не надо так делать)
Denis
100% работаешь в аутсорсе
Mike
А в чём, собственно, страх?
Mike
Чтобы кто не смог?
Denis
зачем тогда хранить на телефоне, если инфа совсем секьюрная
Mike
Кулхацкерец кто? В сети со сниффером? Или КГБшник с паяльником? Что от кого прячем?
Denis
не храню такую инфу)
Mike
Нет «секьюрной» информации. Есть информация, которую нужно защитить от конкретных видов атак. И именно из этого вытекает, что с ней делать.
Alex
Логины пароли храню в голове, никому не доверяю😎
ʕ•ᴥ•ʔ
Всем привет, кто-нибудь сталкивался с такой ошибкой? В алгоритме формируется URI с подписью и заппускается яндекс навигатор (отображение точки). Алгоритм взял с документации яндекса. На некоторых устройствах (из аналитики 6,5,4 версии 99%)вылетает ошибка, я в криптографии не силен, не могу понять в чем дело, гугл не знает...
В Android 7 очень много изменений было по части криптографии. Например, запретили в KeyStore использовать собственные варианты защиты ключа вместо парольного ключа (т.е. оставили только KeyStore.load(InputStream, char[])) С какими именно устройствами проблема? Android 7+?
Mike
задача толком не поставлена, поэтому ответы и будут шуточные
Alex
ПОСТАНОВЛЕНИЕ от 1 ноября 2012 г. N 1119   ОБ УТВЕРЖДЕНИИ ТРЕБОВАНИЙ К ЗАЩИТЕ ПЕРСОНАЛЬНЫХ ДАННЫХ ПРИ ИХ ОБРАБОТКЕ В ИНФОРМАЦИОННЫХ СИСТЕМАХ ПЕРСОНАЛЬНЫХ ДАННЫХ
ʕ•ᴥ•ʔ
а где можно почитать про изменения, и что делать со старыми версиями? все что я находил по проблеме это удалить строки Start и End в приватном ключе))
Я разбирался в свое время самостоятельно и у меня была другая проблема - на Android 4,5,6 работает, а на Android 7+ нет.
Сергей
сейчас уже сложновато найти про 4+ андроид, когда на носу 10, многие уже не пишут даже под 7...
Сергій
https://developer.android.com/about/versions/10/
Сергій
там есть для всех версий behavior changes
Сергій
и даже диффы апи
Кирилл
Щас забавный баг нашёл: отображаем обычный снекбар, вертим экран - всё норм, после поворота экрана он снова отображается (просто тупо в onViewCreated заставляю открываться). Потом добавляем ему action, жмём на появившуюся кнопку - он дисмисснулся, всё норм. Но если отобразить снекбар ещё раз - после поворота он перестанет вновь отображаться, хз почему так. В гугле ничего не нашёл. Подскажите?
ʕ•ᴥ•ʔ
там есть для всех версий behavior changes
Посмотрел https://developer.android.com/about/versions/nougat/ Нигде не нашел информацию о том, что метод: https://docs.oracle.com/javase/7/docs/api/java/security/KeyStore.html#load(java.security.KeyStore.LoadStoreParameter) оставили в Android API, но сделали его нерабочим.
Сергій
https://developer.android.com/reference/java/security/KeyStore
Mike
Сергій
а чо нет? нормальная дока
в том что могут быть разбежности? или нет? )
Сергій
например когда я смотрел сорсы java.io.File там много пометок в коде changed for android и тд
Mike
в том что могут быть разбежности? или нет? )
разница реализаций может быть, а поведение не должно отличаться
ʕ•ᴥ•ʔ
http://androidxref.com/ =)
Спасибо большое за ссылку. В коде сразу видно: http://androidxref.com/7.0.0_r1/xref/libcore/ojluni/src/main/java/java/security/KeyStoreSpi.java , что произвольный KeyStore.LoadStoreParameter, как в JAVA, в Android использовать нельзя.
ʕ•ᴥ•ʔ
Либо пароль (char[]), либо SimpleLoadStoreParameter.
Сергій
Сергей
Спасибо большое за ссылку. В коде сразу видно: http://androidxref.com/7.0.0_r1/xref/libcore/ojluni/src/main/java/java/security/KeyStoreSpi.java , что произвольный KeyStore.LoadStoreParameter, как в JAVA, в Android использовать нельзя.
В андроиде загрузка/сохр.кейстора не поддерживается, система сама это рулит. Пароль из него стирается при удалениии прилки
Сергей
Тоже узнал про это из сорцев.
ʕ•ᴥ•ʔ
Тоже узнал про это из сорцев.
Теперь понятно, почему Telegram написал все свое - они просто перестраховывались от будущих правок в исходниках java.security.* :)))
Сергій
В андроиде загрузка/сохр.кейстора не поддерживается, система сама это рулит. Пароль из него стирается при удалениии прилки
> Пароль из него стирается при удалениии прилки так же при смене метода блокировки до андроид 6
Сергій
я как-то задавал им вопрос на недавнем АМА, вот что они ответили
Сергій
> For those devices you might want to look into wrapping the data with your own keys. то что Telegram и сделал
Vadim
Кто подскажет в чём разница использования между ContextCompat и Context?
Vadim
типа просто потому что через context это устаревший способ?
Илья
Кто знает можно ли не меняя в манифесте windowSoftInputMode сделать так, чтобы клавиатура не сдвигала root layout?
Mike
Кто знает можно ли не меняя в манифесте windowSoftInputMode сделать так, чтобы клавиатура не сдвигала root layout?
задать этот mode программно. Но при наличии ресайклера всё равно будет adjustResize :)
Илья
задать этот mode программно. Но при наличии ресайклера всё равно будет adjustResize :)
У меня там scrollView и нужно, чтобы всё скорлилось, но чтобы кнопка не атачилась к клаве сверху (
Mike
Кто подскажет в чём разница использования между ContextCompat и Context?
ContextCompat реализует некоторые методы, которые в обычном Context работают неправильно.
Илья
Кто подскажет в чём разница использования между ContextCompat и Context?
Используешь ContextCompat в тех случаях, когда иде говорит, что данное действие доступно только с какой-то там версии.
Vadim
ContextCompat реализует некоторые методы, которые в обычном Context работают неправильно.
ContextCompat.getDrawable(context ?: return, R.drawable.shape_full_divider)?.let { dividerItemDecoration.setDrawable(it) } тут как думаете можно заменить на использование простого context'a?
Илья
Проще сделать extension getDrawableCompat на обычный конеткст, который юзает ContextCompat
Илья
и юзать везде, где нужно)
Mike
Vadim
нет
почему нет?
Mike
почему нет?
this https://t.me/android_ru/583156
Vadim
this https://t.me/android_ru/583156
то есть тут есть риск что он не будет выполнять корректно setDrawable?
Кирилл
https://t.me/android_ru/583130 попытка #2
Mike
https://t.me/android_ru/583130 попытка #2
баг-трекер + исходники + дебаггер
Vadim
Проще сделать extension getDrawableCompat на обычный конеткст, который юзает ContextCompat
ну так extension аля Context?.getDrawableCompat or ContextCompat?.getDrawableCompat
Vadim
getDrawable же
не очень понял
Mike
фу бле, хватит этими вопросиками обмазываться)
Vadim
ты про ?. ?
Vadim
уж лучше так, чем крэш который увидит и пользоваетль
Vadim
getDrawable же
а тут я всё таки не допонял