
Alexey
27.01.2017
09:14:46
да
вью бэйсд аппки

Anton
27.01.2017
09:14:55
я как раз этот слушал стоял там)

Dmitry
27.01.2017
09:16:11
@kostya_bakay так залил же, в чем проблема? В тексте ошибки? Так версию 3 еще никто скачать не успел, а уже 4ую залили, ее и будут скачивать как обнову

Google

Gleb
27.01.2017
09:18:36
Про нотификации и стэки (к вчерашнему обсуждению):
TaskBuilder - как-то либо недодуман гуглом - либо я его не додумал
всё работает хорошо - пока ап не запущен - строится стек как надо
но если у меня уже есть стек (свернутый/несвернутый - одинаково) - он пересоздает весь стэк со всем известной ужастной анимацией "уплывания вверх" - на 4х андроидах

Sergey
27.01.2017
09:19:26
> но если у меня уже есть стек (свернутый/несвернутый - одинаково) - он пересоздает весь стэк со всем известной ужастной анимацией "уплывания вверх" - на 4х андроидах
android:launchMode=«singleInstance» ?

Gleb
27.01.2017
09:19:54
singleTask

Sergey
27.01.2017
09:20:13
странно
проверяешь на эмуляторе?

Kostya
27.01.2017
09:22:14
@int00h вся проблема, что это не я делаю :) то есть это значит, что 3 версию еще никто не имеет и дальше она просто пропустится?

Gleb
27.01.2017
09:22:18

Sergey
27.01.2017
09:22:40
угу
попробуй задать свою анимацию

Gleb
27.01.2017
09:23:59
попробуй задать свою анимацию
так, понимаешь, я тогда могу засунуть чистый интент с FLAG_NEW_TASK - и всё будет как надо, просто не хочется из майн активити проксировать в нотификейшн активити

Роман
27.01.2017
09:25:01
ребят, а можете скинуть материалы по gradle, а то я пока с ним работаю как с заклинанием, а оф. доки чет объемные

Gleb
27.01.2017
09:25:13
попробуй задать свою анимацию
тут вот в чём дело - пока речь только о майн активити - все как надо работает - он вытаскивает из бг - либо создает с нуля - либо не трогает

Sergey
27.01.2017
09:26:43
_ TaskStackBuilder stackBuilder = TaskStackBuilder.create(ctx);
stackBuilder.addNextIntent(intentFromNotif);
stackBuilder.addParentStack(ParentActivity.class);
ActivityOptionsCompat optionsCompat = makeCustomAnimation(ctx, R.anim.fast_fade_in, R.anim.fast_fade_out);
stackBuilder.getPendingIntent(code, flag, optionsCompat.toBundle());

Nick Senchurin
27.01.2017
09:27:15

Google

Роман
27.01.2017
09:27:38

Gleb
27.01.2017
09:31:13

Sergey
27.01.2017
09:31:35
правильно

Gleb
27.01.2017
09:33:07
правильно
блин,.... это типа такое гайдовое поведение? в apiDemos так же происходит

Sergey
27.01.2017
09:33:12
как чаилд который был создан без парент активити может вернутся к уже существующему паренту, который(парент) в свою очередь не запускал этот чаилд?

Dmitry
27.01.2017
09:33:59
@kostya_bakay ну да

Gleb
27.01.2017
09:38:39


Kostya
27.01.2017
09:48:36
@int00h спасибо, заказчик решил уже проблему :)
@sergeyfitis еще вопросик. А если после обфускации апка весит на 3 Мб меньше, то это норма?

Sergey
27.01.2017
09:58:05
прогард удаляет неиспользуемый код

Quantum Harmonizer
27.01.2017
09:58:44
вполне, имена методов и классов состоят теперь из одного-трёх знаков, а мёртвый кот удалён

Kostya
27.01.2017
09:59:52
то есть размер apk напрямую зависит от длины кода и даже переменных? разве оно в байт код перед этим не переводится?

Sergey
27.01.2017
10:00:19
больше кода - больше байткода )

Quantum Harmonizer
27.01.2017
10:00:41
В байт-коде остаются имена классов, полей, методов, параметров, а иногда и локальных переменных.
Кроме того, есть метаданные, например, LineNumberTable.

Kostya
27.01.2017
10:01:23
то есть нужно экономить на именах переменных? :)

Google

Quantum Harmonizer
27.01.2017
10:01:38
Нет, для этого есть ProGuard :)
Писать компактные библиотеки (как Джейк) — хорошо, но экономить на понятности не стоит.

Kostya
27.01.2017
10:03:11
окей, я понял :) значит прогард обычно обязательно используют?

Sergey
27.01.2017
10:03:19

Kostya
27.01.2017
10:03:45
понял, спасибо за объяснения :)

Quantum Harmonizer
27.01.2017
10:06:05
Его даже в библиотеках используют, если у них есть зависимости. Например, Написал пару классов, втащил Гуаву, настроил проГуард, чтобы он оставлял все публичные методы и классы из твоего пакета. И в релизе от Гуавы остаётся пара классов.

Kostya
27.01.2017
10:11:11
хммм, и типа ничего лишнего не затянется да?

Alexey
27.01.2017
10:11:51
а когда вызывается onCreateOptionsMenu ? после onViewCreated ? у фрагмента

Sergey
27.01.2017
10:12:07

Kostya
27.01.2017
10:12:25
то есть шанс, что из-за него где-то будет креш?

Sergey
27.01.2017
10:12:33

Kostya
27.01.2017
10:12:44
а можно предвидеть как-то?

Sergey
27.01.2017
10:12:45
если не настроил rules

Kostya
27.01.2017
10:13:01
а что в рулес идет?

Sergey
27.01.2017
10:13:25
могу своим рулс поделится

Kostya
27.01.2017
10:14:17
хммм, а есть гайды по этому какие-то? а то мне сказали ко всем апкам подключить эту фигню, чтобы их обновили, а тут выходит, что это может только их сломать...
кидай, я гляну для примера

Google

Quantum Harmonizer
27.01.2017
10:14:44
ProGuard удаляет нужное, когда это нужное используется неявно: Class.forName(), getConstructor(...) и т. п.
Ко всем рефлективным библиотекам обычно есть инструкции, что нужно написать, чтобы не выпилилось.

Sergey
27.01.2017
10:15:21

Dmitry
27.01.2017
10:16:00
@InjectViewState https://github.com/xxv/android-lifecycle

Alexey
27.01.2017
10:17:00

Kostya
27.01.2017
10:17:07
спасибо

Admin
ERROR: S client not available

Sergey
27.01.2017
10:19:43
вот например, пришлось добавить правила
-keep class android.support.v7.** { *; }
-keep interface android.support.v7.** { *; }
потому что прогард удалил из cборки OptionMenu классы )

Quantum Harmonizer
27.01.2017
10:20:14
Потому что XML :(

Dmitri
27.01.2017
10:36:34
Возможно ли задать imageview жесткий размер, но если сурс окажется меньше то - wrap content?

Roman
27.01.2017
10:46:50

Dmitri
27.01.2017
10:47:35
А как это поможет?

Kostya
27.01.2017
10:47:56
@sergeyfitis а как тогда после прогарда будет читатся стектрейс? Выходит в крешлитике будет ничего не ясно, если упадет?

Quarx2k ?
27.01.2017
10:48:15
Крешлитикс карту создает сопоставления
даже с прогвардом, в нем все ок будет

Kostya
27.01.2017
10:49:11
а как он узнает? для него же входной параметр вроде как код из apk?
или он тырит твой реальный код?

Quarx2k ?
27.01.2017
10:49:55
он на этапе сборки генерирует карту

Sergey
27.01.2017
10:50:00

Quarx2k ?
27.01.2017
10:50:05
реальный - не реальный класс

Google

Quarx2k ?
27.01.2017
10:50:11
и загружает к себе на сервер

Roman
27.01.2017
10:50:18

Sergey
27.01.2017
10:50:55

Quarx2k ?
27.01.2017
10:51:35
Once Gradle is configured, ensure that minifyEnabled=true is set in any flavor you’re using Crashlytics in. Crashlytics automatically uploads the mapping files for reach of your build variants.
https://docs.fabric.io/android/crashlytics/dex-and-proguard.html

Kostya
27.01.2017
10:54:05
то есть по дефолту не работает, нужно самому добавлять?
есть правила для этого

Sergey
27.01.2017
10:54:19

Kostya
27.01.2017
10:54:35
это надо добавить, чтобы разрешить юзать твой код?
-keepattributes SourceFile,LineNumberTable

Sergey
27.01.2017
10:54:40

Kostya
27.01.2017
10:54:42
о, спасибо
мда, походу точно день на это убью пока все прочитаю и сделаю так, чтобы не налажать :)

Artem
27.01.2017
10:56:12
оно того стоит

Dmitriy
27.01.2017
11:23:05
вам платят чтоль за поддержку чата?) я даже в те дни когда не особо занят, с трудом нахожу силы и время сюда зайти, и еще реже - читать что другие вообще пишут? Такой поток информации)
никто не в курсе, у calendarView стандартного есть мультиселект мод? чет не нахожу, неожиданно

Sergey
27.01.2017
11:33:35
он максимально прост, просто календарь