com.akdeniz.googleplaycrawler.gsf.GoogleServicesFramework.LoginResponse

Here are the examples of the java api class com.akdeniz.googleplaycrawler.gsf.GoogleServicesFramework.LoginResponse taken from open source projects.

1. googleplay#useGCMCommand()

Project: google-play-crawler
File: googleplay.java
private void useGCMCommand() throws Exception {
    String ac2dmAuth = loginAC2DM();
    MTalkConnector connector = new MTalkConnector(new NotificationListener(service));
    ConnectFuture connectFuture = connector.connect();
    connectFuture.await(TIMEOUT);
    if (!connectFuture.isConnected()) {
        throw new IOException("Couldn't connect to GTALK server!");
    }
    final IoSession session = connectFuture.getSession();
    // connection sanity check
    send(session, IoBuffer.wrap(new byte[] { 0x07 }));
    System.out.println("Connected to server.");
    String deviceIDStr = String.valueOf(new BigInteger(service.getAndroidID(), 16).longValue());
    String securityTokenStr = String.valueOf(new BigInteger(service.getSecurityToken(), 16).longValue());
    LoginRequestPacket loginRequestPacket = new LoginRequestPacket(deviceIDStr, securityTokenStr, service.getAndroidID());
    LoginResponseFilter loginResponseFilter = new LoginResponseFilter(loginRequestPacket.getPacketID());
    connector.addFilter(loginResponseFilter);
    send(session, loginRequestPacket);
    LoginResponse loginResponse = loginResponseFilter.nextMessage(TIMEOUT);
    connector.removeFilter(loginResponseFilter);
    if (loginResponse == null) {
        throw new IllegalStateException("Login response could not be received!");
    } else if (loginResponse.hasError()) {
        throw new IllegalStateException(loginResponse.getError().getExtension(0).getMessage());
    }
    System.out.println("Autheticated.");
    BindAccountRequestPacket bindAccountRequestPacket = new BindAccountRequestPacket(service.getEmail(), ac2dmAuth);
    BindAccountResponseFilter barf = new BindAccountResponseFilter(bindAccountRequestPacket.getPacketID());
    connector.addFilter(barf);
    send(session, bindAccountRequestPacket);
    BindAccountResponse bindAccountResponse = barf.nextMessage(TIMEOUT);
    connector.removeFilter(barf);
    /*if(bindAccountResponse==null){
	    throw new IllegalStateException("Account bind response could not be received!");
	} else if(bindAccountResponse.hasError()){
	    throw new IllegalStateException(bindAccountResponse.getError().getExtension(0).getMessage());
	}*/
    System.out.println("Listening for notifications from server..");
    // send heart beat packets to keep connection up.
    while (true) {
        send(session, new HeartBeatPacket());
        Thread.sleep(30000);
    }
}