Commit Graph

77 Commits

Author SHA1 Message Date
Adam Sharp
5f1820748e Don't ignore theme changes when switching to system interface style
When switching to the "system" theme mode, if the effective appearance matched
the previous overridden theme mode, the theme change would be ignored. By
comparing the mode instead of just the effective appearance, we properly react
to system appearance changes.

Additionally, rework the transition animation for changing themes to match the
animation of system appearance changes (i.e., a 0.5-second cross-dissolve).

Fixes: https://signalmessenger.atlassian.net/browse/IOS-4431
2024-05-13 16:16:53 -05:00
Ehren Kret
30424e19ae remove OWSNavigationControllerBase
This appears to have been a hack for something that may have been
necessary in older versions of iOS. Current iOS seems to just return
true with no side-effects from this super call so there's no reason to
retain this hack apparent.
2024-04-28 23:19:43 -05:00
Ehren Kret
a99f79ceed remove availability checks for iOS 14 and 14.0 2024-04-27 13:07:03 -05:00
Elaine
ef8e838553
Allow contact notes to be viewed and edited from the contact about sheet 2024-04-09 16:31:25 -06:00
Jordan Rose
b0de59f2e2 Remove required from every init that is not dynamically dispatched
This included:
- Removing unavailable inits wholesale if no longer `required`
- Marking a few classes `final` so they could continue using
  `Self(...)` rather than `OWSWhatever(...)`
2024-04-01 15:27:20 -07:00
Pete Walters
b1c3c14e68
Add dev-only backup restore option for registraion flow. 2024-03-29 19:18:06 -05:00
Elaine
393a152a2b
Add more contact badges 2024-03-29 16:08:35 -06:00
Max Radermacher
8910fc4d5b
Move around files in SignalUI/ and the share ext 2024-03-25 14:22:28 -05:00
Ehren Kret
d4e17730f3 remove import SignalMessaging statements 2024-03-12 03:35:34 -05:00
Ehren Kret
9c7078b3f8 migrate OWSContactsManager to swift
as the last remaining objective-c file, this removed direct dependency
from the SignalMessaging framework headers on SignalServiceKit and
thus required adding lots of import statements
2024-03-09 10:45:55 -06:00
Elaine
3f22ca0a66
Update color and layout of calls tab row items 2024-02-27 15:16:44 -07:00
Elaine
048c6661ee
Add context menu options to New Call flow 2024-02-26 15:55:08 -07:00
Pete Walters
a92368cf9e
Handle incoming spam (and block) sync messages 2024-02-21 11:17:45 -06:00
Elaine
0f12ee5cc7
Add verified checkmark to profile spoofing prevention sheet 2024-02-13 15:19:23 -07:00
Elaine
5591a4a9fe
Add "Find by Username" view 2024-02-12 16:14:19 -07:00
Elaine
fcec78006a
Add contact details sheet to disambiguate accounts with similar profiles 2024-01-31 09:41:53 -07:00
Elaine
c8f040dd59
Move username link sheet to action button 2024-01-04 14:57:31 -07:00
Elaine
f0f357fcec
Add wireframe for calls tab UI 2023-12-22 10:27:24 -07:00
Elaine
8111cade76
Adjust settings profile row QR code icon 2023-12-15 17:51:42 -07:00
Marissa Le Coz
51940a60e8
Make wallpaper swatches accessible 2023-12-08 16:45:05 -08:00
Max Radermacher
48f2c42c4f
Add thread merge events 2023-09-14 12:07:49 -05:00
Igor Solomennikov
dc81ea532a
Initial commit for updated attachment keyboard.
• Redesigned appearance of the attachment type picker.
• Camera replaced with Photos.
• No more floating Gallery button.
2023-09-07 21:35:12 -07:00
Harry
5801d59254
Allow switching to front facing camera during device transfer 2023-09-07 16:43:57 -07:00
Igor Solomennikov
1f1fbd60c5 Do not convert images returned by ThemeIcon to template. 2023-07-17 10:33:08 -07:00
Sasha Weiss
88e8227fd0
Implement dual-mode present and scan username link controller 2023-07-07 15:04:32 -07:00
Max Radermacher
de1589d15f
Prepare chat colors for thread merges 2023-07-07 13:17:55 -05:00
Max Radermacher
3664cafe88
Simplify and fix issues with chat colors 2023-07-07 13:15:21 -05:00
Igor Solomennikov
0e9d511d1d
SignalUI cleanup.
• convert ObjC code from UIView+SignalUI to Swift.
• separate code from UIView+SignalUI to smaller files by functionality.
2023-06-23 14:36:21 -07:00
Igor Solomennikov
52f0015dfe
New set of icons. 2023-06-22 17:38:01 -07:00
Igor Solomennikov
0686b39547 Add necessary imports to Swift files.
Those would be required for future PRs.
2023-06-13 14:46:12 -07:00
Harry
f728457039
Update build target to iOS 13.0 2023-06-08 16:21:20 -07:00
Igor Solomennikov
56e126bda6
Convert OWSSearchBar to Swift. 2023-06-07 11:39:51 -07:00
Igor Solomennikov
c054f3de91
Remove unnecessary "@objc" in SignalUI. 2023-05-16 16:39:19 -07:00
Max Radermacher
e789cc43fe
Remove unused ChatColors code 2023-05-04 15:58:11 -07:00
Harry
c8da382654
Handle text formatting styles in conversation list snippets 2023-05-03 22:04:05 -07:00
Igor Solomennikov
bb2b665f6f
Convert Theme to Swift. 2023-05-02 12:49:36 -07:00
Max Radermacher
92e170fe12
Swiftify SSKEnvironment 2023-04-14 10:58:21 -07:00
Evan Hahn
788424eef4 Swiftify setupSignalAppearance and move it to Theme
This was a pretty mechanical change.
2023-04-12 11:44:17 -07:00
Sasha Weiss
4b549f9e92
Ensure icon is recreated when cell is regenerated, to get right color 2023-02-08 16:11:48 -08:00
Adam Mork
f405846faa
[Payments] Inset Styling Update for Payments
* inset styling updates, squashed to one commit off latest main

* linting
2023-02-06 09:13:35 -08:00
Max Radermacher
015803297a
Add .notAllowed to editingAuthorization for iPad 2023-02-01 11:33:37 -08:00
Sasha Weiss
8d627bf0be
Add a header view to username selection 2023-01-27 15:19:35 -08:00
Max Radermacher
f111a7f162
Swiftify DomainFrontingCountryViewController
Also:
* Remove OWSTableViewController2.useNewStyle
* Remove useThemeBackgroundColors
* Remove unused table view bg/cell colors
2022-12-06 12:53:45 -08:00
Igor Solomennikov
3abcb3294b Fix typo: "appearence" -> "appearance". 2022-11-29 22:01:42 -08:00
Igor Solomennikov
11d1807e35
More updates to chat input bar.
* Updates to "sticker" button in chat input bar.

• switch button to "keyboard" when sticker keyboard is active.
• add spring animations to sticker/keyboard buttons.
• clean up animation code: use one UIViewPropertyAnimator for all animations
  happening in chat bar at once.

* Ensure correct "pressed state" appearance for buttons in chat bar.
2022-11-14 13:33:37 -08:00
Evan Hahn
198fc1784a
Consolidate one-time & monthly donation screens
Previously, one-time donations were on one screen and monthly donations
were on another. Now, they're on a single screen with a picker.

Most of the interesting changes are in `DonateViewController`.

Other things of note:

- There are some new TODOs here for existing bugs I didn't fix. For
  example, one-time donations don't do so well if there are any problems
  at all.

- Even though we only support Apple Pay, there's code that alludes to
  additional payment methods. For example,
  `DonateChoosePaymentMethodSheet`. We'll expand on this in the future.

- Users should only be able to select currencies that the server
  supports. For example, you shouldn't be able to select EUR if the
  server doesn't support euros. This wasn't working correctly before,
  but is fixed here.

  We already fixed one part, where users could change to an unsupported
  currency (see dab02f30ae). However, if
  your _default_ currency is unsupported and you didn't change it,
  that's no good. This is unlikely for most users but could happen.

  I fixed this by changing it from (effectively)
  `Locale.current.currencyCode ?? "USD"`, which might not be supported,
  to a preference list, choosing the first one the server likes.

- I skip animations if the Reduce Motion setting is enabled.

- On the donation screen, the logic for the preview badge has changed
  slightly. If you already have a badge, we'll always use that.
2022-11-08 16:27:50 -06:00
Nora Trapp
8c633c718e Private Story -> Custom Story 2022-10-18 15:41:04 -07:00
Nora Trapp
9639393ded Move stories settings to root level 2022-10-18 11:08:50 -07:00
Evan Hahn
370ff654e7
Change license to AGPL
Change license to AGPL

This commit:

- Updates the `LICENSE` file

- Start every file with something like:

      // Copyright YEAR_FIRST_PUBLISHED Signal Messenger, LLC
      // SPDX-License-Identifier: AGPL-3.0-only

---

First, I removed existing license headers with this Ruby 3.1.2 script:

    require 'set'

    EXTENSIONS_TO_CHECK = Set['.h', '.hpp', '.cpp', '.m', '.mm', '.pch', '.swift']

    same = 0
    different = 0

    all_files = `git ls-files`.lines.map { |line| line.strip }
    all_files.each do |relative_path|
      if relative_path == 'Pods'
        next
      end

      unless EXTENSIONS_TO_CHECK.include? File.extname(relative_path)
        next
      end

      path = File.expand_path(relative_path)

      contents = File.read(path)
      new_contents = contents.sub(/\/\/\n\/\/  Copyright .*\n\/\/\n\n/, '')

      if contents == new_contents
        same += 1
      else
        different += 1
      end

      File.write(path, new_contents)
    end

    puts "updated #{different} file(s), left #{same} untouched"

I'm sure this script could be improved, but it worked well enough.

Then, I created `Scripts/lint/lint-license-headers` and ran it to auto-
fix a lot of files. This changed the mode of some files, but I think
that's actually desirable. For example,
`SignalServiceKit/src/Util/AppContext.m` previously had a mode of
`0755/-rwxr-xr-x`, and it's now `0644/-rw-r--r--`.

Then I fixed some stragglers and updated the precommit script.

See [a similar change in the Desktop app][0].

[0]: 8bfaf598af
2022-10-13 08:25:37 -05:00
Harry Sanabria
d64a850be0 Fix native context menu icon sizes 2022-10-07 07:49:41 -07:00