summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorSamuel Holland <samuel@sholland.org>2017-08-07 18:51:47 -0500
committerSamuel Holland <samuel@sholland.org>2017-08-07 18:51:47 -0500
commit2df899eae52591ff46819c960e129a2c698b201e (patch)
tree6c07d280ea64596a301091ddbdad3be9b528b02e
parent2154306fcbbc9e52ff1a2cba88f909df2e2ba13e (diff)
ProfileActivity: Add two-pane master-detail layout
This is designed for tablets, but for testing purposes, it is currently enabled for all devices in landscape orientation. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r--app/src/main/java/com/wireguard/android/ProfileActivity.java4
-rw-r--r--app/src/main/res/layout-land/profile_activity.xml19
2 files changed, 23 insertions, 0 deletions
diff --git a/app/src/main/java/com/wireguard/android/ProfileActivity.java b/app/src/main/java/com/wireguard/android/ProfileActivity.java
index 699d394c..040feb23 100644
--- a/app/src/main/java/com/wireguard/android/ProfileActivity.java
+++ b/app/src/main/java/com/wireguard/android/ProfileActivity.java
@@ -22,6 +22,7 @@ import java.util.List;
public class ProfileActivity extends Activity {
private final ServiceConnection connection = new ProfileServiceConnection();
+ private boolean isSplitLayout;
private final List<ServiceConnectionListener> listeners = new ArrayList<>();
private ProfileServiceInterface service;
@@ -38,9 +39,12 @@ public class ProfileActivity extends Activity {
super.onCreate(savedInstanceState);
// This layout consists only of containers for fragments.
setContentView(R.layout.profile_activity);
+ isSplitLayout = findViewById(R.id.detail_fragment_container) != null;
// Fill the layout with the initial set of fragments.
final FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.add(R.id.list_fragment_container, new ProfileListFragment());
+ if (isSplitLayout)
+ transaction.add(R.id.detail_fragment_container, new PlaceholderFragment());
transaction.commit();
// Ensure the long-running service is started. This only needs to happen once.
final Intent intent = new Intent(this, ProfileService.class);
diff --git a/app/src/main/res/layout-land/profile_activity.xml b/app/src/main/res/layout-land/profile_activity.xml
new file mode 100644
index 00000000..acc56925
--- /dev/null
+++ b/app/src/main/res/layout-land/profile_activity.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:baselineAligned="false"
+ android:orientation="horizontal">
+
+ <FrameLayout
+ android:id="@+id/list_fragment_container"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_weight="1" />
+
+ <FrameLayout
+ android:id="@+id/detail_fragment_container"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_weight="2" />
+</LinearLayout>