This commit is contained in:
serso 2012-10-09 18:03:16 +04:00
parent 21640c051a
commit 5d6ea3d58e
7 changed files with 608 additions and 584 deletions

View File

@ -1,225 +1,229 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- <!--
~ Copyright (c) 2009-2011. Created by serso aka se.solovyev. ~ Copyright (c) 2009-2011. Created by serso aka se.solovyev.
~ For more information, please, contact se.solovyev@gmail.com ~ For more information, please, contact se.solovyev@gmail.com
~ or visit http://se.solovyev.org ~ or visit http://se.solovyev.org
--> -->
<resources> <resources>
<string name="c_app_name">Calculator++</string> <string name="c_app_name">Calculator++</string>
<string name="c_app_name_free">Calculator++ Free</string> <string name="c_app_name_free">Calculator++ Free</string>
<string name="c_app_icon_name">Calc++</string> <string name="c_app_icon_name">Calc++</string>
<string name="c_app_settings">Settings</string> <string name="c_app_settings">Settings</string>
<string name="c_syntax_error">Error</string> <string name="c_syntax_error">Error</string>
<string name="c_result_copied">Result copied to clipboard!</string> <string name="c_result_copied">Result copied to clipboard!</string>
<string name="c_settings">Settings</string> <string name="c_settings">Settings</string>
<string name="c_help">Help</string> <string name="c_help">Help</string>
<string name="c_vars_and_constants">Variables And Constants</string> <string name="c_vars_and_constants">Variables And Constants</string>
<!--PREFERENCE ACTIVITY--> <!--PREFERENCE ACTIVITY-->
<string name="c_prefs_main_category">Main settings</string> <string name="c_prefs_main_category">Main settings</string>
<string name="c_prefs_calculations_category">Calculation settings</string> <string name="c_prefs_calculations_category">Calculation settings</string>
<string name="c_prefs_appearance_category">Appearance settings</string> <string name="c_prefs_appearance_category">Appearance settings</string>
<string name="c_prefs_other_category">Other settings</string> <string name="c_prefs_other_category">Other settings</string>
<string name="c_prefs_drag_button_category">Drag buttons settings</string> <string name="c_prefs_drag_button_category">Drag buttons settings</string>
<string name="c_down">Down</string> <string name="c_down">Down</string>
<string name="c_up">Up</string> <string name="c_up">Up</string>
<string name="c_restart">Restart</string> <string name="c_restart">Restart</string>
<string name="c_undo">undo</string> <string name="c_undo">undo</string>
<string name="c_redo">redo</string> <string name="c_redo">redo</string>
<string name="c_clear">C</string> <string name="c_clear">C</string>
<string name="c_erase">clear</string> <string name="c_erase">clear</string>
<string name="c_paste">paste</string> <string name="c_paste">paste</string>
<string name="c_vars">vars</string> <string name="c_vars">vars</string>
<string name="c_copy">Copy</string> <string name="c_copy">Copy</string>
<string name="c_plot">Plot graph</string> <string name="c_plot">Plot graph</string>
<string name="c_graph">Graph</string> <string name="c_graph">Graph</string>
<string name="c_calc_color_display_title">Highlight expressions</string> <string name="c_calc_color_display_title">Highlight expressions</string>
<string name="c_calc_round_result_title">Round result</string> <string name="c_calc_round_result_title">Round result</string>
<string name="c_calc_round_result_summary">Toggles rounding of the result</string> <string name="c_calc_round_result_summary">Toggles rounding of the result</string>
<string name="c_calc_science_notation_title">Always scientific notation</string> <string name="c_calc_science_notation_title">Always scientific notation</string>
<string name="c_calc_science_notation_summary">If turned on forces to use only scientific notation of output (12.34E-12)</string> <string name="c_calc_science_notation_summary">If turned on forces to use only scientific notation of output (12.34E-12)</string>
<string name="p_calc_result_precision_title">Precision of result</string> <string name="p_calc_result_precision_title">Precision of result</string>
<string name="p_calc_max_calculation_time_title">Maximum calculation time</string> <string name="p_calc_max_calculation_time_title">Maximum calculation time</string>
<string name="p_calc_max_calculation_time_summary">If calculations exceed specified limit - calculator halts with error</string> <string name="p_calc_max_calculation_time_summary">If calculations exceed specified limit - calculator halts with error</string>
<string name="c_exit">Exit</string> <string name="c_exit">Exit</string>
<string name="c_add">Add</string> <string name="c_add">Add</string>
<string name="c_cancel">Cancel</string> <string name="c_cancel">Cancel</string>
<string name="c_save">Save</string> <string name="c_save">Save</string>
<string name="c_remove">Remove</string> <string name="c_remove">Remove</string>
<string name="c_yes">Yes</string> <string name="c_yes">Yes</string>
<string name="c_no">No</string> <string name="c_no">No</string>
<string name="c_var_removal_confirmation">Removal confirmation</string> <string name="c_var_removal_confirmation">Removal confirmation</string>
<string name="c_var_removal_confirmation_question">Do you really want to delete \'%s\' variable?</string> <string name="c_var_removal_confirmation_question">Do you really want to delete \'%s\' variable?</string>
<string name="c_var_name">Name</string> <string name="c_var_name">Name</string>
<string name="c_var_value">Value</string> <string name="c_var_value">Value</string>
<string name="c_var_description">Description</string> <string name="c_var_description">Description</string>
<string name="c_var_create_var">Create variable</string> <string name="c_var_create_var">Create variable</string>
<string name="c_var_edit_var">Edit variable</string> <string name="c_var_edit_var">Edit variable</string>
<string name="c_value.is.not.a.number">Value must be either number or empty!</string> <string name="c_value.is.not.a.number">Value must be either number or empty!</string>
<string name="c_var.name.clashes">Variable name clashes with function name!</string> <string name="c_var.name.clashes">Variable name clashes with function name!</string>
<string name="c_var.already.exists">Variable with same name already exists!</string> <string name="c_var.already.exists">Variable with same name already exists!</string>
<string name="c_name.is.not.valid">Name of constant is not valid: name must start with letter, can contain letters, digits and underscore.</string> <string name="c_name.is.not.valid">Name of constant is not valid: name must start with letter, can contain letters, digits and underscore.</string>
<string name="c_sys.var.cannot.be.changed">System variable cannot be changed!</string> <string name="c_sys.var.cannot.be.changed">System variable cannot be changed!</string>
<string name="c_calc_editor_hint">Enter new expression</string> <string name="c_calc_editor_hint">Enter new expression</string>
<string name="c_press_to_copy">Press to copy</string> <string name="c_press_to_copy">Press to copy</string>
<string name="c_continue">Continue</string> <string name="c_continue">Continue</string>
<string name="c_history">History</string> <string name="c_history">History</string>
<string name="c_history_button">M</string> <string name="c_history_button">M</string>
<string name="c_history_is_empty">History is empty!</string> <string name="c_history_is_empty">History is empty!</string>
<string name="c_app_history">History</string> <string name="c_app_history">History</string>
<string name="c_char_is_not_accepted">Character \'%s\' is not accepted in variable name!</string> <string name="c_char_is_not_accepted">Character \'%s\' is not accepted in variable name!</string>
<string name="c_calc_angle_units">Angle Units</string> <string name="c_calc_angle_units">Angle Units</string>
<string name="p_deg">Degrees</string> <string name="p_deg">Degrees</string>
<string name="p_rad">Radians</string> <string name="p_rad">Radians</string>
<string name="p_grad">Gradians</string> <string name="p_grad">Gradians</string>
<string name="p_turns">Turns</string> <string name="p_turns">Turns</string>
<string name="c_angle_units_summary">Defines the default units for angles.</string> <string name="c_angle_units_summary">Defines the default units for angles.</string>
<string name="c_calc_numeral_bases">Numeral systems</string> <string name="c_calc_numeral_bases">Numeral systems</string>
<string name="c_numeral_bases_summary">Defines the default numeral system for all input numbers.</string> <string name="c_numeral_bases_summary">Defines the default numeral system for all input numbers.</string>
<string name="p_dec">Decimal</string> <string name="p_dec">Decimal</string>
<string name="p_hex">Hexadecimal</string> <string name="p_hex">Hexadecimal</string>
<string name="p_oct">Octal</string> <string name="p_oct">Octal</string>
<string name="p_bin">Binary</string> <string name="p_bin">Binary</string>
<string name="c_calc_theme">Theme</string> <string name="c_calc_theme">Theme</string>
<string name="p_default_theme">Grey</string> <string name="p_default_theme">Grey</string>
<string name="p_violet_theme">Violet</string> <string name="p_violet_theme">Violet</string>
<string name="p_light_blue_theme">Light Blue</string> <string name="p_light_blue_theme">Light Blue</string>
<string name="p_metro_blue_theme">Metro Blue (Default)</string> <string name="p_metro_blue_theme">Metro Blue (Default)</string>
<string name="p_metro_green_theme">Metro Green</string> <string name="p_metro_green_theme">Metro Green</string>
<string name="p_metro_purple_theme">Metro Purple</string> <string name="p_metro_purple_theme">Metro Purple</string>
<string name="c_calc_result_precision_summary">Precision of result value (all calculations are done with maximum precision regardless of the value of this option)</string> <string name="c_calc_result_precision_summary">Precision of result value (all calculations are done with maximum precision regardless of the value of this option)</string>
<string name="c_calc_color_display_summary">Toggles colouring and styling in calculator editor</string> <string name="c_calc_color_display_summary">Toggles colouring and styling in calculator editor</string>
<string name="c_calc_theme_summary">Sets the theme for calculator</string> <string name="c_calc_theme_summary">Sets the theme for calculator</string>
<string name="c_clear_history">Clear history</string> <string name="c_clear_history">Clear history</string>
<string name="c_simplify_instead_of_numeric">Next constants are undefined: {0}!</string> <string name="c_simplify_instead_of_numeric">Next constants are undefined: {0}!</string>
<string name="p_grouping_separator_no">No grouping separator</string> <string name="p_grouping_separator_no">No grouping separator</string>
<string name="p_grouping_separator_apostrophe">Apostrophe (\')</string> <string name="p_grouping_separator_apostrophe">Apostrophe (\')</string>
<string name="p_grouping_separator_space">Space ( )</string> <string name="p_grouping_separator_space">Space ( )</string>
<string name="c_calc_grouping_separator">Grouping separator</string> <string name="c_calc_grouping_separator">Grouping separator</string>
<string name="c_calc_grouping_separator_summary">Sets grouping separator</string> <string name="c_calc_grouping_separator_summary">Sets grouping separator</string>
<string name="c_calc_multiplication_sign">Multiplication sign</string> <string name="c_calc_multiplication_sign">Multiplication sign</string>
<string name="c_calc_multiplication_sign_summary">Sets multiplication sign</string> <string name="c_calc_multiplication_sign_summary">Sets multiplication sign</string>
<string name="c_calc_layout">Layout</string> <string name="c_calc_layout">Layout</string>
<string name="p_layout_cellphone">Scientific (cellphone)</string> <string name="p_layout_cellphone">Scientific (cellphone)</string>
<string name="p_layout_calculator">Scientific</string> <string name="p_layout_calculator">Scientific</string>
<string name="p_layout_simple">Simple</string> <string name="p_layout_simple">Simple</string>
<string name="c_calc_layout_summary">Sets layout of buttons</string> <string name="c_calc_layout_summary">Sets layout of buttons</string>
<string name="c_calc_haptic_feedback_title">Haptic feedback</string> <string name="c_calc_haptic_feedback_title">Haptic feedback</string>
<string name="c_calc_haptic_feedback_summary">Toggles vibration on button click</string> <string name="c_calc_haptic_feedback_summary">Toggles vibration on button click</string>
<string name="p_calc_haptic_feedback_strength_short">Short</string> <string name="p_calc_haptic_feedback_strength_short">Short</string>
<string name="p_calc_haptic_feedback_strength_middle">Middle</string> <string name="p_calc_haptic_feedback_strength_middle">Middle</string>
<string name="p_calc_haptic_feedback_strength_long">Long</string> <string name="p_calc_haptic_feedback_strength_long">Long</string>
<string name="p_calc_haptic_feedback_duration_title">Haptic feedback duration</string> <string name="p_calc_haptic_feedback_duration_title">Haptic feedback duration</string>
<string name="p_calc_haptic_feedback_duration_summary">Duration vibration on button click</string> <string name="p_calc_haptic_feedback_duration_summary">Duration vibration on button click</string>
<string name="c_empty_var_error">Unable to create empty constant!</string> <string name="c_empty_var_error">Unable to create empty constant!</string>
<string name="c_not_valid_result">Current result is not valid!</string> <string name="c_not_valid_result">Current result is not valid!</string>
<string name="c_plot_graph">Graph</string> <string name="c_plot_graph">Graph</string>
<string name="c_min_x_value">From</string> <string name="c_min_x_value">From</string>
<string name="c_max_x_value">To</string> <string name="c_max_x_value">To</string>
<string name="c_swipe_distance">Swipe distance for buttons</string> <string name="c_swipe_distance">Swipe distance for buttons</string>
<string name="c_swipe_distance_summary">Sets swipe distance for buttons that support additional swipe actions</string> <string name="c_swipe_distance_summary">Sets swipe distance for buttons that support additional swipe actions</string>
<string name="c_comment">Comment</string> <string name="c_comment">Comment</string>
<string name="c_history_item_saved">Saved</string> <string name="c_history_item_saved">Saved</string>
<string name="c_history_item_not_saved">Not saved</string> <string name="c_history_item_not_saved">Not saved</string>
<string name="c_expression_copied">Expression copied to the clipboard!</string> <string name="c_expression_copied">Expression copied to the clipboard!</string>
<string name="c_history_item_status">Status: </string> <string name="c_history_item_status">Status: </string>
<string name="c_history_item_comment">Comment: </string> <string name="c_history_item_comment">Comment: </string>
<string name="c_use">Use</string> <string name="c_use">Use</string>
<string name="c_use_short">Use</string> <string name="c_use_short">Use</string>
<string name="c_copy_expression">Copy expression</string> <string name="c_copy_expression">Copy expression</string>
<string name="c_copy_result">Copy result</string> <string name="c_copy_result">Copy result</string>
<string name="c_history_expression">Value</string> <string name="c_history_expression">Value</string>
<string name="c_history_item_already_saved">Saved (see \'Saved history\' tab)</string> <string name="c_history_item_already_saved">Saved (see \'Saved history\' tab)</string>
<string name="c_history_comment">Comment</string> <string name="c_history_comment">Comment</string>
<string name="c_save_history">Save history</string> <string name="c_save_history">Save history</string>
<string name="c_edit_history">Modify history</string> <string name="c_edit_history">Modify history</string>
<string name="c_edit">Modify</string> <string name="c_edit">Modify</string>
<string name="c_saved_history">Saved history</string> <string name="c_saved_history">Saved history</string>
<string name="c_history_already_saved">History was already saved!</string> <string name="c_history_already_saved">History was already saved!</string>
<string name="c_history_must_be_saved">History must be saved before editing!</string> <string name="c_history_must_be_saved">History must be saved before editing!</string>
<string name="c_history_was_removed">History was successfully removed!</string> <string name="c_history_was_removed">History was successfully removed!</string>
<string name="c_history_saved">History was successfully saved!</string> <string name="c_history_saved">History was successfully saved!</string>
<string name="c_copy_description">Copy description</string> <string name="c_copy_description">Copy description</string>
<string name="c_copy_value">Copy value</string> <string name="c_copy_value">Copy value</string>
<string name="c_first_start_text">Thank you for choosing Calculator++!\n\nCalculator++ is a powerful tool for making everyday calculations.\n\nTo remove the ads and support the project you can use special option from application settings.\n\nIt\'s highly recommended to read the FAQ and hints before the work to use all the features of application (press Menu button and then Help)</string> <string name="c_first_start_text">Thank you for choosing Calculator++!\n\nCalculator++ is a powerful tool for making everyday calculations.\n\nTo remove the ads and support the project you can use special option from application settings.\n\nIt\'s highly recommended to read the FAQ and hints before the work to use all the features of application (press Menu button and then Help)</string>
<string name="c_first_start_text_title">Welcome</string> <string name="c_first_start_text_title">Welcome</string>
<string name="c_calc_show_release_notes_title">Show release notes</string> <string name="c_calc_show_release_notes_title">Show release notes</string>
<string name="c_calc_show_release_notes_summary">Defines if release notes popup window should appear after update to the new version</string> <string name="c_calc_show_release_notes_summary">Defines if release notes popup window should appear after update to the new version</string>
<string name="c_calc_use_back_button_as_prev_summary">Defines the behaviour of the Back button</string> <string name="c_calc_use_back_button_as_prev_summary">Defines the behaviour of the Back button</string>
<string name="c_calc_use_back_button_as_prev_title">Use Back button as history prev</string> <string name="c_calc_use_back_button_as_prev_title">Use Back button as history prev</string>
<string name="c_clear_billing_info_summary">Billing information will be reloaded from the server</string> <string name="c_clear_billing_info_summary">Billing information will be reloaded from the server</string>
<string name="c_clear_billing_info_title">Clear billing information</string> <string name="c_clear_billing_info_title">Clear billing information</string>
<string name="c_warning">Warning</string> <string name="c_warning">Warning</string>
<string name="c_error">Error</string> <string name="c_error">Error</string>
<string name="c_billing_error">Billing is not supported: you must have Google Checkout account linked to your Google account and must be connected to the internet.</string> <string name="c_billing_error">Billing is not supported: you must have Google Checkout account linked to your Google account and must be connected to the internet.</string>
<string name="c_calc_ad_free_title">Support the project</string> <string name="c_calc_ad_free_title">Support the project</string>
<string name="c_calc_ad_free_summary">And remove the advertisement</string> <string name="c_calc_ad_free_summary">And remove the advertisement</string>
<string name="c_calc_already_purchased">Ad free option has been already purchased!</string> <string name="c_calc_already_purchased">Ad free option has been already purchased!</string>
<string name="c_calc_purchasing">Purchasing…</string> <string name="c_calc_purchasing">Purchasing…</string>
<string name="c_calc_clearing">Clearing…</string> <string name="c_calc_clearing">Clearing…</string>
<string name="c_feedback_title">Feedback</string> <string name="c_feedback_title">Feedback</string>
<string name="c_feedback_text">You have been using Calculator++ for some time \n <string name="c_feedback_text">You have been using Calculator++ for some time \n
and it\'s important for us to know your opinion about application.\n\n and it\'s important for us to know your opinion about application.\n\n
Please rate Calculator++ \non <a href="https://market.android.com/details?id=org.solovyev.android.calculator">Google Play</a>,\n leave a comment or \ndiscuss application \non our <a href="http://calculatorpp.com/forum/">forum</a> Please rate Calculator++ \non <a href="https://market.android.com/details?id=org.solovyev.android.calculator">Google Play</a>,\n leave a comment or \ndiscuss application \non our <a href="http://calculatorpp.com/forum/">forum</a>
</string> </string>
<string name="c_notespp_announce_text">Good news - I just released new application for Android called <a href="https://play.google.com/store/apps/details?id=org.solovyev.android.notes">Notes++</a>.\n <string name="c_notespp_announce_text">Good news - I just released new application for Android called <a href="https://play.google.com/store/apps/details?id=org.solovyev.android.notes">Notes++</a>.\n
If you\'re interesting in fast and easy way of making notes please follow the <a href="https://play.google.com/store/apps/details?id=org.solovyev.android.notes">link</a> and try Notes++! If you\'re interesting in fast and easy way of making notes please follow the <a href="https://play.google.com/store/apps/details?id=org.solovyev.android.notes">link</a> and try Notes++!
</string> </string>
<string name="c_angle_units_changed_to">Angle units changed to \'%s\'!</string> <string name="c_angle_units_changed_to">Angle units changed to \'%s\'!</string>
<string name="c_numeral_base_changed_to">Numeral base changed to \'%s\'!</string> <string name="c_numeral_base_changed_to">Numeral base changed to \'%s\'!</string>
<string name="c_conversion_tool">Conversion tool</string> <string name="c_conversion_tool">Conversion tool</string>
<string name="c_convert">Convert to…</string> <string name="c_convert">Convert to…</string>
<string name="convert_to_hex">Convert to hex</string> <string name="convert_to_hex">Convert to hex</string>
<string name="convert_to_bin">Convert to bin</string> <string name="convert_to_bin">Convert to bin</string>
<string name="convert_to_dec">Convert to dec</string> <string name="convert_to_dec">Convert to dec</string>
<string name="editor">Editor</string> <string name="editor">Editor</string>
<string name="result">Result</string> <string name="result">Result</string>
<string name="other">Other</string> <string name="other">Other</string>
<string name="derivatives">Derivatives/Integrals</string> <string name="derivatives">Derivatives/Integrals</string>
<string name="crashed">Calculator++ has been crashed…</string> <string name="crashed">Calculator++ has crashed…</string>
<string name="crash_dialog_title">Calculator++ crash report</string> <string name="crash_dialog_title">Calculator++ crash report</string>
<string name="crash_dialog_text"> <string name="crash_dialog_text">
Unfortunately, Calculator++ has been crashed.\n\n Unfortunately, Calculator++ has crashed.\n\n
In order to fix the problem we need some information about it. It\'s highly recommended to send crash report via email (after pressing \'Ok\' button you will see all sent data in the new window).\n\n In order to fix the problem we need some information about it. It\'s highly recommended to send crash report via email (after pressing \'Ok\' button you will see all sent data in the new window).\n\n
Do you want to send crash report? Do you want to send crash report?
</string> </string>
<string name="c_prefs_graph">Graph preferences</string> <string name="prefs_graph_scren_title">Graph preferences</string>
<string name="c_show_complex_graph_summary">If checked complex graph will be plotted</string>
<string name="c_show_complex_graph_title">Show complex graph</string> <string name="prefs_graph_interpolate_function">Interpolate function\'s graph</string>
<string name="prefs_graph_real_color_title">Color of real part of functions graph</string>
<string name="prefs_graph_real_color_summary">Sets color of real part functions graph</string>
<string name="prefs_graph_imag_color_title">Color of imaginary part of functions graph</string>
<string name="prefs_graph_imag_color_summary">Sets color of imaginary part functions graph</string>
</resources> </resources>

View File

@ -1,22 +1,28 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:a="http://schemas.android.com/apk/res/android"> <PreferenceScreen xmlns:a="http://schemas.android.com/apk/res/android">
<android.preference.CheckBoxPreference <PreferenceScreen a:title="@string/prefs_graph_scren_title">
a:key="graph_interpolate"
a:title="Interpolate function's graph" <org.solovyev.android.ads.AdViewPreference a:layout="@layout/admob_pref"/>
a:summary="If checked cubic interpolation will be used in function graph drawing"/>
<android.preference.CheckBoxPreference
<ListPreference a:key="graph_line_color_real" a:key="graph_interpolate"
a:title="Color of real part of functions graph" a:title="@string/prefs_graph_interpolate_function"
a:summary="Sets color of real part functions graph" a:summary="If checked cubic interpolation will be used in function graph drawing"/>
a:entries="@array/graph_line_color_names"
a:entryValues="@array/graph_line_color_values"/> <ListPreference a:key="graph_line_color_real"
a:title="@string/prefs_graph_real_color_title"
<ListPreference a:key="graph_line_color_imag" a:summary="@string/prefs_graph_real_color_summary"
a:title="Color of imaginary part of functions graph" a:entries="@array/graph_line_color_names"
a:summary="Sets color of imaginary part functions graph" a:entryValues="@array/graph_line_color_values"/>
a:entries="@array/graph_line_color_names"
a:entryValues="@array/graph_line_color_values"/> <ListPreference a:key="graph_line_color_imag"
a:title="@string/prefs_graph_imag_color_title"
a:summary="@string/prefs_graph_imag_color_summary"
a:entries="@array/graph_line_color_names"
a:entryValues="@array/graph_line_color_values"/>
</PreferenceScreen>
</PreferenceScreen> </PreferenceScreen>

View File

@ -1,188 +1,178 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:a="http://schemas.android.com/apk/res/android" <PreferenceScreen xmlns:a="http://schemas.android.com/apk/res/android"
xmlns:range="http://schemas.android.com/apk/res-auto"> xmlns:range="http://schemas.android.com/apk/res-auto">
<Preference <Preference
a:key="@string/p_calc_ad_free_key" a:key="@string/p_calc_ad_free_key"
a:title="@string/c_calc_ad_free_title" a:title="@string/c_calc_ad_free_title"
a:summary="@string/c_calc_ad_free_summary" a:summary="@string/c_calc_ad_free_summary"
a:defaultValue="false" a:defaultValue="false"
/> />
<org.solovyev.android.ads.AdViewPreference a:layout="@layout/admob_pref"/> <org.solovyev.android.ads.AdViewPreference a:layout="@layout/admob_pref"/>
<PreferenceScreen a:title="@string/c_prefs_calculations_category"> <PreferenceScreen a:title="@string/c_prefs_calculations_category">
<org.solovyev.android.ads.AdViewPreference a:layout="@layout/admob_pref"/> <org.solovyev.android.ads.AdViewPreference a:layout="@layout/admob_pref"/>
<android.preference.CheckBoxPreference <android.preference.CheckBoxPreference
a:key="@string/p_calc_round_result_key" a:key="@string/p_calc_round_result_key"
a:summary="@string/c_calc_round_result_summary" a:summary="@string/c_calc_round_result_summary"
a:title="@string/c_calc_round_result_title" a:title="@string/c_calc_round_result_title"
a:defaultValue="true"/> a:defaultValue="true"/>
<org.solovyev.android.prefs.IntegerPickerDialogPreference <org.solovyev.android.prefs.IntegerPickerDialogPreference
a:key="@string/p_calc_result_precision_key" a:key="@string/p_calc_result_precision_key"
a:title="@string/p_calc_result_precision_title" a:title="@string/p_calc_result_precision_title"
a:summary="@string/c_calc_result_precision_summary" a:summary="@string/c_calc_result_precision_summary"
a:defaultValue="5" a:defaultValue="5"
range:boundaries="0;16"/> range:boundaries="0;16"/>
<android.preference.CheckBoxPreference <android.preference.CheckBoxPreference
a:key="@string/p_calc_science_notation_key" a:key="@string/p_calc_science_notation_key"
a:summary="@string/c_calc_science_notation_summary" a:summary="@string/c_calc_science_notation_summary"
a:title="@string/c_calc_science_notation_title" a:title="@string/c_calc_science_notation_title"
a:defaultValue="false"/> a:defaultValue="false"/>
<ListPreference a:key="@string/p_calc_grouping_separator_key" <ListPreference a:key="@string/p_calc_grouping_separator_key"
a:title="@string/c_calc_grouping_separator" a:title="@string/c_calc_grouping_separator"
a:entries="@array/p_grouping_separator_names" a:entries="@array/p_grouping_separator_names"
a:summary="@string/c_calc_grouping_separator_summary" a:summary="@string/c_calc_grouping_separator_summary"
a:entryValues="@array/p_grouping_separator_values"/> a:entryValues="@array/p_grouping_separator_values"/>
<ListPreference a:key="@string/p_calc_angle_units_key" <ListPreference a:key="@string/p_calc_angle_units_key"
a:title="@string/c_calc_angle_units" a:title="@string/c_calc_angle_units"
a:entries="@array/p_angle_units_names" a:entries="@array/p_angle_units_names"
a:summary="@string/c_angle_units_summary" a:summary="@string/c_angle_units_summary"
a:entryValues="@array/p_angle_units"/> a:entryValues="@array/p_angle_units"/>
<ListPreference a:key="@string/p_calc_numeral_bases_key" <ListPreference a:key="@string/p_calc_numeral_bases_key"
a:title="@string/c_calc_numeral_bases" a:title="@string/c_calc_numeral_bases"
a:entries="@array/p_numeral_bases_names" a:entries="@array/p_numeral_bases_names"
a:summary="@string/c_numeral_bases_summary" a:summary="@string/c_numeral_bases_summary"
a:entryValues="@array/p_numeral_bases"/> a:entryValues="@array/p_numeral_bases"/>
<org.solovyev.android.prefs.IntegerPickerDialogPreference <org.solovyev.android.prefs.IntegerPickerDialogPreference
a:key="@string/p_calc_max_calculation_time_key" a:key="@string/p_calc_max_calculation_time_key"
a:title="@string/p_calc_max_calculation_time_title" a:title="@string/p_calc_max_calculation_time_title"
a:summary="@string/p_calc_max_calculation_time_summary" a:summary="@string/p_calc_max_calculation_time_summary"
a:defaultValue="5" a:defaultValue="5"
range:boundaries="3;1000"/> range:boundaries="3;1000"/>
<!-- <PreferenceScreen a:title="@string/c_prefs_graph"> </PreferenceScreen>
<android.preference.CheckBoxPreference <PreferenceScreen
a:key="show_complex_graph" a:title="@string/c_prefs_appearance_category">
a:summary="@string/c_show_complex_graph_summary"
a:title="@string/c_show_complex_graph_title" <org.solovyev.android.ads.AdViewPreference a:layout="@layout/admob_pref"/>
a:defaultValue="false"/>
<android.preference.CheckBoxPreference
</PreferenceScreen>--> a:key="@string/p_calc_color_display_key"
a:summary="@string/c_calc_color_display_summary"
</PreferenceScreen> a:title="@string/c_calc_color_display_title"
a:defaultValue="true"/>
<PreferenceScreen
a:title="@string/c_prefs_appearance_category"> <android.preference.CheckBoxPreference
a:key="@string/p_calc_haptic_feedback_key"
<org.solovyev.android.ads.AdViewPreference a:layout="@layout/admob_pref"/> a:summary="@string/c_calc_haptic_feedback_summary"
a:title="@string/c_calc_haptic_feedback_title"
<android.preference.CheckBoxPreference a:defaultValue="false"/>
a:key="@string/p_calc_color_display_key"
a:summary="@string/c_calc_color_display_summary" <ListPreference a:key="@string/p_calc_haptic_feedback_duration_key"
a:title="@string/c_calc_color_display_title" a:title="@string/p_calc_haptic_feedback_duration_title"
a:defaultValue="true"/> a:entries="@array/p_calc_haptic_feedback_duration_names"
a:summary="@string/p_calc_haptic_feedback_duration_summary"
<android.preference.CheckBoxPreference a:entryValues="@array/p_calc_haptic_feedback_duration_values"/>
a:key="@string/p_calc_haptic_feedback_key"
a:summary="@string/c_calc_haptic_feedback_summary" <ListPreference a:key="@string/p_calc_multiplication_sign_key"
a:title="@string/c_calc_haptic_feedback_title" a:title="@string/c_calc_multiplication_sign"
a:defaultValue="false"/> a:entries="@array/p_multiplication_sign_values"
a:summary="@string/c_calc_multiplication_sign_summary"
<ListPreference a:key="@string/p_calc_haptic_feedback_duration_key" a:entryValues="@array/p_multiplication_sign_values"/>
a:title="@string/p_calc_haptic_feedback_duration_title"
a:entries="@array/p_calc_haptic_feedback_duration_names" <ListPreference a:key="@string/p_calc_theme_key"
a:summary="@string/p_calc_haptic_feedback_duration_summary" a:title="@string/c_calc_theme"
a:entryValues="@array/p_calc_haptic_feedback_duration_values"/> a:entries="@array/p_theme_names"
a:summary="@string/c_calc_theme_summary"
<ListPreference a:key="@string/p_calc_multiplication_sign_key" a:entryValues="@array/p_theme_values"/>
a:title="@string/c_calc_multiplication_sign"
a:entries="@array/p_multiplication_sign_values" <ListPreference a:key="@string/p_calc_layout_key"
a:summary="@string/c_calc_multiplication_sign_summary" a:title="@string/c_calc_layout"
a:entryValues="@array/p_multiplication_sign_values"/> a:entries="@array/p_layout_names"
a:summary="@string/c_calc_layout_summary"
<ListPreference a:key="@string/p_calc_theme_key" a:entryValues="@array/p_layout_values"/>
a:title="@string/c_calc_theme"
a:entries="@array/p_theme_names"
a:summary="@string/c_calc_theme_summary" <org.solovyev.android.prefs.FloatRangeSeekBarPreference
a:entryValues="@array/p_theme_values"/> a:key="@string/p_drag_distance_key"
a:title="@string/c_swipe_distance"
<ListPreference a:key="@string/p_calc_layout_key" a:summary="@string/c_swipe_distance_summary"
a:title="@string/c_calc_layout" a:text=" pxs"
a:entries="@array/p_layout_names" a:defaultValue="35;350"
a:summary="@string/c_calc_layout_summary" range:step="10"
a:entryValues="@array/p_layout_values"/> range:boundaries="10;500"/>
<!-- <org.solovyev.android.prefs.FloatRangeSeekBarPreference
<org.solovyev.android.prefs.FloatRangeSeekBarPreference a:key="@string/p_drag_duration_key"
a:key="@string/p_drag_distance_key" a:title="Duration of drag event"
a:title="@string/c_swipe_distance" a:text=" ms"
a:summary="@string/c_swipe_distance_summary" a:defaultValue="40;2500"
a:text=" pxs" range:steps="10"
a:defaultValue="35;350" range:boundaries="5;4000"/>
range:step="10"
range:boundaries="10;500"/> <org.solovyev.android.prefs.FloatRangeSeekBarPreference
a:key="@string/p_drag_angle_key"
<!-- <org.solovyev.android.prefs.FloatRangeSeekBarPreference a:title="Angle of drag event"
a:key="@string/p_drag_duration_key" a:text=" degrees"
a:title="Duration of drag event" a:defaultValue="0;45"
a:text=" ms" range:steps="5"
a:defaultValue="40;2500" range:boundaries="0;45"/>-->
range:steps="10"
range:boundaries="5;4000"/> <android.preference.CheckBoxPreference
a:key="autoOrientation"
<org.solovyev.android.prefs.FloatRangeSeekBarPreference a:title="@string/c_auto_orientation_title"
a:key="@string/p_drag_angle_key" a:summary="@string/c_auto_orientation_summary"
a:title="Angle of drag event" a:defaultValue="true"/>
a:text=" degrees"
a:defaultValue="0;45"
range:steps="5" <android.preference.CheckBoxPreference
range:boundaries="0;45"/>--> a:key="showEqualsButton"
a:title="@string/c_show_equals_button_title"
<android.preference.CheckBoxPreference a:summary="@string/c_show_equals_button_summary"
a:key="autoOrientation" a:defaultValue="true"/>
a:title="@string/c_auto_orientation_title"
a:summary="@string/c_auto_orientation_summary" <android.preference.CheckBoxPreference
a:defaultValue="true"/> a:key="hideNumeralBaseDigits"
a:title="@string/c_hide_numeral_base_digits_title"
a:summary="@string/c_hide_numeral_base_digits_summary"
<android.preference.CheckBoxPreference a:defaultValue="true"/>
a:key="showEqualsButton"
a:title="@string/c_show_equals_button_title"
a:summary="@string/c_show_equals_button_summary" </PreferenceScreen>
a:defaultValue="true"/>
<PreferenceScreen
<android.preference.CheckBoxPreference a:title="@string/c_prefs_other_category">
a:key="hideNumeralBaseDigits"
a:title="@string/c_hide_numeral_base_digits_title" <org.solovyev.android.ads.AdViewPreference a:layout="@layout/admob_pref"/>
a:summary="@string/c_hide_numeral_base_digits_summary"
a:defaultValue="true"/> <android.preference.CheckBoxPreference
a:key="@string/p_calc_show_release_notes_key"
a:summary="@string/c_calc_show_release_notes_summary"
</PreferenceScreen> a:title="@string/c_calc_show_release_notes_title"
a:defaultValue="true"/>
<PreferenceScreen
a:title="@string/c_prefs_other_category"> <android.preference.CheckBoxPreference
a:key="@string/p_calc_use_back_button_as_prev_key"
<org.solovyev.android.ads.AdViewPreference a:layout="@layout/admob_pref"/> a:summary="@string/c_calc_use_back_button_as_prev_summary"
a:title="@string/c_calc_use_back_button_as_prev_title"
<android.preference.CheckBoxPreference a:defaultValue="false"/>
a:key="@string/p_calc_show_release_notes_key"
a:summary="@string/c_calc_show_release_notes_summary" <Preference
a:title="@string/c_calc_show_release_notes_title" a:key="@string/p_clear_billing_info_key"
a:defaultValue="true"/> a:summary="@string/c_clear_billing_info_summary"
a:title="@string/c_clear_billing_info_title"/>
<android.preference.CheckBoxPreference
a:key="@string/p_calc_use_back_button_as_prev_key" </PreferenceScreen>
a:summary="@string/c_calc_use_back_button_as_prev_summary"
a:title="@string/c_calc_use_back_button_as_prev_title"
a:defaultValue="false"/>
<Preference
a:key="@string/p_clear_billing_info_key"
a:summary="@string/c_clear_billing_info_summary"
a:title="@string/c_clear_billing_info_title"/>
</PreferenceScreen>
</PreferenceScreen> </PreferenceScreen>

View File

@ -57,6 +57,7 @@ public class CalculatorApplication extends android.app.Application {
ACRA.init(this); ACRA.init(this);
final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
CalculatorPreferences.setDefaultValues(preferences);
setTheme(preferences); setTheme(preferences);
@ -84,8 +85,6 @@ public class CalculatorApplication extends android.app.Application {
return CalculatorSecurity.getPK(); return CalculatorSecurity.getPK();
} }
}); });
CalculatorPreferences.setDefaultValues(preferences);
} }
private void setTheme(@NotNull SharedPreferences preferences) { private void setTheme(@NotNull SharedPreferences preferences) {

View File

@ -1,142 +1,164 @@
package org.solovyev.android.calculator; package org.solovyev.android.calculator;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.solovyev.android.AndroidUtils; import org.solovyev.android.AndroidUtils;
import org.solovyev.android.calculator.math.MathType; import org.solovyev.android.calculator.math.MathType;
import org.solovyev.android.calculator.model.AndroidCalculatorEngine; import org.solovyev.android.calculator.model.AndroidCalculatorEngine;
import org.solovyev.android.calculator.plot.GraphLineColor; import org.solovyev.android.calculator.plot.GraphLineColor;
import org.solovyev.android.prefs.BooleanPreference; import org.solovyev.android.prefs.BooleanPreference;
import org.solovyev.android.prefs.IntegerPreference; import org.solovyev.android.prefs.IntegerPreference;
import org.solovyev.android.prefs.Preference; import org.solovyev.android.prefs.Preference;
import org.solovyev.android.prefs.StringPreference; import org.solovyev.android.prefs.StringPreference;
import java.text.DecimalFormatSymbols; import java.text.DecimalFormatSymbols;
import java.util.Locale; import java.util.Locale;
/** /**
* User: serso * User: serso
* Date: 4/20/12 * Date: 4/20/12
* Time: 12:42 PM * Time: 12:42 PM
*/ */
public final class CalculatorPreferences { public final class CalculatorPreferences {
private CalculatorPreferences() { private CalculatorPreferences() {
throw new AssertionError(); throw new AssertionError();
} }
public static final Preference<Integer> appVersion = new IntegerPreference("application.version", -1); public static final Preference<Integer> appVersion = new IntegerPreference("application.version", -1);
public static final Preference<Integer> appOpenedCounter = new IntegerPreference("app_opened_counter", 0); public static final Preference<Integer> appOpenedCounter = new IntegerPreference("app_opened_counter", 0);
public static class Gui { public static class Gui {
public static final Preference<Theme> theme = StringPreference.newInstance("org.solovyev.android.calculator.CalculatorActivity_calc_theme", Theme.metro_blue_theme, Theme.class); public static final Preference<Theme> theme = StringPreference.newInstance("org.solovyev.android.calculator.CalculatorActivity_calc_theme", Theme.metro_blue_theme, Theme.class);
public static final Preference<Layout> layout = StringPreference.newInstance("org.solovyev.android.calculator.CalculatorActivity_calc_layout", Layout.main_calculator, Layout.class); public static final Preference<Layout> layout = StringPreference.newInstance("org.solovyev.android.calculator.CalculatorActivity_calc_layout", Layout.main_calculator, Layout.class);
public static final Preference<Boolean> feedbackWindowShown = new BooleanPreference("feedback_window_shown", false); public static final Preference<Boolean> feedbackWindowShown = new BooleanPreference("feedback_window_shown", false);
public static final Preference<Boolean> notesppAnnounceShown = new BooleanPreference("notespp_announce_shown", false); public static final Preference<Boolean> notesppAnnounceShown = new BooleanPreference("notespp_announce_shown", false);
public static final Preference<Boolean> showReleaseNotes = new BooleanPreference("org.solovyev.android.calculator.CalculatorActivity_show_release_notes", true); public static final Preference<Boolean> showReleaseNotes = new BooleanPreference("org.solovyev.android.calculator.CalculatorActivity_show_release_notes", true);
public static final Preference<Boolean> usePrevAsBack = new BooleanPreference("org.solovyev.android.calculator.CalculatorActivity_use_back_button_as_prev", false); public static final Preference<Boolean> usePrevAsBack = new BooleanPreference("org.solovyev.android.calculator.CalculatorActivity_use_back_button_as_prev", false);
public static final Preference<Boolean> showEqualsButton = new BooleanPreference("showEqualsButton", true); public static final Preference<Boolean> showEqualsButton = new BooleanPreference("showEqualsButton", true);
public static final Preference<Boolean> autoOrientation = new BooleanPreference("autoOrientation", true); public static final Preference<Boolean> autoOrientation = new BooleanPreference("autoOrientation", true);
public static final Preference<Boolean> hideNumeralBaseDigits = new BooleanPreference("hideNumeralBaseDigits", true); public static final Preference<Boolean> hideNumeralBaseDigits = new BooleanPreference("hideNumeralBaseDigits", true);
@NotNull @NotNull
public static Theme getTheme(@NotNull SharedPreferences preferences) { public static Theme getTheme(@NotNull SharedPreferences preferences) {
return theme.getPreferenceNoError(preferences); return theme.getPreferenceNoError(preferences);
} }
public static enum Theme { public static enum Theme {
default_theme(ThemeType.other, R.style.default_theme), default_theme(ThemeType.other, R.style.default_theme),
violet_theme(ThemeType.other, R.style.violet_theme), violet_theme(ThemeType.other, R.style.violet_theme),
light_blue_theme(ThemeType.other, R.style.light_blue_theme), light_blue_theme(ThemeType.other, R.style.light_blue_theme),
metro_blue_theme(ThemeType.metro, R.style.metro_blue_theme), metro_blue_theme(ThemeType.metro, R.style.metro_blue_theme),
metro_purple_theme(ThemeType.metro, R.style.metro_purple_theme), metro_purple_theme(ThemeType.metro, R.style.metro_purple_theme),
metro_green_theme(ThemeType.metro, R.style.metro_green_theme); metro_green_theme(ThemeType.metro, R.style.metro_green_theme);
@NotNull @NotNull
private final ThemeType themeType; private final ThemeType themeType;
@NotNull @NotNull
private final Integer themeId; private final Integer themeId;
Theme(@NotNull ThemeType themeType, Integer themeId) { Theme(@NotNull ThemeType themeType, Integer themeId) {
this.themeType = themeType; this.themeType = themeType;
this.themeId = themeId; this.themeId = themeId;
} }
@NotNull @NotNull
public ThemeType getThemeType() { public ThemeType getThemeType() {
return themeType; return themeType;
} }
@NotNull @NotNull
public Integer getThemeId() { public Integer getThemeId() {
return themeId; return themeId;
} }
} }
public static enum ThemeType { public static enum ThemeType {
metro, metro,
other other
} }
public static enum Layout { public static enum Layout {
main_calculator(R.layout.main_calculator), main_calculator(R.layout.main_calculator),
main_cellphone(R.layout.main_cellphone), main_cellphone(R.layout.main_cellphone),
simple(R.layout.main_calculator); simple(R.layout.main_calculator);
private final int layoutId; private final int layoutId;
Layout(int layoutId) { Layout(int layoutId) {
this.layoutId = layoutId; this.layoutId = layoutId;
} }
public int getLayoutId() { public int getLayoutId() {
return layoutId; return layoutId;
} }
} }
} }
public static class Graph { public static class Graph {
public static final Preference<Boolean> interpolate = new BooleanPreference("graph_interpolate", true); public static final Preference<Boolean> interpolate = new BooleanPreference("graph_interpolate", true);
public static final Preference<GraphLineColor> lineColorReal = StringPreference.newInstance("graph_line_color_real", GraphLineColor.white, GraphLineColor.class); public static final Preference<GraphLineColor> lineColorReal = StringPreference.newInstance("graph_line_color_real", GraphLineColor.white, GraphLineColor.class);
public static final Preference<GraphLineColor> lineColorImag = StringPreference.newInstance("graph_line_color_imag", GraphLineColor.blue, GraphLineColor.class); public static final Preference<GraphLineColor> lineColorImag = StringPreference.newInstance("graph_line_color_imag", GraphLineColor.blue, GraphLineColor.class);
}
}
static void setDefaultValues(@NotNull SharedPreferences preferences) {
static void setDefaultValues(@NotNull SharedPreferences preferences) { if (!AndroidCalculatorEngine.Preferences.groupingSeparator.isSet(preferences)) {
if (!AndroidCalculatorEngine.Preferences.groupingSeparator.isSet(preferences)) { final Locale locale = Locale.getDefault();
final Locale locale = Locale.getDefault(); if (locale != null) {
if (locale != null) { final DecimalFormatSymbols decimalFormatSymbols = new DecimalFormatSymbols(locale);
final DecimalFormatSymbols decimalFormatSymbols = new DecimalFormatSymbols(locale); int index = MathType.grouping_separator.getTokens().indexOf(String.valueOf(decimalFormatSymbols.getGroupingSeparator()));
int index = MathType.grouping_separator.getTokens().indexOf(String.valueOf(decimalFormatSymbols.getGroupingSeparator())); final String groupingSeparator;
final String groupingSeparator; if (index >= 0) {
if (index >= 0) { groupingSeparator = MathType.grouping_separator.getTokens().get(index);
groupingSeparator = MathType.grouping_separator.getTokens().get(index); } else {
} else { groupingSeparator = " ";
groupingSeparator = " "; }
}
AndroidCalculatorEngine.Preferences.groupingSeparator.putPreference(preferences, groupingSeparator);
AndroidCalculatorEngine.Preferences.groupingSeparator.putPreference(preferences, groupingSeparator); }
} }
}
if (!AndroidCalculatorEngine.Preferences.angleUnit.isSet(preferences)) {
if (!AndroidCalculatorEngine.Preferences.angleUnit.isSet(preferences)) { AndroidCalculatorEngine.Preferences.angleUnit.putDefault(preferences);
AndroidCalculatorEngine.Preferences.angleUnit.putDefault(preferences); }
}
if (!AndroidCalculatorEngine.Preferences.numeralBase.isSet(preferences)) {
if (!AndroidCalculatorEngine.Preferences.numeralBase.isSet(preferences)) { AndroidCalculatorEngine.Preferences.numeralBase.putDefault(preferences);
AndroidCalculatorEngine.Preferences.numeralBase.putDefault(preferences); }
}
if (!AndroidCalculatorEngine.Preferences.multiplicationSign.isSet(preferences)) {
if (!AndroidCalculatorEngine.Preferences.multiplicationSign.isSet(preferences)) { if ( AndroidUtils.isPhoneModel(AndroidUtils.PhoneModel.samsung_galaxy_s) || AndroidUtils.isPhoneModel(AndroidUtils.PhoneModel.samsung_galaxy_s_2) ) {
if ( AndroidUtils.isPhoneModel(AndroidUtils.PhoneModel.samsung_galaxy_s) || AndroidUtils.isPhoneModel(AndroidUtils.PhoneModel.samsung_galaxy_s_2) ) { // workaround ofr samsung galaxy s phones
// workaround ofr samsung galaxy s phones AndroidCalculatorEngine.Preferences.multiplicationSign.putPreference(preferences, "*");
AndroidCalculatorEngine.Preferences.multiplicationSign.putPreference(preferences, "*"); }
} }
}
} applyDefaultPreference(preferences, Gui.theme);
applyDefaultPreference(preferences, Gui.layout);
} applyDefaultPreference(preferences, Gui.feedbackWindowShown);
applyDefaultPreference(preferences, Gui.notesppAnnounceShown);
applyDefaultPreference(preferences, Gui.showReleaseNotes);
applyDefaultPreference(preferences, Gui.usePrevAsBack);
applyDefaultPreference(preferences, Gui.showEqualsButton);
applyDefaultPreference(preferences, Gui.autoOrientation);
applyDefaultPreference(preferences, Gui.hideNumeralBaseDigits);
applyDefaultPreference(preferences, Gui.theme);
applyDefaultPreference(preferences, Gui.theme);
applyDefaultPreference(preferences, Graph.interpolate);
applyDefaultPreference(preferences, Graph.lineColorImag);
applyDefaultPreference(preferences, Graph.lineColorReal);
}
private static void applyDefaultPreference(@NotNull SharedPreferences preferences, @NotNull Preference<?> preference) {
if (!preference.isSet(preferences)) {
preference.putDefault(preferences);
}
}
}

View File

@ -14,7 +14,7 @@ import android.view.View;
import android.widget.TextView; import android.widget.TextView;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.solovyev.android.AndroidUtils; import org.solovyev.android.AndroidUtils;
import org.solovyev.android.calculator.CalculatorActivity; import org.solovyev.android.calculator.CalculatorApplication;
import org.solovyev.android.calculator.CalculatorFragment; import org.solovyev.android.calculator.CalculatorFragment;
import org.solovyev.android.calculator.R; import org.solovyev.android.calculator.R;
import org.solovyev.common.text.StringUtils; import org.solovyev.common.text.StringUtils;
@ -50,9 +50,9 @@ public class CalculatorReleaseNotesFragment extends CalculatorFragment {
final StringBuilder result = new StringBuilder(); final StringBuilder result = new StringBuilder();
final String releaseNotesForTitle = context.getString(R.string.c_release_notes_for_title); final String releaseNotesForTitle = context.getString(R.string.c_release_notes_for_title);
final int version = AndroidUtils.getAppVersionCode(context, CalculatorActivity.class.getPackage().getName()); final int version = AndroidUtils.getAppVersionCode(context, CalculatorApplication.class.getPackage().getName());
final TextHelper textHelper = new TextHelper(context.getResources(), R.class.getPackage().getName()); final TextHelper textHelper = new TextHelper(context.getResources(), CalculatorApplication.class.getPackage().getName());
boolean first = true; boolean first = true;
for ( int i = version; i >= minVersion; i-- ) { for ( int i = version; i >= minVersion; i-- ) {

View File

@ -6,12 +6,15 @@ import android.view.View;
import android.view.WindowManager; import android.view.WindowManager;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.solovyev.android.calculator.*; import org.solovyev.android.calculator.CalculatorLocatorImpl;
import org.solovyev.android.calculator.CalculatorParseException;
import org.solovyev.android.calculator.R;
import org.solovyev.android.calculator.ToJsclTextProcessor;
import org.solovyev.android.calculator.units.CalculatorNumeralBase; import org.solovyev.android.calculator.units.CalculatorNumeralBase;
import org.solovyev.math.units.Unit;
import org.solovyev.math.units.UnitImpl;
import org.solovyev.common.MutableObject; import org.solovyev.common.MutableObject;
import org.solovyev.common.text.StringUtils; import org.solovyev.common.text.StringUtils;
import org.solovyev.math.units.Unit;
import org.solovyev.math.units.UnitImpl;
import java.util.Arrays; import java.util.Arrays;
@ -64,8 +67,8 @@ public class NumeralBaseConverterDialog {
public void onClick(@NotNull Unit<String> fromUnits, @NotNull Unit<String> toUnits) { public void onClick(@NotNull Unit<String> fromUnits, @NotNull Unit<String> toUnits) {
String toUnitsValue = toUnits.getValue(); String toUnitsValue = toUnits.getValue();
if (!toUnits.getUnitType().equals(AndroidNumeralBase.valueOf(CalculatorLocatorImpl.getInstance().getEngine().getNumeralBase()))) { if (!toUnits.getUnitType().equals(CalculatorNumeralBase.valueOf(CalculatorLocatorImpl.getInstance().getEngine().getNumeralBase()))) {
toUnitsValue = ((AndroidNumeralBase) toUnits.getUnitType()).getNumeralBase().getJsclPrefix() + toUnitsValue; toUnitsValue = ((CalculatorNumeralBase) toUnits.getUnitType()).getNumeralBase().getJsclPrefix() + toUnitsValue;
} }
CalculatorLocatorImpl.getInstance().getKeyboard().digitButtonPressed(toUnitsValue); CalculatorLocatorImpl.getInstance().getKeyboard().digitButtonPressed(toUnitsValue);