void init ( OmemoManager . LoggedInOmemoManager managerGuard ) throws InterruptedException , CorruptedOmemoKeyException , XMPPException . XMPPErrorException , SmackException . NotConnectedException , SmackException . NoResponseException , PubSubException . NotALeafNodeException { OmemoManager manager = managerGuard . get ( ) ; OmemoDevice userDevice = manager . getOwnDevice ( ) ; // Create new keys if necessary and publish to the server. getOmemoStoreBackend ( ) . replenishKeys ( userDevice ) ; // Rotate signed preKey if necessary. if ( shouldRotateSignedPreKey ( userDevice ) ) { getOmemoStoreBackend ( ) . changeSignedPreKey ( userDevice ) ; } // Pack and publish bundle OmemoBundleElement bundle = getOmemoStoreBackend ( ) . packOmemoBundle ( userDevice ) ; publishBundle ( manager . getConnection ( ) , userDevice , bundle ) ; // Fetch device list and republish deviceId if necessary refreshAndRepublishDeviceList ( manager . getConnection ( ) , userDevice ) ; }
Initialize OMEMO functionality for OmemoManager omemoManager .