diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/preferences/AdtPrefs.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/preferences/AdtPrefs.java | 647 |
1 files changed, 0 insertions, 647 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/preferences/AdtPrefs.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/preferences/AdtPrefs.java deleted file mode 100644 index aed4bd4be..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/preferences/AdtPrefs.java +++ /dev/null @@ -1,647 +0,0 @@ -/* - * Copyright (C) 2009 The Android Open Source Project - * - * Licensed under the Eclipse Public License, Version 1.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.eclipse.org/org/documents/epl-v10.php - * - * 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.ide.eclipse.adt.internal.preferences; - - -import com.android.annotations.NonNull; -import com.android.ide.common.xml.XmlAttributeSortOrder; -import com.android.ide.eclipse.adt.AdtPlugin; -import com.android.ide.eclipse.adt.internal.editors.AndroidXmlEditor; -import com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderPreviewMode; -import com.android.prefs.AndroidLocation.AndroidLocationException; -import com.android.sdklib.internal.build.DebugKeyProvider; -import com.android.sdklib.internal.build.DebugKeyProvider.KeytoolException; -import com.android.sdkstats.DdmsPreferenceStore; - -import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.util.PropertyChangeEvent; - -import java.io.File; -import java.util.Locale; - -public final class AdtPrefs extends AbstractPreferenceInitializer { - public final static String PREFS_SDK_DIR = AdtPlugin.PLUGIN_ID + ".sdk"; //$NON-NLS-1$ - - public final static String PREFS_BUILD_RES_AUTO_REFRESH = AdtPlugin.PLUGIN_ID + ".resAutoRefresh"; //$NON-NLS-1$ - - public final static String PREFS_BUILD_FORCE_ERROR_ON_NATIVELIB_IN_JAR = AdtPlugin.PLUGIN_ID + ".forceErrorNativeLibInJar"; //$NON-NLS-1$ - - public final static String PREFS_BUILD_SKIP_POST_COMPILE_ON_FILE_SAVE = AdtPlugin.PLUGIN_ID + ".skipPostCompileOnFileSave"; //$NON-NLS-1$ - - public final static String PREFS_BUILD_VERBOSITY = AdtPlugin.PLUGIN_ID + ".buildVerbosity"; //$NON-NLS-1$ - - public final static String PREFS_DEFAULT_DEBUG_KEYSTORE = AdtPlugin.PLUGIN_ID + ".defaultDebugKeyStore"; //$NON-NLS-1$ - - public final static String PREFS_CUSTOM_DEBUG_KEYSTORE = AdtPlugin.PLUGIN_ID + ".customDebugKeyStore"; //$NON-NLS-1$ - - public final static String PREFS_HOME_PACKAGE = AdtPlugin.PLUGIN_ID + ".homePackage"; //$NON-NLS-1$ - - public final static String PREFS_EMU_OPTIONS = AdtPlugin.PLUGIN_ID + ".emuOptions"; //$NON-NLS-1$ - - public final static String PREFS_MONITOR_DENSITY = AdtPlugin.PLUGIN_ID + ".monitorDensity"; //$NON-NLS-1$ - - public final static String PREFS_FORMAT_GUI_XML = AdtPlugin.PLUGIN_ID + ".formatXml"; //$NON-NLS-1$ - public final static String PREFS_PREFER_XML = AdtPlugin.PLUGIN_ID + ".xmlEditor"; //$NON-NLS-1$ - public final static String PREFS_USE_CUSTOM_XML_FORMATTER = AdtPlugin.PLUGIN_ID + ".androidForm"; //$NON-NLS-1$ - - public final static String PREFS_PALETTE_MODE = AdtPlugin.PLUGIN_ID + ".palette"; //$NON-NLS-1$ - - public final static String PREFS_USE_ECLIPSE_INDENT = AdtPlugin.PLUGIN_ID + ".eclipseIndent"; //$NON-NLS-1$ - public final static String PREVS_REMOVE_EMPTY_LINES = AdtPlugin.PLUGIN_ID + ".removeEmpty"; //$NON-NLS-1$ - public final static String PREFS_ONE_ATTR_PER_LINE = AdtPlugin.PLUGIN_ID + ".oneAttrPerLine"; //$NON-NLS-1$ - public final static String PREFS_SPACE_BEFORE_CLOSE = AdtPlugin.PLUGIN_ID + ".spaceBeforeClose"; //$NON-NLS-1$ - public final static String PREFS_FORMAT_ON_SAVE = AdtPlugin.PLUGIN_ID + ".formatOnSave"; //$NON-NLS-1$ - public final static String PREFS_LINT_ON_SAVE = AdtPlugin.PLUGIN_ID + ".lintOnSave"; //$NON-NLS-1$ - public final static String PREFS_LINT_ON_EXPORT = AdtPlugin.PLUGIN_ID + ".lintOnExport"; //$NON-NLS-1$ - public final static String PREFS_ATTRIBUTE_SORT = AdtPlugin.PLUGIN_ID + ".attrSort"; //$NON-NLS-1$ - public final static String PREFS_LINT_SEVERITIES = AdtPlugin.PLUGIN_ID + ".lintSeverities"; //$NON-NLS-1$ - public final static String PREFS_FIX_LEGACY_EDITORS = AdtPlugin.PLUGIN_ID + ".fixLegacyEditors"; //$NON-NLS-1$ - public final static String PREFS_SHARED_LAYOUT_EDITOR = AdtPlugin.PLUGIN_ID + ".sharedLayoutEditor"; //$NON-NLS-1$ - public final static String PREFS_PREVIEWS = AdtPlugin.PLUGIN_ID + ".previews"; //$NON-NLS-1$ - public final static String PREFS_SKIP_LINT_LIBS = AdtPlugin.PLUGIN_ID + ".skipLintLibs"; //$NON-NLS-1$ - public final static String PREFS_AUTO_PICK_TARGET = AdtPlugin.PLUGIN_ID + ".autoPickTarget"; //$NON-NLS-1$ - public final static String PREFS_REFACTOR_IDS = AdtPlugin.PLUGIN_ID + ".refactorIds"; //$NON-NLS-1$ - - /** singleton instance */ - private final static AdtPrefs sThis = new AdtPrefs(); - - /** default store, provided by eclipse */ - private IPreferenceStore mStore; - - /** cached location for the sdk folder */ - private String mOsSdkLocation; - - /** Verbosity of the build */ - private BuildVerbosity mBuildVerbosity = BuildVerbosity.NORMAL; - - private boolean mBuildForceResResfresh = false; - private boolean mBuildForceErrorOnNativeLibInJar = true; - private boolean mBuildSkipPostCompileOnFileSave = true; - private float mMonitorDensity = 0.f; - private String mPalette; - - private boolean mFormatGuiXml; - private boolean mCustomXmlFormatter; - private boolean mUseEclipseIndent; - private boolean mRemoveEmptyLines; - private boolean mOneAttributeOnFirstLine; - private boolean mSpaceBeforeClose; - private boolean mFormatOnSave; - private boolean mLintOnSave; - private boolean mLintOnExport; - private XmlAttributeSortOrder mAttributeSort; - private boolean mSharedLayoutEditor; - private boolean mAutoPickTarget; - private RenderPreviewMode mPreviewMode = RenderPreviewMode.NONE; - private int mPreferXmlEditor; - private boolean mSkipLibrariesFromLint; - - public static enum BuildVerbosity { - /** Build verbosity "Always". Those messages are always displayed, even in silent mode */ - ALWAYS(0), - /** Build verbosity level "Normal" */ - NORMAL(1), - /** Build verbosity level "Verbose". Those messages are only displayed in verbose mode */ - VERBOSE(2); - - private int mLevel; - - BuildVerbosity(int level) { - mLevel = level; - } - - public int getLevel() { - return mLevel; - } - - /** - * Finds and returns a {@link BuildVerbosity} whose {@link #name()} matches a given name. - * <p/>This is different from {@link Enum#valueOf(Class, String)} in that it returns null - * if no matches are found. - * - * @param name the name to look up. - * @return returns the matching enum or null of no match where found. - */ - public static BuildVerbosity find(String name) { - for (BuildVerbosity v : values()) { - if (v.name().equals(name)) { - return v; - } - } - - return null; - } - } - - public static void init(IPreferenceStore preferenceStore) { - sThis.mStore = preferenceStore; - } - - public static AdtPrefs getPrefs() { - return sThis; - } - - public synchronized void loadValues(PropertyChangeEvent event) { - // get the name of the property that changed, if any - String property = event != null ? event.getProperty() : null; - - if (property == null || PREFS_SDK_DIR.equals(property)) { - mOsSdkLocation = mStore.getString(PREFS_SDK_DIR); - - // Make it possible to override the SDK path using an environment variable. - // The value will only be used if it matches an existing directory. - // Useful for testing from Eclipse. - // Note: this is a hack that does not change the preferences, so if the user - // looks at Window > Preferences > Android, the path will be the preferences - // one and not the overridden one. - String override = System.getenv("ADT_TEST_SDK_PATH"); //$NON-NLS-1$ - if (override != null && override.length() > 0 && new File(override).isDirectory()) { - mOsSdkLocation = override; - } - - // make sure it ends with a separator. Normally this is done when the preference - // is set. But to make sure older version still work, we fix it here as well. - if (mOsSdkLocation.length() > 0 && mOsSdkLocation.endsWith(File.separator) == false) { - mOsSdkLocation = mOsSdkLocation + File.separator; - } - } - - if (property == null || PREFS_BUILD_VERBOSITY.equals(property)) { - mBuildVerbosity = BuildVerbosity.find(mStore.getString(PREFS_BUILD_VERBOSITY)); - if (mBuildVerbosity == null) { - mBuildVerbosity = BuildVerbosity.NORMAL; - } - } - - if (property == null || PREFS_BUILD_RES_AUTO_REFRESH.equals(property)) { - mBuildForceResResfresh = mStore.getBoolean(PREFS_BUILD_RES_AUTO_REFRESH); - } - - if (property == null || PREFS_BUILD_FORCE_ERROR_ON_NATIVELIB_IN_JAR.equals(property)) { - mBuildForceErrorOnNativeLibInJar = - mStore.getBoolean(PREFS_BUILD_FORCE_ERROR_ON_NATIVELIB_IN_JAR); - } - - if (property == null || PREFS_BUILD_SKIP_POST_COMPILE_ON_FILE_SAVE.equals(property)) { - mBuildSkipPostCompileOnFileSave = - mStore.getBoolean(PREFS_BUILD_SKIP_POST_COMPILE_ON_FILE_SAVE); - } - - if (property == null || PREFS_MONITOR_DENSITY.equals(property)) { - mMonitorDensity = mStore.getFloat(PREFS_MONITOR_DENSITY); - } - - if (property == null || PREFS_FORMAT_GUI_XML.equals(property)) { - mFormatGuiXml = mStore.getBoolean(PREFS_FORMAT_GUI_XML); - } - - if (property == null || PREFS_PREFER_XML.equals(property)) { - mPreferXmlEditor = mStore.getInt(PREFS_PREFER_XML); - } - - if (property == null || PREFS_USE_CUSTOM_XML_FORMATTER.equals(property)) { - mCustomXmlFormatter = mStore.getBoolean(PREFS_USE_CUSTOM_XML_FORMATTER); - } - - if (property == null || PREFS_PALETTE_MODE.equals(property)) { - mPalette = mStore.getString(PREFS_PALETTE_MODE); - } - - if (property == null || PREFS_USE_ECLIPSE_INDENT.equals(property)) { - mUseEclipseIndent = mStore.getBoolean(PREFS_USE_ECLIPSE_INDENT); - } - - if (property == null || PREVS_REMOVE_EMPTY_LINES.equals(property)) { - mRemoveEmptyLines = mStore.getBoolean(PREVS_REMOVE_EMPTY_LINES); - } - - if (property == null || PREFS_ONE_ATTR_PER_LINE.equals(property)) { - mOneAttributeOnFirstLine = mStore.getBoolean(PREFS_ONE_ATTR_PER_LINE); - } - - if (property == null || PREFS_ATTRIBUTE_SORT.equals(property)) { - String order = mStore.getString(PREFS_ATTRIBUTE_SORT); - mAttributeSort = XmlAttributeSortOrder.LOGICAL; - if (XmlAttributeSortOrder.ALPHABETICAL.key.equals(order)) { - mAttributeSort = XmlAttributeSortOrder.ALPHABETICAL; - } else if (XmlAttributeSortOrder.NO_SORTING.key.equals(order)) { - mAttributeSort = XmlAttributeSortOrder.NO_SORTING; - } - } - - if (property == null || PREFS_SPACE_BEFORE_CLOSE.equals(property)) { - mSpaceBeforeClose = mStore.getBoolean(PREFS_SPACE_BEFORE_CLOSE); - } - - if (property == null || PREFS_FORMAT_ON_SAVE.equals(property)) { - mFormatOnSave = mStore.getBoolean(PREFS_FORMAT_ON_SAVE); - } - - if (property == null || PREFS_LINT_ON_SAVE.equals(property)) { - mLintOnSave = mStore.getBoolean(PREFS_LINT_ON_SAVE); - } - - if (property == null || PREFS_LINT_ON_EXPORT.equals(property)) { - mLintOnExport = mStore.getBoolean(PREFS_LINT_ON_EXPORT); - } - - if (property == null || PREFS_SHARED_LAYOUT_EDITOR.equals(property)) { - mSharedLayoutEditor = mStore.getBoolean(PREFS_SHARED_LAYOUT_EDITOR); - } - - if (property == null || PREFS_AUTO_PICK_TARGET.equals(property)) { - mAutoPickTarget = mStore.getBoolean(PREFS_AUTO_PICK_TARGET); - } - - if (property == null || PREFS_PREVIEWS.equals(property)) { - mPreviewMode = RenderPreviewMode.NONE; - String previewMode = mStore.getString(PREFS_PREVIEWS); - if (previewMode != null && !previewMode.isEmpty()) { - try { - mPreviewMode = RenderPreviewMode.valueOf(previewMode.toUpperCase(Locale.US)); - } catch (IllegalArgumentException iae) { - // Ignore: Leave it as RenderPreviewMode.NONE - } - } - } - - if (property == null || PREFS_SKIP_LINT_LIBS.equals(property)) { - mSkipLibrariesFromLint = mStore.getBoolean(PREFS_SKIP_LINT_LIBS); - } - } - - /** - * Returns the SDK folder. - * Guaranteed to be terminated by a platform-specific path separator. - */ - public synchronized String getOsSdkFolder() { - return mOsSdkLocation; - } - - public synchronized BuildVerbosity getBuildVerbosity() { - return mBuildVerbosity; - } - - public boolean getBuildForceResResfresh() { - return mBuildForceResResfresh; - } - - /** - * Should changes made by GUI editors automatically format the corresponding XML nodes - * affected by the edit? - * - * @return true if the GUI editors should format affected XML regions - */ - public boolean getFormatGuiXml() { - // The format-GUI-editors flag only applies when the custom formatter is used, - // since the built-in formatter has problems editing partial documents - return mFormatGuiXml && mCustomXmlFormatter; - } - - /** - * Should the XML formatter use a custom Android XML formatter (following - * Android code style) or use the builtin Eclipse XML formatter? - * - * @return true if the Android formatter should be used instead of the - * default Eclipse one - */ - public boolean getUseCustomXmlFormatter() { - return mCustomXmlFormatter; - } - - /** - * Should the Android XML formatter use the Eclipse XML indentation settings - * (usually one tab character) instead of the default 4 space character - * indent? - * - * @return true if the Eclipse XML indentation settings should be use - */ - public boolean isUseEclipseIndent() { - return mUseEclipseIndent; - } - - /** - * Should the Android XML formatter try to avoid inserting blank lines to - * make the format as compact as possible (no blank lines between elements, - * no blank lines surrounding comments, etc). - * - * @return true to remove blank lines - */ - public boolean isRemoveEmptyLines() { - return mRemoveEmptyLines; - } - - /** - * Should the Android XML formatter attempt to place a single attribute on - * the same line as the element open tag? - * - * @return true if single-attribute elements should place the attribute on - * the same line as the element open tag - */ - public boolean isOneAttributeOnFirstLine() { - return mOneAttributeOnFirstLine; - } - - /** - * Returns the sort order to be applied to the attributes (one of which can - * be {@link com.android.ide.common.xml.XmlAttributeSortOrder#NO_SORTING}). - * - * @return the sort order to apply to the attributes - */ - public XmlAttributeSortOrder getAttributeSort() { - if (mAttributeSort == null) { - return XmlAttributeSortOrder.LOGICAL; - } - return mAttributeSort; - } - - /** - * Returns whether a space should be inserted before the closing {@code >} - * character in open tags and before the closing {@code />} characters in - * empty tag. Note that the {@link com.android.ide.common.xml.XmlFormatStyle#RESOURCE} style overrides - * this setting to make it more compact for the {@code <item>} elements. - * - * @return true if an empty space should be inserted before {@code >} or - * {@code />}. - */ - public boolean isSpaceBeforeClose() { - return mSpaceBeforeClose; - } - - /** - * Returns whether the file should be automatically formatted on save. - * - * @return true if the XML files should be formatted on save. - */ - public boolean isFormatOnSave() { - return mFormatOnSave; - } - - public boolean isLintOnSave() { - return mLintOnSave; - } - - public void setLintOnSave(boolean on) { - mLintOnSave = on; - IPreferenceStore store = AdtPlugin.getDefault().getPreferenceStore(); - store.setValue(PREFS_LINT_ON_SAVE, on); - } - - public boolean isLintOnExport() { - return mLintOnExport; - } - - public void setLintOnExport(boolean on) { - mLintOnExport = on; - IPreferenceStore store = AdtPlugin.getDefault().getPreferenceStore(); - store.setValue(PREFS_LINT_ON_EXPORT, on); - } - - /** - * Returns whether the layout editor is sharing a single editor for all variations - * of a single resource. The default is false. - * - * @return true if the editor should be shared - */ - public boolean isSharedLayoutEditor() { - return mSharedLayoutEditor; - } - - /** - * Sets whether the layout editor should share a single editor for all variations - * of a single resource - * - * @param on if true, use a single editor - */ - public void setSharedLayoutEditor(boolean on) { - mSharedLayoutEditor = on; - IPreferenceStore store = AdtPlugin.getDefault().getPreferenceStore(); - store.setValue(PREFS_SHARED_LAYOUT_EDITOR, on); - - // TODO: If enabling a shared editor, go and close all editors that are aliasing - // the same resource except for one of them. - } - - - public boolean getBuildForceErrorOnNativeLibInJar() { - return mBuildForceErrorOnNativeLibInJar; - } - - public boolean getBuildSkipPostCompileOnFileSave() { - return mBuildSkipPostCompileOnFileSave; - } - - public String getPaletteModes() { - return mPalette; - } - - public void setPaletteModes(String palette) { - mPalette = palette; - - // need to save this new value to the store - IPreferenceStore store = AdtPlugin.getDefault().getPreferenceStore(); - store.setValue(PREFS_PALETTE_MODE, palette); - } - - public float getMonitorDensity() { - return mMonitorDensity; - } - - public void setMonitorDensity(float density) { - mMonitorDensity = density; - - // need to save this new value to the store - IPreferenceStore store = AdtPlugin.getDefault().getPreferenceStore(); - store.setValue(PREFS_MONITOR_DENSITY, density); - } - - /** - * Sets the new location of the SDK - * - * @param location the location of the SDK - */ - public void setSdkLocation(File location) { - mOsSdkLocation = location != null ? location.getPath() : null; - - // TODO: Also store this location in the .android settings directory - // such that we can support using multiple workspaces without asking - // over and over. - if (mOsSdkLocation != null && mOsSdkLocation.length() > 0) { - DdmsPreferenceStore ddmsStore = new DdmsPreferenceStore(); - ddmsStore.setLastSdkPath(mOsSdkLocation); - } - - // need to save this new value to the store - IPreferenceStore store = AdtPlugin.getDefault().getPreferenceStore(); - store.setValue(PREFS_SDK_DIR, mOsSdkLocation); - } - - @Override - public void initializeDefaultPreferences() { - IPreferenceStore store = AdtPlugin.getDefault().getPreferenceStore(); - initializeStoreWithDefaults(store); - } - - public void initializeStoreWithDefaults(IPreferenceStore store) { - store.setDefault(PREFS_BUILD_RES_AUTO_REFRESH, true); - store.setDefault(PREFS_BUILD_FORCE_ERROR_ON_NATIVELIB_IN_JAR, true); - store.setDefault(PREFS_BUILD_SKIP_POST_COMPILE_ON_FILE_SAVE, true); - - store.setDefault(PREFS_BUILD_VERBOSITY, BuildVerbosity.ALWAYS.name()); - - store.setDefault(PREFS_HOME_PACKAGE, "android.process.acore"); //$NON-NLS-1$ - - store.setDefault(PREFS_MONITOR_DENSITY, 0.f); - - store.setDefault(PREFS_FORMAT_GUI_XML, true); - store.setDefault(PREFS_USE_CUSTOM_XML_FORMATTER, true); - store.setDefault(PREFS_ONE_ATTR_PER_LINE, true); - store.setDefault(PREFS_SPACE_BEFORE_CLOSE, true); - store.setDefault(PREFS_LINT_ON_SAVE, true); - store.setDefault(PREFS_LINT_ON_EXPORT, true); - store.setDefault(PREFS_AUTO_PICK_TARGET, true); - - // Defaults already handled; no need to write into map: - //store.setDefault(PREFS_ATTRIBUTE_SORT, XmlAttributeSortOrder.LOGICAL.key); - //store.setDefault(PREFS_USE_ECLIPSE_INDENT, false); - //store.setDefault(PREVS_REMOVE_EMPTY_LINES, false); - //store.setDefault(PREFS_FORMAT_ON_SAVE, false); - //store.setDefault(PREFS_SHARED_LAYOUT_EDITOR, false); - //store.setDefault(PREFS_SKIP_LINT_LIBS, false); - - try { - store.setDefault(PREFS_DEFAULT_DEBUG_KEYSTORE, - DebugKeyProvider.getDefaultKeyStoreOsPath()); - } catch (KeytoolException e) { - AdtPlugin.log(e, "Get default debug keystore path failed"); //$NON-NLS-1$ - } catch (AndroidLocationException e) { - AdtPlugin.log(e, "Get default debug keystore path failed"); //$NON-NLS-1$ - } - } - - /** - * Returns whether the most recent page switch was to XML - * - * @param editorType the editor to check a preference for; corresponds to - * one of the persistence class ids returned by - * {@link AndroidXmlEditor#getPersistenceCategory} - * @return whether the most recent page switch in the given editor was to - * XML - */ - public boolean isXmlEditorPreferred(int editorType) { - return (mPreferXmlEditor & editorType) != 0; - } - - /** - * Set whether the most recent page switch for a given editor type was to - * XML - * - * @param editorType the editor to check a preference for; corresponds to - * one of the persistence class ids returned by - * {@link AndroidXmlEditor#getPersistenceCategory} - * @param xml whether the last manual page switch in the given editor type - * was to XML - */ - public void setXmlEditorPreferred(int editorType, boolean xml) { - if (xml != isXmlEditorPreferred(editorType)) { - if (xml) { - mPreferXmlEditor |= editorType; - } else { - mPreferXmlEditor &= ~editorType; - } - assert ((mPreferXmlEditor & editorType) != 0) == xml; - IPreferenceStore store = AdtPlugin.getDefault().getPreferenceStore(); - store.setValue(PREFS_PREFER_XML, xml); - } - } - - /** - * Gets the {@link RenderPreviewMode} - * - * @return the preview mode - */ - @NonNull - public RenderPreviewMode getRenderPreviewMode() { - return mPreviewMode; - } - - /** - * Sets the {@link RenderPreviewMode} - * - * @param previewMode the preview mode - */ - public void setPreviewMode(@NonNull RenderPreviewMode previewMode) { - mPreviewMode = previewMode; - IPreferenceStore store = AdtPlugin.getDefault().getPreferenceStore(); - if (previewMode != RenderPreviewMode.NONE) { - store.setValue(PREFS_PREVIEWS, previewMode.name().toLowerCase(Locale.US)); - } else { - store.setToDefault(PREFS_PREVIEWS); - } - } - - /** - * Sets whether auto-pick render target mode is enabled. - * - * @return whether the layout editor should automatically pick the best render target - */ - public boolean isAutoPickRenderTarget() { - return mAutoPickTarget; - } - - /** - * Sets whether auto-pick render target mode is enabled. - * - * @param autoPick if true, auto pick the best render target in the layout editor - */ - public void setAutoPickRenderTarget(boolean autoPick) { - mAutoPickTarget = autoPick; - IPreferenceStore store = AdtPlugin.getDefault().getPreferenceStore(); - if (autoPick) { - store.setToDefault(PREFS_AUTO_PICK_TARGET); - } else { - store.setValue(PREFS_AUTO_PICK_TARGET, autoPick); - } - } - - /** - * Sets whether libraries should be excluded when running lint on a project - * - * @param exclude if true, exclude library projects - */ - public void setSkipLibrariesFromLint(boolean exclude) { - if (exclude != mSkipLibrariesFromLint) { - mSkipLibrariesFromLint = exclude; - IPreferenceStore store = AdtPlugin.getDefault().getPreferenceStore(); - if (exclude) { - store.setValue(PREFS_SKIP_LINT_LIBS, true); - } else { - store.setToDefault(PREFS_SKIP_LINT_LIBS); - } - } - } - - /** - * Returns whether libraries should be excluded when running lint on a project - * - * @return if true, exclude library projects - */ - public boolean getSkipLibrariesFromLint() { - return mSkipLibrariesFromLint; - } -} |