This is implementation generated by AndroidStudio with small tweaks Change-Id: I1a9b6673d9f89d480efd4c01746f8225226d8f32