Giter VIP home page Giter VIP logo

klubjagiellonski / pola-android Goto Github PK

View Code? Open in Web Editor NEW
27.0 15.0 9.0 34.26 MB

Pola pomoże Ci odnaleźć polskie wyroby. Zabierając Polę na zakupy odnajdujesz produkty “z duszą” i wspierasz polską gospodarkę.

Home Page: https://www.pola-app.pl

License: GNU General Public License v2.0

Java 92.24% Kotlin 7.76%
hacktoberfest hacktoberfest2020 android-app polskie android poland madeinpoland gospodarka patriotyzm

pola-android's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pola-android's Issues

A teraz zeskanuj całą łazienkę

Ta wiadomość jest „creepy”, bo sugeruje, że Pola wyciąga wnioski z miejsca skanowania a nie samych kodów produktów. Skanowanie produktów zużywalnych po zakupie nie jest nadużyciem.

Przyjaciele Poli

  • podmienić splash-screen
  • w menu jest dodatkowa opcja "Przyjaciele Poli"
  • jeśli API zwraca is_friend na true wtedy wyświetlamy serduszko na tabie (lub zgodnie z projektem jeśli inaczej)
  • po otwarciu taba wyświetlamy dodatkowo informację "Ta firma jest przyjacielem Poli. Dowiedz się więcej"
  • Po kliknięciu w powyższe otwieramy stronę "Przyjaciele Poli" (tak jak w menu)

Ciemny motyw

Propozycja wyglądu aplikacji, gdy mamy ustawiony tryb ciemny w telefonie:

ekran startowy: tło z białego zmienia się na czarne, logo klubu malujemy na biało, a w logu Poli część czarną (kontur) na biało
ekran skanowania produktu i wpisywania kodu zostają bez zmian,
ekran firmy, informacje + zakładki, zgłaszanie błędy: to co białe -> czarne i na odwrót, czerwone elementy bez zmian, plus trza pokombinować z szarym (wydaje mi się, że odwrócenie koloru powinno dać dobry efekt)

Marki własne Lidla

Sieć handlowa Lidl wysłała nam listę produktów z podziałem na marki własne. Aby móc wyświetlać te dane potrzebujemy specjalnej ekspozycji w aplikacji. Poniżej wstępna wizualizacja.

Lidl_marki_własne
Lidl_marki_własne2

Ręczne wpisywanie kodów

Cześć,

Chciałbym zasygnalizować potrzebę ręcznego wpisywania kodów kreskowych (cyfra po cyfrze). Przydatne to będzie zwłaszcza w telefonach ze słabym aparatem fotograficznym (np. mój Samsung Galaxy Young bez autofocusa) jak również przy słabych warunkach oświetleniowych. Możliwe, że dzięki temu można by zejść z wymaganą wersją API Androida, ale tu mogę się mylić, może coś innego wymaga tej wersji API.

Pozdrawiam
Przemysław Sadło

Fatal Exception: java.lang.RuntimeException: Failure delivering result ResultInfo{who=@android:requestPermissions:, request=172, result=-1, data=Intent { act=android.content.pm.action.REQUEST_PERMISSIONS (has extras) }} to activity {pl.pola_app/pl.pola_app.ui.activity.CreateReportActivity}: java.lang.SecurityException: Permission Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE flg=0x3 cmp=com.android.camera2/com.android.camera.CaptureActivity clip={text/uri-list U:content://pl.pola_app.easyphotopicker.fileprovider/picturesext/bf506ace-2cb2-4e80-b570-ecc37000c0d5-615338898.jpg} (has extras) } from ProcessRecord{8e28f2 25202:pl.pola_app/u0a245} (pid=25202, uid=10245) with revoked permission android.permission.CAMERA

https://fabric.io/klub-jagiellonski/android/apps/pl.pola_app/issues/59858f6cbe077a4dcca37806?time=last-seven-days

Fatal Exception: java.lang.RuntimeException: Failure delivering result ResultInfo{who=@android:requestPermissions:, request=172, result=-1, data=Intent { act=android.content.pm.action.REQUEST_PERMISSIONS (has extras) }} to activity {pl.pola_app/pl.pola_app.ui.activity.CreateReportActivity}: java.lang.SecurityException: Permission Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE flg=0x3 cmp=com.android.camera2/com.android.camera.CaptureActivity clip={text/uri-list U:content://pl.pola_app.easyphotopicker.fileprovider/picturesext/bf506ace-2cb2-4e80-b570-ecc37000c0d5-615338898.jpg} (has extras) } from ProcessRecord{8e28f2 25202:pl.pola_app/u0a245} (pid=25202, uid=10245) with revoked permission android.permission.CAMERA
       at android.app.ActivityThread.deliverResults(ActivityThread.java:3714)
       at android.app.ActivityThread.handleSendResult(ActivityThread.java:3757)
       at android.app.ActivityThread.-wrap16(ActivityThread.java)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1394)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:148)
       at android.app.ActivityThread.main(ActivityThread.java:5468)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:781)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:671)
Caused by java.lang.SecurityException: Permission Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE flg=0x3 cmp=com.android.camera2/com.android.camera.CaptureActivity clip={text/uri-list U:content://pl.pola_app.easyphotopicker.fileprovider/picturesext/bf506ace-2cb2-4e80-b570-ecc37000c0d5-615338898.jpg} (has extras) } from ProcessRecord{8e28f2 25202:pl.pola_app/u0a245} (pid=25202, uid=10245) with revoked permission android.permission.CAMERA
       at android.os.Parcel.readException(Parcel.java:1599)
       at android.os.Parcel.readException(Parcel.java:1552)
       at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:2715)
       at android.app.Instrumentation.execStartActivity(Instrumentation.java:1510)
       at android.app.Activity.startActivityForResult(Activity.java:3930)
       at android.app.Activity.startActivityForResult(Activity.java:3890)
       at pl.aprilapps.easyphotopicker.EasyImage.openCamera(EasyImage.java:231)
       at pl.pola_app.ui.activity.CreateReportActivity$6.permissionGranted(CreateReportActivity.java:395)
       at pl.tajchert.nammu.Nammu.onRequestPermissionsResult(Nammu.java:97)
       at pl.pola_app.ui.activity.CreateReportActivity.onRequestPermissionsResult(CreateReportActivity.java:406)
       at android.app.Activity.dispatchRequestPermissionsResult(Activity.java:6582)
       at android.app.Activity.dispatchActivityResult(Activity.java:6460)
       at android.app.ActivityThread.deliverResults(ActivityThread.java:3710)
       at android.app.ActivityThread.handleSendResult(ActivityThread.java:3757)
       at android.app.ActivityThread.-wrap16(ActivityThread.java)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1394)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:148)
       at android.app.ActivityThread.main(ActivityThread.java:5468)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:781)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:671)

"Twoje urządzenie nie jest zgodne z tą wersją" Android 6.0.1

Szanowni Państwo
jeśli aplikacja na Androida podlega dalszemu rozwojowi, to może przydatna będzie informacja, że aplikacji Pola nie mogę obecnie zainstalować na smartfonie z Androidem 6.0.1. Aplikacja Google Play wyświetla komunikat "Twoje urządzenie nie jest zgodne z tą wersją".

Problem ze skanowaniem kodów po wpisaniu kodu ręcznie

Jak odtworzyć: Odpalamy apke, wpisujemy na klawiaturze kod (może być błędny) po czym próbujemy zeskanować kod.

Błąd znika, jeśli wyłączymy na chwile aplikacje lub odpalimy menu i wrócimy do widoku skanowania.
Wersja apki: 1.8 (30)
System: Android 11 (samsung s10)

Pola powinna być bardziej odporna na problemy z siecią

Szanowni Państwo,

używam Poli na co dzień i bardzo jestem wdzięczny za Państwa pomysł i wysiłek, jaki w jej rozwój Państwo wkładają.

Jeden sklep, w którym często robię zakupy ma to do siebie, że wewnątrz niego komórkowy dostęp do internetu jest bardzo ograniczony, zaś w niektórych jego częściach nie ma go w ogóle. W takich sytuacjach nadal chciałbym móc korzystać z Poli, to znaczy skanować kody kreskowe, z tą świadomością oczywiście, że wyniki wyszukania będą mogły się pojawić przy połączeniu z Internetem, czyli na przykład gdy znajdę się w innej części sklepu.

Obecnie z moich doświadczeń wynika, że w sytuacji wystąpienia jakichkolwiek problemów sieciowych wyszukany produkt wyświetla się jako „?”.

Bardzo proszę o uwzględnienie tej sugestii przy dalszych pracach nad aplikacją.

Z wyrazami szacunku
Jakub Wieczorek

Błędny kraj pochodzenia produktu na produktach marki własnej

Witam serdecznie,

do produktów marek własnych sieci sklepów Lidl przypisywany jest błędny kraj pochodzenia. Bazuje on na kodach EAN, które świadczą o kraju, w którym zarejestrowany jest właściciel sieci handlowej, sprzedającej dane produkty a nie j realny kraj pochodzenia produktu sprzedawanego w ww sieci.
Przykład:
czekolada z kodem EAN 4056489185888 wyprodukowana przez polskiego przedsiębiorcę w PL

Probblem nie jest jednostkowy - dotyczy on większości produktów PrivateLabel sieci Lidl.

Podawane przez aplikację informacje są niezgodne z rzeczywistością i wprowadzają konsumentów w błąd.
W celu identyfikacji produktów i ich prawdziwych krajów pochodzenia, proszę o przesłanie danych do kontaktu z osobą mogącą te dane skorygować.

Z góry dziekuję,

Test rozpoznawania produktów po zdjęciu

Przystępujemy do testów rozpoznawania produktów po zdjęciu - aby sprawdzić jak to będzie działać.

  1. Odpal projekt zlokalizowany pod adresem https://github.com/KlubJagiellonski/pola-ai/tree/master/android_camera. Jest to przykładowy kod z Tensorflow pracujący na modelu, który został już wyćwiczony na naszych zdjęciach. Model jest na razie bardzo prymitywny. Dla niektórych produktów mieliśmy tylko 20 zdjęć. Z czasem będzie lepszy. "Potrafi" rozpoznać następujące produkty:
Muszynianka Naturalna woda mineralna wysokozmineralizowana magnezowo-wapniowa 1,5 l
Cisowianka Naturalna woda mineralna niegazowana niskosodowa 1,5 l
Muszyna Skarb Życia Naturalna woda mineralna wysokozmineralizowana lekko gazowana 1,5 l
NIVEA Creme Krem 250 ml
Żywiec Zdrój Woda niegazowana 1,5 l
Nałęczowianka 1,5 l niegaz P/L - butelka
Inka Rozpuszczalna kawa zbożowa 200 g
Tyskie Gronie Piwo jasne 500 ml
Kamis Musztarda sarepska 185 g
Sierpc Ser królewski 135 g
Nałęczowianka 0,5 l niegaz P/L - butelka
Staropolanka 2000 Naturalna woda mineralna wysokozmineralizowana lekko gazowana 1,5 l
Mlekovita Masło Polskie ekstra bez dodatków 82% 200 g
Diamant Cukier biały 1 kg
ŁOMŻA NIEPASTER BUT 0,5L BZ 45/20/50 szt.
Piwniczanka Woda mineralna lekko gazowana 1,5 l
Żywioł od Żywiec Zdrój SA Woda źródlana gazowana 1,5 l
Mlekovita Polskie Mleko spożywcze 3,2% 1 l
Perła Export Piwo jasne 500 ml
Cisowianka Naturalna woda mineralna niegazowana niskosodowa 0,5 l
ŁOMŻA EXPORT BUT 0,5L BZ DHP 20/20/50 szt.
Woda Żywiec Zdrój niegazowana  1.75 l i
Nałęczów Zdrój Naturalna woda mineralna niegazowana 1,5 l
Cisowianka Naturalna woda mineralna gazowana niskosodowa 1,5 l
Muszyna Skarb Życia Naturalna woda mineralna wysokozmineralizowana gazowana 1,5 l

Uwaga. Ten projekt ma w sobie 4 różne aplikacje. Nas interesuje tylko TF Classify

  1. Założ nowy branch np. pola-ai i przełącz się na niego (w między czasie chcemy jeszcze odpalić Polę 1.6.1 (https://github.com/KlubJagiellonski/pola-android/milestone/3))

  2. Przenieś przykładowy kod z punktu 1, tak aby odpalał się w głownym ekranie Poli. Wyświetlaj rozpoznane nazwy produktów na ekranie.

  3. Rozpoznane nazwy produktów kończą się liczbą, która jest id producenta. Musimy znaleźć warunki na podstawie których stwierdzimy, że aplikacja poprawnie rozpoznała producenta po wyglądzie. Trzeba to będzie wyznaczyć eksperymentalnie. Na początek proponuję zrobić wersję, która będzie na ekranie wyświetlać 10 ostatnio rozpoznanych id producentów, pod warunkiem, że skuteczność rozpoznania była przynajmniej 95%. Na tej podstawie wyznaczymy lepsze warunki.

Zależność od Google Play Services

Kod aplikacji jest na wolnej licencji, ale posiada własnościową zależność w postaci Google Play Services (Mobile Vision API, konkretnie Barcode API). Przez to:

  • aplikacja nie może być faktycznie uznana za wolną i np. trafić do repozytorium F-Droid;
  • aplikacja nie działa na urządzeniach, które nie mają własnościowych bibliotek Google (np. na moim).

Jak rozumiem, celem użycia tego API jest odczytanie kodu kreskowego. Rozwiązaniem byłoby skanowanie kodów kreskowych via intent.

Exception java.lang.RuntimeException: Unable to start activity ComponentInfo{pl.pola_app/pl.pola_app.ui.activity.MainActivity}: android.view.InflateException: Binary XML file line #9: Binary XML file line #9: Error inflating class fragment

android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2509)
android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2569)
android.app.ActivityThread.access$900 (ActivityThread.java:150)
android.app.ActivityThread$H.handleMessage (ActivityThread.java:1399)
android.os.Handler.dispatchMessage (Handler.java:102)
android.os.Looper.loop (Looper.java:168)
android.app.ActivityThread.main (ActivityThread.java:5885)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:797)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:687)

https://console.firebase.google.com/u/0/project/pola-8682d/monitoring/app/android:pl.pola_app/cluster/7accf0cd?duration=2592000000

Exception java.lang.IllegalArgumentException: width and height must be > 0

android.graphics.Bitmap.createBitmap (Bitmap.java:877)
android.graphics.Bitmap.createBitmap (Bitmap.java:856)
android.graphics.Bitmap.createBitmap (Bitmap.java:787)
android.graphics.Bitmap.createScaledBitmap (Bitmap.java:663)
pl.pola_app.helpers.FileUtils.rotateImageAndScale (FileUtils.java:38)
pl.pola_app.helpers.OldCamera.lambda$takePicture$0 (OldCamera.java:91)
pl.pola_app.helpers.OldCamera.access$lambda$0 (OldCamera.java)
pl.pola_app.helpers.OldCamera$$Lambda$1.onPreviewFrame ()
android.hardware.Camera$EventHandler.handleMessage (Camera.java:1261)
android.os.Handler.dispatchMessage (Handler.java:110)
android.os.Looper.loop (Looper.java:203)
android.app.ActivityThread.main (ActivityThread.java:6247)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1063)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:924)

https://console.firebase.google.com/u/0/project/pola-8682d/monitoring/app/android:pl.pola_app/cluster/4009d53b?duration=2592000000

Możliwość klikania w elementy w widoku klawiatury

Jak odtworzyć: Jeśli odpalimy klawiaturę wbudowaną w aplikacje i poklikamy w obszary gdzie znajdują inne elementy interfejsu z poprzedniego widoku (np logo poli, latarka, przycisk menu lub lista zeskanowanych produktów) to zobaczymy że widok klawiatury "przepuszcza" kliknięcia.
Wersja apki: 1.8 (30)
System: Android 11 (samsung s10)

Po każdym zrobieniu zdjęcia staje się ono jedynym w zgłoszeniu

Od użytkownika:
Chciałem zgłosić pewną nieprawidłowość w aplikacji.
Gdy chcę zgłosić Państwu nowy kod, którego nie ma w bazie danych i chcę dodać zdjęcia, to po każdym zrobieniu zdjęcia staje się ono jedynym w zgłoszeniu. Nie można dodać więcej niż jedno zdjęcie.
Poza tym aplikacja super. Oby tak dalej.

Fatal Exception: java.lang.RuntimeException: Camera is being used after Camera.release() was called

https://fabric.io/klub-jagiellonski/android/apps/pl.pola_app/issues/59861d35be077a4dcca8ca3d?time=last-seven-days

Fatal Exception: java.lang.RuntimeException: Camera is being used after Camera.release() was called
       at android.hardware.Camera.setPreviewSurface(Camera.java)
       at android.hardware.Camera.setPreviewDisplay(Camera.java:654)
       at pl.pola_app.helpers.OldCamera.openPreview(OldCamera.java:52)
       at pl.pola_app.ui.fragment.VideoCaptureFragment.surfaceCreated(VideoCaptureFragment.java:129)
       at android.view.SurfaceView.updateWindow(SurfaceView.java:580)
       at android.view.SurfaceView.onWindowVisibilityChanged(SurfaceView.java:238)
       at android.view.View.dispatchWindowVisibilityChanged(View.java:8861)
       at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1165)
       at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1165)
       at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1165)
       at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1165)
       at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1165)
       at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1165)
       at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1165)
       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1322)
       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1065)
       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5901)
       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
       at android.view.Choreographer.doCallbacks(Choreographer.java:580)
       at android.view.Choreographer.doFrame(Choreographer.java:550)
       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
       at android.os.Handler.handleCallback(Handler.java:739)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:211)
       at android.app.ActivityThread.main(ActivityThread.java:5389)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)

Usunąć Fabric.io. Zintegrować Firebase Analytics.

Usunąć Fabric.io.

Dodać Firebase do Androida:
https://console.firebase.google.com/u/0/project/pola-8682d/settings/general/
(Pliku z kluczem prywatnym nie dodajemy do GitHub'a!)

Integrujemy Crash Reporting:
https://firebase.google.com/docs/crash/android

Lista wydarzeń do dodania (https://firebase.google.com/docs/analytics/android/events) jest pod adresem:
https://docs.google.com/spreadsheets/d/1fqoX2H2P9wUwLRQiRoKljkEVEIG6Jkre-j_mvtrbI3M/edit#gid=0

Podczas uczenia Poli nie możemy robić zdjęć, musimy pobierać klatki z Camera Preview

Jak już będziemy mieli nasz model AI, to nie będziemy co chwilę robić zdjęć aby sprawdzić czy na nich jest jakiś obiekt. Będziemy pobierać ramkę z Camera Preview i na niej sprawdzać.

Tak samo musimy zrobić z z uczeniem. Nie możemy uczyć na zdjęciach, a potem testować na Camera Preview. Zdjęcia do uczenia muszą być pobierane tę metodą:

https://stackoverflow.com/questions/33375990/android-how-can-i-capture-a-camera-preview-frame-after-autofocus-is-ready
i
https://developer.android.com/reference/android/hardware/Camera.html#setOneShotPreviewCallback(android.hardware.Camera.PreviewCallback)

Fatal Exception: java.lang.RuntimeException: setParameters failed

https://fabric.io/klub-jagiellonski/android/apps/pl.pola_app/issues/5986010dbe077a4dcca7d1c2?time=last-seven-days

Fatal Exception: java.lang.RuntimeException: setParameters failed
       at android.hardware.Camera.native_setParameters(Camera.java)
       at android.hardware.Camera.setParameters(Camera.java:1707)
       at pl.pola_app.helpers.OldCamera.open(OldCamera.java:44)
       at pl.pola_app.ui.fragment.VideoCaptureFragment.onViewCreated(VideoCaptureFragment.java:117)
       at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1314)
       at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1528)
       at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1595)
       at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:757)
       at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2355)
       at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2146)
       at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2098)
       at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2008)
       at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:710)
       at android.os.Handler.handleCallback(Handler.java:733)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:149)
       at android.app.ActivityThread.main(ActivityThread.java:5257)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:515)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
       at dalvik.system.NativeStart.main(NativeStart.java)

java.lang.NullPointerException

pl.pola_app.ui.activity.MainPresenter.onResponse (MainPresenter.java:121)
retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run (ExecutorCallAdapterFactory.java:68)
android.os.Handler.handleCallback (Handler.java:742)
android.os.Handler.dispatchMessage (Handler.java:95)
android.os.Looper.loop (Looper.java:154)
android.app.ActivityThread.main (ActivityThread.java:5523)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:739)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:629)

https://console.firebase.google.com/u/0/project/pola-8682d/monitoring/app/android:pl.pola_app/cluster/717a81ba?duration=2592000000

Poprawić ostrość zdjęć podczas "uczenia Poli"

Dużo zdjęć zrobionych podczas "uczenia Poli" jest nieostra. Ustawiajmy ostrość kamery na środek ekranu (tam znajduje się produkt) po naciśnięciu przycisku Start. Jeśli dostajemy od kamery informację o tym, że widok jest nieostry, poczekajmy z robieniem zdjeć do momentu kiedy obraz jest ostry.

Brak informacji o ładowaniu zdjęć

Część zgłoszeń w CMS zawiera załączone zdjęcia z błędem. Dzieje się tak ponieważ użytkownik nie poczekał na dokładne załadowanie zdjęć. Jednak nie ma komunikatu informującego czy zdjęcie już się załadowało.

Warto zasygnalizować użytkownikowi kiedy zdjęcie jest już załadowane, a kiedy nie.

AccessDenied Access Denied 89DC243B7D0C9ED0 Zv+jlomaY4YeYsHJGSe3E6jEMMzb2L2oZNZzVqG8bLpJBvTHtsuSoG64PBsB3MZ0WkDm0DCL0Bg=

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.