mirror of
https://github.com/xdsopl/robot36.git
synced 2025-12-06 07:12:07 +01:00
added toggle button for decoder
This commit is contained in:
parent
007dbb0a42
commit
0856b2edcf
|
|
@ -52,6 +52,7 @@ public class MainActivity extends Activity {
|
|||
private ShareActionProvider share;
|
||||
private int notifyID = 1;
|
||||
private boolean enableAnalyzer = true;
|
||||
private Menu menu;
|
||||
|
||||
private void showNotification() {
|
||||
Intent intent = new Intent(this, MainActivity.class);
|
||||
|
|
@ -123,39 +124,68 @@ public class MainActivity extends Activity {
|
|||
setContentView(R.layout.activity_main);
|
||||
changeLayoutOrientation(getResources().getConfiguration());
|
||||
image = (ImageView)findViewById(R.id.image);
|
||||
manager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
startDecoder();
|
||||
}
|
||||
|
||||
protected void stopDecoder() {
|
||||
if (decoder == null)
|
||||
return;
|
||||
decoder.destroy();
|
||||
decoder = null;
|
||||
manager.cancel(notifyID);
|
||||
menu.findItem(R.id.action_toggle_decoder).setIcon(getResources().getDrawable(android.R.drawable.ic_media_play));
|
||||
menu.setGroupEnabled(R.id.group_decoder, false);
|
||||
}
|
||||
|
||||
protected void startDecoder() {
|
||||
if (decoder != null)
|
||||
return;
|
||||
decoder = new Decoder(this,
|
||||
(SpectrumView)findViewById(R.id.spectrum),
|
||||
(SpectrumView)findViewById(R.id.spectrogram),
|
||||
image,
|
||||
(ImageView)findViewById(R.id.image),
|
||||
(VUMeterView)findViewById(R.id.meter)
|
||||
);
|
||||
manager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
decoder.enable_analyzer(enableAnalyzer);
|
||||
showNotification();
|
||||
if (menu != null) {
|
||||
menu.findItem(R.id.action_toggle_decoder).setIcon(getResources().getDrawable(android.R.drawable.ic_media_pause));
|
||||
menu.setGroupEnabled(R.id.group_decoder, true);
|
||||
}
|
||||
}
|
||||
|
||||
protected void toggleDecoder() {
|
||||
if (decoder == null)
|
||||
startDecoder();
|
||||
else
|
||||
stopDecoder();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy () {
|
||||
decoder.destroy();
|
||||
decoder = null;
|
||||
manager.cancel(notifyID);
|
||||
stopDecoder();
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
decoder.pause();
|
||||
if (decoder != null)
|
||||
decoder.pause();
|
||||
super.onPause();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
decoder.resume();
|
||||
if (decoder != null)
|
||||
decoder.resume();
|
||||
super.onResume();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
getMenuInflater().inflate(R.menu.menu_main, menu);
|
||||
this.menu = menu;
|
||||
share = (ShareActionProvider)menu.findItem(R.id.menu_item_share).getActionProvider();
|
||||
return true;
|
||||
}
|
||||
|
|
@ -183,6 +213,9 @@ public class MainActivity extends Activity {
|
|||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case R.id.action_toggle_decoder:
|
||||
toggleDecoder();
|
||||
return true;
|
||||
case R.id.action_save_image:
|
||||
storeBitmap(image.bitmap);
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -15,47 +15,55 @@
|
|||
android:showAsAction="ifRoom" />
|
||||
|
||||
<item
|
||||
android:id="@+id/action_clear_image"
|
||||
android:title="@string/action_clear_image"
|
||||
android:icon="@android:drawable/ic_menu_close_clear_cancel"
|
||||
android:id="@+id/action_toggle_decoder"
|
||||
android:title="@string/action_toggle_decoder"
|
||||
android:icon="@android:drawable/ic_media_pause"
|
||||
android:showAsAction="ifRoom" />
|
||||
|
||||
<item android:id="@+id/action_softer_image" android:title="@string/action_softer_image" />
|
||||
<item android:id="@+id/action_sharper_image" android:title="@string/action_sharper_image" />
|
||||
<group android:id="@+id/group_decoder">
|
||||
<item
|
||||
android:id="@+id/action_clear_image"
|
||||
android:title="@string/action_clear_image"
|
||||
android:icon="@android:drawable/ic_menu_close_clear_cancel"
|
||||
android:showAsAction="ifRoom" />
|
||||
|
||||
<item android:id="@+id/action_toggle_scaling" android:title="@string/action_toggle_scaling" />
|
||||
<item android:id="@+id/action_toggle_debug" android:title="@string/action_toggle_debug" />
|
||||
<item android:id="@+id/action_toggle_auto" android:title="@string/action_toggle_auto" />
|
||||
<item android:id="@+id/action_toggle_analyzer" android:title="@string/action_toggle_analyzer" />
|
||||
<item android:id="@+id/action_softer_image" android:title="@string/action_softer_image" />
|
||||
<item android:id="@+id/action_sharper_image" android:title="@string/action_sharper_image" />
|
||||
|
||||
<item android:id="@+id/action_increase_update_rate" android:title="@string/action_increase_update_rate" />
|
||||
<item android:id="@+id/action_decrease_update_rate" android:title="@string/action_decrease_update_rate" />
|
||||
<item android:id="@+id/action_toggle_scaling" android:title="@string/action_toggle_scaling" />
|
||||
<item android:id="@+id/action_toggle_debug" android:title="@string/action_toggle_debug" />
|
||||
<item android:id="@+id/action_toggle_auto" android:title="@string/action_toggle_auto" />
|
||||
<item android:id="@+id/action_toggle_analyzer" android:title="@string/action_toggle_analyzer" />
|
||||
|
||||
<item android:id="@+id/action_raw_mode" android:title="@string/action_raw_mode" />
|
||||
<item android:id="@+id/action_increase_update_rate" android:title="@string/action_increase_update_rate" />
|
||||
<item android:id="@+id/action_decrease_update_rate" android:title="@string/action_decrease_update_rate" />
|
||||
|
||||
<item android:title="@string/robot_modes"><menu>
|
||||
<item android:id="@+id/action_robot36_mode" android:title="@string/action_robot36_mode" />
|
||||
<item android:id="@+id/action_robot72_mode" android:title="@string/action_robot72_mode" />
|
||||
</menu></item>
|
||||
<item android:title="@string/pd_modes"><menu>
|
||||
<item android:id="@+id/action_pd50_mode" android:title="@string/action_pd50_mode" />
|
||||
<item android:id="@+id/action_pd90_mode" android:title="@string/action_pd90_mode" />
|
||||
<item android:id="@+id/action_pd120_mode" android:title="@string/action_pd120_mode" />
|
||||
<item android:id="@+id/action_pd160_mode" android:title="@string/action_pd160_mode" />
|
||||
<item android:id="@+id/action_pd180_mode" android:title="@string/action_pd180_mode" />
|
||||
<item android:id="@+id/action_pd240_mode" android:title="@string/action_pd240_mode" />
|
||||
<item android:id="@+id/action_pd290_mode" android:title="@string/action_pd290_mode" />
|
||||
</menu></item>
|
||||
<item android:title="@string/martin_modes"><menu>
|
||||
<item android:id="@+id/action_martin1_mode" android:title="@string/action_martin1_mode" />
|
||||
<item android:id="@+id/action_martin2_mode" android:title="@string/action_martin2_mode" />
|
||||
</menu></item>
|
||||
<item android:title="@string/scottie_modes"><menu>
|
||||
<item android:id="@+id/action_scottie1_mode" android:title="@string/action_scottie1_mode" />
|
||||
<item android:id="@+id/action_scottie2_mode" android:title="@string/action_scottie2_mode" />
|
||||
<item android:id="@+id/action_scottieDX_mode" android:title="@string/action_scottieDX_mode" />
|
||||
</menu></item>
|
||||
<item android:title="@string/wraase_modes"><menu>
|
||||
<item android:id="@+id/action_wraaseSC2_180_mode" android:title="@string/action_wraaseSC2_180_mode" />
|
||||
</menu></item>
|
||||
<item android:id="@+id/action_raw_mode" android:title="@string/action_raw_mode" />
|
||||
|
||||
<item android:title="@string/robot_modes"><menu>
|
||||
<item android:id="@+id/action_robot36_mode" android:title="@string/action_robot36_mode" />
|
||||
<item android:id="@+id/action_robot72_mode" android:title="@string/action_robot72_mode" />
|
||||
</menu></item>
|
||||
<item android:title="@string/pd_modes"><menu>
|
||||
<item android:id="@+id/action_pd50_mode" android:title="@string/action_pd50_mode" />
|
||||
<item android:id="@+id/action_pd90_mode" android:title="@string/action_pd90_mode" />
|
||||
<item android:id="@+id/action_pd120_mode" android:title="@string/action_pd120_mode" />
|
||||
<item android:id="@+id/action_pd160_mode" android:title="@string/action_pd160_mode" />
|
||||
<item android:id="@+id/action_pd180_mode" android:title="@string/action_pd180_mode" />
|
||||
<item android:id="@+id/action_pd240_mode" android:title="@string/action_pd240_mode" />
|
||||
<item android:id="@+id/action_pd290_mode" android:title="@string/action_pd290_mode" />
|
||||
</menu></item>
|
||||
<item android:title="@string/martin_modes"><menu>
|
||||
<item android:id="@+id/action_martin1_mode" android:title="@string/action_martin1_mode" />
|
||||
<item android:id="@+id/action_martin2_mode" android:title="@string/action_martin2_mode" />
|
||||
</menu></item>
|
||||
<item android:title="@string/scottie_modes"><menu>
|
||||
<item android:id="@+id/action_scottie1_mode" android:title="@string/action_scottie1_mode" />
|
||||
<item android:id="@+id/action_scottie2_mode" android:title="@string/action_scottie2_mode" />
|
||||
<item android:id="@+id/action_scottieDX_mode" android:title="@string/action_scottieDX_mode" />
|
||||
</menu></item>
|
||||
<item android:title="@string/wraase_modes"><menu>
|
||||
<item android:id="@+id/action_wraaseSC2_180_mode" android:title="@string/action_wraaseSC2_180_mode" />
|
||||
</menu></item>
|
||||
</group>
|
||||
</menu>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
<string name="decoder_running">"Dekodierer läuft</string>
|
||||
<string name="action_save_image">Bild speichern</string>
|
||||
<string name="action_clear_image">Bild löschen</string>
|
||||
<string name="action_toggle_decoder">Dekodierer umschalten</string>
|
||||
<string name="action_toggle_auto">Automatik umschalten</string>
|
||||
<string name="action_toggle_debug">Bildanalyse umschalten</string>
|
||||
<string name="action_toggle_analyzer">Analysator umschalten</string>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
<string name="decoder_running">"decoder is running</string>
|
||||
<string name="action_save_image">Save Image</string>
|
||||
<string name="action_clear_image">Clear Image</string>
|
||||
<string name="action_toggle_decoder">Toggle Decoder</string>
|
||||
<string name="action_toggle_auto">Toggle Auto Mode</string>
|
||||
<string name="action_toggle_debug">Toggle Debug Mode</string>
|
||||
<string name="action_toggle_analyzer">Toggle Analyzer</string>
|
||||
|
|
|
|||
Loading…
Reference in a new issue