diff options
author | Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> | 2016-04-11 23:11:49 +0200 |
---|---|---|
committer | Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> | 2016-04-11 23:58:02 +0200 |
commit | 9983a29eca6829d0b2dd73403da53c22a7238176 (patch) | |
tree | 34a1c0c51286ee84cc59873bfb75db1bcdb8f7fa | |
parent | 9e4120e54d07576e4715174ba8a05d7352cd29d1 (diff) |
simplify theme handling & switch to AppCompatActivity
Since ActionBarActivity is now deprecated → use AppCompatActivity
theme handling simplified by using inheritance and appcompat
features.
Change-Id: I71ae03ca7162c4975edc36a2a6178ea9713108ee
7 files changed, 25 insertions, 65 deletions
diff --git a/android/sdremote/mobile/src/main/AndroidManifest.xml b/android/sdremote/mobile/src/main/AndroidManifest.xml index cc75dc7..7e2aea7 100644 --- a/android/sdremote/mobile/src/main/AndroidManifest.xml +++ b/android/sdremote/mobile/src/main/AndroidManifest.xml @@ -39,8 +39,7 @@ android:theme="@style/Theme.ImpressRemote"> <activity - android:name=".activity.ComputersActivity" - android:theme="@style/Theme.ImpressRemote.Computers"> + android:name=".activity.ComputersActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> @@ -51,8 +50,7 @@ <activity android:name=".activity.ComputerCreationActivity" - android:label="@string/title_creation" - android:theme="@style/Theme.ImpressRemote.ComputerCreation"> + android:label="@string/title_creation"> </activity> <activity @@ -67,8 +65,7 @@ <activity android:name=".activity.SettingsActivity" - android:label="@string/title_settings" - android:theme="@style/Theme.ImpressRemote.Settings"> + android:label="@string/title_settings"> </activity> <activity diff --git a/android/sdremote/mobile/src/main/java/org/libreoffice/impressremote/activity/ComputerConnectionActivity.java b/android/sdremote/mobile/src/main/java/org/libreoffice/impressremote/activity/ComputerConnectionActivity.java index d2f50a4..5c35ce0 100644 --- a/android/sdremote/mobile/src/main/java/org/libreoffice/impressremote/activity/ComputerConnectionActivity.java +++ b/android/sdremote/mobile/src/main/java/org/libreoffice/impressremote/activity/ComputerConnectionActivity.java @@ -10,7 +10,7 @@ package org.libreoffice.impressremote.activity; import android.os.Bundle; import android.support.v4.app.Fragment; -import android.support.v7.app.ActionBarActivity; +import android.support.v7.app.AppCompatActivity; import android.view.MenuItem; import org.libreoffice.impressremote.fragment.ComputerConnectionFragment; @@ -18,7 +18,7 @@ import org.libreoffice.impressremote.util.Fragments; import org.libreoffice.impressremote.util.Intents; import org.libreoffice.impressremote.communication.Server; -public class ComputerConnectionActivity extends ActionBarActivity { +public class ComputerConnectionActivity extends AppCompatActivity { @Override protected void onCreate(Bundle aSavedInstanceState) { super.onCreate(aSavedInstanceState); diff --git a/android/sdremote/mobile/src/main/java/org/libreoffice/impressremote/activity/ComputerCreationActivity.java b/android/sdremote/mobile/src/main/java/org/libreoffice/impressremote/activity/ComputerCreationActivity.java index ac01bd5..7696305 100644 --- a/android/sdremote/mobile/src/main/java/org/libreoffice/impressremote/activity/ComputerCreationActivity.java +++ b/android/sdremote/mobile/src/main/java/org/libreoffice/impressremote/activity/ComputerCreationActivity.java @@ -11,7 +11,8 @@ package org.libreoffice.impressremote.activity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; -import android.support.v7.app.ActionBarActivity; +import android.support.v7.app.ActionBar; +import android.support.v7.app.AppCompatActivity; import android.text.TextUtils; import android.util.Patterns; import android.view.KeyEvent; @@ -23,14 +24,16 @@ import android.widget.TextView; import org.libreoffice.impressremote.R; import org.libreoffice.impressremote.util.Intents; -public class ComputerCreationActivity extends ActionBarActivity implements View.OnClickListener, TextView.OnEditorActionListener { +public class ComputerCreationActivity extends AppCompatActivity implements View.OnClickListener, TextView.OnEditorActionListener { @Override protected void onCreate(Bundle aSavedInstanceState) { super.onCreate(aSavedInstanceState); setContentView(R.layout.activity_computer_creation); // action bar setup and listeners - getSupportActionBar().setCustomView(R.layout.action_bar_computer_creation); - View aActionBarView = getSupportActionBar().getCustomView(); + ActionBar aActionBar = getSupportActionBar(); + aActionBar.setCustomView(R.layout.action_bar_computer_creation); + aActionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); + View aActionBarView = aActionBar.getCustomView(); aActionBarView.findViewById(R.id.button_cancel).setOnClickListener(this); aActionBarView.findViewById(R.id.button_save).setOnClickListener(this); // input field diff --git a/android/sdremote/mobile/src/main/java/org/libreoffice/impressremote/activity/ComputersActivity.java b/android/sdremote/mobile/src/main/java/org/libreoffice/impressremote/activity/ComputersActivity.java index 103b4a7..ea33c3d 100644 --- a/android/sdremote/mobile/src/main/java/org/libreoffice/impressremote/activity/ComputersActivity.java +++ b/android/sdremote/mobile/src/main/java/org/libreoffice/impressremote/activity/ComputersActivity.java @@ -18,7 +18,7 @@ import android.support.v4.view.MenuItemCompat; import android.support.v4.view.ViewPager; import android.support.v7.app.ActionBar; import android.support.v7.app.ActionBar.Tab; -import android.support.v7.app.ActionBarActivity; +import android.support.v7.app.AppCompatActivity; import android.view.Menu; import android.view.MenuItem; @@ -27,7 +27,7 @@ import org.libreoffice.impressremote.fragment.ComputersFragment.Type; import org.libreoffice.impressremote.util.Intents; import org.libreoffice.impressremote.R; -public class ComputersActivity extends ActionBarActivity implements ActionBar.TabListener, ViewPager.OnPageChangeListener { +public class ComputersActivity extends AppCompatActivity implements ActionBar.TabListener, ViewPager.OnPageChangeListener { private static final int REQUEST_ENABLE_BT = 0; private static final String SELECT_BLUETOOTH = "SELECT_BLUETOOTH"; private static final BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter(); @@ -43,14 +43,13 @@ public class ComputersActivity extends ActionBarActivity implements ActionBar.Ta isInitializing = true; setContentView(R.layout.activity_computers); + + ActionBar aActionBar = getSupportActionBar(); // Looks hacky but it seems to be the best way to set activity’s title // different to application’s label. The other way is setting title // to intents filter but it shows wrong label for recent apps screen then. - - ActionBar aActionBar = getSupportActionBar(); - aActionBar.setTitle(R.string.title_computers); - aActionBar.setDisplayShowTitleEnabled(true); + aActionBar.setDisplayHomeAsUpEnabled(false); btTab = aActionBar.newTab().setTabListener(this) .setText(R.string.title_bluetooth); diff --git a/android/sdremote/mobile/src/main/java/org/libreoffice/impressremote/activity/RequirementsActivity.java b/android/sdremote/mobile/src/main/java/org/libreoffice/impressremote/activity/RequirementsActivity.java index f098060..10eb898 100644 --- a/android/sdremote/mobile/src/main/java/org/libreoffice/impressremote/activity/RequirementsActivity.java +++ b/android/sdremote/mobile/src/main/java/org/libreoffice/impressremote/activity/RequirementsActivity.java @@ -9,29 +9,23 @@ package org.libreoffice.impressremote.activity; import android.os.Bundle; -import android.support.v7.app.ActionBarActivity; +import android.support.v7.app.AppCompatActivity; import android.view.MenuItem; import org.libreoffice.impressremote.R; -public class RequirementsActivity extends ActionBarActivity { +public class RequirementsActivity extends AppCompatActivity { @Override protected void onCreate(Bundle aSavedInstanceState) { super.onCreate(aSavedInstanceState); setContentView(R.layout.activity_requirements); - - setUpHomeButton(); - } - - private void setUpHomeButton() { - getSupportActionBar().setHomeButtonEnabled(true); } @Override public boolean onOptionsItemSelected(MenuItem aMenuItem) { switch (aMenuItem.getItemId()) { case android.R.id.home: - navigateUp(); + finish(); return true; default: @@ -39,9 +33,6 @@ public class RequirementsActivity extends ActionBarActivity { } } - private void navigateUp() { - finish(); - } } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/android/sdremote/mobile/src/main/java/org/libreoffice/impressremote/activity/SlideShowActivity.java b/android/sdremote/mobile/src/main/java/org/libreoffice/impressremote/activity/SlideShowActivity.java index ed66719..0a753f4 100644 --- a/android/sdremote/mobile/src/main/java/org/libreoffice/impressremote/activity/SlideShowActivity.java +++ b/android/sdremote/mobile/src/main/java/org/libreoffice/impressremote/activity/SlideShowActivity.java @@ -21,7 +21,7 @@ import android.support.v4.app.DialogFragment; import android.support.v4.app.Fragment; import android.support.v4.content.LocalBroadcastManager; import android.support.v7.app.ActionBar; -import android.support.v7.app.ActionBarActivity; +import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.KeyEvent; import android.view.Menu; @@ -43,7 +43,7 @@ import org.libreoffice.impressremote.util.Intents; import org.libreoffice.impressremote.util.Preferences; import org.libreoffice.impressremote.util.SavedStates; -public class SlideShowActivity extends ActionBarActivity implements ServiceConnection { +public class SlideShowActivity extends AppCompatActivity implements ServiceConnection { public enum Mode { PAGER, GRID, EMPTY, STARTPOINTER, STOPPOINTER } diff --git a/android/sdremote/mobile/src/main/res/values/themes.xml b/android/sdremote/mobile/src/main/res/values/themes.xml index ed1e3da..7eaabd3 100644 --- a/android/sdremote/mobile/src/main/res/values/themes.xml +++ b/android/sdremote/mobile/src/main/res/values/themes.xml @@ -20,48 +20,18 @@ xmlns:tools="http://schemas.android.com/tools"> <style name="Theme.ImpressRemote" parent="Theme.AppCompat.Light.DarkActionBar"> - <item name="android:actionBarStyle" tools:targetApi="11">@style/Theme.ImpressRemote.ActionBar</item> <item name="actionBarStyle">@style/Theme.ImpressRemote.ActionBar</item> - - <item name="android:actionBarTabStyle" tools:targetApi="11">@style/Theme.ImpressRemote.ActionBar.Tab</item> <item name="actionBarTabStyle">@style/Theme.ImpressRemote.ActionBar.Tab</item> + <item name="preferenceTheme">@style/PreferenceThemeOverlay</item> </style> <style name="Theme.ImpressRemote.ActionBar" parent="Widget.AppCompat.Light.ActionBar.Solid.Inverse"> - <item name="android:background">@drawable/bg_action_bar</item> - - <item name="android:displayOptions" tools:targetApi="11">showTitle|showHome|homeAsUp|useLogo</item> - <item name="displayOptions">showTitle|showHome|homeAsUp|useLogo</item> + <item name="background">@drawable/bg_action_bar</item> + <item name="displayOptions">showTitle|homeAsUp|useLogo</item> </style> <style name="Theme.ImpressRemote.ActionBar.Tab" parent="Widget.AppCompat.Light.ActionBar.TabView.Inverse"> <item name="android:background">@drawable/bg_action_bar_tab</item> </style> - <style name="Theme.ImpressRemote.Computers" parent="Theme.ImpressRemote"> - <item name="android:actionBarStyle" tools:targetApi="11">@style/Theme.ImpressRemote.Computers.ActionBar</item> - <item name="actionBarStyle">@style/Theme.ImpressRemote.Computers.ActionBar</item> - </style> - - <style name="Theme.ImpressRemote.Computers.ActionBar" parent="Theme.ImpressRemote.ActionBar"> - <item name="android:navigationMode" tools:targetApi="11">tabMode</item> - <item name="navigationMode">tabMode</item> - - <item name="android:displayOptions" tools:targetApi="11">showHome|useLogo</item> - <item name="displayOptions">showHome|useLogo</item> - </style> - - <style name="Theme.ImpressRemote.ComputerCreation" parent="Theme.ImpressRemote"> - <item name="android:actionBarStyle" tools:targetApi="11">@style/Theme.ImpressRemote.ComputerCreation.ActionBar</item> - <item name="actionBarStyle">@style/Theme.ImpressRemote.ComputerCreation.ActionBar</item> - </style> - - <style name="Theme.ImpressRemote.ComputerCreation.ActionBar" parent="Theme.ImpressRemote.ActionBar"> - <item name="android:displayOptions" tools:targetApi="11">showCustom</item> - <item name="displayOptions">showCustom</item> - </style> - - <style name="Theme.ImpressRemote.Settings" parent="Theme.ImpressRemote"> - <item name="preferenceTheme">@style/PreferenceThemeOverlay</item> - </style> </resources>
\ No newline at end of file |