diff options
Diffstat (limited to 'app/src/main/res')
-rw-r--r-- | app/src/main/res/drawable/nav_item_background.xml | 14 | ||||
-rw-r--r-- | app/src/main/res/layout/activity_debug.xml | 4 | ||||
-rw-r--r-- | app/src/main/res/layout/activity_main.xml | 16 | ||||
-rw-r--r-- | app/src/main/res/layout/activity_main_bottom_tabs.xml | 23 | ||||
-rw-r--r-- | app/src/main/res/layout/activity_main_drawer_wrapper.xml | 22 | ||||
-rw-r--r-- | app/src/main/res/layout/view_main_fab.xml | 7 | ||||
-rw-r--r-- | app/src/main/res/layout/view_main_tab_layout.xml | 10 | ||||
-rw-r--r-- | app/src/main/res/layout/view_main_toolbar.xml | 8 | ||||
-rw-r--r-- | app/src/main/res/layout/view_main_viewpager.xml | 7 | ||||
-rw-r--r-- | app/src/main/res/layout/view_nav_header.xml | 121 | ||||
-rw-r--r-- | app/src/main/res/values/dimens.xml | 3 | ||||
-rw-r--r-- | app/src/main/res/values/strings.xml | 4 | ||||
-rw-r--r-- | app/src/main/res/values/styles.xml | 92 |
13 files changed, 279 insertions, 52 deletions
diff --git a/app/src/main/res/drawable/nav_item_background.xml b/app/src/main/res/drawable/nav_item_background.xml new file mode 100644 index 00000000..415dd9f2 --- /dev/null +++ b/app/src/main/res/drawable/nav_item_background.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<ripple xmlns:android="http://schemas.android.com/apk/res/android" + android:color="#f0f"> + <item + android:id="@android:id/mask" + android:right="16dp"> + <shape android:shape="rectangle"> + <corners + android:bottomRightRadius="50dp" + android:topRightRadius="50dp" /> + <solid android:color="#fff" /> + </shape> + </item> +</ripple>
\ No newline at end of file diff --git a/app/src/main/res/layout/activity_debug.xml b/app/src/main/res/layout/activity_debug.xml index c3818749..d2f9a397 100644 --- a/app/src/main/res/layout/activity_debug.xml +++ b/app/src/main/res/layout/activity_debug.xml @@ -31,6 +31,8 @@ </com.pitchedapps.frost.views.SwipeRefreshLayout> - <include layout="@layout/view_main_fab" /> + <com.google.android.material.floatingactionbutton.FloatingActionButton + android:id="@+id/fab" + style="@style/Main.Fab" /> </androidx.coordinatorlayout.widget.CoordinatorLayout> diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 8fa9283f..f46175d1 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -13,14 +13,22 @@ android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> - <include layout="@layout/view_main_toolbar" /> + <androidx.appcompat.widget.Toolbar + android:id="@+id/toolbar" + style="@style/Main.Toolbar" /> - <include layout="@layout/view_main_tab_layout" /> + <com.google.android.material.tabs.TabLayout + android:id="@+id/tabs" + style="@style/Main.TabLayout" /> </com.google.android.material.appbar.AppBarLayout> - <include layout="@layout/view_main_viewpager" /> + <com.pitchedapps.frost.views.FrostViewPager + android:id="@+id/viewpager" + style="@style/Main.ViewPager" /> - <include layout="@layout/view_main_fab" /> + <com.google.android.material.floatingactionbutton.FloatingActionButton + android:id="@+id/fab" + style="@style/Main.Fab" /> </androidx.coordinatorlayout.widget.CoordinatorLayout> diff --git a/app/src/main/res/layout/activity_main_bottom_tabs.xml b/app/src/main/res/layout/activity_main_bottom_tabs.xml index 2c2527cd..419bbc33 100644 --- a/app/src/main/res/layout/activity_main_bottom_tabs.xml +++ b/app/src/main/res/layout/activity_main_bottom_tabs.xml @@ -3,15 +3,16 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:orientation="vertical"> + android:fitsSystemWindows="true" + android:orientation="vertical" + tools:context=".activities.MainActivity"> <androidx.coordinatorlayout.widget.CoordinatorLayout android:id="@+id/main_content" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" - android:fitsSystemWindows="true" - tools:context=".activities.MainActivity"> + android:fitsSystemWindows="true"> <com.google.android.material.appbar.AppBarLayout android:id="@+id/appbar" @@ -19,17 +20,25 @@ android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> - <include layout="@layout/view_main_toolbar" /> + <androidx.appcompat.widget.Toolbar + android:id="@+id/toolbar" + style="@style/Main.Toolbar" /> </com.google.android.material.appbar.AppBarLayout> - <include layout="@layout/view_main_viewpager" /> + <com.pitchedapps.frost.views.FrostViewPager + android:id="@+id/viewpager" + style="@style/Main.ViewPager" /> - <include layout="@layout/view_main_fab" /> + <com.google.android.material.floatingactionbutton.FloatingActionButton + android:id="@+id/fab" + style="@style/Main.Fab" /> </androidx.coordinatorlayout.widget.CoordinatorLayout> - <include layout="@layout/view_main_tab_layout" /> + <com.google.android.material.tabs.TabLayout + android:id="@+id/tabs" + style="@style/Main.TabLayout" /> </LinearLayout> diff --git a/app/src/main/res/layout/activity_main_drawer_wrapper.xml b/app/src/main/res/layout/activity_main_drawer_wrapper.xml new file mode 100644 index 00000000..d5efcf0d --- /dev/null +++ b/app/src/main/res/layout/activity_main_drawer_wrapper.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/drawer" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:fitsSystemWindows="true" + tools:openDrawer="end"> + + <FrameLayout + android:id="@+id/main_container" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:fitsSystemWindows="true" /> + + <com.google.android.material.navigation.NavigationView + android:id="@+id/navigation" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_gravity="start" + android:theme="@style/ThemeOverlay.Frost.NavigationView" /> +</androidx.drawerlayout.widget.DrawerLayout>
\ No newline at end of file diff --git a/app/src/main/res/layout/view_main_fab.xml b/app/src/main/res/layout/view_main_fab.xml deleted file mode 100644 index e9fe9981..00000000 --- a/app/src/main/res/layout/view_main_fab.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<com.google.android.material.floatingactionbutton.FloatingActionButton xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/fab" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="end|bottom" - android:layout_margin="@dimen/kau_fab_margin" />
\ No newline at end of file diff --git a/app/src/main/res/layout/view_main_tab_layout.xml b/app/src/main/res/layout/view_main_tab_layout.xml deleted file mode 100644 index 1218b4f7..00000000 --- a/app/src/main/res/layout/view_main_tab_layout.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<com.google.android.material.tabs.TabLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" - android:id="@+id/tabs" - style="@style/Widget.Design.TabLayout" - android:layout_width="match_parent" - android:layout_height="@dimen/tab_bar_height" - app:tabGravity="fill" - app:tabIndicatorHeight="0dp" - app:tabMode="fixed" /> diff --git a/app/src/main/res/layout/view_main_toolbar.xml b/app/src/main/res/layout/view_main_toolbar.xml deleted file mode 100644 index 054eaac3..00000000 --- a/app/src/main/res/layout/view_main_toolbar.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<androidx.appcompat.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" - android:id="@+id/toolbar" - android:layout_width="match_parent" - android:layout_height="?attr/actionBarSize" - app:layout_scrollFlags="scroll|enterAlways|snap" - app:popupTheme="@style/AppTheme.PopupOverlay" />
\ No newline at end of file diff --git a/app/src/main/res/layout/view_main_viewpager.xml b/app/src/main/res/layout/view_main_viewpager.xml deleted file mode 100644 index 0c3f314c..00000000 --- a/app/src/main/res/layout/view_main_viewpager.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<com.pitchedapps.frost.views.FrostViewPager xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" - android:id="@+id/container" - android:layout_width="match_parent" - android:layout_height="match_parent" - app:layout_behavior="@string/appbar_scrolling_view_behavior" />
\ No newline at end of file diff --git a/app/src/main/res/layout/view_nav_header.xml b/app/src/main/res/layout/view_nav_header.xml new file mode 100644 index 00000000..ff70e48c --- /dev/null +++ b/app/src/main/res/layout/view_nav_header.xml @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical"> + + <androidx.constraintlayout.widget.ConstraintLayout + android:layout_width="match_parent" + android:layout_height="160dp" + android:elevation="2dp"> + + <ImageView + android:id="@+id/background" + android:layout_width="0dp" + android:layout_height="160dp" + android:scaleType="centerCrop" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + tools:src="@tools:sample/backgrounds/scenic" /> + + <androidx.constraintlayout.widget.Guideline + android:id="@+id/status_bar_guide" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:orientation="horizontal" + app:layout_constraintGuide_begin="24dp" /> + + <ImageView + android:id="@+id/avatar_primary" + style="@style/Main.DrawerPrimaryAvatar" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/status_bar_guide" + tools:src="@tools:sample/avatars" /> + + <ImageView + android:id="@+id/avatar_secondary" + style="@style/Main.DrawerSecondaryAvatar" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toBottomOf="@id/status_bar_guide" + tools:src="@tools:sample/avatars" /> + + <ImageView + android:id="@+id/avatar_tertiary" + style="@style/Main.DrawerSecondaryAvatar" + app:layout_constraintEnd_toStartOf="@id/avatar_secondary" + app:layout_constraintTop_toBottomOf="@id/status_bar_guide" + tools:src="@tools:sample/avatars" /> + + <TextView + android:id="@+id/name" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="@dimen/drawer_nav_horizontal_margins" + android:layout_marginTop="@dimen/kau_activity_vertical_margin" + android:layout_marginEnd="@dimen/drawer_nav_horizontal_margins" + android:layout_marginBottom="@dimen/kau_activity_vertical_margin" + android:clickable="false" + android:lines="1" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toStartOf="@id/arrow" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/avatar_primary" + app:layout_constraintVertical_bias="1" + tools:text="@tools:sample/full_names" /> + + <ImageView + android:id="@+id/arrow" + android:layout_width="12dp" + android:layout_height="12dp" + android:layout_marginStart="@dimen/drawer_nav_horizontal_margins" + android:layout_marginEnd="@dimen/drawer_nav_horizontal_margins" + app:layout_constraintBottom_toBottomOf="@id/name" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="@id/name" /> + + </androidx.constraintlayout.widget.ConstraintLayout> + + <LinearLayout + android:id="@+id/options_container" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:paddingTop="8dp" + android:paddingBottom="8dp" + android:visibility="gone" + tools:visibility="visible"> + + <LinearLayout + android:id="@+id/options_accounts_container" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" /> + + <TextView + android:id="@+id/options_logout" + style="@style/Main.DrawerAccountOptions" + android:text="@string/kau_logout" + tools:drawableStart="@drawable/abc_vector_test" + tools:ignore="PrivateResource" /> + + <TextView + android:id="@+id/options_add_account" + style="@style/Main.DrawerAccountOptions" + android:text="@string/kau_add_account" + tools:drawableStart="@drawable/abc_vector_test" + tools:ignore="PrivateResource" /> + + <TextView + android:id="@+id/options_manage_account" + style="@style/Main.DrawerAccountOptions" + android:text="@string/kau_manage_account" + tools:drawableStart="@drawable/abc_vector_test" + tools:ignore="PrivateResource" /> + + </LinearLayout> + +</LinearLayout> diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 1f66683d..b2df756d 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -13,4 +13,7 @@ <dimen name="toolbar_icon_size">24dp</dimen> <dimen name="dialog_corner_radius">8dp</dimen> + + <dimen name="drawer_account_avatar_size">32dp</dimen> + <dimen name="drawer_nav_horizontal_margins">24dp</dimen> </resources> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index dda6c789..96957c4c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -40,12 +40,14 @@ <string name="show_all_results">Show All Results</string> - <string name="frost_description">Frost is a fully themable, fully functional alternative to the official Facebook app, made from scratch and proudly open sourced.</string> <string name="faq_title">Frost FAQ</string> + <string name="open">Open</string> + <string name="close">Close</string> + <string name="html_extraction_error">An error occurred in the html extraction.</string> <string name="html_extraction_cancelled">The request has been cancelled.</string> <string name="html_extraction_timeout">The request has timed out.</string> diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 90978724..f17d005c 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,6 +1,6 @@ <resources> - <style name="FrostThemeBase" parent="MaterialDrawerTheme.ActionBar"> + <style name="FrostTheme" parent="Theme.MaterialComponents.NoActionBar"> <item name="colorPrimary">@color/facebook_blue</item> <item name="colorPrimaryDark">@color/facebook_blue_dark</item> <item name="colorAccent">@android:color/white</item> @@ -11,12 +11,7 @@ <item name="md_corner_radius">@dimen/dialog_corner_radius</item> </style> - <style name="FrostTheme" parent="@style/FrostThemeBase"> - <item name="windowActionBar">false</item> - <item name="windowNoTitle">true</item> - </style> - - <style name="FrostTheme.Light" parent="MaterialDrawerTheme.Light.DarkToolbar"> + <style name="FrostTheme.Light" parent="Theme.MaterialComponents.Light.NoActionBar"> <item name="colorPrimary">@color/facebook_blue</item> <item name="colorPrimaryDark">@color/facebook_blue_dark</item> <item name="colorAccent">@android:color/black</item> @@ -103,4 +98,87 @@ <item name="android:padding">@dimen/kau_padding_large</item> </style> + <!-- Main Activity Styles --> + + <style name="Main.Toolbar" parent=""> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">?actionBarSize</item> + <item name="layout_scrollFlags">scroll|enterAlways|snap</item> + <item name="popupTheme">@style/AppTheme.PopupOverlay</item> + </style> + + <style name="Main.ViewPager" parent=""> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">match_parent</item> + <item name="layout_behavior">@string/appbar_scrolling_view_behavior</item> + </style> + + <style name="Main.Fab" parent="Widget.Design.NavigationView"> + <item name="android:layout_width">wrap_content</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:layout_gravity">end|bottom</item> + <item name="android:layout_margin">16dp</item> + </style> + + <style name="Main.TabLayout" parent="Widget.Design.TabLayout"> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">@dimen/tab_bar_height</item> + <item name="tabGravity">fill</item> + <item name="tabIndicatorHeight">0dp</item> + <item name="tabMode">fixed</item> + </style> + + <style name="ThemeOverlay.Frost.NavigationView" parent=""> + <item name="android:colorControlHighlight">@android:color/transparent</item> + </style> + + <!-- <style name="ShapeAppearanceOverlay.Item" parent="">--> + <!-- <item name="cornerFamily">rounded</item>--> + <!-- <item name="cornerSizeTopRight">10dp</item>--> + <!-- <item name="cornerSizeBottomRight">10dp</item>--> + <!-- <item name="cornerSizeBottomLeft">0dp</item>--> + <!-- <item name="cornerSizeTopLeft">0dp</item>--> + <!-- </style>--> + + <style name="Main.DrawerMargins" parent=""> + <item name="android:layout_marginStart">@dimen/drawer_nav_horizontal_margins</item> + <item name="android:layout_marginEnd">@dimen/drawer_nav_horizontal_margins</item> + <item name="android:layout_marginTop">@dimen/kau_activity_vertical_margin</item> + <item name="android:layout_marginBottom">@dimen/kau_activity_vertical_margin</item> + </style> + + <style name="Main.DrawerPrimaryAvatar" parent="Main.DrawerMargins"> + <item name="android:layout_width">56dp</item> + <item name="android:layout_height">56dp</item> + </style> + + <style name="Main.DrawerSecondaryAvatar" parent="Main.DrawerMargins"> + <item name="android:layout_width">40dp</item> + <item name="android:layout_height">40dp</item> + </style> + + <!-- Expected icon size is 20dp to match NavigationView --> + <style name="Main.DrawerAccountOptions" parent=""> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:drawablePadding">16dp</item> + <item name="android:paddingStart">@dimen/drawer_nav_horizontal_margins</item> + <item name="android:paddingEnd">@dimen/drawer_nav_horizontal_margins</item> + <item name="android:paddingTop">16dp</item> + <item name="android:paddingBottom">16dp</item> + <item name="android:gravity">center_vertical</item> + </style> + + <!-- Avatar size is 32dp (R.dimen.drawer_account_avatar_size) --> + <style name="Main.DrawerAccountUserOptions" parent=""> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:paddingTop">10dp</item> + <item name="android:paddingBottom">10dp</item> + <item name="android:drawablePadding">10dp</item> + <item name="android:gravity">center_vertical</item> + <item name="android:paddingStart">18dp</item> + <item name="android:paddingEnd">@dimen/drawer_nav_horizontal_margins</item> + </style> + </resources> |