Skip to content

Instantly share code, notes, and snippets.

View rajajawahar's full-sized avatar
🏠
Working from home

Raja Jawahar rajajawahar

🏠
Working from home
View GitHub Profile
@rajajawahar
rajajawahar / ShareUtils.java
Created July 7, 2018 16:12 — forked from Mariovc/ShareUtils.java
Utility to share text and url on Facebook, Twitter and Whatsapp
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.net.Uri;
import android.text.TextUtils;
import android.util.Log;
class LoginViewController: UIViewController,LoginView {
var loginPresenter : LoginPresenter?
override func viewDidLoad() {
super.viewDidLoad()
loginPresenter = LoginPresenter()
loginPresenter?.attachView(view: self)
}
class LoginPresenter: BasePresenter {
typealias View = LoginView
var loginView : LoginView?
func attachView(view: LoginView) {
self.loginView = view
}
func detachView() {
protocol BasePresenter {
associatedtype View
func attachView(view : View)
func detachView()
func destroy()
protocol LoginView {
func navigateToHome()
func showLoading()
func hideLoading();
func showMessage(message: String)
class MainActivity : AppCompatActivity() {
private var toolBar: Toolbar? = null
private var container: ViewGroup? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
coordinatorLayout {
fitsSystemWindows = true
appBarLayout {
class LoginActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
LoginActivityUI().setContentView(this)
}
}
class LoginActivityUI : AnkoComponent<LoginActivity> {
package com.sample.tryanko
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.alert_dialogue
import kotlinx.android.synthetic.main.activity_main.button
import kotlinx.android.synthetic.main.activity_main.coordinatorLayout
import kotlinx.android.synthetic.main.activity_main.dialogue
import kotlinx.android.synthetic.main.activity_main.longToast
import kotlinx.android.synthetic.main.activity_main.longsnackbar
protocol BaseView {
func showError(message : String)
}
import UIKit
protocol BasePresenter {
// Protocol does not support generics, so we have added associated type,
// Anything that conforms to BasePresenter
associatedtype View
func attachView(view : View)