Giter VIP home page Giter VIP logo

soundboardcrafter's Introduction

soundboardcrafter's People

Contributors

jfelkel avatar nbudzyn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

meowboy326

soundboardcrafter's Issues

Programmable soundscape

In addition to a fixed sequence (#3), the app could support larger soundscapes like several random cries in a row, parallelled with fighting noises, some random pauses ended with some victorious shout. Or a forest atmosphere, build out of long-running wood noises and a variety of randomly selected birds.

Wrong sound item updated

When clicking on a sound in a soundboard the item gets updated (triangle -> square). That's great, but...
...in some cases the WRONG item is updated. I click on some Forest sound, but the forest item stays as it is (a triangle), but the roar image changes to a square. Clicking on the Forest item changes the roar item back to a triangle. Note that nevertheless the Forest sound is played (and stopped again).

Seen on two devices.

Soundboard list

There should be a list of all soundboards, in which the soundboards can be modified (name) or deleted.

The soundboard view (playing view) should be reachable from the list - perhaps the user might have to select the game.

Media player error (1,-19) under stress test

If you start lots of sounds (some of them long-playing) fast one after the other, on the Galaxy S7 the media player raises an error: what 1, extra -19. The sound will not be played (looks like stopped immediately) and the error will be logged.

What to do about this? Can we prevent the error from happening? Should we inform the user?

Clicking on many sounds in a soundboard causes StackOverflowError (getView() / getViewByPosition()

E/AndroidRuntime: FATAL EXCEPTION: main
Process: de.soundboardcrafter, PID: 20138
java.lang.StackOverflowError: stack size 8MB
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:451)
at java.lang.StringBuilder.append(StringBuilder.java:137)
at java.lang.Object.toString(Object.java:273)
at java.lang.String.valueOf(String.java:2827)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:121)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
E/AndroidRuntime: at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
I/zygote64: Background concurrent copying GC freed 113051(14MB) AllocSpace objects, 1(1000KB) LOS objects, 49% free, 23MB/47MB, paused 236us total 117.001ms
I/chatty: uid=10351(u0_a351) de.soundboardcrafter identical 1877 lines
E/AndroidRuntime: at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getViewByPosition(SoundboardItemAdapter.java:147)
at de.soundboardcrafter.activity.soundboard.play.SoundboardItemAdapter.getView(SoundboardItemAdapter.java:130)
at android.widget.AbsListView.obtainView(AbsListView.java:3189)
at android.widget.GridView.onMeasure(GridView.java:1102)
at android.view.View.measure(View.java:23297)

Remove reset button (unless development)

Remove the reset button - at least when it is no longer needed for development.
Or enable it only in "developer builds" or "on development devices" or in "development mode"?
#69

More than one Soundboard

There shall be more than soundboard in the activity, allowing for scrolling sideways from one to the other.

Application icon

  • We need an application icon for the homescreen and the notification.
  • Check whether Evy wants to be included in the credits
  • Include Evy in Credits
  • Suppose, the icon has to be provided in several resolutions?

Edit looping property when sound is currently playing

  • Sound is configured to loop
  • The user starts the sound (song)
  • The user opens the edit view
  • The user configures the song to no longer play in a loop
  • The user leaves the sound-edit view

Bug:

  • The sounds loops on and on - until the user stops it
  • (After the user restarts the sound, it will no longe be played in a loop.)

List of all sounds on the phone

There has to be a list of all sounds, where the user can filter and open sounds for editing.

When editing, the user can edit name, relative volume and looping of the sound, and they can add the sound to soundboards or remove them from a soundboard.

After reset, removal of a sound leads to exception

  • User clicks reset and confirms.
  • User long-clicks a sound and clicks "Remove".

App crashes:
2019-04-01 23:02:55.548 19840-19840/de.soundboardcrafter D/AbsListView: onTouchUp() mTouchMode : 0
2019-04-01 23:02:55.625 19840-19840/de.soundboardcrafter D/de.soundboardcrafter.activity.soundboard.play.SoundboardFragment: Removing sound 1
2019-04-01 23:02:55.631 19840-20462/de.soundboardcrafter D/de.soundboardcrafter.activity.soundboard.play.SoundboardFragment$RemoveSoundsTask: Removing sound + 1 from soundboard
2019-04-01 23:02:55.638 19840-20462/de.soundboardcrafter E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #6
Process: de.soundboardcrafter, PID: 19840
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:353)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
at java.util.concurrent.FutureTask.run(FutureTask.java:271)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.RuntimeException: There was no sound at index 1.
at de.soundboardcrafter.dao.SoundboardDao.unlinkSound(SoundboardDao.java:334)
at de.soundboardcrafter.activity.soundboard.play.SoundboardFragment$RemoveSoundsTask.doInBackground(SoundboardFragment.java:370)
at de.soundboardcrafter.activity.soundboard.play.SoundboardFragment$RemoveSoundsTask.doInBackground(SoundboardFragment.java:347)
at android.os.AsyncTask$2.call(AsyncTask.java:333)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 
at java.lang.Thread.run(Thread.java:764) 

Linked to #18 ?

soundboard without songs disappeares after editing a sound in another soundboard

  • choose a soundboard
  • delete every sound in the soundboard
  • then you still see the soundboard but without sounds
  • then you go to another soundboard
  • you edit a sound in this soundboard
  • after leaving the edit mask, you are not seeing the soundboard with the edited sound anymore
  • you see another soundboard
  • the soundboard without sounds is disappeared

Sounds list: abbreviation strategy

The sounds in the sounds view are abbreviated.

Problems are:

  • Depending on the device, in some cases the abbreviated labels are not short enough.
  • Sometimes they are much too short, esp
    in landscape mode.
  • They seem to use three single dots instead the single three-dots-character.

Is there a api method one could use instead? Or can we do without abbreviating?

List of games

A list of all games should be provided. The games can be edited (name) or deleted.

NoClassDefFoundError: android/view/View$OnUnhandledKeyEventListener

The app is started, several pages of stacktrace appear - without any obvious problem showing up in the app:

2019-03-22 21:36:42.485 1561-1561/de.soundboardcrafter I/zygote64: no shared libraies, dex_files: 1
2019-03-22 21:36:42.647 1561-1561/de.soundboardcrafter I/InstantRun: starting instant run server: is main process
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener;
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.core.view.ViewCompat.setBackground(android.view.View, android.graphics.drawable.Drawable) (ViewCompat.java:2341)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.widget.ActionBarContainer.(android.content.Context, android.util.AttributeSet) (ActionBarContainer.java:62)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Object java.lang.reflect.Constructor.newInstance0(java.lang.Object[]) (Constructor.java:-2)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:334)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:647)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:790)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:730)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:863)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:824)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:515)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:423)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:374)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:607)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:518)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:466)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void de.soundboardcrafter.activity.MainActivity.onCreate(android.os.Bundle) (MainActivity.java:13)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:7183)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1220)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2910)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:3032)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread.-wrap11(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1696)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:105)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void android.os.Looper.loop() (Looper.java:164)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6944)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void com.android.internal.os.Zygote$MethodAndArgsCaller.run() (Zygote.java:327)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1374)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener" on path: DexPathList[[zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/base.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_dependencies_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_resources_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_slice_0_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_slice_1_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_slice_2_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_slice_3_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_slice_4_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_slice_5_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bY
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:93)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.core.view.ViewCompat.setBackground(android.view.View, android.graphics.drawable.Drawable) (ViewCompat.java:2341)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.widget.ActionBarContainer.(android.content.Context, android.util.AttributeSet) (ActionBarContainer.java:62)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Object java.lang.reflect.Constructor.newInstance0(java.lang.Object[]) (Constructor.java:-2)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:334)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:647)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:790)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:730)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:863)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:824)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:515)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:423)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:374)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:607)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:518)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:466)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void de.soundboardcrafter.activity.MainActivity.onCreate(android.os.Bundle) (MainActivity.java:13)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:7183)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1220)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2910)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:3032)
2019-03-22 21:36:42.747 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread.-wrap11(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1696)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:105)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void android.os.Looper.loop() (Looper.java:164)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6944)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void com.android.internal.os.Zygote$MethodAndArgsCaller.run() (Zygote.java:327)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1374)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener;
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.core.view.ViewCompat.setBackground(android.view.View, android.graphics.drawable.Drawable) (ViewCompat.java:2341)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.widget.ActionBarContainer.(android.content.Context, android.util.AttributeSet) (ActionBarContainer.java:62)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Object java.lang.reflect.Constructor.newInstance0(java.lang.Object[]) (Constructor.java:-2)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:334)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:647)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:790)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:730)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:863)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:824)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:515)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:423)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:374)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:607)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:518)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:466)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void de.soundboardcrafter.activity.MainActivity.onCreate(android.os.Bundle) (MainActivity.java:13)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:7183)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1220)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2910)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:3032)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread.-wrap11(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1696)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:105)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void android.os.Looper.loop() (Looper.java:164)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6944)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void com.android.internal.os.Zygote$MethodAndArgsCaller.run() (Zygote.java:327)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1374)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener" on path: DexPathList[[zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/base.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_dependencies_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_resources_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_slice_0_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_slice_1_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_slice_2_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_slice_3_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_slice_4_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_slice_5_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bY
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:93)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.core.view.ViewCompat.setBackground(android.view.View, android.graphics.drawable.Drawable) (ViewCompat.java:2341)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.widget.ActionBarContainer.(android.content.Context, android.util.AttributeSet) (ActionBarContainer.java:62)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Object java.lang.reflect.Constructor.newInstance0(java.lang.Object[]) (Constructor.java:-2)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:334)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:647)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:790)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:730)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:863)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:824)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:515)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:423)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:374)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:607)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:518)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:466)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void de.soundboardcrafter.activity.MainActivity.onCreate(android.os.Bundle) (MainActivity.java:13)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:7183)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1220)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2910)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:3032)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread.-wrap11(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
2019-03-22 21:36:42.748 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1696)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:105)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.os.Looper.loop() (Looper.java:164)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6944)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void com.android.internal.os.Zygote$MethodAndArgsCaller.run() (Zygote.java:327)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1374)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener;
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.core.view.ViewCompat.setBackground(android.view.View, android.graphics.drawable.Drawable) (ViewCompat.java:2341)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.widget.ActionBarContainer.(android.content.Context, android.util.AttributeSet) (ActionBarContainer.java:62)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Object java.lang.reflect.Constructor.newInstance0(java.lang.Object[]) (Constructor.java:-2)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:334)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:647)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:790)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:730)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:863)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:824)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:515)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:423)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:374)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:607)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:518)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:466)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void de.soundboardcrafter.activity.MainActivity.onCreate(android.os.Bundle) (MainActivity.java:13)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:7183)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1220)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2910)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:3032)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread.-wrap11(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1696)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:105)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.os.Looper.loop() (Looper.java:164)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6944)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void com.android.internal.os.Zygote$MethodAndArgsCaller.run() (Zygote.java:327)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1374)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener" on path: DexPathList[[zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/base.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_dependencies_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_resources_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_slice_0_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_slice_1_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_slice_2_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_slice_3_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_slice_4_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bYWlnHUjECQ==/split_lib_slice_5_apk.apk", zip file "/data/app/de.soundboardcrafter-b7Uq0sUy_l4bY
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:93)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.core.view.ViewCompat.setBackground(android.view.View, android.graphics.drawable.Drawable) (ViewCompat.java:2341)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.widget.ActionBarContainer.(android.content.Context, android.util.AttributeSet) (ActionBarContainer.java:62)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Object java.lang.reflect.Constructor.newInstance0(java.lang.Object[]) (Constructor.java:-2)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:334)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:647)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:790)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:730)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:863)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:824)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:515)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:423)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:374)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:607)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:518)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:466)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void androidx.appcompat.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void de.soundboardcrafter.activity.MainActivity.onCreate(android.os.Bundle) (MainActivity.java:13)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:7183)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1220)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2910)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:3032)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread.-wrap11(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1696)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:105)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.os.Looper.loop() (Looper.java:164)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6944)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void com.android.internal.os.Zygote$MethodAndArgsCaller.run() (Zygote.java:327)
2019-03-22 21:36:42.749 1561-1561/de.soundboardcrafter I/zygote64: at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1374)
2019-03-22 21:36:42.834 1561-1590/de.soundboardcrafter D/de.soundboardcrafter.activity.SoundboardFragment$FindSoundboardsTask: Loading soundboards...

Copy soundboard

A user shall be able to copy a soundboard (provided or custom) from the soundboards list (including all sounds).

Related to #150, #129, #132, #133

Leaving / Closing the app -> stop playing?!

  • The app plays a sound, preferably in a loop
  • The user leaves the app via the backbutton or closes it from the system's "task manager"
    -> The sound is still playing (and the notificaion is still shown).

Is this appropriate? Shouldn't the sound be stopped and the notification be removed? How do other apps handle this?
Or should there be a "Stopp all" button in the notification?

Sounds in GUI at reset neither cleared nor reset

When the user presses the refresh button, the sound in the GUI are not cleared.

They aren't reset either - for example if you deleted a sound from the soundboard, reset won't make a reappear.

Jumpstart a fresh installation (onboarding the user)

After a fresh installation, an empty app (no soundboards) might be disappointing for the user. Lets provide the user with an engaging experience from the start on.

  • Build a random soundboard from short sound files found on the user's device?
  • Guide user at their first steps:
    • Open navigabable help index, including feature list
  • Explain to them why access to the file system is necessary?

See also:

Click on notification: Where to go...

A click on the notification always opens the / a new soundboard playing view - even if the user is editing a sound, e.g.

Should open the app as the user left it? Or open the "already existing" playing view with the main view in the back stack?

Edit sound (soundboard view)

The soundboard view should provide access to a dialog (via long-click, e.g.) in which the details of a sound can be edited

  • Name
  • Play in a loop?
  • Relative volume (percentage)

Soundboards list tab: Jerking animation

  • Make sure the sounds tab includes all sounds (not just a directory)
  • Switch to the favoriates list
  • Click on the soundboards tab header
  • The system shows the soubdboards list, but the animation isn't smooth at all (Galaxy S7).

Soundboards by game

The app should allow for filtering the soundboards by a previously selected game

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.