created by Daniel Willitzer
-
NO MOCKS: Never create mock data, placeholder functions, or simulated responses
-
NO THEATER: If something doesn't work, say it immediately - don't pretend with elaborate non-functional code
created by Daniel Willitzer
NO MOCKS: Never create mock data, placeholder functions, or simulated responses
NO THEATER: If something doesn't work, say it immediately - don't pretend with elaborate non-functional code
| /* | |
| Copyright 2020 Cedric Kring. | |
| Licensed under the Apache License, Version 2.0 (the "License"); | |
| you may not use this file except in compliance with the License. | |
| You may obtain a copy of the License at | |
| http://www.apache.org/licenses/LICENSE-2.0 | |
| Unless required by applicable law or agreed to in writing, software | |
| distributed under the License is distributed on an "AS IS" BASIS, |
| override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { | |
| binding = DataBindingUtil.inflate(inflater, R.layout.your_fragment, container, false) | |
| binding.homeAction.setOnClickListener { select(R.id.home_action) } | |
| binding.likesAction.setOnClickListener { select(R.id.likes_action) } | |
| binding.searchAction.setOnClickListener { select(R.id.search_action) } | |
| binding.profileAction.setOnClickListener { select(R.id.profile_action) } | |
| return binding.root | |
| } | |
| fun select(id: Int) { |
| {% comment %} | |
| # | |
| # I modified the original code from http://anjesh.github.io/2015/01/25/collection-pagination-working-github-pages/ | |
| # | |
| # Make a collection in _config.yml and create the folder _your_collection in your root. | |
| # | |
| # collections: | |
| # your_collection: | |
| # output: true | |
| # permalink: /:collection/:title/ |
Short version: I strongly do not recommend using any of these providers. You are, of course, free to use whatever you like. My TL;DR advice: Roll your own and use Algo or Streisand. For messaging & voice, use Signal. For increased anonymity, use Tor for desktop (though recognize that doing so may actually put you at greater risk), and Onion Browser for mobile.
This mini-rant came on the heels of an interesting twitter discussion: https://twitter.com/kennwhite/status/591074055018582016
| Unless specified otherwise, all of the below tinting applies to both Lollipop and pre-Lollipop using AppCompat v21. | |
| To use the support version of these attributes, remove the android namespace. | |
| For instance, "android:colorControlNormal" becomes "colorControlNormal". | |
| These attributes will be propagated to their corresponding attributes within the android namespace | |
| for devices running Lollipop. Any exceptions to this will be noted by including the "android:" prefix. | |
| All Clickable Views: | |
| ----------- |
It's not immediately obvious how to pull down the code for a PR and test it locally. But it's pretty easy. (This assumes you have a remote for the main repo named upstream.)
Getting the PR code
Make note of the PR number. For example, Rod's latest is PR #37: Psiphon-Labs/psiphon-tunnel-core#37
Fetch the PR's pseudo-branch (or bookmark or rev pointer whatever the word is), and give it a local branch name. Here we'll name it pr37:
$ git fetch upstream pull/37/head:pr37
| // Adapted from Rob Norris' post at https://tpolecat.github.io/2014/04/11/scalac-flags.html | |
| scalacOptions ++= Seq( | |
| "-deprecation", | |
| "-encoding", "UTF-8", // yes, this is 2 args | |
| "-feature", | |
| "-unchecked", | |
| "-Xfatal-warnings", | |
| "-Xlint", | |
| "-Yno-adapted-args", |
| urlencode() { | |
| # urlencode <string> | |
| old_lc_collate=$LC_COLLATE | |
| LC_COLLATE=C | |
| local length="${#1}" | |
| for (( i = 0; i < length; i++ )); do | |
| local c="${1:$i:1}" | |
| case $c in |