summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2020-06-03 12:47:08 +0300
committerAndrew Dolgov <[email protected]>2020-06-03 12:47:08 +0300
commit3f24a5d8694b60515b26d22a8a8d55834d53442f (patch)
treeb17d84449701bb97374eef3d8522fbd9e9fc5ee3
parent453aef675bea16bfc6ea8c28753e66148b57fa5d (diff)
parent5c2759c358e4bf5506d76662a612ec43e6e9e5d5 (diff)
Merge branch 'master' of git.fakecake.org:tt-rss-android
-rwxr-xr-xorg.fox.ttrss/src/main/AndroidManifest.xml4
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java3
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java6
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java25
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java6
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesFragment.java7
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineDetailActivity.java6
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineHeadlinesFragment.java10
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineMasterActivity.java8
-rw-r--r--org.fox.ttrss/src/main/res/layout/activity_detail.xml27
-rw-r--r--org.fox.ttrss/src/main/res/layout/activity_detail_phone.xml24
-rwxr-xr-xorg.fox.ttrss/src/main/res/layout/activity_master.xml52
-rw-r--r--org.fox.ttrss/src/main/res/layout/activity_master_phone.xml44
-rwxr-xr-xorg.fox.ttrss/src/main/res/values/strings.xml2
-rwxr-xr-xorg.fox.ttrss/src/main/res/xml/preferences.xml6
-rwxr-xr-xtt-rss-android.iml2
16 files changed, 140 insertions, 92 deletions
diff --git a/org.fox.ttrss/src/main/AndroidManifest.xml b/org.fox.ttrss/src/main/AndroidManifest.xml
index 8489811a..c4f7ddaa 100755
--- a/org.fox.ttrss/src/main/AndroidManifest.xml
+++ b/org.fox.ttrss/src/main/AndroidManifest.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.fox.ttrss"
- android:versionCode="514"
- android:versionName="1.280">
+ android:versionCode="516"
+ android:versionName="1.282">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java
index e639a825..9461e6a5 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java
@@ -345,7 +345,8 @@ public class CommonActivity extends AppCompatActivity implements SharedPreferenc
}
String[] filter = new String[] { "enable_cats", "headline_mode", "widget_update_interval",
- "headlines_swipe_to_dismiss", "headlines_mark_read_scroll", "headlines_request_size" };
+ "headlines_swipe_to_dismiss", "headlines_mark_read_scroll", "headlines_request_size",
+ "force_phone_layout" };
m_needRestart = Arrays.asList(filter).indexOf(key) != -1;
}
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java
index 74e41842..3452ffa8 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java
@@ -38,7 +38,11 @@ public class DetailActivity extends OnlineActivity implements HeadlinesEventList
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_detail);
+ if (m_prefs.getBoolean("force_phone_layout", false)) {
+ setContentView(R.layout.activity_detail_phone);
+ } else {
+ setContentView(R.layout.activity_detail);
+ }
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java
index ac94d420..71fbdd08 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java
@@ -50,17 +50,6 @@ import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.TextView;
-import androidx.appcompat.app.ActionBar;
-import androidx.core.app.ActivityCompat;
-import androidx.core.app.ActivityOptionsCompat;
-import androidx.core.view.ViewCompat;
-import androidx.recyclerview.widget.DefaultItemAnimator;
-import androidx.recyclerview.widget.DividerItemDecoration;
-import androidx.recyclerview.widget.ItemTouchHelper;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
-
import com.amulyakhare.textdrawable.TextDrawable;
import com.amulyakhare.textdrawable.util.ColorGenerator;
import com.bumptech.glide.Glide;
@@ -92,6 +81,16 @@ import java.util.HashMap;
import java.util.List;
import java.util.TimeZone;
+import androidx.appcompat.app.ActionBar;
+import androidx.core.app.ActivityCompat;
+import androidx.core.app.ActivityOptionsCompat;
+import androidx.core.view.ViewCompat;
+import androidx.recyclerview.widget.DefaultItemAnimator;
+import androidx.recyclerview.widget.DividerItemDecoration;
+import androidx.recyclerview.widget.ItemTouchHelper;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import icepick.State;
import jp.wasabeef.glide.transformations.CropCircleTransformation;
@@ -442,6 +441,8 @@ public class HeadlinesFragment extends StateSavedFragment {
}
m_list.setOnScrollListener(new RecyclerView.OnScrollListener() {
+ boolean m_forcePhoneLayout = m_prefs.getBoolean("force_phone_layout", false);
+
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
@@ -498,7 +499,7 @@ public class HeadlinesFragment extends StateSavedFragment {
}
}
- if (!m_activity.isTablet() && m_articles.size() > 0) {
+ if ((m_forcePhoneLayout || !m_activity.isTablet()) && m_articles.size() > 0) {
m_amountScrolled += dy;
ActionBar bar = m_activity.getSupportActionBar();
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java
index 1b638d48..44a9a7c3 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java
@@ -58,7 +58,11 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_master);
+ if (m_prefs.getBoolean("force_phone_layout", false)) {
+ setContentView(R.layout.activity_master_phone);
+ } else {
+ setContentView(R.layout.activity_master);
+ }
setSmallScreen(findViewById(R.id.sw600dp_anchor) == null);
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesFragment.java
index 1735f0df..1fb663d1 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesFragment.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesFragment.java
@@ -1,6 +1,5 @@
package org.fox.ttrss;
-import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
@@ -42,13 +41,15 @@ public class PreferencesFragment extends PreferenceFragment {
}
});
+ CommonActivity activity = (CommonActivity) getActivity();
+
+ findPreference("force_phone_layout").setEnabled(activity.isTablet());
+
try {
String version;
int versionCode;
String buildTimestamp;
- Activity activity = getActivity();
-
PackageInfo packageInfo = activity.getPackageManager().
getPackageInfo(activity.getPackageName(), 0);
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineDetailActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineDetailActivity.java
index 3106ab20..9fcf6072 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineDetailActivity.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineDetailActivity.java
@@ -39,7 +39,11 @@ public class OfflineDetailActivity extends OfflineActivity implements OfflineHea
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_detail);
+ if (m_prefs.getBoolean("force_phone_layout", false)) {
+ setContentView(R.layout.activity_detail_phone);
+ } else {
+ setContentView(R.layout.activity_detail);
+ }
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineHeadlinesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineHeadlinesFragment.java
index 06a86cec..811cc015 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineHeadlinesFragment.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineHeadlinesFragment.java
@@ -107,6 +107,8 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis
private ListView m_list;
private int m_listPreviousVisibleItem;
+ boolean m_forcePhoneLayout;
+
public void initialize(int feedId, boolean isCat, boolean compactMode) {
m_feedId = feedId;
m_feedIsCat = isCat;
@@ -356,6 +358,8 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis
m_list = view.findViewById(R.id.headlines_list);
+ m_forcePhoneLayout = m_prefs.getBoolean("force_phone_layout", false);
+
FloatingActionButton fab = view.findViewById(R.id.headlines_fab);
fab.setVisibility(View.GONE);
@@ -648,7 +652,7 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis
holder.textImage.setImageDrawable(textDrawable);
- Glide.with(OfflineHeadlinesFragment.this)
+ Glide.with(getContext())
.load(afi.flavorImageUri)
.placeholder(textDrawable)
.bitmapTransform(new CropCircleTransformation(getActivity()))
@@ -1000,7 +1004,7 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis
try {
- Glide.with(OfflineHeadlinesFragment.this)
+ Glide.with(getContext())
.load(afi.flavorImageUri)
//.dontTransform()
.diskCacheStrategy(DiskCacheStrategy.NONE)
@@ -1320,7 +1324,7 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis
}
}
- if (!m_activity.isTablet()) {
+ if (m_forcePhoneLayout || !m_activity.isTablet()) {
if (m_adapter.getCount() > 0) {
if (firstVisibleItem > m_listPreviousVisibleItem) {
m_activity.getSupportActionBar().hide();
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineMasterActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineMasterActivity.java
index 4e40ca27..cdaa794e 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineMasterActivity.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineMasterActivity.java
@@ -47,8 +47,12 @@ public class OfflineMasterActivity extends OfflineActivity implements OfflineHea
setAppTheme(m_prefs);
super.onCreate(savedInstanceState);
-
- setContentView(R.layout.activity_master);
+
+ if (m_prefs.getBoolean("force_phone_layout", false)) {
+ setContentView(R.layout.activity_master_phone);
+ } else {
+ setContentView(R.layout.activity_master);
+ }
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
diff --git a/org.fox.ttrss/src/main/res/layout/activity_detail.xml b/org.fox.ttrss/src/main/res/layout/activity_detail.xml
index e9cfdc35..c35ab296 100644
--- a/org.fox.ttrss/src/main/res/layout/activity_detail.xml
+++ b/org.fox.ttrss/src/main/res/layout/activity_detail.xml
@@ -1,24 +1,9 @@
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/headlines"
- android:fitsSystemWindows="true"
- android:animateLayoutChanges="true"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
- <FrameLayout
- android:id="@+id/article_fragment"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="?articleBackground">
- </FrameLayout>
+ <include layout="@layout/activity_detail_phone" />
- <FrameLayout
- android:id="@+id/headlines_fragment"
- android:visibility="gone"
- android:layout_height="0dp"
- android:layout_width="0dp"
- android:background="?headlinesBackground">
- </FrameLayout>
-
- <include layout="@layout/toolbar" android:id="@+id/toolbar" />
</FrameLayout> \ No newline at end of file
diff --git a/org.fox.ttrss/src/main/res/layout/activity_detail_phone.xml b/org.fox.ttrss/src/main/res/layout/activity_detail_phone.xml
new file mode 100644
index 00000000..e9cfdc35
--- /dev/null
+++ b/org.fox.ttrss/src/main/res/layout/activity_detail_phone.xml
@@ -0,0 +1,24 @@
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/headlines"
+ android:fitsSystemWindows="true"
+ android:animateLayoutChanges="true"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent">
+
+ <FrameLayout
+ android:id="@+id/article_fragment"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="?articleBackground">
+ </FrameLayout>
+
+ <FrameLayout
+ android:id="@+id/headlines_fragment"
+ android:visibility="gone"
+ android:layout_height="0dp"
+ android:layout_width="0dp"
+ android:background="?headlinesBackground">
+ </FrameLayout>
+
+ <include layout="@layout/toolbar" android:id="@+id/toolbar" />
+</FrameLayout> \ No newline at end of file
diff --git a/org.fox.ttrss/src/main/res/layout/activity_master.xml b/org.fox.ttrss/src/main/res/layout/activity_master.xml
index 3cd0a62a..9bb9bff5 100755
--- a/org.fox.ttrss/src/main/res/layout/activity_master.xml
+++ b/org.fox.ttrss/src/main/res/layout/activity_master.xml
@@ -1,44 +1,8 @@
- <androidx.drawerlayout.widget.DrawerLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:fitsSystemWindows="true"
- android:id="@+id/headlines_drawer"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
-
- <FrameLayout
- android:fitsSystemWindows="true"
- android:animateLayoutChanges="true"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
-
- <FrameLayout
- android:id="@+id/headlines_fragment"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="?headlinesBackground"></FrameLayout>
-
- <include layout="@layout/toolbar" android:id="@+id/toolbar" />
-
- </FrameLayout>
-
- <org.fox.ttrss.util.ScrimInsetsFrameLayout
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:id="@+id/scrimInsetsFrameLayout"
- android:layout_width="300dp"
- android:layout_height="match_parent"
- android:layout_gravity="start"
- android:background="@android:color/white"
- android:elevation="10dp"
- android:fitsSystemWindows="true"
- app:insetForeground="#4000">
-
- <FrameLayout
- android:id="@+id/feeds_fragment"
- android:layout_width="match_parent"
- android:background="?feedlistBackground"
- android:layout_height="match_parent" >
- </FrameLayout>
-
- </org.fox.ttrss.util.ScrimInsetsFrameLayout>
-
- </androidx.drawerlayout.widget.DrawerLayout>
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <include layout="@layout/activity_master_phone" />
+</FrameLayout> \ No newline at end of file
diff --git a/org.fox.ttrss/src/main/res/layout/activity_master_phone.xml b/org.fox.ttrss/src/main/res/layout/activity_master_phone.xml
new file mode 100644
index 00000000..de3db618
--- /dev/null
+++ b/org.fox.ttrss/src/main/res/layout/activity_master_phone.xml
@@ -0,0 +1,44 @@
+ <androidx.drawerlayout.widget.DrawerLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:fitsSystemWindows="true"
+ android:id="@+id/headlines_drawer"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent">
+
+ <FrameLayout
+ android:fitsSystemWindows="true"
+ android:animateLayoutChanges="true"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <FrameLayout
+ android:id="@+id/headlines_fragment"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="?headlinesBackground" />
+
+ <include layout="@layout/toolbar" android:id="@+id/toolbar" />
+
+ </FrameLayout>
+
+ <org.fox.ttrss.util.ScrimInsetsFrameLayout
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/scrimInsetsFrameLayout"
+ android:layout_width="300dp"
+ android:layout_height="match_parent"
+ android:layout_gravity="start"
+ android:background="@android:color/white"
+ android:elevation="10dp"
+ android:fitsSystemWindows="true"
+ app:insetForeground="#4000">
+
+ <FrameLayout
+ android:id="@+id/feeds_fragment"
+ android:layout_width="match_parent"
+ android:background="?feedlistBackground"
+ android:layout_height="match_parent" >
+ </FrameLayout>
+
+ </org.fox.ttrss.util.ScrimInsetsFrameLayout>
+
+ </androidx.drawerlayout.widget.DrawerLayout>
diff --git a/org.fox.ttrss/src/main/res/values/strings.xml b/org.fox.ttrss/src/main/res/values/strings.xml
index a0b0f0b4..12604d45 100755
--- a/org.fox.ttrss/src/main/res/values/strings.xml
+++ b/org.fox.ttrss/src/main/res/values/strings.xml
@@ -282,4 +282,6 @@
<string name="prefs_always_downsample_images">Always resize images</string>
<string name="prefs_always_downsample_images_long">Even on Wi-Fi</string>
<string name="prefs_inline_video_player_title">Inline video player</string>
+ <string name="force_phone_layout_summary">On tablet devices</string>
+ <string name="force_phone_layout">Force phone layout</string>
</resources>
diff --git a/org.fox.ttrss/src/main/res/xml/preferences.xml b/org.fox.ttrss/src/main/res/xml/preferences.xml
index 93bc74fa..9cf7bec1 100755
--- a/org.fox.ttrss/src/main/res/xml/preferences.xml
+++ b/org.fox.ttrss/src/main/res/xml/preferences.xml
@@ -62,6 +62,12 @@
android:defaultValue="true"
android:key="open_fresh_on_startup"
android:title="@string/prefs_open_fresh_on_startup" />
+
+ <org.fox.ttrss.util.LessBrokenSwitchPreference
+ android:defaultValue="false"
+ android:key="force_phone_layout"
+ android:summary="@string/force_phone_layout_summary"
+ android:title="@string/force_phone_layout" />
</PreferenceCategory>
<PreferenceCategory
diff --git a/tt-rss-android.iml b/tt-rss-android.iml
index 21249593..0e954cf4 100755
--- a/tt-rss-android.iml
+++ b/tt-rss-android.iml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<module external.linked.project.id="tt-rss-android" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" type="JAVA_MODULE" version="4">
+<module external.linked.project.id="tt-rss-android" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="java-gradle" name="Java-Gradle">
<configuration>