1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim:expandtab:shiftwidth=4:tabstop=4:
3  */
4 /* This Source Code Form is subject to the terms of the Mozilla Public
5  * License, v. 2.0. If a copy of the MPL was not distributed with this
6  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 
8 #ifndef nsUserIdleServiceAndroid_h__
9 #define nsUserIdleServiceAndroid_h__
10 
11 #include "nsUserIdleService.h"
12 
13 class nsUserIdleServiceAndroid : public nsUserIdleService {
14  public:
15   NS_INLINE_DECL_REFCOUNTING_INHERITED(nsUserIdleServiceAndroid,
16                                        nsUserIdleService)
17 
18   bool PollIdleTime(uint32_t* aIdleTime) override;
19 
GetInstance()20   static already_AddRefed<nsUserIdleServiceAndroid> GetInstance() {
21     RefPtr<nsUserIdleService> idleService = nsUserIdleService::GetInstance();
22     if (!idleService) {
23       idleService = new nsUserIdleServiceAndroid();
24     }
25 
26     return idleService.forget().downcast<nsUserIdleServiceAndroid>();
27   }
28 
29  protected:
nsUserIdleServiceAndroid()30   nsUserIdleServiceAndroid() {}
~nsUserIdleServiceAndroid()31   virtual ~nsUserIdleServiceAndroid() {}
32   bool UsePollMode() override;
33 };
34 
35 #endif  // nsUserIdleServiceAndroid_h__
36