<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
    
    <ListPreference 
            android:key="@string/pref_key_camera_driver"
    		android:title="@string/pref_title_camera_driver"
    		android:summary="@string/pref_summary_camera_driver"
   			android:entries="@array/pref_camera_driver_keys"
   			android:entryValues="@array/pref_camera_driver_values"
   			android:defaultValue="@string/pref_default_camera_driver"/>
        
    <PreferenceCategory
        android:title="@string/pref_title_rendering">
        <ListPreference 
            android:key="@string/pref_key_density"
    		android:title="@string/pref_title_density"
    		android:summary="@string/pref_summary_density"
   			android:entries="@array/pref_density_keys"
   			android:entryValues="@array/pref_density_values"
   			android:defaultValue="@string/pref_default_density"/>
        <ListPreference 
            android:key="@string/pref_key_depth"
    		android:title="@string/pref_title_depth"
    		android:summary="@string/pref_summary_depth"
   			android:entries="@array/pref_depth_keys"
   			android:entryValues="@array/pref_depth_values"
   			android:defaultValue="@string/pref_default_depth"/>
        <ListPreference 
            android:key="@string/pref_key_min_depth"
    		android:title="@string/pref_title_min_depth"
    		android:summary="@string/pref_summary_min_depth"
   			android:entries="@array/pref_min_depth_keys"
   			android:entryValues="@array/pref_min_depth_values"
   			android:defaultValue="@string/pref_default_min_depth"/>
        <ListPreference
            android:key="@string/pref_key_point_size"
    		android:title="@string/pref_title_point_size"
    		android:summary="@string/pref_summary_point_size"
   			android:entries="@array/pref_point_size_values"
   			android:entryValues="@array/pref_point_size_values"
   			android:defaultValue="@string/pref_default_point_size"/>
        <ListPreference 
            android:key="@string/pref_key_angle"
    		android:title="@string/pref_title_angle"
    		android:summary="@string/pref_summary_angle"
   			android:entries="@array/pref_angle_keys"
   			android:entryValues="@array/pref_angle_values"
   			android:defaultValue="@string/pref_default_angle"/>
        <ListPreference 
            android:key="@string/pref_key_triangle"
    		android:title="@string/pref_title_triangle"
    		android:summary="@string/pref_summary_triangle"
   			android:entries="@array/pref_triangle_keys"
   			android:entryValues="@array/pref_triangle_values"
   			android:defaultValue="@string/pref_default_triangle"/>
        <ListPreference 
            android:key="@string/pref_key_rendering_texture_decimation"
    		android:title="@string/pref_title_rendering_texture_decimation"
    		android:summary="@string/pref_summary_rendering_texture_decimation"
   			android:entries="@array/pref_rendering_texture_decimation_keys"
   			android:entryValues="@array/pref_rendering_texture_decimation_values"
   			android:defaultValue="@string/pref_default_rendering_texture_decimation"/>
        <ListPreference 
            android:key="@string/pref_key_background_color"
    		android:title="@string/pref_title_background_color"
    		android:summary="@string/pref_summary_background_color"
   			android:entries="@array/pref_background_color_keys"
   			android:entryValues="@array/pref_background_color_values"
   			android:defaultValue="@string/pref_default_background_color"/>
        <com.introlab.rtabmap.CustomSwitchPreference
            android:key="@string/pref_key_blending"
            android:title="@string/pref_title_blending"
            android:summary="@string/pref_summary_blending"
            android:defaultValue="@string/pref_default_blending"/>
        <com.introlab.rtabmap.CustomSwitchPreference
            android:key="@string/pref_key_nodes_filtering"
            android:title="@string/pref_title_nodes_filtering"
            android:summary="@string/pref_summary_nodes_filtering"
            android:defaultValue="@string/pref_default_nodes_filtering"/>
    </PreferenceCategory>
 	 	
    <PreferenceCategory
        android:title="@string/pref_title_general">
        
        <PreferenceScreen
            android:key="pref_button_mapping"
            android:title="@string/pref_title_mapping_sub"
            android:summary="@string/pref_summary_mapping"
            android:persistent="false">
                    
		    <com.introlab.rtabmap.CustomSwitchPreference
	            android:key="@string/pref_key_append"
	            android:title="@string/pref_title_append"
	            android:summary="@string/pref_summary_append"
	            android:defaultValue="@string/pref_default_append"/>
		    <com.introlab.rtabmap.CustomSwitchPreference
	            android:key="@string/pref_key_resolution"
	            android:title="@string/pref_title_resolution"
	            android:summary="@string/pref_summary_resolution"
	            android:defaultValue="@string/pref_default_resolution"/>
		    <com.introlab.rtabmap.CustomSwitchPreference
                android:key="@string/pref_key_depth_from_motion"
                android:title="@string/pref_title_depth_from_motion"
                android:summary="@string/pref_summary_depth_from_motion"
                android:defaultValue="@string/pref_default_depth_from_motion"/>
             <ListPreference
		        android:key="@string/pref_key_arcore_relocalization_acc_thr"
		        android:title="@string/pref_title_arcore_relocalization_acc_thr"
		        android:summary="@string/pref_summary_arcore_relocalization_acc_thr"
		        android:entries="@array/pref_arcore_relocalization_acc_thr_keys"
		   	    android:entryValues="@array/pref_arcore_relocalization_acc_thr_values"
		   		android:defaultValue="@string/pref_default_arcore_relocalization_acc_thr"/>
		    <com.introlab.rtabmap.CustomSwitchPreference
		        android:key="@string/pref_key_smoothing"
		        android:title="@string/pref_title_smoothing"
		        android:summary="@string/pref_summary_smoothing"
		        android:defaultValue="@string/pref_default_smoothing"/>
			<ListPreference
		        android:key="@string/pref_key_depth_bleeding_error"
		        android:title="@string/pref_title_depth_bleeding_error"
		        android:summary="@string/pref_summary_depth_bleeding_error"
		        android:entries="@array/pref_depth_bleeding_error_keys"
		   	    android:entryValues="@array/pref_depth_bleeding_error_values"
		   		android:defaultValue="@string/pref_default_depth_bleeding_error"/>
		    <com.introlab.rtabmap.CustomSwitchPreference
		        android:key="@string/pref_key_fisheye"
		        android:title="@string/pref_title_fisheye"
		        android:summary="@string/pref_summary_fisheye"
		        android:defaultValue="@string/pref_default_fisheye"/>
	  
		     <PreferenceCategory
	        	android:title="@string/pref_title_mapping_core">
		        <ListPreference
		            android:key="@string/pref_key_update_rate"
		            android:title="@string/pref_title_update_rate"
		            android:summary="@string/pref_summary_update_rate"
		            android:entries="@array/pref_update_rate_keys"
		   			android:entryValues="@array/pref_update_rate_values"
		   			android:defaultValue="@string/pref_default_update_rate"/>
		        <ListPreference
		            android:key="@string/pref_key_max_speed"
		            android:title="@string/pref_title_max_speed"
		            android:summary="@string/pref_summary_max_speed"
		            android:entries="@array/pref_max_speed_keys"
		   			android:entryValues="@array/pref_max_speed_values"
		   			android:defaultValue="@string/pref_default_max_speed"/>
		        <ListPreference 
		            android:key="@string/pref_key_time_thr"
		    		android:title="@string/pref_title_time_thr"
		    		android:summary="@string/pref_summary_time_thr"
		   			android:entries="@array/pref_time_thr_keys"
		   			android:entryValues="@array/pref_time_thr_values"
		   			android:defaultValue="@string/pref_default_time_thr"/>
		        <ListPreference 
		            android:key="@string/pref_key_mem_thr"
		    		android:title="@string/pref_title_mem_thr"
		    		android:summary="@string/pref_summary_mem_thr"
		   			android:entries="@array/pref_mem_thr_keys"
		   			android:entryValues="@array/pref_mem_thr_values"
		   			android:defaultValue="@string/pref_default_mem_thr"/>
		        <ListPreference 
		            android:key="@string/pref_key_loop_thr"
		    		android:title="@string/pref_title_loop_thr"
		    		android:summary="@string/pref_summary_loop_thr"
		   			android:entries="@array/pref_loop_thr_keys"
		   			android:entryValues="@array/pref_loop_thr_values"
		   			android:defaultValue="@string/pref_default_loop_thr"/>
		        <ListPreference 
		            android:key="@string/pref_key_sim_thr"
		    		android:title="@string/pref_title_sim_thr"
		    		android:summary="@string/pref_summary_sim_thr"
		   			android:entries="@array/pref_sim_thr_keys"
		   			android:entryValues="@array/pref_sim_thr_values"
		   			android:defaultValue="@string/pref_default_sim_thr"/>
		        <ListPreference 
		            android:key="@string/pref_key_min_inliers"
		    		android:title="@string/pref_title_min_inliers"
		    		android:summary="@string/pref_summary_min_inliers"
		   			android:entries="@array/pref_min_inliers_keys"
		   			android:entryValues="@array/pref_min_inliers_values"
		   			android:defaultValue="@string/pref_default_min_inliers"/>
		        <ListPreference 
		            android:key="@string/pref_key_opt_error"
		    		android:title="@string/pref_title_opt_error"
		    		android:summary="@string/pref_summary_opt_error"
		   			android:entries="@array/pref_opt_error_keys"
		   			android:entryValues="@array/pref_opt_error_values"
		   			android:defaultValue="@string/pref_default_opt_error"/>
		        <ListPreference 
		            android:key="@string/pref_key_features_voc"
		    		android:title="@string/pref_title_features_voc"
		    		android:summary="@string/pref_summary_features_voc"
		   			android:entries="@array/pref_features_voc_keys"
		   			android:entryValues="@array/pref_features_voc_values"
		   			android:defaultValue="@string/pref_default_features_voc"/>
		        <ListPreference 
		            android:key="@string/pref_key_features"
		    		android:title="@string/pref_title_features"
		    		android:summary="@string/pref_summary_features"
		   			android:entries="@array/pref_features_keys"
		   			android:entryValues="@array/pref_features_values"
		   			android:defaultValue="@string/pref_default_features"/>
		        <ListPreference 
		            android:key="@string/pref_key_features_type"
		    		android:title="@string/pref_title_features_type"
		    		android:summary="@string/pref_summary_features_type"
		   			android:entries="@array/pref_features_type_keys"
		   			android:entryValues="@array/pref_features_type_values"
		   			android:defaultValue="@string/pref_default_features_type"/>
		        <ListPreference 
		            android:key="@string/pref_key_optimizer"
		    		android:title="@string/pref_title_optimizer"
		    		android:summary="@string/pref_summary_optimizer"
		   			android:entries="@array/pref_optimizer_keys"
		   			android:entryValues="@array/pref_optimizer_values"
		   			android:defaultValue="@string/pref_default_optimizer"/>
		        <com.introlab.rtabmap.CustomSwitchPreference 
		            android:key="@string/pref_key_optimize_end"
		    		android:title="@string/pref_title_optimize_end"
		    		android:summary="@string/pref_summary_optimize_end"
		   			android:defaultValue="@string/pref_default_optimize_end"/>
		   		<ListPreference 
		            android:key="@string/pref_key_marker_detection"
		    		android:title="@string/pref_title_marker_detection"
		    		android:summary="@string/pref_summary_marker_detection"
		   			android:entries="@array/pref_marker_detection_keys"
		   			android:entryValues="@array/pref_marker_detection_values"
		   			android:defaultValue="@string/pref_default_marker_detection"/>
		   		<ListPreference 
		            android:key="@string/pref_key_marker_detection_depth_error"
		    		android:title="@string/pref_title_marker_detection_depth_error"
		    		android:summary="@string/pref_summary_marker_detection_depth_error"
		   			android:entries="@array/pref_marker_detection_depth_error_keys"
		   			android:entryValues="@array/pref_marker_detection_depth_error_values"
		   			android:defaultValue="@string/pref_default_marker_detection_depth_error"/>
		    </PreferenceCategory>
	        <PreferenceCategory
	        	android:title="@string/pref_title_mapping_database">
		        <com.introlab.rtabmap.CustomSwitchPreference
		            android:key="@string/pref_key_keep_all_db"
		            android:title="@string/pref_title_keep_all_db"
		            android:summary="@string/pref_summary_keep_all_db"
		            android:defaultValue="@string/pref_default_keep_all_db"/>
		        <com.introlab.rtabmap.CustomSwitchPreference
		            android:key="@string/pref_key_raw_scan_saved"
		            android:title="@string/pref_title_raw_scan_saved"
		            android:summary="@string/pref_summary_raw_scan_saved"
		            android:defaultValue="@string/pref_default_raw_scan_saved"/>
		        <com.introlab.rtabmap.CustomSwitchPreference
		            android:key="@string/pref_key_gps_saved"
		            android:title="@string/pref_title_gps_saved"
		            android:summary="@string/pref_summary_gps_saved"
		            android:defaultValue="@string/pref_default_gps_saved"/>
		        <com.introlab.rtabmap.CustomSwitchPreference
		            android:key="@string/pref_key_env_sensors_saved"
		            android:title="@string/pref_title_env_sensors_saved"
		            android:summary="@string/pref_summary_env_sensors_saved"
		            android:defaultValue="@string/pref_default_env_sensors_saved"/>
		        <com.introlab.rtabmap.CustomSwitchPreference
		            android:key="@string/pref_key_db_in_memory"
		            android:title="@string/pref_title_db_in_memory"
		            android:summary="@string/pref_summary_db_in_memory"
		            android:defaultValue="@string/pref_default_db_in_memory"/>
		    </PreferenceCategory>
	    </PreferenceScreen>
    
	    <PreferenceScreen
	            android:key="pref_button_export"
	            android:title="@string/pref_title_export_sub"
	            android:summary="@string/pref_summary_export"
	            android:persistent="false">
	        
	        <ListPreference 
	            android:key="@string/pref_key_cloud_voxel"
	    		android:title="@string/pref_title_cloud_voxel"
	    		android:summary="@string/pref_summary_cloud_voxel"
	   			android:entries="@array/pref_cloud_voxel_keys"
	   			android:entryValues="@array/pref_cloud_voxel_values"
	   			android:defaultValue="@string/pref_default_cloud_voxel"/>
	        
	        <ListPreference 
	            android:key="@string/pref_key_texture_size"
	    		android:title="@string/pref_title_texture_size"
	    		android:summary="@string/pref_summary_texture_size"
	   			android:entries="@array/pref_texture_size_keys"
	   			android:entryValues="@array/pref_texture_size_values"
	   			android:defaultValue="@string/pref_default_texture_size"/>
	        
	        <ListPreference 
	            android:key="@string/pref_key_texture_count"
	    		android:title="@string/pref_title_texture_count"
	    		android:summary="@string/pref_summary_texture_count"
	   			android:entries="@array/pref_texture_count_keys"
	   			android:entryValues="@array/pref_texture_count_values"
	   			android:defaultValue="@string/pref_default_texture_count"/>
	        
	        <ListPreference 
	            android:key="@string/pref_key_normal_k"
	    		android:title="@string/pref_title_normal_k"
	    		android:summary="@string/pref_summary_normal_k"
	   			android:entries="@array/pref_normal_k_values"
	   			android:entryValues="@array/pref_normal_k_values"
	   			android:defaultValue="@string/pref_default_normal_k"/>
	        
	        <ListPreference 
	            android:key="@string/pref_key_max_texture_distance"
	    		android:title="@string/pref_title_max_texture_distance"
	    		android:summary="@string/pref_summary_max_texture_distance"
	   			android:entries="@array/pref_max_texture_distance_keys"
	   			android:entryValues="@array/pref_max_texture_distance_values"
	   			android:defaultValue="@string/pref_default_max_texture_distance"/>
	        
	        <ListPreference 
	            android:key="@string/pref_key_min_texture_cluster_size"
	    		android:title="@string/pref_title_min_texture_cluster_size"
	    		android:summary="@string/pref_summary_min_texture_cluster_size"
	   			android:entries="@array/pref_min_texture_cluster_size_keys"
	   			android:entryValues="@array/pref_min_texture_cluster_size_values"
	   			android:defaultValue="@string/pref_default_min_texture_cluster_size"/>
	        
		    <com.introlab.rtabmap.CustomSwitchPreference
	            android:key="@string/pref_key_block_render"
	            android:title="@string/pref_title_block_render"
	            android:summary="@string/pref_summary_block_render"
	            android:defaultValue="@string/pref_default_block_render"/>
		    
		    <PreferenceCategory
	        android:title="@string/pref_title_optimized">
	        
	        
		        <ListPreference 
		            android:key="@string/pref_key_opt_depth"
		    		android:title="@string/pref_title_opt_depth"
		    		android:summary="@string/pref_summary_opt_depth"
		   			android:entries="@array/pref_opt_depth_keys"
		   			android:entryValues="@array/pref_opt_depth_values"
		   			android:defaultValue="@string/pref_default_opt_depth"/>
		        

		        <ListPreference 
		            android:key="@string/pref_key_opt_color_radius"
		    		android:title="@string/pref_title_opt_color_radius"
		    		android:summary="@string/pref_summary_opt_color_radius"
		   			android:entries="@array/pref_opt_color_radius_keys"
		   			android:entryValues="@array/pref_opt_color_radius_values"
		   			android:defaultValue="@string/pref_default_opt_color_radius"/>
		        
		        <com.introlab.rtabmap.CustomSwitchPreference
		            android:key="@string/pref_key_opt_clean_white"
		            android:title="@string/pref_title_opt_clean_white"
		            android:summary="@string/pref_summary_opt_clean_white"
		            android:defaultValue="@string/pref_default_opt_clean_white"/>
		        
		        <ListPreference 
		            android:key="@string/pref_key_opt_min_cluster_size"
		    		android:title="@string/pref_title_opt_min_cluster_size"
		    		android:summary="@string/pref_summary_opt_min_cluster_size"
		   			android:entries="@array/pref_opt_min_cluster_size_keys"
		   			android:entryValues="@array/pref_opt_min_cluster_size_values"
		   			android:defaultValue="@string/pref_default_opt_min_cluster_size"/>
		        
		       </PreferenceCategory>
	 	</PreferenceScreen>
	 	<ListPreference 
            android:key="@string/pref_key_gain_max_radius"
    		android:title="@string/pref_title_gain_max_radius"
    		android:summary="@string/pref_summary_gain_max_radius"
   			android:entries="@array/pref_gain_max_radius_keys"
   			android:entryValues="@array/pref_gain_max_radius_values"
   			android:defaultValue="@string/pref_default_gain_max_radius"/>
        <ListPreference 
            android:key="@string/pref_key_cluster_ratio"
    		android:title="@string/pref_title_cluster_ratio"
    		android:summary="@string/pref_summary_cluster_ratio"
   			android:entries="@array/pref_cluster_ratio_keys"
   			android:entryValues="@array/pref_cluster_ratio_values"
   			android:defaultValue="@string/pref_default_cluster_ratio"/>
        <com.introlab.rtabmap.CustomSwitchPreference 
            android:key="@string/pref_key_notification_sound"
    		android:title="@string/pref_title_notification_sound"
    		android:summary="@string/pref_summary_notification_sound"
   			android:defaultValue="@string/pref_default_notification_sound"/>
    </PreferenceCategory>
	<PreferenceCategory
        android:title="@string/pref_title_presets">
        <Preference android:title="@string/pref_title_open_button"
	                android:key="@string/pref_key_open_button"/>
        <Preference android:title="@string/pref_title_save_button"
	                android:key="@string/pref_key_save_button"/>
        <Preference android:title="@string/pref_title_remove_button"
	                android:key="@string/pref_key_remove_button"/>
	    <Preference android:title="@string/pref_title_reset_button"
	                android:key="@string/pref_key_reset_button"/>
    </PreferenceCategory>
</PreferenceScreen>
