Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SMBSync3 Fixes #4

Open
wants to merge 141 commits into
base: main
Choose a base branch
from
Open

SMBSync3 Fixes #4

wants to merge 141 commits into from

Commits on Jun 24, 2022

  1. Set app settings directory to internal storage

    Move settings directory from /data/data to internal storage
    An optional setting should select /data/data, internal storage  or app specific directory /storage/emulated/0/android/data/app_tag
    PhilZ-cwm6 committed Jun 24, 2022
    Configuration menu
    Copy the full SHA
    4577cf7 View commit details
    Browse the repository at this point in the history
  2. Fix messages lost after app reinstall

    After app reinstall or a new request to storage permissions, previous messages were not properly loaded and could be overwritten
    PhilZ-cwm6 committed Jun 24, 2022
    Configuration menu
    Copy the full SHA
    7e2aab5 View commit details
    Browse the repository at this point in the history
  3. Fix context labels help on long click on bottom buttons

    Some labels had a wrong description
    PhilZ-cwm6 committed Jun 24, 2022
    Configuration menu
    Copy the full SHA
    16b3ca7 View commit details
    Browse the repository at this point in the history
  4. Update jcifsng to 2.1.7 and sync to upstream jcifsng releases

    jcifs 1.3 library is recompiled with jcifs13 class and we keep the upstream jcifs-ng class to jcifs.
    This makes it possible to directly update the jcifs lib to the latest release by just swapping the library instead of recompiling jcifs-ng with a custom class
    
    JcifsFile2 is upgraded to support the new jcifs libs
    
    Utilities3 is upgraded to use updated wrapperForSlf4j that supports latest logging formats by slf4j and that are needed by jcifs-ng and any future external lib relying on slf4j logger
    PhilZ-cwm6 committed Jun 24, 2022
    Configuration menu
    Copy the full SHA
    21e6d3c View commit details
    Browse the repository at this point in the history
  5. Fix SMB sync unable to connect when setting a custom port in target

    - fix SMB sync was broken when a custom port was set in destination
    - fix SMB sync error message displaying url:port:port error instead of url:port
    PhilZ-cwm6 committed Jun 24, 2022
    Configuration menu
    Copy the full SHA
    a322027 View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2022

  1. Fix Edit SMB Server user/password not saved in Edit Sync Task view

    - When editing an SMB server with a user/password set, the user/pass were empty and editing the server details caused the user/pass to be lost
    PhilZ-cwm6 committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    4156069 View commit details
    Browse the repository at this point in the history
  2. code formatting

    PhilZ-cwm6 committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    69d432b View commit details
    Browse the repository at this point in the history
  3. Allow copy/paste password when importing encrypted settings

    Allow copy/paste in unhidden password field when importing an encrypted app settings file
    PhilZ-cwm6 committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    a61bc30 View commit details
    Browse the repository at this point in the history
  4. Allow password confirmation toggle/copy/paste in export encrypted set…

    …tings
    
    allow password confirmation field toggle and copy/paste when exporting settings with password
    PhilZ-cwm6 committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    da3b149 View commit details
    Browse the repository at this point in the history
  5. Fix Zip password could not be set

    - Zip password: fix confirmation password view always disabled and a zip password could not be set
    - Zip password: enable password show/hide icon with confirmation password field toggle
    - Zip password: preserve password visibility view state on screen rotation
    PhilZ-cwm6 committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    be56224 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4320b2a View commit details
    Browse the repository at this point in the history
  7. Code formatting

    PhilZ-cwm6 committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    c05b894 View commit details
    Browse the repository at this point in the history
  8. Toggle SMB password Layout view on use password check/uncheck

    Properly toggle SMB password TextInputLayout view on use password check/uncheck (no functional changes, but for code clarity)
    PhilZ-cwm6 committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    6e3138b View commit details
    Browse the repository at this point in the history

Commits on Jun 29, 2022

  1. Mask SMB password when edit SMB parameters option is unchecked

    When option "Edit SMB Server Parameters" is unchecked, mask the SMB server password
    PhilZ-cwm6 committed Jun 29, 2022
    Configuration menu
    Copy the full SHA
    4b204c9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    acabaad View commit details
    Browse the repository at this point in the history
  3. Code optimize

    On screen rotation, ensure SMB password cannot be shown if Edit SMB Server parameters option is unchecked
    Not needed because the check is also done later in setSyncFolderSmbListener: if the Edit SMB Server parameters option is unchecked, the ll_sync_folder_pswd_view is disabled and password is automatically masked
    PhilZ-cwm6 committed Jun 29, 2022
    Configuration menu
    Copy the full SHA
    2e8ff6d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7ca44f4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d47f5e2 View commit details
    Browse the repository at this point in the history
  6. Update comments

    PhilZ-cwm6 committed Jun 29, 2022
    Configuration menu
    Copy the full SHA
    cd64d55 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    bbde400 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    682f77c View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    651a4bb View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2022

  1. Properly set Save/Ok button after screen rotation in ZIP/SMB view

    After screen rotation in SMB and ZIP, properly enable/disable Save button on view changes
    PhilZ-cwm6 committed Jun 30, 2022
    Configuration menu
    Copy the full SHA
    94ff158 View commit details
    Browse the repository at this point in the history
  2. Fix some spinners are disabled after screen rotation

    - fix bug where the following spinners were disabled after screen rotation:
      + Sync Task Type spinner
      + Sync Wifi option spinner
      + DST offset spinner
    - remove orphan code
    PhilZ-cwm6 committed Jun 30, 2022
    Configuration menu
    Copy the full SHA
    4dab507 View commit details
    Browse the repository at this point in the history
  3. Remove unused code

    PhilZ-cwm6 committed Jun 30, 2022
    Configuration menu
    Copy the full SHA
    edb93b2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    69de8a3 View commit details
    Browse the repository at this point in the history
  5. Do not discard SMB password on screen rotation until folder view is s…

    …aved
    
    In SMB server, if the option "Use account name and password" is unchecked, do not discard the current user/pass on screen rotation until user clicks "Save" button in SMB edit view
    PhilZ-cwm6 committed Jun 30, 2022
    Configuration menu
    Copy the full SHA
    8417b2e View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    122f766 View commit details
    Browse the repository at this point in the history
  7. Fix "Use SMB account/pass" option is not properly set

    If settingSecurityReinitSmbAccountPasswordValue is set, the option Use SMB account/password could be wrongly checked
    PhilZ-cwm6 committed Jun 30, 2022
    Configuration menu
    Copy the full SHA
    5986a4e View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2022

  1. Code clean-up

    PhilZ-cwm6 committed Jul 1, 2022
    Configuration menu
    Copy the full SHA
    54d05fe View commit details
    Browse the repository at this point in the history
  2. Preserve Zip password on screen rotation until folder view is saved

    In Zip edit dialog, if the option "Encryption method" is set to "None", do not discard the current Zip password on screen rotation until user clicks "Save" button in ZIP edit view
    PhilZ-cwm6 committed Jul 1, 2022
    Configuration menu
    Copy the full SHA
    559e599 View commit details
    Browse the repository at this point in the history
  3. Add option to change application settings directory

    New option:  Settings / Security / App settings directory
    PhilZ-cwm6 committed Jul 1, 2022
    Configuration menu
    Copy the full SHA
    fbe5b29 View commit details
    Browse the repository at this point in the history
  4. Update gradle plugin

    PhilZ-cwm6 committed Jul 1, 2022
    Configuration menu
    Copy the full SHA
    4d6d21e View commit details
    Browse the repository at this point in the history
  5. Update and use original zip4j lib v2.11.1

    - upgrade Utilities3 to use last upstream zip4j version 2.11.1
    - build is now possible using stock upstream zip4j
    PhilZ-cwm6 committed Jul 1, 2022
    Configuration menu
    Copy the full SHA
    d001cf1 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    64351b4 View commit details
    Browse the repository at this point in the history
  7. Update README.MD

    PhilZ-cwm6 committed Jul 1, 2022
    Configuration menu
    Copy the full SHA
    635941f View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2022

  1. Fix SyncTak, History and Messages broken after screen rotation

    - fix SyncTask, History and messages could no longer be properly selected after screen rotation
    - if selection mode was enabled in SyncTask, History or messages, after screen rotation the view was unresponsive
    
    This was caused by the corresponding adapters being initialized too early on reloadscreen() view and before the adapter list is populated
    PhilZ-cwm6 committed Jul 2, 2022
    Configuration menu
    Copy the full SHA
    04b946d View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2022

  1. Fix Ok button disabled on file selection even if a file name was set

    When creating a Zip Sync Task, when we browse for existing files and we enter a zip file name, browsing further into an empty directory disabled the Ok button even if the filename is properly set
    PhilZ-cwm6 committed Jul 3, 2022
    Configuration menu
    Copy the full SHA
    01f7857 View commit details
    Browse the repository at this point in the history
  2. Preserve zip file name set by user when browsing files/location

    When editing/creating a zip sync task, if user sets a file name, keep it when browsing for location or a new zip file
    PhilZ-cwm6 committed Jul 3, 2022
    Configuration menu
    Copy the full SHA
    f7da8d2 View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2022

  1. Fix SMB list shares selection not preserved after screen rotation

    Temporary fix instead of creating an activity fragment for the dialog in TaskListUtils
    PhilZ-cwm6 committed Jul 5, 2022
    Configuration menu
    Copy the full SHA
    861ef2a View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2022

  1. Preserve selected server options in scanner after screen rotation

    While in SMB Scanner to select an SMB server after scan, if screen is rotated, after clicking Save button, the selected server settings were not reflected. This fixes the issue
    PhilZ-cwm6 committed Jul 6, 2022
    Configuration menu
    Copy the full SHA
    d10c24e View commit details
    Browse the repository at this point in the history
  2. List SMB shares code clean-up

    - remove unused variables
    - pass in smb settings variables instead of dialog to invokeSelectSmbShareDlg()
    PhilZ-cwm6 committed Jul 6, 2022
    Configuration menu
    Copy the full SHA
    110964e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    18cbb77 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2022

  1. SMB scanner fix view (initialization commit)

    - Fix SMB scanner search results and selected host views
    - Move ListView out of ScrollView
    - Add a ScrollView to Results scanner so that results are not pushed outside screen
    - Fix margins
    PhilZ-cwm6 committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    37cefde View commit details
    Browse the repository at this point in the history
  2. SMB Scanner: Fix scroll bar not always shown when needed

    - Scan results: always show the "Search results:" message
    - Always show scroll bar when needed in Scan settings and Server settings Scroll Views
    - Always show scroll bar when needed in Scan results and Server shares List Views
    PhilZ-cwm6 committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    fd11590 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c438c02 View commit details
    Browse the repository at this point in the history
  4. SMB Scanner optimization and fixes

    - SMB scanner:
      + fix scan progress formatting %s to %d
      + enable user choice to select scanning library SMBv1 (jcifs 1.3.19) or SMBv2/3 (jcifs-ng)
      + by default, intial scan will use the SMB library set in currently configured server or the default app SMB level
      + add option to make initial scan using a custom port (not used)
      + first scan will still use both 139 and 445 default ports
      + UI enhancements
      + use global SMB level labels
    - Add index constants for global smb level spinner
    PhilZ-cwm6 committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    96a7c57 View commit details
    Browse the repository at this point in the history
  5. SMB scanner results view fixes

    - Fix server scanner results alignment when the server has no detected host name
    PhilZ-cwm6 committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    d85d4b7 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2022

  1. Fix SMB Scanner thread could run in the background

    After a first smb scan, when it is completed or cancelled, the next scans started from the same dialog permit to select a server from displayed results while the scan is running.
    This caused the scan to continue running in the background until it was completed. Further scans could be even started while the first scan was not completed causing a significant network hammering.
    Now, the scan results can no longer be selected until a scan thread is cancelled or completed
    PhilZ-cwm6 committed Jul 10, 2022
    Configuration menu
    Copy the full SHA
    fa25564 View commit details
    Browse the repository at this point in the history
  2. SMB scanner selected server UI fix error messages

    In SMB scanner, when selecting an SMB server from search results, properly update the dialog error message.
    If user, password, port or SMB level settings are changed within the server settings, the shares list is cleared and user must refresh again the shares
    PhilZ-cwm6 committed Jul 10, 2022
    Configuration menu
    Copy the full SHA
    6cf071d View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2022

  1. SMB Scanner: support custom port on listing shares 1/2

    Modify UI function selectRemoteShareDlg() to return the whole list of shares
    PhilZ-cwm6 committed Jul 12, 2022
    Configuration menu
    Copy the full SHA
    e1f3ee6 View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2022

  1. Configuration menu
    Copy the full SHA
    8c2769f View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2022

  1. SMB Scanner: preserve found scan port in server info results

    After a scan, when selecting a server from scan results, the selected server settings will reflect the port that could successfully connect to the server during scan
    Previously, it showed an empty port, thus defaulting back to 139 and 445 ports
    PhilZ-cwm6 committed Jul 15, 2022
    Configuration menu
    Copy the full SHA
    825757e View commit details
    Browse the repository at this point in the history
  2. SMB scanner: properly use selected port to display shares

    Previously, the port was ignored and always defaulting to 139 as first port
    PhilZ-cwm6 committed Jul 15, 2022
    Configuration menu
    Copy the full SHA
    788e927 View commit details
    Browse the repository at this point in the history
  3. Set proper error message if connection fails when refreshing shares

    - SMB scanner: When refreshing shares, properly set error message if port / SMB protocol were changed and connection fails.
    This is not yet properly working because "Refresh Shares" uses a delayed thread and the connection will wait to timeout for 30 sec in SMB level 2/3
    
    - On refresh shares, only check the currently selected SMB protocol and not both protocols
    PhilZ-cwm6 committed Jul 15, 2022
    Configuration menu
    Copy the full SHA
    7eed4cd View commit details
    Browse the repository at this point in the history
  4. SMB Scanner: on refresh shares, properly handle connection thread

    On selected SMB server from scan results, when we click refresh shares, an animation will show and properly wait for the SMB server connection to complete or timeout
    Previously, a connection thread could keep running in the background without any connection error message displayed if server went down or connection settings changes
    PhilZ-cwm6 committed Jul 15, 2022
    Configuration menu
    Copy the full SHA
    3305a5a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    73384f6 View commit details
    Browse the repository at this point in the history
  6. SMB Scanner: scan for selected SMB level servers

    - implement spinner instead of radio buttons to select SMB level to scan for
    - when an SMB level is selected, detect only the selected protocol
    - by default, scan for both SMB v1 and SMB v2/3 enabled servers
    - when a server is selected, disable the SMB level radio button for the protocol that was not found to be enabled during scan
    - if we select a server that had no enabled SMB level protocol during scan, warn and force a new scan
    Refreshing shares is no longer possible in this case: exp, when search for SMBv1 servers, SMBv2 only servers could be selected
    PhilZ-cwm6 committed Jul 15, 2022
    Configuration menu
    Copy the full SHA
    bcbeac6 View commit details
    Browse the repository at this point in the history
  7. SMB Scanner: disable server selection if scan protocol is unavailable

    During scan, if we select SMBv1 protocol, disable selection of servers with only SMBv2 protocol, and inversely if we select SMBv2/3 protocol for scan
    - Complete resources in xml/translation
    PhilZ-cwm6 committed Jul 15, 2022
    Configuration menu
    Copy the full SHA
    21cf3de View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2022

  1. SMB Scaner: preserve shares list if password is toggled

    On selected server from scanner results, if password is toggled to show/hide, do not clear a currently displayed shares list
    PhilZ-cwm6 committed Jul 16, 2022
    Configuration menu
    Copy the full SHA
    05c6635 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    91b5342 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d670743 View commit details
    Browse the repository at this point in the history
  4. Adjust SMB Scanner protocol spinner for small screens

    - Use ConstraintLayout to adjust screen elements for the spinner. For long languages, spinner or label can no longer be collapsed totally. Screen layout is better than using weighted layout or layout_constraintWidth_percent
    - Fix left margin for port number field was too large
    PhilZ-cwm6 committed Jul 16, 2022
    Configuration menu
    Copy the full SHA
    573279b View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2022

  1. SMB Scanner fix view on small layouts

    - If view height is narrow (landscape, very small devices), fix the scroll view taking up all the space of scanner results list view.
    - add error/hint top red message to the scroll view to better fit the scan results ListView  on narrow height orientations/screens
    - Use new androidx.constraintLayout
    - pull the scan results listview outside of the ScrollView: fixes the Listview collapsing to a single element or the ListView not being scrollable if it includes many elements
    PhilZ-cwm6 committed Jul 19, 2022
    Configuration menu
    Copy the full SHA
    aa553ab View commit details
    Browse the repository at this point in the history
  2. Fix SMB scanner invalid results could be selected

    Fix scan results without either SMB v1 neither SMB v2/3 could still be selected and were not shown as greyed out (disabled)
    This could happen when scanning on unsupported server ports
    PhilZ-cwm6 committed Jul 19, 2022
    Configuration menu
    Copy the full SHA
    4111754 View commit details
    Browse the repository at this point in the history
  3. Fix SMB Scanner crash from upstream

    If many scan results are available in a short interval, the results list adapter could be modified in a non synchronized way by different threads, same for the results ListView
    This can be reproduced by enabling the // debug code in commit to quickly add all ip range servers to the adapter
    PhilZ-cwm6 committed Jul 19, 2022
    Configuration menu
    Copy the full SHA
    2f0501f View commit details
    Browse the repository at this point in the history
  4. Fix scan results added after scan was cancelled

    Ensure the Scan results view is enabled only after the ongoing scan threads are completed. This fixes the issue where once scan is cancelled, the GUI got enabled too quickly and some scan results could show only after a few seconds/minutes in the results view
    PhilZ-cwm6 committed Jul 19, 2022
    Configuration menu
    Copy the full SHA
    a7121d8 View commit details
    Browse the repository at this point in the history

Commits on Jul 20, 2022

  1. SMB Scanner server selection view for smaller screens

    Server selection dialog from SMB Scanner results: fixes for small screens
    PhilZ-cwm6 committed Jul 20, 2022
    Configuration menu
    Copy the full SHA
    eb961cc View commit details
    Browse the repository at this point in the history
  2. Fix NPE app/system crash from SafManager3

    On app start and editing SyncTask directories, an NPE crash occurs when trying to get App Specific Directory
    The method result was not used actually as the paths are currently hard coded in Utilities3, so the crash was not happening on all systems and every time
    PhilZ-cwm6 committed Jul 20, 2022
    Configuration menu
    Copy the full SHA
    047549b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7aa2c05 View commit details
    Browse the repository at this point in the history
  4. Do not use hard coded references to storage paths

    Do not use hard coded references like "/storage/emulated/0". Use built in Android methods to get relevant storage path. This ensures a better compatibility across devices with different storage path standard
    PhilZ-cwm6 committed Jul 20, 2022
    Configuration menu
    Copy the full SHA
    e56ccea View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    87a6e0f View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    cc74b61 View commit details
    Browse the repository at this point in the history

Commits on Jul 21, 2022

  1. Configuration menu
    Copy the full SHA
    7673f84 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    32e1206 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9adee7c View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2022

  1. SMB Scanner: proper multithreading scan

    SNB Scanner:
    - it is now truely multithreading
    - simpler code and limit nested synchronizer blocks
    - fix compiler warnings and synchronize on true final objects
    PhilZ-cwm6 committed Jul 22, 2022
    Configuration menu
    Copy the full SHA
    1fb1540 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1fb7c19 View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2022

  1. Configuration menu
    Copy the full SHA
    d3c9188 View commit details
    Browse the repository at this point in the history
  2. SMB Scanner result selected: optimize error message visibility

    On SMB Scanner server result selected dialog, we use a scroll view and a listview below it.
    To properly let the user know that the info message (in red is present):
    - if error message is out of screen, change dialog title color to red
    - on refresh shares, if error, always scroll to top of screen and show the error
    - various code optimization to select/unselect listview items
    PhilZ-cwm6 committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    8e6ffa0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    577f2ad View commit details
    Browse the repository at this point in the history
  4. SMB Scanner: fix changing password did not reset shares list

    - SMB Scanner: fix changing hidden password did not reset a displayed shares list unless end eye icon was first pressed. After it was pressed once, it worked as expected
    - Change scroll to top and set title color methods to generic parameters
    PhilZ-cwm6 committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    750cf82 View commit details
    Browse the repository at this point in the history
  5. SMB Scanner: optimize error message visibility

    On SMB Scanner dialog, we use a scroll view and a listview below it to display scan results.
    To properly let the user know that the info message (in red is present):
    - if error message is out of screen, change dialog title color to red
    - after a scan for servers, always scroll to top of screen and show the result message
    PhilZ-cwm6 committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    126ce66 View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2022

  1. Configuration menu
    Copy the full SHA
    88bccd3 View commit details
    Browse the repository at this point in the history
  2. Font size: Deprecate use of updateConfiguration()

    Use new APIs to set font size. This requires now an optional app restart like theme and language
    PhilZ-cwm6 committed Jul 24, 2022
    Configuration menu
    Copy the full SHA
    fdf3374 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    93b038b View commit details
    Browse the repository at this point in the history
  4. Cleanup code to restart app on some settings change

    On language, theme, font or app dir changes, an app restart is either optional or required
    Cleanup the code to make it clear how the checks are processed after settings change
    Also, localize some variables in the various Settings activity subclasses
    PhilZ-cwm6 committed Jul 24, 2022
    Configuration menu
    Copy the full SHA
    ffb56e7 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    55600d9 View commit details
    Browse the repository at this point in the history
  6. Add help comments

    PhilZ-cwm6 committed Jul 24, 2022
    Configuration menu
    Copy the full SHA
    48d481b View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2022

  1. Fix deprecated onAttach(Activity activity)

    - replace deprecated onAttach(Activity a) by onAttach(Context c)
    PhilZ-cwm6 committed Jul 25, 2022
    Configuration menu
    Copy the full SHA
    4ce2d42 View commit details
    Browse the repository at this point in the history
  2. Fix resource format

    PhilZ-cwm6 committed Jul 25, 2022
    Configuration menu
    Copy the full SHA
    2e9735d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8870ddd View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    83df6a5 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6a6a08f View commit details
    Browse the repository at this point in the history
  6. Code clean up

    PhilZ-cwm6 committed Jul 25, 2022
    Configuration menu
    Copy the full SHA
    30548ba View commit details
    Browse the repository at this point in the history
  7. Fix deprecated Date format for archive destination filename preview

    The archived file name preview text during Edit Archive Sync Task
    PhilZ-cwm6 committed Jul 25, 2022
    Configuration menu
    Copy the full SHA
    e914344 View commit details
    Browse the repository at this point in the history
  8. Fix compiler warnings

    PhilZ-cwm6 committed Jul 25, 2022
    Configuration menu
    Copy the full SHA
    494bfed View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    46d0b3d View commit details
    Browse the repository at this point in the history
  10. Implement both Cloneable (not used) and Serializable clone() methods

    Just to have a proper implementation of the SyncFolderEditValue class and be able to clone it using both methods
    PhilZ-cwm6 committed Jul 25, 2022
    Configuration menu
    Copy the full SHA
    35b7715 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    ad1a365 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    d468363 View commit details
    Browse the repository at this point in the history
  13. Compiler warning fixes

    PhilZ-cwm6 committed Jul 25, 2022
    Configuration menu
    Copy the full SHA
    3a69e4c View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    ad7280a View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    85a1e5f View commit details
    Browse the repository at this point in the history
  16. Fix compiler warnings

    PhilZ-cwm6 committed Jul 25, 2022
    Configuration menu
    Copy the full SHA
    36ac44f View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    9935b34 View commit details
    Browse the repository at this point in the history
  18. Fix compiler warnings

    PhilZ-cwm6 committed Jul 25, 2022
    Configuration menu
    Copy the full SHA
    1344f21 View commit details
    Browse the repository at this point in the history
  19. SaveHistory synchronize on a final object

    Also log if delete of old pruned result_log/file fails
    PhilZ-cwm6 committed Jul 25, 2022
    Configuration menu
    Copy the full SHA
    f7443bc View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    3cc00f2 View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2022

  1. Preserve file/directory time/date template after screen rotation

    When editing the  directory/zip/archive target name, after screen rotation, the time/date formatting applied to directory/file names was not preserved
    PhilZ-cwm6 committed Jul 26, 2022
    Configuration menu
    Copy the full SHA
    e7f78b4 View commit details
    Browse the repository at this point in the history

Commits on Aug 31, 2022

  1. Fix NPE crash on app start for some rare devices

    Implement Utilities3 fix:
    On a few devices, there is an implementation bug for secondary external storage (removable sdcard) causing getExternalFilesDirs() method to only return the path for primary external storage (internal non removable storage /Storage/emulated/0)
    This includes a few Lenovo devices and emulator Pixel devices for APIs 26 and 27
    PhilZ-cwm6 committed Aug 31, 2022
    Configuration menu
    Copy the full SHA
    5decb11 View commit details
    Browse the repository at this point in the history
  2. Deprecate startActivityForResult() and requestPermissions()

    Deprecate Activity.startActivityForResult(), onActivityResult(), requestPermissions() and onRequestPermissionsResult() in favor of ActivityResultLauncher, registerForActivityResult, ActivityResultContracts
    PhilZ-cwm6 committed Aug 31, 2022
    Configuration menu
    Copy the full SHA
    1e58ba8 View commit details
    Browse the repository at this point in the history
  3. Enable Storage access permission in app menu

    - Enable the Storage permissions access in menu. This menu will be later migrated to a menu showing access to all app permissions
    - When requesting storage permissions from menu, do not exit app if permission was already granted and user cancels the permission request
    PhilZ-cwm6 committed Aug 31, 2022
    Configuration menu
    Copy the full SHA
    590f4de View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ddd9d58 View commit details
    Browse the repository at this point in the history
  5. Deprecate startActivityForResult()

    Deprecate startActivityForResult to request  access to external removable storage (external SD) on App start and in Task Editor
    PhilZ-cwm6 committed Aug 31, 2022
    Configuration menu
    Copy the full SHA
    b493575 View commit details
    Browse the repository at this point in the history
  6. Deprecate setRetainInstance() and getRetainInstance()

    EditSynTask views are properly saved and reloaded on configuration changes (screen rotation) and use of deprecated setRetainInstance() is not needed
    PhilZ-cwm6 committed Aug 31, 2022
    Configuration menu
    Copy the full SHA
    b62eeee View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    3350f05 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    d682498 View commit details
    Browse the repository at this point in the history
  9. Fix potential memory leak

    Fixes warning : Do not place Android context classes in static fields (static reference to `NotifyEvent` which has field `context` pointing to `Context`); this is a memory leak
    PhilZ-cwm6 committed Aug 31, 2022
    Configuration menu
    Copy the full SHA
    120b3f7 View commit details
    Browse the repository at this point in the history

Commits on Sep 2, 2022

  1. Formatting

    PhilZ-cwm6 committed Sep 2, 2022
    Configuration menu
    Copy the full SHA
    75e907b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    740e034 View commit details
    Browse the repository at this point in the history
  3. Gradle upgrade 7.2.2

    PhilZ-cwm6 committed Sep 2, 2022
    Configuration menu
    Copy the full SHA
    fd6e85a View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2022

  1. Always reload config when returning from Settings

    On returning from Settings (back button), setting were not reloaded
    PhilZ-cwm6 committed Sep 5, 2022
    Configuration menu
    Copy the full SHA
    e542fe0 View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2022

  1. New prefs: Deprecate PreferenceActivity for PreferenceFragmentCompat

    Deprecate PreferenceActivity and migrate to AppCompatActivity with PreferenceFragmentCompat as it was deprecated since Android 3.0 (API 11)
    PhilZ-cwm6 committed Sep 14, 2022
    Configuration menu
    Copy the full SHA
    2773c16 View commit details
    Browse the repository at this point in the history
  2. Preferences: disable force dual pane in landscape orientation

    Dual pane view is not supported in androidx Preference library
    We need a custom fragment layout for this
    For now, disable the dual pane view in preferences
    PhilZ-cwm6 committed Sep 14, 2022
    Configuration menu
    Copy the full SHA
    70c75b6 View commit details
    Browse the repository at this point in the history
  3. Fix orientation to portrait mode was not applied properly

    - apply option immediately
    - apply option also in Create/Edit password option
    PhilZ-cwm6 committed Sep 14, 2022
    Configuration menu
    Copy the full SHA
    c7608eb View commit details
    Browse the repository at this point in the history
  4. Preferences: add open app system permissions option

    - Add menu to open app system permissions
    - Fix string resource in xml
    PhilZ-cwm6 committed Sep 14, 2022
    Configuration menu
    Copy the full SHA
    7ccaf86 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    cf2879b View commit details
    Browse the repository at this point in the history
  6. Use Bundle savedInstanceState from onCreate() to check app start state

    To know if the app main activity is starting for the first time or is being recreated after being killed/restarted by Android system (system app permission change, low memory, system developer's option "Don't keep activities") we use Bundle savedInstanceState from onCreate() instead of relying on onRestoreInstanceState() method call
    
    This change is only for convenience as it is uncommon to use it in onRestoreInstanceState()
    PhilZ-cwm6 committed Sep 14, 2022
    Configuration menu
    Copy the full SHA
    5e59c50 View commit details
    Browse the repository at this point in the history
  7. Fix NPE crash when changing system app permissions while in Preferences

    When system app permissions are changed, Android system recreates the activity effectively calling onCreate()
    This was causing an NPE crash if, while in app preferences (settings activity), the user moved to system app permissions and removed an app permission like storage access. The NPE occurred when returning to main app.
    In upstream source, this scenario would cause a false app prompt to restart if some settings (theme, text size, app directory...) are set to other than default values.
    
    This patch fixes the NPE crash and any useless prompt for app restart in such scenarios where onCreate() is called when back to main activity
    PhilZ-cwm6 committed Sep 14, 2022
    Configuration menu
    Copy the full SHA
    9f53981 View commit details
    Browse the repository at this point in the history
  8. Define a default theme variable in code

    Only code cleanup, no change in function
    PhilZ-cwm6 committed Sep 14, 2022
    Configuration menu
    Copy the full SHA
    1ea1e8a View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    a2180aa View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    26511a5 View commit details
    Browse the repository at this point in the history
  11. Add settings option to revoke storage permission

    On Android versions before SDK 30, only enable storage is possible from this new option. Storage access can still be revoked inside app using "All app system permissions" menu
    PhilZ-cwm6 committed Sep 14, 2022
    Configuration menu
    Copy the full SHA
    0fee1fc View commit details
    Browse the repository at this point in the history
  12. Disable All file access context menu

    This menu is now useless since we have storage permission option in Settings / Advanced
    PhilZ-cwm6 committed Sep 14, 2022
    Configuration menu
    Copy the full SHA
    f6e8e5b View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2022

  1. Preferences: Restore the Custom List Pref for compressed file types

    - Restore original upstream custom list preference for non compressed file types
    - Deprecate legacy Preference Dialog implementation and migrate to androidx
    - Fix screen rotation did not properly preserve Ok button state
    - Add missing resources for edit compress file type dialogs
    - Fix compression file types list sorting was only applied in adapter and not persisted in saved preferences
    - Fix when editing file type entries in list, they were not sorted when back to the list view
    PhilZ-cwm6 committed Sep 16, 2022
    Configuration menu
    Copy the full SHA
    83ae1fa View commit details
    Browse the repository at this point in the history

Commits on Sep 17, 2022

  1. Custom List Preference: Deprecate getFragmentManager()

    - Deprecate getFragmentManager()
    - Notice about deprecated setTargetFragment():
    Deprecated setTargetFragment() must be implemented because source file PreferenceDialogFragmentCompat.java implements @SuppressWarnings("deprecation") in onCreate() for deprecated getTargetFragment() method.
    Else, we get JavaExcption error "Target fragment must implement TargetFragment interface"
    Until PreferenceDialogFragmentCompat.java adds an alternative, we're stuck to using setTargetFragment() deprecated method here
                        https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-preference-release/preference/preference/src/main/java/androidx/preference/PreferenceDialogFragmentCompat.java#78
    PhilZ-cwm6 committed Sep 17, 2022
    Configuration menu
    Copy the full SHA
    2f43f0f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    11b1ad2 View commit details
    Browse the repository at this point in the history

Commits on Sep 21, 2022

  1. Custom List Preference: support undo and properly enable Ok button

    For custom list preference (non compressed file types selection):
    - add option to undo delete entry
    - when list is modified, Ok button will only be enabled if the final resulting list is different from the original one
    - on screen rotation and activity killed, properly preserve all the custom preference list dialogs state
    PhilZ-cwm6 committed Sep 21, 2022
    Configuration menu
    Copy the full SHA
    7ea7f00 View commit details
    Browse the repository at this point in the history
  2. Upgrade gradle, plugins and buildToolsVersion to target latest SDK 33

    - Upgrade all tools and plugins to latest releases
    - Target SDK 33
    PhilZ-cwm6 committed Sep 21, 2022
    Configuration menu
    Copy the full SHA
    9423964 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6e68366 View commit details
    Browse the repository at this point in the history