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

Commit bdac9311 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Keep subscibers when configs are deleted"

parents 1b3499c8 2f18c0a5
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -1228,7 +1228,6 @@ Status StatsService::removeConfiguration(int64_t key, const int32_t callingUid)

    ConfigKey configKey(callingUid, key);
    mConfigManager->RemoveConfig(configKey);
    SubscriberReporter::getInstance().removeConfig(configKey);
    return Status::ok();
}

+0 −22
Original line number Diff line number Diff line
@@ -189,25 +189,11 @@ void ConfigManager::RemoveConfig(const ConfigKey& key) {
            // Remove from map
            uidIt->second.erase(key);

            // No more configs for this uid, lets remove the active configs callback.
            if (uidIt->second.empty()) {
                auto itActiveConfigsChangedReceiver = mActiveConfigsChangedReceivers.find(uid);
                    if (itActiveConfigsChangedReceiver != mActiveConfigsChangedReceivers.end()) {
                        mActiveConfigsChangedReceivers.erase(itActiveConfigsChangedReceiver);
                    }
            }

            for (const sp<ConfigListener>& listener : mListeners) {
                broadcastList.push_back(listener);
            }
        }

        auto itReceiver = mConfigReceivers.find(key);
        if (itReceiver != mConfigReceivers.end()) {
            // Remove from map
            mConfigReceivers.erase(itReceiver);
        }

        // Remove from disk. There can still be a lingering file on disk so we check
        // whether or not the config was on memory.
        remove_saved_configs(key);
@@ -238,12 +224,6 @@ void ConfigManager::RemoveConfigs(int uid) {
            // Remove from map
                remove_saved_configs(*it);
                removed.push_back(*it);
                mConfigReceivers.erase(*it);
        }

        auto itActiveConfigsChangedReceiver = mActiveConfigsChangedReceivers.find(uid);
        if (itActiveConfigsChangedReceiver != mActiveConfigsChangedReceivers.end()) {
            mActiveConfigsChangedReceivers.erase(itActiveConfigsChangedReceiver);
        }

        mConfigs.erase(uidIt);
@@ -277,8 +257,6 @@ void ConfigManager::RemoveAllConfigs() {
            uidIt = mConfigs.erase(uidIt);
        }

        mConfigReceivers.clear();
        mActiveConfigsChangedReceivers.clear();
        for (const sp<ConfigListener>& listener : mListeners) {
            broadcastList.push_back(listener);
        }
+0 −6
Original line number Diff line number Diff line
@@ -69,12 +69,6 @@ void SubscriberReporter::unsetBroadcastSubscriber(const ConfigKey& configKey,
    }
}

void SubscriberReporter::removeConfig(const ConfigKey& configKey) {
    VLOG("SubscriberReporter::removeConfig called.");
    lock_guard<std::mutex> lock(mLock);
    mIntentMap.erase(configKey);
}

void SubscriberReporter::alertBroadcastSubscriber(const ConfigKey& configKey,
                                                  const Subscription& subscription,
                                                  const MetricDimensionKey& dimKey) const {
+0 −3
Original line number Diff line number Diff line
@@ -59,9 +59,6 @@ public:
     */
    void unsetBroadcastSubscriber(const ConfigKey& configKey, int64_t subscriberId);

    /** Remove all information stored by SubscriberReporter about the given config. */
    void removeConfig(const ConfigKey& configKey);

    /**
     * Sends a broadcast via the intentSender previously stored for the
     * given (configKey, subscriberId) pair by setBroadcastSubscriber.