| OLD | NEW | 
|---|
|  | 1 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 
|  | 2 // for details. All rights reserved. Use of this source code is governed by a | 
|  | 3 // BSD-style license that can be found in the LICENSE file. | 
|  | 4 | 
| 1 #include "jni/dart_host.h" | 5 #include "jni/dart_host.h" | 
| 2 | 6 | 
| 3 #include <math.h> | 7 #include <math.h> | 
| 4 #include <unistd.h> | 8 #include <unistd.h> | 
| 5 | 9 | 
| 6 #include "bin/eventhandler.h" | 10 #include "jni/log.h" | 
| 7 #include "bin/isolate_data.h" |  | 
| 8 #include "bin/log.h" |  | 
| 9 #include "bin/platform.h" |  | 
| 10 #include "bin/process.h" |  | 
| 11 #include "vm/flags.h" |  | 
| 12 | 11 | 
| 13 DartHost::DartHost(Context *context) | 12 DartHost::DartHost(Context *context) | 
| 14     : graphics_(context->graphics), | 13     : graphics_(context->graphics), | 
| 15       input_handler_(context->input_handler), | 14       input_handler_(context->input_handler), | 
| 16       sound_service_(context->sound_service), | 15       sound_service_(context->sound_service), | 
| 17       timer_(context->timer), | 16       timer_(context->timer), | 
| 18       vm_glue_(context->vm_glue), | 17       vm_glue_(context->vm_glue), | 
| 19       active_(false) { | 18       active_(false) { | 
| 20   Log::Print("Creating DartHost"); | 19   LOGI("Creating DartHost"); | 
| 21 } | 20 } | 
| 22 | 21 | 
| 23 DartHost::~DartHost() { | 22 DartHost::~DartHost() { | 
| 24   Log::Print("Freeing DartHost"); | 23   LOGI("Freeing DartHost"); | 
| 25 } | 24 } | 
| 26 | 25 | 
| 27 int32_t DartHost::OnActivate() { | 26 int32_t DartHost::OnActivate() { | 
| 28   return Activate(); | 27   return Activate(); | 
| 29 } | 28 } | 
| 30 | 29 | 
| 31 int32_t DartHost::Activate() { | 30 int32_t DartHost::Activate() { | 
| 32   if (!active_) { | 31   if (!active_) { | 
| 33     Log::Print("Activating DartHost"); | 32     LOGI("Activating DartHost"); | 
| 34     if (graphics_->Start() != 0) { | 33     if (graphics_->Start() != 0) { | 
| 35       return -1; | 34       return -1; | 
| 36     } | 35     } | 
| 37     if (sound_service_->Start() != 0) { | 36     if (sound_service_->Start() != 0) { | 
| 38       return -1; | 37       return -1; | 
| 39     } | 38     } | 
| 40     if (input_handler_->Start() != 0) { | 39     if (input_handler_->Start() != 0) { | 
| 41       return -1; | 40       return -1; | 
| 42     } | 41     } | 
| 43     timer_->reset(); | 42     timer_->reset(); | 
| 44     Log::Print("Starting main isolate"); | 43     LOGI("Starting main isolate"); | 
| 45     int result = vm_glue_->StartMainIsolate(); | 44     int result = vm_glue_->StartMainIsolate(); | 
| 46     if (result != 0) { | 45     if (result != 0) { | 
| 47       Log::PrintErr("startMainIsolate returned %d", result); | 46       LOGE("startMainIsolate returned %d", result); | 
| 48       return -1; | 47       return -1; | 
| 49     } | 48     } | 
| 50     active_ = true; | 49     active_ = true; | 
| 51     vm_glue_->CallSetup(); | 50     vm_glue_->CallSetup(); | 
| 52   } | 51   } | 
| 53   return 0; | 52   return 0; | 
| 54 } | 53 } | 
| 55 | 54 | 
| 56 void DartHost::OnDeactivate() { | 55 void DartHost::OnDeactivate() { | 
| 57   Deactivate(); | 56   Deactivate(); | 
| 58 } | 57 } | 
| 59 | 58 | 
| 60 void DartHost::Deactivate() { | 59 void DartHost::Deactivate() { | 
| 61   if (active_) { | 60   if (active_) { | 
| 62     active_ = false; | 61     active_ = false; | 
| 63     vm_glue_->FinishMainIsolate(); | 62     vm_glue_->FinishMainIsolate(); | 
| 64     Log::Print("Deactivating DartHost"); | 63     LOGI("Deactivating DartHost"); | 
| 65     sound_service_->Stop(); | 64     sound_service_->Stop(); | 
| 66     graphics_->Stop(); | 65     graphics_->Stop(); | 
| 67   } | 66   } | 
| 68 } | 67 } | 
| 69 | 68 | 
| 70 int32_t DartHost::OnStep() { | 69 int32_t DartHost::OnStep() { | 
| 71   timer_->update(); | 70   timer_->update(); | 
| 72   vm_glue_->CallUpdate(); | 71   vm_glue_->CallUpdate(); | 
| 73   if (graphics_->Update() != 0) { | 72   if (graphics_->Update() != 0) { | 
| 74     return -1; | 73     return -1; | 
| 75   } | 74   } | 
| 76   return 0; | 75   return 0; | 
| 77 } | 76 } | 
| 78 | 77 | 
| 79 void DartHost::OnStart() { | 78 void DartHost::OnStart() { | 
| 80   Log::Print("Starting DartHost"); | 79   LOGI("Starting DartHost"); | 
| 81 } | 80 } | 
| 82 | 81 | 
| 83 void DartHost::OnResume() { | 82 void DartHost::OnResume() { | 
| 84   Log::Print("Resuming DartHost"); | 83   LOGI("Resuming DartHost"); | 
| 85 } | 84 } | 
| 86 | 85 | 
| 87 void DartHost::OnPause() { | 86 void DartHost::OnPause() { | 
| 88   Log::Print("Pausing DartHost"); | 87   LOGI("Pausing DartHost"); | 
| 89 } | 88 } | 
| 90 | 89 | 
| 91 void DartHost::OnStop() { | 90 void DartHost::OnStop() { | 
| 92   Log::Print("Stopping DartHost"); | 91   LOGI("Stopping DartHost"); | 
| 93 } | 92 } | 
| 94 | 93 | 
| 95 void DartHost::OnDestroy() { | 94 void DartHost::OnDestroy() { | 
| 96   Log::Print("Destroying DartHost"); | 95   LOGI("Destroying DartHost"); | 
| 97 } | 96 } | 
| 98 | 97 | 
| 99 void DartHost::OnSaveState(void** data, size_t size) { | 98 void DartHost::OnSaveState(void** data, size_t size) { | 
| 100   Log::Print("Saving DartHost state"); | 99   LOGI("Saving DartHost state"); | 
| 101 } | 100 } | 
| 102 | 101 | 
| 103 void DartHost::OnConfigurationChanged() { | 102 void DartHost::OnConfigurationChanged() { | 
| 104   Log::Print("DartHost config changed"); | 103   LOGI("DartHost config changed"); | 
| 105 } | 104 } | 
| 106 | 105 | 
| 107 void DartHost::OnLowMemory() { | 106 void DartHost::OnLowMemory() { | 
| 108   Log::Print("DartHost low on memory"); | 107   LOGI("DartHost low on memory"); | 
| 109 } | 108 } | 
| 110 | 109 | 
| 111 void DartHost::OnCreateWindow() { | 110 void DartHost::OnCreateWindow() { | 
| 112   Log::Print("DartHost creating window"); | 111   LOGI("DartHost creating window"); | 
| 113 } | 112 } | 
| 114 | 113 | 
| 115 void DartHost::OnDestroyWindow() { | 114 void DartHost::OnDestroyWindow() { | 
| 116   Log::Print("DartHost destroying window"); | 115   LOGI("DartHost destroying window"); | 
| 117 } | 116 } | 
| 118 | 117 | 
| 119 void DartHost::OnGainedFocus() { | 118 void DartHost::OnGainedFocus() { | 
| 120   Log::Print("DartHost gained focus"); | 119   LOGI("DartHost gained focus"); | 
| 121 } | 120 } | 
| 122 | 121 | 
| 123 void DartHost::OnLostFocus() { | 122 void DartHost::OnLostFocus() { | 
| 124   Log::Print("DartHost lost focus"); | 123   LOGI("DartHost lost focus"); | 
| 125 } | 124 } | 
| 126 | 125 | 
| 127 void DartHost::Clear() { | 126 void DartHost::Clear() { | 
| 128   memset(window_buffer_.bits, 0, | 127   memset(window_buffer_.bits, 0, | 
| 129          window_buffer_.stride * window_buffer_.height * sizeof(int32_t)); | 128          window_buffer_.stride * window_buffer_.height * sizeof(int32_t)); | 
| 130 } | 129 } | 
| 131 |  | 
| OLD | NEW | 
|---|