diff options
Diffstat (limited to 'tools')
6 files changed, 80 insertions, 32 deletions
diff --git a/tools/aapt2/compile/XmlIdCollector_test.cpp b/tools/aapt2/compile/XmlIdCollector_test.cpp index 45b7af240abe..a37ea86c317f 100644 --- a/tools/aapt2/compile/XmlIdCollector_test.cpp +++ b/tools/aapt2/compile/XmlIdCollector_test.cpp @@ -37,13 +37,13 @@ TEST(XmlIdCollectorTest, CollectsIds) { XmlIdCollector collector; ASSERT_TRUE(collector.consume(context.get(), doc.get())); - EXPECT_EQ(1u, std::count(doc->file.exportedSymbols.begin(), doc->file.exportedSymbols.end(), + EXPECT_EQ(1, std::count(doc->file.exportedSymbols.begin(), doc->file.exportedSymbols.end(), SourcedResourceName{ test::parseNameOrDie(u"@id/foo"), 3u })); - EXPECT_EQ(1u, std::count(doc->file.exportedSymbols.begin(), doc->file.exportedSymbols.end(), + EXPECT_EQ(1, std::count(doc->file.exportedSymbols.begin(), doc->file.exportedSymbols.end(), SourcedResourceName{ test::parseNameOrDie(u"@id/bar"), 3u })); - EXPECT_EQ(1u, std::count(doc->file.exportedSymbols.begin(), doc->file.exportedSymbols.end(), + EXPECT_EQ(1, std::count(doc->file.exportedSymbols.begin(), doc->file.exportedSymbols.end(), SourcedResourceName{ test::parseNameOrDie(u"@id/car"), 6u })); } diff --git a/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java b/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java index 40437fac0092..01ee18b1649c 100644 --- a/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java +++ b/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java @@ -76,7 +76,7 @@ public class IWindowManagerImpl implements IWindowManager { @Override public void addAppToken(int arg0, IApplicationToken arg1, int arg2, int arg3, int arg4, boolean arg5, boolean arg6, int arg7, int arg8, boolean arg9, boolean arg10, - Rect arg11, Configuration arg12, boolean arg13) throws RemoteException { + Rect arg11, Configuration arg12, boolean arg13, boolean arg14) throws RemoteException { // TODO Auto-generated method stub } @@ -543,6 +543,11 @@ public class IWindowManagerImpl implements IWindowManager { } @Override - public void registerDockDividerVisibilityListener(IDockDividerVisibilityListener listener) { + public void registerDockedStackListener(IDockedStackListener listener) throws RemoteException { + } + + @Override + public void setResizeDimLayer(boolean visible, int targetStackId, float alpha) + throws RemoteException { } } diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java index 683c4aabf6d9..c8e3d03169e8 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java @@ -183,7 +183,7 @@ public final class Bridge extends com.android.ide.common.rendering.api.Bridge { */ private static LayoutLog sCurrentLog = sDefaultLog; - private static final int LAST_SUPPORTED_FEATURE = Features.CHOREOGRAPHER; + private static final int LAST_SUPPORTED_FEATURE = Features.THEME_PREVIEW_NAVIGATION_BAR; @Override public int getApiLevel() { diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java index a2fad13e7b2c..3f9574f3ba83 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java @@ -34,7 +34,6 @@ import android.content.pm.IPackageStatsObserver; import android.content.pm.InstrumentationInfo; import android.content.pm.IntentFilterVerificationInfo; import android.content.pm.KeySet; -import android.content.pm.ManifestDigest; import android.content.pm.PackageInfo; import android.content.pm.PackageInstaller; import android.content.pm.PackageItemInfo; @@ -522,7 +521,7 @@ public class BridgePackageManager extends PackageManager { @Override public void installPackageWithVerification(Uri packageURI, IPackageInstallObserver observer, int flags, String installerPackageName, Uri verificationURI, - ManifestDigest manifestDigest, ContainerEncryptionParams encryptionParams) { + ContainerEncryptionParams encryptionParams) { } @Override @@ -544,7 +543,7 @@ public class BridgePackageManager extends PackageManager { @Override public void installPackageWithVerification(Uri packageURI, PackageInstallObserver observer, int flags, String installerPackageName, Uri verificationURI, - ManifestDigest manifestDigest, ContainerEncryptionParams encryptionParams) { + ContainerEncryptionParams encryptionParams) { } @Override diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/bars/NavigationBar.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/bars/NavigationBar.java index 9c89bfe2a28f..dfbc69bee59c 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/bars/NavigationBar.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/bars/NavigationBar.java @@ -19,9 +19,6 @@ package com.android.layoutlib.bridge.bars; import com.android.layoutlib.bridge.android.BridgeContext; import com.android.resources.Density; -import android.content.Context; -import android.content.pm.ApplicationInfo; -import android.util.AttributeSet; import android.util.DisplayMetrics; import android.view.View; import android.widget.LinearLayout; @@ -41,29 +38,18 @@ public class NavigationBar extends CustomBar { private static final int WIDTH_DEFAULT = 36; private static final int WIDTH_SW360 = 40; private static final int WIDTH_SW600 = 48; - private static final String LAYOUT_XML = "/bars/navigation_bar.xml"; + protected static final String LAYOUT_XML = "/bars/navigation_bar.xml"; private static final String LAYOUT_600DP_XML = "/bars/navigation_bar600dp.xml"; - - /** - * Constructor to be used when creating the {@link NavigationBar} as a regular control. - * This is currently used by the theme editor. - */ - @SuppressWarnings("unused") - public NavigationBar(Context context, AttributeSet attrs) { - this((BridgeContext) context, - Density.getEnum(((BridgeContext) context).getMetrics().densityDpi), - LinearLayout.HORIZONTAL, // In this mode, it doesn't need to be render vertically - ((BridgeContext) context).getConfiguration().getLayoutDirection() == - View.LAYOUT_DIRECTION_RTL, - (context.getApplicationInfo().flags & ApplicationInfo.FLAG_SUPPORTS_RTL) != 0, - 0); + public NavigationBar(BridgeContext context, Density density, int orientation, boolean isRtl, + boolean rtlEnabled, int simulatedPlatformVersion) { + this(context, density, orientation, isRtl, rtlEnabled, simulatedPlatformVersion, + getShortestWidth(context)>= 600 ? LAYOUT_600DP_XML : LAYOUT_XML); } - public NavigationBar(BridgeContext context, Density density, int orientation, boolean isRtl, - boolean rtlEnabled, int simulatedPlatformVersion) { - super(context, orientation, getShortestWidth(context)>= 600 ? LAYOUT_600DP_XML : LAYOUT_XML, - "navigation_bar.xml", simulatedPlatformVersion); + protected NavigationBar(BridgeContext context, Density density, int orientation, boolean isRtl, + boolean rtlEnabled, int simulatedPlatformVersion, String layoutPath) { + super(context, orientation, layoutPath, "navigation_bar.xml", simulatedPlatformVersion); int color = getBarColor(ATTR_COLOR, ATTR_TRANSLUCENT); setBackgroundColor(color == 0 ? 0xFF000000 : color); @@ -117,7 +103,7 @@ public class NavigationBar extends CustomBar { view.setLayoutParams(layoutParams); } - private static int getSidePadding(float sw) { + protected int getSidePadding(float sw) { if (sw >= 400) { return PADDING_WIDTH_SW400; } diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/bars/ThemePreviewNavigationBar.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/bars/ThemePreviewNavigationBar.java new file mode 100644 index 000000000000..043528016c2d --- /dev/null +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/bars/ThemePreviewNavigationBar.java @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2015 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.layoutlib.bridge.bars; + +import com.android.layoutlib.bridge.android.BridgeContext; +import com.android.resources.Density; + +import android.content.Context; +import android.content.pm.ApplicationInfo; +import android.util.AttributeSet; +import android.view.View; +import android.widget.LinearLayout; + +/** + * Navigation Bar for the Theme Editor preview. + * + * For small bars, it is identical to {@link NavigationBar}. + * But wide bars from {@link NavigationBar} are too wide for the Theme Editor preview. + * To solve that problem, {@link ThemePreviewNavigationBar} use the layout for small bars, + * and have no padding on the sides. That way, they have a similar look as the true ones, + * and they fit in the Theme Editor preview. + */ +public class ThemePreviewNavigationBar extends NavigationBar { + private static final int PADDING_WIDTH_SW600 = 0; + + @SuppressWarnings("unused") + public ThemePreviewNavigationBar(Context context, AttributeSet attrs) { + super((BridgeContext) context, + Density.getEnum(((BridgeContext) context).getMetrics().densityDpi), + LinearLayout.HORIZONTAL, // In this mode, it doesn't need to be render vertically + ((BridgeContext) context).getConfiguration().getLayoutDirection() == + View.LAYOUT_DIRECTION_RTL, + (context.getApplicationInfo().flags & ApplicationInfo.FLAG_SUPPORTS_RTL) != 0, + 0, LAYOUT_XML); + } + + @Override + protected int getSidePadding(float sw) { + if (sw >= 600) { + return PADDING_WIDTH_SW600; + } + return super.getSidePadding(sw); + } +} |