src/hbcore/core/hbsensorlistener.cpp
changeset 34 ed14f46c0e55
parent 7 923ff622b8b9
equal deleted inserted replaced
31:7516d6d86cf5 34:ed14f46c0e55
    93 {
    93 {
    94 #ifdef Q_OS_SYMBIAN
    94 #ifdef Q_OS_SYMBIAN
    95     CRepository *repository = 0;
    95     CRepository *repository = 0;
    96     TRAPD(err, repository = CRepository::NewL(KHbSensorCenrepUid));
    96     TRAPD(err, repository = CRepository::NewL(KHbSensorCenrepUid));
    97     if (err) {
    97     if (err) {
    98         qWarning("HbSensorListener::checkCenrepValue; repository->NewL fails, error code = %d", err);
    98         hbWarning("HbSensorListener::checkCenrepValue; repository->NewL fails, error code = %d", err);
    99     } else {
    99     } else {
   100         TInt value = 0;
   100         TInt value = 0;
   101         TInt err = repository->Get(KHbSensorCenrepKey, value);
   101         TInt err = repository->Get(KHbSensorCenrepKey, value);
   102         if (err == KErrNone) {
   102         if (err == KErrNone) {
   103             cenrepValueChanged(value, false);
   103             cenrepValueChanged(value, false);
   104         } else {
   104         } else {
   105             qWarning("HbSensorListener::checkCenrepValue: repository->Get fails, error code = %d", err);
   105             hbWarning("HbSensorListener::checkCenrepValue: repository->Get fails, error code = %d", err);
   106         }
   106         }
   107     delete repository;
   107     delete repository;
   108     }
   108     }
   109     if (!mNotifyHandler) {
   109     if (!mNotifyHandler) {
   110         TRAPD(err, mNotifyHandler = HbSensorNotifyHandler::NewL(*this));
   110         TRAPD(err, mNotifyHandler = HbSensorNotifyHandler::NewL(*this));
   111         if (err) {
   111         if (err) {
   112             qWarning("HbSensorListener::HbSensorListener: HbSensorNotifyHandler::NewL failed = %d", err);
   112             hbWarning("HbSensorListener::HbSensorListener: HbSensorNotifyHandler::NewL failed = %d", err);
   113         } else {
   113         } else {
   114             TRAPD(err, mNotifyHandler->startObservingL());
   114             TRAPD(err, mNotifyHandler->startObservingL());
   115             if (err) {
   115             if (err) {
   116                 qWarning("HbSensorListener::HbSensorListener: mNotifyHandler->startObservingL failed = %d", err);
   116                 hbWarning("HbSensorListener::HbSensorListener: mNotifyHandler->startObservingL failed = %d", err);
   117             }
   117             }
   118         }
   118         }
   119     }
   119     }
   120 #else
   120 #else
   121     QSettings mSettings("Nokia", "HbStartUpDeskTopSensors");
   121     QSettings settings("Nokia", "Hb");
   122     bool enable = mSettings.value("SensorsEnabled").toBool();
   122     settings.beginGroup("Sensors");
       
   123     bool enable = settings.value("SensorsEnabled").toBool();
   123     mSettingsEnabled = enable;
   124     mSettingsEnabled = enable;
   124     enableSensors(enable, false);
   125     enableSensors(enable, false);
   125 #endif
   126     settings.endGroup();
   126 }
   127 #endif
   127 
   128 }
   128 void HbSensorListener::enableSensors(bool enable, bool notify)
   129 
       
   130 void HbSensorListener::enableSensors(bool enable, bool notify, bool resetOrientation)
   129 {
   131 {
   130     mEnabled = enable;
   132     mEnabled = enable;
   131 #ifdef Q_OS_SYMBIAN
   133 #ifdef Q_OS_SYMBIAN
   132     enableSensorListening(enable);
   134     enableSensorListening(enable);
   133 #else
   135 #else
   134     mSettingsEnabled = enable;
   136     mSettingsEnabled = enable;
   135 #endif
   137 #endif
   136     if (notify) {
   138     if (notify) {
   137         mObserver.sensorStatusChanged(enable, true);
   139         mObserver.sensorStatusChanged(enable, resetOrientation);
   138     }
   140     }
   139 }
   141 }
   140 
   142 
   141 bool HbSensorListener::isEnabled() const
   143 bool HbSensorListener::isEnabled() const
   142 {
   144 {
   161 
   163 
   162 void HbSensorListener::cenrepValueChanged(TInt aValue, bool notify)
   164 void HbSensorListener::cenrepValueChanged(TInt aValue, bool notify)
   163 {
   165 {
   164     bool enable = (aValue == 0) ? false : true;
   166     bool enable = (aValue == 0) ? false : true;
   165     mSettingsEnabled = enable;
   167     mSettingsEnabled = enable;
   166     enableSensors(enable, notify);
   168     // When sensors are disabled in cenrep, reset orientation
       
   169     enableSensors(enable, notify, !enable);
   167 }
   170 }
   168 #endif
   171 #endif
   169 
   172 
   170 void HbSensorListener::startSensorChannel()
   173 void HbSensorListener::startSensorChannel()
   171 {
   174 {
   172 #ifdef Q_OS_SYMBIAN
   175 #ifdef Q_OS_SYMBIAN
       
   176     if(!mSettingsEnabled) {
       
   177          return;
       
   178     }
       
   179     
   173     CSensrvChannelFinder *sensrvChannelFinder = CSensrvChannelFinder::NewLC();
   180     CSensrvChannelFinder *sensrvChannelFinder = CSensrvChannelFinder::NewLC();
   174 
   181 
   175     RSensrvChannelInfoList channelInfoList;
   182     RSensrvChannelInfoList channelInfoList;
   176     CleanupClosePushL(channelInfoList);
   183     CleanupClosePushL(channelInfoList);
   177 
   184 
   187             if (!err) {
   194             if (!err) {
   188                 TRAP(err, mSensrvChannel->OpenChannelL());
   195                 TRAP(err, mSensrvChannel->OpenChannelL());
   189                 if (!err) {
   196                 if (!err) {
   190                     TRAP_IGNORE(mSensrvChannel->StartDataListeningL(this, 1, 1, 0));
   197                     TRAP_IGNORE(mSensrvChannel->StartDataListeningL(this, 1, 1, 0));
   191                 } else {
   198                 } else {
   192                     qWarning("HbSensorListener::startSensorChannel fails, error code = %d", err);
   199                     hbWarning("HbSensorListener::startSensorChannel fails, error code = %d", err);
   193                 }
   200                 }
   194             }
   201             }
   195         }
   202         }
   196 
   203 
   197         channelInfoList.Close();
   204         channelInfoList.Close();
   198         CleanupStack::Pop(&channelInfoList);
   205         CleanupStack::Pop(&channelInfoList);
   199         CleanupStack::PopAndDestroy(sensrvChannelFinder);
   206         CleanupStack::PopAndDestroy(sensrvChannelFinder);
   200     } else {
   207     } else {
   201         qWarning("HbSensorListener::startSensorChannel fails, error code = %d", err);
   208         hbWarning("HbSensorListener::startSensorChannel fails, error code = %d", err);
   202     }
   209     }
   203 #endif
   210 #endif
   204 }
   211 }
   205 
   212 
   206 #ifdef Q_OS_SYMBIAN
   213 #ifdef Q_OS_SYMBIAN