History log of /frameworks/minikin/tests/unittest/FontCollectionTest.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d8983d43240b28677767c487b48e8ca972cb53dd 18-Mar-2017 Roozbeh Pournader <roozbeh@google.com> Relax requirement for text variation sequences

Previously, we insisted that in order for us to claim that a text variation
sequence is supported or to display it, it needs to be standardized already.
Now we accept any character as the base of a text variation sequence and
support it as far the font used to display it is not an emoji font.

Also fix a typo in a font name.

Test: Unit tests are updated and pass.

Bug: 30874706
Change-Id: I9660ec43aeee84303cfb825352a7f5029d036dd6
/frameworks/minikin/tests/unittest/FontCollectionTest.cpp
dfbc6e374259f9d81940b5195ac013b02429af27 10-Feb-2017 Seigo Nonaka <nona@google.com> Remove MinikinRefCounted and use shared_ptr instead

Let's use shared_ptr since manual ref counting can be a bug-prone and
using the global mutex inside destructor is not useful for some time.

To remove raw pointer manipulation, needed to change Layout
constructors. Layout is no longer copyable and need to pass
FontCollection to constructor.

Bug: 28119474
Test: minikin_tests passed
Test: hwui_unit_tests passed
Test: No performance regression in minikin_perftest.
Change-Id: I8824593206ecba74cbc9731e298f045e1ae442a3
/frameworks/minikin/tests/unittest/FontCollectionTest.cpp
065c46a665d562c93ffa82fda10dee52a16ac23b 22-Nov-2016 Seigo Nonaka <nona@google.com> Introduce createCollectionWithVariation.

This is 2nd attempt of I08e9b74192f8af1d045f1276498fa4e60d73863e.
The original CL was reverted due to conflicting with another CL submitted
before.

Here is the original commit message of reverted change.

This lays the groundwork for variation settings support.
Since we should regard different variations of a font as different fonts, we
need to create new typefaces. To reuse the same instance of MinikinFont, as
much as possible, FontFamily::createFamilyWithVariation now reuses an
existence instance, while incrementing the reference count.

Test: minikin_tests
Bug: 33062398
Change-Id: Ib25bf1bb5a5191e15a6523954146521464c91906
/frameworks/minikin/tests/unittest/FontCollectionTest.cpp
41718c770d0ae12133270a4ee4a8dbd27851480d 28-Dec-2016 Seigo Nonaka <nona@google.com> Remove FontFamily.addFont and make FontFamily immutable.

This is 2nd attempt of 41e02e96131c1ec66d013e4615348be013518dc4
The difference is adding clearElementsEithLock to Font class which
is necessary to delete Fonts object outside of minikin. This method
should be removed once http://b/28119474 is fixed.

Here is original commit message of reverted change.

This lays the groundwork for making SparseBitSet serializable.
FontFamily.addFont is only used when the FontFamily is constructed.
Thus, instead of calling FontFamily.addFont multiple time, passes
Font list to the constructor. By this change, FontFamily can be
immutable now.

By making FontFamily immutable, We can create FontFamily with
pre-calculated SparseBitSet.

Bug: 34042446
Bug: 28119474
Bug: 34378805
Test: minikin_tests has passed
Change-Id: Ice433931196f5ae79a1a7ee0c98020f914aeb5f2
/frameworks/minikin/tests/unittest/FontCollectionTest.cpp
cc0352cc677e4ecea6ae12f734a010d290734e86 20-Jan-2017 Siyamed Sinir <siyamed@google.com> Revert "Remove FontFamily.addFont and make FontFamily immutable."

This reverts commit 41e02e96131c1ec66d013e4615348be013518dc4.

Bug: 34378805
Change-Id: I8f1ee00b365c8b17c6140e9e286fbea082e31364
/frameworks/minikin/tests/unittest/FontCollectionTest.cpp
1c7b0261542f8a54e7b3e52236070f62d073e17f 20-Jan-2017 Siyamed Sinir <siyamed@google.com> Revert "Introduce createCollectionWithVariation."

This reverts commit 90e6b1885d44c33b1da9477a85dc7dd066acd33f.

Bug: 34378805
Change-Id: I22b683f774813724f220b1b8584ab188f3cf4fa7
/frameworks/minikin/tests/unittest/FontCollectionTest.cpp
90e6b1885d44c33b1da9477a85dc7dd066acd33f 22-Nov-2016 Seigo Nonaka <nona@google.com> Introduce createCollectionWithVariation.

This lays the groundwork for variation settings support.
Since we should regard different variations of a font as different fonts, we
need to create new typefaces. To reuse the same instance of MinikinFont, as
much as possible, FontFamily::createFamilyWithVariation now reuses an
existence instance, while incrementing the reference count.

Test: minikin_tests
Bug: 33062398
Change-Id: I08e9b74192f8af1d045f1276498fa4e60d73863e
/frameworks/minikin/tests/unittest/FontCollectionTest.cpp
41e02e96131c1ec66d013e4615348be013518dc4 28-Dec-2016 Seigo Nonaka <nona@google.com> Remove FontFamily.addFont and make FontFamily immutable.

This lays the groundwork for making SparseBitSet serializable.
FontFamily.addFont is only used when the FontFamily is constructed.
Thus, instead of calling FontFamily.addFont multiple time, passes
Font list to the constructor. By this change, FontFamily can be
immutable now.

By making FontFamily immutable, We can create FontFamily with
pre-calculated SparseBitSet.

Bug: 34042446
Test: minikin_tests has passed
Change-Id: I2576789fba6cb27687e920e2488e8bedbcf7d36f
/frameworks/minikin/tests/unittest/FontCollectionTest.cpp
fd77b01ff2cb5c55f02929b5821ddc41aee0cd05 18-Oct-2016 Seigo Nonaka <nona@google.com> Clean Up: Removing unused interface GetTable from MinikinFont.

This is 2nd attempt of Ifcd7a348d7fb5af081192899dbcdfc7fb4eebbf9

After Id766ab16a8d342bf7322a90e076e801271d527d4, GetTable is no longer
used in production due to poor performance and it is now only used in
tests. This CL removes GetTable interface from MinikinFont and update
tests code to use new interfaces, GetFontData, GetFontSize and
GetFontIndex.

Bug: 27860101
Test: Manually done
Change-Id: Ib48973ff25cdc61a4c666d28128266df0aaea83e
/frameworks/minikin/tests/unittest/FontCollectionTest.cpp
8d7ed7374b67fe16e8ce0815ec6f8d12c5126c9e 25-Oct-2016 Seigo Nonaka <nona@google.com> Revert "Clean Up: Removing unused interface GetTable from MinikinFont."

This reverts commit 1d525df4f0849a980c3204d5e4d41cbcc42f4ad6.

This causes a crash on Android Auto.

Bug: 32374752
Change-Id: Ia2ff77bf9a12351c6949f79ef6fa2d8016e3022d
/frameworks/minikin/tests/unittest/FontCollectionTest.cpp
1d525df4f0849a980c3204d5e4d41cbcc42f4ad6 18-Oct-2016 Seigo Nonaka <nona@google.com> Clean Up: Removing unused interface GetTable from MinikinFont.

After Id766ab16a8d342bf7322a90e076e801271d527d4, GetTable is no longer
used in production due to poor performance and it is now only used in
tests. This CL removes GetTable interface from MinikinFont and update
tests code to use new interfaces, GetFontData, GetFontSize and
GetFontIndex.

Bug: 27860101
Test: Manually done

Change-Id: Ifcd7a348d7fb5af081192899dbcdfc7fb4eebbf9
/frameworks/minikin/tests/unittest/FontCollectionTest.cpp
1946f48e84fd67943dd2d09b3fee94028fbfe762 30-Jun-2016 Seigo Nonaka <nona@google.com> Treat U+2695, U+2640, U+2642 as emoji characters.

Bug: 29885295
Change-Id: I1bf191a46d05e7099265d863bae0523c50817d0b
/frameworks/minikin/tests/unittest/FontCollectionTest.cpp
81c79d6e1e49562c9bc33c14826017dd5e33ebec 16-Jun-2016 Seigo Nonaka <nona@google.com> Fix test utilities

This fixes following three memory leaks in test utilities.
There is no problem in production code and this CL doesn't affect
any production behaviors.

- SkTypeface leaks due to forget calling SkSafeUnref in dtor.
- MinikinFontForTest leaks during constructing FontCollection.
- FontCollection leaks due to unnecessary AddRef.

Change-Id: I22e1e0307f1b2499296acb1aacc3ef66076a36e9
/frameworks/minikin/tests/unittest/FontCollectionTest.cpp
14e2d136aaef271ba131f917cf5f27baa31ae5ad 09-Jun-2016 Seigo Nonaka <nona@google.com> Always use minikin namespace.

Here is a new policy of the namespace of minikin.
- All components should be in minikin namespace.
- All tests are also in minikin namespace and no anonymous namespace.

Bug: 29233740
Change-Id: I71a8a35049bb8d624f7a78797231e90fed1e2b8c
/frameworks/minikin/tests/unittest/FontCollectionTest.cpp
c38b249ef7ed969fa8f8cf3c98331353a90ba9f2 03-Jun-2016 Seigo Nonaka <nona@google.com> Reconstruct the directory structure of minikin tests.

To add perftests and reuse some utility classes, reconstruct
test directory structure.

- Move unit tests from minikin/tests to minikin/tests/unittests
- Extract utilitiy classes to minikin/tests/utils which will be
used by perftests eventually.

Change-Id: I5026b177934e72ae67d362ee888302037da2f808
/frameworks/minikin/tests/unittest/FontCollectionTest.cpp