
Sergey
07.03.2017
13:43:48

Илья
07.03.2017
13:44:21
так повелось)
есть какое-то более оптимальное решение?)

Sergey
07.03.2017
13:44:48
юзайте просто uri

Google

Alexander
07.03.2017
13:45:54

Kostya
07.03.2017
13:46:45
как замутить, чтобы TextInputLayout не брал цвет с colorPrimary?
а то мне совсем другой цвет нужен

Sergey
07.03.2017
13:47:20

Alexander
07.03.2017
13:47:49
угумс, но это костыль как раз от девайсов. которые отдают кривой uri

Sergey
07.03.2017
13:48:06
что значить кривой?

Илья
07.03.2017
13:48:12
http://pastebin.com/GdRa8hjN
Вот такой гемор городить приходится

Sergey
07.03.2017
13:48:36
фигня же )
что вам надо делать с этим uri?
зачем вам конкретно прямой путь на файл

Илья
07.03.2017
13:49:13
надо фотку на сервак послать же

Sergey
07.03.2017
13:49:28
вы же знаете что файл даже может не быть на устройстве

Google

Sergey
07.03.2017
13:50:16
contentResolver.openInputStream(uri)

Илья
07.03.2017
13:51:25
надо пользователю в диалоге эту фотку показать, прежде чем отправить, по этому и нужен путь

Sergey
07.03.2017
13:51:41

Илья
07.03.2017
13:51:50
так где он тогда?

Sergey
07.03.2017
13:52:00

Илья
07.03.2017
13:52:09
пользователь делает скрин или фотку и она в облако сохраняется?

Sergey
07.03.2017
13:52:38

Илья
07.03.2017
13:52:39
то есть если у него нет интернета, он не сможет фотку сделать??))

Sergey
07.03.2017
13:53:18

Илья
07.03.2017
13:53:25
ага)

Sergey
07.03.2017
13:53:57
где берется картинка?

Илья
07.03.2017
13:53:58
видимо мы в целом этот механизм до конца не понимаем, по этому и пишу здесь)

Sergey
07.03.2017
13:54:45
если есть uri ты можешь и показать её и выгрузить
путь знать не надо для этого

Илья
07.03.2017
13:55:37
суть в том, что это чатик, пользователь нажимает прикрепить картинку, у него есть выбор из галереи или фотку сделать, шлем интент, стартует приложение для выбора фотки или камера, потом возвращается к нам Uri и вот по этому Uri мы и пытаемся взять файл, но возникают проблемы

Sergey
07.03.2017
13:56:16
берете файл костылями
зачем?

Илья
07.03.2017
13:56:23
вот это поворот, в общем это легаси код, я не вникал, просто вижу репорты, что не могут загрузить картинки пользователи.
зачем так сделано, тебе уже никто не скажет)

Google

Sergey
07.03.2017
13:57:03
getContentResolver().openInputStream(yourUri)

Илья
07.03.2017
13:57:08
у меня есть выбор только это правильно переделать)

Sergey
07.03.2017
13:57:16
и делайте с этим стримом что хотите

Илья
07.03.2017
13:57:45
отлично, пойду прям щас пробовать, если поможет, то ты спасешь наших пользователей))

Sergey
07.03.2017
13:57:47
ContentResolver сам розрулит где находится сам файл

Илья
07.03.2017
13:58:15
даже на всяких Xiaomi?)

Sergey
07.03.2017
13:58:23
неважно
да хоть в гугл драйв будет лежать фотка
начиная с китката есть DocumentProvider
только getContentResolver().openInputStream(yourUri) делай в фоновом потоке конечно же

Илья
07.03.2017
14:00:22
это сеть? или только может возникнуть ситуация, когда он полезет в сеть?

Sergey
07.03.2017
14:00:50
в том числе может быть и поход в сеть

Sergey
07.03.2017
14:01:05
это и чтение файла
ты же не делаешь чтение файла в главном потоке? )

Илья
07.03.2017
14:02:52
да похер на этот ui, пусть висит себе)

Sergey
07.03.2017
14:03:03
будет ANR или вылет с NetworkOnMainThread

Илья
07.03.2017
14:04:59
шучу конечно

Иван
07.03.2017
14:09:26
Ребят, как баг чинить в студийки 2.3 про удаление апк или никак?

Quarx2k ?
07.03.2017
14:10:56
что за баг

Google

Иван
07.03.2017
14:14:37
Приложения не собирается на телефон. Пишет что оно мол установлено надо удалить, он тип удаляет и опять тожесамое говорит и выкидывает ошибку удаления

Gleb
07.03.2017
14:17:06
да похер на этот ui, пусть висит себе)
у меня еще пара приятных новостей, для тебя)
1)в галерее могут лежать очень большие фотографии, теоретически вообще любые - вплоть до профессиональных - поэтому декодь с inSampleSize (см доки по работе с битмапами)
2)если ты сам грузишь битмап и рисуешь его у себя в аппе (без помощи Glide и тп) - ты должен подумать об exif-ах - иначе половина фоток будет боком

Иван
07.03.2017
14:17:12

Gleb
07.03.2017
14:18:31

Sergey
07.03.2017
14:19:00

Quarx2k ?
07.03.2017
14:19:02
:D

Admin
ERROR: S client not available

Quarx2k ?
07.03.2017
14:19:24

Vlad
07.03.2017
14:27:45
Доброго вечера, подскажите, я хочу использовать PreferenceScreen и все что с ним связано, но сохранять настройки в Realm. И потом переключением "профилей" менять все настройки разом. Возможно ли такое?(сохранение настроек не в sharedPref)

Quantum Harmonizer
07.03.2017
14:28:33

Vlad
07.03.2017
14:33:03

Quantum Harmonizer
07.03.2017
14:37:54

Vlad
07.03.2017
14:38:34

Quantum Harmonizer
07.03.2017
14:39:23
спасибо, пойду почитаю
Это из PreferenceFragment, чтобы он писал в нужный файл, вызывать до addPreferencesFromResource

Иван
07.03.2017
14:48:18
Error:(278, 35) Fragment.getLayoutInflater can only be called from within the same library group (groupId=com.android.support)
Что он от меня хочет?

Alexey
07.03.2017
14:49:43
@bitizen248 чтобы ты не использовал Fragment.getLayoutInflater()

Иван
07.03.2017
14:49:57
а как тогда?

Alexey
07.03.2017
14:50:16
@bitizen248 LayoutInflater.from(getContext())

Quantum Harmonizer
07.03.2017
14:50:55

Google

Иван
07.03.2017
14:51:24
раньше все норм было(

Quantum Harmonizer
07.03.2017
14:51:40
опять гугл сломали обратную совместимость)

Иван
07.03.2017
14:52:44
так он даже depricated не был

Alexey
07.03.2017
14:52:51
@bitizen248 У фрагмента нет этого метода, саппортеры для себя тока сделали. "Hack so that DialogFragment can make its Dialog before creating its views, and the view construction can use the dialog's context for inflation. Maybe this should become a public API. Note sure. @hide @RestrictTo(LIBRARY_GROUP)"

Иван
07.03.2017
14:53:08
он теперь компилем как ошибка пишется

Alexey
07.03.2017
14:53:33
@bitizen248 потому что
@RestrictTo(LIBRARY_GROUP)"
добавили

Dmitriy
07.03.2017
15:19:37
всем привет. есть задача - написать тест для SharedPreference. есть подозрение, что Mockito плохо подходит под мою задачу: есть две функции - сохранение данных и получение. хочу написать для них тест. но как сделать, чтобы после записи данных, мокито возвращал данные, которые якобы в хранилище?
`when`(sessionManager.getData()).thenReturn("Data")
sessionManager.setData("New Data")
assertEquals("New Data", sessionManager.getData())
понятное дело, тест не пройдет, т.к. я задал правило, что sessionManager.getData() - возвращает Data. как быть? помогите :(

Андрей
07.03.2017
15:23:27
странный код. если вы тестируете sessionManager, то он не должен быть заглушкой

Dmitriy
07.03.2017
15:24:05
хм, а что посоветуете? sharedpref мокировать?

Eugene
07.03.2017
15:24:26
Кто знает какие способы защитить приложении от клонирования на другое устройство? То есть при запуске приложения девайс регистрируется на сервере и привязывается к аккаунта пользователя. Если это приложение склонировать на другое устройство, нужно останавливать его работу

Quantum Harmonizer
07.03.2017
15:24:27
да, это легко

Андрей
07.03.2017
15:25:13
Если тестируется какой-то класс, то для него создается реальный инстанс, а мокируются его зависимости.

Eugene
07.03.2017
15:26:32

Quantum Harmonizer
07.03.2017
15:26:57

Dmitriy
07.03.2017
15:27:23
так тяжело с мокито на котлин. эти open class, open fun...

Андрей
07.03.2017
15:28:11
юзайте интерфейсы