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

Commit cfb630f8 authored by Sunny Goyal's avatar Sunny Goyal
Browse files

Using a single launcher layout for all configurations

Bug: 71709920
Change-Id: Ib23112bc1636007cb41e1919a855bbf5298884b6
parent aa6b1117
Loading
Loading
Loading
Loading

res/layout-land/launcher.xml

deleted100644 → 0
+0 −80
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 The Android Open Source 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.
-->

<!-- Full screen view projects under the status bar and contains the background -->
<com.android.launcher3.LauncherRootView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:launcher="http://schemas.android.com/apk/res-auto"
    android:id="@+id/launcher"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="?attr/workspaceStatusBarScrim"
    android:fitsSystemWindows="true">

    <com.android.launcher3.dragndrop.DragLayer
        android:id="@+id/drag_layer"
        android:clipChildren="false"
        android:clipToPadding="false"
        android:importantForAccessibility="no"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <!-- The workspace contains 5 screens of cells -->
        <!-- DO NOT CHANGE THE ID -->
        <com.android.launcher3.Workspace
            android:theme="@style/HomeScreenElementTheme"
            android:id="@+id/workspace"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            launcher:pageIndicator="@id/page_indicator" />

        <com.android.launcher3.pageindicators.PageIndicatorLandscape
            android:id="@+id/page_indicator"
            android:theme="@style/HomeScreenElementTheme"
            android:layout_width="@dimen/dynamic_grid_min_page_indicator_size"
            android:layout_height="@dimen/dynamic_grid_min_page_indicator_size"
            android:layout_gravity="bottom|left"
            android:background="@drawable/all_apps_handle_landscape" />

        <include layout="@layout/overview_panel"
            android:id="@+id/overview_panel"
            android:visibility="gone" />

        <com.android.launcher3.views.AllAppsScrim
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/all_apps_scrim" />

        <!-- DO NOT CHANGE THE ID -->
        <include layout="@layout/hotseat"
            android:id="@+id/hotseat"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

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

        <include layout="@layout/all_apps"
            android:id="@+id/apps_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:visibility="invisible" />

    </com.android.launcher3.dragndrop.DragLayer>

</com.android.launcher3.LauncherRootView>

res/layout-sw720dp/launcher.xml

deleted100644 → 0
+0 −77
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 The Android Open Source 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.
-->

<!-- Full screen view projects under the status bar and contains the background -->
<com.android.launcher3.LauncherRootView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:launcher="http://schemas.android.com/apk/res-auto"
    android:id="@+id/launcher"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="?attr/workspaceStatusBarScrim"
    android:fitsSystemWindows="true">

    <com.android.launcher3.dragndrop.DragLayer
        android:id="@+id/drag_layer"
        android:clipChildren="false"
        android:clipToPadding="false"
        android:importantForAccessibility="no"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <!-- The workspace contains 5 screens of cells -->
        <!-- DO NOT CHANGE THE ID -->
        <com.android.launcher3.Workspace
            android:theme="@style/HomeScreenElementTheme"
            android:layout_gravity="center"
            android:id="@+id/workspace"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            launcher:pageIndicator="@id/page_indicator">
        </com.android.launcher3.Workspace>

        <include layout="@layout/overview_panel"
            android:id="@+id/overview_panel"
            android:visibility="gone" />

        <com.android.launcher3.views.AllAppsScrim
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/all_apps_scrim" />

        <!-- DO NOT CHANGE THE ID -->
        <include layout="@layout/hotseat"
            android:id="@+id/hotseat"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

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

        <!-- Keep these behind the workspace so that they are not visible when
             we go into AllApps -->
        <include layout="@layout/page_indicator"
                 android:id="@+id/page_indicator" />

        <include layout="@layout/all_apps"
            android:id="@+id/apps_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:visibility="invisible" />
    </com.android.launcher3.dragndrop.DragLayer>

</com.android.launcher3.LauncherRootView>
+20 −19
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 The Android Open Source Project
<?xml version="1.0" encoding="utf-8"?><!-- Copyright (C) 2007 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
@@ -13,12 +12,9 @@
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<!-- Full screen view projects under the status bar and contains the background -->
<com.android.launcher3.LauncherRootView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:launcher="http://schemas.android.com/apk/res-auto"

    android:id="@+id/launcher"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
@@ -27,49 +23,54 @@

    <com.android.launcher3.dragndrop.DragLayer
        android:id="@+id/drag_layer"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:clipChildren="false"
        android:importantForAccessibility="no"
        android:clipToPadding="false"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        android:importantForAccessibility="no">

        <!-- The workspace contains 5 screens of cells -->
        <!-- DO NOT CHANGE THE ID -->
        <com.android.launcher3.Workspace
            android:theme="@style/HomeScreenElementTheme"
            android:id="@+id/workspace"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            launcher:pageIndicator="@+id/page_indicator">
        </com.android.launcher3.Workspace>
            android:theme="@style/HomeScreenElementTheme"
            launcher:pageIndicator="@+id/page_indicator" />

        <include layout="@layout/overview_panel"
        <include
            android:id="@+id/overview_panel"
            layout="@layout/overview_panel"
            android:visibility="gone" />

        <com.android.launcher3.views.AllAppsScrim
            android:id="@+id/all_apps_scrim"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/all_apps_scrim" />
            android:layout_height="match_parent" />

        <!-- DO NOT CHANGE THE ID -->
        <include layout="@layout/hotseat"
        <include
            android:id="@+id/hotseat"
            layout="@layout/hotseat"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

        <!-- Keep these behind the workspace so that they are not visible when
         we go into AllApps -->
        <include layout="@layout/page_indicator"
            android:id="@+id/page_indicator" />
        <com.android.launcher3.pageindicators.WorkspacePageIndicator
            android:id="@+id/page_indicator"
            android:layout_width="match_parent"
            android:layout_height="@dimen/dynamic_grid_min_page_indicator_size"
            android:theme="@style/HomeScreenElementTheme" />

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

        <include layout="@layout/all_apps"
        <include
            android:id="@+id/apps_view"
            layout="@layout/all_apps"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:visibility="invisible" />

res/layout/page_indicator.xml

deleted100644 → 0
+0 −21
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2016 The Android Open Source 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.android.launcher3.pageindicators.PageIndicatorLine
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:theme="@style/HomeScreenElementTheme"
    android:layout_width="match_parent"
    android:layout_height="@dimen/dynamic_grid_min_page_indicator_size" />
+0 −86
Original line number Diff line number Diff line
/*
 * Copyright (C) 2016 The Android Open Source 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.
 */
package com.android.launcher3.pageindicators;

import static com.android.launcher3.LauncherState.ALL_APPS;

import android.content.Context;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.MarginLayoutParams;
import android.widget.FrameLayout;

import com.android.launcher3.DeviceProfile;
import com.android.launcher3.Insettable;
import com.android.launcher3.Launcher;
import com.android.launcher3.userevent.nano.LauncherLogProto.Action;
import com.android.launcher3.userevent.nano.LauncherLogProto.ControlType;

/**
 * Simply draws the caret drawable bottom-right aligned in the view. This ensures that we can have
 * a view with as large an area as we want (for touching) while maintaining a caret of size
 * all_apps_caret_size.  Used only for the landscape layout.
 */
public class PageIndicatorLandscape extends PageIndicator implements OnClickListener, Insettable {
    // all apps pull up handle drawable.

    private final Launcher mLauncher;

    public PageIndicatorLandscape(Context context) {
        this(context, null);
    }

    public PageIndicatorLandscape(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public PageIndicatorLandscape(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        setOnClickListener(this);
        mLauncher = Launcher.getLauncher(context);
        setOnFocusChangeListener(mLauncher.mFocusHandler);
    }

    @Override
    public void onClick(View view) {
        Launcher l = Launcher.getLauncher(getContext());
        if (!l.isInState(ALL_APPS)) {
            l.getUserEventDispatcher().logActionOnControl(
                    Action.Touch.TAP, ControlType.ALL_APPS_BUTTON);
            l.getStateManager().goToState(ALL_APPS);
        }
    }

    @Override
    public void setInsets(Rect insets) {
        FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) getLayoutParams();
        DeviceProfile grid = mLauncher.getDeviceProfile();
        if (insets.left > insets.right) {
            lp.leftMargin = grid.hotseatBarSidePaddingPx;
            lp.rightMargin = insets.right;
            lp.gravity =  Gravity.RIGHT | Gravity.BOTTOM;
        } else {
            lp.leftMargin = insets.left;
            lp.rightMargin = grid.hotseatBarSidePaddingPx;
            lp.gravity = Gravity.LEFT | Gravity.BOTTOM;
        }
        lp.bottomMargin = grid.workspacePadding.bottom;
        setLayoutParams(lp);
    }
}
Loading