Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 44276803 authored by Linus Lee's avatar Linus Lee
Browse files

Add Landscape support to Eleven

This adds most of the support. There is a bug around the album art
not loading on rotation - but this patch covers pretty much every
other case

Change-Id: If9033b0323beab8837493d289dcf77b76d1ea8c9
parent a02bc80d
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -72,7 +72,6 @@
            android:windowSoftInputMode="adjustPan"
            android:launchMode="singleTop"
            android:exported="true"
            android:screenOrientation="portrait"
            android:theme="@style/Eleven.Theme.ActionBar.Overlay">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
@@ -138,8 +137,7 @@
            android:name="com.cyanogenmod.eleven.ui.activities.SearchActivity"
            android:windowSoftInputMode="adjustResize"
            android:exported="true"
            android:theme="@style/Eleven.Theme"
            android:screenOrientation="portrait">
            android:theme="@style/Eleven.Theme">
            <intent-filter>
                <action android:name="android.intent.action.SEARCH" />
                <action android:name="android.intent.action.MEDIA_SEARCH" />
@@ -154,8 +152,7 @@
        <!-- Used to set options -->
        <activity
            android:name="com.cyanogenmod.eleven.ui.activities.SettingsActivity"
            android:label="@string/menu_settings"
            android:screenOrientation="portrait"/>
            android:label="@string/menu_settings"/>
        <!-- 4x1 App Widget -->
        <receiver
            android:name="com.cyanogenmod.eleven.appwidgets.AppWidgetSmall"
+37 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright (C) 2012 Andrew Neal
  Copyright (C) 2014 The CyanogenMod Project

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <include
        android:id="@+id/audio_player_header"
        layout="@layout/audio_player_header_bar" />

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">

        <include layout="@layout/main_album_flow" />
        <include layout="@layout/main_playback_controls" />
    </LinearLayout>
</LinearLayout>
 No newline at end of file
+2 −237
Original line number Diff line number Diff line
@@ -25,242 +25,7 @@
        android:id="@+id/audio_player_header"
        layout="@layout/audio_player_header_bar" />

    <com.cyanogenmod.eleven.widgets.SquareFrame
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <com.cyanogenmod.eleven.widgets.SquareViewPager
            android:id="@+id/audio_player_album_art_viewpager"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
        <include layout="@layout/loading_empty_container" />

        <View
            android:id="@+id/equalizerGradient"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/equalizer_background"
            android:layout_gravity="bottom"/>

        <com.cyanogenmod.eleven.widgets.EqualizerView
            android:id="@+id/equalizerView"
            android:gravity="bottom"
            android:layout_gravity="bottom"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:clipChildren="false"
            android:clipToPadding="false"
            android:visibility="visible" />

        <TextView
            android:id="@+id/audio_player_lyrics"
            android:layout_gravity="center"
            android:gravity="center"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:minHeight="66dp"
            android:paddingLeft="15dp"
            android:paddingRight="15dp"
            android:paddingTop="6dp"
            android:paddingBottom="6dp"
            android:background="@color/lyrics_background_color"
            android:textColor="@color/white"
            android:textSize="@dimen/text_size_small"
            android:alpha="0.0"/>
    </com.cyanogenmod.eleven.widgets.SquareFrame>

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@android:color/transparent" >
        <com.cyanogenmod.eleven.widgets.PlayPauseProgressButton
            android:id="@+id/playPauseProgressButton"
            android:layout_width="@dimen/audio_player_controls_main_button_width"
            android:layout_height="@dimen/audio_player_controls_main_button_height"
            android:layout_centerInParent="true" >

            <!-- TODO: Figure out why scaleType: centerInside isn't properly scaling up -->
            <com.cyanogenmod.eleven.widgets.PlayPauseButton
                android:id="@+id/action_button_play"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="center"
                android:contentDescription="@string/accessibility_play"
                android:focusable="true"
                android:scaleType="centerCrop"
                android:src="@drawable/btn_playback_play" />

            <ProgressBar
                android:id="@+id/progressBarBackground"
                style="?android:attr/progressBarStyleHorizontal"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:clickable="false"
                android:indeterminate="false"
                android:max="100"
                android:progress="100"
                android:progressDrawable="@drawable/now_playing_progress_background" />

            <ProgressBar
                android:id="@+id/circularProgressBar"
                style="?android:attr/progressBarStyleHorizontal"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:clickable="false"
                android:indeterminate="false"
                android:max="100"
                android:progressDrawable="@drawable/now_playing_progress" />
        </com.cyanogenmod.eleven.widgets.PlayPauseProgressButton>

        <!-- TODO: Figure out why scaleType: centerInside isn't properly scaling up -->
        <!-- ANSWER: two issues (a) centerInside doesn't scale up, only down, use
             fitCenter instead. Also, ImageButtons come with built-in padding, but
             that only makes a visible difference when you are scaling the image.
             so you have to set the padding to zero in order to get the result you expect -->
        <!-- This is the left side of the progress bar - it has the previous
        and shuffle button and the current time text -->
        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_toLeftOf="@id/playPauseProgressButton">

            <TextView
                android:id="@+id/audio_player_current_time"
                android:layout_width="52dp"
                android:layout_height="@dimen/audio_player_controls_end_button_height"
                android:gravity="left|center_vertical"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:paddingLeft="@dimen/audio_player_time_text_padding"
                android:textColor="@color/audio_player_text_color"
                android:textSize="@dimen/audio_player_time_text_size"
                android:textStyle="bold"/>

            <com.cyanogenmod.eleven.widgets.RepeatingImageButton
                android:id="@+id/action_button_previous"
                android:layout_width="@dimen/audio_player_controls_end_button_width"
                android:layout_height="@dimen/audio_player_controls_end_button_height"
                android:layout_toLeftOf="@id/audio_player_current_time"
                android:layout_centerVertical="true"
                android:scaleType="fitCenter"
                android:src="@drawable/btn_playback_previous" />

            <!-- divider -->
            <View
                android:id="@+id/action_button_left_top_divider"
                android:layout_height="@dimen/audio_player_divider_height"
                android:layout_width="@dimen/audio_player_divider_length"
                android:layout_marginRight="@dimen/audio_player_divider_horizontal_offset"
                android:layout_alignParentRight="true"
                android:layout_above="@id/audio_player_current_time"
                android:background="@color/now_playing_divider" />

            <!-- divider -->
            <View
                android:id="@+id/action_button_left_bottom_divider"
                android:layout_height="@dimen/audio_player_divider_height"
                android:layout_width="@dimen/audio_player_divider_length"
                android:layout_marginRight="@dimen/audio_player_divider_horizontal_offset"
                android:layout_alignParentRight="true"
                android:layout_below="@id/audio_player_current_time"
                android:background="@color/now_playing_divider" />

            <com.cyanogenmod.eleven.widgets.BrowseButton
                android:id="@+id/action_button_browse"
                android:layout_width="@dimen/audio_player_controls_end_button_width"
                android:layout_height="@dimen/audio_player_controls_end_button_height"
                android:layout_above="@id/action_button_left_top_divider"
                android:layout_alignLeft="@id/action_button_previous"
                android:layout_marginLeft="@dimen/audio_player_controls_end_button_half_width"
                android:contentDescription="@string/accessibility_browse"
                android:focusable="true"
                android:scaleType="fitCenter"
                android:src="@drawable/btn_playback_browse" />

            <com.cyanogenmod.eleven.widgets.ShuffleButton
                android:id="@+id/action_button_shuffle"
                android:layout_width="@dimen/audio_player_controls_end_button_width"
                android:layout_height="@dimen/audio_player_controls_end_button_height"
                android:layout_below="@id/action_button_left_bottom_divider"
                android:layout_alignLeft="@id/action_button_previous"
                android:layout_marginLeft="@dimen/audio_player_controls_end_button_half_width"
                android:contentDescription="@string/accessibility_shuffle"
                android:scaleType="fitCenter"
                android:src="@drawable/btn_playback_shuffle_all" />
        </RelativeLayout>

        <!-- This is the right side of the progress bar - it has the next
        and repeat button and the total time text -->
        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_toRightOf="@id/playPauseProgressButton">

            <TextView
                android:id="@+id/audio_player_total_time"
                android:layout_width="52dp"
                android:layout_height="@dimen/audio_player_controls_end_button_height"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:paddingRight="@dimen/audio_player_time_text_padding"
                android:gravity="right|center_vertical"
                android:textColor="@color/audio_player_text_color"
                android:textSize="@dimen/audio_player_time_text_size"
                android:textStyle="bold"/>

            <com.cyanogenmod.eleven.widgets.RepeatingImageButton
                android:id="@+id/action_button_next"
                android:layout_width="@dimen/audio_player_controls_end_button_width"
                android:layout_height="@dimen/audio_player_controls_end_button_height"
                android:layout_toRightOf="@id/audio_player_total_time"
                android:layout_centerVertical="true"
                android:scaleType="fitCenter"
                android:src="@drawable/btn_playback_next" />

            <!-- divider -->
            <View
                android:id="@+id/action_button_right_top_divider"
                android:layout_height="@dimen/audio_player_divider_height"
                android:layout_width="@dimen/audio_player_divider_length"
                android:layout_marginLeft="@dimen/audio_player_divider_horizontal_offset"
                android:layout_alignParentLeft="true"
                android:layout_above="@id/audio_player_total_time"
                android:background="@color/now_playing_divider" />

            <!-- divider -->
            <View
                android:id="@+id/action_button_right_bottom_divider"
                android:layout_height="@dimen/audio_player_divider_height"
                android:layout_width="@dimen/audio_player_divider_length"
                android:layout_marginLeft="@dimen/audio_player_divider_horizontal_offset"
                android:layout_alignParentLeft="true"
                android:layout_below="@id/audio_player_total_time"
                android:background="@color/now_playing_divider" />

            <com.cyanogenmod.eleven.widgets.QueueButton
                android:id="@+id/action_button_queue"
                android:layout_width="@dimen/audio_player_controls_end_button_width"
                android:layout_height="@dimen/audio_player_controls_end_button_height"
                android:layout_above="@id/action_button_right_top_divider"
                android:layout_alignRight="@id/action_button_next"
                android:layout_marginRight="@dimen/audio_player_controls_end_button_half_width"
                android:contentDescription="@string/accessibility_queue"
                android:focusable="true"
                android:scaleType="fitCenter"
                android:src="@drawable/btn_queue_icon" />

            <com.cyanogenmod.eleven.widgets.RepeatButton
                android:id="@+id/action_button_repeat"
                android:layout_width="@dimen/audio_player_controls_end_button_width"
                android:layout_height="@dimen/audio_player_controls_end_button_height"
                android:layout_below="@id/action_button_right_bottom_divider"
                android:layout_alignRight="@id/action_button_next"
                android:layout_marginRight="@dimen/audio_player_controls_end_button_half_width"
                android:contentDescription="@string/accessibility_repeat"
                android:focusable="true"
                android:scaleType="fitCenter"
                android:src="@drawable/btn_playback_repeat_all" />

        </RelativeLayout>
    <include layout="@layout/main_album_flow" />

    </RelativeLayout>
    <include layout="@layout/main_playback_controls" />
</LinearLayout>
+60 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright (C) 2012 Andrew Neal
  Copyright (C) 2014 The CyanogenMod Project

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<com.cyanogenmod.eleven.widgets.SquareFrame
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <com.cyanogenmod.eleven.widgets.SquareViewPager
        android:id="@+id/audio_player_album_art_viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
    <include layout="@layout/loading_empty_container" />

    <View
        android:id="@+id/equalizerGradient"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/equalizer_background"
        android:layout_gravity="bottom"/>

    <com.cyanogenmod.eleven.widgets.EqualizerView
        android:id="@+id/equalizerView"
        android:gravity="bottom"
        android:layout_gravity="bottom"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:clipChildren="false"
        android:clipToPadding="false"
        android:visibility="visible" />

    <TextView
        android:id="@+id/audio_player_lyrics"
        android:layout_gravity="center"
        android:gravity="center"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:minHeight="66dp"
        android:paddingLeft="15dp"
        android:paddingRight="15dp"
        android:paddingTop="6dp"
        android:paddingBottom="6dp"
        android:background="@color/lyrics_background_color"
        android:textColor="@color/white"
        android:textSize="@dimen/text_size_small"
        android:alpha="0.0"/>
</com.cyanogenmod.eleven.widgets.SquareFrame>
 No newline at end of file
+213 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading