11package com .shajikhan .ladspa .amprack ;
22
33import static android .bluetooth .BluetoothDevice .ACTION_BOND_STATE_CHANGED ;
4- import static android .bluetooth .BluetoothDevice .DEVICE_TYPE_LE ;
54import static android .bluetooth .BluetoothDevice .EXTRA_BOND_STATE ;
65import static android .bluetooth .BluetoothDevice .EXTRA_DEVICE ;
76import static android .view .View .GONE ;
1514import androidx .appcompat .app .AppCompatActivity ;
1615import androidx .appcompat .app .AppCompatDelegate ;
1716import androidx .constraintlayout .widget .ConstraintLayout ;
18- import androidx .constraintlayout .widget .ConstraintSet ;
1917import androidx .core .app .ActivityCompat ;
2018import androidx .core .app .NotificationCompat ;
2119import androidx .core .app .NotificationManagerCompat ;
3937import android .app .ProgressDialog ;
4038import android .bluetooth .BluetoothAdapter ;
4139import android .bluetooth .BluetoothDevice ;
42- import android .bluetooth .BluetoothGatt ;
43- import android .bluetooth .BluetoothGattCallback ;
4440import android .bluetooth .le .ScanResult ;
4541import android .companion .AssociationInfo ;
4642import android .companion .AssociationRequest ;
6965import android .graphics .PorterDuffColorFilter ;
7066import android .graphics .RectF ;
7167import android .graphics .SurfaceTexture ;
72- import android .graphics .drawable .BitmapDrawable ;
73- import android .graphics .drawable .Drawable ;
7468import android .hardware .SensorManager ;
75- import android .hardware .camera2 .CameraAccessException ;
7669import android .hardware .camera2 .CameraCharacteristics ;
7770import android .hardware .camera2 .params .StreamConfigurationMap ;
7871import android .media .AudioAttributes ;
9891import android .os .Handler ;
9992import android .os .Looper ;
10093import android .os .ParcelUuid ;
101- import android .os .Parcelable ;
10294import android .provider .MediaStore ;
10395import android .text .Editable ;
10496import android .text .TextWatcher ;
10597import android .util .ArraySet ;
10698import android .util .Log ;
10799import android .util .Size ;
108- import android .view .Display ;
109100import android .view .LayoutInflater ;
110101import android .view .MenuItem ;
111102import android .view .OrientationEventListener ;
138129import com .android .billingclient .api .BillingClient ;
139130import com .android .billingclient .api .BillingClientStateListener ;
140131import com .android .billingclient .api .BillingResult ;
141- import com .android .billingclient .api .ProductDetails ;
142- import com .android .billingclient .api .ProductDetailsResponseListener ;
143132import com .android .billingclient .api .Purchase ;
144133import com .android .billingclient .api .PurchasesResponseListener ;
145134import com .android .billingclient .api .PurchasesUpdatedListener ;
146- import com .android .billingclient .api .QueryProductDetailsParams ;
147135import com .google .android .material .bottomnavigation .BottomNavigationView ;
148136import com .google .android .material .button .MaterialButton ;
149137import com .google .android .material .floatingactionbutton .ExtendedFloatingActionButton ;
150138import com .google .android .material .slider .Slider ;
151139import com .google .android .material .switchmaterial .SwitchMaterial ;
152- import com .google .common .collect .ImmutableList ;
153140import com .google .firebase .FirebaseApp ;
154141import com .google .firebase .analytics .FirebaseAnalytics ;
155142import com .google .firebase .auth .FirebaseAuth ;
156143import com .google .firebase .auth .FirebaseUser ;
157- import com .google .gson .JsonObject ;
158144import com .shajikhan .ladspa .amprack .databinding .ActivityMainBinding ;
159145
160146import org .json .JSONArray ;
172158import java .io .InputStream ;
173159import java .io .InputStreamReader ;
174160import java .io .OutputStream ;
175- import java .nio .ByteBuffer ;
176161import java .nio .file .Files ;
177162import java .text .SimpleDateFormat ;
178163import java .util .ArrayList ;
181166import java .util .HashMap ;
182167import java .util .HashSet ;
183168import java .util .Iterator ;
184- import java .util .LinkedList ;
185169import java .util .List ;
186170import java .util .Map ;
187171import java .util .Set ;
@@ -277,6 +261,10 @@ public void onSend(byte[] data, int offset,
277261 boolean videoRecording = false ;
278262 static boolean tabletMode = false ;
279263 Camera2 camera2 ;
264+ Dialog midiAddDialog = null ;
265+ ConstraintLayout midiLayout = null ;
266+ EditText channelEdit = null , controlEdit = null ;
267+
280268 public static String price = "$2" ;
281269 MediaPlayerDialog mediaPlayerDialog = null ;
282270 private OrientationEventListener orientationEventListener ;
@@ -4562,12 +4550,15 @@ void setMidiControl (View view, int plugin, int control, MIDIControl.Type type,
45624550 midiControl .pluginControl = control ;
45634551 midiControl .view = view ;
45644552
4565- View layout = getLayoutInflater ().inflate (R .layout .midi_add_control , null );
4566- ((EditText ) layout .findViewById (R .id .channel )).setText (channel );
4567- ((EditText ) layout .findViewById (R .id .control )).setText (data1 );
4553+ midiLayout = (ConstraintLayout ) getLayoutInflater ().inflate (R .layout .midi_add_control , null );
4554+ ((EditText ) midiLayout .findViewById (R .id .channel )).setText (channel );
4555+ ((EditText ) midiLayout .findViewById (R .id .control )).setText (data1 );
4556+
4557+ channelEdit = midiLayout .findViewById (R .id .channel ) ;
4558+ controlEdit = midiLayout .findViewById (R .id .control ) ;
45684559
45694560 AlertDialog .Builder builder = new AlertDialog .Builder (this );
4570- builder .setView (layout );
4561+ builder .setView (midiLayout );
45714562 if (scope == MIDIControl .Scope .PLUGIN )
45724563 builder .setTitle ("Set MIDI Control for " + AudioEngine .getActivePluginName (plugin ) + " " + AudioEngine .getControlName (plugin , control ));
45734564 else
@@ -4579,8 +4570,8 @@ void setMidiControl (View view, int plugin, int control, MIDIControl.Type type,
45794570 public void onClick (DialogInterface dialog , int which ) {
45804571 if (finalOld != null )
45814572 midiControls .remove (finalOld );
4582- String channel = ((EditText ) layout .findViewById (R .id .channel )).getText ().toString ();
4583- String program = ((EditText ) layout .findViewById (R .id .control )).getText ().toString ();
4573+ String channel = ((EditText ) midiLayout .findViewById (R .id .channel )).getText ().toString ();
4574+ String program = ((EditText ) midiLayout .findViewById (R .id .control )).getText ().toString ();
45844575
45854576 int ch = -1 ;
45864577 int pr = -1 ;
@@ -4598,6 +4589,7 @@ public void onClick(DialogInterface dialog, int which) {
45984589 midiControl .control = pr ;
45994590 midiControls .add (midiControl );
46004591
4592+ Toast .makeText (MainActivity .this , "MIDI control set successfully" , Toast .LENGTH_SHORT ).show ();
46014593 Log .d (TAG , "[midi controls]: " + midiControls .toString ());
46024594 if (scope == MIDIControl .Scope .GLOBAL ) {
46034595 saveGlobalMidi ();
@@ -4611,6 +4603,14 @@ public void onClick(DialogInterface dialog, int which) {
46114603
46124604 AlertDialog dialog = builder .create () ;
46134605
4606+ midiAddDialog = dialog ;
4607+ dialog .setOnDismissListener (new DialogInterface .OnDismissListener () {
4608+ @ Override
4609+ public void onDismiss (DialogInterface dialog ) {
4610+ Log .i (TAG , "onDismiss: midi add dialog set to null" );
4611+ midiAddDialog = null ;
4612+ }
4613+ });
46144614
46154615 dialog .show ();
46164616 }
@@ -4627,6 +4627,10 @@ void processMIDIMessage (int channel, int data1, int data2) {
46274627 @ Override
46284628 public void run () {
46294629 midiDisplay .setText (msg );
4630+ if (midiAddDialog != null ) {
4631+ ((EditText ) midiAddDialog .findViewById (R .id .channel )).setText (String .valueOf (channel ));
4632+ ((EditText ) midiAddDialog .findViewById (R .id .control )).setText (String .valueOf (data1 ));
4633+ }
46304634 }
46314635 });
46324636
0 commit comments