~thomas-voss/platform-api/add-package-config

« back to all changes in this revision

Viewing changes to android/hybris/ubuntu_application_api_for_hybris.cpp

  • Committer: Thomas Voß
  • Date: 2013-06-20 12:26:40 UTC
  • mfrom: (67.1.1 fix-cmake-setup)
  • Revision ID: thomas.voss@canonical.com-20130620122640-ytzwepxb9qiijzgq
[ Gerry Boland ]
* Add mir suport.
[ Robert Carr ]
* Add mir suport.
[ Ubuntu daily release ]
* Automatic snapshot from revision 69
[ Ricardo Mendoza ]
* Allow remote App Manager to take care of signalling processes.
[ Ubuntu daily release ]
* Automatic snapshot from revision 67

Show diffs side-by-side

added added

removed removed

Lines of Context:
674
674
    android::String8 desktop_file;
675
675
};
676
676
 
 
677
struct AMTaskController : public android::BnAMTaskController
 
678
{
 
679
    void continue_task(uint32_t pid)
 
680
    {
 
681
        if (controller == NULL)
 
682
            return;
 
683
 
 
684
        controller->continue_task(static_cast<int>(pid));
 
685
    }
 
686
 
 
687
    void suspend_task(uint32_t pid)
 
688
    {
 
689
        if (controller == NULL)
 
690
            return;
 
691
 
 
692
        controller->suspend_task(static_cast<int>(pid));
 
693
    }
 
694
 
 
695
    void install_task_controller(const ubuntu::ui::TaskController::Ptr& controller)
 
696
    {
 
697
        printf("%s()\n", __PRETTY_FUNCTION__);
 
698
        this->controller = controller;
 
699
 
 
700
        sp<IServiceManager> service_manager = defaultServiceManager();
 
701
        sp<IBinder> service = service_manager->getService(
 
702
                                  String16(IApplicationManager::exported_service_name()));
 
703
        BpApplicationManager app_manager(service);
 
704
 
 
705
        app_manager.register_task_controller(android::sp<IAMTaskController>(this));
 
706
    }
 
707
 
 
708
 
 
709
    ubuntu::ui::TaskController::Ptr controller;
 
710
};
 
711
 
677
712
struct ApplicationManagerObserver : public android::BnApplicationManagerObserver
678
713
{
679
714
    void on_session_requested(uint32_t app)
820
855
        return remote_instance;
821
856
    }
822
857
 
823
 
    SessionService() : observer(new ApplicationManagerObserver())
 
858
    SessionService() : observer(new ApplicationManagerObserver()),
 
859
                       controller(new AMTaskController())
824
860
    {
825
861
        android::ProcessState::self()->startThreadPool();
826
862
    }
837
873
        this->observer->install_session_lifecycle_observer(lifecycle_observer);
838
874
    }
839
875
 
 
876
    void install_task_controller(const ubuntu::ui::TaskController::Ptr& controller)
 
877
    {
 
878
        printf("%s()\n", __PRETTY_FUNCTION__);
 
879
        this->controller->install_task_controller(controller);
 
880
    }
 
881
 
840
882
    void unfocus_running_sessions()
841
883
    {
842
884
        ALOGI("%s", __PRETTY_FUNCTION__);
937
979
    }
938
980
 
939
981
    android::sp<ApplicationManagerObserver> observer;
 
982
    android::sp<AMTaskController> controller;
940
983
};
941
984
 
942
985
}