diff --git a/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.cc b/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.cc
index ddfed532..16e2bdf9 100644
--- a/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.cc
+++ b/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.cc
@@ -179,6 +179,25 @@
   observers_.RemoveObserver(observer);
 }
 
+void ArcKioskAppManager::AddAutoLaunchAppForTest(
+    const std::string& app_id,
+    const policy::ArcKioskAppBasicInfo& app_info,
+    const AccountId& account_id) {
+  for (auto it = apps_.begin(); it != apps_.end(); ++it) {
+    if ((*it)->app_id() == app_id) {
+      apps_.erase(it);
+      break;
+    }
+  }
+
+  apps_.emplace_back(std::make_unique<ArcKioskAppData>(
+      app_id, app_info.package_name(), app_info.class_name(), app_info.action(),
+      account_id, app_info.display_name()));
+
+  auto_launch_account_id_ = account_id;
+  auto_launched_with_zero_delay_ = true;
+}
+
 void ArcKioskAppManager::UpdateApps() {
   // Do not populate ARC kiosk apps if ARC kiosk apps can't be run on the
   // device.
diff --git a/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.h b/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.h
index 9023959..722d351 100644
--- a/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.h
+++ b/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.h
@@ -69,6 +69,12 @@
     return auto_launched_with_zero_delay_;
   }
 
+  // Adds an app with the given meta data directly, skips meta data fetching
+  // and sets the app as the auto launched one. Only for test.
+  void AddAutoLaunchAppForTest(const std::string& app_id,
+                               const policy::ArcKioskAppBasicInfo& app_info,
+                               const AccountId& account_id);
+
  private:
   // Updates apps_ based on CrosSettings.
   void UpdateApps();
diff --git a/chrome/browser/chromeos/policy/device_status_collector.cc b/chrome/browser/chromeos/policy/device_status_collector.cc
index a0579c9..df17ac1 100644
--- a/chrome/browser/chromeos/policy/device_status_collector.cc
+++ b/chrome/browser/chromeos/policy/device_status_collector.cc
@@ -1096,21 +1096,28 @@
     return false;
 
   em::AppStatus* running_kiosk_app = status->mutable_running_kiosk_app();
-  running_kiosk_app->set_app_id(account->kiosk_app_id);
+  if (account->type == policy::DeviceLocalAccount::TYPE_KIOSK_APP) {
+    running_kiosk_app->set_app_id(account->kiosk_app_id);
 
-  const std::string app_version = GetAppVersion(account->kiosk_app_id);
-  if (app_version.empty()) {
-    DLOG(ERROR) << "Unable to get version for extension: "
-                << account->kiosk_app_id;
+    const std::string app_version = GetAppVersion(account->kiosk_app_id);
+    if (app_version.empty()) {
+      DLOG(ERROR) << "Unable to get version for extension: "
+                  << account->kiosk_app_id;
+    } else {
+      running_kiosk_app->set_extension_version(app_version);
+    }
+
+    chromeos::KioskAppManager::App app_info;
+    if (chromeos::KioskAppManager::Get()->GetApp(account->kiosk_app_id,
+                                                 &app_info)) {
+      running_kiosk_app->set_required_platform_version(
+          app_info.required_platform_version);
+    }
+  } else if (account->type == policy::DeviceLocalAccount::TYPE_ARC_KIOSK_APP) {
+    // Use package name as app ID for ARC Kiosks.
+    running_kiosk_app->set_app_id(account->arc_kiosk_app_info.package_name());
   } else {
-    running_kiosk_app->set_extension_version(app_version);
-  }
-
-  chromeos::KioskAppManager::App app_info;
-  if (chromeos::KioskAppManager::Get()->GetApp(account->kiosk_app_id,
-                                               &app_info)) {
-    running_kiosk_app->set_required_platform_version(
-        app_info.required_platform_version);
+    NOTREACHED();
   }
   return true;
 }
@@ -1240,15 +1247,22 @@
   // Get the account ID associated with this user.
   status->set_device_local_account_id(account->account_id);
   em::AppStatus* app_status = status->add_installed_apps();
-  app_status->set_app_id(account->kiosk_app_id);
+  if (account->type == policy::DeviceLocalAccount::TYPE_KIOSK_APP) {
+    app_status->set_app_id(account->kiosk_app_id);
 
-  // Look up the app and get the version.
-  const std::string app_version = GetAppVersion(account->kiosk_app_id);
-  if (app_version.empty()) {
-    DLOG(ERROR) << "Unable to get version for extension: "
-                << account->kiosk_app_id;
+    // Look up the app and get the version.
+    const std::string app_version = GetAppVersion(account->kiosk_app_id);
+    if (app_version.empty()) {
+      DLOG(ERROR) << "Unable to get version for extension: "
+                  << account->kiosk_app_id;
+    } else {
+      app_status->set_extension_version(app_version);
+    }
+  } else if (account->type == policy::DeviceLocalAccount::TYPE_ARC_KIOSK_APP) {
+    // Use package name as app ID for ARC Kiosks.
+    app_status->set_app_id(account->arc_kiosk_app_info.package_name());
   } else {
-    app_status->set_extension_version(app_version);
+    NOTREACHED();
   }
 
   return true;
diff --git a/chrome/browser/chromeos/policy/device_status_collector_browsertest.cc b/chrome/browser/chromeos/policy/device_status_collector_browsertest.cc
index 64687f9d..dd8752f 100644
--- a/chrome/browser/chromeos/policy/device_status_collector_browsertest.cc
+++ b/chrome/browser/chromeos/policy/device_status_collector_browsertest.cc
@@ -23,6 +23,7 @@
 #include "base/test/scoped_path_override.h"
 #include "base/threading/sequenced_worker_pool.h"
 #include "base/threading/thread_task_runner_handle.h"
+#include "chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.h"
 #include "chrome/browser/chromeos/app_mode/kiosk_app_data.h"
 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
 #include "chrome/browser/chromeos/login/users/mock_user_manager.h"
@@ -80,7 +81,9 @@
 
 const int64_t kMillisecondsPerDay = Time::kMicrosecondsPerDay / 1000;
 const char kKioskAccountId[] = "kiosk_user@localhost";
+const char kArcKioskAccountId[] = "arc_kiosk_user@localhost";
 const char kKioskAppId[] = "kiosk_app_id";
+const char kArcKioskPackageName[] = "com.test.kioskapp";
 const char kExternalMountPoint[] = "/a/b/c";
 const char kPublicAccountId[] = "public_user@localhost";
 const char kArcStatus[] = "{\"applications\":[ { "
@@ -284,10 +287,17 @@
         user_manager_(new chromeos::MockUserManager()),
         user_manager_enabler_(base::WrapUnique(user_manager_)),
         got_session_status_(false),
-        fake_device_local_account_(policy::DeviceLocalAccount::TYPE_KIOSK_APP,
-                                   kKioskAccountId,
-                                   kKioskAppId,
-                                   std::string() /* kiosk_app_update_url */),
+        fake_kiosk_device_local_account_(
+            policy::DeviceLocalAccount::TYPE_KIOSK_APP,
+            kKioskAccountId,
+            kKioskAppId,
+            std::string() /* kiosk_app_update_url */),
+        fake_arc_kiosk_app_basic_info_(kArcKioskPackageName,
+                                       std::string() /* class_name */,
+                                       std::string() /* action */,
+                                       std::string() /* display_name */),
+        fake_arc_kiosk_device_local_account_(fake_arc_kiosk_app_basic_info_,
+                                             kArcKioskAccountId),
         user_data_dir_override_(chrome::DIR_USER_DATA),
         update_engine_client_(new chromeos::FakeUpdateEngineClient) {
     EXPECT_CALL(*user_manager_, Shutdown()).Times(1);
@@ -437,13 +447,18 @@
         .WillRepeatedly(Return(false));
   }
 
-  void MockRunningKioskApp(const DeviceLocalAccount& account) {
+  void MockRunningKioskApp(const DeviceLocalAccount& account, bool arc_kiosk) {
     std::vector<DeviceLocalAccount> accounts;
     accounts.push_back(account);
     user_manager::User* user = user_manager_->CreateKioskAppUser(
         AccountId::FromUserEmail(account.user_id));
-    EXPECT_CALL(*user_manager_, IsLoggedInAsKioskApp()).WillRepeatedly(
-        Return(true));
+    if (arc_kiosk) {
+      EXPECT_CALL(*user_manager_, IsLoggedInAsArcKioskApp())
+          .WillRepeatedly(Return(true));
+    } else {
+      EXPECT_CALL(*user_manager_, IsLoggedInAsKioskApp())
+          .WillRepeatedly(Return(true));
+    }
 
     testing_profile_ = base::MakeUnique<TestingProfile>();
     chromeos::ProfileHelper::Get()->SetUserToProfileMappingForTesting(
@@ -484,6 +499,25 @@
               manager->GetAutoLaunchAppRequiredPlatformVersion());
   }
 
+  void MockAutoLaunchArcKioskApp(
+      const DeviceLocalAccount& auto_launch_app_account) {
+    arc_kiosk_app_manager_.reset(new chromeos::ArcKioskAppManager());
+    arc_kiosk_app_manager_->AddAutoLaunchAppForTest(
+        auto_launch_app_account.arc_kiosk_app_info.package_name(),
+        auto_launch_app_account.arc_kiosk_app_info,
+        AccountId::FromUserEmail(auto_launch_app_account.user_id));
+
+    std::vector<DeviceLocalAccount> accounts;
+    accounts.push_back(auto_launch_app_account);
+    SetDeviceLocalAccounts(owner_settings_service_.get(), accounts);
+
+    owner_settings_service_->SetString(
+        chromeos::kAccountsPrefDeviceLocalAccountAutoLoginId,
+        auto_launch_app_account.account_id);
+
+    base::RunLoop().RunUntilIdle();
+  }
+
   // Convenience method.
   int64_t ActivePeriodMilliseconds() {
     return policy::DeviceStatusCollector::kIdlePollIntervalSeconds * 1000;
@@ -504,13 +538,17 @@
   std::unique_ptr<chromeos::FakeOwnerSettingsService> owner_settings_service_;
   // Only set after MockRunningKioskApp was called.
   std::unique_ptr<TestingProfile> testing_profile_;
+  // Only set after MockAutoLaunchArcKioskApp was called.
+  std::unique_ptr<chromeos::ArcKioskAppManager> arc_kiosk_app_manager_;
   chromeos::MockUserManager* const user_manager_;
   user_manager::ScopedUserManager user_manager_enabler_;
   em::DeviceStatusReportRequest device_status_;
   em::SessionStatusReportRequest session_status_;
   bool got_session_status_;
   std::unique_ptr<TestingDeviceStatusCollector> status_collector_;
-  const policy::DeviceLocalAccount fake_device_local_account_;
+  const policy::DeviceLocalAccount fake_kiosk_device_local_account_;
+  const policy::ArcKioskAppBasicInfo fake_arc_kiosk_app_basic_info_;
+  const policy::DeviceLocalAccount fake_arc_kiosk_device_local_account_;
   base::ScopedPathOverride user_data_dir_override_;
   TestingPrefServiceSimple local_state_;
   chromeos::FakeUpdateEngineClient* const update_engine_client_;
@@ -1076,8 +1114,8 @@
                          base::Bind(&GetFakeAndroidStatus, kArcStatus,
                              kDroidGuardInfo));
   status_collector_->set_kiosk_account(
-      base::MakeUnique<DeviceLocalAccount>(fake_device_local_account_));
-  MockRunningKioskApp(fake_device_local_account_);
+      base::MakeUnique<DeviceLocalAccount>(fake_kiosk_device_local_account_));
+  MockRunningKioskApp(fake_kiosk_device_local_account_, false /* arc_kiosk */);
   testing_profile_->GetPrefs()->SetBoolean(prefs::kReportArcStatusEnabled,
                                            true);
 
@@ -1098,8 +1136,8 @@
 
   // Mock Kiosk app, so some session status is reported
   status_collector_->set_kiosk_account(
-      base::MakeUnique<DeviceLocalAccount>(fake_device_local_account_));
-  MockRunningKioskApp(fake_device_local_account_);
+      base::MakeUnique<DeviceLocalAccount>(fake_kiosk_device_local_account_));
+  MockRunningKioskApp(fake_kiosk_device_local_account_, false /* arc_kiosk */);
 
   GetStatus();
   EXPECT_TRUE(got_session_status_);
@@ -1176,9 +1214,10 @@
   // ReportDeviceSessionStatus only controls Kiosk reporting, ARC reporting
   // has to be disabled serarately.
   status_collector_->set_kiosk_account(
-      base::MakeUnique<policy::DeviceLocalAccount>(fake_device_local_account_));
+      base::MakeUnique<policy::DeviceLocalAccount>(
+          fake_kiosk_device_local_account_));
   // Set up a device-local account for single-app kiosk mode.
-  MockRunningKioskApp(fake_device_local_account_);
+  MockRunningKioskApp(fake_kiosk_device_local_account_, false /* arc_kiosk */);
   testing_profile_->GetPrefs()->SetBoolean(prefs::kReportArcStatusEnabled,
                                            false);
 
@@ -1189,10 +1228,11 @@
 TEST_F(DeviceStatusCollectorTest, ReportKioskSessionStatus) {
   settings_helper_.SetBoolean(chromeos::kReportDeviceSessionStatus, true);
   status_collector_->set_kiosk_account(
-      base::MakeUnique<policy::DeviceLocalAccount>(fake_device_local_account_));
+      base::MakeUnique<policy::DeviceLocalAccount>(
+          fake_kiosk_device_local_account_));
 
   // Set up a device-local account for single-app kiosk mode.
-  MockRunningKioskApp(fake_device_local_account_);
+  MockRunningKioskApp(fake_kiosk_device_local_account_, false /* arc_kiosk */);
 
   GetStatus();
   EXPECT_TRUE(got_session_status_);
@@ -1208,10 +1248,33 @@
   EXPECT_FALSE(session_status_.has_user_dm_token());
 }
 
+TEST_F(DeviceStatusCollectorTest, ReportArcKioskSessionStatus) {
+  settings_helper_.SetBoolean(chromeos::kReportDeviceSessionStatus, true);
+  status_collector_->set_kiosk_account(
+      base::MakeUnique<policy::DeviceLocalAccount>(
+          fake_arc_kiosk_device_local_account_));
+
+  // Set up a device-local account for single-app ARC kiosk mode.
+  MockRunningKioskApp(fake_arc_kiosk_device_local_account_,
+                      true /* arc_kiosk */);
+
+  GetStatus();
+  EXPECT_TRUE(got_session_status_);
+  ASSERT_EQ(1, session_status_.installed_apps_size());
+  EXPECT_EQ(kArcKioskAccountId, session_status_.device_local_account_id());
+  const em::AppStatus app = session_status_.installed_apps(0);
+  EXPECT_EQ(kArcKioskPackageName, app.app_id());
+  EXPECT_TRUE(app.extension_version().empty());
+  EXPECT_FALSE(app.has_status());
+  EXPECT_FALSE(app.has_error());
+  // Expect no User DM Token for kiosk sessions.
+  EXPECT_FALSE(session_status_.has_user_dm_token());
+}
+
 TEST_F(DeviceStatusCollectorTest, NoOsUpdateStatusByDefault) {
   MockPlatformVersion("1234.0.0");
-  MockAutoLaunchKioskAppWithRequiredPlatformVersion(fake_device_local_account_,
-                                                    "1234.0.0");
+  MockAutoLaunchKioskAppWithRequiredPlatformVersion(
+      fake_kiosk_device_local_account_, "1234.0.0");
 
   GetStatus();
   EXPECT_FALSE(device_status_.has_os_update_status());
@@ -1225,7 +1288,7 @@
 
   for (size_t i = 0; i < arraysize(kRequiredPlatformVersions); ++i) {
     MockAutoLaunchKioskAppWithRequiredPlatformVersion(
-        fake_device_local_account_, kRequiredPlatformVersions[i]);
+        fake_kiosk_device_local_account_, kRequiredPlatformVersions[i]);
 
     GetStatus();
     ASSERT_TRUE(device_status_.has_os_update_status())
@@ -1242,8 +1305,8 @@
 TEST_F(DeviceStatusCollectorTest, ReportOsUpdateStatus) {
   MockPlatformVersion("1234.0.0");
   settings_helper_.SetBoolean(chromeos::kReportOsUpdateStatus, true);
-  MockAutoLaunchKioskAppWithRequiredPlatformVersion(fake_device_local_account_,
-                                                    "1235");
+  MockAutoLaunchKioskAppWithRequiredPlatformVersion(
+      fake_kiosk_device_local_account_, "1235");
 
   chromeos::UpdateEngineClient::Status update_status;
   update_status.status = chromeos::UpdateEngineClient::UPDATE_STATUS_IDLE;
@@ -1287,11 +1350,12 @@
 
 TEST_F(DeviceStatusCollectorTest, NoRunningKioskAppByDefault) {
   MockPlatformVersion("1234.0.0");
-  MockAutoLaunchKioskAppWithRequiredPlatformVersion(fake_device_local_account_,
-                                                    "1234.0.0");
+  MockAutoLaunchKioskAppWithRequiredPlatformVersion(
+      fake_kiosk_device_local_account_, "1234.0.0");
   status_collector_->set_kiosk_account(
-      base::MakeUnique<policy::DeviceLocalAccount>(fake_device_local_account_));
-  MockRunningKioskApp(fake_device_local_account_);
+      base::MakeUnique<policy::DeviceLocalAccount>(
+          fake_kiosk_device_local_account_));
+  MockRunningKioskApp(fake_kiosk_device_local_account_, false /* arc_kiosk */);
 
   GetStatus();
   EXPECT_FALSE(device_status_.has_running_kiosk_app());
@@ -1300,8 +1364,8 @@
 TEST_F(DeviceStatusCollectorTest, NoRunningKioskAppWhenNotInKioskSession) {
   settings_helper_.SetBoolean(chromeos::kReportRunningKioskApp, true);
   MockPlatformVersion("1234.0.0");
-  MockAutoLaunchKioskAppWithRequiredPlatformVersion(fake_device_local_account_,
-                                                    "1234.0.0");
+  MockAutoLaunchKioskAppWithRequiredPlatformVersion(
+      fake_kiosk_device_local_account_, "1234.0.0");
 
   GetStatus();
   EXPECT_FALSE(device_status_.has_running_kiosk_app());
@@ -1310,11 +1374,12 @@
 TEST_F(DeviceStatusCollectorTest, ReportRunningKioskApp) {
   settings_helper_.SetBoolean(chromeos::kReportRunningKioskApp, true);
   MockPlatformVersion("1234.0.0");
-  MockAutoLaunchKioskAppWithRequiredPlatformVersion(fake_device_local_account_,
-                                                    "1235");
-  MockRunningKioskApp(fake_device_local_account_);
+  MockAutoLaunchKioskAppWithRequiredPlatformVersion(
+      fake_kiosk_device_local_account_, "1235");
+  MockRunningKioskApp(fake_kiosk_device_local_account_, false /* arc_kiosk */);
   status_collector_->set_kiosk_account(
-      base::MakeUnique<policy::DeviceLocalAccount>(fake_device_local_account_));
+      base::MakeUnique<policy::DeviceLocalAccount>(
+          fake_kiosk_device_local_account_));
 
   GetStatus();
   ASSERT_TRUE(device_status_.has_running_kiosk_app());
@@ -1325,6 +1390,25 @@
   EXPECT_FALSE(app.has_error());
 }
 
+TEST_F(DeviceStatusCollectorTest, ReportRunningArcKioskApp) {
+  settings_helper_.SetBoolean(chromeos::kReportRunningKioskApp, true);
+  MockAutoLaunchArcKioskApp(fake_arc_kiosk_device_local_account_);
+  MockRunningKioskApp(fake_arc_kiosk_device_local_account_,
+                      true /* arc_kiosk */);
+  status_collector_->set_kiosk_account(
+      base::MakeUnique<policy::DeviceLocalAccount>(
+          fake_arc_kiosk_device_local_account_));
+
+  GetStatus();
+  ASSERT_TRUE(device_status_.has_running_kiosk_app());
+  const em::AppStatus app = device_status_.running_kiosk_app();
+  EXPECT_EQ(kArcKioskPackageName, app.app_id());
+  EXPECT_TRUE(app.extension_version().empty());
+  EXPECT_TRUE(app.required_platform_version().empty());
+  EXPECT_FALSE(app.has_status());
+  EXPECT_FALSE(app.has_error());
+}
+
 TEST_F(DeviceStatusCollectorTest, TestSoundVolume) {
   // Expect the sound volume to be reported by default (default sound volume
   // used in testing is 75).
@@ -1619,7 +1703,8 @@
 TEST_F(DeviceStatusCollectorNetworkInterfacesTest, NetworkInterfaces) {
   // Mock that we are in kiosk mode so we report network state.
   status_collector_->set_kiosk_account(
-      base::MakeUnique<policy::DeviceLocalAccount>(fake_device_local_account_));
+      base::MakeUnique<policy::DeviceLocalAccount>(
+          fake_kiosk_device_local_account_));
 
   // Interfaces should be reported by default.
   GetStatus();
diff --git a/components/minidump_uploader/android/javatests/src/org/chromium/components/minidump_uploader/MinidumpUploaderImplTest.java b/components/minidump_uploader/android/javatests/src/org/chromium/components/minidump_uploader/MinidumpUploaderImplTest.java
index 4fc2d37..7756d38 100644
--- a/components/minidump_uploader/android/javatests/src/org/chromium/components/minidump_uploader/MinidumpUploaderImplTest.java
+++ b/components/minidump_uploader/android/javatests/src/org/chromium/components/minidump_uploader/MinidumpUploaderImplTest.java
@@ -11,6 +11,7 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
+import org.chromium.base.ThreadUtils;
 import org.chromium.base.test.BaseJUnit4ClassRunner;
 import org.chromium.components.minidump_uploader.CrashTestRule.MockCrashReportingPermissionManager;
 import org.chromium.components.minidump_uploader.util.CrashReportingPermissionManager;
@@ -251,6 +252,16 @@
         // Ensure we tell JobScheduler to reschedule the job.
         Assert.assertTrue(minidumpUploader.cancelUploads());
         stopStallingLatch.countDown();
+        // Wait for the MinidumpUploader worker thread to finish before ending the test. This is to
+        // ensure the worker thread doesn't continue running after the test finishes - trying to
+        // access directories or minidumps set up and deleted by the test framework.
+        ThreadUtils.runOnUiThreadBlocking(() -> {
+            try {
+                minidumpUploader.joinWorkerThreadForTesting();
+            } catch (InterruptedException e) {
+                throw new RuntimeException(e);
+            }
+        });
     }
 
     private interface MinidumpUploadCallableCreator {
diff --git a/components/policy/proto/device_management_backend.proto b/components/policy/proto/device_management_backend.proto
index a3bc015..7f770b15 100644
--- a/components/policy/proto/device_management_backend.proto
+++ b/components/policy/proto/device_management_backend.proto
@@ -756,8 +756,8 @@
   // OS version.
   optional OsUpdateStatus os_update_status = 17;
 
-  // Set only when there is an auto launched with zero delay kiosk app
-  // and it is currently running. Otherwise, this field is empty.
+  // Set only when there is an auto launched with zero delay Chrome or ARC kiosk
+  // app and it is currently running. Otherwise, this field is empty.
   optional AppStatus running_kiosk_app = 18;
 
   // Sound output volume level in range [0,100].
@@ -790,10 +790,12 @@
 
 // Provides status information for an installed app/extension.
 message AppStatus {
-  // ID of the installed app/extension
+  // ID of the installed app/extension for a Chrome app.
+  // Package name for ARC kiosk app.
   optional string app_id = 1;
 
-  // Currently installed version of the app.
+  // Currently installed version of the app for a Chrome app.
+  // Empty for ARC kiosk app.
   optional string extension_version = 2;
 
   // Self-reported status summary (via chrome.reporting APIs)
@@ -803,6 +805,7 @@
   optional bool error = 4;
 
   // App required Chrome version, specified in app’s manifest file.
+  // Empty for ARC kiosk app.
   optional string required_platform_version = 5;
 }
 
@@ -820,7 +823,8 @@
   // If this is a kiosk session, this is the device local account ID.
   optional string device_local_account_id = 4;
 
-  // Information about installed apps for this user on this device.
+  // Information about installed apps for this user on this device,
+  // including information about ARC kiosk app for ARC kiosk session.
   repeated AppStatus installed_apps = 5;
 
   // Information about ARC status.