Files
frameworks_base/media/tests/EffectsTest/res/layout/visualizertest.xml
Mikhail Naganov 7d6d9bd6c3 Analyze native crash in AudioEffect via event listener
Add repro code to the EffectsTest app. Steps:
 1. Start playback on the "Environmental Reverb Test",
    memorize the session id.
 2. Enter the session id on the "Bass Boost Test" or
    the "Visualizer" tab.
 3. Press "Hammer on release()" multiple times and check
    if the app crashes. Currently this happens for
    the Bass Boost effect.

Bug: 178363662
Test: see above
Change-Id: I800bc352fc8bc7073d1523c837008dc6fcfb957a
2021-09-14 17:55:36 -07:00

300 lines
11 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2009 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ImageView
android:src="@android:drawable/divider_horizontal_dark"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"/>
<LinearLayout android:id="@+id/visuReleaseLayout"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:layout_marginTop="10dip"
android:layout_marginRight="10dip"
android:layout_marginBottom="10dip" >
<TextView android:id="@+id/visuReleaseText"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:layout_gravity="center_vertical|left"
android:text="@string/effect_release"
style="@android:style/TextAppearance.Medium" />
<ToggleButton android:id="@+id/visuReleaseButton"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="center_vertical|right"
android:layout_weight="0.0" />
</LinearLayout>
<ImageView
android:src="@android:drawable/divider_horizontal_dark"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"/>
<LinearLayout android:id="@+id/visuMultithreadedLayout"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:layout_marginTop="10dip"
android:layout_marginRight="10dip"
android:layout_marginBottom="10dip" >
<TextView android:id="@+id/visuMultithreaded"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:layout_gravity="center_vertical|left"
android:text="@string/effect_multithreaded"
style="@android:style/TextAppearance.Medium" />
<ToggleButton android:id="@+id/visuMultithreadedOnOff"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="center_vertical|right"
android:layout_weight="0.0" />
</LinearLayout>
<ImageView
android:src="@android:drawable/divider_horizontal_dark"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"/>
<LinearLayout android:id="@+id/visuControlLayout"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:layout_marginTop="10dip"
android:layout_marginRight="10dip"
android:layout_marginBottom="10dip" >
<TextView android:id="@+id/visuControlText"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:layout_gravity="center_vertical|left"
android:text="@string/effect_control"
style="@android:style/TextAppearance.Medium" />
<ToggleButton android:id="@+id/visualizerOnOff"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="center_vertical|right"
android:layout_weight="0.0" />
</LinearLayout>
<ImageView
android:src="@android:drawable/divider_horizontal_dark"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"/>
<LinearLayout android:id="@+id/SessionFrame"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:layout_marginTop="10dip"
android:layout_marginRight="10dip"
android:layout_marginBottom="10dip" >
<TextView android:id="@+id/sessionText"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="0.5"
android:layout_gravity="center_vertical|left"
android:text="@string/session"
style="@android:style/TextAppearance.Medium" />
<EditText android:id="@+id/sessionEdit"
android:singleLine="true"
android:numeric="integer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:layout_gravity="center_vertical|right" />
</LinearLayout>
<ImageView
android:src="@android:drawable/divider_horizontal_dark"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"/>
<LinearLayout android:id="@+id/visuCallbackLayout"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:layout_marginTop="10dip"
android:layout_marginRight="10dip"
android:layout_marginBottom="10dip" >
<TextView android:id="@+id/visuCallbackText"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:layout_gravity="center_vertical|left"
android:text="@string/visu_callback"
style="@android:style/TextAppearance.Medium" />
<ToggleButton android:id="@+id/visuCallbackOnOff"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="center_vertical|right"
android:layout_weight="0.0" />
</LinearLayout>
<Button android:id="@+id/hammer_on_release_bug"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:text="@string/hammer_on_release_bug_name">
</Button>
<ImageView
android:src="@android:drawable/divider_horizontal_dark"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"/>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
android:layout_marginLeft="10dip"
android:layout_marginTop="10dip"
android:layout_marginRight="10dip"
android:layout_marginBottom="10dip"
>
<TextView android:id="@+id/waveformName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/waveform_name" />
<LinearLayout android:id="@+id/eqParam1Desc"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:layout_marginTop="10dip"
android:layout_marginRight="10dip"
android:layout_marginBottom="10dip" >
<TextView android:id="@+id/waveformMin"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.0" />
<TextView android:id="@+id/waveformCenter"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.0" />
<TextView android:id="@+id/waveformMax"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.0" />
</LinearLayout>
</LinearLayout>
<ImageView
android:src="@android:drawable/divider_horizontal_dark"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
android:layout_marginLeft="10dip"
android:layout_marginTop="10dip"
android:layout_marginRight="10dip"
android:layout_marginBottom="10dip"
>
<TextView android:id="@+id/fftName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/fft_name" />
<LinearLayout android:id="@+id/eqParam1Desc"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:layout_marginTop="10dip"
android:layout_marginRight="10dip"
android:layout_marginBottom="10dip" >
<TextView android:id="@+id/fftMin"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.0" />
<TextView android:id="@+id/fftCenter"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.0" />
<TextView android:id="@+id/fftMax"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.0" />
</LinearLayout>
</LinearLayout>
<ImageView
android:src="@android:drawable/divider_horizontal_dark"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"/>
</LinearLayout>
</ScrollView>
</LinearLayout>