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 |