| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/android/preferences/pref_service_bridge.h" | 5 #include "chrome/browser/android/preferences/pref_service_bridge.h" |
| 6 | 6 |
| 7 #include <jni.h> | 7 #include <jni.h> |
| 8 | 8 |
| 9 #include "base/android/build_info.h" | 9 #include "base/android/build_info.h" |
| 10 #include "base/android/jni_android.h" | 10 #include "base/android/jni_android.h" |
| (...skipping 553 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 564 } | 564 } |
| 565 | 565 |
| 566 static jboolean CanPredictNetworkActions(JNIEnv* env, jobject obj) { | 566 static jboolean CanPredictNetworkActions(JNIEnv* env, jobject obj) { |
| 567 return chrome_browser_net::CanPrefetchAndPrerenderUI(GetPrefService()); | 567 return chrome_browser_net::CanPrefetchAndPrerenderUI(GetPrefService()); |
| 568 } | 568 } |
| 569 | 569 |
| 570 static void SetDoNotTrackEnabled(JNIEnv* env, jobject obj, jboolean allow) { | 570 static void SetDoNotTrackEnabled(JNIEnv* env, jobject obj, jboolean allow) { |
| 571 GetPrefService()->SetBoolean(prefs::kEnableDoNotTrack, allow); | 571 GetPrefService()->SetBoolean(prefs::kEnableDoNotTrack, allow); |
| 572 } | 572 } |
| 573 | 573 |
| 574 static jstring GetSyncLastAccountName(JNIEnv* env, jobject obj) { | 574 static ScopedJavaLocalRef<jstring> GetSyncLastAccountName(JNIEnv* env, |
| 575 jobject obj) { |
| 575 return ConvertUTF8ToJavaString( | 576 return ConvertUTF8ToJavaString( |
| 576 env, GetPrefService()->GetString(prefs::kGoogleServicesLastUsername)) | 577 env, GetPrefService()->GetString(prefs::kGoogleServicesLastUsername)); |
| 577 .Release(); | |
| 578 } | 578 } |
| 579 | 579 |
| 580 static void SetTranslateEnabled(JNIEnv* env, jobject obj, jboolean enabled) { | 580 static void SetTranslateEnabled(JNIEnv* env, jobject obj, jboolean enabled) { |
| 581 GetPrefService()->SetBoolean(prefs::kEnableTranslate, enabled); | 581 GetPrefService()->SetBoolean(prefs::kEnableTranslate, enabled); |
| 582 } | 582 } |
| 583 | 583 |
| 584 static void SetAutoDetectEncodingEnabled(JNIEnv* env, jobject obj, | 584 static void SetAutoDetectEncodingEnabled(JNIEnv* env, jobject obj, |
| 585 jboolean enabled) { | 585 jboolean enabled) { |
| 586 content::RecordAction(base::UserMetricsAction("AutoDetectChange")); | 586 content::RecordAction(base::UserMetricsAction("AutoDetectChange")); |
| 587 GetPrefService()->SetBoolean(prefs::kWebKitUsesUniversalDetector, enabled); | 587 GetPrefService()->SetBoolean(prefs::kWebKitUsesUniversalDetector, enabled); |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 695 CONTENT_SETTINGS_TYPE_POPUPS, | 695 CONTENT_SETTINGS_TYPE_POPUPS, |
| 696 "", | 696 "", |
| 697 static_cast<ContentSetting>(setting)); | 697 static_cast<ContentSetting>(setting)); |
| 698 } | 698 } |
| 699 | 699 |
| 700 static void SetSearchSuggestEnabled(JNIEnv* env, jobject obj, | 700 static void SetSearchSuggestEnabled(JNIEnv* env, jobject obj, |
| 701 jboolean enabled) { | 701 jboolean enabled) { |
| 702 GetPrefService()->SetBoolean(prefs::kSearchSuggestEnabled, enabled); | 702 GetPrefService()->SetBoolean(prefs::kSearchSuggestEnabled, enabled); |
| 703 } | 703 } |
| 704 | 704 |
| 705 static jstring GetContextualSearchPreference(JNIEnv* env, jobject obj) { | 705 static ScopedJavaLocalRef<jstring> GetContextualSearchPreference(JNIEnv* env, |
| 706 jobject obj) { |
| 706 return ConvertUTF8ToJavaString( | 707 return ConvertUTF8ToJavaString( |
| 707 env, GetPrefService()->GetString(prefs::kContextualSearchEnabled)). | 708 env, GetPrefService()->GetString(prefs::kContextualSearchEnabled)); |
| 708 Release(); | |
| 709 } | 709 } |
| 710 | 710 |
| 711 static jboolean GetContextualSearchPreferenceIsManaged(JNIEnv* env, | 711 static jboolean GetContextualSearchPreferenceIsManaged(JNIEnv* env, |
| 712 jobject obj) { | 712 jobject obj) { |
| 713 return GetPrefService()->IsManagedPreference(prefs::kContextualSearchEnabled); | 713 return GetPrefService()->IsManagedPreference(prefs::kContextualSearchEnabled); |
| 714 } | 714 } |
| 715 | 715 |
| 716 static void SetContextualSearchPreference(JNIEnv* env, jobject obj, | 716 static void SetContextualSearchPreference(JNIEnv* env, jobject obj, |
| 717 jstring pref) { | 717 jstring pref) { |
| 718 GetPrefService()->SetString(prefs::kContextualSearchEnabled, | 718 GetPrefService()->SetString(prefs::kContextualSearchEnabled, |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 764 std::string accept_languages(l10n_util::GetStringUTF8(IDS_ACCEPT_LANGUAGES)); | 764 std::string accept_languages(l10n_util::GetStringUTF8(IDS_ACCEPT_LANGUAGES)); |
| 765 std::string locale_string(ConvertJavaStringToUTF8(env, default_locale)); | 765 std::string locale_string(ConvertJavaStringToUTF8(env, default_locale)); |
| 766 | 766 |
| 767 PrefServiceBridge::PrependToAcceptLanguagesIfNecessary(locale_string, | 767 PrefServiceBridge::PrependToAcceptLanguagesIfNecessary(locale_string, |
| 768 &accept_languages); | 768 &accept_languages); |
| 769 GetPrefService()->SetString(prefs::kAcceptLanguages, accept_languages); | 769 GetPrefService()->SetString(prefs::kAcceptLanguages, accept_languages); |
| 770 } | 770 } |
| 771 | 771 |
| 772 // Sends all information about the different versions to Java. | 772 // Sends all information about the different versions to Java. |
| 773 // From browser_about_handler.cc | 773 // From browser_about_handler.cc |
| 774 static jobject GetAboutVersionStrings(JNIEnv* env, jobject obj) { | 774 static ScopedJavaLocalRef<jobject> GetAboutVersionStrings(JNIEnv* env, |
| 775 jobject obj) { |
| 775 std::string os_version = version_info::GetOSType(); | 776 std::string os_version = version_info::GetOSType(); |
| 776 os_version += " " + AndroidAboutAppInfo::GetOsInfo(); | 777 os_version += " " + AndroidAboutAppInfo::GetOsInfo(); |
| 777 | 778 |
| 778 base::android::BuildInfo* android_build_info = | 779 base::android::BuildInfo* android_build_info = |
| 779 base::android::BuildInfo::GetInstance(); | 780 base::android::BuildInfo::GetInstance(); |
| 780 std::string application(android_build_info->package_label()); | 781 std::string application(android_build_info->package_label()); |
| 781 application.append(" "); | 782 application.append(" "); |
| 782 application.append(version_info::GetVersionNumber()); | 783 application.append(version_info::GetVersionNumber()); |
| 783 | 784 |
| 784 // OK to release, returning to Java. | |
| 785 return Java_PrefServiceBridge_createAboutVersionStrings( | 785 return Java_PrefServiceBridge_createAboutVersionStrings( |
| 786 env, | 786 env, ConvertUTF8ToJavaString(env, application).obj(), |
| 787 ConvertUTF8ToJavaString(env, application).obj(), | 787 ConvertUTF8ToJavaString(env, os_version).obj()); |
| 788 ConvertUTF8ToJavaString(env, os_version).obj()).Release(); | |
| 789 } | 788 } |
| 790 | 789 |
| 791 static jstring GetSupervisedUserCustodianName(JNIEnv* env, jobject obj) { | 790 static ScopedJavaLocalRef<jstring> GetSupervisedUserCustodianName(JNIEnv* env, |
| 791 jobject obj) { |
| 792 return ConvertUTF8ToJavaString( | 792 return ConvertUTF8ToJavaString( |
| 793 env, GetPrefService()->GetString(prefs::kSupervisedUserCustodianName)) | 793 env, GetPrefService()->GetString(prefs::kSupervisedUserCustodianName)); |
| 794 .Release(); | |
| 795 } | 794 } |
| 796 | 795 |
| 797 static jstring GetSupervisedUserCustodianEmail(JNIEnv* env, jobject obj) { | 796 static ScopedJavaLocalRef<jstring> GetSupervisedUserCustodianEmail( |
| 797 JNIEnv* env, |
| 798 jobject obj) { |
| 798 return ConvertUTF8ToJavaString( | 799 return ConvertUTF8ToJavaString( |
| 799 env, GetPrefService()->GetString(prefs::kSupervisedUserCustodianEmail)) | 800 env, GetPrefService()->GetString(prefs::kSupervisedUserCustodianEmail)); |
| 800 .Release(); | |
| 801 } | 801 } |
| 802 | 802 |
| 803 static jstring GetSupervisedUserCustodianProfileImageURL(JNIEnv* env, | 803 static ScopedJavaLocalRef<jstring> GetSupervisedUserCustodianProfileImageURL( |
| 804 jobject obj) { | 804 JNIEnv* env, |
| 805 jobject obj) { |
| 806 return ConvertUTF8ToJavaString( |
| 807 env, GetPrefService()->GetString( |
| 808 prefs::kSupervisedUserCustodianProfileImageURL)); |
| 809 } |
| 810 |
| 811 static ScopedJavaLocalRef<jstring> GetSupervisedUserSecondCustodianName( |
| 812 JNIEnv* env, |
| 813 jobject obj) { |
| 805 return ConvertUTF8ToJavaString( | 814 return ConvertUTF8ToJavaString( |
| 806 env, | 815 env, |
| 807 GetPrefService()->GetString( | 816 GetPrefService()->GetString(prefs::kSupervisedUserSecondCustodianName)); |
| 808 prefs::kSupervisedUserCustodianProfileImageURL)).Release(); | |
| 809 } | 817 } |
| 810 | 818 |
| 811 static jstring GetSupervisedUserSecondCustodianName(JNIEnv* env, jobject obj) { | 819 static ScopedJavaLocalRef<jstring> GetSupervisedUserSecondCustodianEmail( |
| 820 JNIEnv* env, |
| 821 jobject obj) { |
| 812 return ConvertUTF8ToJavaString( | 822 return ConvertUTF8ToJavaString( |
| 813 env, | 823 env, |
| 814 GetPrefService()->GetString(prefs::kSupervisedUserSecondCustodianName)) | 824 GetPrefService()->GetString(prefs::kSupervisedUserSecondCustodianEmail)); |
| 815 .Release(); | |
| 816 } | 825 } |
| 817 | 826 |
| 818 static jstring GetSupervisedUserSecondCustodianEmail(JNIEnv* env, jobject obj) { | 827 static ScopedJavaLocalRef<jstring> |
| 828 GetSupervisedUserSecondCustodianProfileImageURL(JNIEnv* env, jobject obj) { |
| 819 return ConvertUTF8ToJavaString( | 829 return ConvertUTF8ToJavaString( |
| 820 env, | 830 env, GetPrefService()->GetString( |
| 821 GetPrefService()->GetString(prefs::kSupervisedUserSecondCustodianEmail)) | 831 prefs::kSupervisedUserSecondCustodianProfileImageURL)); |
| 822 .Release(); | |
| 823 } | |
| 824 | |
| 825 static jstring GetSupervisedUserSecondCustodianProfileImageURL(JNIEnv* env, | |
| 826 jobject obj) { | |
| 827 return ConvertUTF8ToJavaString( | |
| 828 env, | |
| 829 GetPrefService()->GetString( | |
| 830 prefs::kSupervisedUserSecondCustodianProfileImageURL)).Release(); | |
| 831 } | 832 } |
| 832 | 833 |
| 833 // static | 834 // static |
| 834 bool PrefServiceBridge::RegisterPrefServiceBridge(JNIEnv* env) { | 835 bool PrefServiceBridge::RegisterPrefServiceBridge(JNIEnv* env) { |
| 835 return RegisterNativesImpl(env); | 836 return RegisterNativesImpl(env); |
| 836 } | 837 } |
| 837 | 838 |
| 838 // static | 839 // static |
| 839 void PrefServiceBridge::PrependToAcceptLanguagesIfNecessary( | 840 void PrefServiceBridge::PrependToAcceptLanguagesIfNecessary( |
| 840 const std::string& locale, | 841 const std::string& locale, |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 876 ContentSettingsType content_type) { | 877 ContentSettingsType content_type) { |
| 877 JNIEnv* env = AttachCurrentThread(); | 878 JNIEnv* env = AttachCurrentThread(); |
| 878 base::android::ScopedJavaLocalRef<jstring> android_permission = | 879 base::android::ScopedJavaLocalRef<jstring> android_permission = |
| 879 Java_PrefServiceBridge_getAndroidPermissionForContentSetting( | 880 Java_PrefServiceBridge_getAndroidPermissionForContentSetting( |
| 880 env, content_type); | 881 env, content_type); |
| 881 if (android_permission.is_null()) | 882 if (android_permission.is_null()) |
| 882 return std::string(); | 883 return std::string(); |
| 883 | 884 |
| 884 return ConvertJavaStringToUTF8(android_permission); | 885 return ConvertJavaStringToUTF8(android_permission); |
| 885 } | 886 } |
| OLD | NEW |