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 ScopedJavaLocalRef<jstring> GetSyncLastAccountName(JNIEnv* env, | 574 static jstring GetSyncLastAccountName(JNIEnv* env, jobject obj) { |
575 jobject obj) { | |
576 return ConvertUTF8ToJavaString( | 575 return ConvertUTF8ToJavaString( |
577 env, GetPrefService()->GetString(prefs::kGoogleServicesLastUsername)); | 576 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 ScopedJavaLocalRef<jstring> GetContextualSearchPreference(JNIEnv* env, | 705 static jstring GetContextualSearchPreference(JNIEnv* env, jobject obj) { |
706 jobject obj) { | |
707 return ConvertUTF8ToJavaString( | 706 return ConvertUTF8ToJavaString( |
708 env, GetPrefService()->GetString(prefs::kContextualSearchEnabled)); | 707 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 ScopedJavaLocalRef<jobject> GetAboutVersionStrings(JNIEnv* env, | 774 static jobject GetAboutVersionStrings(JNIEnv* env, jobject obj) { |
775 jobject obj) { | |
776 std::string os_version = version_info::GetOSType(); | 775 std::string os_version = version_info::GetOSType(); |
777 os_version += " " + AndroidAboutAppInfo::GetOsInfo(); | 776 os_version += " " + AndroidAboutAppInfo::GetOsInfo(); |
778 | 777 |
779 base::android::BuildInfo* android_build_info = | 778 base::android::BuildInfo* android_build_info = |
780 base::android::BuildInfo::GetInstance(); | 779 base::android::BuildInfo::GetInstance(); |
781 std::string application(android_build_info->package_label()); | 780 std::string application(android_build_info->package_label()); |
782 application.append(" "); | 781 application.append(" "); |
783 application.append(version_info::GetVersionNumber()); | 782 application.append(version_info::GetVersionNumber()); |
784 | 783 |
| 784 // OK to release, returning to Java. |
785 return Java_PrefServiceBridge_createAboutVersionStrings( | 785 return Java_PrefServiceBridge_createAboutVersionStrings( |
786 env, ConvertUTF8ToJavaString(env, application).obj(), | 786 env, |
787 ConvertUTF8ToJavaString(env, os_version).obj()); | 787 ConvertUTF8ToJavaString(env, application).obj(), |
| 788 ConvertUTF8ToJavaString(env, os_version).obj()).Release(); |
788 } | 789 } |
789 | 790 |
790 static ScopedJavaLocalRef<jstring> GetSupervisedUserCustodianName(JNIEnv* env, | 791 static jstring GetSupervisedUserCustodianName(JNIEnv* env, jobject obj) { |
791 jobject obj) { | |
792 return ConvertUTF8ToJavaString( | 792 return ConvertUTF8ToJavaString( |
793 env, GetPrefService()->GetString(prefs::kSupervisedUserCustodianName)); | 793 env, GetPrefService()->GetString(prefs::kSupervisedUserCustodianName)) |
| 794 .Release(); |
794 } | 795 } |
795 | 796 |
796 static ScopedJavaLocalRef<jstring> GetSupervisedUserCustodianEmail( | 797 static jstring GetSupervisedUserCustodianEmail(JNIEnv* env, jobject obj) { |
797 JNIEnv* env, | |
798 jobject obj) { | |
799 return ConvertUTF8ToJavaString( | 798 return ConvertUTF8ToJavaString( |
800 env, GetPrefService()->GetString(prefs::kSupervisedUserCustodianEmail)); | 799 env, GetPrefService()->GetString(prefs::kSupervisedUserCustodianEmail)) |
| 800 .Release(); |
801 } | 801 } |
802 | 802 |
803 static ScopedJavaLocalRef<jstring> GetSupervisedUserCustodianProfileImageURL( | 803 static jstring GetSupervisedUserCustodianProfileImageURL(JNIEnv* env, |
804 JNIEnv* env, | 804 jobject obj) { |
805 jobject obj) { | |
806 return ConvertUTF8ToJavaString( | 805 return ConvertUTF8ToJavaString( |
807 env, GetPrefService()->GetString( | 806 env, |
808 prefs::kSupervisedUserCustodianProfileImageURL)); | 807 GetPrefService()->GetString( |
| 808 prefs::kSupervisedUserCustodianProfileImageURL)).Release(); |
809 } | 809 } |
810 | 810 |
811 static ScopedJavaLocalRef<jstring> GetSupervisedUserSecondCustodianName( | 811 static jstring GetSupervisedUserSecondCustodianName(JNIEnv* env, jobject obj) { |
812 JNIEnv* env, | |
813 jobject obj) { | |
814 return ConvertUTF8ToJavaString( | 812 return ConvertUTF8ToJavaString( |
815 env, | 813 env, |
816 GetPrefService()->GetString(prefs::kSupervisedUserSecondCustodianName)); | 814 GetPrefService()->GetString(prefs::kSupervisedUserSecondCustodianName)) |
| 815 .Release(); |
817 } | 816 } |
818 | 817 |
819 static ScopedJavaLocalRef<jstring> GetSupervisedUserSecondCustodianEmail( | 818 static jstring GetSupervisedUserSecondCustodianEmail(JNIEnv* env, jobject obj) { |
820 JNIEnv* env, | |
821 jobject obj) { | |
822 return ConvertUTF8ToJavaString( | 819 return ConvertUTF8ToJavaString( |
823 env, | 820 env, |
824 GetPrefService()->GetString(prefs::kSupervisedUserSecondCustodianEmail)); | 821 GetPrefService()->GetString(prefs::kSupervisedUserSecondCustodianEmail)) |
| 822 .Release(); |
825 } | 823 } |
826 | 824 |
827 static ScopedJavaLocalRef<jstring> | 825 static jstring GetSupervisedUserSecondCustodianProfileImageURL(JNIEnv* env, |
828 GetSupervisedUserSecondCustodianProfileImageURL(JNIEnv* env, jobject obj) { | 826 jobject obj) { |
829 return ConvertUTF8ToJavaString( | 827 return ConvertUTF8ToJavaString( |
830 env, GetPrefService()->GetString( | 828 env, |
831 prefs::kSupervisedUserSecondCustodianProfileImageURL)); | 829 GetPrefService()->GetString( |
| 830 prefs::kSupervisedUserSecondCustodianProfileImageURL)).Release(); |
832 } | 831 } |
833 | 832 |
834 // static | 833 // static |
835 bool PrefServiceBridge::RegisterPrefServiceBridge(JNIEnv* env) { | 834 bool PrefServiceBridge::RegisterPrefServiceBridge(JNIEnv* env) { |
836 return RegisterNativesImpl(env); | 835 return RegisterNativesImpl(env); |
837 } | 836 } |
838 | 837 |
839 // static | 838 // static |
840 void PrefServiceBridge::PrependToAcceptLanguagesIfNecessary( | 839 void PrefServiceBridge::PrependToAcceptLanguagesIfNecessary( |
841 const std::string& locale, | 840 const std::string& locale, |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
877 ContentSettingsType content_type) { | 876 ContentSettingsType content_type) { |
878 JNIEnv* env = AttachCurrentThread(); | 877 JNIEnv* env = AttachCurrentThread(); |
879 base::android::ScopedJavaLocalRef<jstring> android_permission = | 878 base::android::ScopedJavaLocalRef<jstring> android_permission = |
880 Java_PrefServiceBridge_getAndroidPermissionForContentSetting( | 879 Java_PrefServiceBridge_getAndroidPermissionForContentSetting( |
881 env, content_type); | 880 env, content_type); |
882 if (android_permission.is_null()) | 881 if (android_permission.is_null()) |
883 return std::string(); | 882 return std::string(); |
884 | 883 |
885 return ConvertJavaStringToUTF8(android_permission); | 884 return ConvertJavaStringToUTF8(android_permission); |
886 } | 885 } |
OLD | NEW |