author | Brian Nicholson <bnicholson@mozilla.com> |
Wed, 25 Jan 2012 14:44:59 -0800 | |
changeset 85364 | 50a68eb941f9bb8fd882a3b7894ef1427b2facda |
parent 85363 | 051a19214251af08890cfabc6f3197eb625e9162 |
child 85365 | 8113ce367f8f24eaed2c2bf03e2cd77b3c158f35 |
push id | 5300 |
push user | bnicholson@mozilla.com |
push date | Wed, 25 Jan 2012 22:46:46 +0000 |
treeherder | mozilla-inbound@50a68eb941f9 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | dougt |
bugs | 716906 |
milestone | 12.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/mobile/android/base/Makefile.in +++ b/mobile/android/base/Makefile.in @@ -60,16 +60,17 @@ SYNC_PP_RES_XML=res/xml/sync_syncadapter FENNEC_JAVA_FILES = \ AboutHomeContent.java \ AlertNotification.java \ AutoCompletePopup.java \ AwesomeBar.java \ AwesomeBarTabs.java \ BrowserToolbar.java \ ConfirmPreference.java \ + SyncPreference.java \ db/AndroidBrowserDB.java \ db/BrowserDB.java \ db/LocalBrowserDB.java \ DoorHanger.java \ DoorHangerPopup.java \ Favicons.java \ FloatUtils.java \ GeckoActionBar.java \
new file mode 100644 --- /dev/null +++ b/mobile/android/base/SyncPreference.java @@ -0,0 +1,73 @@ +/* -*- Mode: Java; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: nil; -*- + * ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (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.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Android code. + * + * The Initial Developer of the Original Code is Mozilla Foundation. + * Portions created by the Initial Developer are Copyright (C) 2009-2012 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Brian Nicholson <bnicholson@mozilla.com> + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +package org.mozilla.gecko; + +import android.accounts.Account; +import android.accounts.AccountManager; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.preference.Preference; +import android.util.AttributeSet; +import android.util.Log; + +import org.mozilla.gecko.sync.setup.activities.SetupSyncActivity; + +class SyncPreference extends Preference { + private static final String FENNEC_ACCOUNT_TYPE = "org.mozilla.firefox_sync"; + private static final String SYNC_SETTINGS = "android.settings.SYNC_SETTINGS"; + + private Context mContext; + + public SyncPreference(Context context, AttributeSet attrs) { + super(context, attrs); + mContext = context; + } + + @Override + protected void onClick() { + // show sync setup if no accounts exist; otherwise, show account settings + Account[] accounts = AccountManager.get(mContext).getAccountsByType(FENNEC_ACCOUNT_TYPE); + Intent intent; + if (accounts.length > 0) + intent = new Intent(SYNC_SETTINGS); + else + intent = new Intent(mContext, SetupSyncActivity.class); + mContext.startActivity(intent); + } +}
--- a/mobile/android/base/locales/en-US/android_strings.dtd +++ b/mobile/android/base/locales/en-US/android_strings.dtd @@ -64,16 +64,17 @@ <!ENTITY pref_plugins_disabled "Disabled"> <!ENTITY pref_text_size "Text size"> <!ENTITY pref_font_size_tiny "Tiny"> <!ENTITY pref_font_size_small "Small"> <!ENTITY pref_font_size_medium "Medium"> <!ENTITY pref_font_size_large "Large"> <!ENTITY pref_font_size_xlarge "Extra Large"> <!ENTITY pref_use_master_password "Use master password"> +<!ENTITY pref_sync "Sync"> <!ENTITY quit "Quit"> <!ENTITY addons "Add-ons"> <!ENTITY downloads "Downloads"> <!ENTITY char_encoding "Character Encoding"> <!ENTITY share "Share">
--- a/mobile/android/base/resources/xml/preferences.xml +++ b/mobile/android/base/resources/xml/preferences.xml @@ -2,19 +2,18 @@ <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:enabled="false"> <PreferenceCategory android:title="@string/pref_category_general"> <org.mozilla.gecko.LinkPreference android:title="@string/pref_about_firefox" url="about:" /> - <!-- TODO: Default Search Engine --> - - <!-- TODO: Sync --> + <org.mozilla.gecko.SyncPreference android:title="@string/pref_sync" + android:persistent="false" /> </PreferenceCategory> <PreferenceCategory android:title="@string/pref_category_content"> <ListPreference android:key="browser.menu.showCharacterEncoding" android:title="@string/pref_char_encoding" android:entries="@array/pref_char_encoding_entries"
--- a/mobile/android/base/strings.xml.in +++ b/mobile/android/base/strings.xml.in @@ -69,16 +69,17 @@ <string name="pref_plugins_tap_to_play">&pref_plugins_tap_to_play;</string> <string name="pref_plugins_disabled">&pref_plugins_disabled;</string> <string name="pref_text_size">&pref_text_size;</string> <string name="pref_font_size_tiny">&pref_font_size_tiny;</string> <string name="pref_font_size_small">&pref_font_size_small;</string> <string name="pref_font_size_medium">&pref_font_size_medium;</string> <string name="pref_font_size_large">&pref_font_size_large;</string> <string name="pref_font_size_xlarge">&pref_font_size_xlarge;</string> + <string name="pref_sync">&pref_sync;</string> <string name="reload">&reload;</string> <string name="forward">&forward;</string> <string name="new_tab">&new_tab;</string> <string name="addons">&addons;</string> <string name="downloads">&downloads;</string> <string name="char_encoding">&char_encoding;</string>