Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 002f9d5c authored by David Pursell's avatar David Pursell Committed by Gerrit Code Review
Browse files

Merge "adb: fix adbd feature parsing for no features."

parents eccf0a45 d2b588e2
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -239,6 +239,10 @@ void parse_banner(const std::string& banner, atransport* t) {
    // "device::ro.product.name=x;ro.product.model=y;ro.product.device=z;".
    std::vector<std::string> pieces = android::base::Split(banner, ":");

    // Reset the features list or else if the server sends no features we may
    // keep the existing feature set (http://b/24405971).
    t->SetFeatures("");

    if (pieces.size() > 2) {
        const std::string& props = pieces[2];
        for (auto& prop : android::base::Split(props, ";")) {
+4 −0
Original line number Diff line number Diff line
@@ -796,6 +796,10 @@ std::string FeatureSetToString(const FeatureSet& features) {
}

FeatureSet StringToFeatureSet(const std::string& features_string) {
    if (features_string.empty()) {
        return FeatureSet();
    }

    auto names = android::base::Split(features_string,
                                      {kFeatureStringDelimiter});
    return FeatureSet(names.begin(), names.end());
+3 −0
Original line number Diff line number Diff line
@@ -167,6 +167,9 @@ TEST(transport, SetFeatures) {
    ASSERT_FALSE(t.has_feature("foo"));
    ASSERT_TRUE(t.has_feature("bar"));
    ASSERT_TRUE(t.has_feature("baz"));

    t.SetFeatures("");
    ASSERT_EQ(0U, t.features().size());
}

TEST(transport, parse_banner_no_features) {