Author: kmorin Date: 2014-02-19 15:00:00 +0100 (Wed, 19 Feb 2014) New Revision: 52 Url: http://forge.codelutin.com/projects/wlo/repository/revisions/52 Log: fixes #4207 Retour sur le mauvais ?\195?\169cran apr?\195?\168s un "back" depuis les observations Added: trunk/res/layout/main.xml Removed: trunk/res/layout/main.xml Modified: trunk/AndroidManifest.xml trunk/res/drawable/weight.png trunk/src/fr/ifremer/wlo/BigFinCommunicationService.java trunk/src/fr/ifremer/wlo/CommercialSpeciesFormActivity.java trunk/src/fr/ifremer/wlo/ContextFormActivity.java trunk/src/fr/ifremer/wlo/LocationFormActivity.java trunk/src/fr/ifremer/wlo/MainActivity.java trunk/src/fr/ifremer/wlo/MetierFormActivity.java trunk/src/fr/ifremer/wlo/ScientificSpeciesActivity.java trunk/src/fr/ifremer/wlo/ScientificSpeciesFormActivity.java trunk/src/fr/ifremer/wlo/VesselFormActivity.java trunk/src/fr/ifremer/wlo/WloBaseActivity.java trunk/src/fr/ifremer/wlo/WloModelEditionActivity.java trunk/src/fr/ifremer/wlo/measurement/MeasurementActivity.java Modified: trunk/AndroidManifest.xml =================================================================== --- trunk/AndroidManifest.xml 2014-02-19 10:19:58 UTC (rev 51) +++ trunk/AndroidManifest.xml 2014-02-19 14:00:00 UTC (rev 52) @@ -26,7 +26,7 @@ <uses-permission android:name="android.permission.VIBRATE"/> <application android:label="@string/app_name" - android:icon="@drawable/wlo_ico" + android:icon="@drawable/wlo_ico_small" android:theme="@style/Theme.AppCompat"> <service android:name=".BigFinCommunicationService" /> Modified: trunk/res/drawable/weight.png =================================================================== (Binary files differ) Deleted: trunk/res/layout/main.xml =================================================================== --- trunk/res/layout/main.xml 2014-02-19 10:19:58 UTC (rev 51) +++ trunk/res/layout/main.xml 2014-02-19 14:00:00 UTC (rev 52) @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:orientation="vertical" - android:layout_width="match_parent" - android:layout_height="match_parent"> - - <ImageView android:layout_width="match_parent" - android:layout_height="wrap_content" - android:src="@drawable/wlo_ico" - android:layout_weight="1"/> - - <TextView style="@style/MainTitle" - android:text="@string/app_name" - android:layout_weight="1"/> - - <Button style="@style/MainButton" - android:text="@string/main_open_contexts" - android:onClick="openContexts"/> - - <Button style="@style/MainButton" - android:text="@string/main_export_data"/> - - <Button style="@style/MainButton" - android:id="@+id/main_connect_ichtyometer_button" - android:text="@string/main_connect_ichtyometer" - android:onClick="connectIchtyometer"/> - - <Button style="@style/MainButton" - android:id="@+id/main_disconnect_ichtyometer_button" - android:text="@string/main_disconnect_ichtyometer" - android:onClick="disconnectIchtyometer"/> - - <Button style="@style/MainButton" - android:text="@string/main_settings" - android:onClick="openSettings"/> - -</LinearLayout> \ No newline at end of file Added: trunk/res/layout/main.xml =================================================================== --- trunk/res/layout/main.xml (rev 0) +++ trunk/res/layout/main.xml 2014-02-19 14:00:00 UTC (rev 52) @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="utf-8"?> + +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/main_panel" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <LinearLayout android:id="@+id/logo_panel" + android:orientation="vertical" + android:layout_width="wrap_content" + android:layout_height="wrap_content"> + + <ImageView android:layout_width="match_parent" + android:layout_height="wrap_content" + android:src="@drawable/wlo_ico_transparent"/> + + <TextView style="@style/MainTitle" + android:text="@string/app_name"/> + + </LinearLayout> + + <LinearLayout android:id="@+id/button_panel" + android:orientation="vertical" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:gravity="center"> + + <Button style="@style/MainButton" + android:text="@string/main_open_contexts" + android:onClick="openContexts"/> + + <Button style="@style/MainButton" + android:text="@string/main_export_data"/> + + <Button style="@style/MainButton" + android:id="@+id/main_connect_ichtyometer_button" + android:text="@string/main_connect_ichtyometer" + android:onClick="connectIchtyometer"/> + + <Button style="@style/MainButton" + android:id="@+id/main_disconnect_ichtyometer_button" + android:text="@string/main_disconnect_ichtyometer" + android:onClick="disconnectIchtyometer"/> + + <Button style="@style/MainButton" + android:text="@string/main_settings" + android:onClick="openSettings"/> + + </LinearLayout> + +</LinearLayout> \ No newline at end of file Modified: trunk/src/fr/ifremer/wlo/BigFinCommunicationService.java =================================================================== --- trunk/src/fr/ifremer/wlo/BigFinCommunicationService.java 2014-02-19 10:19:58 UTC (rev 51) +++ trunk/src/fr/ifremer/wlo/BigFinCommunicationService.java 2014-02-19 14:00:00 UTC (rev 52) @@ -130,7 +130,8 @@ setState(STATE_NONE); notificationBuilder = new NotificationCompat.Builder(this) - .setSmallIcon(R.drawable.wlo_ico); + .setSmallIcon(R.drawable.wlo_ico_small) + .setContentIntent(PendingIntent.getActivity(this, -1, new Intent(this, MainActivity.class), PendingIntent.FLAG_CANCEL_CURRENT)); updateNotification(false); Modified: trunk/src/fr/ifremer/wlo/CommercialSpeciesFormActivity.java =================================================================== --- trunk/src/fr/ifremer/wlo/CommercialSpeciesFormActivity.java 2014-02-19 10:19:58 UTC (rev 51) +++ trunk/src/fr/ifremer/wlo/CommercialSpeciesFormActivity.java 2014-02-19 14:00:00 UTC (rev 52) @@ -78,6 +78,11 @@ } @Override + protected Class<? extends WloBaseListActivity> getNextListActivity() { + return ScientificSpeciesActivity.class; + } + + @Override protected CommercialSpeciesModel createNewModel() { return new CommercialSpeciesModel(); } Modified: trunk/src/fr/ifremer/wlo/ContextFormActivity.java =================================================================== --- trunk/src/fr/ifremer/wlo/ContextFormActivity.java 2014-02-19 10:19:58 UTC (rev 51) +++ trunk/src/fr/ifremer/wlo/ContextFormActivity.java 2014-02-19 14:00:00 UTC (rev 52) @@ -52,6 +52,11 @@ } @Override + protected Class<? extends WloBaseListActivity> getNextListActivity() { + return LocationsActivity.class; + } + + @Override protected ContextModel createNewModel() { return new ContextModel(); } Modified: trunk/src/fr/ifremer/wlo/LocationFormActivity.java =================================================================== --- trunk/src/fr/ifremer/wlo/LocationFormActivity.java 2014-02-19 10:19:58 UTC (rev 51) +++ trunk/src/fr/ifremer/wlo/LocationFormActivity.java 2014-02-19 14:00:00 UTC (rev 52) @@ -67,6 +67,11 @@ } @Override + protected Class<? extends WloBaseListActivity> getNextListActivity() { + return VesselsActivity.class; + } + + @Override protected LocationModel createNewModel() { return new LocationModel(); } Modified: trunk/src/fr/ifremer/wlo/MainActivity.java =================================================================== --- trunk/src/fr/ifremer/wlo/MainActivity.java 2014-02-19 10:19:58 UTC (rev 51) +++ trunk/src/fr/ifremer/wlo/MainActivity.java 2014-02-19 14:00:00 UTC (rev 52) @@ -28,6 +28,7 @@ import android.app.ProgressDialog; import android.bluetooth.BluetoothAdapter; import android.content.Intent; +import android.content.res.Configuration; import android.os.Bundle; import android.os.Handler; import android.os.Message; @@ -35,7 +36,9 @@ import android.os.RemoteException; import android.util.Log; import android.view.View; +import android.view.ViewGroup; import android.widget.Button; +import android.widget.LinearLayout; import android.widget.Toast; import fr.ifremer.wlo.models.referentials.imports.ImportUtil; import fr.ifremer.wlo.preferences.SettingsActivity; @@ -59,6 +62,10 @@ // Local Bluetooth adapter protected BluetoothAdapter mBluetoothAdapter = null; + protected LinearLayout mainPanel; + protected LinearLayout logoPanel; + protected LinearLayout buttonPanel; + protected Button connectButton; protected Button disconnectButton; protected ProgressDialog dialog; @@ -94,6 +101,10 @@ super.onCreate(savedInstanceState); + mainPanel = (LinearLayout) findViewById(R.id.main_panel); + logoPanel = (LinearLayout) findViewById(R.id.logo_panel); + buttonPanel = (LinearLayout) findViewById(R.id.button_panel); + // Get local Bluetooth adapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); @@ -106,6 +117,9 @@ disconnectButton = (Button) findViewById(R.id.main_disconnect_ichtyometer_button); bigfinDisconnected(); + Configuration config = getResources().getConfiguration(); + setOrientation(config.orientation); + dialog = new ProgressDialog(this); dialog.setIndeterminate(false); dialog.setCancelable(false); @@ -196,6 +210,12 @@ } @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + setOrientation(newConfig.orientation); + } + + @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { @@ -223,6 +243,32 @@ } + protected void setOrientation(int orientation) { + LinearLayout.LayoutParams logoParams, buttonParams; + + if (orientation == Configuration.ORIENTATION_LANDSCAPE) { + logoParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, + LinearLayout.LayoutParams.MATCH_PARENT); + logoParams.weight = 1.0f; + + buttonParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, + LinearLayout.LayoutParams.MATCH_PARENT); + buttonParams.weight = 1.0f; + + } else { + logoParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, + LinearLayout.LayoutParams.WRAP_CONTENT); + logoParams.weight = 1.0f; + + buttonParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, + LinearLayout.LayoutParams.WRAP_CONTENT); + buttonParams.weight = 0.0f; + } + logoPanel.setLayoutParams(logoParams); + buttonPanel.setLayoutParams(buttonParams); + mainPanel.setOrientation(orientation); + } + public void openContexts(View source) { startActivity(new Intent(this, ContextsActivity.class)); } Modified: trunk/src/fr/ifremer/wlo/MetierFormActivity.java =================================================================== --- trunk/src/fr/ifremer/wlo/MetierFormActivity.java 2014-02-19 10:19:58 UTC (rev 51) +++ trunk/src/fr/ifremer/wlo/MetierFormActivity.java 2014-02-19 14:00:00 UTC (rev 52) @@ -59,6 +59,11 @@ } @Override + protected Class<? extends WloBaseListActivity> getNextListActivity() { + return CommercialSpeciesActivity.class; + } + + @Override protected MetierModel createNewModel() { return new MetierModel(); } Modified: trunk/src/fr/ifremer/wlo/ScientificSpeciesActivity.java =================================================================== --- trunk/src/fr/ifremer/wlo/ScientificSpeciesActivity.java 2014-02-19 10:19:58 UTC (rev 51) +++ trunk/src/fr/ifremer/wlo/ScientificSpeciesActivity.java 2014-02-19 14:00:00 UTC (rev 52) @@ -60,7 +60,7 @@ public boolean onCreateOptionsMenu(Menu menu) { CommercialSpeciesModel parent = (CommercialSpeciesModel) parentModel; MenuInflater inflater = getMenuInflater(); - if (parent.isSpeciesMix() || adapter.getCount() == 0) { + if (parent != null && parent.isSpeciesMix() || adapter.getCount() == 0) { inflater.inflate(R.menu.model_list_menu, menu); } inflater.inflate(R.menu.weight_menu, menu); Modified: trunk/src/fr/ifremer/wlo/ScientificSpeciesFormActivity.java =================================================================== --- trunk/src/fr/ifremer/wlo/ScientificSpeciesFormActivity.java 2014-02-19 10:19:58 UTC (rev 51) +++ trunk/src/fr/ifremer/wlo/ScientificSpeciesFormActivity.java 2014-02-19 14:00:00 UTC (rev 52) @@ -72,6 +72,11 @@ } @Override + protected Class<? extends WloBaseListActivity> getNextListActivity() { + return null; + } + + @Override protected ScientificSpeciesModel createNewModel() { return new ScientificSpeciesModel(); } Modified: trunk/src/fr/ifremer/wlo/VesselFormActivity.java =================================================================== --- trunk/src/fr/ifremer/wlo/VesselFormActivity.java 2014-02-19 10:19:58 UTC (rev 51) +++ trunk/src/fr/ifremer/wlo/VesselFormActivity.java 2014-02-19 14:00:00 UTC (rev 52) @@ -74,6 +74,11 @@ } @Override + protected Class<? extends WloBaseListActivity> getNextListActivity() { + return MetiersActivity.class; + } + + @Override protected VesselModel createNewModel() { return new VesselModel(); } Modified: trunk/src/fr/ifremer/wlo/WloBaseActivity.java =================================================================== --- trunk/src/fr/ifremer/wlo/WloBaseActivity.java 2014-02-19 10:19:58 UTC (rev 51) +++ trunk/src/fr/ifremer/wlo/WloBaseActivity.java 2014-02-19 14:00:00 UTC (rev 52) @@ -59,7 +59,7 @@ } ActionBar actionBar = getSupportActionBar(); - actionBar.setDisplayHomeAsUpEnabled(true); + actionBar.setDisplayHomeAsUpEnabled(getUpActivity() != null); bindService(new Intent(this, BigFinCommunicationService.class), this, Context.BIND_AUTO_CREATE); } @@ -123,7 +123,7 @@ public Intent getSupportParentActivityIntent() { Class upClass = getUpActivity(); if (upClass == null) { - return null; + return super.getSupportParentActivityIntent(); } Intent intent = new Intent(this, upClass); return intent; Modified: trunk/src/fr/ifremer/wlo/WloModelEditionActivity.java =================================================================== --- trunk/src/fr/ifremer/wlo/WloModelEditionActivity.java 2014-02-19 10:19:58 UTC (rev 51) +++ trunk/src/fr/ifremer/wlo/WloModelEditionActivity.java 2014-02-19 14:00:00 UTC (rev 52) @@ -71,6 +71,8 @@ protected abstract Class<? extends WloModelEditionActivity> getNextEditionActivity(); + protected abstract Class<? extends WloBaseListActivity> getNextListActivity(); + protected abstract M createNewModel(); @Override @@ -98,8 +100,7 @@ model.setModified(true); } }); - getWindow().setSoftInputMode( - WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); + getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); } @Override @@ -161,8 +162,8 @@ saveModel(); if (newModel) { - - Intent intent = new Intent(this, getNextEditionActivity()); +// Intent intent = new Intent(this, getNextEditionActivity()); + Intent intent = new Intent(this, getNextListActivity()); intent.putExtra(WloModelEditionActivity.INTENT_EXTRA_PARENT_MODEL, model); startActivity(intent); Modified: trunk/src/fr/ifremer/wlo/measurement/MeasurementActivity.java =================================================================== --- trunk/src/fr/ifremer/wlo/measurement/MeasurementActivity.java 2014-02-19 10:19:58 UTC (rev 51) +++ trunk/src/fr/ifremer/wlo/measurement/MeasurementActivity.java 2014-02-19 14:00:00 UTC (rev 52) @@ -63,8 +63,10 @@ import fr.ifremer.wlo.ScientificSpeciesFormActivity; import fr.ifremer.wlo.VesselFormActivity; import fr.ifremer.wlo.WloBaseActivity; +import fr.ifremer.wlo.WloBaseListActivity; import fr.ifremer.wlo.WloModelEditionActivity; import fr.ifremer.wlo.models.CategoryWeightModel; +import fr.ifremer.wlo.models.HierarchicalModel; import fr.ifremer.wlo.models.referentials.Mensuration; import fr.ifremer.wlo.storage.DataCache; import fr.ifremer.wlo.models.BaseModel;