ravindracs0071 / android-geocaching

Automatically exported from code.google.com/p/android-geocaching
0 stars 0 forks source link

Копас в избранном перестаёт вращаться после поиска #258

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Добавляем в избранное 5-6 тайников
Компас в строчках вращается как и должен
Выполняем поиск по такой комбинации чтобы 
не было найдено тайников
(список тайников очищается)
Нажимаем back. Список тайников снова 
отображает все тайники, НО
компас при этом замирает и не вращается 
больше.

Original issue reported on code.google.com by Nickolay...@gmail.com on 21 Jan 2012 at 9:30

GoogleCodeExporter commented 9 years ago
Никита, поясните пожалуйста свой 
коментарий в классе
UiThreadCompassView    

onDetachedFromWindow don't work
Что имеется в виду?

/*
    @Override
    //TODO check that this method work, onDetachedFromWindow don't work
    public void onWindowFocusChanged(boolean hasWindowFocus) {
        super.onWindowFocusChanged(hasWindowFocus);
        LogManager.d(TAG, "onWindowFocusChanged " + hasWindowFocus);
        if (hasWindowFocus) {
            Controller.getInstance().getCompassManager().addSubscriber(this);
        } else {
            Controller.getInstance().getCompassManager().removeSubscriber(this);
        }
    }*/

Использование onWindowFocusChanged в данном случае 
вызывает баг.
Переписал на onAttach и onDetached, что именно при 
этом не работает - не понял.

Original comment by Nickolay...@gmail.com on 4 Feb 2012 at 10:20

GoogleCodeExporter commented 9 years ago
К сожалению я тоже не помню. Кажется в 
каких-то случаях он не вызывался(возможно 
при нажатии home). Не помню

Original comment by Nikita.B...@gmail.com on 4 Feb 2012 at 10:29

GoogleCodeExporter commented 9 years ago
Ну тогда, закрываю

Original comment by Nickolay...@gmail.com on 5 Feb 2012 at 8:24

GoogleCodeExporter commented 9 years ago
Проверил, по-моему не работает: например 
если уходим из активити favorites то subscriber'ы 
остаются, а если зайти на нее снова, то 
добавляются новые подписчики т.о картина 
следующая (на экране одновременно 
помещаются 7-8 компасов):  

01-06 04:01:59.633: 
DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): new 
CompassManager created
01-06 04:01:59.633: 
DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSensorUpdates
01-06 04:01:59.633: 
DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSubscriber, size: 1
01-06 04:01:59.663: 
DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSubscriber, size: 2
01-06 04:01:59.683: 
DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSubscriber, size: 3
01-06 04:01:59.703: 
DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSubscriber, size: 4
01-06 04:01:59.723: 
DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSubscriber, size: 5
01-06 04:01:59.753: 
DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSubscriber, size: 6
01-06 04:01:59.763: 
DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSubscriber, size: 7

......

DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSubscriber, size: 8
01-06 04:02:49.103: 
DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSubscriber, size: 9
01-06 04:02:49.123: 
DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSubscriber, size: 10
01-06 04:02:49.133: 
DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSubscriber, size: 11
01-06 04:02:49.143: 
DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSubscriber, size: 12
01-06 04:02:49.163: 
DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSubscriber, size: 13
01-06 04:02:49.173: 
DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSubscriber, size: 14
01-06 04:02:53.543: 
DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSubscriber, size: 15
....

DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSubscriber, size: 16
01-06 04:03:08.443: 
DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSubscriber, size: 17
01-06 04:03:08.463: 
DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSubscriber, size: 18
01-06 04:03:08.473: 
DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSubscriber, size: 19
01-06 04:03:08.483: 
DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSubscriber, size: 20
01-06 04:03:08.493: 
DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSubscriber, size: 21
01-06 04:03:08.513: 
DEBUG/su.geocaching.android.controller.managers.CompassManager(1588): 
addSubscriber, size: 22

Original comment by Nikita.B...@gmail.com on 10 Feb 2012 at 10:13

GoogleCodeExporter commented 9 years ago
Никита, а что значит "уходим из активити"?
нажимаем back, или выбираем какой-то элемент 
в списке или как-то ещё?
У меня при нажатии back - вызываются removeSubscribers
Т.е. вызывается в тот момент, когда активити 
удаляется из стека.

Original comment by Nickolay...@gmail.com on 10 Feb 2012 at 1:04

GoogleCodeExporter commented 9 years ago
У меня получается воспроизвести такой лог 
как у вас примерно так:
запустить приложение из идеи
зайти в активити избранного
нажать кнопку home
с рабочего стола запустить ярлык 
приложения
(При этом приложение запустится с экрана 
dashboard, а не с экрана favorites
как должно происходить)

Получить такой лог, не устанавливая 
приложение из ide, нормальных условиях 
эксплуатации мне не удалось.

Original comment by Nickolay...@gmail.com on 10 Feb 2012 at 1:14

GoogleCodeExporter commented 9 years ago
Да, по нажатию на home та же фигня, но я имел 
ввиду выбрать какой-нибудь из тайников, а в 
активити информации вернуться на дашборд и 
снова в избранное и так по кругу

Original comment by Nikita.B...@gmail.com on 10 Feb 2012 at 1:29

GoogleCodeExporter commented 9 years ago
если по кругу ходить - то да, пока они в 
стеке лежат remove не произойдёт

Original comment by Nickolay...@gmail.com on 10 Feb 2012 at 1:40

GoogleCodeExporter commented 9 years ago
Добавил очистку адаптера в onPause, теперь при 
onPause происходит detach для всех view.
В onResume он в любом случае заполняется заново.

Original comment by Nickolay...@gmail.com on 15 Feb 2012 at 9:03